回覆列表
-
1 # Geek視界
-
2 # 喲喲吼說科技乙太網是區域網中採用的最常用的通訊協議,使用CSMA/CD技術,執行在多種型別的電纜之上。
乙太網工作在OSI七層模型中的資料鏈路層,常被用在區域網中,在資料鏈路層資料是以封裝成幀來呈現,那麼乙太網資料包也是以幀來表示,透過對乙太網幀結構的介紹就會了解題主想要知道的答案,下面喲喲來詳細介紹以下乙太網幀結構的組成。
如上圖,人們常常定義的乙太網幀是由目的地址、源地址、幀型別、資料以及幀校驗序列組成,其實之前還有一個前導同步碼和幀開始定界符,共佔用8個位元組,但由於資料到達網絡卡時,會要去掉這些資訊,因此在一般定義中就將其去除掉了。
如題,資料包大小64--1518是如何得來的?
目的地址+源地址+型別+資料+FCS=64--1518;
而位元組長度46--1500是如何得來的?
即為資料的長度;
透過這兩個表示就可以看出兩者之間的關係,即資料包大小去除幀頭和校驗序列就是欄位長度,題主指的欄位長度就是指真實資料的長度。
回答這個問題需要涉及到乙太網的原理。
看下面一張圖,標準的乙太網幀長時1518。乙太網幀裡面的資料部分是1500,乙太網幀裡面的資料是指,攜帶ip報頭的部分。
MTU值最大1500的來歷其實這完全是由於歷史原因造成。為了相容這個數字一直沒有改變。
乙太網的工作方式為:CSMA/CD(載波多路複用/衝突檢測),在監聽階段是沒有辦法傳送資料的,只有在通道空閒的時候才傳送。在計算了通訊雙方資源節點之間的距離與傳送時間之間的差距,還有電磁波的傳輸速度,結合傳輸效率,最後計算出來的MTU1500。其實1500就是個規定,科學家在綜合各種因素之下的規定。
1518又是何物太網資料幀的大小為1518位元組,其中頭資訊佔有14個位元組,尾部校驗和FCS佔有4個位元組,因此實際在傳輸中的資料大小為1500個位元組。
最小64的來歷這個也是歷史原因,10M乙太網留下的產物。
10Mbps乙太網採用中繼器時,連線的最大長度是2500米,最多經過4箇中繼器,因此規定對10Mbps乙太網一幀的最小發送時間為51.2微秒。這段時間所能傳輸的資料為512位,因此也稱該時間為512位時。這個時間定義為乙太網時隙,或衝突時槽。512位=64位元組,這就是乙太網幀最小64位元組的原因。
最小46來自何方這個問題大家應該已經可以回答了。最小的乙太網幀長64,減去乙太網網的首部和檢驗碼共18個位元組,就是46啦。
總結一下64-1518 乙太網幀的最大和最小。
46-1500 去掉乙太網幀頭,ip報文長度的最大和最小。