Fc交換機級聯配置及路由實現方法
【技術領域】
[0001 ]本發明屬于計算機通信技術,設及FC交換機級聯配置及路由的實現方法。
【背景技術】
[0002] FC通信網絡由節點機和交換機組成,所有節點機均通過鏈路與交換機相連,實現 分布式通信。
[0003] 通常情況下,FC交換機基于FPGA實現,由于受FPGA資源規模所限,單個交換機實現 的端口數目有限。但是隨著應用需求的增加,交換網絡中節點機大量增加。運樣導致單個交 換機無法支持更多的節點機。因此,級聯式交換網絡隨之產生。但如何使FC交換機支持級聯 式交換網絡,是當前存在的難點。
【發明內容】
[0004] 本發明提出了一種FC交換機級聯配置及路由實現方法,可W支持FC交換機級聯, W適應交換網絡中日益增加的節點機數目。
[0005] 本發明的技術解決方案是:
[0006] FC交換機級聯配置及路由實現方法,包括W下步驟:
[0007] 1)對FC交換機進行初始化配置,初始化配置對象包括交換機域ID、級聯端口標志 寄存器、級聯端口數目配置表、級聯端口路由表、多播路由表和廣播路由寄存器;
[000引交換機域ID包括本地域ID寄存器和級聯交換機域ID配置表;
[0009] 2)數據帖的路由選擇
[0010] 當交換機某一端口接收到數據帖,執行W下流程:
[0011] (1)解析出該數據帖的DID,根據DID判斷該數據帖的類型:如果該數據帖為單播, 跳轉到步驟(2);如果該數據帖為多播,跳轉到步驟(8);如果該數據帖為廣播,跳轉到步驟
[12] ;
[0012] (2)解析出該數據帖的域ID,與本地域ID寄存器進行比對:如果與相同,表明該數 據帖的目的端口不是級聯端口,跳轉到步驟(3);否則,跳轉到步驟(4);
[OOK] (3)根據該數據的DID進行路由,將該數據帖轉發到對應的目的端口;
[0014] (4)查詢級聯端口標志寄存器,判斷本端口是否為級聯端口:如果是,跳轉到步驟 (6);否則,跳轉到步驟(5);
[0015] (5)根據該數據帖的域ID查詢級聯交換機域ID配置表,如果查詢命中,則得到該數 據帖的域ID相應的級聯路徑編號,跳轉到步驟(7);否則,跳轉到步驟(6);
[0016] (6)將該數據帖丟棄,流程結束;
[0017] (7)根據步驟(5)得到的級聯路徑編號,查詢對應的級聯端口路由表,得到級聯端 口的端口號,將該數據帖轉發到該端口號對應的級聯端口,實現路由選擇;
[0018] (8)查詢多播路由表,獲得該多播數據帖的目的端口,轉步驟(9);
[0019] (9)查詢級聯端口標志寄存器,判斷本端口是否為級聯端口:如果是,跳轉到步驟 (10);否則,跳轉到步驟(11);
[0020] (10)如果步驟(8)中獲得的多播目的端口包含級聯端口,將級聯端口從多播目的 端口中去除,獲得新的多播目的端口,然后將該數據帖轉發到新的多播目的端口;否則轉步 驟(11);
[0021] (11)將該多播數據帖轉發到步驟(8)中獲得的多播目的端口;
[0022] (12)查詢廣播路由寄存器,獲得廣播目的端口,跳轉到步驟(13);
[0023] (13)查詢級聯端口標志寄存器,判斷本端口是否為級聯端口:如果是,跳轉到步驟 (14);否則,跳轉到步驟(15);
[0024] (14)如果步驟(12)中獲得的廣播目的端口包含級聯端口,將級聯端口從廣播目的 端口中去除,獲得新的廣播目的端口,然后將該數據帖轉發到新的廣播目的端口;否則轉步 驟(15);
[0025] (15)將該廣播數據帖轉發到步驟(12)中獲得的廣播目的端口。
[0026] 上述本地域ID寄存器用來配置本交換機的域ID,采用8位寄存器實現,可讀可寫;
[0027] 級聯交換機域ID配置表用來配置與本交換機級聯的外部交換機的域ID,采用CAM 實現,地址為級聯路徑編號,內容為級聯交換機的域ID;級聯路徑編號為Y。
[0028] 上述級聯端口標志寄存器為N位,每位分別對應一個端口,標志寄存器為1的位,表 示相應端口為級聯端口,否則,表示相應端口為非級聯端口;其中,N為交換機端口數目。
[0029] 上述級聯端口數目配置表采用RAM實現,其地址為級聯路徑編號,內容為級聯端口 數目;級聯端口數目為與本交換機級聯的外部交換機級聯端口的數目,級聯端口數目范圍 從0到M,M大于或等于1,并小于N;
[0030] 當外部交換機的級聯端口數目為加寸,表示本交換機與該交換機無級聯端口相連; 當不為加寸,表示本交換機與該交換機通過級聯端口相連;當大于1時,表示本交換機與該交 換機之間有多個級聯端口。
[0031] 上述級聯端口路由表有Y+1張,分別對應Y+1組級聯路徑,編號為0到Y;
[0032] 每張級聯端口路由表為一塊的RAM,深度與級聯端口數目一致,內容為級聯端口的 端口號。
[0033] 上述多播路由表為一塊255xN的RAM,內容為目的端口掩碼,地址為多播ID;多播ID 從0x00到OxFE;每個多播ID和相應的目的端口掩碼對應同一個多播組;目的端口掩碼每位 分別對應一個端口,目的端口掩碼為1的位,表示相應的端口屬于該目的端口掩碼對應的多 播組的目的端口,否則,表示不屬于;
[0034] 多播路由表配置方法如下:
[0035] 如果多播組的目的端口全部在本交換機上,則將本交換機的各級聯端口對應位全 部置0,將各目的端口對應位置1;
[0036] 如果多播組的目的端口在外部交換機上,則將相應的多播ID對級聯端口數目取模 求余,所得余數與級聯端口 一一對應,將所得余數對應級聯端口的對應位置1,其余級聯端 口的對應位置0;
[0037] 如果多播組的目的端口同時在本交換機和外部交換機上,則將本交換機的非級聯 目的端口對應位置1,將相應的多播ID對級聯端口數目取模求余,將所得余數對應級聯端口 的對應位置1,其余級聯端口的對應位置0。
[003引上述廣播路由寄存器為N位,每位對應一個端口,廣播路由寄存器為1的位,表示相 應端口屬于廣播目的端口;否則,不屬于;
[0039] 廣播路由寄存器配置方法如下:
[0040] 將本交換機所有非級聯端口對應位置1;
[0041] 將級聯路徑編號對應的級聯端口中第一個端口對應位置1,將級聯路徑編號對應 的級聯端口中其余端口對應位置0。
[0042] 本發明具有的優點是:
[0043] 利用本發明可W構建級聯交換網絡,有利于更多的FC節點機接入,有利于交換網 絡容量的擴充;
[0044] 支持FC單播、多播和廣播數據帖通過級聯交換網絡進行路由;
[0045] 硬件開銷小:邏輯僅用來提供相應的配置寄存器和配置表,W及路由功能;與單交 換機相比,硬件開銷增加很小;
[0046] 擴展性強:可W擴展至更多交換機級聯;
【附圖說明】
[0047] 圖1是四交換機級聯拓撲結構;
[0048] 圖視FC交換機路由流程示意圖。
【具體實施方式】
[0049] 本發明提出了一種FC交換機級聯配置及路由實現方法,該方法首先通過CPU對本 交換機的域ID、與其級聯的交換機的域ID配置表、級聯交換機數目、級聯端口標志寄存器、 級聯端口數目配置表、級聯端口路由表、多播路由表、廣播路由寄存器等進行配置,當交換 機某一端口收到數據帖后,根據數據帖的類型進行相應的路