一、IPv4首部
IPv4數據報的最大大小是65535字節,包括IPv4首部
二、IPv6首部
IPv6數據報的最大大小是65575字節,包括40字節的IPv6首部;IPv6的凈荷長度字段不包括IPv6首部
三、MTU
1)IPv4要求的最小鏈路MTU是68字節,這允許最大的IPv4首部(包括20字節的固定長度部分和最多40字節的選項部分)
拼接最小的片段(IPv4首部中片段偏移字段以8個字節為單位)
2)IPv6要求的最小鏈路MTU為1280字節;IPv6可以運行在MTU小於此最小值的鏈路上,不過需要特定於鏈路的分片和
重組功能,以使得這些鏈路看起來具有至少為1280字節的MTU
3)以太網的MTU是1500字節
四、分片和重組
1)當一個IP數據報將從某個接口送出時,如果它的大小超過相應鏈路的MTU,IPv4和IPv6都將執行分片;這些片段在到
達最終目的地之前通常不會被重組
2)IPv4主機對其產生的數據報執行分片,IPv4路由器則對其轉發的數據報執行分片;然而IPv6只有主機對其產生的數據
執行分片,IPv6路由器不對其轉發的數據報執行分片
注意:一個標記為IPv6路由器的設備可能執行分片,不過只是對於那些由它產生的數據報,而絕不是對於那些由它轉
發的數據報。當該設備產生IPv6數據報時,它實際上作為主機運行
3)當路由器接收到一個超過其外出鏈路MTU大小且設置了DF位的IPv4(IPv6)數據報時,它將產生一個ICMPv4
“destination unreachable,fragmentation needed but DF bit set”出錯消息;當IPv6路由器接受到一個超過其外出鏈路
MTU大小的IPv6數據報時,它將產生一個ICMPv6“packet too big”出錯消息
注意:每個IPv6數據報隱含一個DF位
4)IPv4和IPv6都定義了最小重組緩沖區大小,它是IPv4或IPv6的任何實現都必須保證支持的最小數據報大小。其值對於
IPv4為576字節,對於IPv6為1500字節
5)TCP有一個MSS,用於向對端TCP通告在每個分節中能發送的最大TCP數據量