利用TCP卸載技術(shù)提升網(wǎng)絡處理器的應用性能-設計應用_第1頁
利用TCP卸載技術(shù)提升網(wǎng)絡處理器的應用性能-設計應用_第2頁
利用TCP卸載技術(shù)提升網(wǎng)絡處理器的應用性能-設計應用_第3頁
利用TCP卸載技術(shù)提升網(wǎng)絡處理器的應用性能-設計應用_第4頁
利用TCP卸載技術(shù)提升網(wǎng)絡處理器的應用性能-設計應用_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

精品文檔-下載后可編輯利用TCP卸載技術(shù)提升網(wǎng)絡處理器的應用性能-設計應用傳輸控制協(xié)議(tcp)是一種初針對低速地面鏈路而設計的傳輸層協(xié)議。然而,隨著高速傳輸介質(zhì)和復雜的訪問機制的發(fā)展,用純軟件方式實現(xiàn)tcp需要強大的計算和存儲能力。近年來,網(wǎng)絡速度、cpu和內(nèi)存的速度呈爆炸式增長。由于以太網(wǎng)速度的增長速度遠遠大于cpu或內(nèi)存,所以目前的網(wǎng)絡性能仍然主要受制于內(nèi)存與cpu速度。tcp卸載是一種用于加速tcp/ip連接的技術(shù),它克服了上述局限性,將復雜的tcp處理從主機cpu轉(zhuǎn)移到專用的tcp加速器上。通常,用于加速的tcp卸載引擎(toe)是一個主機cpu共址的專用子系統(tǒng)。可達到同樣目標的一種可選機制,是將復雜的tcp/ip處理轉(zhuǎn)移至用高速鏈路與tcp服務器連接的網(wǎng)絡處理器(np)上(一種專用的可編程硬件設備)。這種可選機制采用的網(wǎng)絡處理器不但具備通用處理器(gpp)的低成本與高靈活性,而且還具有定制硅芯片解決方案的速度與可擴展性。此外,np還可減輕tcp服務器上需要大量內(nèi)存和cpu資源的處理負擔。它還提供可擴展性極高的解決方案,尤其是存在原有設備或?qū)Τ杀久舾械脑O備的情況下。防御網(wǎng)絡通常與長延遲衛(wèi)星鏈路、易出錯的無線信道一起,構(gòu)成高性能服務器與網(wǎng)絡。衛(wèi)星鏈路是降低整體性能的鏈路中薄弱的環(huán)節(jié)。采用這種可選機制可使帶有toe的np連接至薄弱部分,從而讓np-toe能消除長延遲和信道錯誤的不利影響,并提高網(wǎng)絡整體性能。對于成本與尺寸受限的低端企業(yè)級產(chǎn)品而言,通過在中央網(wǎng)絡單元中引入toe來解決內(nèi)存/cpu瓶頸是一種具有可擴展性和成本效益的解決方案。與提高主機自身的性能(如使用鍵盤、顯示器和鼠標——kvm交換機)相比,該方法尤其具有優(yōu)勢。圖1列舉了一種部署方案,其中遠程鍵盤、監(jiān)視器和鼠標控制多臺與基于ip的kvm(kvm-over-ip)交換機相連的遠程托管服務器。遠程控制計算機的鼠標與鍵盤事件通過因特網(wǎng)從kvm交換機傳輸?shù)椒掌鳌7掌魍ㄟ^kvm交換機將壓縮的監(jiān)視器數(shù)據(jù)發(fā)送至遠程計算機。帶有toe的np使kvm交換機能夠?qū)cp的處理負擔轉(zhuǎn)移到np,從而簡化了kvm交換機硬件。圖1:帶有toe的np提升網(wǎng)絡性能的部署實例。采用tcp接合技術(shù)的toetcp卸載可在企業(yè)tcp主機和遠程np兩種網(wǎng)絡實體上進行,它是通過利用分離的tcp連接(也稱為tcp接合)而得以實現(xiàn)的。tcp接合是一種的tcp性能增強技術(shù)。在tcp接合中,兩個獨立的tcp連接可以跨接會話:一個從客戶端到np,另一個從np到服務器。圖2說明了采用tcp接合技術(shù)的toe的基本操作步驟。服務器發(fā)送的數(shù)據(jù)由np在本地確認,從而減少服務器的緩沖需求并且加快擁塞窗口的擴大。np在遠端(客戶端)的確認(ack)到達之前緩沖數(shù)據(jù)。在未收到確認通知的情況,np執(zhí)行定時器管理以向遠端重發(fā)tcp段。利用本地確認還可以避免tcp服務器受np和客戶端之間網(wǎng)絡擁塞和延遲過長的影響。這可以減輕服務器的內(nèi)存負擔。np還可以為服務器向客戶端發(fā)送的數(shù)據(jù)(包括校驗和計算)執(zhí)行可選的網(wǎng)絡地址轉(zhuǎn)換(nat)。盡管上述功能需要大量計算并且給gpp帶來繁重負擔,但np非常適合處理此類操作。與路由等傳統(tǒng)np應用相比,tcp卸載應用需要具備包間依賴性和基于連接的狀態(tài)機。此外,這種應用還要處理傳輸層功能,而這超越了由np執(zhí)行的傳統(tǒng)鏈路層和網(wǎng)絡層的處理能力。tcp處理過程中主要有兩個復雜之處。緩沖器管理包括對擁塞網(wǎng)絡中未確認段、亂序段和延遲段進行存儲。定時器管理包括估算重發(fā)超時(rto)估算以及觸發(fā)未確認段的重發(fā)。在高性能服務器或網(wǎng)絡與長延遲無線和/或窄帶網(wǎng)絡一起運行的情況下(防御和移動網(wǎng)絡大多如此),這種機制非常有用。在這種情況下,由于立即確認使可察覺的延遲更短,所以np上的tcp卸載功能可縮短慢啟動階段。請注意,當處理任務很輕時,慢啟動階段決定了應用性能。另外,tcp擁塞控制針對有線部分的擁塞以及易錯無線信道的性能下降而調(diào)整。由于錯誤恢復功能受限于np和客戶端,所以np上的tcp卸載可以防止服務器中的窗口崩潰。這可以提高整體吞吐量。圖2:從服務器到客戶端的數(shù)據(jù)處理框圖。利用網(wǎng)絡處理器實現(xiàn)帶toe的tcp接合技術(shù)在開發(fā)執(zhí)行被提議的替代機制的概念原型中,我們采用杰爾app340處理器(圖3)。app3xx系列np具有2gbps的吞吐能力。該器件包含分類器、由調(diào)度程序、緩沖器管理器與流編輯器(sed)組成的流量管理器、狀態(tài)引擎以及片上控制處理器(即嵌入式主機)。嵌入式主機處理低速通道(控制與管理),器件的其余部分則處理快速通道或數(shù)據(jù)管道。分類器用于識別連接及其狀態(tài);狀態(tài)引擎讓tcp狀態(tài)變量能被np上的各種功能模塊訪問;流量管理器運行tcp擁塞控制協(xié)議,并執(zhí)行調(diào)度決策;sed則被用于執(zhí)行序號處理及網(wǎng)絡地址轉(zhuǎn)換(nat)的穿透(traversal)。app340允許流量整形功能模塊控制每個隊列的數(shù)據(jù)包調(diào)度。np為每個數(shù)據(jù)流維護多個目的隊列,包括到客戶端的主要傳輸、到客戶端的數(shù)據(jù)包重發(fā)以及到服務器的傳輸。app340支持分級調(diào)度,這樣就可以利用輔助隊列在每個目的隊列的同別傳送控制信息。這些控制數(shù)據(jù)包由數(shù)據(jù)包生成引擎(pge)根據(jù)狀態(tài)機在內(nèi)部生成。它們被用于觸發(fā)調(diào)度機制,例如在調(diào)度隊列中保持數(shù)據(jù)包,并只在tcp狀態(tài)機需要時釋放數(shù)據(jù)包。這種利用分級調(diào)度架構(gòu)控制tcp段調(diào)度的能力,以及保持包間狀態(tài)依賴性的能力使app340架構(gòu)非常適合tcp處理。圖3:從客戶端到服務器的數(shù)據(jù)處理框圖。tcp連接的建立在數(shù)據(jù)包到達np端口時,分類器模塊根據(jù)tcp端口號和ip地址確定數(shù)據(jù)包流。如果數(shù)據(jù)包流不存在,則將數(shù)據(jù)包發(fā)送到嵌入式主機以建立連接。一旦收到與tcp協(xié)議的三方握手(syn、syn-ack和ack)相對應的初始數(shù)據(jù)包時,主機解析tcp選項并獲取相應參數(shù),如序列號(sn)和段長,并將它們轉(zhuǎn)發(fā)到狀態(tài)引擎和sed。另外,它還更新分類器中的查找樹,從而關(guān)聯(lián)數(shù)據(jù)流標識符與tcp連接。然后,將數(shù)據(jù)包傳回分類器,以便重新插入數(shù)據(jù)包流。外發(fā)的tcp握手數(shù)據(jù)包接受nat穿透處理,并且忽略其它toe功能。類似地,主機處理連接終止。分類器解析fin字段并將數(shù)據(jù)包發(fā)至主機。來自服務器的tcp數(shù)據(jù)流當用于已建立的數(shù)據(jù)流的tcp數(shù)據(jù)段進入分類器時,利用查找樹可獲取流標識符。app340是一種基于模塊的處理器。它采用兩階段分類處理,階段處理單個模塊。第二階段處理重組后的協(xié)議數(shù)據(jù)單元。如果數(shù)據(jù)段到達時是亂序的,則將其保留在分類器中firstpass重排序緩沖器中,直到有序段到達。對于有序段,則檢查tcp狀態(tài),以了解當前滑動窗口大小(cwnd)、接收器通知窗口(rwnd)、np的內(nèi)存限制以及正在傳輸?shù)臄?shù)據(jù)包大小是否允許傳輸該數(shù)據(jù)包。如果數(shù)據(jù)包可以傳輸,則轉(zhuǎn)發(fā)到sed進行nat轉(zhuǎn)換并發(fā)送到遠端客戶端。流量整形器(ts)的轉(zhuǎn)發(fā)緩沖器中保存一個副本,另一個副本被發(fā)送到sed,用于生成一個立即本地確認。sed利用傳來的tcp/ip報頭、末ack的sn和收到的字節(jié)數(shù)生成本地ack。如果tcp滑動窗口被占滿,則ts停止調(diào)度數(shù)據(jù)包。數(shù)據(jù)包在停止狀態(tài)結(jié)束之前一直有效保存在ts中(圖4)。來自客戶端的tcp數(shù)據(jù)流當ack到達分類器時,分類器提取確認號并將其轉(zhuǎn)發(fā)至狀態(tài)引擎。狀態(tài)引擎更新cwnd,以反映tcp流的慢速啟動或擁塞避免階段。該引擎還更新rwnd、未確認數(shù)據(jù)的大小以及tcp滑動窗口的占滿狀態(tài)。生成一個觸發(fā)信號發(fā)送到ts,以從重發(fā)隊列中刪除已確認的數(shù)據(jù)包。ts調(diào)度所有來自伙伴(partner)控制隊列確認數(shù)據(jù)包和相關(guān)數(shù)據(jù)包,然后在sed將其清除。若tcp滑動窗口先前已被占滿,則生成觸發(fā)信號發(fā)送到ts,以恢復對tcp數(shù)據(jù)段的處理(圖5)。然后,該確認在np上結(jié)束。如果客戶端數(shù)據(jù)包帶有背負(piggybacked)數(shù)據(jù),則按照上述方式更新狀態(tài)機。然后修改報頭中的確認號,以反映近生成的本地確認號,并將它轉(zhuǎn)發(fā)給服務器。另外,在狀態(tài)引擎中更新下一個來自客戶端的預期sn,以便將該sn用作隨后本地確認的sn。重發(fā)與重發(fā)超時(rto)估算對于重發(fā)緩沖器中的每個數(shù)據(jù)包,內(nèi)部pge生成的伙伴控制隊列保留該段的傳輸時間。當一個確認到達時,按確認到達時間與傳輸時間差計算往返時間,然后按照ietfrfc2988推薦標準估算重發(fā)超時(rto)。如果數(shù)據(jù)包處于重發(fā)序列之中,則pge生成由當前時間、重發(fā)時間或者當前時間外加rto組成的控制數(shù)據(jù)包。對pge進行編程,以生成周期性的觸發(fā)信號。每次進行此操作時,ts都會檢查重發(fā)時間。每個帶有過期定時器的數(shù)據(jù)包被調(diào)度發(fā)送到sed,同時相應的控制數(shù)據(jù)包也被清除。重復此操作,直到處理完所有帶有過期定時器的數(shù)據(jù)包?;貍鞑⒋鎯γ總€重發(fā)段的副本,以用于下重發(fā)。ietfrfc2022規(guī)定的快速重發(fā)算法由pge實現(xiàn),一旦收到來自客戶端的三個重復確認,它便生成一個重發(fā)觸發(fā)信號?;趎p的toe使服務

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論