網絡設備的流控方法和流控裝置以及網絡設備的制造方法
【技術領域】
[0001]本發明涉及網絡技術,特別涉及網絡設備的流控方法、網絡設備的流控裝置、以及網絡設備。
【背景技術】
[0002]網絡設備可以采用以太總線架構,并且,在以太總線架構中,主板的CPU與主板的以太交換芯片之間的以太數據通道、主板的以太交換芯片與接口板的邏輯裝置之間的以太數據通道、以及接口板的邏輯裝置與接口板的接口芯片之間的接口數據通道可能會存在物理帶寬相互不匹配的情況。
[0003]因此,網絡設備容易在出方向上發生數據報文的擁塞。若主板的CPU無法及時感知前述擁塞及前述擁塞的解除,則難以準確實現網絡設備出方向上的QOS(Quality ofService,服務質量)。
【發明內容】
[0004]有鑒于此,本發明的實施例提供了一種網絡設備的流控方法、一種網絡設備的流控裝置、以及網絡設備。
[0005]在一個實施例中,一種網絡設備的流控方法應用于網絡設備的接口板的邏輯裝置中,并且,所述流控方法包括:
[0006]依據發送緩存隊列中被送出的數據以太報文,構造包含發送完成信息的流控原子數據包;
[0007]將所述流控原子數據包在管理總線優先于其他原子數據包傳輸。
[0008]可選地,所述流控方法進一步在所述流控原子數據包中填充所述接口板的接口板標識、以及在所述出方向上完成發送的數據以太報文對應的邏輯通道標識。
[0009]在另一個實施例中,一種網絡設備的流控方法應用于網絡設備的主板的邏輯裝置中,并且,所述流控方法包括:
[0010]通過管理總線接收原子數據包;
[0011]識別接收到的原子數據包的類型;
[0012]若識別出接收到的原子數據包為流控原子數據包,則從所述流控原子數據包中解析得到發送完成信息;
[0013]構造包含所述發送完成信息的流控消息;
[0014]將所述流控消息寫入主板的CPU的內存、并通知所述CPU從所述內存讀取。
[0015]可選地,所述流控方法以DMA的方式向所述內存寫入所述流控消息。
[0016]可選地,所述流控方法以中斷的方式通知所述CPU。
[0017]可選地,所述流控方法進一步依據所述流控原子數據包中的接口板標識和邏輯通道標識,將所述流控消息寫入至所述內存中對應的發送完成隊列中。
[0018]在一個實施例中,一種網絡設備的流控裝置應用于網絡設備的接口板的邏輯裝置中,并且,所述流控裝置包括:
[0019]數據包構造模塊,依據發送緩存隊列中被送出的數據以太報文,構造包含發送完成信息的流控原子數據包;
[0020]數據包上送模塊,將所述流控原子數據包在管理總線優先于其他原子數據包傳輸。
[0021]可選地,所述數據包構造模塊進一步在所述流控原子數據包中填充所述接口板的接口板標識、以及在所述出方向上完成發送的數據以太報文對應的邏輯通道標識。
[0022]在另一個實施例中,一種網絡設備的流控裝置應用于網絡設備的主板的邏輯裝置中,并且,所述流控裝置包括:
[0023]數據包接收模塊,通過管理總線接收原子數據包;
[0024]數據包分類模塊,識別接收到的原子數據包的類型;
[0025]數據包解析模塊,若識別出接收到的原子數據包為流控原子數據包,則從所述流控原子數據包中解析得到發送完成信息;
[0026]消息構造模塊,構造包含所述發送完成信息的流控消息;
[0027]消息上報模塊,將所述流控消息寫入主板的CPU的內存、并通知所述CPU從所述內存讀取。
[0028]可選地,所述消息上報模塊以DMA的方式向所述內存寫入所述流控消息。
[0029]可選地,所述消息上報模塊以中斷的方式通知所述CPU。
[0030]可選地,所述消息上報模塊進一步依據所述流控原子數據包中的接口板標識和邏輯通道標識,將所述流控消息寫入至所述內存中對應的發送完成隊列中。
[0031]在一個實施例中,一種網絡設備,包括接口板和主板,所述接口板具有第一邏輯裝置,所述主板具有CPU、內存、以太交換芯片、以及第二邏輯裝置;
[0032]所述第一邏輯裝置和所述第二邏輯裝置通過管理總線連接;
[0033]所述第一邏輯裝置依據發送緩存隊列中被送出的數據以太報文,構造包含發送完成信息的流控原子數據包,以及,將所述流控原子數據包在所述管理總線優先于其他原子數據包傳輸;
[0034]所述第二邏輯裝置通過管理總線接收原子數據包、并識別接收到的原子數據包的類型,若識別出接收到的原子數據包為流控原子數據包,則從所述流控原子數據包中解析得到發送完成信息,以及,構造包含所述發送完成信息的流控消息寫入所述內存、并通知所述CPU從所述內存讀取;
[0035]所述CPU在所述發送緩存隊列的狀態為非滿時,將出方向上的數據以太報文送入所述以太數據通道;在所述發送緩存隊列的狀態為滿時,將出方向上的數據以太報文送入QOS隊列中緩存,直至所述發送緩存隊列的狀態變為非滿;在從所述第二邏輯裝置接收到讀取內存的通知時,從所述內存中讀取流控消息;以及,依據在出方向上對送入以太數據通道的數據以太報文的統計、以及所述流控消息中的發送完成信息維護所述發送緩存隊列的狀態。
[0036]可選地,所述第一邏輯裝置進一步在所述流控原子數據包中填充所述接口板的接口板標識、以及在所述出方向上完成發送的數據以太報文對應的邏輯通道標識;所述第二邏輯裝置進一步依據所述流控原子數據包中的接口板標識和邏輯通道標識,將所述流控消息寫入至所述內存中對應的發送完成隊列中;以及,所述流控方法依據從所述內存中的發送完成隊列中讀取的所述流控消息,維護對應的所述發送緩存隊列的狀態。
[0037]可選地,所述第二邏輯裝置以DMA的方式向所述內存寫入所述流控消息。
[0038]可選地,所述第二邏輯裝置以中斷的方式通知所述CPU。
[0039]由此可見,接口板的邏輯裝置可以將出方向上的數據以太報文的發送完成信息封裝在流控原子數據包中上報,流控原子數據包可以通過管理總線轉發至主板的邏輯裝置,主板的邏輯裝置通過對流控原子數據包的解析能夠得到所述的發送完成信息、并封裝在流控消息中寫入主板的內存供主板的CPU即時讀取,使主板的CPU能夠及時感知出方向上的數據以太報文是否發生擁塞,從而有利于準確實現網絡設備出方向上的QOS。而且,發送完成信息的上報不占用以太數據通道,以避免影響數據以太報文的傳送;CPU對出方向數據以太報文的發送完成信息的處理與對入方向的數據以太報文的處理相互獨立,以實現CPU對數據以太報文的發送和接收的松耦合。
【附圖說明】
[0040]圖1為一個實施例中的網絡設備的示例性結構示意圖;
[0041]圖2為圖1中示出的第一邏輯裝置的原理圖;
[0042]圖3為圖1和圖2中示出的流控原子數據包的有效數據段的示意圖;
[0043]圖4為圖1中示出的第二邏輯裝置的原理圖;
[0044]圖5為圖1中示出的流控消息的示意圖;
[0045]圖6為圖1中示出的流控消息在內存中的存放方式的示意圖;
[0046]圖7為圖1中示出的CPU的原理圖;
[0047]圖8為一個實施例中的網絡設備的流控方法的流程示意圖;
[0048]圖9為另一個實施例中的網絡設備的流控方法的流程示意圖;
[0049]圖10為又一個實施例中的網絡設備的流控方法的流程示意圖;
[0050]圖11為一個實施例中的網絡設備的流控裝置的結構示意圖;
[0051]圖12為另一個實施例中的網絡設備的流控裝置的結構示意圖;
[0052]圖13為又一個實施例中的網絡設備的流控裝置的結構示意圖;
[0053]圖14為如圖13所示流控裝置的一種實現方式的示意圖。
【具體實施方式】
[0054]為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖并舉實施例,對本發明進一步詳細說明。
[0055]請參見圖1,在一個實施例中,網絡設備100可以采用以太總線架構,并包括接口板11和主板12。接口板11具有接口芯片111和第一邏輯裝置112,并且,主板12具有CPU121、以太交換芯片122、內存123、以及第二邏輯裝置124。
[0056]接口芯片111可以為網絡設備100提供外部接口,并處理通過外部接口收發的報文。例如,接口芯片111提供的外部接口可以連接(Wide Area Network,廣