CN104734961B - 基于fc交换网络的路由选择方法 - Google Patents
基于fc交换网络的路由选择方法 Download PDFInfo
- Publication number
- CN104734961B CN104734961B CN201310715067.9A CN201310715067A CN104734961B CN 104734961 B CN104734961 B CN 104734961B CN 201310715067 A CN201310715067 A CN 201310715067A CN 104734961 B CN104734961 B CN 104734961B
- Authority
- CN
- China
- Prior art keywords
- port
- data frame
- cascade
- interchanger
- cascade port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于FC交换网络的路由选择方法,首先通过CPU对交换机的域ID寄存器、级联端口标志寄存器、级联端口数目寄存器、级联端口路由表、多播路由表、广播路由寄存器进行配置,当交换机某一端口收到数据帧后,根据数据帧的类型进行相应的路由选择。本发明控制简单,易于硬件逻辑实现;保证数据帧到达相应的目的端口,可避免数据帧通过级联端口回传;可保证各级联端口输出流量均衡。
Description
技术领域
本发明属于计算机通信技术,涉及级联交换网络尤其是FC交换网络的一种路由选择方法。
背景技术
FC网络具备高带宽、低延迟和高可靠等特性,非常适合在对数据传输实时性有较高要求的分布式实时系统中使用。
FC交换机作为整个FC网络的核心部件,负责为网络中所有节点提供单播、组播和广播的数据交换支持。为了支持更多的网络节点,通常将多个交换机级联组成级联网络。
在单FC交换机网络中,通常通过解析数据帧的目的ID,来进行路由选择,决定将该帧发送到哪个目的端口。
在两FC交换机组成的级联网络中,连接在一个交换机上的某个节点需要向连接在另一个交换机上的某个或多个节点发送数据帧,如何选择正确的路由是当前存在的一个问题。
发明内容
本发明的目的是,提供一种路由选择方法,用来支持两FC交换机级联交换网络的单播、多播及广播通信功能。
本发明的技术解决方案是,
基于FC交换网络的路由选择方法,其特殊之处在于:包括以下步骤:
1】CPU对交换机的域ID寄存器、级联端口标志寄存器、级联端口数目寄存器、级联端口路由表、多播路由表、广播路由寄存器进行配置;
2】当交换机某一端口收到数据帧后,解析出该数据帧的目的ID,根据目的ID判断该数据帧的类型,进行相应的路由选择:
2.1】如果数据帧类型是单播:
2.11】判断目的端口是否在本交换机,如果在本交换机,则根据目的ID进行路由,将该数据帧转发到对应的目的端口;如果目的端口在对方交换机,则查找级联端口路由表,决定将该数据帧转发到哪个级联端口;
2.12】查询步骤2】中收到数据帧的端口是否是级联端口,如果步骤2】中收到数据帧的端口是级联端口,则将该数据帧丢弃;如果步骤2】中收到数据帧的端口不是级联端口,将该数据帧转发到查询到的级联端口;
2.2】如果数据帧类型是多播:
2.21】查找多播路由表,获得多播目的端口;
2.22】查询步骤2】中收到数据帧的端口是否为级联端口,如果步骤2】中收到数据帧的端口为级联端口,则将该多播帧转发到除级联端口以外的查询到的所有多播目的端口;如果步骤2】中收到数据帧的端口不是级联端口,则将多播帧转发到查询到的所有多播目的端口;
2.3】如果数据帧类型是广播:
2.31】查找广播路由寄存器,获得广播目的端口;
2.32】查询步骤2】中收到数据帧的端口是否为级联端口,如果步骤2】中收到数据帧的端口为级联端口,则将该广播帧转发到除级联端口外的所有查询到的广播目的端口;如果步骤2】中收到数据帧的端口不是级联端口,然后将该广播帧转发到查找到的所有广播目的端口。
所述域ID寄存器包括本地域ID寄存器和级联端口域ID寄存器,每个交换机都包括本地域ID寄存器和级联端口域ID寄存器,两个寄存器数据宽度都为8位;本地域ID寄存器用来配置本交换机的域ID;级联端口域ID寄存器用来配置对方交换机的域ID。
级联端口路由表为一块MxN的RAM,该RAM深度为M,数据宽度为N;深度为级联端口的数目,宽度为级联端口的端口号。
多播路由表为一块AxB的RAM,该RAM深度为A,数据宽度为B;深度为多播组的数目,宽度为目的端口掩码。
本发明具有的优点是:
1)控制简单,易于硬件逻辑实现;
2)保证数据帧到达相应的目的端口,可避免数据帧通过级联端口回传;
3)可保证各级联端口输出流量均衡。
附图说明
图1为两交换机级联交换网络示意图;
图2为路由选择流程示意图。
具体实施方式
下面以32端口交换机为例,对具体实施方式进行说明。如图1所示,为两个32端口交换机组成的级联交换网络,两个交换机最多可通过四个级联端口进行级联,交换机其余端口分别与节点机连接。
在交换机启动时,需要CPU对交换机进行初始化配置。当交换机收到数据帧后,根据数据帧的类型(单播、多播、广播),分别进行相应的路由选择。
1.初始化配置
1.1域ID寄存器
在FC级联网络中,每个交换机都有各自的域ID。每个交换机都分别有两个域ID寄存器:本地域ID寄存器和级联端口域ID寄存器,两个寄存器数据宽度都为8位。
本地域ID寄存器用来配置本交换机的域ID;级联端口域ID寄存器用来配置对方交换机的域ID。
1.2级联端口标志寄存器
两个FC交换机通过级联端口进行级联,组成级联交换网络,如图1所示,交换机1和交换机2通过4个级联端口进行级联。
级联端口标志寄存器为32位,每位分别对应一个端口,如果该位为1表示该端口为级联端口,如果该位为0表示该位为非级联端口。
1.3级联端口数目寄存器
级联端口数目寄存器数据宽度为3位,用来配置本交换机级联端口的数目,取值范围从0到4。
当该寄存器值为0时,表示本交换机无级联端口,未与其它交换机进行级联;当该寄存器值不为0时,表示本交换机有级联端口。当寄存器值大于1时,表示本交换机有多个级联端口,交换机需要从多个级联端口中选择一个进行转发。
当需要发到对方交换机的数据帧为单播时,交换机通过级联端口路由表进行路由;当需要发到对方交换机的数据帧为多播时,交换机通过多播路由表进行路由;当需要发到对方交换机的数据帧为广播时,交换机通过广播路由寄存器进行路由。
1.4级联端口路由表
级联端口路由表为一块4x5的RAM,该RAM深度为4,数据宽度为5。深度为级联端口的数目,宽度为级联端口的端口号(采用二进制,范围从0到31)。
当交换机需要将单播数据帧转发到对方交换机时,需要查找该路由表。1.5多播路由表
多播路由表为一块255x32的RAM,该RAM深度为255,数据宽度为32。深度为多播组的数目,宽度为目的端口掩码。掩码每位分别对应一个端口,为1表示该多播组包含该端口;否则,不包含该端口。
1.6广播路由寄存器
广播路由寄存器数据宽度为32位,每位对应一个端口,为1表示广播目的端口包含该端口;否则,不包含该端口。
2.数据帧的路由选择
当交换机某一端口接收到数据帧,执行以下流程,进行路由选择,如图2所示:
(1)当交换机某一端口接收到数据帧后,解析出该数据帧的目的ID,根据目的ID判断该数据帧的类型:如果该数据帧为单播,跳转到步骤(2);如果该数据帧为多播,跳转到步骤(7);如果该数据帧为广播,跳转到步骤(11);
(2)解析出该数据帧的域ID,与交换机的两个域ID进行比对:如果与本交换机的域ID相同,表明该数据帧的目的端口不是级联端口,跳转到步骤(3);如果与对方交换机的域ID相同,表明该数据帧的目的端口是级联端口,跳转到步骤(4);
(3)根据该数据的目的ID进行路由,将该数据帧转发到对应的目的端口;
(4)查询级联端口标志寄存器,查询本端口是否为级联端口:如果本端口是级联端口,跳转到步骤(5);如果本端口不是级联端口,跳转到步骤(6);
(5)该数据帧的源端口与目的端口都是级联端口,不符合FC协议,将该数据帧丢弃,不进行转发;
(6)为实现级联端口的数据流量均衡,解析出该数据帧的OX_ID,并将OX_ID与本端口的端口号相加,相加结果除以4(级联端口数目),使用所得余数作为地址,查询级联端口路由表,得到级联端口的端口号,将该数据帧转发到该级联端口,实现路由选择;
(7)查询多播路由表,获得该多播数据帧的目的端口,转步骤(8);
(8)查询级联端口标志寄存器,查询本端口是否为级联端口:如果本端口是级联端口,跳转到步骤(9);如果本端口不是级联端口,跳转到步骤(10);
(9)如果步骤(7)中获得的多播目的端口包含级联端口,将级联端口从多播目的端口中去除,获得新的多播目的端口,然后将该数据帧转发到新的多播目的端口;否则转步骤(10);
(10)将该多播数据帧转发到步骤(7)中获得的多播目的端口;
(11)查询广播路由寄存器,获得广播目的端口,跳转到步骤(12);
(12)查询级联端口标志寄存器,查询本端口是否为级联端口:如果本端口是级联端口,跳转到步骤(13);如果本端口不是级联端口,跳转到步骤(14);
(13)如果步骤(11)中获得的广播目的端口包含级联端口,将级联端口从广播目的端口中去除,获得新的广播目的端口,然后将该数据帧转发到新的广播目的端口;否则转步骤(14);
(14)将该多播数据帧转发到步骤(11)中获得的广播目的端口。
Claims (4)
1.基于FC交换网络的路由选择方法,其特征在于:包括以下步骤:
1】CPU对交换机的域ID寄存器、级联端口标志寄存器、级联端口数目寄存器、级联端口路由表、多播路由表、广播路由寄存器进行配置;
2】当交换机某一端口收到数据帧后,解析出该数据帧的目的ID,根据目的ID判断该数据帧的类型,进行相应的路由选择:
2.1】如果数据帧类型是单播:
2.11】判断目的端口是否在本交换机,如果在本交换机,则根据目的ID进行路由,将该数据帧转发到对应的目的端口;如果目的端口在对方交换机,则查找级联端口路由表,决定将该数据帧转发到哪个级联端口;
2.12】查询步骤2】中收到数据帧的端口是否是级联端口,如果步骤2】中收到数据帧的端口是级联端口,则将该数据帧丢弃;如果步骤2】中收到数据帧的端口不是级联端口,将该数据帧转发到查询到的级联端口;
2.2】如果数据帧类型是多播:
2.21】查找多播路由表,获得多播目的端口;
2.22】查询步骤2】中收到数据帧的端口是否为级联端口,如果步骤2】中收到数据帧的端口为级联端口,则将该多播帧转发到除级联端口以外的查询到的所有多播目的端口;如果步骤2】中收到数据帧的端口不是级联端口,则将多播帧转发到查询到的所有多播目的端口;
2.3】如果数据帧类型是广播:
2.31】查找广播路由寄存器,获得广播目的端口;
2.32】查询步骤2】中收到数据帧的端口是否为级联端口,如果步骤2】中收到数据帧的端口为级联端口,则将该广播帧转发到除级联端口外的所有查询到的广播目的端口;如果步骤2】中收到数据帧的端口不是级联端口,然后将该广播帧转发到查找到的所有广播目的端口。
2.根据权利要求1所述的基于FC交换网络的路由选择方法,其特征在于:所述域ID寄存器包括本地域ID寄存器和级联端口域ID寄存器,每个交换机都包括本地域ID寄存器和级联端口域ID寄存器,两个寄存器数据宽度都为8位;本地域ID寄存器用来配置本交换机的域ID;级联端口域ID寄存器用来配置对方交换机的域ID。
3.根据权利要求1或2所述的基于FC交换网络的路由选择方法,其特征在于:级联端口路由表为一块MxN的RAM,该RAM深度为M,数据宽度为N;深度为级联端口的数目,宽度为级联端口的端口号。
4.根据权利要求3所述的基于FC交换网络的路由选择方法,其特征在于:多播路由表为一块AxB的RAM,该RAM深度为A,数据宽度为B;深度为多播组的数目,宽度为目的端口掩码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310715067.9A CN104734961B (zh) | 2013-12-20 | 2013-12-20 | 基于fc交换网络的路由选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310715067.9A CN104734961B (zh) | 2013-12-20 | 2013-12-20 | 基于fc交换网络的路由选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104734961A CN104734961A (zh) | 2015-06-24 |
CN104734961B true CN104734961B (zh) | 2017-10-24 |
Family
ID=53458408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310715067.9A Active CN104734961B (zh) | 2013-12-20 | 2013-12-20 | 基于fc交换网络的路由选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104734961B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391645B (zh) * | 2015-12-07 | 2018-07-03 | 中国航空工业集团公司西安航空计算技术研究所 | 基于fc网络的一种级联端口负载均衡方法 |
CN105490845A (zh) * | 2015-12-08 | 2016-04-13 | 中国航空工业集团公司西安航空计算技术研究所 | Fc交换机级联配置及路由实现方法 |
CN109412695B (zh) * | 2018-12-28 | 2022-06-10 | 中国船舶重工集团公司第七一九研究所 | 一种基于星形拓扑结构的光纤can2.0b总线路由系统 |
CN111107021A (zh) * | 2019-11-22 | 2020-05-05 | 广东工业大学 | 一种信息流路径的确定方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035741A (zh) * | 2010-12-20 | 2011-04-27 | 中兴通讯股份有限公司 | 一种环形拓扑网络中单播报文的转发方法及设备 |
CN103023669A (zh) * | 2012-12-28 | 2013-04-03 | 中国航空工业集团公司第六三一研究所 | 基于交换网络的一种广播调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7388843B2 (en) * | 2003-07-16 | 2008-06-17 | Qlogic, Corporation | Method and apparatus for testing loop pathway integrity in a fibre channel arbitrated loop |
JP5617304B2 (ja) * | 2010-03-26 | 2014-11-05 | 富士通株式会社 | スイッチング装置、情報処理装置および障害通知制御プログラム |
-
2013
- 2013-12-20 CN CN201310715067.9A patent/CN104734961B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035741A (zh) * | 2010-12-20 | 2011-04-27 | 中兴通讯股份有限公司 | 一种环形拓扑网络中单播报文的转发方法及设备 |
CN103023669A (zh) * | 2012-12-28 | 2013-04-03 | 中国航空工业集团公司第六三一研究所 | 基于交换网络的一种广播调度方法 |
Non-Patent Citations (1)
Title |
---|
HFC网络回传通道干扰与均衡汇集问题的探讨;曾东初;《中国有线电视》;20090430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104734961A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2541940C2 (ru) | Способ применения экземпляра службы к сети mpls (варианты) и сеть mpls | |
US11050657B2 (en) | Method, device and node for message transmission, and computer storage medium | |
US9647959B2 (en) | Method, device, and system for creating bidirectional multicast distribution tree based on interior gateway protocol | |
CN106603407B (zh) | 组播地址的传输方法和装置 | |
EP2842278B1 (en) | Three stage folded clos optimization for 802.1aq | |
CN103281247B (zh) | 一种数据中心网络的通用路由方法及系统 | |
CN103346969A (zh) | 基于OpenFlow实现动态组播生成树路径调整的方法 | |
US20070286093A1 (en) | Method of routing multicast traffic | |
CN104734961B (zh) | 基于fc交换网络的路由选择方法 | |
CN104335537A (zh) | 用于层2多播多路径传送的系统和方法 | |
CN103346968A (zh) | 用于路由组播数据的方法和装置 | |
CN104426815A (zh) | 一种sdn中流表下发的方法和系统、of控制器和of交换机 | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN105009526A (zh) | 控制装置、控制系统、交换机控制方法和程序 | |
CN103380597A (zh) | 用于在片上环形网络中减少时延的非对称环形网拓扑 | |
CN105490845A (zh) | Fc交换机级联配置及路由实现方法 | |
CN103441927A (zh) | 报文处理方法及装置 | |
CN111355674A (zh) | 路由报文的处理方法及装置、存储介质和电子装置 | |
CN106453091B (zh) | 路由器转发平面的等价路由管理方法和装置 | |
CN103227752A (zh) | 以太网交换芯片中策略路由的实现方法和装置 | |
CN106790146A (zh) | 一种云环境下基于sdn技术实现移动组播的系统及其运行方法 | |
US20160043878A1 (en) | Multicast communications method and aggregation switch | |
CN102801622A (zh) | 一种数据报文的转发方法及转发装置 | |
CN103051744A (zh) | 组播地址的转换方法及装置 | |
KR101800320B1 (ko) | 버스 프로토콜 기반의 네트워크 온 칩 시스템, 그 설계 방법 및 그 설계 방법에 관한 프로그램이 기록된 컴퓨터 판독가능 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |