日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

以太网帧:Ethernet Frame

發(fā)布時(shí)間:2024/8/26 综合教程 49 生活家
生活随笔 收集整理的這篇文章主要介紹了 以太网帧:Ethernet Frame 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

標(biāo)準(zhǔn)的以太網(wǎng)幀,我們經(jīng)常說(shuō)的以太網(wǎng)幀長(zhǎng)度是從圖中 Destination MAC開(kāi)始,F(xiàn)CS結(jié)束。網(wǎng)卡對(duì)網(wǎng)絡(luò)層數(shù)據(jù)的操作是加以太網(wǎng)幀頭、以太網(wǎng)幀尾FCS,很顯然上層需要提供目的MAC地址,否則接口無(wú)從完成以太網(wǎng)幀的封裝。這需要IP層需要事先完成和ARP的交互,解析出目的IP對(duì)應(yīng)的目的MAC,這顯然不能由網(wǎng)卡來(lái)完成。

網(wǎng)卡對(duì)物理層接收到的二進(jìn)制流成幀處理,校驗(yàn)FCS,去掉以太網(wǎng)幀頭,把載荷Payload 放在接收緩存,等待網(wǎng)絡(luò)層取走。

標(biāo)準(zhǔn)的以太網(wǎng)幀最大可以發(fā)送長(zhǎng)度1518字節(jié),指的就是這個(gè)。去掉以太網(wǎng)頭14個(gè)字節(jié),再去掉尾部的校驗(yàn)和FCS 4個(gè)字節(jié),留給上層協(xié)議也就是(1518-14-4)=1500個(gè)字節(jié),這個(gè)就是MTU的由來(lái)。上層協(xié)議加黑的原因是要引起大家的注意,這個(gè)上層協(xié)議如果是IP,那么就是IP MTU,如果是MPLS,就是MPLS MTU,如果是IPv6,那就是IPv6 MTU。

Ether Type:以太網(wǎng)協(xié)議

網(wǎng)卡用來(lái)分辨封裝的是什么協(xié)議,然后再通知不同的協(xié)議模塊來(lái)取走數(shù)據(jù)。

Payload:載荷

這個(gè)允許負(fù)荷的最大長(zhǎng)度對(duì)應(yīng)的就是負(fù)荷的最大傳輸單元,即MTU,標(biāo)準(zhǔn)的以太網(wǎng)幀,允許的最大負(fù)荷長(zhǎng)度為1500字節(jié),所以如果上層協(xié)議為IPv4,那就是IPv4 MTU=1500,所以經(jīng)常看到主機(jī)的MTU為1500字節(jié)

FCS:校驗(yàn)碼

為了防止在傳輸過(guò)程中發(fā)生錯(cuò)誤,數(shù)據(jù)發(fā)送方的網(wǎng)卡會(huì)計(jì)算一個(gè)校驗(yàn)碼,覆蓋整個(gè)以太網(wǎng)幀,并放在以太網(wǎng)幀尾部,發(fā)送出去,接收網(wǎng)卡需要對(duì)其進(jìn)行校驗(yàn),來(lái)決定是否接收。而如果不校驗(yàn),一個(gè)錯(cuò)誤的幀可能要到TCP、UDP才能被發(fā)現(xiàn)出來(lái),這樣的話會(huì)浪費(fèi)很多CPU資源。CPU會(huì)說(shuō):屁大點(diǎn)的事都搞不定,還要?jiǎng)跓╇蓿梢匀プ詫m了。而如果網(wǎng)卡來(lái)進(jìn)行校驗(yàn),錯(cuò)了就默默地丟棄,不驚動(dòng)高層,高層肯定偷偷樂(lè)開(kāi)了花。

Jumbo Frame

最早的以太網(wǎng)是通過(guò)Hub或集線器來(lái)工作的,在任意時(shí)刻只能有一臺(tái)主機(jī)發(fā)送,這種共享方式發(fā)送效率很低,而現(xiàn)代高速交換機(jī)則讓每個(gè)連接交換機(jī)的主機(jī)工作在獨(dú)占模式,帶寬獨(dú)享,可以同時(shí)收發(fā),而且現(xiàn)在早已不是早期的10Mbps的帶寬,而是1000M、10000M,即使發(fā)送大包也不會(huì)影響別的主機(jī),影響的只是交換機(jī)的接收和發(fā)送隊(duì)列,既然發(fā)送大包效率要比小包效率搞,而且特定的應(yīng)用也有發(fā)大包的需求,比如NFS文件系統(tǒng),那為什么不把接口MTU提高一些,再高一些呢?這是一個(gè)好主意,于是網(wǎng)卡、交換機(jī)、路由器網(wǎng)絡(luò)接口可以實(shí)現(xiàn)更大的MTU,可以達(dá)到>9000字節(jié)的大小,我們稱這種遠(yuǎn)大于標(biāo)準(zhǔn)以太幀尺寸的幀為巨型幀Jumbo Frame 。

于是網(wǎng)絡(luò)接口提供可以修改MTU的配置命令,比如缺省為1500,可以修改為1508以支持QinQ,或者1512以支持802.1q Mpls label,這樣既可以支持終端用戶標(biāo)準(zhǔn)1500 字節(jié)IP packet,又可以避免分片。

有一點(diǎn)需要說(shuō)明,二層交換機(jī)的接口,我們可以看成一塊普通的網(wǎng)卡,網(wǎng)卡工作在數(shù)據(jù)鏈路層,所以分片不是它的職責(zé),如果一個(gè)幀需要從交換機(jī)一個(gè)接口發(fā)送出去,而幀的長(zhǎng)度>接口MTU,怎么辦?丟棄!會(huì)發(fā)什么消息告訴源主機(jī)吧?不會(huì)的,默默地丟,當(dāng)什么否沒(méi)有發(fā)生,這種情況最難以排查,如果traceroute可以看到端對(duì)端使通的,而發(fā)送數(shù)據(jù)就是會(huì)失敗。所以切記,一臺(tái)交換機(jī)要保證接口MTU的一致性。如果在一個(gè)VLAN上、或整個(gè)交換機(jī)都采用同樣的MTU,就不會(huì)發(fā)生上述情況。而如果入接口是9000字節(jié),而出接口是1500,就會(huì)發(fā)生上述問(wèn)題。

如果一條物理鏈路的兩端MTU不一致,則會(huì)發(fā)生什么情況,比如一側(cè)是1500,一側(cè)是9000,1500一側(cè)發(fā)出來(lái)的數(shù)據(jù)肯定沒(méi)有問(wèn)題,但是如果從9000側(cè)發(fā)給1500呢?數(shù)據(jù)也背默默地丟了。為什么呢?我們來(lái)談另外一個(gè)很少提及的詞匯:MRU,最大接收單元。

最大接收單元MRU

我們一直談的最大傳輸單元MTU是關(guān)于出方向的流量處理,而MRU恰恰相反,是關(guān)于入方向的流量處理。

一般情況下MTU = MRU,比如9000側(cè)的數(shù)據(jù)到達(dá)1500,由于9000>MRU ,所以直接默默丟棄。

所以在配置鏈路時(shí),要確保兩側(cè)的設(shè)備MTU要匹配,無(wú)論各家廠商對(duì)MTU理解如何、實(shí)現(xiàn)如何,一定要保證兩端匹配,即各自允許在以太網(wǎng)線上發(fā)送、接收的數(shù)據(jù)流,即以太網(wǎng)幀的最大長(zhǎng)度一樣!

總結(jié)

以上是生活随笔為你收集整理的以太网帧:Ethernet Frame的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。