一個MSS值引發(fā)的疑案及思考是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)主營鎮(zhèn)沅網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都app開發(fā),鎮(zhèn)沅h5微信小程序搭建,鎮(zhèn)沅網(wǎng)站營銷推廣歡迎鎮(zhèn)沅等地區(qū)企業(yè)咨詢
我接觸的很多項目中也都有負載均衡,但是卻沒有遇到過MSS值這個故障。現(xiàn)針對剛剛提到的故障,我在自己的實驗環(huán)境中抓包測試了一下。對此提出自己的兩點思考,僅此交流。
網(wǎng)絡環(huán)境拓撲:
172.29.141.150為客戶端地址
172.29.141.100為真實服務器地址
172.29.141.159為負載均衡上的VIP地址
負載均衡以旁路方式部署,但是沒有做CLIENT NAT(網(wǎng)關是實網(wǎng)關沒有設在負載均衡上) 。
訪問流程:
1) 172.29.141.150訪問
172.29.141.100
2) 負載均衡設備與客戶端完成三次握手
3)然后負載均衡設備 向服務器172.29.141.100發(fā)起連接
4)服務器
與負載均衡設備完成三次握手。
我們發(fā)現(xiàn)兩端的MSS值都是1440,沒有出現(xiàn)差異,當然也沒有發(fā)生原作者提到的故障現(xiàn)象。
補充:MSS就是TCP數(shù)據(jù)包每次能夠傳輸?shù)淖畲髷?shù)據(jù)分段。為了達到最佳的傳輸效能TCP協(xié)議在建立連接的時候通常要協(xié)商雙方的MSS值,這個值TCP協(xié)議在實現(xiàn)的時候往往用MTU值代替(需要減去IP數(shù)據(jù)包包頭的大小20Bytes和TCP數(shù)據(jù)段的包頭20Bytes)所以往往MSS為1460。通訊雙方會根據(jù)雙方提供的MSS值得最小值確定為這次連接的最大MSS值。
思考一:網(wǎng)絡設備上的MTU影響
當兩臺遠程PC互聯(lián)的時候,它們的數(shù)據(jù)需要穿過很多的路由器和各種各樣的網(wǎng)絡媒介才能到達對端,網(wǎng)絡中不同媒介的MTU各不相同,就好比一長段的水管,由不同粗細的水管組成(MTU不同 )通過這段水管最大水量就要由中間最細的水管決定。網(wǎng)絡通信中由于各家網(wǎng)絡設備廠商提供的網(wǎng)絡設備占用的MTU值不同,也會進一步減小MSS值。如果網(wǎng)絡中有中低端路由器就需要在內(nèi)網(wǎng)口和外網(wǎng)口都要配置tcp mss 值來保持傳輸?shù)臄?shù)據(jù)包大小統(tǒng)一,以避免某段網(wǎng)絡因使用了PPPoE或NAT那些導致某些不能分片的應用而無法正常通訊。
注:NAT轉(zhuǎn)換有時容易造成兩端MTU值不一致。
思考二、服務器或系統(tǒng)自身的MTU影響
網(wǎng)絡層的IP協(xié)議會檢查每個從上層協(xié)議下來的數(shù)據(jù)包的大小,并根據(jù)本機MTU的大小來決定是否作“分片”處理。操作系統(tǒng)也會根據(jù)本機MTU值自動將大小不符合要求的數(shù)據(jù)進行分包處理再進行傳輸,所以針對這些問題可以修改相應主機的MTU值:
windows下修改方法:
打開注冊表找到如下位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces 在Interfaces下有多個子項,每個子項對應一個網(wǎng)卡,確定本機用來連接Internet的網(wǎng)卡,點擊Interfaces上的子項,查看鍵值列表中的IPAddress項,如果IPAddress的鍵值就是你要找的IP,則該子項就是要找的網(wǎng)卡,然后進入該子項,在右邊的窗口里按鼠標右鍵,選擇“新建”->“雙字節(jié)值”,輸入名稱“MTU”,按回車。再用鼠標雙擊“MTU”,彈出修改窗口在里面填入MTU的值,填寫前請先把基數(shù)設為十進制。 設置好后,需要重啟機器才能生效。
linux下修改方法:
# ifconfig eth0 mtu number
其中“number”為MTU的數(shù)值。修改完成后,可以用“ifconfig”命令來查看修改的結(jié)果。
為了不必每次都修改,我們可以在網(wǎng)卡配置文件中修改:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
MTU=1000
然后保存退出。
關于一個MSS值引發(fā)的疑案及思考是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。