{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-15T16:40:42.597Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC3940",
  "document": {
    "abstract": "This document describes the messages and procedures of the Negative-acknowledgment (NACK) Oriented Reliable Multicast (NORM) protocol. This protocol is designed to provide end-to-end reliable transport of bulk data objects or streams over generic IP multicast routing and forwarding services. NORM uses a selective, negative acknowledgment mechanism for transport reliability and offers additional protocol mechanisms to allow for operation with minimal \"a priori\" coordination among senders and receivers. A congestion control scheme is specified to allow the NORM protocol to fairly share available network bandwidth with other transport protocols such as Transmission Control Protocol (TCP). It is capable of operating with both reciprocal multicast routing among senders and receivers and with asymmetric connectivity (possibly a unicast return path) between the senders and receivers. The protocol offers a number of features to allow different types of applications or possibly other higher level transport protocols to utilize its service in different ways. The protocol leverages the use of FEC-based repair and other IETF reliable multicast transport (RMT) building blocks in its design. This memo defines an Experimental Protocol for the Internet community.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "authors": [
      {
        "name": "Brian Adamson"
      },
      {
        "name": "Carsten Bormann"
      },
      {
        "name": "Mark J. Handley"
      },
      {
        "name": "Joseph P. Macker"
      }
    ],
    "authors$meta": {
      "confidence": "high",
      "note": "Parsed from Datatracker doc page article:author (profile full names)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docId": "RFC3940",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docLabel": "IETF RFC 3940",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docNumber": "3940",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docTitle": "Negative-acknowledgment (NACK)-Oriented Reliable Multicast (NORM) Protocol",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docType": "Experimental",
    "docType$meta": {
      "confidence": "high",
      "note": "Mapped from Datatracker std_level or RFC status text",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "doi": "10.17487/RFC3940",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "href": "https://doi.org/10.17487/RFC3940",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "keywords": [
      "NACK",
      "NORM"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "NACK",
        "Negative-acknowledgement",
        "Oriented Reliable Multicast",
        "NORM"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-15T16:40:42.597Z",
      "version": "extractDocs.js@commit:0f51bb226575"
    },
    "pages": "80",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "publicationDate": "2004-11-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "references": {
      "bibliographic": [
        "RFC2327",
        "RFC2974",
        "RFC3453",
        "RFC3048",
        "RFC2357",
        "RFC3550",
        "RFC2401",
        "orphan/RFC3940/h:f5aa1ccb",
        "orphan/RFC3940/h:a881f5d1",
        "orphan/RFC3940/h:d13750fa",
        "orphan/RFC3940/h:92c01acc",
        "orphan/RFC3940/h:7dc671c4",
        "orphan/RFC3940/h:fe67a97e",
        "orphan/RFC3940/h:544fb3fd",
        "orphan/RFC3940/h:e5142fef",
        "orphan/RFC3940/h:cc098c97"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=22 proseBlocks=27 skippedAnchorBlocks=25",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
        "updated": "2026-10-14T18:50:16.241Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "normative": [
        "RFC3269",
        "RFC2119",
        "RFC1112",
        "RFC3941",
        "RFC3452",
        "RFC2434"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
        "updated": "2026-10-14T18:50:16.241Z",
        "version": "extractDocs.js@commit:673dd514c094"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc3940/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
      "updated": "2026-10-14T18:50:16.241Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "status": {
      "active": false,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
        "updated": "2026-10-14T18:50:16.241Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "errataExist": false,
      "errataExist$meta": {
        "confidence": "high",
        "note": "Derived from presence of errata links on RFC/Datatracker pages",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
        "updated": "2026-10-14T18:50:16.241Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "latestVersion": false,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
        "updated": "2026-10-14T18:50:16.241Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "statusNote": "Experimental",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
        "updated": "2026-10-14T18:50:16.241Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "superseded": true,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
        "updated": "2026-10-14T18:50:16.241Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "supersededBy": [
        "RFC5740"
      ],
      "supersededBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3940/",
        "updated": "2026-10-14T18:50:16.241Z",
        "version": "extractDocs.js@commit:673dd514c094"
      }
    }
  }
}