{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-13T18:22:22.217Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC5405",
  "document": {
    "abstract": "The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms. Because congestion control is critical to the stable operation of the Internet, applications and upper-layer protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic. This document provides guidelines on the use of UDP for the designers of unicast applications and upper-layer protocols. Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, and middlebox traversal. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "authors": [
      {
        "name": "Lars Eggert"
      },
      {
        "name": "Gorry Fairhurst"
      }
    ],
    "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/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docId": "RFC5405",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docLabel": "IETF RFC 5405",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docNumber": "5405",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docTitle": "Unicast UDP Usage Guidelines for Application Designers",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docType": "Best Practice",
    "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/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "doi": "10.17487/RFC5405",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "href": "https://doi.org/10.17487/RFC5405",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "keywords": [
      "UDP",
      "Congestion Control"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "pages": "27",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "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/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "references": {
      "bibliographic": [
        "IEEE.STD1003.1.2001",
        "RFC896",
        "RFC919",
        "RFC1112",
        "RFC1536",
        "RFC1546",
        "RFC2309",
        "RFC2475",
        "RFC2675",
        "RFC2743",
        "RFC3048",
        "RFC3124",
        "RFC3261",
        "RFC3303",
        "RFC3493",
        "RFC3550",
        "RFC3551",
        "RFC3711",
        "RFC3738",
        "RFC3758",
        "RFC3819",
        "RFC3851",
        "RFC3852",
        "RFC4301",
        "RFC4302",
        "RFC4303",
        "RFC4306",
        "RFC4340",
        "RFC4341",
        "RFC4342",
        "RFC4347",
        "RFC4654",
        "RFC4880",
        "RFC4960",
        "RFC4963",
        "RFC4987",
        "RFC5082",
        "orphan/RFC5405/h:ce27294b",
        "orphan/RFC5405/h:adcbfac7",
        "orphan/RFC5405/h:71c33a6b",
        "orphan/RFC5405/h:a3738025",
        "orphan/RFC5405/h:459d4f3d",
        "orphan/RFC5405/h:1bd64497",
        "orphan/RFC5405/h:9a40042c",
        "orphan/RFC5405/h:89cef275",
        "orphan/RFC5405/h:720a3320"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=59 proseBlocks=72 skippedAnchorBlocks=64",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
        "updated": "2026-10-13T18:22:22.217Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "normative": [
        "RFC768",
        "RFC793",
        "RFC1122",
        "RFC1191",
        "RFC1981",
        "RFC2119",
        "RFC2460",
        "RFC2914",
        "RFC2988",
        "RFC3828",
        "RFC4787",
        "RFC4821",
        "RFC5348"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
        "updated": "2026-10-13T18:22:22.217Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc5405/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
      "updated": "2026-10-13T18:22:22.217Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "status": {
      "active": false,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
        "updated": "2026-10-13T18:22:22.217Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "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/rfc5405/",
        "updated": "2026-10-13T18:22:22.217Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "latestVersion": false,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
        "updated": "2026-10-13T18:22:22.217Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "statusNote": "Best Current Practice",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
        "updated": "2026-10-13T18:22:22.217Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "superseded": true,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
        "updated": "2026-10-13T18:22:22.217Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "supersededBy": [
        "RFC8085"
      ],
      "supersededBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5405/",
        "updated": "2026-10-13T18:22:22.217Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    }
  }
}