TW202010293A - 使用中央學習來處理網路交換器堆疊系統的多個轉送資料庫同步的方法 - Google Patents
使用中央學習來處理網路交換器堆疊系統的多個轉送資料庫同步的方法 Download PDFInfo
- Publication number
- TW202010293A TW202010293A TW107129956A TW107129956A TW202010293A TW 202010293 A TW202010293 A TW 202010293A TW 107129956 A TW107129956 A TW 107129956A TW 107129956 A TW107129956 A TW 107129956A TW 202010293 A TW202010293 A TW 202010293A
- Authority
- TW
- Taiwan
- Prior art keywords
- event
- network switch
- change
- master
- slave
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/583—Stackable routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一種同步轉送資料庫的方法,用於一網路交換器堆疊系統,包含至少一從屬網路交換器傳送至少一變更事件到一主控網路交換器;當該主控網路交換器根據該至少一變更事件,判斷須更新一主控轉送資料庫時,產生一變更確認給該至少一從屬網路交換器;以及該至少一從屬網路交換器根據該變更確認,更新至少一從屬網路交換器的至少一從屬轉送資料庫;其中該至少一變更事件包含一新增事件、一移動事件、一固定端口退出事件以及一聚合端口年齡更新事件中的至少一者。
Description
本發明揭露一種多個轉送資料庫同步的方法,尤指一種使用中央學習來處理網路交換器堆疊系統的多個轉送資料庫的同步問題。
透過連接多台網路交換器(Network switch),可構成網路交換器系統或網路交換器堆疊(stacking)系統,以擴充網路端口來提升資料吞吐量(throughput)。網路交換器堆疊系統的行為與單一網路交換器相同,因此可實現單一網路交換器的功能,例如封包轉送(Package forwarding)、端口聚合(Port aggregation)、端口鏡像(Port mirroring)等。在高頻寬與多端口數的網路交換器堆疊系統中,若系統處理頻寬無法涵蓋全網路頻寬,習知技術可將網路交換器的轉送資料庫切割為多個平面(plane),且每一平面對應一轉送資料庫(Forwarding information base,FIB);其中轉送資料庫又稱為轉送表(Forwarding table)或媒體存取控制表(Media Access Control table,MAC table)。
目前針對轉送資料庫的同步問題有幾種處理方法:個別學習(learning)、入口學習、個別學習加上中央學習及變更事件學習。然而上述處理方法存有缺失尚待解決,例如多個轉送資料庫的統整困難、同步延遲、重複傳送變更事件、變更事件遺失和不支援多個端口聚合更新等問題。
有鑑於上述問題,實有必要提出一種多個轉送資料庫同步的方法,用來處理網路交換器堆疊系統的多個轉送資料庫的同步問題。
因此,本發明的主要目的即在於提供一種使用中央學習來處理網路交換器堆疊系統的多個轉送資料庫的同步問題。
本發明揭露一種同步轉送資料庫的方法,用於一網路交換器堆疊系統,該網路交換器堆疊系統包含至少一從屬網路交換器以及一主控網路交換器。該方法包含該至少一從屬網路交換器傳送至少一變更事件到該主控網路交換器;當該主控網路交換器根據該至少一變更事件,判斷需更新該主控網路交換器的一主控轉送資料庫時,產生一變更確認給該至少一從屬網路交換器;以及該至少一從屬網路交換器根據該變更確認,更新至少一從屬網路交換器的至少一從屬轉送資料庫;其中該至少一變更事件包含一新增事件、一移動事件、一固定端口退出事件以及一聚合端口年齡更新事件中的至少一者。
本發明另揭露一種同步轉送資料庫的方法,用於一網路交換器,該網路交換器包含一媒體存取引擎、至少一從屬入口端封包處理器、至少一從屬轉送資料庫、一主控入口端封包處理器以及一主控轉送資料庫。該方法包含該至少一從屬入口端封包處理器及該主控入口端封包處理器傳送至少一變更事件到該媒體存取引擎;當該媒體存取引擎根據該至少一變更事件,判斷需更新該主控轉送資料庫時,判斷該至少一變更事件是否為一聚合端口年齡更新事件;當該媒體存取引擎判斷該至少一變更事件是該聚合端口年齡更新事件時,該媒體存取引擎通知該主控入口端封包處理器更新該主控轉送資料庫中的年齡資訊;以及當判斷該至少一變更事件不是該聚合端口年齡更新事件時,該媒體存取引擎根據該至少一變更事件,修改該至少一從屬轉送資料庫及該主控轉送資料庫;其中該至少一變更事件包含一新增事件、一移動事件、一固定端口退出事件以及該聚合端口年齡更新事件中的至少一者。
本發明使用中央學習(Central learning),由主控網路交換器來確認變更事件,並透過主控網路交換器來廣播已確認的轉送資料庫內容。本發明在網路交換器堆疊系統中選出一台具有主控(master)轉送資料庫的主控網路交換器,或是一台網路交換器的多個轉送資料庫中選出一個作為主控轉送資料庫。當主控網路交換器及從屬(slave)網路交換器偵測到有轉送資料庫需變更時(新增、退出、移動、聚合端口更新年齡),則發出資料庫修改資料的封包給主控網路交換器;若主控網路交換器確認可將修改資料寫入主控轉送資料庫,則廣播確認修改封包給堆疊系統中所有的網路交換器,讓所有的網路交換器將此確認修改封包的資料寫入自己的轉送資料庫中。
目前的網路交換器皆支援自動學習與更新的功能,當網路交換器偵測到新增(New Learn)、移動(Port move)、退出(Aging out)事件、邏輯聚合端口更新年齡時間(Logic Aggregation Update aging time)事件中的任一者時,即可觸發轉送資料庫的自動更新。
新增事件是將新封包的來源媒體存取控制位址(Media Access Control Address,簡稱MAC位址)及網路端口名稱記錄在轉送資料庫中,如果該端口與其他端口構成一個邏輯聚合(Logical Aggregate,LAG)端口,則改為記錄此邏輯聚合端口名稱。移動事件是當封包的來源MAC位址已存在轉送資料庫,但其網路端口名稱已變更而需修改。固定端口退出事件是移除年齡時間為零的來源MAC位址,以節省轉送資料庫的儲存空間。邏輯聚合端口更新年齡時間事件可簡稱為聚合端口更新事件,由於聚合端口是由多個網路端口聚合而成,這些網路端口可受控於不同的網路交換器或是單一網路交換器的不同轉送引擎,因此需同步聚合端口的年齡時間。
第1圖為本發明實施例一網路交換器堆疊系統1的示意圖。網路交換器堆疊系統1包含一主控網路交換器DEV_M和多個從屬網路交換器DEV0~DEVn。主控網路交換器DEV_M連接從屬網路交換器DEV0~DEVn,用來根據至少一變更事件,判斷是否更新一中央資料庫,以及在中央資料庫已確認更新之後,傳送一變更確認給從屬網路交換器DEV0~DEVn。多個從屬網路交換器DEV0~DEVn對應多個從屬資料庫,用來根據變更確認,更新對應的從屬資料庫。
於一實施例中,主控網路交換器DEV_M及多個從屬網路交換器DEV0~DEVn皆可偵測接收封包狀態以產生變更事件。於一實施例中,變更事件可以是一新增事件、一移動事件、一固定端口退出事件和一聚合端口更新事件中的一者。
於一實施例中,從屬網路交換器DEV0~DEVn及主控網路交換器DEV_M傳送的變更事件可在主控網路交換器DEV_M做排程(scheduling),當確認變更事件可寫入主控網路交換器DEV_M的中央轉送資料庫時,主控網路交換器DEV_M則將此變更事件記錄為變更確認,再將此變更確認傳送給所有從屬網路交換器DEV0~DEVn,要求所有從屬網路交換器DEV0~DEVn修改對應的從屬資料庫。
當有多個變更確認時,主控網路交換器DEV_M可將變更確認加上序列識別碼(identification,ID),且從屬網路交換器DEV0~DEVn會記錄最後一個收到變更確認對應的序列識別碼,若新收到的變更確認序列識別碼不如預期,則從屬網路交換器DEV0~DEVn可傳送要求重送給主控網路交換器DEV_M,以請求遺失的封包。因此,在變更確認的保留時間內,主控網路交換器DEV_M可根據要求重送,重新發送變更確認。舉例來說,主控網路交換器DEV_M在發出變更確認到實體端口時,同時也發一份給軟體來保留(例如,透過內建處理器來配置暫存記憶體空間以儲存變更確認),而從屬網路交換器DEV0~DEVn發出的封包重送事件可導引到軟體,讓軟體回應封包重送的要求,但不限於此。
於一實施例中,新增、移動、一般端口退出與聚合端口更新事件可由從屬或主控網路交換器所發出,且主控網路交換器DEV_M可不在變更確認加上序列識別碼,以減少堆疊頻寬與實作的複雜度,但不限於此,本領域具通常知識者可視需求來決定使用序列識別碼的時機或條件。
簡言之,本發明的網路交換器堆疊系統1使用中央學習,由主控網路交換器DEV_M來確認變更事件(新增、移動、一般端口退出、聚合端口更新事件),並透過主控網路交換器DEV_M來廣播已確認的變更事件給從屬網路交換器DEV0~DEVn,以同步網路交換器堆疊系統1中所有的轉送資料庫。此外,主控網路交換器DEV_M將發出的變更確認加上序列識別碼並暫時保留,以利從屬網路交換器DEV0~DEVn在發現封包遺失時能請求重送,但不限於此。
第2圖為本發明實施例一網路交換器DEV的功能方塊圖。網路交換器DEV包含一轉送資料庫20、一MAC引擎21、一多工器22、一事件管道(event pipe)23、一入口端封包處理器(Ingress packet processor,IPP)24、一交通管理與排程(Traffic management and scheduling)模組25和一出口端封包處理器(Egress packet processor,EPP)模組26。從屬網路交換器DEV0~DEVn與主控網路交換器DEV_M的硬體架構相同,在此以網路交換器DEV為範例說明。
當網路交換器DEV是從屬網路交換器DEV0~DEVn時,偵測並傳送變更事件給主控網路交換器DEV_M的操作方式如下。若多工器22判斷接收封包為事件封包,則將事件封包送到事件管道23以進行列隊(queue),待交通管理與排程模組25進行排程後,讓可出口端封包處理器26發出事件封包到輸出網路端口。另一方面,若多工器22判斷接收封包為一般封包,則送到入口端封包處理器24及MAC引擎21。入口端封包處理器24用來查詢接收封包的MAC位址及堆疊端口資訊是否已存在於轉送資料庫20,以判斷是否需更新轉送資料庫20。若網路協定控制平面24判斷需更新轉送資料庫20,則產生變更事件(例如,新增、移動、一般端口退出與聚合端口更新事件等)到MAC引擎21。MAC引擎21根據變更事件,產生變更事件封包到交通管理與排程模組25,等待交通管理與排程模組25進行排程後,讓可出口端封包處理器26發出變更事件封包到輸出網路端口,以傳送變更事件給主控網路交換器DEV_M。
當網路交換器DEV是主控網路交換器DEV_M時,接收變更事件並傳送變更確認給從屬網路交換器DEV0~DEVn的操作方式如下。當多工器22判斷接收封包為變更事件封包時,則將變更事件封包送到MAC引擎21,讓MAC引擎21根據變更事件封包來更新轉送資料庫20。當轉送資料庫20已更新完畢,則MAC引擎21根據變更事件封包,產生變更確認到交通管理與排程模組25,等待交通管理與排程模組25進行排程後,讓出口端封包處理器26輸出變更確認到輸出網路端口,以傳送變更確認給從屬網路交換器DEV0~DEVn。
當網路交換器DEV是主控網路交換器DEV_M時,偵測變更事件並傳送變更確認給從屬網路交換器DEV0~DEVn的操作方式如下。當多工器22判斷接收封包為一般封包,則送到入口端封包處理器24及MAC引擎21。入口端封包處理器24根據一般封包的來源MAC位址,判斷來源MAC位址是否已存在於轉送資料庫20,以判斷是否產生變更事件。若有產生變更事件,則MAC引擎21根據變更事件(新增、退出、移動、聚合端口更新事件)來更新轉送資料庫20。當轉送資料庫20已更新完畢,則MAC引擎21根據變更事件,產生變更確認到交通管理與排程模組25,等待交通管理與排程模組25進行排程後,讓出口端封包處理器26輸出變更確認到輸出網路端口,以傳送變更確認給從屬網路交換器DEV0~DEVn。
當網路交換器DEV是從屬網路交換器DEV0~DEVn時,接收變更確認以進行資料庫更新的操作方式如下。當多工器22判斷接收封包為變更確認時,將變更確認送到MAC引擎21及事件管道23,讓MAC引擎21根據變更確認來更新轉送資料庫20;同時,讓交通管理與排程模組25及出口端封包處理器26轉發變更確認給其他從屬網路交換器。於一實施例中,當多工器22判斷接收封包為要求重送的變更確認,且本身是發出要求重送的從屬網路交換器,則將重送的變更確認送到MAC引擎21或是內建處理器(未繪於第2圖)來更新轉送資料庫20;當多工器22判斷接收封包為要求重送的變更確認,但本身不是發出要求重送的從屬網路交換器,則將重送的變更確認送到事件管道23、交通管理與排程模組25及出口端封包處理器26以進行轉發。
由於變更事件的資料量通常較低且為偶發事件,為避免佔用網路頻寬,MAC 引擎21在產生事件封包時,需限制封包的資料乘載量(data payload)以減少實作上的複雜度,但也需避免變更事件在列隊中等待時間太長而導致同步延遲時間太大。於一實施例中,MAC引擎21可在一資料乘載量的容許範圍內,將多個變更事件封裝為單一變更事件封包,以使用單一封包來傳送多項變更事件;此外,MAC引擎21可在一變更事件年齡時間的容許範圍內,將至少一變更事件封裝為單一變更事件封包。同理,MAC引擎21可在資料乘載量的容許範圍內,將多個變更確認封裝為單一變更確認,以使用單一封包來傳送多項變更確認;此外,MAC引擎21可在變更事件年齡時間的容許範圍內,將至少一變更確認封裝為單一變更確認。
請注意,為避免觸發相同新增或移動事件,因此本發明的網路交換器需設置一事件過濾器,用來過濾重複觸發的新增事件與移動事件。
第3圖為本發明實施例一事件過濾器3的功能方塊圖。事件過濾器3可設置於網路協定控制平面24,用來判斷是否產生變更事件到MAC引擎21。事件過濾器3包含一輸入輸出模組300、一事件表格301、一變更事件產生器302、一寫入控制器303、一清除引擎304和一計時控制器305。於一實施例中,事件表格301可以是一二位元內容尋址記憶體(Binary Content Addressable Memory,BCAM)。
事件過濾器3可用於主控及從屬網路交換器,本實施例以屬網路交換器DEV0~DEVn的操作方式說明。輸入輸出模組300可將一般封包送到事件表格301以進行查表,若事件表格301未記錄該封包的來源MAC位址(即,新增事件),則寫入控制器303將該封包的來源MAC位址、網路端口名稱及寫入時間等資訊寫入事件表格301,且變更事件產生器302產生變更事件到輸入輸出模組300,以將變更事件送到MAC引擎21、交通管理與排程模組25、可擴展供應協定模組26乃至主控網路交換器DEV_M。若事件表格301已記錄該封包的來源MAC位址但網路端口名稱不同(即,移動事件),則寫入控制器303將該封包的網路端口名稱及寫入時間寫入事件表格301,且變更事件產生器302產生變更事件到輸入輸出模組300,以將變更事件送到MAC引擎21、交通管理與排程模組25、可擴展供應協定模組26乃至主控網路交換器DEV_M。若事件表格301已記錄該封包的來源MAC位址及網路端口名稱,則不將該封包的來源MAC位址及網路端口名稱寫入事件表格301,也不產生變更事件到MAC引擎21,以過濾重複觸發的新增事件與移動事件。
計時控制器305用來配置事件表格301的每一筆資料的年齡時間(Aging time),而清除引擎304用來定期掃描事件表格301的每一筆資料的年齡時間,當清除引擎304發現某一筆資料的年齡時間倒數為零時,則清除該筆資料。因此,當事件表格301記錄的封包來源MAC位址、網路端口名稱及對應變更事件已被刪除,但從屬網路交換器仍未收到對應的變更確認,則下一個具有相同的來源MAC位址及網路端口名稱的新封包可觸發新的變更事件(即,新增或移動事件)。
針對固定端口退出事件,在轉送資料庫20的每一筆資料都對應一年齡計時器(age timer),當收到來源MAC裝置傳送的封包時,入口端封包處理器24可更新轉送資料庫20記錄的來源MAC位址的年齡計時器。年齡計時器會自動倒數計時,若對應來源MAC位址對應的年齡計時器倒數為零時,則會觸發入口端封包處理器24發出固定端口退出事件。
於一實施例中,當網路協定控制平面24判斷固定端口退出事件時,則退出事件不送進事件過濾器3,以減少事件過濾器3的使用量。
針對聚合端口的退出事件及年齡更新事件,於本發明實施例中,由所有從屬網路交換器DEV0~DEVn負責提供聚合端口年齡時間的更新資訊,而主控網路交換器DEV_M根據上述資訊來發出聚合端口的年齡變更確認及退出事件給從屬網路交換器DEV0~DEVn。每一台從屬網路交換器DEV0~DEVn收到任何封包的來源MAC位址時,都要更新轉送資料庫20的來源MAC位址計時器,包含標註為聚合端口的來源MAC位址計時器。若從屬網路交換器DEV0~DEVn發現聚合端口的年齡計時器有被更新,則從屬網路交換器DEV0~DEVn發出聚合年齡更新事件給主控網路交換器DEV_M;主控網路交換器DEV_M可根據聚合年齡更新事件來更新自己的轉送資料庫20。當主控網路交換器DEV_M記錄的聚合端口年齡計時器為零時,可發出聚合端口的退出事件及對應變更確認給所有網路交換器。此外,當網路協定控制平面24判斷聚合端口更新事件時,則聚合端口更新事件不送進事件過濾器3,以減少事件過濾器3的使用量。
第4圖為本發明實施例一網路交換器DEV_FD的功能方塊圖。網路交換器DEV_FD與DEV的架構類似,故相同元件以相同標號表示。網路交換器4包含轉送資料庫400及401、一MAC引擎41、多工器22、事件管道23、入口端封包處理器440及441、交通管理與排程模組25和出口端封包處理器26。MAC引擎41包含一先進先出(First In First Out,FIFO)模組410、一更新模組411和一封包產生模組412。
於一實施例中,網路協定控制平面440、441可偵測固定實體端口的變更事件(例如,新增、移動、固定端口退出事件)到MAC引擎41,並透過先進先出模組410進行列隊及排程。更新模組411可根據變更事件,將收到封包的來源MAC位址、端口名稱及年齡計時器等資料,同時寫入轉送資料庫400、401;當寫入完成,轉送資料庫400、401可傳送變更確認給更新模組411,以進行網路交換器DEV_FD內部的資料庫同步。
於一實施例中,轉送資料庫400及401中的一者可作為主控轉送資料庫,而其餘者可作為從屬轉送資料庫,例如轉送資料庫400是主控轉送資料庫,而轉送資料庫401是從屬轉送資料庫。
針對固定實體端口的變更事件,從屬入口端封包處理器441和主控入口端封包處理器440可偵測變更事件,並送到先進先出模組410乃至更新模組411,以同時修改轉送資料庫400與401,達到資料庫同步的目的。
針對聚合端口的退出及年齡更新事件,從屬入口端封包處理器441可從轉送資料庫401查表,以提供聚合端口的年齡計時器資訊給主控入口端封包處理器440,以更新主控轉送資料庫400中的年齡資訊;主控入口端封包處理器會定期掃描轉送資料庫400,如果發現聚合端口的年齡倒數到零,則會觸發聚合端口退出事件,對應的事件會送到媒體存取控制引擎41,再同時修改轉送資料庫400與401,以進行網路交換器DEV_FD內部資料庫同步。
於一實施例中,當具有多個轉送資料庫400、401的網路交換器DEV_FD用於網路交換器堆疊系統1時,即可形成多層次的主從架構。針對聚合端口的退出及年齡更新事件,假設網路交換器DEV_FD是網路交換器堆疊系統1的從屬網路交換器DEV0~DEVn中的一者,從屬入口端封包處理器441可從轉送資料庫401查表,以提供聚合端口的年齡計時器資訊給主控入口端封包處理器440;經主控入口端封包處理器440從主控轉送資料庫400查表而得到最新的聚合端口年齡計時器資訊之後,再發出該聚合端口的年齡更新事件給先進先出模組410乃至封包產生模組412。封包產生模組412可產生對應的變更事件封包給交通管理與排程模組25、出口端封包處理器26乃至主控網路交換器DEV_M。
於一實施例中,假設網路交換器DEV_FD是網路交換器堆疊系統1的主要網路交換器DEV_M,從屬入口端封包處理器441可從轉送資料庫401查表,以提供聚合端口的年齡計時器資訊給主控入口端封包處理器440;經入口端封包處理器440從主控轉送資料庫400查表而得到最新的聚合端口年齡計時器資訊之後,再發出該聚合端口的退出及年齡更新事件給先進先出模組410乃至封包產生模組412。封包產生模組412可產生對應的變更確認給交通管理與排程模組25、出口端封包處理器26乃至從屬網路交換器DEV0~DEVn。同時更新模組411將更新寫到轉送資料庫400與401,以同步網路交換器DEV_M的資料庫。
關於網路交換器堆疊系統1的操作方式可歸納為一轉送資料庫同步流程5,如第5圖所示,轉送資料庫同步流程5包含以下步驟。
步驟500:至少一從屬網路交換器傳送至少一變更事件到一主控網路交換器。
步驟501:主控網路交換器根據至少一變更事件,判斷是否需更新一主控轉送資料庫?若是,進行步驟502;若否,回到步驟500。
步驟502:判斷一資料乘載量是否已達上限或一變更事件年齡時間是否為零。若是,進行步驟503;若否,回到步驟501。
步驟503:主控網路交換器根據至少一變更事件,產生一變更確認給至少一從屬網路交換器。
步驟504:至少一從屬網路交換器根據變更確認,更新至少一從屬轉送資料庫。
關於轉送資料庫同步流程5的詳細操作可參考第1圖的相關說明,於此不贅述。
關於網路交換器DEV_FD的操作方式可歸納為一轉送資料庫同步流程6,如第6圖所示,轉送資料庫同步流程6包含以下步驟。
步驟600:至少一入口端封包處理器傳送至少一變更事件到媒體存取引擎。
步驟601:媒體存取引擎判斷是否需更新主控轉送資料庫?若是,進行步驟602;若否,回到步驟600。
步驟602:媒體存取引擎判斷至少一變更事件是否為聚合端口年齡更新事件?若是,進行步驟603;若否,進行步驟604。
步驟603:媒體存取引擎通知主控入口端封包處理器更新轉送資料庫中的年齡資訊。
步驟604:媒體存取引擎修改主控與從屬轉送資料庫。
上述關於轉送資料庫同步流程6的詳細操作可參考第4圖的相關說明,於此不贅述。
綜上所述,本發明的網路交換器堆疊系統使用中央學習,由主控網路交換器來確認變更事件(新增、退出、移動、聚合端口更新事件),並透過主控網路交換器來廣播已確認的變更事件給從屬網路交換器,以同步網路交換器堆疊系統中所有的轉送資料庫。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
1‧‧‧網路交換器堆疊系統
DEV0~DEVn‧‧‧從屬網路交換器
DEV_M‧‧‧主控網路交換器
DEV、DEV_FD‧‧‧網路交換器
20、400、401‧‧‧轉送資料庫
21、41‧‧‧媒體存取控制引擎
22‧‧‧多工器
23‧‧‧事件管道
24、440、441‧‧‧入口端封包處理器
25‧‧‧交通管理與排程模組
26‧‧‧出口端封包處理器
3‧‧‧事件過濾器
300‧‧‧輸入輸出模組
301‧‧‧事件表格
302‧‧‧變更事件產生器
303‧‧‧寫入控制器
304‧‧‧清除引擎
305‧‧‧計時控制器
410‧‧‧先進先出模組
411‧‧‧更新模組
412‧‧‧封包產生模組
5、6‧‧‧流程
500、501、502、503、504、600、601、602、603、604‧‧‧步驟
第1圖為本發明實施例一網路交換器堆疊系統的示意圖。 第2圖為本發明實施例第1圖的網路交換器的功能方塊圖。 第3圖為本發明實施例一事件過濾器的功能方塊圖。 第4圖為本發明實施例一網路交換器的功能方塊圖。 第5圖為本發明實施例一轉送資料庫同步流程的流程圖。 第6圖為本發明實施例另一轉送資料庫同步流程的流程圖。
5‧‧‧流程
500、501、502、503、504‧‧‧步驟
Claims (8)
- 一種同步轉送資料庫的方法,用於一網路交換器堆疊系統,該網路交換器堆疊系統包含至少一從屬網路交換器以及一主控網路交換器,該方法包含: 該至少一從屬網路交換器傳送至少一變更事件到該主控網路交換器; 當該主控網路交換器根據該至少一變更事件,判斷需更新該主控網路交換器的一主控轉送資料庫時,產生一變更確認給該至少一從屬網路交換器;以及 該至少一從屬網路交換器根據該變更確認,更新至少一從屬網路交換器的至少一從屬轉送資料庫; 其中該至少一變更事件包含一新增事件、一移動事件、一固定端口退出事件以及一聚合端口年齡更新事件中的至少一者。
- 如請求項1所述的方法,其另包含: 當該主控網路交換器判斷需更新該主控網路交換器的該主控轉送資料庫,且一資料乘載量已達上限或一變更事件年齡時間為零時,產生該變更確認給該至少一從屬網路交換器。
- 如請求項1所述的方法,其中該變更確認對應一序列識別碼,該方法另包含: 當該至少一從屬網路交換器判斷該變更確認對應的該序列識別碼不如預期時,發出一要求重送給該主控網路交換器;以及 在該變更確認的一保留時間內,該主控網路交換器根據該要求重送,傳送該變更確認給該至少一從屬網路交換器。
- 如請求項1所述的方法,其另包含: 當該至少一從屬網路交換器判斷該至少一變更事件是該聚合端口年齡更新事件時,該至少一從屬網路交換器傳送的該聚合端口年齡更新事件包含一聚合端口的一年齡計時器資訊; 該主控網路交換器根據該聚合端口的該年齡計時器資訊,判斷該聚合端口的一聚合端口退出事件;以及 當該主控網路交換器判斷該聚合端口的該年齡計時器資訊為零時,傳送該聚合端口退出事件對應的一聚合端口退出確認給該至少一從屬網路交換器。
- 如請求項1所述的方法,其另包含: 當該至少一從屬網路交換器判斷該至少一變更事件是該新增事件或該移動事件中的至少一者時,判斷該新增事件或該移動事件是否記錄於一事件表格; 當該至少一從屬網路交換器判斷該新增事件或該移動事件未記錄於該事件表格時,傳送該新增事件或該移動事件對應的該至少一變更事件到該主控網路交換器; 當該至少一從屬網路交換器判斷該新增事件或該移動事件已記錄於該事件表格,且該新增事件或該移動事件對應的年齡計時器不為零時,不傳送該新增事件或該移動事件對應的該至少一變更事件到該主控網路交換器;以及 當該至少一從屬網路交換器判斷該新增事件或該移動事件對應的該年齡計時器為零時,從該事件表格刪除該新增事件或該移動事件。
- 如請求項5所述的方法,其另包含: 當該至少一從屬網路交換器判斷該至少一變更事件是該固定端口退出事件或該聚合端口年齡更新事件時,不於該事件表格記錄該固定端口退出事件或該聚合端口年齡更新事件。
- 一種同步轉送資料庫的方法,用於一網路交換器,該網路交換器包含一媒體存取引擎、至少一從屬入口端封包處理器、至少一從屬轉送資料庫、一主控入口端封包處理器以及一主控轉送資料庫,該方法包含: 該至少一從屬入口端封包處理器及該主控入口端封包處理器傳送至少一變更事件到該媒體存取引擎; 當該媒體存取引擎根據該至少一變更事件,判斷需更新該主控轉送資料庫時,判斷該至少一變更事件是否為一聚合端口年齡更新事件; 當該媒體存取引擎判斷該至少一變更事件是該聚合端口年齡更新事件時,該媒體存取引擎通知該主控入口端封包處理器更新該主控轉送資料庫中的年齡資訊;以及 當判斷該至少一變更事件不是該聚合端口年齡更新事件時,該媒體存取引擎根據該至少一變更事件,修改該至少一從屬轉送資料庫及該主控轉送資料庫; 其中該至少一變更事件包含一新增事件、一移動事件、一固定端口退出事件以及該聚合端口年齡更新事件中的至少一者。
- 如請求項7所述的方法,其中當該媒體存取引擎判斷該至少一變更事件是該聚合端口年齡更新事件時,該方法另包含: 該媒體存取引擎傳送該聚合端口年齡更新事件給一主控網路交換器; 其中該網路交換器是一網路交換器堆疊系統的從屬網路交換器,且該網路交換器堆疊系統包含該主控網路交換器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107129956A TWI698104B (zh) | 2018-08-28 | 2018-08-28 | 使用中央學習來處理網路交換器堆疊系統的多個轉送資料庫同步的方法 |
US16/364,200 US10931787B2 (en) | 2018-08-28 | 2019-03-26 | Method of handling multiple forwarding information base synchronization for network switch stacking system using central learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107129956A TWI698104B (zh) | 2018-08-28 | 2018-08-28 | 使用中央學習來處理網路交換器堆疊系統的多個轉送資料庫同步的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202010293A true TW202010293A (zh) | 2020-03-01 |
TWI698104B TWI698104B (zh) | 2020-07-01 |
Family
ID=69640474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107129956A TWI698104B (zh) | 2018-08-28 | 2018-08-28 | 使用中央學習來處理網路交換器堆疊系統的多個轉送資料庫同步的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10931787B2 (zh) |
TW (1) | TWI698104B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI792169B (zh) * | 2021-02-02 | 2023-02-11 | 瑞昱半導體股份有限公司 | 堆疊式交換機單元以及使用於堆疊式交換機單元的方法 |
CN113839875B (zh) * | 2021-10-26 | 2022-12-23 | 浪潮思科网络科技有限公司 | 一种堆叠系统中mac地址的同步方法、装置、设备及介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139267B2 (en) * | 2002-03-05 | 2006-11-21 | Industrial Technology Research Institute | System and method of stacking network switches |
TWI233734B (en) | 2001-07-10 | 2005-06-01 | Ind Tech Res Inst | System and method of stacking network switches |
CN100370740C (zh) * | 2004-03-06 | 2008-02-20 | 鸿富锦精密工业(深圳)有限公司 | 堆叠式交换机管理方法 |
TWI232659B (en) * | 2004-03-09 | 2005-05-11 | Hon Hai Prec Ind Co Ltd | Method for managing a stack of switches |
US7286853B2 (en) * | 2004-03-24 | 2007-10-23 | Cisco Technology, Inc. | System and method for aggregating multiple radio interfaces into a single logical bridge interface |
US7484021B2 (en) * | 2005-10-27 | 2009-01-27 | Cisco Technology, Inc. | Technique for implementing virtual fabric membership assignments for devices in a storage area network |
US8891535B2 (en) * | 2012-01-18 | 2014-11-18 | International Business Machines Corporation | Managing a global forwarding table in a distributed switch |
US9137141B2 (en) * | 2012-06-12 | 2015-09-15 | International Business Machines Corporation | Synchronization of load-balancing switches |
US10305796B2 (en) * | 2015-06-01 | 2019-05-28 | Ciena Corporation | Enhanced forwarding database synchronization for media access control addresses learned in interconnected layer-2 architectures |
-
2018
- 2018-08-28 TW TW107129956A patent/TWI698104B/zh active
-
2019
- 2019-03-26 US US16/364,200 patent/US10931787B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10931787B2 (en) | 2021-02-23 |
US20200076921A1 (en) | 2020-03-05 |
TWI698104B (zh) | 2020-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146483B2 (en) | Data forwarding method and node device for mesh network | |
EP3582459B1 (en) | Communication system, communication device, and communication method | |
JP2009512260A (ja) | 加入者装置、通信システムの通信コントローラ、および通信システムの加入者装置内でゲートウェイ機能を実現する方法 | |
US20200119975A1 (en) | Communication System, Communication Apparatus, and Communication Method | |
CN103918238A (zh) | 实时分布式网络模块、实时分布式网络及其方法 | |
WO2015090245A1 (zh) | 文件传输方法、装置及分布式集群文件系统 | |
WO2017000832A1 (zh) | Mac地址的同步方法、装置及系统 | |
KR100793349B1 (ko) | Ppp 멀티링크를 지원하는 시스템에서의 멀티캐스트트래픽 포워딩 장치 및 제어방법 | |
JP2023129630A (ja) | 低複雑度イーサネットノード(len)1ポート | |
JP2004536523A (ja) | 分散型共有メモリパケット交換のための帯域内メッセージの同期 | |
TW202010293A (zh) | 使用中央學習來處理網路交換器堆疊系統的多個轉送資料庫同步的方法 | |
AU2014336967B2 (en) | Network interface | |
US20040198223A1 (en) | Flow control in a bluetooth wireless communication system | |
US10142228B2 (en) | Device and method for retransmitting data in a network switch | |
CN1607772A (zh) | 一种通过地址解析协议报文实现数据转发备份的方法 | |
US6226685B1 (en) | Traffic control circuits and method for multicast packet transmission | |
US8516150B2 (en) | Systems and methods for multiple computer dataloading using a standard dataloader | |
US5442631A (en) | Communication control device | |
CN110881008B (zh) | 同步转发数据库的方法 | |
KR101544592B1 (ko) | 능동적 큐 할당 방식의 고가용성 분산임베디드 네트워크 송수신 방법 및 장치 | |
WO2019174424A1 (zh) | 链路容量调整方法及装置、系统、控制器、网络节点 | |
JP2007272694A (ja) | 通信インターフェース装置及び通信方法 | |
JP2001202345A (ja) | 並列プロセッサ | |
JP6740683B2 (ja) | 並列処理装置及び通信制御方法 | |
US10681145B1 (en) | Replication in a protocol offload network interface controller |