<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 利用TCP卸載技術(shù)提升網(wǎng)絡(luò )處理器的應用性能

利用TCP卸載技術(shù)提升網(wǎng)絡(luò )處理器的應用性能

——
作者:杰爾系統 時(shí)間:2006-06-21 來(lái)源:ed-china 收藏

傳輸控制協(xié)議()是一種最初針對低速地面鏈路而設計的傳輸層協(xié)議。然而,隨著(zhù)高速傳輸介質(zhì)和復雜的訪(fǎng)問(wèn)機制的發(fā)展,用純軟件方式實(shí)現需要強大的計算和存儲能力。

近年來(lái),速度、CPU和內存的速度呈爆炸式增長(cháng)。由于以太網(wǎng)速度的增長(cháng)速度遠遠大于CPU或內存,所以目前的性能仍然主要受制于內存與CPU速度。

卸載是一種用于加速TCP/IP連接的技術(shù),它克服了上述局限性,將復雜的TCP處理從主機CPU轉移到專(zhuān)用的TCP加速器上。通常,用于加速的TCP卸載引擎(TOE)是一個(gè)主機CPU共址的專(zhuān)用子系統??蛇_到同樣目標的一種可選機制,是將復雜的TCP/IP處理轉移至用高速鏈路與TCP服務(wù)器連接的處理器(NP)上(一種專(zhuān)用的可編程硬件設備)。 

這種可選機制采用的不但具備通用處理器(GPP)的低成本與高靈活性,而且還具有定制硅芯片解決方案的速度與可擴展性。此外,NP還可減輕TCP服務(wù)器上需要大量?jì)却婧虲PU資源的處理負擔。它還提供可擴展性極高的解決方案,尤其是存在原有設備或對成本敏感的設備的情況下。

防御網(wǎng)絡(luò )通常與長(cháng)延遲衛星鏈路、易出錯的信道一起,構成高性能服務(wù)器與網(wǎng)絡(luò )。衛星鏈路是降低整體性能的鏈路中最薄弱的環(huán)節。采用這種可選機制可使帶有TOE的NP連接至薄弱部分,從而讓NP-TOE能消除長(cháng)延遲和信道錯誤的不利影響,并提高網(wǎng)絡(luò )整體性能。 

對于成本與尺寸受限的低端企業(yè)級產(chǎn)品而言,通過(guò)在中央網(wǎng)絡(luò )單元中引入TOE來(lái)解決內存/CPU 瓶頸是一種具有可擴展性和成本效益的解決方案。與提高主機自身的性能(如使用鍵盤(pán)、顯示器和鼠標——KVM交換機)相比,該方法尤其具有優(yōu)勢。

圖1列舉了一種部署方案,其中遠程鍵盤(pán)、監視器和鼠標控制多臺與基于IP的KVM(KVM-over-IP)交換機相連的遠程托管服務(wù)器。遠程控制計算機的鼠標與鍵盤(pán)事件通過(guò)因特網(wǎng)從KVM交換機傳輸到服務(wù)器。服務(wù)器通過(guò)KVM交換機將壓縮的監視器數據發(fā)送至遠程計算機。帶有TOE的NP使KVM 交換機能夠將TCP的處理負擔轉移到NP,從而簡(jiǎn)化了KVM交換機硬件。



圖1:帶有TOE的NP提升網(wǎng)絡(luò )性能的部署實(shí)例。 

采用TCP接合技術(shù)的TOE

TCP卸載可在企業(yè)TCP主機和遠程NP兩種網(wǎng)絡(luò )實(shí)體上進(jìn)行,它是通過(guò)利用分離的TCP連接(也稱(chēng)為T(mén)CP接合)而得以實(shí)現的。TCP接合是一種著(zhù)名的TCP性能增強技術(shù)。在TCP接合中,兩個(gè)獨立的TCP連接可以跨接一次會(huì )話(huà):一個(gè)從客戶(hù)端到NP,另一個(gè)從NP到服務(wù)器。圖 2 說(shuō)明了采用TCP接合技術(shù)的TOE的基本操作步驟。

服務(wù)器發(fā)送的數據由NP在本地確認,從而減少服務(wù)器的緩沖需求并且加快擁塞窗口的擴大。NP在遠端(客戶(hù)端)的確認(ACK)到達之前緩沖數據。在未收到確認通知的情況,NP執行定時(shí)器管理以向遠端重發(fā)TCP段。利用本地確認還可以避免TCP服務(wù)器受NP和客戶(hù)端之間網(wǎng)絡(luò )擁塞和延遲過(guò)長(cháng)的影響。這可以減輕服務(wù)器的內存負擔。

NP 還可以為服務(wù)器向客戶(hù)端發(fā)送的數據(包括校驗和計算)執行可選的網(wǎng)絡(luò )地址轉換(NAT)。盡管上述功能需要大量計算并且給GPP帶來(lái)繁重負擔,但NP非常適合處理此類(lèi)操作。

與路由等傳統NP應用相比,TCP卸載應用需要具備包間依賴(lài)性和基于連接的狀態(tài)機。此外,這種應用還要處理傳輸層功能,而這超越了由NP執行的傳統鏈路層和網(wǎng)絡(luò )層的處理能力。

TCP 處理過(guò)程中主要有兩個(gè)復雜之處。緩沖器管理包括對擁塞網(wǎng)絡(luò )中未確認段、亂序段和延遲段進(jìn)行存儲。定時(shí)器管理包括估算重發(fā)超時(shí)(RTO) 估算以及觸發(fā)未確認段的重發(fā)。

在高性能服務(wù)器或網(wǎng)絡(luò )與長(cháng)延遲和/或窄帶網(wǎng)絡(luò )一起運行的情況下(防御和移動(dòng)網(wǎng)絡(luò )大多如此),這種機制非常有用。在這種情況下,由于立即確認使可察覺(jué)的延遲更短,所以NP上的TCP卸載功能可縮短慢啟動(dòng)階段。請注意,當處理任務(wù)很輕時(shí),慢啟動(dòng)階段決定了應用性能。

另外,TCP擁塞控制針對有線(xiàn)部分的擁塞以及易錯信道的性能下降而調整。由于錯誤恢復功能受限于NP和客戶(hù)端,所以NP上的TCP卸載可以防止服務(wù)器中的窗口崩潰。這可以提高整體吞吐量。



圖2:從服務(wù)器到客戶(hù)端的數據處理框圖。 

利用實(shí)現帶TOE的TCP接合技術(shù)

在開(kāi)發(fā)執行被提議的替代機制的概念原型中,我們采用杰爾APP340處理器(圖3)。APP3xx系列NP具有2Gbps的吞吐能力。該器件包含分類(lèi)器、由調度程序、緩沖器管理器與流編輯器(SED)組成的流量管理器、狀態(tài)引擎以及片上控制處理器(即嵌入式主機)。嵌入式主機處理低速通道(控制與管理),器件的其余部分則處理快速通道或數據管道。

分類(lèi)器用于識別連接及其狀態(tài);狀態(tài)引擎讓TCP 狀態(tài)變量能被NP上的各種功能模塊訪(fǎng)問(wèn);流量管理器運行TCP擁塞控制協(xié)議,并執行調度決策;SED則被用于執行序號處理及網(wǎng)絡(luò )地址轉換(NAT)的穿透(traversal)。

APP340允許流量整形功能模塊控制每個(gè)隊列的數據包調度。NP為每個(gè)數據流維護多個(gè)目的隊列,包括到客戶(hù)端的主要傳輸、到客戶(hù)端的數據包重發(fā)以及到服務(wù)器的傳輸。

APP340支持分級調度,這樣就可以利用輔助隊列在每個(gè)目的隊列的同一級別傳送控制信息。這些控制數據包由數據包生成引擎(PGE)根據狀態(tài)機在內部生成。它們被用于觸發(fā)調度機制,例如在調度隊列中保持數據包,并只在TCP狀態(tài)機需要時(shí)釋放數據包。

這種利用分級調度架構控制TCP段調度的能力,以及保持包間狀態(tài)依賴(lài)性的能力使 APP340 架構非常適合 TCP 處理。




圖3:從客戶(hù)端到服務(wù)器的數據處理框圖。 

TCP連接的建立

在數據包到達NP端口時(shí),分類(lèi)器模塊根據TCP端口號和IP地址確定數據包流。如果數據包流不存在,則將數據包發(fā)送到嵌入式主機以建立連接。

一旦收到與 TCP 協(xié)議的三方握手(SYN、SYN-ACK和ACK)相對應的初始數據包時(shí),主機解析TCP選項并獲取相應參數,如序列號(SN)和最大段長(cháng),并將它們轉發(fā)到狀態(tài)引擎和SED。另外,它還更新分類(lèi)器中的查找樹(shù),從而關(guān)聯(lián)數據流標識符與TCP連接。

然后,將數據包傳回分類(lèi)器,以便重新插入數據包流。外發(fā)的TCP握手數據包接受NAT穿透處理,并且忽略其它TOE功能。類(lèi)似地,主機處理連接終止。分類(lèi)器解析FIN字段并將數據包發(fā)至主機。 

來(lái)自服務(wù)器的 TCP 數據流

當用于已建立的數據流的TCP數據段進(jìn)入分類(lèi)器時(shí),利用查找樹(shù)可獲取流標識符。

APP340是一種基于模塊的處理器。它采用兩階段分類(lèi)處理,第一階段處理單個(gè)模塊。第二階段處理重組后的協(xié)議數據單元。如果數據段到達時(shí)是亂序的,則將其保留在分類(lèi)器中first pass重排序緩沖器中,直到有序段到達。

對于有序段,則檢查T(mén)CP狀態(tài),以了解當前滑動(dòng)窗口大小(cwnd)、接收器通知窗口(rwnd)、NP的內存限制以及正在傳輸的數據包大小是否允許傳輸該數據包。如果數據包可以傳輸,則轉發(fā)到SED進(jìn)行 NAT 轉換并發(fā)送到遠端客戶(hù)端。流量整形器(TS)的轉發(fā)緩沖器中保存一個(gè)副本,另一個(gè)副本被發(fā)送到SED,用于生成一個(gè)立即本地確認。SED利用傳來(lái)的TCP/IP報頭、最末ACK的SN和最后收到的字節數生成本地ACK。

如果TCP滑動(dòng)窗口被占滿(mǎn),則TS停止調度數據包。數據包在停止狀態(tài)結束之前一直有效保存在TS中(圖4)。 

來(lái)自客戶(hù)端的TCP數據流

當ACK到達分類(lèi)器時(shí),分類(lèi)器提取確認號并將其轉發(fā)至狀態(tài)引擎。狀態(tài)引擎更新cwnd,以反映TCP流的慢速啟動(dòng)或擁塞避免階段。該引擎還更新rwnd、未確認數據的大小以及TCP滑動(dòng)窗口的占滿(mǎn)狀態(tài)。

生成一個(gè)觸發(fā)信號發(fā)送到TS,以從重發(fā)隊列中刪除已確認的數據包。TS調度所有來(lái)自伙伴(partner)控制隊列確認數據包和相關(guān)數據包,然后在 SED將其清除。若TCP滑動(dòng)窗口先前已被占滿(mǎn),則生成觸發(fā)信號發(fā)送到 TS,以恢復對TCP數據段的處理(圖5)。然后,該確認在NP上結束。

如果客戶(hù)端數據包帶有背負(piggybacked)數據,則按照上述方式更新?tīng)顟B(tài)機。然后修改報頭中的確認號,以反映最近生成的本地確認號,并將它轉發(fā)給服務(wù)器。另外,在狀態(tài)引擎中更新下一個(gè)來(lái)自客戶(hù)端的預期SN,以便將該SN用作隨后本地確認的SN。

重發(fā)與重發(fā)超時(shí)(RTO)估算

對于重發(fā)緩沖器中的每個(gè)數據包,內部PGE生成的伙伴控制隊列保留該段的傳輸時(shí)間。當一個(gè)確認到達時(shí),按確認到達時(shí)間與傳輸時(shí)間差計算往返時(shí)間,然后按照IETF RFC 2988推薦標準估算重發(fā)超時(shí)(RTO)。

如果數據包處于重發(fā)序列之中,則PGE生成由當前時(shí)間、重發(fā)時(shí)間或者當前時(shí)間外加RTO組成的控制數據包。

對PGE進(jìn)行編程,以生成周期性的觸發(fā)信號。每次進(jìn)行此操作時(shí),TS都會(huì )檢查重發(fā)時(shí)間。每個(gè)帶有過(guò)期定時(shí)器的數據包被調度發(fā)送到SED,同時(shí)相應的控制數據包也被清除。重復此操作,直到處理完所有帶有過(guò)期定時(shí)器的數據包?;貍鞑⒋鎯γ總€(gè)重發(fā)段的副本,以用于下一次重發(fā)。IETF RFC 2001規定的快速重發(fā)算法由PGE實(shí)現,一旦收到來(lái)自客戶(hù)端的三個(gè)重復確認,它便生成一個(gè)重發(fā)觸發(fā)信號。

基于NP的TOE使服務(wù)器性能可以不依賴(lài)于NP和客戶(hù)端之間的網(wǎng)絡(luò )特征。其性能反而可以反映NP和服務(wù)器之間的鏈路特征。此外,服務(wù)器的內存需求仍獨立于網(wǎng)絡(luò )擁塞和客戶(hù)端網(wǎng)絡(luò )的往返時(shí)延。 

我們可以看到,在遠程NP采用TCP卸載機制可以充分提高低端設備的TCP性能,而且服務(wù)器可以免受與各種客戶(hù)端環(huán)境相關(guān)的資源需求變化的影響。另外,具有很長(cháng)無(wú)線(xiàn)組件的高性能客戶(hù)端網(wǎng)絡(luò )可通過(guò)NP TOE減輕擁塞及鏈路損失,從而顯著(zhù)改善用戶(hù)體驗。 
 

tcp/ip相關(guān)文章:tcp/ip是什么




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>