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

一種流量控制方法及通信設(shè)備的制作方法

文檔序號:7649504閱讀:232來源:國知局
專利名稱:一種流量控制方法及通信設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及InfiniBand(IB,無限帶寬網(wǎng)絡(luò)),具體地說,是涉及InfiniBand系統(tǒng)中IPoIB技術(shù)鏈路層流量控制方法及通信設(shè)備。
背景技術(shù)
InfiniBand是由InfiniBand協(xié)會開發(fā)的體系結(jié)構(gòu)技術(shù),它是一種用于實現(xiàn)基于通道的交換式技術(shù)的通用I/O規(guī)范。InfiniBand的解決方案包括一個連接多個獨立處理器和I/O平臺的系統(tǒng)區(qū)域網(wǎng)絡(luò),它所定義的通信和管理結(jié)構(gòu)同時支持I/O和處理器與處理器之間的通信。InfiniBand系統(tǒng)可以是只有少量I/O設(shè)備的單處理器服務(wù)器,也可以是大型的并行超級計算機。主要用于服務(wù)器領(lǐng)域的通信,包括服務(wù)器與服務(wù)器(比如復(fù)制,分布式工作等),服務(wù)器和存儲設(shè)備(比如存儲區(qū)域網(wǎng)絡(luò)SAN和直接存儲附件)以及服務(wù)器和網(wǎng)絡(luò)之間(比如LAN,WANs、Internet等)的通信。
IPoIB(IP over InfiniBand,IP報文在IB上傳輸)技術(shù)標準即通過InfiniBand傳輸IP報文,使具有HCA(Host Channel Adapter,主機通道適配器)卡的主機借助IPoIB來訪問Internet網(wǎng)。
由于InfiniBand總線為一種高速總線,當(dāng)IB主機或IB網(wǎng)關(guān)(例如IB網(wǎng)到Ethernet網(wǎng)的IB網(wǎng)關(guān))等在IPoIB驅(qū)動上接收到過量IP數(shù)據(jù)報文時,有可能會出現(xiàn)報文處理不過來產(chǎn)生積壓、內(nèi)存耗盡(每個IP報文需要申請一片內(nèi)存,大量數(shù)據(jù)包將占用大片內(nèi)存)等情況,甚至造成丟包現(xiàn)象。目前解決擁塞的方法是,需要通過重傳機制或更高層的傳輸層協(xié)議來進行流控。然而,對于采用重傳機制會帶來延時增大、網(wǎng)絡(luò)吞吐量嚴重降低、網(wǎng)絡(luò)資源浪費等一系列問題。而對于采用TCP傳輸層協(xié)議來進行流控時,它只是面向一個連接單位方式的流控,無法對全局進行快速流控,而且流控滯后性比較大。
例如,對于IB-ETHERNET網(wǎng)關(guān),由于IB網(wǎng)關(guān)主要實現(xiàn)路由轉(zhuǎn)發(fā)功能,路由協(xié)議運行在網(wǎng)絡(luò)層上,并不會通過更高層的TCP傳輸層協(xié)議與互連的主機之間及時進行流控。同時,當(dāng)IPoIB幀轉(zhuǎn)發(fā)的目的接口為慢速接口如GE口(慢速接口是相對與InfiniBand傳輸速率)時,極易造成突發(fā)數(shù)據(jù)包堆積現(xiàn)象。當(dāng)報文大量堆積在IB網(wǎng)關(guān)側(cè)時,容易造成大量數(shù)據(jù)包丟棄。在最壞情況下,引起IP報文大量重傳,大量重傳又造成報文堆積,并最終造成IB網(wǎng)關(guān)癱瘓。
因此,如何提供一種能對IPoIB報文進行流量控制的方法及通信設(shè)備,成為亟待解決的技術(shù)問題。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種流量控制方法及通信設(shè)備,來實現(xiàn)對IPoIB報文進行及時有效的流量控制。
為解決上述技術(shù)問題,本發(fā)明提供方案如下一種流量控制方法,用于具有第一通信設(shè)備,及一個或多個第二通信設(shè)備的Infiniband系統(tǒng),包括如下步驟當(dāng)?shù)谝煌ㄐ旁O(shè)備檢測到需要進行流量控制時,向需要被流控的第二通信設(shè)備發(fā)送攜帶流控事件信息的IPoIB報文;第二通信設(shè)備解析收到的所述IPoIB報文,獲取其攜帶的流控事件信息,進行流量控制。
本發(fā)明所述的方法,其中,所述流量事件信息是局部流控事件信息、或全局流控事件信息、或取消流控事件信息、或無流控事件信息。
本發(fā)明所述的方法,其中,所述向需要被流控的第二通信設(shè)備發(fā)送攜帶流量控制信息的IPoIB報文,是向需要被流控的第二通信設(shè)備單播發(fā)送攜帶流量控制信息的IPoIB報文。
本發(fā)明所述的方法,其中,所述向需要被流控的第二通信設(shè)備單播發(fā)送攜帶流量控制信息的IPoIB報文,是當(dāng)存在發(fā)往被流控第二通信設(shè)備的IPoIB報文時,在所述IPoIB報文中的保留字段寫入流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備;或者當(dāng)不存在發(fā)往被流控第二通信設(shè)備的IPoIB報文時,構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備。
本發(fā)明所述的方法,其中,所述向需要被流控的第二通信設(shè)備發(fā)送攜帶流量控制信息的IPoIB報文,是在廣播域內(nèi)廣播發(fā)送攜帶流量控制信息的IPoIB報文。
本發(fā)明所述的方法,其中,所述在廣播域內(nèi)廣播發(fā)送攜帶流量控制信息的IPoIB報文,是構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至廣播域內(nèi)除第一通信設(shè)備外的第二通信設(shè)備。
本發(fā)明所述的方法,其中,所述在免費APR報文中的保留字段或IPoIB報文中的保留字段中寫入流控事件信息是在保留字段中的1或2個比特位中寫入流控事件信息。
本發(fā)明所述的方法,其中,所述第二通信設(shè)備解析收到的所述攜帶流量控制信息的IPoIB報文,進行流量控制,進一步包括如下步驟從收到的IPoIB報文中解析出流控信息并維護,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息};當(dāng)所維護的流控事件信息是局部流控事件時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是全局流控事件時,暫停向外除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是取消流控事件時,取消當(dāng)前執(zhí)行的流控事件;當(dāng)所維護的流控事件信息是無流控事件時,不做流控操作。
本發(fā)明所述的方法,其中,所述從收到的IPoIB報文中解析出流控信息{流控發(fā)起者唯一標識信息,流控事件信息}并維護,是所述維護流控發(fā)起者唯一標識信息是從報文的源地址中提取流控發(fā)起者的唯一標識信息;所述維護流控事件信息是在全局流控階段時,如果收到新局部流控事件信息,則對新收到的局部流控事件信息進行屏蔽,不做響應(yīng);如果收到新的全局流控事件信息,則刪除已有全局流控事件信息,接收新的全局流控事件信息;或者對新收到的全局流控事件進行屏蔽;在局部流控階段時,如果收到新的全局流控事件信息,則刪除已有的局部流控信息,接收新的全局流控事件信息;如果收到新的局部流控事件,并且是來自同一個IPoIB接口的流控事件信息,則刪除已有局部流控事件信息,接收新的局部流控事件信息;如果收到新的局部流控事件,并且是來自不同IPoIB接口流控事件信息,則同時保留新的局部流控事件信息。
本發(fā)明所述的方法,其中,所述第二通信設(shè)備解析收到的所述攜帶流量控制信息的IPoIB報文,進行流量控制,進一步包括如下步驟從收到的IPoIB報文中解析出流控信息并維護,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息,定時器},所述定時器中設(shè)置定時值,該定時值是為流控事件為局部流控事件或全局流控事件時所創(chuàng)建的定時值;當(dāng)所維護的流控事件信息是局部流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是全局流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向外除ARP報文外的任何IPoIB報文。
一種通信設(shè)備,包括端口流量檢測單元,其中,還包括與端口流量檢測單元相連的流控發(fā)起單元,用于收到來自端口檢測單元的觸發(fā)信號后,在IPoIB報文中攜帶流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備。
本發(fā)明所述的設(shè)備,其中,所述流控發(fā)起單元,進一步用于在IPoIB報文中的保留字段寫入流控事件信息,并發(fā)送至需要流控的第二通信設(shè)備。
本發(fā)明所述的設(shè)備,其中,所述流控發(fā)起單元,進一步用于發(fā)起單播流控事件時,當(dāng)存在發(fā)往被流控通信設(shè)備的IPoIB報文時,在所述IPoIB報文中的保留字段寫入流控事件信息,并發(fā)送至需要被流控的通信設(shè)備;或者當(dāng)不存在發(fā)往被流控通信設(shè)備的IPoIB報文時,構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至需要被流控的通信設(shè)備。
本發(fā)明所述的設(shè)備,其中,所述流控發(fā)起單元,進一步用于發(fā)起廣播流控事件時,構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至廣播域內(nèi)自身外的其他通信設(shè)備。
本發(fā)明所述的設(shè)備,其中,所述端口流量檢測單元,用于檢測到需要進行流量控制時,觸發(fā)流控發(fā)起單元。
本發(fā)明所述的設(shè)備,其中,所述端口流量檢測單元,進一步用于當(dāng)檢測到內(nèi)存耗盡時;或者收到過量的、無法及時處理的IPoIB報文時,觸發(fā)流控發(fā)起單元。
一種通信設(shè)備,其中,包括流控信息維護單元,用于從收到的IPoIB報文中解析出流控信息并維護,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息};以及,所述流控執(zhí)行單元,用于根據(jù)流控信息維護單元維護的流控信息,執(zhí)行流控。
本發(fā)明所述的設(shè)備,其中,所述流控信息維護單元,進一步用于從報文的源地址中提取流控發(fā)起者的唯一標識信息;在全局流控階段時,如果收到新局部流控事件信息,則對新收到的局部流控事件信息進行屏蔽,不做響應(yīng);如果收到新的全局流控事件信息,則刪除已有全局流控事件信息,接收新的全局流控事件信息;或者對新收到的全局流控事件進行屏蔽;在局部流控階段時,如果收到新的全局流控事件信息,則刪除已有的局部流控信息,接收新的全局流控事件信息;如果收到新的局部流控事件,并且是來自同一個IPoIB接口的流控事件信息,則刪除已有局部流控事件信息,接收新的局部流控事件信息;如果收到新的局部流控事件,并且是來自不同IPoIB接口流控事件信息,則同時保留新的局部流控事件信息。
本發(fā)明所述的設(shè)備,其中,所述流控執(zhí)行單元,進一步用于當(dāng)流控信息維護單元維護的是局部流控事件時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)流控信息維護單元維護的是全局流控事件時,暫停向外除ARP報文外的任何IPoIB報文;當(dāng)流控信息維護單元維護的是取消流控事件時,取消當(dāng)前執(zhí)行的流控事件;當(dāng)流控信息維護單元維護的是無流控事件時,不做流控操作。
本發(fā)明所述的設(shè)備,其中,所述流控信息維護單元,進一步用于從收到的報文中解析出流控信息并維護,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息,定時器},所述定時器中設(shè)定定時值,該定時值是為流控事件為局部流控事件或全局流控事件時所創(chuàng)建的定時值。
本發(fā)明所述的設(shè)備,其中,所述流控執(zhí)行單元,進一步用于當(dāng)流控信息維護單元維護的是局部流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)流控信息維護單元維護的是全局流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向外除ARP報文外的任何IPoIB報文。
本發(fā)明所述流量控制方法及通信設(shè)備,由于采用IPoIB報文中前導(dǎo)頭的Reserved字段的某些比特位來定義流控事件,不需要再定義新的流控IPoIB報文類型,從而可以實現(xiàn)與標準無流控IPoIB驅(qū)動軟件的無縫兼容,即實現(xiàn)該流控機制的IPoIB接口可以與不具有該流控機制的IPOIB接口之間進行任何的IPoIB報文交互,實現(xiàn)了IPoIB報文的流控管理,防止了由于報文擁塞而引起嚴重丟包現(xiàn)象或網(wǎng)絡(luò)癱瘓現(xiàn)象。另外,由于可以在發(fā)往被流控目的的IPoIB報文中直接添加流控信息;或通過構(gòu)建一個免費ARP協(xié)議報文,并在該報文前導(dǎo)頭的Reserved字段中直接添加流控信息??梢?,為實現(xiàn)流控而犧牲的帶寬非常小。任何IPOIB接口可以實現(xiàn)單播局部流控、單播全局流控、廣播局部流控、廣播全局流控四種IPoIB鏈路層流控中的一種或多種,不同流控的IPOIB接口間可以實現(xiàn)無縫IPoIB報文交換。同時,任何IPOIB接口可以只實現(xiàn)流控方(流控請求發(fā)起者,自身不對接收到的流控信息作出響應(yīng))或被流控方(流控接收者,自身不會發(fā)起流控請求)。因此,具體在選擇所需的流控方案上可以非常靈活,可以適應(yīng)不同流控要求。
本發(fā)明所要解決的技術(shù)問題、技術(shù)方案要點及有益效果,將結(jié)合實施例,參照附圖作進一步說明。


圖1為本發(fā)明實施例所述流量控制方法的流程圖;圖2為IPoIB幀格式的結(jié)構(gòu)示意圖;圖3本發(fā)明實施例所述單播全局流控下的IPoIB流控方法的流程圖;
圖4本發(fā)明實施例所述單播局部流控下的IPoIB流控方法的流程圖;圖5本發(fā)明實施例所述廣播全局流控下的IPoIB流控方法的流程圖;圖6本發(fā)明實施例所述廣播局部流控下的IPoIB流控方法的流程圖;圖7為本發(fā)明實施例所述系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式
參照圖1,本發(fā)明實施例所述流量控制方法,用于具有第一通信設(shè)備(IPoIB鏈路層中流控發(fā)起者),及一個或多個第二通信設(shè)備(被流控者)的Infiniband系統(tǒng),具體步驟如下步驟101當(dāng)?shù)谝煌ㄐ旁O(shè)備檢測到需要進行流量控制時,則向需要被流控的第二通信設(shè)備發(fā)送攜帶流控事件信息的IPoIB報文;步驟102第二通信設(shè)備解析收到的所述攜帶流控事件信息的IPoIB報文,進行流量控制。
這里,所述步驟101中所述當(dāng)?shù)谝煌ㄐ旁O(shè)備檢測到需要進行流量控制時的情況,如,當(dāng)?shù)谝煌ㄐ旁O(shè)備的內(nèi)存耗盡時;或者第一通信設(shè)備收到過量的、無法及時處理的IPoIB報文時;或者其他導(dǎo)致第一通信設(shè)備處于報文擁塞的情況下。
所述步驟101中所述向需要被流控的第二通信設(shè)備發(fā)送攜帶流控事件信息的IPoIB報文,先是由第一通信設(shè)備判斷導(dǎo)致報文擁塞的情況是由于來自哪些通信設(shè)備的報文所引起的,然后,通過單播或者廣播的方式向這樣的一個或多個第二通信設(shè)備發(fā)送攜帶流控事件信息的IPoIB報文。
我們知道,IPoIB通過Infiniband體系的Unreliable Datagram(UD,不可靠數(shù)據(jù)報)傳輸層協(xié)議來承載IP報文,即在UD幀中的載荷數(shù)據(jù)段上封裝了TCP/IP數(shù)據(jù)包,具體幀格式如圖2所示,其中,包括Infiniband的幀頭(IB Frameheaders)部分、載荷(payload)部分、幀尾(IB Trailers)部分。
這里,圖2所示的IPoIB幀中有效載荷部分的報文具體格式,包括前導(dǎo)頭部分和IP/ARP報文部分。前導(dǎo)頭中,Type(類型)字段占2個字節(jié),指示所封裝的協(xié)議類型,該字段與Ethernet中的Type字段的定義保持一致。后面為2bytes為Reserved保留字段,最后為0~4092bytes的IP/ARP報文。
所述步驟101中所述向需要被流控的第二通信設(shè)備發(fā)送攜帶流量控制信息的IPoIB報文,可以利用前導(dǎo)頭中Reserved字段上任意的1bit或者2bits位來定義流控事件信息(全局流控事件信息、或局部流控事件信息、或取消流控事件信息、或無流控事件信息),并通過這些流控事件信息來啟動流控、取消流控等流控操作,達到各個通信設(shè)備間及時流控目的。流控事件信息可以采用如下定義,即,表1、表2中所示表1

表2

其中,表1是采用1bit位表示流控事件;表2是采用2bit位表示流控事件。這里,表2中的啟動局部流控事件表示為接收到該事件的IPoIB接口,不對該事件的發(fā)起IPoIB接口發(fā)送除ARP報文外的任何IPoIB幀;啟動全局流控事件表示為接收到該事件的IPoIB接口,該端口不發(fā)送除ARP報文外的任何IPoIB幀。當(dāng)然,對于表1、表2中各個比特位表示流控事件的定義不限于上述表中所列順序,表1、表2只是給出了2種可能的定義形式。
對第一通信設(shè)備(IPoIB鏈路層流控發(fā)起者),當(dāng)檢測到需要發(fā)起流控事件(如上面提到的內(nèi)存耗盡、報文處理不過來等需要進行流控或需要取消流控)時,可以通過兩種方式發(fā)送流控事件。一種為單播發(fā)送方式,另一種為廣播發(fā)送方式。在單播發(fā)送方式下,可以通過構(gòu)建一個免費(gratuitous)ARP單播報文或直接利用IPoIB單播報文來承載流控事件。也就是說,當(dāng)正好有發(fā)往第二通信設(shè)備(被流控目的IPoIB接口)的IPoIB報文時,則直接把流控事件(全局流控、或局部流控、或取消流控)標記寫入IPoIB報文的Reserved字段中事先已定義的固定流控事件位。當(dāng)沒有發(fā)往被流控目的IPoIB接口的IPoIB報文時,則直接產(chǎn)生一個免費ARP單播報文,該免費ARP報文只發(fā)送給接收該流控事件的目的IPoIB接口,即該免費ARP報文的目的鏈路層物理地址(二層地址)為接收該流控事件的目的IPoIB接口鏈路層地址,并在該免費APR報文的Reserved字段的固定流控事件位中寫入流控事件(全局流控、或局部流控、或取消流控)。對于廣播發(fā)送方式,則需要產(chǎn)生一個廣播免費ARP報文,即該廣播免費ARP報文的鏈路層物理地址采用鏈路層廣播地址,并在Reserved字段的固定流控事件位中寫入流控事件(全局流控、或局部流控、或取消流控),向該廣播域內(nèi)的所有IPoIB接口發(fā)送。單播發(fā)送只針對單個目的IPoIB接口進行某種流控(局部或全局),而廣播發(fā)送則對該廣播域內(nèi)的所有IPoIB接口進行某種流控。
所述步驟102中所述第二通信設(shè)備解析收到的所述攜帶流量控制信息的IPoIB報文,是當(dāng)?shù)诙ㄐ旁O(shè)備收到IPoIB報文后,在報文接收部分中增加對每個數(shù)據(jù)報文的Reserved字段中事先已定義的固定流控事件位進行檢測的操作。
首先,從收到的IPoIB報文中解析出流控事件信息,創(chuàng)建并維護流控信息,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息},如,所述維護流控發(fā)起者唯一標識信息是從報文的源地址中提取流控發(fā)起者的唯一標識信息;所述維護流控事件信息是在全局流控階段時,如果收到新局部流控事件信息,則對新收到的局部流控事件信息進行屏蔽,不做響應(yīng);如果收到新的全局流控事件信息,則刪除已有全局流控事件信息,接收新的全局流控事件信息;或者對新收到的全局流控事件不做響應(yīng);在局部流控階段時,如果收到新的全局流控事件信息,則刪除已有的局部流控信息,接收新的全局流控事件信息;如果收到新的局部流控事件,并且是來自同一個IPoIB接口的流控事件信息,則刪除已有局部流控事件信息,接收新的局部流控事件信息;如果收到新的局部流控事件,并且是來自不同IPoIB接口流控事件信息,則同時保留新的局部流控事件信息。
當(dāng)所維護的流控事件信息是局部流控事件時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是全局流控事件時,暫停向外除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是取消流控事件時,取消當(dāng)前執(zhí)行的流控事件;當(dāng)所維護的流控事件信息是無流控事件時,不做流控操作。
另外,所述從收到的IPoIB報文中解析出流控事件信息,創(chuàng)建并維護流控信息,所述流控信息還可以是{流控發(fā)起者唯一標識信息,流控事件信息,定時器},所述定時器中設(shè)置定時值,該定時值是為流控事件為局部流控事件或全局流控事件時所創(chuàng)建的定時值;此時,當(dāng)所維護的流控事件信息是局部流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是全局流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向外除ARP報文外的任何IPoIB報文。
例如,當(dāng)檢測到的流控事件位表示為正常無流控事件時,則接收到該IPoIB報文的IPoIB接口不做任何響應(yīng),即,第二通信設(shè)備不做任何響應(yīng)。
當(dāng)檢測到的流控事件位表示為啟動全局流控事件時,則第二通信設(shè)備(以下稱為接收到該IPoIB報文的IPoIB接口)將不向外發(fā)送除ARP報文(本文中除明確聲明外,ARP報文都特指為IPoIB標準定義下的ARP報文)外的任何IPoIB報文,除非到第一通信設(shè)備(以下稱為流控事件發(fā)起端口)的取消流控事件;或者,接收到該IPoIB報文的IPoIB接口將產(chǎn)生一個定時器,在該定時器所設(shè)定的定時值時間內(nèi),不向外發(fā)送除ARP報文外的任何IPoIB報文;或者,接收到該IPoIB報文的IPoIB接口將產(chǎn)生一個定時器,在該定時器所設(shè)定的定時值時間內(nèi),不向外發(fā)送除ARP報文外的任何IPoIB報文,除非接收到該事件發(fā)起端口的取消流控事件。這里,全局流控事件每個IPoIB接口只有一個,當(dāng)在全局流控事件限制階段,該端口又收到新的全局流控事件,則新的全局流控事件信息代替舊的全局流控事件信息(信息包括定時器、流控事件發(fā)起者的唯一標識信息,如IP地址等),或者對新的全局流控事件進行屏蔽,保持舊的全局流控事件信息。
當(dāng)檢測到的流控事件位表示為啟動局部流控事件時,則接收到該IPoIB報文的IPoIB接口不對該流控事件的發(fā)起端口發(fā)送除ARP報文外的任何IPoIB報文,除非接收到該流控事件的發(fā)起端口的取消流控事件;或者,接收到該IPoIB報文的IPoIB接口將產(chǎn)生一個針對該流控事件的發(fā)起端口的局部的定時器,在該定時器所設(shè)定的定時值時間內(nèi),不對該流控事件的發(fā)起端口發(fā)送除ARP報文外的任何IPoIB報文;或者,接收到該IPoIB報文的IPoIB接口將產(chǎn)生一個針對該流控時間發(fā)起端口的局部的定時器,在該定時器所設(shè)定的定時值時間內(nèi),不對該流控事件的發(fā)起端口發(fā)送除ARP報文外的任何IPoIB報文,除非接收到該流控事件的發(fā)起端口的取消流控事件。這里,當(dāng)在隨機發(fā)送延時時間內(nèi),接收到該IPoIB報文的IPOIB接口重復(fù)收到相同IPOIB接口發(fā)送過來的啟動局部流控事件,則用新的局部流控信息來替代;如果收到不同的IPOIB接口發(fā)送來的啟動局部流控事件時,則同時保留新的IPOIB接口發(fā)送來的局部流控事件。
為簡化流控,一般在全局流控階段,我們可以對收到新的局部流控事件進行屏蔽,不做響應(yīng)。而在局部流控階段,如果收到新的全局流控事件,則刪除所有已有的局部流控信息。
根據(jù)上面的描述可知,當(dāng)采用2bits位來進行流控時,可以有四種流控組合,分別為單播局部流控、單播全局流控、廣播局部流控、廣播全局流控。單播局部流控主要為兩通信設(shè)備之間進行流控服務(wù)。單播全局流控可以實現(xiàn)被流控的端口不向外發(fā)送任何除ARP報文外的IPoIB報文。廣播局部流控可以實現(xiàn)廣播域內(nèi)的所有通信設(shè)備不向該流控發(fā)起者發(fā)送任何除ARP報文外的IPoIB報文,如IB網(wǎng)關(guān)可以利用該流控來緩解突發(fā)擁塞。廣播全局流控則實現(xiàn)廣播域內(nèi)所有通信設(shè)備(除流控發(fā)起者外)暫停發(fā)送除ARP報文外的IPoIB報文,可以在廣播域內(nèi)高度擁塞的情況下使用。
下面我們分別參照圖3至圖6,分別就單播局部流控下的IPoIB流控實現(xiàn)過程、單播全局流控下的IPoIB流控實現(xiàn)過程、廣播局部流控下的IPoIB流控實現(xiàn)過程、廣播全局流控下的IPoIB流控實現(xiàn)過程,來對本發(fā)明實施例所述IPoIB鏈路層流控方法進行進一步說明。
如圖3所示,本發(fā)明實施例所述當(dāng)某個通信設(shè)備出現(xiàn)IPoIB報文擁塞,需要對某一通信設(shè)備進行局部流量控制時,發(fā)起單播局部流控下的IPoIB流控實現(xiàn)的交互過程如下對于流控發(fā)起者步驟311判斷是否存在發(fā)往被流控對象的IPoIB報文;如果存在,則執(zhí)行步驟313,否則,執(zhí)行步驟312;步驟312構(gòu)建一個免費ARP報文;這里,由于沒有直接發(fā)往被流控對象的IPoIB報文,則通過構(gòu)建一個免費的ARP報文,在犧牲非常小的帶寬的同時,來構(gòu)建一個可以攜帶流控事件信息的載體;步驟313在所述發(fā)往被流控對象的IPoIB報文或構(gòu)建的免費ARP報文中的保留字段中寫入局部流控事件標志,并發(fā)送至被流控對象。
對于被流控對象步驟321檢測到收到的報文中的預(yù)留字段中設(shè)置了局部流控事件標識;步驟322判斷是否存在全局流控事件,如果存在,則執(zhí)行步驟323;否則,執(zhí)行步驟324;步驟323對該局部流控事件不作任何響應(yīng),結(jié)束;這里,也就是說被流控對象處于已全局流控階段,此時,對于收到新局部流控事件信息,則進行屏蔽,不做響應(yīng);步驟324判斷是否已經(jīng)存在來源于同一IPoIB接口的局部流控事件,如果存在,則執(zhí)行步驟325,否則,執(zhí)行步驟326;步驟325刪除原局部流控事件;這里,也就是說被流控對象已處于局部流控階段,此時,又收到來自同一個IPoIB接口的流控事件信息,則刪除已有局部流控事件信息,接收新的局部流控事件信息;步驟326創(chuàng)建流控信息,包括流控發(fā)起者唯一標識信息、流控事件信息、定時器,暫停對流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文,這里,流控事件信息即為局部流控;所述定時器設(shè)置的時間值是針對該局部流控所設(shè)定的流控時間,當(dāng)定時器超時,則該局部流控會自動取消。
當(dāng)流控發(fā)起者檢測出IPoIB報文擁塞情況得以緩解,需要取消對被流控對象的流控時對于流控發(fā)起者步驟314是否存在發(fā)往被流控對象的IPoIB報文,如果存在,則執(zhí)行步驟316,否則,執(zhí)行步驟315;步驟315構(gòu)建一個免費的ARP報文;這里,由于沒有直接發(fā)往被流控對象的IPoIB報文,則通過構(gòu)建一個免費的ARP報文,在犧牲非常小的帶寬的同時,來構(gòu)建一個可以攜帶流控事件信息的載體;步驟316在所述發(fā)往被流控對象的IPoIB報文或構(gòu)建的免費ARP報文中的保留字段中寫入取消流控事件標志,并發(fā)送至被流控對象,結(jié)束。
對于被流控對象步驟327所述定時器超時或收到取消流控事件或收到全局流控事件;步驟328判斷是否是全局流控事件,如果是,執(zhí)行步驟329,否則,執(zhí)行步驟330;步驟329刪除該定時器,刪除局部流控事件,刪除流控發(fā)起者唯一標識信息。這里,由于被流控對象已經(jīng)處于局部流控階段,又收到了全局流控事件,因此,需要刪除刪除該定時器,刪除局部流控事件,刪除流控發(fā)起者唯一標識信息,來接受全局流控事件。
步驟330刪除該定時器,刪除局部流控事件,刪除包含流控發(fā)起者唯一標識信息,此時,流控被取消,允許被流控對象發(fā)送報文至流控發(fā)起者。
在上述流控發(fā)起者與被流控對象的交互過程中,對于被流控對象,在所述步驟326中,可以不創(chuàng)建這個定時器,在所述步驟327中,只根據(jù)是否收到來自流控發(fā)起者的取消流控事件來對流控進行取消與否的操作,這樣做同樣可以實現(xiàn)流控。
同樣,對于流控發(fā)起者也可以不發(fā)起取消流控事件,對于流控的取消,可以只依賴于被流控對象創(chuàng)建的定時器,當(dāng)定時器超時時取消流控事件。
由此可見,對于單播局部流控下的IPoIB流控實現(xiàn)的交互過程,圖3所述交互過程中,通過流控發(fā)起者發(fā)起取消流控事件、以及被流控對象創(chuàng)建的定時器超時來取消流控事件是最優(yōu)方式,因為當(dāng)流控發(fā)起者死機重啟以后,便可以通過被流控對象創(chuàng)建的定時器超時,來取消流控事件。從而避免了只能通過流控發(fā)起者發(fā)起取消流控事件而流控發(fā)起者重啟之后,無法對之前的流控事件進行取消的情況。因為流控發(fā)起者重啟以后,擁塞的情況已經(jīng)得以緩解,但是其無法得知之前已經(jīng)發(fā)起過流控事件,而之前未取消的流控事件還在被流控對象上繼續(xù)執(zhí)行,顯然需要避免這種情況的出現(xiàn)。
如圖4所示,本發(fā)明實施例所述當(dāng)某個通信設(shè)備出現(xiàn)IPoIB報文擁塞,需要對某一通信設(shè)備進行全局流量控制時,發(fā)起單播全局流控下的IPoIB流控實現(xiàn)的交互過程如下對于流控發(fā)起者步驟411判斷是否存在發(fā)往被流控對象的IPoIB報文;如果存在,則執(zhí)行步驟413,否則,執(zhí)行步驟412;步驟412構(gòu)建一個免費ARP報文;這里,由于沒有直接發(fā)往被流控對象的IPoIB報文,則通過構(gòu)建一個免費的ARP報文,在犧牲非常小的帶寬的同時,來構(gòu)建一個可以攜帶流控事件信息的載體;步驟413在所述發(fā)往被流控對象的IPoIB報文或構(gòu)建的免費ARP報文中的保留字段中寫入全局流控事件標志,并發(fā)送至被流控對象。
對于被流控對象步驟421檢測到收到的報文中的預(yù)留字段中設(shè)置了全局流控事件標識;步驟422判斷是否存在全局流控事件,如果存在,則執(zhí)行步驟423;否則,執(zhí)行步驟424;步驟423不做響應(yīng),結(jié)束;此時,由于被流控對象處于全局流控階段,又收到新全部流控事件信息,則可以不做響應(yīng)。
步驟424刪除局部流控事件信息,并創(chuàng)建新的流控信息,包括流控發(fā)起者唯一標識信息、流控事件信息、定時器,暫停向外發(fā)送除ARP報文外的任何IPoIB報文,這里,流控事件信息即為全局流控;所述定時器中設(shè)定定時值,該定時值是針對該全局流控所設(shè)定的流控時間,當(dāng)定時器超時,則該全局流控會自動取消。
當(dāng)流控發(fā)起者檢測出IPoIB報文擁塞情況得以緩解,需要取消對被流控對象的流控時對于流控發(fā)起者步驟414是否存在發(fā)往被流控對象的IPoIB報文,如果存在,則執(zhí)行步驟416,否則,執(zhí)行步驟415;步驟415構(gòu)建一個免費的ARP報文;這里,由于沒有直接發(fā)往被流控對象的IPoIB報文,則通過構(gòu)建一個免費的ARP報文,在犧牲非常小的帶寬的同時,來構(gòu)建一個可以攜帶流控事件信息的載體;步驟416在所述發(fā)往被流控對象的IPoIB報文或構(gòu)建的免費ARP報文中的保留字段中寫入取消流控事件標志,并發(fā)送至被流控對象,結(jié)束。
對于被流控對象步驟425所述定時器超時或收到取消流控事件;步驟426由于流控被取消,刪除流控信息,允許發(fā)送IPoIB報文至流控發(fā)起者。
在上述流控發(fā)起者與被流控對象的交互過程中,對于被流控對象,在所述步驟424中,可以不創(chuàng)建定時器,在所述步驟425中,只根據(jù)是否收到來自流控發(fā)起者的取消流控事件來對流控進行取消與否的操作,這樣做同樣可以實現(xiàn)流控。
同樣,對于流控發(fā)起者也可以不發(fā)起取消流控事件,對于流控的取消,可以只依賴于被流控對象創(chuàng)建的定時器,當(dāng)定時器超時時取消流控事件。
由此可見,對于單播全局流控下的IPoIB流控實現(xiàn)的交互過程,圖4所述交互過程中,通過流控發(fā)起者發(fā)起取消流控事件、以及創(chuàng)建的定時器超時來取消流控事件是最優(yōu)方式,理由同圖3所述理由類似,這里不再贅述。
如圖5所示,本發(fā)明實施例所述當(dāng)某個通信設(shè)備出現(xiàn)IPoIB報文擁塞,需要對廣播域內(nèi)的通信設(shè)備進行局部流量控制時,發(fā)起廣播局部流控下的IPoIB流控實現(xiàn)的交互過程如下對于流控發(fā)起者步驟511構(gòu)建一個廣播免費ARP報文;這里,由于需要廣播發(fā)起流控,則通過構(gòu)建一個免費的ARP報文,來作為攜帶流控事件信息的載體;
步驟512在所述構(gòu)建的廣播免費ARP報文中的保留字段中寫入局部流控事件標志,并發(fā)送至廣播域內(nèi)除流控發(fā)起者外的通信設(shè)備;對于被流控對象(廣播域內(nèi)所有通信設(shè)備,除流控發(fā)起者)步驟521檢測到收到的報文中的預(yù)留字段中設(shè)置了局部流控事件標識;步驟522判斷是否存在全局流控事件,如果存在,則執(zhí)行步驟523;否則,執(zhí)行步驟524;步驟523對該局部流控事件不作任何響應(yīng),結(jié)束;這里,也就是說被流控對象處于已全局流控階段,此時,對于收到新局部流控事件信息,則進行屏蔽,不做響應(yīng);步驟524判斷是否已經(jīng)存在來源于同一IPoIB接口的局部流控事件,如果存在,則執(zhí)行步驟525,否則,執(zhí)行步驟526;步驟525刪除原局部流控事件;這里,也就是說被流控對象已處于局部流控階段,此時,又收到來自同一個IPoIB接口的流控事件信息,則刪除已有局部流控事件信息,接收新的局部流控事件信息;步驟526創(chuàng)建流控信息,包括流控發(fā)起者唯一標識信息、流控事件信息、定時器,暫停對流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文,這里,流控事件信息即為局部流控;所述定時器設(shè)置的時間值是針對該局部流控所設(shè)定的流控時間,當(dāng)定時器超時,則該局部流控會自動取消。
當(dāng)流控發(fā)起者檢測出IPoIB報文擁塞情況得以緩解,需要取消對被流控對象的流控時對于流控發(fā)起者步驟513構(gòu)建一個廣播免費ARP報文;這里,由于需要廣播發(fā)起取消流控,則通過構(gòu)建一個免費的ARP報文,來作為攜帶取消流控事件信息的載體;步驟514在所述構(gòu)建的免費ARP報文中的保留字段中寫入取消流控事件標志,并發(fā)送至廣播域內(nèi)除流控發(fā)起者外的通信設(shè)備,結(jié)束。
對于被流控對象(廣播域內(nèi)所有通信設(shè)備,除流控發(fā)起者)步驟527所述定時器超時或收到取消流控事件或收到全局流控事件;步驟528判斷是否是全局流控事件,如果是,執(zhí)行步驟529,否則,執(zhí)行步驟530;步驟529刪除該定時器,刪除局部流控事件,刪除流控發(fā)起者唯一標識信息;這里,由于被流控對象已經(jīng)處于局部流控階段,又收到了全局流控事件,因此,需要刪除刪除該定時器,刪除局部流控事件,刪除流控發(fā)起者唯一標識信息,來接受全局流控事件。
步驟530刪除該定時器,刪除局部流控事件,刪除包含流控發(fā)起者唯一標識信息,此時,流控被取消,允許被流控對象發(fā)送報文至流控發(fā)起者。
在上述流控發(fā)起者與被流控對象的交互過程中,對于被流控對象,在所述步驟526中,可以不創(chuàng)建定時器,在所述步驟327中,只根據(jù)是否收到來自流控發(fā)起者的取消流控事件來對流控進行取消與否的操作,這樣做同樣可以實現(xiàn)流控。
同樣,對于流控發(fā)起者也可以不發(fā)起取消流控事件,對于流控的取消,可以只依賴于被流控對象創(chuàng)建的定時器,當(dāng)定時器超時時取消流控事件。
由此可見,對于廣播局部流控下的IPoIB流控實現(xiàn)的交互過程,圖5所述交互過程中,通過流控發(fā)起者發(fā)起取消流控事件、以及被流控對象創(chuàng)建的定時器超時來取消流控事件是最優(yōu)方式,理由同圖3所述理由類似,這里不再贅述。
如圖6所示,本發(fā)明實施例所述當(dāng)某個通信設(shè)備出現(xiàn)IPoIB報文擁塞,需要對廣播域內(nèi)的通信設(shè)備進行全局流量控制時,發(fā)起廣播全局流控下的IPoIB流控實現(xiàn)的交互過程如下對于流控發(fā)起者步驟611構(gòu)建一個廣播免費ARP報文;這里,由于需要廣播發(fā)起流控,則通過構(gòu)建一個免費的ARP報文,來作為攜帶流控事件信息的載體;步驟612在所述構(gòu)建的廣播免費ARP報文中的保留字段中寫入全局流控事件標志,并發(fā)送至廣播域內(nèi)除流控發(fā)起者外的通信設(shè)備;對于被流控對象(廣播域內(nèi)所有通信設(shè)備,除流控發(fā)起者)步驟621檢測到收到的報文中的預(yù)留字段中設(shè)置了全局流控事件標識;步驟622判斷是否存在全局流控事件,如果存在,則執(zhí)行步驟623;否則,執(zhí)行步驟624;
步驟623不做響應(yīng),結(jié)束;此時,由于被流控對象處于全局流控階段,又收到新全部流控事件信息,則可以不做響應(yīng)。
步驟624刪除局部流控事件信息,并創(chuàng)建新的流控信息,包括流控發(fā)起者唯一標識信息、流控事件信息、定時器,暫停向外發(fā)送除ARP報文外的任何IPoIB報文,這里,流控事件信息即為全局流控;所述定時器中設(shè)定定時值,該定時值是針對該全局流控所設(shè)定的流控時間,當(dāng)定時器超時,則該全局流控會自動取消。
對于流控發(fā)起者步驟613構(gòu)建一個廣播免費ARP報文;這里,由于需要廣播發(fā)起取消流控,則通過構(gòu)建一個免費的ARP報文,來作為攜帶取消流控事件信息的載體;步驟614在所述構(gòu)建的免費ARP報文中的保留字段中寫入取消流控事件標志,并發(fā)送至廣播域內(nèi)除流控發(fā)起者外的通信設(shè)備,結(jié)束。
對于被流控對象(廣播域內(nèi)所有通信設(shè)備,除流控發(fā)起者)步驟625所述定時器超時或收到取消流控事件;步驟626由于流控被取消,刪除流控信息,允許發(fā)送IPoIB報文至流控發(fā)起者。
在上述流控發(fā)起者與被流控對象的交互過程中,對于被流控對象,在所述步驟624中,可以不創(chuàng)建定時器,在所述步驟625中,只根據(jù)是否收到來自流控發(fā)起者的取消流控事件來對流控進行取消與否的操作,這樣做同樣可以實現(xiàn)流控。
同樣,對于流控發(fā)起者也可以不發(fā)起取消流控事件,對于流控的取消,可以只依賴于被流控對象創(chuàng)建的定時器,當(dāng)定時器超時時取消流控事件。
由此可見,對于廣播全局流控下的IPoIB流控實現(xiàn)的交互過程,圖6所述交互過程中,通過流控發(fā)起者發(fā)起取消流控事件、以及創(chuàng)建的定時器超時來取消流控事件是最優(yōu)方式,理由同圖3所述理由類似,這里不再贅述。
參照圖7,本發(fā)明實施例所述IPoIB流控系統(tǒng)的結(jié)構(gòu)示意圖,包括第一通信設(shè)備,以及一個或多個第二通信設(shè)備(由于篇幅有限,圖7中只示出一個第二通信設(shè)備)。其中,所述第一通信設(shè)備包括端口流量檢測單元、與端口流量檢測單元相連的流控發(fā)起單元;所述端口流量檢測單元,用于檢測到需要進行流量控制時,觸發(fā)流控發(fā)起單元。例如,當(dāng)檢測到內(nèi)存耗盡時;或者收到過量的、無法及時處理的IPoIB報文時;或者其他導(dǎo)致第一通信設(shè)備處于報文擁塞的情況下,則觸發(fā)流控發(fā)起單元。
所述流控發(fā)起單元,用于收到來自端口檢測單元的觸發(fā)信號后,在IPoIB報文中攜帶流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備,所述流控事件信息如全局流控事件信息、或局部流控事件信息、或取消流控事件信息、或無流控事件信息。也就是說,用于在IPoIB報文中的保留字段寫入流控事件信息,并發(fā)送至需要流控的第二通信設(shè)備。
例如,當(dāng)發(fā)起單播局部流量控制或單播全局流量控制事件時,所述流控發(fā)起單元,用于當(dāng)存在發(fā)往被流控第二通信設(shè)備的IPoIB報文時,在所述IPoIB報文中的保留字段寫入流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備;或者當(dāng)不存在發(fā)往被流控第二通信設(shè)備的IPoIB報文時,構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備。
當(dāng)發(fā)起廣播局部流量控制或廣播全局流量控制事件時,所述流控發(fā)起單元,用于構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至廣播域內(nèi)除流控發(fā)起者(第一通信設(shè)備)外的其他第二通信設(shè)備。
所述第二通信設(shè)備包括流控信息維護單元、流控執(zhí)行單元。
所述流控信息維護單元,用于從收到的報文中解析出流控事件信息,創(chuàng)建并維護流控信息,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息}。流控發(fā)起者唯一標識信息如流控發(fā)起者的IP地址信息,對于流控事件信息如全局流控事件信息、或局部流控事件信息、或取消流控事件信息、或無流控事件信息。在全局流控階段時,如果收到新局部流控事件信息,則對新收到的局部流控事件信息進行屏蔽,不做響應(yīng);如果收到新的全局流控事件信息,則刪除已有全局流控事件信息,接收新的全局流控事件信息。在局部流控階段時,如果收到新的全局流控事件信息,則刪除已有的局部流控信息,接收新的全局流控事件信息;如果收到新的局部流控事件,并且是來自同一個IPOIB接口的流控事件信息,則刪除已有局部流控事件信息,接收新的局部流控事件信息;如果收到新的局部流控事件,并且是來自不同IPOIB接口流控事件信息,則同時保留新的局部流控事件信息。
所述流控執(zhí)行單元,用于根據(jù)流控信息維護單元維護的流控信息,執(zhí)行流控。
例如,流控信息維護單元維護的是局部流控事件時,流控執(zhí)行單元,用于暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文。
流控信息維護單元維護的是全局流控事件時,流控執(zhí)行單元,用于暫停向外除ARP報文外的任何IPoIB報文。
流控信息維護單元維護的是取消流控事件時,流控執(zhí)行單元,用于取消當(dāng)前執(zhí)行的流控事件。
流控信息維護單元維護的是無流控事件時,流控執(zhí)行單元,用于不做流控操作。
另外,圖7中所述系統(tǒng),所述第二通信設(shè)備中的流控信息維護單元,還可以用于從收到的報文中解析出流控事件,創(chuàng)建并維護流控信息,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息,定時器}。這里的定時器中設(shè)定定時值,該定時值是為流控事件為局部流控事件或全局流控事件時所創(chuàng)建的定時值。
此時,流控信息維護單元維護的是局部流控事件時,流控執(zhí)行單元,用于在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文。
流控信息維護單元維護的是全局流控事件時,流控執(zhí)行單元,用于在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向外除ARP報文外的任何IPoIB報文。
本發(fā)明所述的一種流量控制方法及通信設(shè)備,并不僅僅限于說明書和實施方式中所列運用,它完全可以被適用于各種適合本發(fā)明之領(lǐng)域,對于熟悉本領(lǐng)域的人員而言可容易地實現(xiàn)另外的優(yōu)點和進行修改,因此在不背離權(quán)利要求及等同范圍所限定的一般概念的精神和范圍的情況下,本發(fā)明并不限于特定的細節(jié)、代表性的設(shè)備和這里示出與描述的圖示示例。
權(quán)利要求
1.一種流量控制方法,用于具有第一通信設(shè)備,及一個或多個第二通信設(shè)備的Infiniband系統(tǒng),其特征在于包括如下步驟當(dāng)?shù)谝煌ㄐ旁O(shè)備檢測到需要進行流量控制時,向需要被流控的第二通信設(shè)備發(fā)送攜帶流控事件信息的IPoIB報文;第二通信設(shè)備解析收到的所述IPoIB報文,獲取其攜帶的流控事件信息,進行流量控制。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述流量事件信息是局部流控事件信息、或全局流控事件信息、或取消流控事件信息、或無流控事件信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述向需要被流控的第二通信設(shè)備發(fā)送攜帶流量控制信息的IPoIB報文,是向需要被流控的第二通信設(shè)備單播發(fā)送攜帶流量控制信息的IPoIB報文。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于所述向需要被流控的第二通信設(shè)備單播發(fā)送攜帶流量控制信息的IPoIB報文,是當(dāng)存在發(fā)往被流控第二通信設(shè)備的IPoIB報文時,在所述IPoIB報文中的保留字段寫入流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備;或者當(dāng)不存在發(fā)往被流控第二通信設(shè)備的IPoIB報文時,構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于所述向需要被流控的第二通信設(shè)備發(fā)送攜帶流量控制信息的IPoIB報文,是在廣播域內(nèi)廣播發(fā)送攜帶流量控制信息的IPoIB報文。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于所述在廣播域內(nèi)廣播發(fā)送攜帶流量控制信息的IPoIB報文,是構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至廣播域內(nèi)除第一通信設(shè)備外的第二通信設(shè)備。
7.根據(jù)權(quán)利要求4或6所述的方法,其特征在于所述在免費APR報文中的保留字段或IPoIB報文中的保留字段中寫入流控事件信息是在保留字段中的1或2個比特位中寫入流控事件信息。
8.根據(jù)權(quán)利要求1或2或3或5中任意一項所述的方法,其特征在于所述第二通信設(shè)備解析收到的所述攜帶流量控制信息的IPoIB報文,進行流量控制,進一步包括如下步驟從收到的IPoIB報文中解析出流控事件信息,創(chuàng)建并維護流控信息,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息};當(dāng)所維護的流控事件信息是局部流控事件時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是全局流控事件時,暫停向外除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是取消流控事件時,取消當(dāng)前執(zhí)行的流控事件;當(dāng)所維護的流控事件信息是無流控事件時,不做流控操作。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于所述從收到的IPoIB報文中解析出流控事件信息,創(chuàng)建并維護流控信息{流控發(fā)起者唯一標識信息,流控事件信息},是所述維護流控發(fā)起者唯一標識信息是從報文的源地址中提取流控發(fā)起者的唯一標識信息;所述維護流控事件信息是在全局流控階段時,如果收到新局部流控事件信息,則對新收到的局部流控事件信息進行屏蔽,不做響應(yīng);如果收到新的全局流控事件信息,則刪除已有全局流控事件信息,接收新的全局流控事件信息;或者對新收到的全局流控事件進行屏蔽;在局部流控階段時,如果收到新的全局流控事件信息,則刪除已有的局部流控信息,接收新的全局流控事件信息;如果收到新的局部流控事件,并且是來自同一個IPoIB接口的流控事件信息,則刪除已有局部流控事件信息,接收新的局部流控事件信息;如果收到新的局部流控事件,并且是來自不同IPoIB接口流控事件信息,則同時保留新的局部流控事件信息。
10.根據(jù)權(quán)利要求1或2或3或5中任意一項所述的方法,其特征在于所述第二通信設(shè)備解析收到的所述攜帶流量控制信息的IPoIB報文,進行流量控制,進一步包括如下步驟從收到的IPoIB報文中解析出流控事件信息,創(chuàng)建并維護流控信息,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息,定時器},所述定時器中設(shè)定定時值,該定時值是為流控事件為局部流控事件或全局流控事件時所創(chuàng)建的定時值;當(dāng)所維護的流控事件信息是局部流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)所維護的流控事件信息是全局流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向外除ARP報文外的任何IPoIB報文。
11.一種通信設(shè)備,包括端口流量檢測單元,其特征在于還包括與端口流量檢測單元相連的流控發(fā)起單元,用于收到來自端口檢測單元的觸發(fā)信號后,在IPoIB報文中攜帶流控事件信息,并發(fā)送至需要被流控的第二通信設(shè)備。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于所述流控發(fā)起單元,進一步用于在IPoIB報文中的保留字段寫入流控事件信息,并發(fā)送至需要流控的第二通信設(shè)備。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其特征在于所述流控發(fā)起單元,進一步用于發(fā)起單播流控事件時,當(dāng)存在發(fā)往被流控通信設(shè)備的IPoIB報文時,在所述IPoIB報文中的保留字段寫入流控事件信息,并發(fā)送至需要被流控的通信設(shè)備;或者當(dāng)不存在發(fā)往被流控通信設(shè)備的IPoIB報文時,構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至需要被流控的通信設(shè)備。
14.根據(jù)權(quán)利要求12所述的設(shè)備,其特征在于所述流控發(fā)起單元,進一步用于發(fā)起廣播流控事件時,構(gòu)建免費ARP報文,并在所述構(gòu)建的免費APR報文的保留字段中寫入流控事件信息,并發(fā)送至廣播域內(nèi)自身外的其他通信設(shè)備。
15.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于所述端口流量檢測單元,用于檢測到需要進行流量控制時,觸發(fā)流控發(fā)起單元。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其特征在于所述端口流量檢測單元,進一步用于當(dāng)檢測到內(nèi)存耗盡時;或者收到過量的、無法及時處理的IPoIB報文時,觸發(fā)流控發(fā)起單元。
17.一種通信設(shè)備,其特征在于包括流控信息維護單元,用于從收到的IPoIB報文中解析出流控事件信息,創(chuàng)建并維護流控信息,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息};以及,所述流控執(zhí)行單元,用于根據(jù)流控信息維護單元維護的流控信息,執(zhí)行流控。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其特征在于所述流控信息維護單元,進一步用于從報文的源地址中提取流控發(fā)起者的唯一標識信息;在全局流控階段時,如果收到新局部流控事件信息,則對新收到的局部流控事件信息進行屏蔽,不做響應(yīng);如果收到新的全局流控事件信息,則刪除已有全局流控事件信息,接收新的全局流控事件信息;或者對新收到的全局流控事件進行屏蔽;在局部流控階段時,如果收到新的全局流控事件信息,則刪除已有的局部流控信息,接收新的全局流控事件信息;如果收到新的局部流控事件,并且是來自同一個IPoIB接口的流控事件信息,則刪除已有局部流控事件信息,接收新的局部流控事件信息;如果收到新的局部流控事件,并且是來自不同IPoIB接口流控事件信息,則同時保留新的局部流控事件信息。
19.根據(jù)權(quán)利要求18所述的設(shè)備,其特征在于所述流控執(zhí)行單元,進一步用于當(dāng)流控信息維護單元維護的是局部流控事件時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)流控信息維護單元維護的是全局流控事件時,暫停向外除ARP報文外的任何IPoIB報文;當(dāng)流控信息維護單元維護的是取消流控事件時,取消當(dāng)前執(zhí)行的流控事件;當(dāng)流控信息維護單元維護的是無流控事件時,不做流控操作。
20.根據(jù)權(quán)利要求17所述的設(shè)備,其特征在于所述流控信息維護單元,進一步用于從收到的報文中解析出流控事件信息,創(chuàng)建并維護流控信息,所述流控信息是{流控發(fā)起者唯一標識信息,流控事件信息,定時器},所述定時器中設(shè)定定時值,該定時值是為流控事件為局部流控事件或全局流控事件時所創(chuàng)建的定時值。
21.根據(jù)權(quán)利要求20所述的設(shè)備,其特征在于所述流控執(zhí)行單元,進一步用于當(dāng)流控信息維護單元維護的是局部流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向流控發(fā)起者發(fā)送除ARP報文外的任何IPoIB報文;當(dāng)流控信息維護單元維護的是全局流控事件時,在所述定時器所設(shè)定的定時值時間內(nèi)且未收到取消流控事件信息時,暫停向外除ARP報文外的任何IPoIB報文。
全文摘要
本發(fā)明公開了一種流量控制方法及通信設(shè)備,用于具有第一通信設(shè)備,及一個或多個第二通信設(shè)備的Infiniband(IB,無限帶寬網(wǎng)絡(luò))系統(tǒng),包括如下步驟當(dāng)?shù)谝煌ㄐ旁O(shè)備檢測到需要進行流量控制時,向需要被流控的第二通信設(shè)備發(fā)送攜帶流控事件信息的IPoIB報文;第二通信設(shè)備解析收到的所述IPoIB報文,獲取其攜帶的流控事件信息,進行流量控制。按照本發(fā)明所述流量控制方法及通信設(shè)備,可以實現(xiàn)對IPoIB報文進行及時有效的流量控制,適用于IB網(wǎng)絡(luò)內(nèi)屬于TCP/IP協(xié)議族中同一鏈路層廣播域內(nèi)的所有通信設(shè)備。
文檔編號H04L12/66GK101018205SQ20071007916
公開日2007年8月15日 申請日期2007年2月14日 優(yōu)先權(quán)日2007年2月14日
發(fā)明者趙漢表, 鄭煒, 安萬全 申請人:杭州華為三康技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
陇南市| 桦甸市| 杭锦旗| 定州市| 贡山| 黎平县| 兴仁县| 海林市| 德昌县| 巴中市| 迁安市| 潞城市| 库伦旗| 西乌珠穆沁旗| 大邑县| 贵州省| 偃师市| 威远县| 田东县| 肇州县| 日土县| 平塘县| 泌阳县| 吴堡县| 涟源市| 香格里拉县| 鹰潭市| 呼图壁县| 漳平市| 祁东县| 通渭县| 子洲县| 崇明县| 四平市| 吴江市| 临洮县| 北辰区| 中超| 湘潭县| 江陵县| 浮梁县|