滕幼琦
中國聯(lián)合網(wǎng)絡通信集團有限公司蘇州分公司
近年來,在運營商的專線業(yè)務中,MSTP 專線業(yè)務的租用越來越普遍,但隨之而來的問題也越來越多。在業(yè)務開通過程中,多次遇到了以太網(wǎng)表測試正常、UDP 打流測試正常,但是在使用一些文件傳輸軟件測試時出現(xiàn)傳輸速率異常的問題。本文討論了某些TCP 協(xié)議應用在MSTP 專線上的傳輸性能表現(xiàn)及優(yōu)化路徑。
蘇州聯(lián)通為集團客戶XX 汽車(以下簡稱Y 公司)開通了1 條跨境MSTP 大客戶專線,帶寬為100M,命名為“蘇州臺灣100M”,如圖1 所示。電路開通后,傳輸掛表測試正常,但Y 公司客戶使用該電路進行FTP、飛鴿傳書等應用測試時,發(fā)現(xiàn)實際文件傳送帶寬不足100M,蘇州客戶端上傳臺灣的速率是236KB/sec,臺灣客戶端上傳蘇州速率是5MB/sec。
圖1 蘇州-臺灣傳輸組網(wǎng)情況
接到Y(jié) 公司用戶申告100M 電路速率不達標后,先和臺灣端運營商確認傳輸端口雙工模式、LCAS 等參數(shù)設置,蘇州客戶端OSN1500B SSN2EFT8 板端口配置為100M 全雙工,LCAS 使能,臺灣端傳輸設備端口配置為1000M 全雙工,LCAS 使能。在確認端口參數(shù)配置沒有問題后,又對全程電路重新掛表進行了復測,由于該100M 電路骨干分配的通道為2*VC3,實際帶寬在96M 左右,再次掛表測試結(jié)果正常,可以達到理論96M 帶寬。
為定位問題段落,決定進行分段測試。首先進行了蘇州客戶端和CU 臺灣POP 點之間的測試,測試工具采用筆記本電腦,測試軟件為iPerf 和飛鴿傳書,基本能夠還原用戶實際應用場景。測試結(jié)果在TCP 和UDP 場景下,電路傳輸速率均能達到90MB/sec。然后臺灣本地也進行了類似的測試,電路速率也能到90MB/sec。
在分段測試結(jié)果正常的情況下,根據(jù)經(jīng)驗嘗試更換蘇州客戶端傳輸設備和板卡,將客戶端設備從OSN1500B SSN2EFT8板替換為Metro1000 SS42EFS 板后,客戶測試達標,蘇州客戶與臺灣客戶使用筆記本測試電路速率可以達到90MB/sec。
針對電路速率不達標的故障,首先用掛以太網(wǎng)表、UDP打流等方式測試傳輸通道,排除傳輸通道是否存在問題。如有可能,減小SDH 鏈路時延,此方法只在有更短路由的情況下可行。
在傳輸通道沒有問題的情況下,速率不達標的故障現(xiàn)象通常和TCP 協(xié)議慢啟動、丟包重傳、盡力轉(zhuǎn)發(fā)、滑動窗口等特點強相關(guān)。
在TCP/IP 協(xié)議族的傳輸層有兩種協(xié)議,UDP(從分層上屬于更底層協(xié)議)和TCP。其中UDP 是無連接的傳輸協(xié)議,TCP 是有連接的傳輸協(xié)議。由于UDP 的無連接特性,其不適用于有可靠性要求的傳輸,除非在更高層如應用層中使用應用程序來進行控制;TCP 的有連接特性使它適用于更多應用場景,性能也更被關(guān)注。
TCP 協(xié)議使用場景主要有兩類:交互式數(shù)據(jù)流和成塊數(shù)據(jù)傳送。前者以Telnet、x windows 等應用為代表,后者以FTP 等應用為代表。有連接傳輸協(xié)議要求TCP 協(xié)議發(fā)送后必須有確認的存在,即發(fā)送方發(fā)送數(shù)據(jù)需要接收方確認,否則需要重傳以保證數(shù)據(jù)完整性。最簡單的確認方式是停等方式,即發(fā)送方需要收到接收方對上一個發(fā)送數(shù)據(jù)塊的確認之后,才能繼續(xù)下一個數(shù)據(jù)塊的發(fā)送;TCP 協(xié)議使用的確認方式效率更高,一般稱為滑動窗口方式。
以太網(wǎng)電路對于IP 層業(yè)務來說是直接的承載層-客戶層關(guān)系,即IP 包加上MAC 層封裝即可在以太網(wǎng)電路中傳送,且在協(xié)議層面完全透明。我們一般會把以太網(wǎng)電路看作一段透明管道。以太網(wǎng)電路的管道容量可以理解為帶寬乘以時延。
TCP 的數(shù)據(jù)傳送速率要接近以太網(wǎng)電路的名義帶寬需要滿足以下條件:接收窗口大小大于管道容量;不產(chǎn)生重傳。當接收窗口大小小于管道容量發(fā)生重傳時,線速帶寬將大幅下降。
從理論角度來分析,TCP 線速帶寬測試和EOS 單板緩存大小有關(guān),而FTP 測試終端發(fā)送流量和終端TCP 滑動窗口、CPU 利用率等因素有關(guān)。同一場景測試由于終端各因素條件差異可能會導致進入EOS 單板端口流量存在差異,從現(xiàn)象上不能說明EOS 單板造成測試差異。
對于毫秒級突發(fā)流量,EOS 單板無法進行實時監(jiān)控,目前業(yè)界數(shù)據(jù)設備流控監(jiān)測也無法做到毫秒級別。通常情況下要完全確認突發(fā)流量只能通過wireshark 等軟件進行抓包,使用擴容傳輸電路帶寬避免端到端帶寬瓶頸,或者對用戶設備端口進行shaping 流量整形兩種方法,間接驗證是否是突發(fā)流量丟包引發(fā)FTP 測試帶寬不達標。
本案例中更換了不同的傳輸設備和以太網(wǎng)板卡解決了問題,這和不同以太網(wǎng)板的緩存大小以及對數(shù)據(jù)報文處理能力差異有關(guān)。
傳輸設備在整個端到端網(wǎng)絡拓撲中的定位是高速硬管道,其主要作用是將業(yè)務報文盡可能快地從傳輸設備的一端傳送到另一端。理論上是不具備抗突發(fā)作用的,當業(yè)務流量超過配置帶寬時,就會丟包。單板的緩存通常是用于處理GFP封裝、QoS、流控功能等,本意不是用于抗突發(fā),抗突發(fā)只是附帶的效果。
不同的單板由于使用的業(yè)務芯片不同,所以各自的緩存大小也有差異,但整體來說傳輸設備的緩存都不大。所以通常情況下,在端到端處理這種大突發(fā)量業(yè)務的時候,都是建議在進傳輸前的數(shù)通設備上做端口流量整形,將進入傳輸?shù)臉I(yè)務流量限制在帶寬內(nèi),從而解決突發(fā)流量超過帶寬丟包的場景。
在端到端的網(wǎng)絡拓撲中,傳輸電路屬于硬管道,而數(shù)通設備則不同,數(shù)通設備的數(shù)據(jù)因為需要進行路由尋址,其數(shù)據(jù)轉(zhuǎn)發(fā)方式都是存儲轉(zhuǎn)發(fā),因此路由器的緩存很大,通常都是以Mbit 為單位。但路由器的這種轉(zhuǎn)發(fā)方式帶來的弊端是會導致傳輸時延增大,這一點和傳輸設備的“高速”特性是相悖的,所以也注定了傳輸設備不會存在大緩存的場景。
在實際業(yè)務開通過程中,為了獲得很高的線路帶寬,應選用更高性能的EOS 板卡,通常情況下,千兆EOS 板卡性能優(yōu)于百兆EOS 板卡,帶交換功能的EOS 板卡性能優(yōu)于純透傳EOS 板卡。
從技術(shù)角度看,MSTP以太網(wǎng)電路在作為長途電路應用時,其在TCP 性能上有先天不足,并且針對這一問題的優(yōu)化手段均存在一定限制性。在將MSTP 以太網(wǎng)電路運用到各個場景中時,需要充分認識其特點,以保證專線質(zhì)量能夠滿足用戶需求。