{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-16T15:44:09.854Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC3522",
  "document": {
    "abstract": "The Eifel detection algorithm allows a TCP sender to detect a posteriori whether it has entered loss recovery unnecessarily. It requires that the TCP Timestamps option defined in RFC 1323 be enabled for a connection. The Eifel detection algorithm makes use of the fact that the TCP Timestamps option eliminates the retransmission ambiguity in TCP. Based on the timestamp of the first acceptable ACK that arrives during loss recovery, it decides whether loss recovery was entered unnecessarily. The Eifel detection algorithm provides a basis for future TCP enhancements. This includes response algorithms to back out of loss recovery by restoring a TCP sender's congestion control state. 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/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "authors": [
      {
        "name": "Ludwig Reiner"
      },
      {
        "name": "Michael Meyer"
      }
    ],
    "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/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docId": "RFC3522",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docLabel": "IETF RFC 3522",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docNumber": "3522",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docTitle": "The Eifel Detection Algorithm for TCP",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "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/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "doi": "10.17487/RFC3522",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "href": "https://doi.org/10.17487/RFC3522",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "keywords": [
      "TCP Loss Recovery",
      "Timestamps"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "pages": "14",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "publicationDate": "2003-04-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "references": {
      "bibliographic": [
        "RFC1122",
        "RFC2582",
        "RFC3481",
        "RFC2988",
        "RFC791",
        "RFC3168",
        "orphan/RFC3522/h:31f75113",
        "orphan/RFC3522/h:b66ba445",
        "orphan/RFC3522/h:d7a86c1b",
        "orphan/RFC3522/h:106c3bc8",
        "orphan/RFC3522/h:11880cdd",
        "orphan/RFC3522/h:ed9c0918",
        "orphan/RFC3522/h:e338b63e",
        "orphan/RFC3522/h:c55571da",
        "orphan/RFC3522/h:e3a5c1b3"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=21 proseBlocks=25 skippedAnchorBlocks=23",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
        "updated": "2026-10-16T15:44:09.854Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "normative": [
        "RFC2581",
        "RFC2119",
        "RFC2883",
        "RFC1323",
        "RFC2018",
        "RFC793"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
        "updated": "2026-10-16T15:44:09.854Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc3522/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
      "updated": "2026-10-16T15:44:09.854Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
        "updated": "2026-10-16T15:44:09.854Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "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/rfc3522/",
        "updated": "2026-10-16T15:44:09.854Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
        "updated": "2026-10-16T15:44:09.854Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "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/rfc3522/",
        "updated": "2026-10-16T15:44:09.854Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3522/",
        "updated": "2026-10-16T15:44:09.854Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      }
    }
  }
}