16-bit Identification (ID)
- 規定在特定來源位址、目的位址、和協定下,每個 datagram 要有不同值,但實際只用在 Fragmentation 和 Reassembly,Fragment 後沿用同樣 ID。其它有些實作並不改變 ID。
- 在 maximum datagram lifetime (MDL) 內會有唯一的值,和建議的 reassembly timeout 有關,典型 MDL 是 2 分鐘 [RFC791] [RFC1122]。這樣限制了兩點間單一協定在典型 MTU 1500 時的速度上限為 6.4 Mbps [RFC4963],在高速裝置常會違反而變得沒有意義。
- RFC1122 提到的 datagram de-duplication 用途,仍可以如同 IPv6 unfragmented datagrams 用 hash-based duplicate detection 達成 [RFC6621]。
- 不改變 ID 導致如 RObust Header Compression (ROHC) [RFC5225] 支援。
- 參考 RFC6864
3-bit Flags (0DM)
- 0-bit:保留,沒用。
- D-bit 表示 Do not Fragment (DF),不進行 Fragment。可用做 path MTU discovery。
- M-bit 表示 More Fragments (MF)。Fragment 後沿用同樣 ID,除了最後封包外都設 M-bit。
13-bit Fragment Offset
- IP Payload 的 Offset,採 8 的倍數。
https://lirobo.blogspot.com/2022/09/internet-protocol.html
https://lirobo.blogspot.com/2018/08/ipv4-and-ipv6-identification-and.html
https://lirobo.blogspot.com/2010/03/ipv4-link-local-addressing.html
沒有留言:
張貼留言