日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

最大分段 小議TCP的MSS以及MTU


[背景知識(shí)]
MTU:;Maxitum;Transmission;Unit;最大傳輸單元
MSS:;Maxitum;Segment;Size;最大分段大小(偶是直譯,翻譯的不好,不要打
俺PP)
PPPoE:;PPP;Over;Ethernet(在以太網(wǎng)上承載PPP協(xié)議)
[分析過程]
先說說這MTU最大傳輸單元,這個(gè)最大傳輸單元實(shí)際上和鏈路層協(xié)議有著密切的關(guān)系,讓我們先仔細(xì)回憶一下EthernetII幀的結(jié)構(gòu)DMAC SMAC Type Data CRC
由于以太網(wǎng)傳輸電氣方面的限制,每個(gè)以太網(wǎng)幀都有最小的大小64bytes最大不能超過1518bytes,對(duì)于小于或者大于這個(gè)限制的以太網(wǎng)幀我們都可以視之為錯(cuò)誤的數(shù)據(jù)幀,一般的以太網(wǎng)轉(zhuǎn)發(fā)設(shè)備會(huì)丟棄這些數(shù)據(jù)幀 。
(注:小于64Bytes的數(shù)據(jù)幀一般是由于以太網(wǎng)沖突產(chǎn)生的“碎片”或者線路干擾或者壞的以太網(wǎng)接口產(chǎn)生的,對(duì)于大于1518Bytes的數(shù)據(jù)幀我們一般把它叫做Giant幀,這種一般是由于線路干擾或者壞的以太網(wǎng)口產(chǎn)生)
由于以太網(wǎng)EthernetII最大的數(shù)據(jù)幀是1518Bytes這樣,刨去以太網(wǎng)幀的幀頭(DMAC目的MAC地址48bit=6Bytes SMAC源MAC地址48bit=6Bytes Type域2bytes)14Bytes和幀尾CRC校驗(yàn)部分4Bytes(這個(gè)部門有時(shí)候大家也把它叫做FCS),那么剩下承載上層協(xié)議的地方也就是Data域最大就只能有1500Bytes這個(gè)值我們就把它稱之為MTU 。這個(gè)就是網(wǎng)絡(luò)層協(xié)議非常關(guān)心的地方,因?yàn)榫W(wǎng)絡(luò)層協(xié)議比如IP協(xié)議會(huì)根據(jù)這個(gè)值來決定是否把上層傳下來的數(shù)據(jù)進(jìn)行分片 。就好比一個(gè)盒子沒法裝下一大塊面包,我們需要把面包切成片,裝在多個(gè)盒子里面一樣的道理 。
當(dāng)兩臺(tái)遠(yuǎn)程PC互聯(lián)的時(shí)候,它們的數(shù)據(jù)需要穿過很多的路由器和各種各樣的網(wǎng)絡(luò)媒介才能到達(dá)對(duì)端,網(wǎng)絡(luò)中不同媒介的MTU各不相同,就好比一長段的水管,由不同粗細(xì)的水管組成(MTU不同;)通過這段水管最大水量就要由中間最細(xì)的水管決定 。
對(duì)于網(wǎng)絡(luò)層的上層協(xié)議而言(我們以TCP/IP協(xié)議族為例)它們對(duì)水管粗細(xì)不在意它們認(rèn)為這個(gè)是網(wǎng)絡(luò)層的事情 。網(wǎng)絡(luò)層IP協(xié)議會(huì)檢查每個(gè)從上層協(xié)議下來的數(shù)據(jù)包的大小,并根據(jù)本機(jī)MTU的大小決定是否作“分片”處理 。分片最大的壞處就是
降低了傳輸性能,本來一次可以搞定的事情,分成多次搞定,所以在網(wǎng)絡(luò)層更高一層(就是傳輸層)的實(shí)現(xiàn)中往往會(huì)對(duì)此加以注重!有些高層因?yàn)槟承┰蚓蜁?huì)要求我這個(gè)面包不能切片,我要完整地面包,所以會(huì)在IP數(shù)據(jù)包包頭里面加上一
個(gè)標(biāo)簽:DF(Donot;Fragment) 。這樣當(dāng)這個(gè)IP數(shù)據(jù)包在一大段網(wǎng)絡(luò)(水管里面)傳輸?shù)臅r(shí)候,假如碰到MTU小于IP數(shù)據(jù)包的情況,轉(zhuǎn)發(fā)設(shè)備就會(huì)根據(jù)要求丟棄這個(gè)數(shù)據(jù)包 。然后返回一個(gè)錯(cuò)誤信息給發(fā)送者 。這樣往往會(huì)造成某些通訊上的問題,不過幸運(yùn)的是大部分網(wǎng)絡(luò)鏈路都是MTU1500或者大于1500 。
對(duì)于UDP協(xié)議而言,這個(gè)協(xié)議本身是無連接的協(xié)議,對(duì)數(shù)據(jù)包的到達(dá)順序以及是否正確到達(dá)不甚關(guān)心,所以一般UDP應(yīng)用對(duì)分片沒有非凡要求 。
對(duì)于TCP協(xié)議而言就不一樣了,這個(gè)協(xié)議是面向連接的協(xié)議,對(duì)于TCP協(xié)議而言它非常在意數(shù)據(jù)包的到達(dá)順序以及是否傳輸中有錯(cuò)誤發(fā)生 。所以有些TCP應(yīng)用對(duì)分片有要求---不能分片(DF) 。
花開兩朵,各表一枝,說完MTU的故事我們?cè)撝v講今天的第二個(gè)豬腳---PPPoE所謂PPPoE就是在以太網(wǎng)上面跑PPP協(xié)議,有人希奇了,PPP協(xié)議和Ethernet不都是鏈路層協(xié)議嗎?怎么一個(gè)鏈路層跑到另外一個(gè)鏈路層上面去了,難道升級(jí)成網(wǎng)絡(luò)層協(xié)議了不成 。其實(shí)這是個(gè)誤區(qū):就是某層協(xié)議只能承載更上一層協(xié)議 。
為什么會(huì)產(chǎn)生這種希奇的需求呢?這是因?yàn)殡S著寬帶接入(這種寬帶接入一般為Cable;Modem或者xDSL或者以太網(wǎng)的接入)由于以太網(wǎng)缺乏認(rèn)證計(jì)費(fèi)機(jī)制而傳統(tǒng)運(yùn)營商是通過PPP協(xié)議來對(duì)撥號(hào)等接入服務(wù)進(jìn)行認(rèn)證計(jì)費(fèi)的,所以就出了這么一個(gè)怪胎:PPPoE 。(有關(guān)PPPoE的具體介紹參見V大以及本站其他成員的一些介紹文章,我就不啰里啰唆的了)

推薦閱讀