《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于電力數據通信網的MTU值分析研究
基于電力數據通信網的MTU值分析研究
2018智能電網增刊
段寒碩1,葉 青1,金 燊1,楊廣濤2
1.國網冀北電力有限公司信息通信分公司,北京100053; 2.國網冀北電力有限公司承德供電公司信息通信分公司,河北 承德067000
摘要: 在電力數據通信網中,業務的遠距離傳輸要先后通過傳輸層、網絡層及數據鏈路層的封裝,最終以以太網幀的形式通過光端機及光纜進行遠程通信,在通信過程中,三個協議層對數據載荷的大小均有相關參數的定義,分別是MSS、MTU及最大幀長度。通過ICMP協議,討論三者之間的關系,并應用于解決電力數據通信網中提票業務大包不通的問題。
中圖分類號: TM72
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2018.S1.035
Abstract:
Key words :

1  電力數據通信網簡介

    電力數據通信網是以保障電網安全生產為目的,采用路由器、光端機等設備搭建而成,用于傳輸電網生產控制信號、電網公司辦公內網、視頻會議等綜合業務的通信網絡。

    電力數據通信網網絡結構與公司運維范圍內變電站的地理位置息息相關,基本采用三級組網結構,核心層位于公司總部,由多臺高性能路由器組成,匯聚層由距離公司較近的幾個高電壓等級變電站組成,站內路由器既擔當匯聚路由器的功能,同時滿足本站內的通信業務接入。接入層主要由低電壓等級變電站內路由器構成,由于站內路由器僅需要完成業務接入功能,所以對路由器性能要求不高。由于各個變電站之間距離較遠,為保證業務質量,路由器之間的互聯一般通過光端機承載。如圖1所示。

dhs-t1.gif

2  電力數據通信網業務傳遞模型

    根據電力數據通信網業務特性,電網公司多采用BGP MPLS VPN跨域技術進行業務之間的互通,網絡中公司總部核心層和各個地市公司接入層分別為BGP的不同自治域(AS)。為保證業務的安全性以及數據包的快速轉發,全網采用MPLS VPN技術。

    由于電力數據通信網中業務流量一般是總分結構,核心位于公司總部區域,接入位于各個地市區域,故業務訪問一般會跨越不同的BGP自治域,且業務數據包在傳遞過程中會被各種協議的報頭進行封裝。

    以電力數據通信網調度提票業務為例,結構示意圖如圖2 所示。末端站點提票終端發送提票請求,業務數據包通過VPN隧道發送至BGP AS-2內的數據通信網路由器上,數據通信網業務在光端機的承載下,通過BGP自治域邊界ASBR路由器,最終傳輸至BGP核心區域AS-1的總部路由器上,路由器通過與提票服務器建立的VPN隧道,將信息傳遞到提票服務器,完成業務的傳遞。

dhs-t2.gif

3  數據封裝與MTU

3.1  數據封裝過程概述

    根據TCP/IP四層協議模型,由下至上分為數據鏈路層、網絡層、傳輸層、應用層。以提票業務為例,由于數據是從應用程序發出,應用層的應用程序數據首先進行TCP封裝,封裝完畢后,變成可在傳輸層傳遞的數據段(segment),傳輸層的數據段再進行IP封裝,增加IP頭部信息,稱為網絡層的IP數據包,最后將數據包增加幀頭等信息,變為可以通過數據鏈路層傳輸的以太網幀。當信息傳輸到目的地時,在進行以上封裝的解封裝工作,將應用程序信息傳遞至目標應用程序。

3.2  MTU值簡介

    MTU為最大傳輸單元(Maximum Transmission Unit)的簡稱,一般是指以太網幀結構中數據Data字段最大的長度(單位為byte)。

    以太網幀(Ethernet II)由幀頭、數據部分及校驗位構成。其中以太網幀的幀頭大小為14 bytes(DMAC目的MAC地址6 bytes,SMAC源MAC地址6 bytes,Type域2 bytes),CRC校驗部分4 bytes,剩下承載上層協議(IP數據包)的字段叫做數據載荷,數據載荷部分大小為46-1 500 bytes,數據載荷的最大長度稱之為MTU,即MTU值最大為1 500 bytes,以太網幀最大為1 518 bytes。[1]

    MTU值為數據鏈路層中對最大數據載荷的定義,不考慮幀頭以及校驗位,即為網絡層中的IP數據包長度。如果網絡層IP數據包長度超過MTU值,就會被分片處理,保證每一片IP包不超過MTU值。但如果業務通信是基于TCP連接的,那么一般情況下IP數據包不允許分片,如果數據包大小超過MTU那么數據包將會被丟棄,本文中的提票業務就是基于TCP連接的業務。

    此外,在電力數據通信網中,為保證業務遠距離傳輸的可靠性,一般情況下路由器間的遠距離互聯需要借助光端機,由光端機來承載數據通信網業務,例如圖1 所示。光端機可以設置鏈路上允許通過的最大幀長度,從而影響網絡層MTU值及傳輸層的數據分片。

3.3  MSS簡介

    數據鏈路層有MTU的概念,傳輸層也有類似MTU的概念,這就是MSS,全稱為Maximum Segment Size,可以直譯為最大分段長度。MSS就是TCP段每次能夠傳輸的最大數據載荷。即TCP數據段中除去TCP包頭后的數據載荷部分最大長度。在建立TCP連接過程中,首先要協商雙方的MSS值,這個值TCP協議在實現的時候往往用MTU值減去IP數據包包頭的大小(20 bytes)和TCP數據段的包頭(20 bytes),由于MTU值一般為1 500,所以往往MSS為1 460,默認情況下,二者的長度相差40 bytes。通信雙方會根據雙方提供的MSS值得最小值確定為這次連接的最大MSS值。如果雙方的MSS值設定不一致,則協商結果以小的為準。在實際業務傳輸過程中,部分型號的路由器可以調整MSS值,從而影響網絡層IP數據包大小及數據鏈路層MTU。而光端機可以設置鏈路上允許通過的最大幀長度,從而影響網絡層MTU值及傳輸層的MSS值。[2]

4  業務網絡仿真

    針對電力數據通信網中的數據包大小進行仿真分析,仿真研究業務數據報文在路由器間傳遞過程中的大小,由此得出數據在傳遞過程中的封裝過程,了解MTU值對數據傳輸大小的限制作用,下一步利用研究結果解決電力數據通信網中業務數據大包不通的問題。

4.1  ICMP數據包仿真研究

    通過eNSP搭建仿真環境,如圖3所示,PC4和PC5分別模擬為兩個站點的PC客戶端,通過ping命令來研究icmp協議在數據網路由器中的傳遞過程中的數據包大小變化。

dhs-t3.gif

    第一步,在PC4上運行ping命令,目的地址是PC5的IP地址,其中-l命令是規定數據包大小為1 472 bytes,如圖4所示:

dhs-t4.gif

    第二步,使用Wireshark抓包工具,在PC4的Ethernet0/0/1端口進行抓包,得到結果如圖5所示。

dhs-t5.gif

    可以看到,數據包原始數據大小為1 472 bytes,通過icmp協議封裝后,數據包大小變為1 480 bytes,通過IP協議封裝后,數據包大小變為1 500 bytes,通過幀封裝后,數據包大小最終變為1 514 bytes(Wireshark工具不計算幀尾的4 btyes的FCS校驗位,加上幀尾的校驗位,數據總長度為1 518)。由此可以得出本案例數據包在傳輸過程中不同協議或幀封裝所需要增加的報文長度如表1 所示:

dhs-b1.gif

    我們知道,在以太網幀最大長度為1 518 bytes,由此可以推斷,當我們在PC上可以ping的最大數據長度為1 518-18-20-8=1 472 bytes,仿真軟件驗證的結果如下,與預先的推斷一致,如圖6所示:

dhs-t6.gif

4.2  電力數據網中ICMP數據包仿真研究

    由于電力數據網的網絡結構特點,全網采用BGP MPLS VPN技術進行組網,該組網方式在使用ICMP協議進行ping測試時,需要考慮在網絡層與數據鏈路層之間再封裝兩層mpls標簽(一層為用于查找公網路由的公網標簽,一層是用來查找VPN路由的私網標簽),每層標簽大小為4 bytes。所以仿真結果如圖7、圖8所示:

dhs-t7.gif

dhs-t8.gif

    此時,使用Wireshark工具抓到的以太網幀長度為1 472+8+20+4+4+14=1 522,加上校驗位,實際幀長度為1 526 bytes,其中網絡層封裝后的數據包大小為1 472+8+20=1 500 bytes,正好為MTU值,故1 472為ping命令可以攜帶的最大數據載荷長度。由此可以得出本案例數據包在電力數據通信網實際傳輸過程中不同協議或幀封裝所需要增加的報文長度表2所示:

dhs-b2.gif

    上述仿真結果表明,當業務在電力數據通信網傳輸過程中,數據先后會經過傳輸層封裝、網絡層封裝以及數據鏈路層封裝,最終通過光端機進行遠距離傳輸。由于本文中的提票業務是基于TCP連接的,在網絡層不允許分片,所以網絡層封裝后的IP數據包長度必須小于等于1500 bytes,才能保證數據包的有效傳遞,否則數據包將會被丟棄,導致業務無法聯通。

5  利用MTU值解決業務大包不通問題

5.1  問題描述

    在電力數據通信網實際運行過程中,在某次大型網絡結構調整后,出現了提票業務不通問題,如圖2所示,末端站點1的工作人員反饋提票客戶端可以ping通總部服務器,但是客戶端瀏覽器無法打開提票頁面,提票工作無法完成。

5.2  問題分析

    通過測試發現,提票終端可以ping通總部服務器,但當限定數據包長度時,大包無法ping通,經測試,最大可以ping通的數據包大小為1 468 bytes,根據本文中的結論,可以得出此時在網絡層的IP數據包大小為1 496 bytes,在數據鏈路層的以太網幀大小為1 496+4+4+18=1 522 bytes。

    通過檢查路由器的配置,發現路由器MTU值設置為1 500 bytes,1 496小于1 500,所以網絡層MTU值滿足條件。

    此時,我們考慮傳輸層以及數據鏈路層的兩個參數,一個是傳輸層MSS,另一個是數據鏈路層最大幀長度。通過查看路由器配置,發現MSS為默認值1 460 bytes,根據3.3章節,得出業務數據的實際TCP數據載荷大小為1 496-20=1 476 bytes,小于MSS值,故傳輸層參數滿足條件。通過查看光端機配置,我們發現,光端機最大幀長度設置為1 518 bytes,而本案例中實際傳輸的以太網幀大小為1 522 bytes,所以導致以太網幀被光端機丟棄,造成業務不通。

5.3  問題處理

    通過前面章節的分析,問題可以從兩個方面解決,一方面可以調整MSS值(默認為1 460),通過在路由器上配置ip tcp adjust-mss 1 456,可以使數據的MSS值調整為1 456,這樣數據封裝成以太網幀后的大小為1 518,滿足最大幀長度要求,可以通過光端機進行傳輸。另一方面可以通過修改光端機最大幀長度,如圖9所示,以馬可尼光端機為例,將最大幀長度上調為1 600,同樣可以使數據通過光端機進行傳輸。實際測試顯示,通過兩種方法均能解決提票業務大包不通問題。

dhs-t9.gif

    本文通過分析數據包的幀結構以及封裝過程,了解了MSS值、MTU值及最大幀長度在數據傳輸過程中的功能及作用,學會了通過調整MSS值及最大幀長度參數解決業務大包不通問題,為今后電力數據通信網業務大包不通故障的分析處理提供了新的思路,積累了寶貴經驗。

參考文獻

[1] FALL K R,STEVENS W R,TCP/IP 詳解 卷1:協議[M].北京:機械工業出版社,2016.

[2] Jeff Doyle,Jennifer Carroll,TCP/IP 路由技術(第一卷)(第二版)[M].北京:人民郵電出版社,2007.



作者信息:

段寒碩1,葉  青1,金  燊1,楊廣濤2

(1.國網冀北電力有限公司信息通信分公司,北京100053;

2.國網冀北電力有限公司承德供電公司信息通信分公司,河北 承德067000)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 麻豆一精品传媒媒短视频下载| 久久精品*5在热| 色片在线免费观看| 国产精品国产三级国产专播| 一本色道久久综合网| 日韩视频在线免费| 亚洲视频国产视频| 色吊丝永久性观看网站| 国产精品久久久小说| jyzzjyzz国产免费观看| 日本中文字幕有码在线视频| 亚洲另类视频在线观看| 白嫩无码人妻丰满熟妇啪啪区百度| 国产动作大片中文字幕| 伊人色综合久久天天人守人婷| 天海翼视频在线| 中文字幕在线观看亚洲| 最新国产乱人伦偷精品免费网站| 亚洲精品在线网站| 精品国产精品久久一区免费式| 国产女人18毛片水真多1| 538精品视频在线观看mp4| 好大灬好硬灬好爽灬| 久久一本精品久久精品66| 欧洲成人在线视频| 亚洲精品欧美精品日韩精品| 精品无码久久久久久久久| 国产免费牲交视频| 天天视频天天爽| 国产高清自产拍av在线| 三级免费黄色片| 99久久综合狠狠综合久久| 69av免费视频| 韩国毛片在线观看| 课外辅导的秘密在线观看| 玉蒲团之偷情宝典| 日本在线视频网址| 成年女人毛片免费视频| 国色天香中文字幕视频| 国产91精品久久久久久久| 亚洲一区二区三区91|