怎么查看數(shù)據(jù)包被分片了 一個數(shù)據(jù)包的大小是好多?
一個數(shù)據(jù)包的大小是好多?1.數(shù)據(jù)鏈路層對數(shù)據(jù)幀的長度有限制,即鏈路層所能承受的最大數(shù)據(jù)長度。這個值它被稱為最大傳輸單位,即MTU。以以太網(wǎng)為例,這個值通常是1500字節(jié)。2.對于IP數(shù)據(jù)包,也有一個長
一個數(shù)據(jù)包的大小是好多?
1.數(shù)據(jù)鏈路層對數(shù)據(jù)幀的長度有限制,即鏈路層所能承受的最大數(shù)據(jù)長度。這個值
它被稱為最大傳輸單位,即MTU。以以太網(wǎng)為例,這個值通常是1500字節(jié)。
2.對于IP數(shù)據(jù)包,也有一個長度。在IP報頭中,IP分組的長度由16比特描述,也就是說,
一個IP包,最長可能是65535字節(jié)。
3.綜合以上兩個概念,第一個重要結(jié)論就出來了。如果IP數(shù)據(jù)包的大小超過了MTU值,則有必要。
分片,也就是把一個IP包分成多個部分,非常容易理解。一輛載重5T的貨車要拉10T的貨。
當然我也只是進了幾次拉。
4.許多材料中經(jīng)常提到IP碎片化,但我不。;我不認為它 it'把它分開很重要。重要的是另一件事。一個
數(shù)據(jù)包經(jīng)過一個很大的網(wǎng)絡(luò),會經(jīng)過多個網(wǎng)絡(luò),每個網(wǎng)絡(luò)的MTU值都不一樣。我們可以想象如果
接收方/發(fā)送方都是以太網(wǎng),他們的MTU是1500。我們假設(shè)發(fā)送時,數(shù)據(jù)包會用1500封裝。然而,
可惜傳輸中有一個X.25網(wǎng)絡(luò),它的MTU是576。會發(fā)生什么?我覺得這才是我們關(guān)心的。
當然結(jié)論很明顯,這個數(shù)據(jù)包又要切片了,我們就開始拉火車了。在路上,不會有火車,只有汽車。
那輛車將被分成許多輛車...那個 這就是全部。更重要的是,在這種情況下,如果用 "沒有碎片標志 ",那么
會發(fā)生什么?是的,數(shù)據(jù)包將被丟棄,但我收到了一個ICMP不可達錯誤,告訴你它需要被分段!
該網(wǎng)絡(luò)中最小的MTU值稱為路徑MTU。我們應(yīng)該有一個有效的手段來求這個值,最笨的方法可能是第一個。
使用traceroute查看所有節(jié)點,然后逐一ping……...
5.在傳輸層,也會有一個最大限制。當然,對于UDP,它只發(fā)送而不 I don'我不在乎其他任何事情,這已經(jīng)不是我們討論的問題了。這里
談?wù)揟CP協(xié)議。說到尺寸,可能會讓人想起TCP 著名的滑動窗口,它與收發(fā)器兩端的緩存有關(guān),在這里討論。
是傳輸?shù)淖畲髷?shù)據(jù)包大小,因此不進行討論。
在TCP的option字段中,有一個最大消息段長度(MSS),表示TCP向另一端傳輸?shù)淖畲髷?shù)據(jù)的長度。當一個連接被建立時,它被連接。
雙方都要公布自己的MSS,也就是說和TCP的SYN logo一起。當然,對于傳輸來說,總是希望MSS越大越好。
現(xiàn)在超載這么嚴重,誰不 我不想拉更多的貨...但是MSS對于以太網(wǎng)總是有一個限制,就是MTU-IP頭長度-TCP頭長度。
塔通經(jīng)常是1500-20-201460。雖然它總是被期望很大(比如1460),但是大多數(shù)BSD實現(xiàn)都是512的倍數(shù),比如1024...
6.回到切片。例如,在Win2000下執(zhí)行以下命令:
平192.168.0.1 -l 1473
按照我剛才說的,1473 20(ip頭)8(icmp頭)1501比1500好,會碎片化,但是我們關(guān)心的是:
這個包怎么分?
你可以猜到,第一個包是
以太網(wǎng)IP報頭ICMP報頭1427的數(shù)據(jù);
第二個切片包呢?
它可以是:
以太網(wǎng)IP報頭ICMP的第一個1字節(jié)的數(shù)據(jù)
或者:
以太網(wǎng)IP第一個字節(jié)的數(shù)據(jù)
也就是說省略了ICMP頭的封裝。當然不能省略IP頭,不然怎么傳輸...
其實TCP/IP協(xié)議采用的是后一種封裝,一次可以節(jié)省8個字節(jié)。在IP報頭中,有三個標志用于描述分段的數(shù)據(jù)包:
1.分片標志:如果一個包是分片的,則設(shè)置為1,除了最后一個分片;——這樣,對于接收端來說,標志位可以作為重組權(quán)重。
基地之一;
2.碎片偏移標志:只有一個標志位表示你是否是碎片包是不夠的。偏移標志位指示您的片段在原始數(shù)據(jù)報中的位置。
顯然,這兩個標志一旦結(jié)合起來,就很容易把支離破碎的包裝重新組織起來。
3.不允許分片標志:如果這個標志是為數(shù)據(jù)包強制設(shè)置的,那么在需要分片的時候,……
LWIP協(xié)議怎么提高UDP速度?
首先物理層要支持。比如支持10Mbps的以太網(wǎng)最快可以傳輸1M/S,支持100Mbps的以太網(wǎng)可以傳輸10M/
s其次,物理層支持的速度很高,你的板卡處理能力也要跟上。如果你用的是Cort:1500字節(jié)),所以不適合大數(shù)據(jù)量的以太網(wǎng)傳輸。