欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于通信網中生成首部的方法和裝置的制作方法

文檔序號:7623271閱讀:195來源:國知局
專利名稱:用于通信網中生成首部的方法和裝置的制作方法
技術領域
本發(fā)明的實施例一般地涉及電子系統領域,更具體地說涉及用于通信網絡中生成首部的方法和裝置。
背景技術
通信網絡中的通信鏈路通常由專門的分組交換網構成,該分組交換網在通信鏈路上的端點之間移動數據和/或指令(隨后稱為“數據”)。這些通信鏈路上的端點可以接收與特定通信協議關聯的數據并將該數據傳送到其他端點。在接收到與特定通信協議關聯的數據之后,端點還可以添加其他通信協議,這些其他通信協議提供諸如服務分類、優(yōu)先級處理、數據完整性、擁塞管理、流控和鏈路管理等的交換或路由選擇功能。添加這些功能導致產生一定程度的復雜性,在數據被通信鏈路上的端點收到時,這種復雜性被與該數據關聯的大量可能的通信協議進一步加重。

發(fā)明內容
上述問題由本發(fā)明提供的方法、裝置、系統和存儲介質予以解決。
在本發(fā)明的第一方面,本發(fā)明提供一種方法,這種方法包括如下步驟在第一通信鏈路的節(jié)點上接收協議數據單元(PDU);以及當在所述節(jié)點上接收到所述PDU時生成不專用于與該PDU關聯的特定通信協議的首部;所述首部旨在便于封裝所述PDU并通過所述第二通信鏈路傳送所述PDU,以將所述PDU傳遞到所述第二通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
在本發(fā)明的第二方面,本發(fā)明提供一種裝置,這種裝置包括通信鏈路上的節(jié)點;以及傳送服務管理器,其響應所述節(jié)點以生成不專用于與所述節(jié)點上接收到的協議數據單元(PDU)關聯的特定通信協議的首部,所述首部旨在便于封裝所述PDU并通過所述第二通信鏈路傳送所述PDU,以將所述PDU傳遞到所述通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
在本發(fā)明的第三方面,本發(fā)明提供一種系統,這種系統包括通信鏈路;包括非易失性存儲器的節(jié)點;以及傳送服務管理器,其響應所述節(jié)點以生成不專用于與所述節(jié)點上接收到的協議數據單元(PDU)關聯的特定通信協議的首部;所述首部旨在便于封裝所述PDU并通過所述通信鏈路傳送所述PDU,以將PDU傳遞到所述通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
在本發(fā)明的第四方面,本發(fā)明提供一種包含內容的存儲介質,所述內容在由通信鏈路上的節(jié)點執(zhí)行時促使所述節(jié)點執(zhí)行如下操作接收協議數據單元(PDU);當在所述節(jié)點上接收到所述PDU時生成不專用于與該PDU關聯的特定通信協議的首部;所述首部旨在便于封裝所述PDU并通過所述通信鏈路傳送所述PDU,以將所述PDU傳遞到所述通信鏈路上另一個節(jié)點的基于存儲器的服務接口。


下面將通過附圖中的例示而非限制來說明本發(fā)明,附圖中類似的參考數字表示類似的單元
圖1是根據本發(fā)明一個實施例的電子系統的圖形表示;圖2是根據本發(fā)明一個實施例的封裝的協議數據單元(PDU)的圖形表示;圖3是根據本發(fā)明一個實施例的傳送服務管理器的體系結構示意圖;圖4是根據本發(fā)明實施例的傳送服務首部的圖形表示;圖5a以表格說明根據本發(fā)明一個實施例的傳送服務首部的編碼;圖5b以表格說明根據本發(fā)明一個實施例的傳送服務首部的粒度/字節(jié)序(G/E)編碼;圖6示意根據本發(fā)明實施例,針對基于存儲器的服務接口的字節(jié)傳遞順序選項;圖7示意根據本發(fā)明實施例,向基于存儲器的服務接口中傳遞的PrePad(前填充)傳遞方式;圖8示意根據本發(fā)明實施例,向基于存儲器的服務接口中傳遞的EndPad(尾填充)傳遞方式;以及圖9示意根據本發(fā)明的一個方面,便于通過交換結構將PDU傳送到該交換結構上節(jié)點的基于存儲器的服務接口的例示方法的流程圖。
具體實施例方式
本發(fā)明的實施例一般地涉及用于在通信網絡中生成首部的方法和裝置。根據一個實施例,引入了傳送服務管理器。如下所詳述的那樣,該創(chuàng)新的傳送服務管理器可響應通信鏈路上的節(jié)點,并執(zhí)行操作以生成和/或處理不專用于與該節(jié)點接收到的協議數據單元關聯的特定通信協議的首部,所述首部旨在便于封裝所述PDU并有助于通過所述通信鏈路將其傳送到所述通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
圖1顯示了根據本發(fā)明實施例的電子系統。在圖1中,顯示了各自連接的高級交換(AS)結構110;輸入/輸出(IO)端點120、130和140;設備160、170和180;通信鏈路152、154和156。圖1還顯示了AS結構110,它包括交換結構管理器116和AS通信鏈路114。
下面將會充分說明,根據實施例,通信鏈路152上的IO端點130從設備170接收任意數據?;蛘?,該任意數據可以始發(fā)于位于端點130內的處理單元。任意數據可以是從設備(如設備170)以通信協議格式傳送的數據和/或指令(此后稱為“數據”),所述通信協議格式可對應于各種通信協議(如以太網、Sonet、ATM、TCP/IP等)或與其關聯。此數據以數據分組的形式傳送,該數據分組可以包含專用于某個特定通信協議的首部,這種數據分組隨后稱為“協議數據單元”或“PDU”。該PDU中的首部隨后稱為“PDU首部”,并且該PDU中的數據稱為“PDU凈荷”。
在一個替代實施例中,當PDU在AS結構110上的IO端點處被接收到時可能不含首部。例如,該PDU可能只包含PDU凈荷,該凈荷是由AS結構110上IO端點內的處理單元創(chuàng)建的。在此示例中,該PDU可能與特定的通信協議關聯,所述通信協議專用于AS結構110所提供的用以在AS結構110上傳送PDU的傳送服務。在此示例中,該PDU只包含可能已由AS結構110上IO端點內的處理單元創(chuàng)建的PDU凈荷。
根據本實施例,來自設備170的PDU發(fā)往設備160。該PDU包含PDU凈荷,該PDU凈荷可能是例如要由設備160處理的命令、指令、信息請求、多媒體內容等。
PDU還包含與特定通信協議關聯的PDU首部,該PDU首部還可以包含與在AS結構110上橋接或利用隧道傳送所述特定通信協議關聯的信息。
為便于設備160有效率地接收該PDU,該PDU在通過AS結構110傳送之后保持相對不變的通信協議格式(與特定通信協議關聯的PDU首部和PDU凈荷部分保持不變)。
圖1顯示,為到達設備160,PDU沿一條路由傳送到IO端點120,該路由使該PDU從IO端點130經AS通信鏈路114穿越AS結構110。
在一個實施例中,將PDU傳送到IO端點120的基于存儲器的服務接口。在例示實施方案中,該基于存儲器的服務接口可以是發(fā)送和/或接收緩沖器(例如先進先出(FIFO)緩沖器)、處理單元或共享存儲器,所有這些都可以響應AS結構110上的出口IO端點。隨后可以將PDU從IO端點120的基于存儲器的服務接口經通信鏈路156傳送到設備160,或者設備160可以經通信鏈路156訪問IO端點120的基于存儲器的服務接口中的PDU。
因為PDU是以與從設備170發(fā)出時相對不變的通信協議格式傳送到設備160的,所以該PDU是以一種稱為“封裝”的過程從IO端點130經AS結構110傳送到IO端點120的。如以下更詳細的說明,采用包含不專用于與接收到的PDU關聯的特定協議的首部的封裝格式,以便有效地穿過AS結構110傳送接收到的PDU。
根據一個實施例,AS結構110的操作遵循2003年12月發(fā)布的高級交換核心體系結構規(guī)范Rev.1.0(隨后稱為“AS核心規(guī)范”)。如AS核心規(guī)范中及以下更詳細所述的AS路由首部由AS結構110上的IO端點使用,以通過AS通信鏈路114將PDU路由到AS結構110上的一個或多個其他IO端點。
在一個例示實施例中,IO端點130采用一種封裝格式封裝PDU,以高效地將該PDU傳送到AS結構110上的另一個端點,下文將對此予以更詳細的描述。一旦IO端點120收到該PDU,則去除專用于AS結構110的首部,并將該PDU以與IO端點130收到的相對不變的通信協議格式傳送到設備160或使其可為設備160訪問。
除AS路由首部之外,AS核心規(guī)范中還描述了一些專用傳送服務,這些服務涉及諸如擁塞管理、組播和分段與重組(SAR)等交換結構傳送服務,當然本發(fā)明并不局限于這些傳送服務。AS核心規(guī)范還將這些傳送服務與特定協議接口(PI)關聯。
在一個例示實施例中,為了有助于高效地使用AS結構110上的一個或多個PI,利用了傳送服務管理器300。如圖1所示,傳送服務管理器300的功能可以作為交換結構管理器116的一部分包含和/或可以位于AS結構110上的IO端點內和/或對其進行響應。
如以下更詳細的說明,傳送服務管理器300可以在AS結構110上生成傳送服務首部,此首部并不專用于與IO端點130接收到的PDU或端點130上生成的PDU關聯的特定通信協議。這種通用的傳送服務頭將有助于PDU在AS結構110上的封裝和傳送,從而將該PDU傳遞到IO端點120的基于存儲器的服務接口。
在一個例示實施例中,為了高效地在AS結構110上傳送PDU,采用SAR傳送服務。例如,如果PDU超過了在AS結構110上傳送的封裝PDU的允許凈荷大小,則采用SAR。就此而言,如下更詳細的描述,由IO端點130將設備170發(fā)出的超過允許凈荷大小的PDU分成若干較小的段,以使得到的段適合允許的凈荷。
如以下更詳細的說明,傳送服務管理器300通過生成通用傳送服務頭來促進這種分段過程,所述通用傳送服務頭要包含在通過通信鏈路114傳來的每個封裝PDU段中,以便穿越AS結構110到達IO端點120的基于存儲器的服務接口。然后由IO端點120重組這些段,以將PDU以與IO端點130收到時相對不變的通信協議格式傳遞和/或傳送給設備160。
在一個替代實施例中,IO端點130可以是PDU的目的地。在此情況下,不將重組的PDU轉發(fā)到遠程設備160。
圖2顯示了根據本發(fā)明一個實施例的加封PDU。在圖2中,在AS結構傳送協議200中顯示了加封PDU。
在AS結構傳送協議200包含AS路由首部210、通用傳送服務首部220、PDU首部230和PDU凈荷240。如上所述,AS核心規(guī)范所述格式中的AS路由首部由AS結構110上的IO端點利用,以便高效地通過AS通信鏈路114將加封PDU路由到AS結構110上的出口IO端點。就此而言,AS路由首部120由AS結構110上的入口IO端點根據AS核心規(guī)范生成。
如以下更詳細的介紹和說明,通用傳送服務首部220由傳送服務管理器300生成,以便將以AS結構傳送協議200的格式封裝的PDU傳遞到作為AS結構110上的出口IO端點的IO端點的基于存儲器的服務接口。
PDU首部230包含與通信協議關聯的首部,并且此首部用于將包含在PDU中的數據從目的設備傳送到AS結構110上的入口IO端點。
PDU凈荷240包含在該PDU內傳送的內容。除了數據之外,這些內容還可以包括部分或所有更高層次協議的PDU及其相關的更高層次的協議首部。PDU首部230和PDU凈荷240一旦被包含在AS結構傳送協議200中,此后就稱為“加封PDU”。
AS核心規(guī)范描述了一種首部格式,這種格式允許在稱為“鏈接”的過程中引用其他首部,這也是一種常用的封裝方法。在一個例示實施例中,通過較低編號的首部引用較高編號的首部來在AS結構傳送協議200中實現鏈接。因此,在AS結構傳送協議200中,AS路由首部210將是較低編號的首部,并且將通過把引用包含到通用傳送服務首部220中來鏈接到較高編號的通用傳送服務首部220。此過程將向下沿圖2的AS結構傳送協議200針對包含在AS結構傳送協議200內的每個首部繼續(xù)。
在一些替代實施例中,AS結構傳送協議200可以包含比圖2所示更多的首部,并可以包含不專用于高級交換的首部。就此而言,每個位置較高的首部將鏈接到位置低層的首部。例如,傳送服務首部220還可以進一步鏈接到多個其他較高層協議,如超文本標記語言(HTML)、遠程過程調用(RPC)、實時傳送協議(RTP)等。
在一個例示實施例中,AS結構傳送協議200中的每個元素包含一個或多個“雙字”,下文稱為“dword”。一個dword表示可以進一步分成四個8位段的32位數據。AS結構傳送協議200可以具有等于每個元素和/或組合的所有元素的一組dword的數量的大小限制。該大小限制由AS核心規(guī)范確定,或由諸如適用于特定AS結構的物理性能的其他限制確定。
圖3是根據本發(fā)明一個實施例的傳送服務管理器的體系結構示意圖。傳送服務管理器300包括如同所示各自連接的傳送引擎310、控制邏輯320、存儲器330、IO接口340以及可選的一個或多個應用350。
在圖3中,傳送引擎310包括傳送首部功能314和傳遞功能316。如下文更全面的描述,傳送首部功能314和傳遞功能316生成傳送服務首部,以便于以對與PDU關聯的通信協議通用的方式,對交換結構(例如AS結構110)上的節(jié)點(例如IO端點130)接收的PDU進行封裝和傳送。由此,可以實現高效地將PDU從該節(jié)點通過交換結構傳送到交換結構上的另一個節(jié)點(例如端點120)的基于存儲器的服務接口。
如這里所用,控制邏輯320控制傳送服務管理器300的全部操作,旨在代表實現本文所述傳送服務管理器300的操作的各種不同的邏輯設備和/或可執(zhí)行內容中的任何一個。就此而言,控制邏輯320有可能由微處理器、網絡處理器、微控制器、現場可編程門陣列(FPGA)、專用集成電路(ASIC)或用于實現這種控制功能的可執(zhí)行內容和/或它們的任何組合來構成。在一些替代實施例中,控制邏輯320的一些特征和功能有可能在傳送引擎310中實現。
在一個例示實施例中,控制邏輯320調用傳送引擎310的實例,以便為AS結構110的IO端點上接收到的PDU生成傳送服務首部。該通用傳送服務頭便于封裝該PDU并通過AS結構110傳送該PDU,以將該PDU傳遞到AS結構110上另一個IO端點的基于存儲器的服務接口。如這里所用,存儲器330用于代表各種各樣的存儲介質,包括但不限于易失性存儲器、非易失性存儲器、閃速存儲器和標題變量(programmatic variable)或狀態(tài)。
根據一個實施例,存儲器330用于暫時存儲含有編碼的表格,以便生成一種傳送服務首部,這種首部對與AS結構110上IO端點130接收到的PDU關聯的特定通信協議通用。存儲器330還可以暫時存儲編碼,以便按AS結構傳送協議200的格式將加封PDU(例如PDU首部230和DPU凈荷240)置于AS結構傳送協議中。
存儲器330還可以存儲可執(zhí)行內容??蓤?zhí)行內容可由控制邏輯320用于實現傳送引擎310的實例。
在一個例示實施例中,可以將機器可讀指令從某種形式的機器可訪問介質提供給存儲器330。如這里所用,機器可讀介質用于代表以機器(例如計算機)可讀格式提供(例如存儲和/或傳送)信息的任何機制。例如,機器可訪問介質有可能包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁盤存儲介質、光學存儲介質、閃速存儲裝置、電信號、光信號、聲信號或其他形式的傳播信號(例如載波、紅外線、數字信號)等。
如這里所用,IO接口340在傳送服務管理器300與電子系統之間提供通信接口。例如,傳送服務管理器300可以實現為通信網的一個網元,其中IO接口340在傳送服務管理器300與通信網之間經通信信道提供通信接口。就此而言,控制邏輯320可以通過I/O接口340從傳送服務管理器300外部的應用軟件接收一系列指令。所述一系列指令可以調用控制邏輯320來實現傳送引擎310的一個或多個功能。在一個例示實施例中,傳送服務管理器300可包括一個或多個應用,以向控制邏輯320提供指令。如這里所周,此類應用350有可能被調用,以生成用戶界面如圖形用戶界面(GUI),從而使能管理功能等。在一些替代實施例中,傳送引擎310的一個或多個功能有可能實現為應用350,控制邏輯320調用該應用來調用這些功能。
在一個例示實施例中,由AS結構110上的IO端點130接收以設備160為目的地的PDU。IO端點130將以AS結構傳送協議200的格式對該PDU進行封裝,以穿過AS結構110將該PDU傳送到IO端點120,IO端點120隨后將其發(fā)送到目的設備160。在進行封裝之前,IO端點130確定該PDU的總大小,并將該大小與AS結構傳送協議200所允許的大小進行比較。如果該PDU超過允許大小,則IO端點130將該PDU分成若干較小的段。一旦確定了PDU大小并在必要時對其進行了分段,傳送引擎310便調用傳送首部功能314的實例。如以下更詳細的說明,傳送首部功能314訪問存儲器330中的編碼表,以確定對通用傳送服務首部應用哪些編碼。一旦確定了這些編碼,傳送首部功能314然后就對通用傳送服務首部(在圖2中顯示為通用傳送服務首部220)的適當字段進行填充。
一旦傳送首部功能314填充了該通用傳送服務首部的適當字段,傳送引擎310便調用傳遞功能316的實例。如下文更詳細的描述,傳遞功能316對加封PDU進行格式化或安排,以便高效地將加封PDU傳遞到IO端點120的基于存儲器的服務接口。
在一個例示實施例中,傳送服務管理器300可以為在AS結構110上的出口IO端點處傳遞加封PDU提供便利。就此而言,傳送引擎310調用傳遞功能316的實例,以在出口IO端點收到加封PDU時讀取它的傳送服務首部。傳遞功能316隨后幫助將PDU傳遞到出口IO端點的基于存儲器的服務接口。
圖4是根據本發(fā)明實施例的傳送服務首部的圖形表示。在圖4中,顯示了通用傳送服務首部400。通用傳送服務首部400是為便于封裝與不同通信協議關聯的PDU而設計的格式。因此,通用傳送服務首部400并不專用于或通用于可能與交換結構上節(jié)點處接收到的PDU關聯的特定通信協議。
通用傳送服務首部400包含32位數據。這32位數據包括五個字段分段代碼、粒度/字節(jié)順序(G/E)、基于存儲器的服務接口標識符、PDU序號和PI/段序號。
第28-31位上的“分段代碼”字段表示與PDU關聯的段特性。第28-31位是基于如圖5a中表510所示的分段代碼編碼來選擇性地斷言的。
第26和27位上的“G/E”字段表示向交換結構上出口節(jié)點的基于存儲器的服務接口傳遞該PDU時該PDU的粒度和字節(jié)順序特性。就此而言,第26和27位是基于如圖5a中表520所示的G/E編碼來選擇性地斷言的。
在一個例示實施例中,傳送引擎310將選擇性地調用傳送首部功能314的實例,它可以讀取AS結構110上的IO端點接收到的PDU的至少一部分,并確定與該PDU關聯的數據凈荷的格式。數據凈荷的格式可以基于與接收到的PDU關聯的通信協議,也可以基于靜態(tài)方式配置的信息,或者由該分組的有關信息(下文稱為“元數據”)來確定,該有關信息可以包含導出的分組長度和/或與該分組關聯的通信接口。
該數據凈荷的格式可以包含一個或多個dword的PDU首部,然后是一個或多個dword的PDU凈荷。該PDU首部可以包含由出口傳送服務管理器300用于確定PDU凈荷是以字節(jié)流方式還是以dword流方式傳遞到PDU目的地的信息。就此而言,如果指示字節(jié)流方式,則傳送首部功能314斷言第27位,如果指示dword流方式,則不斷言第27位。如果指示字節(jié)流方式,則傳送首部功能314可以選擇性地斷言第26位,以指示在PDU穿過AS結構110之后如何傳遞到出口IO端點的基于存儲器的服務接口中。就此而言,如果PDU以字節(jié)逆序(字節(jié)序指最高位字節(jié)位于dword的左端或右端)的字節(jié)流方式傳送數據,則傳送首部功能314會斷言第26位。斷言第26位指示PDU中的凈荷數據要以字節(jié)逆序傳遞到基于存儲器的服務接口中。
第14-27位上的“基于存儲器的服務標識符”字段指示加封PDU段要傳遞到的基于存儲器的服務接口中的位置?;诖鎯ζ鞯姆諛俗R符還提供句柄或索引,以便重組與接收到的PDU和PDU段的有序流關聯的信息,其中,通用傳送服務首部400格式的通用傳送服務首部可指示特定的基于存儲器的服務標識符。
在一個例示實施方案中,該標識符可以是針對在AS結構110的IO端點的接收和/或發(fā)送緩沖器中維護的特定隊列配置的傳遞選項。在一個替代實施方案中,該標識符可以是針對響應AS結構110上IO端點的特殊PI特定處理單元(particular PI-specific processing unit)配置的傳遞選項,但本發(fā)明并不局限于這兩個例示實施方案。
第7-13位上的“PDU序號”字段指示交換結構上傳送的PDU序列中特定PDU的位置。例如,多媒體音頻幀序列從設備170通過AS結構110發(fā)送到設備160。在此示例中,對IO端點130接收到的第一PDU進行封裝并將其發(fā)送到IO端點120的基于存儲器的服務接口,其中將“0”指配給它的PDU序號,對于與這些多媒體音頻幀關聯的每個后續(xù)PDU,此值按“1”遞增。同一PDU的所有段攜帶相同的PDU序號。PDU序號可以回繞,即從最大值遞增,從而得到“0”值,此“0”值視為該字段可以表示的最大值之后的下一個值。
第0-6位上的“PI/序號”字段指示與PDU關聯的通信協議(例如以太網、ATM、IP、SONET等)或PDU段的序號(如果該PDU在穿過AS結構110傳送到另一個IO端點之前被IP端點分成若干段)。就此而言,段序號是AS結構110上IO端點之間點到點通信鏈路的一個方面,用于幫助一個PDU的中間段和最后段(此后稱為“末段”)穿過AS結構110。
在一個例示實施例中,通用傳送服務首部400格式的通用傳送服務首部與已分成若干段的PDU的初始段關聯或與未分段的整個PUD(下文稱為“單元素(singleton)”)關聯。就此而言,傳送首部功能314讀取該初始段或單元素的至少一部分來確定與該PDU關聯的通信協議。傳送首部功能314隨后訪問表(例如在存儲器330中維護的表),以確定指示的通信協議的編碼,并相應選擇性地斷言第0-6位?;蛘?,傳送首部功能314還可以訪問與該PDU關聯的元數據來作此確定。
在一個例示實施例中,通用傳送服務首部400格式的通用傳送服務首部與一個PDU段關聯,該PDU段是在穿過AS結構110之前由IO端點劃分成的段序列的一部分。就此而言,傳送首部功能314基于一個PDU段相對于IO端點先前劃分的其他PDU段的位置選擇性地斷言第0-6位。段序號在初始段中隱含為“0”,并在每個后續(xù)段中由傳送首部功能314按“1”遞增。如果段序號達到最大值并且仍需要后續(xù)段來傳送與該PDU關聯的所有數據,則段序號回0。在一個例示實施例中,在PDU穿過AS結構110之前對該PDU進行分段可以由不同于IO端點的其他單元來執(zhí)行。就此而言,將PDU分段可以在響應AS結構110的計算機代理上的軟件中進行,或可以在響應AS結構110的專用硬件(如ASIC)中進行。
圖5a以表格說明根據本發(fā)明一個實施例的傳送服務首部的編碼。在圖5a中,表510顯示為包含第28-31位上的通用傳送服務首部400的分段代碼編碼的示例。
圖5b以表格說明根據本發(fā)明一個實施例的傳送服務首部的粒度/字節(jié)序(G/E)編碼。在圖5b中,表520顯示為包含在第26和27位上的通用傳送服務首部400的G/E編碼的示例。
圖6顯示根據本發(fā)明實施例,針對基于存儲器的服務接口的字節(jié)傳遞順序選項。在圖6中,方框610顯示按特定字節(jié)流順序的加封PDU的例示表示。方框620和630分別例示原始順序如方框610所示的加封PDU的字節(jié)不逆序傳遞方式和字節(jié)逆序傳遞方式。
如前所述,通用傳送服務首部400格式的PI通用傳送服務首部中的第26和27位指示加封PDU的粒度和字節(jié)序特性。就此而言,當交換結構(如AS結構110)上的出口節(jié)點(如IO端點120、130或140)接收到加封PDU時,該出口節(jié)點于是讀取通用傳送服務首部中的第26和27位,并基于表520所示的編碼來將該加封PDU接收到其基于存儲器的服務接口中。可以理解,可以采用替代性編碼來取得相同的結果,例如在目標字節(jié)順序不同于分組字節(jié)順序時,用一位來指示分組字節(jié)順序,一位來指示應該對內容進行字節(jié)逆序處理。
在一個替代實施例中,字節(jié)傳遞順序選項可以靜態(tài)方式配置到出口節(jié)點中,以便基于特定PI對與該特定PI關聯的加封PDU執(zhí)行字節(jié)逆序處理。就此而言,當節(jié)點上接收到加封PDU時,出口節(jié)點首先確定什么PI與該加封PDU關聯,然后根據該PI的靜態(tài)編程的配置將該加封PDU接收到其基于存儲器的服務接口中。
圖7示意根據本發(fā)明實施例,向基于存儲器的服務接口中傳遞的PrePad傳遞方式。在圖7中,方框710、720、730、740和750顯示與加封PDU關聯的初始段或唯一段的PrePad部分的不同示例。例如,PDU是以AS結構傳送協議200的格式進行封裝的。
在一個例示實施例中,“PrePad”是使加封PDU偏移的方法。PrePad有助于將加封PDU有效地傳遞到交換結構上出口節(jié)點的基于存儲器的服務接口或處理單元中以及有效地處理該PDU的內容。以字節(jié)計數長度衡量的PrePad大小至少部分基于在交換結構上的入口節(jié)點接收到PDU時與該PDU關聯的通信協議。
如前所述,通用傳送服務首部400格式的通用傳送服務首部在第28-31位上指示初始段或唯一段中是否存在PrePad。如果該通用傳送服務首部指示存在PrePad,則選擇性地斷言該加封PDU的第一dword的一個或多個位。一旦出口節(jié)點確定該通用傳送服務首部指示初始段或唯一段中存在PrePad,則這些選擇性斷言的位使交換結構上的出口節(jié)點能夠確定該PrePad的字節(jié)計數的長度。
在圖7中,方框710顯示沒有PrePad。方框720、730、740和750顯示分別具有1、2、3和13字節(jié)長度的PrePad。圖例760還顯示用于突出顯示圖7所示方框中哪些字節(jié)包含PrePad的圖例。
在一個例示實施例中,在IO端點170上收到PDU,傳送引擎310隨后調用傳送首部功能314的實例。傳送首部功能314讀取接收到的PDU的至少一部分,并可訪問附加信息以確定該接收到的PDU與哪種通信協議關聯?;谠摯_定,傳送首部功能314選擇性地斷言該PDU的初始段或唯一段中通用傳送服務首部400格式的通用傳送服務首部中的第28-31位,以指示該加封PDU中是否包含PrePad。
在一個例示實施方案中,與PDU關聯的通信協議可以是以太網通信協議。與以太網通信協議關聯的PDU由14字節(jié)的首部加隨后的數據凈荷構成。在此例示實施方案中,如果加封PDU內的協議首部在32位(4字節(jié))邊界上傳入基于存儲器的服務接口,則AS結構110上出口IO端點的基于存儲器的服務接口工作將更有效。
例如,如果以太網幀還封裝了IP首部,而該IP首部又封裝了TCP首部,該TCP首部又封裝了HTTP首部,則這三個面向dword的首部格式將以在2字節(jié)而非4字節(jié)邊界上對齊的方式傳送,這導致處理封裝在以太網幀內協議的處理器如網絡處理器的訪問效率較低。由此,如果對于以太網首部沒有PrePad,則在與以太網首部關聯的PDU傳送在dword的第一字節(jié)而非第三字節(jié)開始的情況下,可能導致存儲和/或處理效率不高。利用2字節(jié)PrePad在傳送服務首部內傳送以太網幀使以太網凈荷(例如IP)在4字節(jié)邊界上對齊。
就此而言,通用傳送服務首部的第28-31位將指示存在PrePad。傳送引擎310隨后調用傳遞功能316。傳遞功能316可以讀取通用傳送服務首部的第0-6位以確定與該PDU關聯的通信協議是以太網通信協議,并訪問存儲器(例如存儲器330)中的表,該表包含與太網通信協議對應的適當PrePad字節(jié)計數長度。如上所述,以太網的PrePad字節(jié)計數長度是2個字節(jié)。因此,將信息置于第一PDU dword中(例如,選擇性地斷言一些位),以允許AS結構110上的出口IO端點確定PrePad字節(jié)計數長度為2個字節(jié)。如上所述,2字節(jié)長度的PrePad將與以太網通信協議關聯的加封PDU格式化,以允許在32位邊界上將封裝在PDU內的協議有效地傳遞到出口節(jié)點的基于存儲器的服務接口中。
圖8示意根據本發(fā)明實施例,向基于存儲器的服務接口傳遞的EndPad傳遞方式。在圖8中,方框810、820、830、和840顯示與加封PDU關聯的末段或唯一段的EndPad部分的不同示例。例如,PDU是以AS結構傳送協議200的格式進行封裝的。
在一個例示實施例中,“EndPad”是跳過或忽略與加封PDU關聯的末段或唯一段的尾字節(jié)的方法。EndPad有助于承載任意字節(jié)長度的分組的協議穿過僅傳送dword的交換結構。為此,可以向接收出口節(jié)點指示,當將末段或唯一段傳遞到該節(jié)點的基于存儲器的服務接口時,忽略該加封PDU中最后dword的一個或多個尾字節(jié)。以字節(jié)計數長度測量的EndPad大小至少部分基于與加封PDU關聯的末段或唯一段中未填充尾字節(jié)的數量。在另一個實施例中,EndPad指示要跳過或忽略的字節(jié)的更大范圍,且可能不限于分組的最后dword,以便處理更大的填充大小。
如前所述,通用傳送服務首部400格式的通用傳送服務首部在第28-31位指示末段或唯一段中是否存在EndPad。如果該通用傳送服務首部指示存在EndPad,則選擇性地斷言與加封PDU關聯的末段或唯一段的最后dword的一個或多個位。在確定通用傳送服務首部指示存在EndPad之后,交換結構上的出口節(jié)點利用最后dword中選擇性斷言的那些位來確定EndPad的字節(jié)計數長度,然后相應地跳過或忽略該最后dword中一個或多個字節(jié)。
在圖8中,方框810顯示沒有EndPad。方框820、830和840顯示字節(jié)計數的長度分別為1、2和3的EndPad。圖例850還顯示用于突出顯示圖8所示方框中哪些字節(jié)包含EndPad的圖例。
在一個例示實施例中,在IO端點170收到PDU,該PDU的大小容易地與AS結構傳送協議200封裝格式中AS結構110上允許的加封PDU凈荷大小適配。因此,該加封PDU是唯一段。
傳送引擎310隨后調用傳送首部功能314的實例。傳送首部功能314讀取該唯一段的至少一部分或其他信息來確定其大小。傳送首部功能314部分基于對該大小的確定,選擇性地斷言該PDU唯一段中通用傳送服務首部400格式的通用傳送服務首部中的第28-31位,以指示該加封PDU是否包含EndPad,以允許傳遞長度精確到字節(jié)的該唯一段。
圖9是根據本發(fā)明一個方面的例示方法的流程圖,該方法利于通過交換結構將PDU傳送到該交換結構上節(jié)點的基于存儲器的服務接口。該方法流程開始于方框900,其中,根據一個實施例,在IO端點130上經通信鏈路152從設備170接收與特定通信協議(例如以太網、ATM、SONET等)關聯的PDU,該PDU的最終目的地是設備160。
一旦IO端點130接收到該PDU,則該方法流程轉到方框910。在方框910中,IO端點130確定該PDU是否超過允許的大小,所述允許的大小是以AS結構傳送協議200格式,采用AS結構傳送協議在AS結構110上傳送所允許的PDU大小。如果該PDU超過允許的大小,則該方法流程轉到方框920。
在方框920中,IO端點將該PDU劃分成若干在允許大小范圍內的段,以便可以封裝在AS結構傳送協議內。然后該方法流程轉到方框930。
在方框930中,傳送引擎310調用傳送首部功能314的實例。傳送首部功能314讀取分段PDU或單元素(不分段)PDU的內容的至少一部分,并可以訪問其他信息,并確定要選擇性地斷言包含在通用傳送服務首部400格式的通用傳送服務首部220內的字段中的哪些位。傳送首部功能314然后基于此確定,選擇性地斷言通用傳送服務首部中的一些位。然后該方法流程轉到方框940。
在方框940中,傳送引擎310調用傳遞功能316的實例。傳遞功能316讀取通用傳送服務首部中的第28-31位以及其他信息如PDU長度,然后確定是否要將該PDU格式化,以便該PDU在封裝時可以包含PrePad和/或EndPad。如果該PDU包含PrePad和/或EndPad,則該方法流程轉到方框950。
在方框950中,傳遞功能316選擇性地斷言初始PDU段或唯一PDU段的第一dword的一些位和/或唯一PDU段或PDU末段的最后dword的一些位。這種選擇性斷言提供接收出口節(jié)點可據以確定初始PDU段、唯一PDU段或PDU末段的PrePad和/或EndPad字節(jié)計數長度的信息。該方法流程然后轉到方框960。
在方框960中,依據包含在AS路由首部210中的信息使分段的或單段的PDU經AS通信鏈路114穿過AS結構110,以便由IO端點120接收。然后該方法流程轉到方框970。
在方框970中,如果上述PDU進行過分段,則IO端點120會在將其傳遞到其基于存儲器的服務接口之前對該PDU進行重組,跳過或忽略任何PrePad和/或EndPad,并去除所有AS特定封裝協議。一些信息(如PDU通信協議類型和分組長度)可以保留并隨PDU一起傳送。隨后可訪問該PDU,以便通過IO端點的基于存儲器的服務接口經通信鏈路156傳送到設備160??稍L問可能指例如訪問與響應或位于IO端點120內的接收和/或發(fā)送緩沖器關聯的存儲控制器接口。該方法流程隨后對AS結構110上IO端點接收到的下一個PDU重新啟動。
再次參考圖1所示的電子系統100。在圖1中,電子系統100可以是媒體服務器、存儲服務器、電信服務器、通信網絡的交換機或路由器,當然本發(fā)明并不局限于這些實施例。
設備160、170和180可以經通信鏈路152、154和156直接或遠程連接到AS結構110。直接連接可以通過采用諸如以太網、SONET、異步傳輸模式(ATM)等通信標準的點到點通信鏈路來實現。遠程連接可以通過采用諸如802.11和/或802.16等通信標準的無線通信鏈路來實現。
設備160、170和180還表示可以是電子系統100的單元,這些單元可以是電子系統100內傳送的數據的源或目的地。就此而言,控制器160、170和180有可能包括一個或多個媒體片(blade)、交換片、計算片或存儲片。
如這里所用,IO端點120、130和140代表電子系統100的單元,這些單元充當AS結構的輸入(入口)或輸出(出口)節(jié)點。如這里所用,IO端點120、130和140用于表示若干用于接收和發(fā)送數據的硬件和/或軟件中的任何一個。就此而言,根據一個實施例,IO端點120、130和140有可能包含一個或多個橋、微處理器、網絡處理器、軟件應用、嵌入式邏輯等。
如上所述,傳送服務管理器300可以包含在IO端點120、130和140中。或者,傳送服務管理器300有可能以通信方式通過AS通信鏈路114連接到IO端點120、130和140。
根據一個例示實施例,傳送服務管理器300生成傳送服務首部,以便封裝PDU并使其傳送穿過AS結構110,從而將該PDU傳遞到出口IO端點上的基于存儲器的服務接口,此操作可以硬件、軟件、固件或它們的任意組合來實現。就此而言,傳送服務管理器300有可能實現為一個或多個ASIC、專用功能控制器或處理器、FPGA或用于執(zhí)行至少上述功能的硬件設備和固件或軟件。
在以上說明中,為了進行解釋,給出了許多具體細節(jié),以便提供對本發(fā)明的透徹理解。但對本領域技術人員顯而易見的是,本發(fā)明可以在沒有這些具體細節(jié)的情況下實施。在其他情況下,結構和設備以框圖的形式顯示,以避免妨礙對本發(fā)明的理解。
本說明書中提及的“一個實施例”或“實施例”表示結合該實施例描述的特定特征、結構或特點包含于本發(fā)明的至少一個實施例中。因此,在本說明書中不同位置出現的短語“在一個實施例中”不一定均指同一個實施例。同樣地,在本說明書中不同位置出現的短語“在另一個實施例中”或“在一個替代實施例中”中也不一定均指同一個實施例。
雖然已參照多個實施例對本發(fā)明作了描述,但本領域的普通技術人員會認識到,本發(fā)明并不局限于上述實施例,而是可以在所附權利要求的精神和范圍內,通過修改和替換來實施。因此,上述描述應視為說明性的,而不應視為限制本發(fā)明的范圍和涵蓋面。
權利要求
1.一種方法,它包括如下步驟在第一通信鏈路的節(jié)點上接收協議數據單元(PDU);以及當在所述節(jié)點上接收到所述PDU時生成不專用于與該PDU關聯的特定通信協議的首部;所述首部旨在便于封裝所述PDU并通過所述第二通信鏈路傳送所述PDU,以將所述PDU傳遞到所述第二通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
2.如權利要求1所述的方法,其特征在于還包括如下步驟將所述PDU分段,使得每段適合一個通信單元;對所述PDU的每段進行封裝,以使其包含所述首部;以及在所述首部中指示所述段類型。
3.如權利要求1所述的方法,其特征在于所述PDU包含由以通信方式與所述節(jié)點連接的第一設備發(fā)送的數據,所述數據由以通信方式與另一個節(jié)點連接的第二設備接收。
4.如權利要求3所述的方法,其特征在于所述PDU由所述第二設備以與所述第一設備發(fā)送時相同的通信格式接收。
5.如權利要求1所述的方法,其特征在于按如下操作生成不專用于與所述接收到的PDU關聯的特定通信協議的傳送服務首部讀取所述接收到的PDU,以確定與所述接收到的PDU關聯的通信協議并基于該確定生成所述首部的至少一部分。
6.如權利要求5所述的方法,其特征在于為便于所述PDU的傳送和傳遞,包括如下步驟以如下操作將封裝所述PDU的方式格式化基于對哪種通信協議與所述接收到的PDU關聯的確定,在所述封裝的PDU的一個或多個雙字中插入一個或多個PrePad字節(jié)并指示在所述首部中插入了所述一個或多個PrePad字節(jié)。
7.如權利要求5所述的方法,其特征在于為便于所述PDU的傳送和傳遞,在所述首部中包含表示是否要以字節(jié)逆序方式將所述封裝的PDU傳遞到所述基于存儲器的服務接口的指示,所述指示基于對哪種通信協議與所述接收到的PDU關聯的確定以及基于所述基于存儲器的服務接口的字節(jié)順序。
8.如權利要求1所述的方法,其特征在于通過如下操作來生成不專用于與所述接收到的PDU關聯的特定通信協議的傳送服務首部基于與所述接收到的PDU包含在一起的元數據生成所述首部的至少一部分,所述元數據指示與所述第一通信鏈路關聯的接口。
9.如權利要求1所述的方法,其特征在于為便于所述PDU的封裝、傳送和傳遞,包括如下步驟以如下操作將封裝所述PDU的方式格式化基于封裝時所述PDU不會填充的字節(jié)數將一個或多個EndPad字節(jié)插入到所述封裝的PDU的最后雙字中。
10.如權利要求1所述的方法,其特征在于所述通信鏈路包括按照高級交換核心規(guī)范操作的交換結構。
11.如權利要求1所述的方法,其特征在于所述基于存儲器的服務接口包括作為響應所述其他節(jié)點的發(fā)送/接收緩沖器的基于存儲器的服務接口。
12.如權利要求11所述的方法,其特征在于所述發(fā)送/接收緩沖器包括先進先出緩沖器(FIFO)。
13.如權利要求1所述的方法,其特征在于所述基于存儲器的服務接口在響應所述節(jié)點和其他節(jié)點的共享存儲器中包含數據結構。
14.一種裝置,包括通信鏈路上的節(jié)點;以及傳送服務管理器,其響應所述節(jié)點以生成不專用于與所述節(jié)點上接收到的協議數據單元(PDU)關聯的特定通信協議的首部,所述首部旨在便于封裝所述PDU并通過所述第二通信鏈路傳送所述PDU,以將所述PDU傳遞到所述通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
15.如權利要求14所述的裝置,其特征在于所述通信鏈路是按照高級交換核心規(guī)范操作的交換結構。
16.如權利要求14所述的裝置,其特征在于還包括存儲器,其連接到所述節(jié)點,以存儲通信協議標識信息,其中所述存儲器由所述傳送服務管理器訪問,以確定哪種通信協議與所述接收到的PDU關聯并基于該確定生成所述首部的至少一部分。
17.如權利要求18所述的裝置,其特征在于所述裝置還包括存儲器,用于存儲可執(zhí)行內容;以及控制邏輯,其以通信方式連接到所述存儲器,以執(zhí)行所述可執(zhí)行內容,以實現所述傳送服務管理器的實例。
18.如權利要求17所述的裝置,其特征在于所述控制邏輯包括在網絡處理器中實現的控制邏輯。
19.一種系統,它包括通信鏈路;包括非易失性存儲器的節(jié)點;以及傳送服務管理器,其響應所述節(jié)點以生成不專用于與所述節(jié)點上接收到的協議數據單元(PDU)關聯的特定通信協議的首部;所述首部旨在便于封裝所述PDU并通過所述通信鏈路傳送所述PDU,以將PDU傳遞到所述通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
20.如權利要求19所述的系統,其特征在于所述通信鏈路是按照高級交換核心規(guī)范操作的交換結構。
21.如權利要求19所述的系統,其特征在于所述易失性存儲器包含用于確定哪種通信協議與所述接收到的PDU關聯的通信協議信息。
22.如權利要求21所述的系統,其特征在于所述易失性存儲器由所述傳送服務管理器訪問,以確定哪種通信協議與所述接收到的PDU關聯,并且所述傳送服務管理器基于該確定生成所述首部的至少一部分。
23.一種包含內容的存儲介質,所述內容在由通信鏈路上的節(jié)點執(zhí)行時促使所述節(jié)點執(zhí)行如下操作接收協議數據單元(PDU);當在所述節(jié)點上接收到所述PDU時生成不專用于與該PDU關聯的特定通信協議的首部;所述首部旨在便于封裝所述PDU并通過所述通信鏈路傳送所述PDU,以將所述PDU傳遞到所述通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
24.如權利要求23所述的存儲介質,其特征在于生成不專用于與所述接收到的PDU關聯的特定通信協議的傳送服務首部是這樣實現的所述節(jié)點讀取所述接收到的PDU,以確定與所述接收到的PDU關聯的通信協議,所述節(jié)點隨后基于該確定生成所述首部的至少一部分。
25.如權利要求23所述的存儲介質,其特征在于還包括所述節(jié)點將所述PDU分段,使得每段適合所述通信鏈路的通信單元;所述節(jié)點對所述PDU的每段進行封裝,以使其包含所述首部;以及所述節(jié)點在所述首部中插入所述段類型的指示。
26.如權利要求25所述的存儲介質,其特征在于為便于傳送和傳遞所述PDU,包括以如下操作將封裝所述PDU的方式格式化基于對哪種通信協議與所述接收到的PDU關聯的確定,在所述封裝的PDU的一個或多個雙字中插入一個或多個PrePad字節(jié),并指示在所述首部中插入了所述一個或多個PrePad字節(jié)。
27.如權利要求25所述的存儲介質,其特征在于為便于所述PDU的傳送和傳遞,包括由所述節(jié)點在所述首部中插入表示是否要以字節(jié)逆序方式將所述封裝的PDU傳遞到所述基于存儲器的服務接口的指示,所述指示基于對哪種通信協議與所述接收到的PDU關聯的確定以及基于所述基于存儲器的服務接口的字節(jié)順序。
全文摘要
實施例一般地涉及一種用于在通信網絡中生成首部的方法和裝置。在一個實施例中,在第一通信鏈路上的節(jié)點上接收協議數據單元(PDU);當在所述節(jié)點上接收到時生成不專用于與所述PDU關聯的特定通信協議的首部;所述首部旨在便于封裝所述PDU并通過第二通信鏈路傳送所述PDU,以將所述PDU傳遞到第二通信鏈路上另一個節(jié)點的基于存儲器的服務接口。
文檔編號H04L29/06GK1744579SQ20051009908
公開日2006年3月8日 申請日期2005年9月2日 優(yōu)先權日2004年9月3日
發(fā)明者J·本內特, C·納拉德 申請人:英特爾公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
玉龙| 安岳县| 高碑店市| 哈巴河县| 鹿邑县| 巴彦淖尔市| 南通市| 孙吴县| 贡山| 弥勒县| 巧家县| 昭平县| 衡阳市| 教育| 翼城县| 岐山县| 军事| 荔浦县| 鞍山市| 嫩江县| 邻水| 绥宁县| 巫溪县| 克什克腾旗| 万安县| 清苑县| 台东市| 始兴县| 鄂温| 司法| 本溪市| 政和县| 腾冲县| 福鼎市| 张家港市| 光泽县| 阿坝县| 贵南县| 赣州市| 大厂| 行唐县|