溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

一個MSS值引發(fā)的疑案及思考是怎樣的

發(fā)布時間:2021-12-30 15:02:50 來源:億速云 閱讀:107 作者:柒染 欄目:云計算

一個MSS值引發(fā)的疑案及思考是怎樣的,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

我接觸的很多項(xiàng)目中也都有負(fù)載均衡,但是卻沒有遇到過MSS值這個故障。現(xiàn)針對剛剛提到的故障,我在自己的實(shí)驗(yàn)環(huán)境中抓包測試了一下。對此提出自己的兩點(diǎn)思考,僅此交流。

網(wǎng)絡(luò)環(huán)境拓?fù)洌?br/> 一個MSS值引發(fā)的疑案及思考是怎樣的
172.29.141.150為客戶端地址
172.29.141.100為真實(shí)服務(wù)器地址
172.29.141.159為負(fù)載均衡上的VIP地址

負(fù)載均衡以旁路方式部署,但是沒有做CLIENT NAT(網(wǎng)關(guān)是實(shí)網(wǎng)關(guān)沒有設(shè)在負(fù)載均衡上)  。

訪問流程:

1) 172.29.141.150訪問  172.29.141.100
2) 負(fù)載均衡設(shè)備與客戶端完成三次握手

3)然后負(fù)載均衡設(shè)備  向服務(wù)器172.29.141.100發(fā)起連接

4)服務(wù)器  與負(fù)載均衡設(shè)備完成三次握手。
 

我們發(fā)現(xiàn)兩端的MSS值都是1440,沒有出現(xiàn)差異,當(dāng)然也沒有發(fā)生原作者提到的故障現(xiàn)象。

補(bǔ)充:MSS就是TCP數(shù)據(jù)包每次能夠傳輸?shù)淖畲髷?shù)據(jù)分段。為了達(dá)到最佳的傳輸效能TCP協(xié)議在建立連接的時候通常要協(xié)商雙方的MSS值,這個值TCP協(xié)議在實(shí)現(xiàn)的時候往往用MTU值代替(需要減去IP數(shù)據(jù)包包頭的大小20Bytes和TCP數(shù)據(jù)段的包頭20Bytes)所以往往MSS為1460。通訊雙方會根據(jù)雙方提供的MSS值得最小值確定為這次連接的最大MSS值。

思考一:網(wǎng)絡(luò)設(shè)備上的MTU影響
當(dāng)兩臺遠(yuǎn)程PC互聯(lián)的時候,它們的數(shù)據(jù)需要穿過很多的路由器和各種各樣的網(wǎng)絡(luò)媒介才能到達(dá)對端,網(wǎng)絡(luò)中不同媒介的MTU各不相同,就好比一長段的水管,由不同粗細(xì)的水管組成(MTU不同 )通過這段水管最大水量就要由中間最細(xì)的水管決定。網(wǎng)絡(luò)通信中由于各家網(wǎng)絡(luò)設(shè)備廠商提供的網(wǎng)絡(luò)設(shè)備占用的MTU值不同,也會進(jìn)一步減小MSS值。如果網(wǎng)絡(luò)中有中低端路由器就需要在內(nèi)網(wǎng)口和外網(wǎng)口都要配置tcp mss 值來保持傳輸?shù)臄?shù)據(jù)包大小統(tǒng)一,以避免某段網(wǎng)絡(luò)因使用了PPPoE或NAT那些導(dǎo)致某些不能分片的應(yīng)用而無法正常通訊。

注:NAT轉(zhuǎn)換有時容易造成兩端MTU值不一致。 

思考二、服務(wù)器或系統(tǒng)自身的MTU影響
網(wǎng)絡(luò)層的IP協(xié)議會檢查每個從上層協(xié)議下來的數(shù)據(jù)包的大小,并根據(jù)本機(jī)MTU的大小來決定是否作“分片”處理。操作系統(tǒng)也會根據(jù)本機(jī)MTU值自動將大小不符合要求的數(shù)據(jù)進(jìn)行分包處理再進(jìn)行傳輸,所以針對這些問題可以修改相應(yīng)主機(jī)的MTU值:
windows下修改方法:
打開注冊表找到如下位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces 在Interfaces下有多個子項(xiàng),每個子項(xiàng)對應(yīng)一個網(wǎng)卡,確定本機(jī)用來連接Internet的網(wǎng)卡,點(diǎn)擊Interfaces上的子項(xiàng),查看鍵值列表中的IPAddress項(xiàng),如果IPAddress的鍵值就是你要找的IP,則該子項(xiàng)就是要找的網(wǎng)卡,然后進(jìn)入該子項(xiàng),在右邊的窗口里按鼠標(biāo)右鍵,選擇“新建”->“雙字節(jié)值”,輸入名稱“MTU”,按回車。再用鼠標(biāo)雙擊“MTU”,彈出修改窗口在里面填入MTU的值,填寫前請先把基數(shù)設(shè)為十進(jìn)制。 設(shè)置好后,需要重啟機(jī)器才能生效。

linux下修改方法:
# ifconfig eth0 mtu number

其中“number”為MTU的數(shù)值。修改完成后,可以用“ifconfig”命令來查看修改的結(jié)果。  為了不必每次都修改,我們可以在網(wǎng)卡配置文件中修改:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
 MTU=1000
然后保存退出。

關(guān)于一個MSS值引發(fā)的疑案及思考是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

mss
AI