新四季網

Rpf多方可靠傳輸的製作方法

2023-04-25 22:56:36

專利名稱:Rpf多方可靠傳輸的製作方法
技術領域:
本發明涉及數據網絡,更具體地說涉及用於在多方之間傳播信息的協議。
通過網際網路的分組通信一般會涉及被稱為TCP的特定傳輸協議的使用。TCP向較高層應用提供本質上不由IP單獨提供的某些服務。例如,TCP保證消息的傳遞、保證將分組以其發送順序傳送到接收者應用、提供流控制以防止接收者緩衝器溢出,而且當網絡流量條件將導致分組丟失時,TCP減緩分組的發送。
TCP協議假設單獨的結點對,其中一個是發送器,另一個是接收者。發送器和接收者可以彼此相距多個跳,而且作為同一TCP會話的一部分而運送的分組不需要總是經過同一路徑。為了便於保證消息傳遞,發送器維護先前發送的分組的緩存,以允許必要的重發。
TCP是網際網路的「主力軍」,為郵件應用、web應用等運輸流量。但是,TCP不能很好地服務於具有某些特性的應用。例如,考慮資料庫更新傳播應用。希望由一個被選擇的節點來向若干節點包括那些不是直接連接的節點傳播資料庫更新。需要被保證的消息傳遞是有序傳遞。還希望能夠向會話增加節點,並使得它們能夠接收會話開始以來所發送的所有信息。
這種被傳播的資料庫更新的一個具體的例子是使用BGP(邊界網關協議),從自治系統(AS)的邊界處的邊界路由器將路由信息更新傳播給AS內部的路由器。用於向AS內部傳播該信息的協議稱為內部BGP或IBGP。使用IBGP協議的內部節點必須獲得來自邊界路由器的路由更新。為了解決這一需要,當前的IBGP技術形成了在具有將要共享的更新的每個邊界路由器和每個內部路由器之間的TCP連接的全網格。可使用路由反射器或邦聯(如BGP-4協議文獻所規定的那樣)來獲得TCP連接數量在某種程度上的減少。這些簡化造成了例如路由迴路這樣的問題,而且TCP連接的數量可能還是很大。但是,使用大量TCP連接產生了其它問題。
一個重要的問題是每個邊界路由器必須單獨地緩衝每個單獨地用於重傳輸目的的TCP連接。每個TCP連接必須緩衝所有未確認的數據。TCP將維護單獨的重傳輸緩衝器,即使同樣的數據被發送到所有接收者。每個TCP連接還將需要額外的CPU處理和其它系統資源額外開銷。這對本地的高速存儲器和處理資源的使用是極低效而且麻煩的。
還存在網絡帶寬的極大浪費。多個TCP會話一般將在它們前往不同目標內部節點的途中,在相同鏈路上運輸同樣的數據。因為TCP連接的雙方特性,中間節點不能很容易地從它們所支持的會話中抽取希望的數據,而是需要它們自己的會話。
需要適用於向多個接收者傳播資料庫更新,同時有效率地使用存儲器、處理資源和網絡帶寬的傳輸協議。

發明內容
本發明的實施例提供了多方可靠傳輸協議以用於較高層應用。單個的會話源通過傳播樹向多個接收者傳播資料庫更新。希望加入會話的節點通過訪問單播路由協議信息來選擇上遊到源的路徑上的直接連接的節點,並向該上遊鄰居發送「加入」消息。參加該方案的每個節點處理來自其直接連接的下遊鄰居的重傳輸請求。被支持的應用為潛在的重傳輸提供先前所傳輸的信息的存儲。
本發明的第一方面提供了一種用於操作所選擇的節點以在網絡中傳播資料庫更新的方法。所述方法包括標識參與傳輸層會話的一個或多個直接連接的鄰居節點;接收來自在所述所選擇的節點處運行的應用的應用數據單元;將所述應用數據單元封裝在傳輸協議數據單元內;以及僅向所述所標識的一個或多個直接連接的鄰居節點發送所述傳輸協議數據單元,作為所述傳輸層會話的一部分。
本發明的第二方面提供了一種用於操作所選擇的節點來支持傳輸層會話的方法。所述方法包括標識在朝向傳輸層會話源的路徑上的直接連接的節點,所述直接連接的節點是所述路徑上的上遊節點;接收來自所述上遊節點的傳輸協議數據單元;從所述傳輸協議數據單元中抽取應用數據單元;以及將所述應用數據單元傳遞到在所述所選擇的節點處運行的應用。
本發明的第三方面提供了一種用於操作所選擇的節點以支持具有至少3方的傳輸層會話的方法。所述方法包括標識朝向傳輸層會話源的路徑上的第一直接連接的節點;接收來自所述第一直接連接的節點的傳輸協議數據單元;將所述傳輸協議數據單元的內容轉發到作為所述傳輸層會話源和所述所選擇的節點的下遊的第二直接連接的節點;在本地緩存中存儲所述傳輸協議數據單元的內容;接收來自所述第二直接連接的節點的重傳輸請求;以及通過從所述本地緩存獲取來響應於所述請求而進行重傳輸。
參照本說明書的其餘部分和附圖可獲得對本發明的特性和優點的進一步理解。


圖1根據本發明的一個實施例,示出了向應用逐跳傳播和傳遞資料庫內容。
圖2根據本發明的一個實施例,示出了傳輸層模塊和其它路由器軟體組件之間的交互。
圖3根據本發明的一個實施例,示出了傳輸層模塊的內部結構。
圖4根據本發明的一個實施例,示出了應用數據序列號的使用。
圖5根據本發明的一個實施例,示出了選擇性丟失重傳輸和良序應用數據單元傳遞。
圖6根據本發明的一個實施例,示出了啞應用數據單元的間開。
圖7根據本發明的一個實施例,示出了多方傳輸協議中過境路由器(transit router)的使用。
圖8根據本發明的一個實施例,示出了通過過境路由器的隧道穿越。
圖9根據本發明的一個實施例,示出了同步重定向。
圖10根據本發明的一個實施例,示出了過境路由器參與同步。
圖11A示出了根據本發明的一個實施例的網絡設備。
圖11B示出了可以如何在路由處理器和線路卡之間劃分本發明的功能。
具體實施例方式
參照有代表性的環境來描述本發明,所述有代表性的環境為採用公知協議例如IP、TCP、UDP等的節點(例如路由器)網格網絡。在一個實施例中,本發明所提供的傳輸協議向該網絡的節點提供可靠的資料庫傳播服務。該傳輸協議將被稱為「逆路徑轉發多方可靠傳輸(RMRT)」。每個RMRT會話建立在源路由器的單個伺服器應用和其中的每個都在接收路由器上的一組客戶端應用之間。伺服器和客戶端應用可以是共同提交的申請中提到的內部BGP下載器。
RMRT概況圖1示出了根據本發明一個實施例的按照RMRT的逐跳傳播和應用傳遞。在圖1中,路由器102是會話源,並將資料庫更新傳播到在接收者路由器104、106和108處運行的客戶端。按照RMRT,源路由器102上的伺服器應用提供將以一系列應用數據單元(ADU)傳輸的數據。伺服器應用產生的每個ADU與一個序列號相關聯。RMRT構建傳輸協議數據單元(TPDU),它們是包含一個或多個ADU的分組。TPDU由參與RMRT會話的路由器逐跳傳播通過網絡。
按照RMRT,在正被描述的實施例中,所有用來傳播TPDU通過網絡的路由器還參與為RMRT會話中的接收者。另外,當一個參與路由器接收新TPDU時,它將所包含的ADU按順序傳遞給本地客戶端接收應用。
如圖1的簡單例子所示,RMRT會話通過傳播樹來傳輸信息。每個RMRT參與者(除了源之外)在樹上具有一個上遊鄰居,還可具有一個或多個下遊鄰居。每個RMRT參與者都可以是用於多個關聯的上遊端點。但是,每個RMRT接收者只有一個上遊路由器。根據本發明的實施例,UDP(或某種其他不可靠的數據報協議)被用來在路由器之間傳播TPDU。優選不可靠的數據報協議(與可靠的協議例如TCP相對)是因為RMRT包括它自己的重傳輸機制,下面將解釋。每個RMRT會話參與者可在多個下遊接收者之間共享重傳輸緩衝空間,這是對使用多個TCP連接的一項重大改進。
在穩定狀態工作期間,每個非源參與者執行4項基本任務1.接收上遊鄰居路由器發送的RMRT TPDU分組。
2.從TPDU抽取ADU。
3.將ADU傳遞給本地應用。
4.構建TPDU並將之傳播給樹上的下遊鄰居。
傳播樹的連接性依賴於逆路徑轉發(RPF),這是一種通常用於多播路由的技術。希望加入RMRT會話並將其本身連接到所述會話的傳播樹的路由器依賴於單播路由協議信息來建立到源的連接。假設參與路由器運行本領域公知的單播路由協議例如IS-IS、OSPF或EIGRP。假設參與路由器例如通過預配置而知道會話源的IP位址。RMRT接收者使用單播路由協議信息來獲得到源的路徑以及該路徑上的下一跳路由器。TPDU的轉發將發生在該路徑上,只不過其方向與單播路由協議所看到的方向相反。這樣,作為朝向源的單播下一跳的路由器是RMRT傳播樹上的前一跳。
確定了朝向源的前一跳後,RMRT接收者接收所有的TPDU,並請求來自該路由器的所有重傳輸。RMRT接收者對前一跳的確定是動態的,並跟蹤了單播路由協議所提供的連接信息中的改變。同一RMRT會話中在不同前一跳之間的切換對ADU接收來說是透明的,因為參與會話的所有RMRT路由器都將ADU維護成在源路由器上初始指定的序列號映射。
TPDU的傳輸使用了UDP/IP最大努力(best-effort)數據報服務。當接收路由器缺失一個或多個TPDU時,由緊鄰的前一跳而非源來提供所有必需的重傳輸。
在一個實施例中,RMRT使用基於NAK的機制來請求重傳輸。RMRT不必為了能夠重傳輸ADU數據而緩衝它。相反,它可以依賴於下述駐留應用,所述駐留應用能夠在向之提供ADU的序列號時根據需要而再現所述ADU。基於特定於應用的參數,應用本身可決定它為了服務於重傳輸而願意維護的ADU序列歷史量。如果所述歷史量不足以重建所需的重傳輸分組,則RMRT可選擇後退到直接相連的鄰居之間的全資料庫同步。另外,為了提高效率,RMRT可維護它自己的以前發送的ADU的緩存。
軟體體系結構圖2根據本發明的一個實施例,示出了RMRT模塊202和其他路由器軟體組件之間的交互。圖2示出了RMRT模塊202、應用204、RMRT會話管理器(RSM)206、路由信息庫(RIB)208以及運行IGP例如OSPF、IS-IS等等的單播路由協議組件210。還存在與路由器的UDP棧212和TCP棧214的交互。
下面將描述的應用程式接口(API)被用於RMRT模塊202和應用204之間的交互。所述API用來交換ADU,並使得RMRT可請求以前傳輸的ADU以用於重傳輸和同步。RMRT通過RIB 208來得知到源的路徑,而RIB 208由單播協議組件210填充。RSM 206提供控制信道服務來與直接相連的鄰居路由器交換會話控制信息,包括加入和剪枝(prune)消息。TPDU本身經由UDP棧212來發送和接收。RSM 206使用TCP棧214來維護控制信道。
圖3示出了RMRT模塊202的內部結構。RPF鄰居跟蹤組件302與RIB 208交互以確定朝向RMRT會話源的上遊路徑上的直接相連節點。當然,RIB先前已由在接收者路由器上運行的單播路由協議填充了。成員資格跟蹤組件304處理通過RSM控制信道來自下遊直接相連節點的加入和剪枝消息。這一所接收的信息被用來維護下遊成員資格資料庫,即所接收的TPDU將被轉發到的節點。
TPDU接收組件306處理傳入數據,並將之傳遞給應用,同時還處理丟失的TPDU的檢測,並通過作出任何必需的重傳輸請求來進行響應。TPDU傳播組件308將所接收的TPDU傳播到由成員資格跟蹤組件304獲得的、作出訂閱的下遊直接相連鄰居。從所接收的ADU信息來重構所傳輸的TPDU,但是一些實現方式通常可能僅僅是拷貝所接收的TPDU的內容,並重寫IP源地址和目的地地址。TPDU傳播組件308還響應來自下遊鄰居的重傳輸請求。ADU緩存310存儲最近接收的ADU,它們將被TPDU傳播組件所需要。ADU緩存310可以不是嚴格必需的,因為可從應用204獲得ADU,但ADU緩存310對於緩存特定數量的最近傳輸的ADU來說是更加優化的。
標識出所述RPF上遊鄰居後,RMRT模塊202繼續通知該鄰居需要會話數據。RPF鄰居跟蹤組件302調用RSM 206來上行發送加入控制消息到上遊鄰居。這一發送使用了RSM控制信道。成員資格跟蹤組件304接收來自下遊路由器的加入和剪枝消息,並維護TPDU將要傳播到的鄰居的列表。
RPF鄰居跟蹤組件302持續監視RIB 208,以總是知道哪個節點是朝向源的單播下一跳鄰居(RMRT傳播樹上的前一跳)。單播路由協議所發現的網絡拓撲改變可能會導致朝向會話源的下一跳的改變。當存在這種改變時,RPF鄰居跟蹤組件302調用RSM 206來發送剪枝消息到舊的單播下一跳鄰居,以表明不再需要來自先前的下一跳的會話轉發。另外,RPF鄰居跟蹤組件302調用RSM 206來發送加入消息到新的單播下一跳節點。
將可認識到,對於會話源,ADU只是從應用獲得的,並不傳遞給該應用。另外,會話源並不選擇上遊鄰居,而是像任何其他會話參與者那樣跟蹤下遊成員資格。
序列號對於所有從會話源傳播到參與接收者的ADU,使用一致的序列號空間。在會話源,伺服器應用產生的每個ADU被所述應用或RMRT分配一個新的序列號。序列號和ADU之間的映射被包含在所構建的TPDU分組中,並被傳送通過會話接收者。當接收路由器將ADU傳遞給駐留的客戶端應用時,也傳送相關聯的序列號。接收應用維護這一映射來輔助RMRT的運行。傳遞ADU到客戶端應用後,RMRT模塊可通過指定ADU的序列號來請求回該ADU以用於重傳輸。
ADU序列號是從有限空間中分配的,該空間在RMRT會話的生命期中可能會耗盡。RMRT通過允許序列空間重卷(wrap)來處理耗盡的可能性。
為了避免重卷後共享相同序列號的多個ADU之間的歧義,遠在重用序列號之前就解除ADU和序列號之間的關聯。這一關聯解除發生在當向新的ADU分配從舊的ADU起,跨越序列空間半程的序列號時的最接近處。
圖4根據本發明的一個實施例,示出了序列號的關聯解除處理。黑點表示ADU。旋轉圓表示序列號空間。平直線上(圓外)的ADU表示舊ADU,不再對這些ADU維護序列號關聯。一旦分配了圓頂部的序列號,圓底部的ADU的序列號就退休。按照這種方式,確保了單個序列號在任何時刻只表示單個ADU。這一關聯解除處理的發生跨越參與RMRT會話的所有路由器。
ADU跨越參與會話的所有路由器的一致的序列號標定使得RMRT組件避免了不必要的ADU緩衝。一旦將ADU傳遞給本地應用,RMRT就可以通過該應用提供的API,使用ADU序列號作為鍵值來獲取它。因此,為了支持TPDU傳播和重傳輸,可以從應用資料庫獲得所有的ADU。
可靠的良序傳遞不像TCP,由於UDP不包括可靠性機制,因此RMRT規定了在UDP上面建立可靠性機制。圖5示出了根據本發明的一個實施例的重傳輸。TPDU接收組件306跟蹤所接收的ADU序列號。任何缺失的序列號都被標記為丟失,並引發對上遊鄰居的重傳輸請求。TPDU接收組件306通過發送封裝在UDP數據報內的否定性確認(NAK)來請求重傳輸。
當下一個TPDU分組被正確地接收,並注意到所接收的ADU序列號中的間距時,檢測到缺失的ADU。這是通過將最近的TPDU中的起始ADU序列號與最近正確接收的ADU序列號進行比較來實現的。
每個NAK分組包括缺失的ADU序列號範圍的列表。接收到NAK後,上遊鄰居中止當前ADU傳播,優先進行缺失ADU的重傳輸。可構建新的TPDU來用於重傳輸。所述ADU可來自ADU緩存310,或者可向所述應用來請求它們。當已重傳輸所有的缺失ADU時,從當前ADU的停止點處恢復當前ADU的傳輸。
為了提高靜止期間丟失檢測的速度,發送啞TPDU。啞TPDU不包含實際的ADU數據,只傳送最後發送的ADU序列號,以使得接收者可意識到它們已經錯過了一個或多個先前的ADU。
圖6根據本發明的一個實施例,示出了靜止期間開始後啞ADU的傳輸間開。當靜止期間繼續時,傳輸速率隨時間指數下降。常規地傳輸正常TPDU期間不發送啞TPDU。每個傳輸路由器獨立地控制啞TPDU的傳輸速率。
一些實施例還可包括低頻周期性肯定性確認機制。從下遊路由器接收到NAK可用來推導出在其之前下遊當前已收到所有ADU的最早序列號。但是,當所有ADU都被正確接收時,不發出NAK。使用肯定性確認可以使得會話參與者安全地從其緩存丟棄已知正確接收的ADU。
另外,當接收到表明靜止期間前最後發送的ADU被正確接收的肯定性確認時,不再需要進行啞TPDU發送。因此,肯定性確認(ACK)可由每個會話成員以可配置的頻率向其上遊鄰居發送。每個ACK包含下述第一個ADU的ADU序列號,直到所述ADU之前的所有會話ADU都已被正確接收。只是在存在來自上遊鄰居的TPDU活動,並且未發出NAK時才進行周期性ACK的發送。
資料庫同步接收者RMRT會話可能會錯過這樣的ADU,其中不能通過指定其序列號來請求所述ADU的重傳輸。所述ADU要麼已解除與其序列號的關聯,要麼已從上遊路由器資料庫中刪除。例如,這可能發生在兩種情形中1.當新接收者加入會話,並且會話已活動了足夠長的時間以致可能已經存在沒有關聯序列號的ADU時。
2.如果網絡在會話期間被分開,則從源斷開連接的接收者不再能接收ADU。如果這一分開持續得足夠長,以致將耗盡一半的序列庫,則將解除缺失的ADU的序列號關聯。
本發明的實施例規定了RMRT資料庫同步過程,以使這兩種情形中的接收者與會話保持一樣的新。所述同步過程由上遊路由器調用,這發生在當該上遊路由器接收到來自下遊路由器的重傳輸請求時,其中,由於所請求的ADU與它們的序列號的關聯解除,所述上遊路由器不能服務於所述下遊路由器。同步期間,進行完全的應用資料庫傳輸,而不幹擾常規的ADU傳播。
同步過程依賴於RMRT組件和本地應用之間的協作。同步是通過傳輸會話ADU資料庫的完整內容來實現的。該資料庫包括所有不再與序列號相關聯,但是仍被需要來重建應用資料庫的當前全局狀態的ADU。這些ADU仍被所述應用良序存儲著,儘管沒有了它們的序列號。該資料庫還包括仍具有序列號關聯,並因此由所述RMRT組件或應用與其關聯序列號一起存儲的ADU。同步後,恢復中的路由器將具有由會話源在會話生命期中曾發起的所有ADU。這些ADU按照它們最初被產生的順序,被傳送並傳遞給本地應用和恢復中的路由器。在ADU數據之外,現有的ADU序列號關聯也被傳輸,以使得恢復中的路由器可以成為完全的會話參與者。
同步期間,所述應用被配置來在RMRT模塊的指示下,在其本身的控制下發送所述資料庫內容。為了輔助這一控制,RMRT模塊和應用之間的應用編程接口(API)包括兩個特殊的上行調用(up-call)。一個上行調用啟動遍及該資料庫的漫遊。所述漫遊由一個句柄標識,以在由於對不同下遊客戶端同時發生同步會話而可能並行發生的多個漫遊之間進行區分。一旦建立了漫遊,就調用另一個上行調用來從該應用的資料庫獲得下一個ADU。每次調用這一調用時,所述應用都按照會話源最初產生的順序來提供下一個ADU。對於在應用資料庫中仍具有序列號關聯的ADU,還將該序列號提供給RMRT。
還可以提供一些上行調用來輔助同一漫遊內的回卷(rewinding)和快速前進(fast forwarding)。對回卷和快速前進的支持使得RMRT組件可以避免緩衝在漫遊期間獲得的ADU數據,直到它確定所述數據已經被正確接收並被傳遞給接收同步的下遊路由器上的應用為止。
在接收同步的路由器處,ADU的處理非常類似於正常會話參與期間的處理。本質上唯一的差別在於在同步會話的早期部分,傳遞給應用的ADU將不與序列號關聯。當同步過程進入仍有序列號與ADU關聯的上遊路由器的資料庫部分時,序列號將變為可用。多種技術可用來在同步過程期間實際傳輸資料庫內容。例如,如果上述回卷前進上行調用可用,則可使用兩個路由器之間的專用RMRT會話來傳輸數據。這最小化了在支持同步的上遊路由器上傳輸緩衝額外開銷的需求。如果沒有回卷能力,則可使用TCP連接。
流和擁塞控制希望與RMRT結合使用流控制和擁塞控制。在一個實施例中,RMRT採用數據報擁塞控制協議(DCCP),該協議在Kohler,et al.,「DatagramCongestion Control Protocol」,IETF Internet Draft,March 2003中進行了描述,其內容通過引用而被整體包含於此,用於各種目的。DCCP是一種輕量級協議,其向不需要可靠性,或不提供本身的可靠性機制的應用提供擁塞控制和流控制。RMRT可採用DCCP而不是UDP。DCCP建立雙向的信息流。逆路徑(從下遊到上遊)可由RMRT組件用來傳送否定性確認。另外,有利的是DCCP具有最小的頭部和協議狀態額外開銷。
ADU緩存310可被利用來在流控制或擁塞控制需要時,適應相同ADU的多次傳輸。為此以及為了重傳輸而使用ADU緩存310是相當有效的,因為該緩存在所有下遊接收者之間共享。緩存大小依賴於對所述應用的請求的影響而可配置。
應用編程接口RMRT向所述應用提供下述調用·RMRT_ADU_notify(new_ADU_count),其由源路由器上的伺服器應用用來向RMRT組件通知新可用的ADU。RMRT可返回將被分配給第一個ADU的序列號,或者該應用本身可提供它。
應用向RMRT提供下述上行調用·app_ADU_request(sequence_no)由RMRT用來向應用請求特定的ADU。應用返回ADU,或者如果所請求的ADU序列號不在應用所維護的歷史中,則返回錯誤。
·app_ADU_receive(ADU,sequence_no)由作為會話接收者的路由器上的RMRT用來將正確接收的ADU傳遞給客戶端應用。
·app_sync_parent_init由RMRT用來通知應用,表明它正在啟動與下遊鄰居的新的同步過程。應用返回一個句柄,RMRT對與該同步過程相關的所有後續調用都應使用該句柄。
·app_sync_parent_done(sync_handle)由RMRT用來通知應用,表明同步過程已結束,並且它可以丟棄任何關聯狀態。
·app_sync_parent_ADU_next(sync_handle)由RMRT在資料庫同步過程期間用來獲得應用資料庫中的下一個ADU。應用返回ADU,如果該ADU與一個序列號關聯的話,則還返回該ADU的序列號。如果同步過程到達了資料庫的末尾,則不返回ADU。
·app_sync_parent_ADU_rewind(sync_handle,ADU_count)由RMRT在資料庫同步過程期間指示應用,表明需要根據多個ADU的漫遊中的回卷。
·app_sync_parent_ADU_fwd(sync_handle,ADU_count)由RMRT在資料庫同步過程期間指示應用,表明需要根據多個ADU的漫遊中的前向跳轉(forward jump)。
·app_sync_child_reset由RMRT用來通知應用,表明它將要接收資料庫同步。
·app_sync_child_done(history_base)由RMRT用來通知應用同步過程完成,並且提供在其之後沒有發生關聯解除的ADU序列號。
RMRT會話管理器(RSM)RMRT會話管理器(RSM)206負責協調屬於同一應用的一組RMRT會話(一個或多個)。從網絡中使用RMRT的特定路由器的角度看,駐留應用可以是多個會話的發起者,以及多個遠程發起的會話的成員。不同路由器上的應用發起會話的能力提供了對通過RMRT的多路通信的支持。單個路由器中的應用發起多個RMRT會話的能力提供了對具有不同等級的信息的通信的支持。協調屬於同一應用的會話具有兩個優點1.協調使得可更有效地使用路由器和網絡資源。具體地說a.RMRT講者需要與它直接相連的鄰居交換會話控制信息。這一交換中使用了基於TCP的RSM可靠控制連接。屬於同一應用的不同RMRT會話的控制消息共享每一對直接相連的參與路由器之間的RSM連接。
b.應用可使用大量RMRT會話來對具有不同接收者成員資格的信息分級。當接收路由器正在通過同一RPF鄰居加入兩個或更多會話時,用來攜帶TPDU的UDP分組可用來復用屬於不同會話的TPDU。
c.與TPDU復用類似,相鄰路由器可將屬於不同會話的NAK捆綁在同一UDP分組中。事實上,一對鄰居之間朝向相反方向的會話的TPDU和NAK可被組合在同一分組中。
d.當路由器重新啟動或從網絡故障恢復時,它可能需要同步它的應用資料庫的內容。在具有許多RMRT會話的應用中,可能會通過同一RPF鄰居獲得多於一個的同步會話。正如同通過RSM控制連接來實現共享,可在兩個路由器之間建立單個同步TCP連接,以傳輸屬於多個同步會話的數據。
2.協調多個會話可實現動態網絡配置a.RSM提供了一種hello協議,其可實現直接相連鄰居的自動發現。應用可選擇手動指定有效鄰居的列表,或通過RSM來發現它們。
b.RSM可由發起會話的路由器用來向潛在接收者公告該會話的存在。將有關會話的知識泛濫到所有潛在接收者,這些潛在接收者然後可決定是否加入。發起會話的路由器可與會話公告一起傳播特定於應用的會話描述。會話描述可由潛在接收者用來確定它們是否有興趣接收該會話。
每個使用RSM和RMRT的應用都應選擇公知的RSM TCP控制埠以及公知的TPDU UDP目的地埠。所述TCP和UDP埠用來在使用RMRT的不同應用之間解復用,並使得運行相同應用的相鄰路由器可在它們之間進行對話。
使用多個RMRT會話的應用應能對它們尋址。RSM和RMRT使用由兩項信息構成的公共會話標識機制1.發起會話的路由器的IP位址。
2.發起會話的路由器上的駐留應用分配的會話ID。該ID用來將該會話與同一路由器上的應用發起的其他會話區分開來。
過境路由器RMRT被設計成將資料庫在路由器網絡中可靠地傳播,每個所述路由器都參與為會話接收者。但是,根據本發明的實施例,RMRT可被擴展來允許不希望接收會話數據的路由器仍可通過作為過境路由器來支持在該網絡中實現RMRT。
RMRT過境路由器具有的軟體組件結構類似於上面已經示出並描述的結構,但是與RMRT會話參與者相比存在一些差別·由於過境路由器不是常規會話成員,因此它只在一個全下遊參與者通過它來加入時才參與會話。當沒有下遊成員需要會話數據轉發時,過境路由器不加入。
·在RMRT過境路由器中,駐留程序對ADU數據不感興趣。因此,所接收的ADU不會被傳遞給該應用,因此也不過通過它來重新獲得所述ADU。
·RMRT過境路由器依賴於它的本地緩存來存儲需要向下遊傳播的ADU。任何需要但不存在於緩存中的ADU都需要向上遊路由器請求。
·RMRT過境路由器不執行同步雙親的服務,因為它不存儲完整的會話資料庫。因此它將需要同步的下遊路由器重定向為從更上遊的完全參與者來獲得該同步。
圖7示出了涉及過境路由器的使用的簡單情形。存在會話源702、接收者704、過境路由器706以及兩個附加接收者708和710。
下面的事件序列會發生1.接收者704與源702相鄰並直接加入它,而接收者708和710向RMRT過境路由器706發送會話的加入。
2.過境路由器706意識到它應該轉發所述會話,並將所述加入通過接收者704而朝向源發送。
3.接收者704如同會接受常規成員的加入那樣接受來自過境路由器706的加入,並開始轉發TPDU。
4.過境路由器706傳播TPDU,並可能將所包含的ADU存儲在它自己的緩存中。
5.接收到第一個TPDU後,接收者708和710注意到它們錯過了在它們加入會話前發起的早先的會話ADU。因此它們發送NAK到過境路由器706,表明它需要重傳輸的ADU。
6.過境路由器706本地沒有存儲所請求的ADU,因為駐留應用未在接收數據。因此它記錄來自每個下遊接收者的缺失的ADU的範圍,並發送NAK到接收者704來請求所述ADU。
7.接收者704從它的本地應用資料庫再現所述ADU,並在TPDU中將它們發送給過境路由器706。
8.過境路由器706將所述ADU傳播給接收者708和710。
接收者708和710現在已加入了進來,並繼續正常地參與會話。如下處理TPDU丟失1.接收者708遇到了TPDU丟失。當下一個TPDU到來時,它意識到存在缺失的ADU,並發出NAK到過境路由器706。
2.過境路由器706接收到NAK,由於它最近傳播了ADU,因此所述ADU也存儲在本地RMRT緩存中。過境路由器使用所緩存的ADU來創建TPDU,並發送到接收者708。
上述例子示出了過境路由器如何對它的上遊鄰居以及下遊成員表現得如同常規參與者一樣。事實上,任何數量的RMRT過境路由器和常規參與者可以任何順序混合在RMRT會話源和接收者之間。對於RPF鄰居改變來說也不需要任何特殊的處理。當過境路由器本身改變了它從其處接收會話的鄰居時,以及當過境路由器的下遊參與者轉而通過一個過境路由器加入或離開該過境路由器時都是如此。
對於存儲在過境路由器的RMRT緩存中的數據量的控制是在過境路由器本身和網絡上的存儲器資源,以及過境路由器和它的上遊鄰居之間的處理資源二者之間的折中。讓下遊成員請求過境路由器的緩存中不存在的ADU的代價是過境路由器必需與它的上遊鄰居通信以獲得該ADU。
在過境路由器處接收NAK和上述周期性ACK(肯定性確認)可有助於減小本地ADU緩存大小。當過境路由器通過NAK和周期性ACK確認它所有的下遊成員都已接收到特定ADU之前的所有ADU時,它在自己的周期性上遊ACK中公告該ADU序列號。
在剛剛描述的例子中,過境路由器具有通過它而連接到會話的多個下遊會話參與者。使得過境路由器接收TPDU分組並為下遊成員而複製它們,而且處理來自下遊的NAK,這樣可改進傳播的可擴展性。但是,如果在RMRT會話中,過境路由器具有通過它而加入的單個下遊成員,則在通信中涉及過境路由器僅僅是引入了額外開銷。
當只有單個下遊成員通過過境路由器加入會話時,過境路由器可以指示它的上遊鄰居發送TPDU到該下遊加入者,而沒有涉及任何過境路由器的傳輸層動作。這一情形示出在圖8中。
在圖8中,存在源802、兩個過境路由器804和806以及兩個接收者808和810。過境路由器806隻有一個路由器810是通過它而加入的。與此相對比,過境路由器804有接收者808和過境路由器806是通過它而加入的。因此使得過境路由器804接收並轉發會話數據是有利的。對於過境路由器806,簡單地隧道穿越它是有利的。隧道穿越在加入過程中啟動,並自適應於成員資格和網絡改變。
考慮下述場景,其開始於圖8的示例性網絡中兩個接收者之一加入會話之前1.接收者808通過過境路由器804加入會話。此時接收者810尚未加入會話。
2.過境路由器804確定由於接收者808是唯一通過它加入的成員,因此TPDU應該隧道穿越它。它聯繫它的RPF上遊鄰居(源802)以加入會話。在加入時,它指定了TPDU應該直接發送(即不涉及過境路由器804的傳輸層動作)到接收者808。
3.源802確認所述加入,並通知過境路由器804,表明TPDU將由它自己發起(即不會從更上遊發起,並且僅僅是隧道穿越過境路由器804的上遊鄰居)。
4.過境路由器804確認接收者808的加入,並通知它說TPDU將由源而不是過境路由器804發送。
接收者808現在加入了會話,並直接從源802接收TPDU。來自接收者808的NAK也直接發送到源802。這一通信中過境路由器804的涉及僅僅是像任何其他普通數據分組那樣轉發TPDU和NAK。
現在,接收者810啟動並決定加入會話。步驟如下1.接收者810發送加入到過境路由器806。
2.過境路由器806確定接收者810是通過它加入的唯一成員,並決定隧道傳送TPDU和NAK。它通過過境路由器804加入會話,指示它將TPDU直接發送到接收者810。
3.過境路由器804接收到過境路由器806的加入,現在確定存在兩個通過它的下遊加入者(接收者808和過境路由器806)。因此它決定開始執行用於該會話的RMRT過境路由器的功能。
a.過境路由器804指示源802,表明TPDU將不再發送到接收者808,而是發送到過境路由器804本身。
b.過境路由器804指示源802,表明它不再直接從源802接收TPDU,而是從過境路由器804本身接收TPDUc.過境路由器804響應過境路由器806的加入,指定TPDU將由過境路由器804發送。
4.過境路由器806接收加入確認,·並通知接收者810,表明它將從過境路由器804接收TPDU。
此時,會話轉發到達了圖8所示的狀態。過境路由器804作為過境路由器參與到會話中,因為它有多於一個的下遊參與者。會話通過過境路由器806在過境路由器804和接收者810之間隧道傳送,因為過境路由器806隻有單個下遊成員。
或者,過境路由器決定何時隧道傳送數據穿越它,以及何時參與會話的下遊成員的閾值數量可被設置為大於1。過境路由器可指示它的上遊鄰居隧道穿越到多個下遊成員。
過境路由器的下遊路由器可向過境路由器請求下述ADU的重傳輸,所述ADU在完全參與會話的上遊路由器的應用資料庫中不再與序列號相關聯。當過境路由器嘗試從上遊恢復這些ADU時,它將會被通知說需要RMRT同步過程。但是,工作為錯過了所述ADU的路由器的上遊鄰居的RMRT過境路由器不能是同步雙親,也不能提供完整的會話資料庫。因此,過境路由器將下遊路由器重定向為從朝向會話源的路徑上第一個完全參與的路由器獲得同步。
圖9示出了在圖7的過境路由器場景中同步重定向是如何運行的。採用來啟動同步過程的步驟如下1.接收者710重新啟動,具有空應用資料庫。它發送NAK到過境路由器706,請求會話中迄今為止的所有ADU。
2.過境路由器706在它的緩存中只有最近的ADU。因此它將所述NAK上遊傳播到接收者704,表明需要所有ADU。
3.接收者704接收所述NAK,但是由於會話已經存在了很長時間,因此它的資料庫中存在不再有序列號關聯的ADU。因此它通過RSM控制連接來指示過境路由器706,表明它願意提供同步服務。
4.過境路由器706接收來自接收者704的同步要約,並將它繼續轉發到接收者710。
5.接收者710直接聯繫接收者704,並同步它的資料庫。
除了所述重定向步驟之外,接收者704和接收者710之間的同步連接建立以及信息傳輸保持為與它們好像直接相連一樣。
如果網絡被分割然後合攏,則需要同步的下遊成員的過境路由器的重定向可能會變得相當低效。這一低效可通過允許過境路由器主動參與同步過程來消除。
這一場景參考圖10進行了圖示。在圖10中,存在源1002、3個過境路由器1004、1006和1008以及6個接收者1010、1012、1014、1016、1018和1020。例如考慮源1002和過境路由器1004之間的鏈路的長期失敗的影響。當連接恢復時,如果該鏈路出現故障已有足夠長的時間,則所有6個接收者都需要被同步。過境路由器1004、1006和1008的正常行為都將是重定向所有的接收者來從上遊成員獲得同步。這將使得所有恢復中的接收者從源1002進行同步。缺點是1.源路由器1002現在發起了6個同步會話。這需要相當的處理和存儲器資源。
2.源1002和所述接收者之間的鏈路將必需多次傳送同步數據。具體地說,源1002和過境路由器1004之間的鏈路上的網絡帶寬將被浪費,因為相同的數據將傳送6次。
本發明的實施例提供了一種解決方案,其允許具有多個下遊同步請求者的過境路由器主動轉發同步會話。過境路由器可通過簡單地終止來自多個下遊成員的請求,並發起它自己的上遊請求來轉發同步會話。當建立用於同步的TCP連接時,過境路由器僅僅是將它在上遊連接中接收的數據拷貝到所有的下遊連接。
在圖10的網絡中,過境路由器1006和1008都會接收來自下遊接收者的3個同步請求。過境路由器1006和1008不是將這些請求上遊轉發到過境路由器1004,而是可以終止這些請求,並發起它們自己的到過境路由器1004的請求。由於過境路由器1004現在只接收兩個同步請求(來自過境路由器1006和1008),因此它可以決定它不值得參與,並只是將它們上遊轉發到源。現在,源1002隻有兩個下遊同步接收者,而過境路由器1006和1008每一個都具有3個同步接收者,獲得了更具可擴展性的方案。
上述方案的一個考慮是需要同步的各個接收路由器可能在時間上錯開它們的請求。例如,來自接收者1012的請求到達過境路由器1006的時間可能比來自過境路由器1010的請求晚一秒鐘的若干分之一。一種方案是延遲同步請求通過過境路由器的傳播。但是,在具有多個過境級別的網絡中,所述延遲將會積累,影響了恢復時間。
優選的方案是允許先前已經向上遊轉發了同步請求的過境路由器中斷已轉發的會話,並通過它自己重新啟動該會話,以使得所重啟的會話可被共享。在中斷已轉發的會話之前,優選地調查該會話的狀態,以使得不會中斷已前進到通過預定點的會話。
網絡設備細節和分布式體系結構圖11示出了可用於實現本發明的網絡設備1100。線路卡1102包括用於耦合到物理介質的網絡接口。還可在線路卡1102中發現轉發情報。僅示出了兩塊線路卡1102,但是應當理解實際上在同一網絡設備1100中可存在大量線路卡。線路卡1102由高速主幹互連以傳輸分組。路由處理器1106負責控制平面(plane)功能。路由處理器1106具有到高速主幹1104的相對低速的連接。
本發明的實施例的功能可在路由處理器1106和線路卡1102之間劃分,如圖11B所示。一般地說,在圖11B中,控制組件由路由處理器1106實現,而ADU的緩存和轉發以及確認機制由線路卡1102處理。例如,路由處理器1106可實現RPF鄰居跟蹤組件302、成員資格跟蹤組件304、到應用204的接口以及TPDU轉發控制。路由處理器1106還實現上述同步過程。
TPDU接收組件306、ADU緩存310和TPDU傳播組件308可在每個線路卡1102上實現。線路卡1102還負責重傳輸。每個RMRT會話容宿在工作為到上遊直接相連的鄰居的接口的線路卡上。該線路卡維護用於RMRT會話的ADU緩存310。將向下遊傳播的TPDU被傳輸到直接連接到發出訂閱的下遊鄰居的線路卡。類似地,肯定性和否定性確認在面向下遊的線路卡處接收,並傳輸到容宿將在其處處理或中繼到上遊鄰居的RMRT會話的線路卡,根據需要而定。RMRT因此可實現在分布式轉發體系結構的上下文內,其中分組一般不是由路由處理器直接處理,而是保持在線路卡上進行處理。
路由處理器1106的一部分功能可由包含存儲在程序存儲器1108中的指令的軟體實現。程序存儲器1108隻是可存儲實現本發明的實施例時使用的軟體的計算機可讀存儲介質的一個例子。其他例子例如包括硬碟、CD-ROM、DVD-ROM、快閃記憶體等等。計算機可讀存儲介質的另一個例子是攜帶軟體穿過網絡的信號。線路卡1102可包括它們自己的處理器功能,其可類似地實現為軟體。
應理解到這裡所描述的例子和實施例只用於進行說明,考慮到它們,對於本領域內的普通技術人員來說可作出各種修改和改變,這些修改和改變應包含在本申請的精神和範圍之內,且被包含在所附權利要求的範圍及其完全的等同物的範圍之內。
權利要求
1.一種用於操作所選擇的節點以在網絡中傳播資料庫更新的方法,所述方法包括標識參與傳輸層會話的一個或多個直接連接的鄰居節點;接收來自在所述所選擇的節點處運行的應用的應用數據單元;將所述應用數據單元封裝在傳輸協議數據單元內;以及僅向所述所標識的一個或多個直接連接的鄰居節點發送所述傳輸協議數據單元,作為所述傳輸層會話的一部分。
2.如權利要求1所述的方法,其中所述標識操作包括接收來自希望開始參與所述傳輸層會話的直接連接的鄰居節點的加入消息;接收來自不再希望參與所述傳輸層會話的直接連接的鄰居節點的剪枝消息。
3.如權利要求1所述的方法,其中所述接收操作包括向所述應用數據單元指定序列號。
4.如權利要求1所述的方法,其中所述所選擇的節點是用於所述傳輸層會話的源節點。
5.如權利要求1所述的方法,其中所述傳輸協議數據單元由所述一個或多個所標識的鄰居節點傳播到其它節點。
6.一種用於操作所選擇的節點來支持傳輸層會話的方法,所述方法包括標識在朝向傳輸層會話源的路徑上的直接連接的節點,所述直接連接的節點是所述路徑上的上遊節點;接收來自所述上遊節點的傳輸協議數據單元;從所述傳輸協議數據單元中抽取應用數據單元;以及將所述應用數據單元傳遞到在所述所選擇的節點處運行的應用。
7.如權利要求6所述的方法,其中所述標識操作包括基於路由信息庫(RIB),確定從所述所選擇的節點朝向所述傳輸層會話源的路徑。
8.如權利要求6所述的方法,還包括在接收所述傳輸協議數據單元之前,向所述上遊節點發送加入消息。
9.如權利要求6所述的方法,其中所述抽取操作包括從所述傳輸協議數據單元中抽取與所述應用數據單元相關聯的序列號,所述傳遞操作包括將所述序列號傳遞給所述應用。
10.如權利要求6所述的方法,還包括標識所述上遊節點之外的至少一個直接連接的節點作為下遊節點;將所述傳輸層數據單元的內容轉發到所述下遊節點。
11.如權利要求10所述的方法,其中所述標識操作包括接收來自所述下遊節點的加入消息。
12.如權利要求10所述的方法,還包括接收來自所述下遊節點的所述應用數據單元的重傳輸請求;從所述應用獲取所述應用數據單元;以及將所述應用數據單元重傳輸到所述下遊節點。
13.如權利要求10所述的方法,還包括接收來自所述下遊節點的所述應用數據單元的重傳輸請求;將所述請求轉發到所述上遊節點;接收來自所述上遊節點的所述應用數據單元的重傳輸;以及將所述重傳輸轉發到所述下遊節點。
14.如權利要求6所述的方法,還包括接收來自下遊節點的加入消息,所述下遊節點是朝向所述傳輸會話源的所述路徑上的除所述直接連接的節點之外的其它直接連接的節點;從所述應用獲取所述傳輸會話的所有應用數據單元;將所述傳輸會話的所有應用數據單元轉發到所述下遊節點。
15.一種用於操作所選擇的節點以支持具有至少3方的傳輸層會話的方法,所述方法包括標識朝向傳輸層會話源的路徑上的第一直接連接的節點;接收來自所述第一直接連接的節點的傳輸協議數據單元;將所述傳輸協議數據單元的內容轉發到作為所述傳輸層會話源和所述所選擇的節點的下遊的第二直接連接的節點;在本地緩存中存儲所述傳輸協議數據單元的內容;接收來自所述第二直接連接的節點的重傳輸請求;以及通過從所述本地緩存獲取來響應於所述請求而進行重傳輸。
16.如權利要求15所述的方法,還包括接收來自所述第二直接連接的節點的重傳輸請求;將所述請求轉發到所述第一直接連接的節點;接收來自所述第一直接連接的節點的重傳輸數據;以及響應於所述請求,將所述重傳輸數據轉發到所述第二直接連接的節點。
17.一種用於操作所選擇的節點以在網絡中傳播資料庫更新的電腦程式產品,所述電腦程式產品包括用於標識參與傳輸層會話的一個或多個直接連接的鄰居節點的代碼;用於接收來自在所述所選擇的節點處運行的應用的應用數據單元的代碼;用於將所述應用數據單元封裝在傳輸協議數據單元內的代碼;用於僅向所述所標識的一個或多個直接連接的鄰居節點發送所述傳輸協議數據單元,作為所述傳輸層會話的一部分的代碼;以及存儲所述代碼的計算機可讀存儲介質。
18.如權利要求17所述的裝置,其中所述用於標識操作的代碼包括用於接收來自希望開始參與所述傳輸層會話的直接連接的鄰居節點的加入消息的代碼;用於接收來自不再希望參與所述傳輸層會話的直接連接的鄰居節點的剪枝消息的代碼。
19.如權利要求17所述的電腦程式產品,其中所述用於接收操作的代碼用於包括向所述應用數據單元指定序列號的代碼。
20.如權利要求17所述的電腦程式產品,其中所述所選擇的節點是用於所述傳輸層會話的源節點。
21.如權利要求17所述的電腦程式產品,其中所述傳輸協議數據單元由所述一個或多個所標識的鄰居節點傳播到其它節點。
22.一種用於操作所選擇的節點來支持傳輸層會話的電腦程式產品,所述電腦程式產品包括用於標識在朝向傳輸層會話源的路徑上的直接連接的節點的代碼,所述直接連接的節點是所述路徑上的上遊節點;用於接收來自所述上遊節點的傳輸協議數據單元的代碼;用於從所述傳輸協議數據單元中抽取應用數據單元的代碼;以及用於將所述應用數據單元傳遞到在所述所選擇的節點處運行的應用的代碼。
23.如權利要求22所述的電腦程式產品,其中所述用於標識操作的代碼包括用於基於路由信息庫(RIB),確定從所述所選擇的節點朝向所述傳輸層會話源的路徑的代碼。
24.如權利要求22所述的電腦程式產品,還包括用於在接收所述傳輸協議數據單元之前,向所述上遊節點發送加入消息的代碼。
25.如權利要求22所述的電腦程式產品,其中所述用於抽取操作的代碼包括用於從所述傳輸協議數據單元中抽取與所述應用數據單元相關聯的序列號的代碼,所述用於傳遞操作的代碼包括用於將所述序列號傳遞給所述應用的代碼。
26.如權利要求22所述的電腦程式產品,還包括用於標識所述上遊節點之外的至少一個直接連接的節點作為下遊節點的代碼;用於將所述傳輸層數據單元的內容轉發到所述下遊節點的代碼。
27.如權利要求26所述的電腦程式產品,其中所述用於標識操作的代碼包括用於接收來自所述下遊節點的加入消息的代碼。
28.如權利要求26所述的電腦程式產品,還包括用於接收來自所述下遊節點的所述應用數據單元的重傳輸請求的代碼;用於從所述應用獲取所述應用數據單元的代碼;以及用於將所述應用數據單元重傳輸到所述下遊節點的代碼。
29.如權利要求26所述的電腦程式產品,還包括用於接收來自所述下遊節點的所述應用數據單元的重傳輸請求的代碼;用於將所述請求轉發到所述上遊節點的代碼;用於接收來自所述上遊節點的所述應用數據單元的重傳輸的代碼;以及用於將所述重傳輸轉發到所述下遊節點的代碼。
30.如權利要求22所述的電腦程式產品,還包括用於接收來自下遊節點的加入消息的代碼,所述下遊節點是朝向所述傳輸會話源的所述路徑上的除所述直接連接的節點之外的其它直接連接的節點;用於從所述應用獲取所述傳輸會話的所有應用數據單元的代碼;用於將所述傳輸會話的所有應用數據單元轉發到所述下遊節點的代碼。
31.一種用於操作所選擇的節點以支持具有至少3方的傳輸層會話的電腦程式產品,所述電腦程式產品包括用於標識朝向傳輸層會話源的路徑上的第一直接連接的節點的代碼;用於接收來自所述第一直接連接的節點的傳輸協議數據單元的代碼;用於將所述傳輸協議數據單元的內容轉發到作為所述傳輸層會話源和所述所選擇的節點的下遊的第二直接連接的節點的代碼;用於在本地緩存中存儲所述傳輸協議數據單元的內容的代碼;用於接收來自所述第二直接連接的節點的重傳輸請求的代碼;用於通過從所述本地緩存獲取來響應於所述請求而進行重傳輸的代碼;以及用於存儲所述代碼的計算機可讀存儲介質。
32.如權利要求31所述的電腦程式產品,還包括用於接收來自所述第二直接連接的節點的重傳輸請求的代碼;用於將所述請求轉發到所述第一直接連接的節點的代碼;用於接收來自所述第一直接連接的節點的重傳輸數據的代碼;以及用於響應於所述請求,將所述重傳輸數據轉發到所述第二直接連接的節點的代碼。
33.一種用於操作所選擇的節點以在網絡中傳播資料庫更新的裝置,所述裝置包括用於標識參與傳輸層會話的一個或多個直接連接的鄰居節點的裝置;用於接收來自在所述所選擇的節點處運行的應用的應用數據單元的裝置;用於將所述應用數據單元封裝在傳輸協議數據單元內的裝置;以及用於僅向所述所標識的一個或多個直接連接的鄰居節點發送所述傳輸協議數據單元,作為所述傳輸層會話的一部分的裝置。
34.一種用於操作所選擇的節點來支持傳輸層會話的裝置,所述裝置包括用於標識在朝向傳輸層會話源的路徑上的直接連接的節點的裝置,所述直接連接的節點是所述路徑上的上遊節點;用於接收來自所述上遊節點的傳輸協議數據單元的裝置;用於從所述傳輸協議數據單元中抽取應用數據單元的裝置;以及用於將所述應用數據單元傳遞到在所述所選擇的節點處運行的應用的裝置。
35.一種用於操作所選擇的節點以支持具有至少3方的傳輸層會話的裝置,所述裝置包括用於標識朝向傳輸層會話源的路徑上的第一直接連接的節點的裝置;用於接收來自所述第一直接連接的節點的傳輸協議數據單元的裝置;用於將所述傳輸協議數據單元的內容轉發到作為所述傳輸層會話源和所述所選擇的節點的下遊的第二直接連接的節點的裝置;用於在本地緩存中存儲所述傳輸協議數據單元的內容的裝置;用於接收來自所述第二直接連接的節點的重傳輸請求的裝置;以及用於通過從所述本地緩存獲取來響應於所述請求而進行重傳輸的裝置。
36.一種用於操作所選擇的節點以在網絡中傳播資料庫更新的裝置,所述裝置包括用於執行指令的處理器;以及其上存儲有所述指令的存儲器設備,所述指令包括用於標識參與傳輸層會話的一個或多個直接連接的鄰居節點的代碼;用於接收來自在所述所選擇的節點處運行的應用的應用數據單元的代碼;用於將所述應用數據單元封裝在傳輸協議數據單元內的代碼;以及用於僅向所述所標識的一個或多個直接連接的鄰居節點發送所述傳輸協議數據單元,作為所述傳輸層會話的一部分的代碼。
37.一種用於操作所選擇的節點來支持傳輸層會話的裝置,所述裝置包括用於執行指令的處理器;以及其上存儲有所述指令的存儲器設備,所述指令包括用於標識在朝向傳輸層會話源的路徑上的直接連接的節點的代碼,所述直接連接的節點是所述路徑上的上遊節點;用於接收來自所述上遊節點的傳輸協議數據單元的代碼;以及用於將所述應用數據單元傳遞到在所述所選擇的節點處運行的應用的代碼。
38.一種用於操作所選擇的節點以支持具有至少3方的傳輸層會話的裝置,所述裝置包括用於執行指令的處理器;以及其上存儲有所述指令的存儲器設備,所述指令包括用於標識朝向傳輸層會話源的路徑上的第一直接連接的節點的代碼;用於接收來自所述第一直接連接的節點的傳輸協議數據單元的代碼;用於將所述傳輸協議數據單元的內容轉發到作為所述傳輸層會話源和所述所選擇的節點的下遊的第二直接連接的節點的代碼;用於在本地緩存中存儲所述傳輸協議數據單元的內容的代碼;用於接收來自所述第二直接連接的節點的重傳輸請求的代碼;以及用於通過從所述本地緩存獲取來響應於所述請求而進行重傳輸的代碼。
全文摘要
較高層應用所使用的多方可靠傳輸協議。單個的會話源通過傳播樹來向多個接收者傳播資料庫更新。希望加入會話的節點通過訪問單播路由協議信息來選擇上遊到源的路徑上的直接連接的節點,並向該上遊鄰居發送「加入」消息。參加該方案的每個節點處理來自其直接連接的下遊鄰居的重傳輸請求。被支持的應用為潛在的重傳輸提供先前所傳輸的信息的存儲。
文檔編號H04L12/56GK1695355SQ03824683
公開日2005年11月9日 申請日期2003年9月24日 優先權日2002年10月28日
發明者艾斯德爾·庫韋拉斯, 洛倫佐·維西薩諾 申請人:思科技術公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀