{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-14T16:14:45.232Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7661",
  "document": {
    "abstract": "This document provides a mechanism to address issues that arise when TCP is used for traffic that exhibits periods where the sending rate is limited by the application rather than the congestion window. It provides an experimental update to TCP that allows a TCP sender to restart quickly following a rate-limited interval. This method is expected to benefit applications that send rate-limited traffic using TCP while also providing an appropriate response if congestion is experienced. This document also evaluates the Experimental specification of TCP Congestion Window Validation (CWV) defined in RFC 2861 and concludes that RFC 2861 sought to address important issues but failed to deliver a widely used solution. This document therefore reclassifies the status of RFC 2861 from Experimental to Historic. This document obsoletes RFC 2861.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "authors": [
      {
        "name": "Gorry Fairhurst"
      },
      {
        "name": "Arjuna Sathiaseelan"
      },
      {
        "name": "Raffaello Secchi"
      }
    ],
    "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/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docId": "RFC7661",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docLabel": "IETF RFC 7661",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docNumber": "7661",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docTitle": "Updating TCP to Support Rate-Limited Traffic",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "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/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "doi": "10.17487/RFC7661",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "href": "https://doi.org/10.17487/RFC7661",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "keywords": [
      "CWV",
      "TCP"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "pages": "21",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publicationDate": "2015-10-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "references": {
      "bibliographic": [
        "10.1145-1064413.1064419",
        "10.4236-ijcns.2010.37078",
        "IETF.draft-hughes-restart-00",
        "RFC7230",
        "orphan/RFC7661/h:fc9eae05",
        "orphan/RFC7661/h:89d9f4ef",
        "orphan/RFC7661/h:bb5054bc",
        "orphan/RFC7661/h:c55549c6",
        "orphan/RFC7661/h:908572fe"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=22 proseBlocks=21 skippedAnchorBlocks=19",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
        "updated": "2026-10-14T16:14:45.232Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "normative": [
        "RFC793",
        "RFC2018",
        "RFC2119",
        "RFC2861",
        "RFC5681",
        "RFC6298",
        "RFC6675"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
        "updated": "2026-10-14T16:14:45.232Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7661/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
      "updated": "2026-10-14T16:14:45.232Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
        "updated": "2026-10-14T16:14:45.232Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "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/rfc7661/",
        "updated": "2026-10-14T16:14:45.232Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
        "updated": "2026-10-14T16:14:45.232Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "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/rfc7661/",
        "updated": "2026-10-14T16:14:45.232Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
        "updated": "2026-10-14T16:14:45.232Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "supersedes": [
        "RFC2861"
      ],
      "supersedes$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7661/",
        "updated": "2026-10-14T16:14:45.232Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    }
  }
}