{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-16T18:54:53.943Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC5401",
  "document": {
    "abstract": "This document discusses the creation of reliable multicast protocols that utilize negative-acknowledgment (NACK) feedback. The rationale for protocol design goals and assumptions are presented. Technical challenges for NACK-based (and in some cases general) reliable multicast protocol operation are identified. These goals and challenges are resolved into a set of functional \"building blocks\" that address different aspects of reliable multicast protocol operation. It is anticipated that these building blocks will be useful in generating different instantiations of reliable multicast protocols. This document obsoletes RFC 3941. [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "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/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docId": "RFC5401",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docLabel": "IETF RFC 5401",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docNumber": "5401",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docTitle": "Multicast Negative-Acknowledgment (NACK) Building Blocks",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "docType": "Standard",
    "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/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "doi": "10.17487/RFC5401",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "href": "https://doi.org/10.17487/RFC5401",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "pages": "42",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "publicationDate": "2008-11-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "references": {
      "bibliographic": [
        "RFC2357",
        "RFC3208",
        "RFC3269",
        "RFC3453",
        "RFC3940",
        "RFC3941",
        "RFC4301",
        "RFC4359",
        "RFC4535",
        "RFC4654",
        "RFC5052",
        "orphan/RFC5401/h:87092323",
        "orphan/RFC5401/h:225278b3",
        "orphan/RFC5401/h:1ad48b10",
        "orphan/RFC5401/h:d82fb390",
        "orphan/RFC5401/h:18add417",
        "orphan/RFC5401/h:c1a07c7d",
        "orphan/RFC5401/h:b705a33d",
        "orphan/RFC5401/h:e75a535b",
        "orphan/RFC5401/h:ccdfe5f6",
        "orphan/RFC5401/h:cef63249",
        "orphan/RFC5401/h:9f71c3a0",
        "orphan/RFC5401/h:13800234",
        "orphan/RFC5401/h:9966ffc6",
        "orphan/RFC5401/h:ff89e2e6",
        "orphan/RFC5401/h:37582e15"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=29 proseBlocks=37 skippedAnchorBlocks=32",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
        "updated": "2026-10-16T18:54:53.943Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "normative": [
        "RFC1112",
        "RFC2119",
        "RFC4607"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
        "updated": "2026-10-16T18:54:53.943Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc5401/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
      "updated": "2026-10-16T18:54:53.943Z",
      "version": "extractDocs.js@commit:a6ae1efef02e"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
        "updated": "2026-10-16T18:54:53.943Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "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/rfc5401/",
        "updated": "2026-10-16T18:54:53.943Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
        "updated": "2026-10-16T18:54:53.943Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "statusNote": "Proposed Standard",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
        "updated": "2026-10-16T18:54:53.943Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
        "updated": "2026-10-16T18:54:53.943Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      },
      "supersedes": [
        "RFC3941"
      ],
      "supersedes$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5401/",
        "updated": "2026-10-16T18:54:53.943Z",
        "version": "extractDocs.js@commit:a6ae1efef02e"
      }
    }
  }
}