{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-12T21:13:30.106Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC3452",
  "document": {
    "abstract": "This document generally describes how to use Forward Error Correction (FEC) codes to efficiently provide and/or augment reliability for data transport. The primary focus of this document is the application of FEC codes to one-to-many reliable data transport using IP multicast. This document describes what information is needed to identify a specific FEC code, what information needs to be communicated out-of-band to use the FEC code, and what information is needed in data packets to identify the encoding symbols they carry. The procedures for specifying FEC codes and registering them with the Internet Assigned Numbers Authority (IANA) are also described. This document should be read in conjunction with and uses the terminology of the companion document titled, \"The Use of Forward Error Correction (FEC) in Reliable Multicast\". 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/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "authors": [
      {
        "name": "Michael Luby"
      },
      {
        "name": "Lorenzo Vicisano"
      },
      {
        "name": "Jim Gemmell"
      },
      {
        "name": "Luigi Rizzo"
      },
      {
        "name": "Mark J. Handley"
      },
      {
        "name": "Jon Crowcroft"
      }
    ],
    "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/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "docId": "RFC3452",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "docLabel": "IETF RFC 3452",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "docNumber": "3452",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "docTitle": "Forward Error Correction (FEC) Building Block",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "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/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "doi": "10.17487/RFC3452",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "href": "https://doi.org/10.17487/RFC3452",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "keywords": [
      "Forward Error Correction",
      "Content Distribution",
      "Multicast",
      "IP"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "pages": "16",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "publicationDate": "2002-12-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "references": {
      "bibliographic": [
        "RFC2026",
        "RFC2119",
        "RFC3269",
        "RFC3453",
        "RFC2357",
        "RFC2434",
        "RFC1321",
        "RFC3048",
        "orphan/RFC3452/h:cb482f29"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=9 proseBlocks=11 skippedAnchorBlocks=10",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
        "updated": "2026-10-12T21:13:30.106Z",
        "version": "extractDocs.js@commit:291bb05ea30a"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc3452/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
      "updated": "2026-10-12T21:13:30.106Z",
      "version": "extractDocs.js@commit:291bb05ea30a"
    },
    "status": {
      "active": false,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
        "updated": "2026-10-12T21:13:30.106Z",
        "version": "extractDocs.js@commit:291bb05ea30a"
      },
      "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/rfc3452/",
        "updated": "2026-10-12T21:13:30.106Z",
        "version": "extractDocs.js@commit:291bb05ea30a"
      },
      "latestVersion": false,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
        "updated": "2026-10-12T21:13:30.106Z",
        "version": "extractDocs.js@commit:291bb05ea30a"
      },
      "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/rfc3452/",
        "updated": "2026-10-12T21:13:30.106Z",
        "version": "extractDocs.js@commit:291bb05ea30a"
      },
      "superseded": true,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
        "updated": "2026-10-12T21:13:30.106Z",
        "version": "extractDocs.js@commit:291bb05ea30a"
      },
      "supersededBy": [
        "RFC5052",
        "RFC5445"
      ],
      "supersededBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3452/",
        "updated": "2026-10-12T21:13:30.106Z",
        "version": "extractDocs.js@commit:291bb05ea30a"
      }
    }
  }
}