共用方式為


終止聯合的例外狀況

本節會定義接收區段聯合 (RSC) 支援的迷你埠驅動程式必須在區段上執行,才能進行聯合。

區段必須通過下列兩種檢查類型,才能進行聯合:

  • 檢查區段中是否有特定條件。 例如,TCP 標頭中有 SYN 旗標會觸發例外狀況,而且區段不會聯合。 以下定義這些類型的檢查。

  • 根據先前聯合區段和目前檢查區段的資訊相互關聯,檢查是否相依。 例如,檢查接收的區段是否為重複確認落在這個檢查類別中。 這些類型的檢查定義于 聯合 TCP/IP 區段的規則中。

如果檢查失敗,就會觸發例外狀況,而且迷你埠驅動程式必須終止該 TCP 連線的聯合,並將區段視為下列專案:

  • 偵測到例外狀況之前聯合的 TCP 區段應該以單一單位表示。

  • 偵測到例外狀況之後聯合的 TCP 區段應該以個別單位表示。

注意 針對下列例外狀況 7 和 8,迷你埠驅動程式應該從觸發例外狀況的區段開始繼續聯合。

接收符合下列任何準則的區段必須觸發例外狀況:

  1. NIC 中的硬體資源條件約束可防止聯合。

  2. 區段具有不正確 TCP 或 IP 總和檢查碼。

  3. 區段包含其 TCP 標頭中任何 SYN、」、[][][]、[RST]、[FIN],如 RFC 793第 3.1 節所定義。 更廣泛地,如果區段包含 PSH 或 ACK 以外的任何旗標,它應該會觸發例外狀況。 如需 ECN 旗標,請參閱下面的例外狀況 8。

  4. 區段包含 TCP 時間戳記選項以外的一或多個 TCP 選項。 如需 TCP 時間戳記選項的討論,請參閱 RFC 1323

  5. 區段包含 IPv4 選項或 IPv6 擴充標頭。

  6. 區段是 IPv4 片段。

  7. 聯合目前收到的區段會導致單一聯合單位超過合法 IP 資料包長度上限。 此例外狀況需要特殊處理。 如需詳細資訊,請參閱

  8. 區段包含 ECN 旗標,如 RFC 3168中所定義,符合下列其中一或兩個準則:

    1. 區段包含 IP 標頭中與上一個區段不同的 ECN 欄位 (ECT、CE) 值。

    2. 區段在 TCP 標頭中的 ECN 旗標 (ECE 和 CWR) 值與上一個區段不同。