{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-15T19:19:24.382Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC6951",
  "document": {
    "abstract": "This document describes a simple method of encapsulating Stream Control Transmission Protocol (SCTP) packets into UDP packets and its limitations. This allows the usage of SCTP in networks with legacy NATs that do not support SCTP. It can also be used to implement SCTP on hosts without directly accessing the IP layer, for example, implementing it as part of the application without requiring special privileges. Please note that this document only describes the functionality required within an SCTP stack to add on UDP encapsulation, providing only those mechanisms for two end-hosts to communicate with each other over UDP ports. In particular, it does not provide mechanisms to determine whether UDP encapsulation is being used by the peer, nor the mechanisms for determining which remote UDP port number can be used. These functions are out of scope for this document. This document covers only end-hosts and not tunneling (egress or ingress) endpoints.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "authors": [
      {
        "name": "Michael Tüxen"
      },
      {
        "name": "Randall R. Stewart"
      }
    ],
    "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/rfc6951/",
      "updated": "2026-10-15T19:19:24.382Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docId": "RFC6951",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docLabel": "IETF RFC 6951",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docNumber": "6951",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docTitle": "UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "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/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "doi": "10.17487/RFC6951",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.382Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "href": "https://doi.org/10.17487/RFC6951",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "pages": "12",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.382Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "publicationDate": "2013-05-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.381Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "references": {
      "bibliographic": [
        "RFC3424",
        "RFC6335",
        "RFC6458",
        "RFC6936",
        "orphan/RFC6951/h:1b2ba9e3",
        "orphan/RFC6951/h:484ff1c1"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=17 proseBlocks=21 skippedAnchorBlocks=19",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
        "updated": "2026-10-15T19:19:24.382Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "normative": [
        "RFC768",
        "RFC791",
        "RFC792",
        "RFC2119",
        "RFC2460",
        "RFC4443",
        "RFC4820",
        "RFC4821",
        "RFC4895",
        "RFC4960",
        "RFC5061"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
        "updated": "2026-10-15T19:19:24.382Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc6951/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
      "updated": "2026-10-15T19:19:24.382Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
        "updated": "2026-10-15T19:19:24.382Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "amendedBy": [
        "RFC8899"
      ],
      "amendedBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
        "updated": "2026-10-15T19:19:24.382Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "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/rfc6951/",
        "updated": "2026-10-15T19:19:24.382Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
        "updated": "2026-10-15T19:19:24.382Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "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/rfc6951/",
        "updated": "2026-10-15T19:19:24.382Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc6951/",
        "updated": "2026-10-15T19:19:24.382Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      }
    }
  }
}