具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例根据实例标识,同一Trill网络中实例标识全局唯一,不同RB下不同的CE-VLAN加入同一个实例,在TRILL网络中通过实例生成组播转发表,基于实例进行MAC学习,实现同一实例下不同CE-VLAN相互通信。
本发明实施例提供一种通信方法,如图1所示,该方法可以包括:
110、第一路由桥RB接收第一用户侧虚拟网络CE-VLAN发送的包含数据信息的第一报文后,确定该第一CE-VLAN的实例标识。
其中,该第一CE-VLAN可以连接在该第一RB上。
本发明实施例中第一RB、第二RB仅为便于区分不同的RB,不构成对本发明实施例的限定,同样,第一CE-VLAN为便于区分不同的CE-VLAN,不构成对本发明实施例的限定。
120、该第一RB向与该第一CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含该数据信息的报文。
其中,该至少一个CE-VLAN可以包含连接在该第一RB上的CE-VLAN,该至少一个CE-VLAN也可以包含连接在与该第一RB通信的其他RB上的CE-VLAN。
本发明实施例的通信方法,RB接收CE-VLAN发送的包含数据信息的报文后,确定CE-VLAN的实例标识,RB向与CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含数据信息的报文。这样应用实例标识实现不同CE-VLAN之间的通信,无需应用公共VLAN进行转换,从而避免VLAN冲突的问题,能够确保TRILL网络中CE-VLAN之间的通信正常进行。
本发明实施例中,可选地,该第一报文包括第一CE-VLAN的VLAN信息,上述110中,确定该第一CE-VLAN的实例标识时,该第一RB根据该第一CE-VLAN的VLAN信息及预存的该第一RB的标识,确定该第一CE-VLAN的实例标识。例如,该第一RB根据预存的实例关系表,确定该目标端口,该实例关系表记录该 第一CE-VLAN的VLAN信息、该第一RB的标识及该第一CE-VLAN的实例标识的对应关系。
本发明实施例中,可以采用表1所示的格式的实例关系表记录CE-VLAN的VLAN信息(Vlan10等)、RB的标识(Nick-name)及CE-VLAN的实例标识(T-1、T-2)的对应关系。
表1
表1中,Trill实例号表项下为CE-VLAN的实例标识,VLAN表项下为CE-VLAN的VLAN信息、Nick-name(路由桥的标识)表项下为RB的标识。
其中,该实例关系表通过扩展中间系统到中间系统(Intermediate system to intermediate system,简称为ISIS)的类型长度值(Type Length Value,简称为TLV)字段学习得到。
本发明实施例中,可选地,如图2所示,上述120中,该第一RB向与该第一CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含该数据信息的报文包括:
121、该第一RB根据该CE-VLAN的实例标识及该第一RB的标识,确定目标端口,该目标端口与至少一个CE-VLAN通信,该至少一个CE-VLAN的实例标识与该第一CE-VLAN的实例标识相同。
其中,该目标端口与至少一个CE-VLAN通信包括:该第一RB通过该目标端口与连接在该第一RB上的CE-VLAN通信,或者该第一RB通过该目标端口与连接在其他RB上的CE-VLAN通信。
本发明实施例中,可选地,上述121中,该第一RB根据该CE-VLAN的实例标识及该第一RB的标识,确定目标端口时,该第一RB根据预存的组播转发表, 确定该目标端口,该组播转发表记录该第一CE-VLAN的实例标识与该目标端口的对应关系。
其中,该组播转发表通过扩展ISIS的TLV字段学习得到。
本发明实施例中,可以采用表2所示的格式的组播转发表记录RB的标识及目标端口的对应关系。
表2
表2中,ROOT(根)表项下为Trill网络根节点RB的标识,根节点RB的标识用于远端转发报文时向根节点RB发送报文,Trill实例号表项下为CE-VLAN的实例标识,出端口表项下为Trill实例号对应的出端口。
122、该第一RB通过该目标端口向该至少一个CE-VLAN发送包含该数据信息的报文。
本发明实施例中,根据不同的应用场景,该目标端口可以连接第二CE-VLAN,该第二CE-VLAN的实例标识与该第一CE-VLAN的实例标识相同;或者该目标端口可以连接第二RB,该第二RB的端口与该第一CE-VLAN的实例标识相同的CE-VLAN通信。应当理解,该目标端口连接该第二RB包括目标端口直接连接该第二RB,或者目标端口通过其他RB连接该第二RB;该第二RB的端口与该第一CE-VLAN的实例标识相同的CE-VLAN通信包括,该第二RB的端口连接有与该第一CE-VLAN的实例标识相同的CE-VLAN,或者该第二RB与其他RB通信,其他RB上连接有与该第一CE-VLAN的实例标识相同的CE-VLAN。本发明实施例不限定RB的具体连接方式。
该目标端口连接第二CE-VLAN时,上述122中,该第一RB通过该目标端口发送包含该数据信息的报文包括:
获取预存的该第二CE-VLAN的VLAN信息;将该第一报文中包含的该第一CE-VLAN的VLAN信息,置换为该第二CE-VLAN的VLAN信息后,向该第二CE-VLAN 发送。
详细实现过程,请参阅后续实施例。
该目标端口连接第二RB时,上述122中,该第一RB通过该目标端口发送包含该数据信息的报文包括:
获取预存的该第一RB的标识、该第二RB的标识,将该第一RB的标识及该第二RB的标识加入该第一报文后,向该第二RB发送,该第二RB的端口与该第一CE-VLAN的实例标识相同的CE-VLAN通信;使得该第二RB根据该第一RB的标识及该第一CE-VLAN的VLAN信息,确定该第一CE-VLAN的实例标识,并根据该第一CE-VLAN的实例标识确定出端口,获取出端口连接的第三CE-VLAN的VLAN信息,将该第一CE-VLAN发送的报文中包含的该第一CE-VLAN的VLAN信息,置换为该第三CE-VLAN的VLAN信息后,向该第三CE-VLAN发送。
应当理解,本发明实施例中,该第二RB的端口与该第一CE-VLAN的实例标识相同的CE-VLAN通信包括,该第二RB的端口连接有与该第一CE-VLAN的实例标识相同的CE-VLAN,或者该第二RB与其他RB通信,其他RB上连接有与该第一CE-VLAN的实例标识相同的CE-VLAN。本发明实施例不限定RB的具体连接方式。
本发明实施例中,可选地,除将该第一RB的标识及该第二RB的标识加入该第一报文外,还可以加入传输VLAN信息(carrier-vlan)及下一跳二层头信息。其中,该传输VLAN及该下一跳二层头信息可以根据该第一RB的标识及该第二RB的标识查询预存的RB转发表得到。本发明实施例中,可以采用表3所示的格式的RB转发表,详细实现过程请参阅图7对应的实施例。
表3
本发明实施例的通信方法,RB接收CE-VLAN发送的包含数据信息的报文后,确定CE-VLAN的实例标识,RB向与CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含数据信息的报文。这样应用实例标识实现不同CE-VLAN之间的通信,无需应用公共VLAN进行转换,从而避免VLAN冲突的问题,能够确保TRILL网 络中CE-VLAN之间的通信正常进行。
下面结合具体应用场景详细说明本发明实施例的实现过程。
下面以图3所示的应用场景为例,详细说明本发明实施例的通信方法的具体实现过程,应当理解,图3仅为本发明实施例的一种应用场景,是为方便理解本发明实施例而作的示范性说明,不应视为对本发明实施例的限定。
图3所示的场景中包括通过千兆以太网端口(Gigabit Ethernet,简称为GE)相连接的RB-A、RB-B、RB-C三个RB。其中,RB-A上有GE1、GE2、GE3、GE4四个端口,RB-B上有GE1、GE2两个端口、RB-C上有GE1、GE2、GE3、GE4四个端口。RB-B作为中继节点连接RB-A及RB-C,RB-B设备上无CE-VLAN接入。本发明的其他应用场景中,RB-A可以直接连接RB-C,或者RB-A通过多个RB-B连接RB-C,本发明实施例对RB的连接方式不作限定。
图3所示的场景中,RB-A上GE1端口连接的CE-VLAN(VLAN信息为Vlan20)、RB-A上GE2端口连接的CE-VLAN(VLAN信息为Vlan10),RB-C上GE1端口连接的CE-VLAN(VLAN信息为Vlan30)、RB-C上GE2端口连接的CE-VLAN(VLAN信息为Vlan10)属于同一Trill实例,实例标识为T-1;RB-A上GE3端口连接的CE-VLAN(VLAN信息为Vlan40)、RB-C上GE3端口连接的CE-VLAN(VLAN信息为Vlan50)属于同一Trill实例,实例标识为T-2。本发明实施例可以采用多种实例划分规则,如同一网络用户的CE-VLAN划分为一个Trill实例等。
如图4所示,图3所示场景中不同RB的CE-VLAN和Trill实例的关系通过增加ISIS协议拓展TLV的方式相互通告,这样RB-A、RB-B、RB-C上能学习到Trill实例与CE-VLAN的VLAN信息之间的转换关系,并存储表1所示格式的实例映射表。
如图5所示,图3所示的应用场景中在完成实例划分之后,RB-A、RB-C分别存储各自的VLAN映射表,VLAN映射表记录出端口连接的CE-VLAN的Trill实例号(即上下文中的实例标识)及出端口连接的CE-VLAN的VLAN信息。当不同CE-VLAN相互通信时,在报文的出端口根据本地存储的VLAN映射表进行VLAN信息的自动转化。
如图6所示,图3所示的应用场景中,RB-A、RB-B、RB-C各自存储如表2 所示格式的组播转发表,RB-A、RB-B、RB-C根据各自存储的组播转发表,实现在同一实例(如T-1对应的实例)中进行单播报文、广播报文及组播报文。
下面以图3所示的应用场景为例,结合图7详细说明本发明实施例中组播报文的具体实现过程,具体的交互流程如701至708所示,应当理解,701至708示出的交互流程为示范性说明,不应视为对本发明实施例的限定。
701、RB-A(即的第一RB)通过GE1端口接收CE-VLAN(图7中未示出)发送的报文(即第一报文),根据报文中的VLAN信息(即Vlan20)和预存的RB-A的Nickname(即RB-A),查询本地存储的实例映射表(参见图4中的实例映射表,实例映射表学习方法请参阅图4),得到CE-VLAN的Trill实例号(即的实例标识)为T-1。
702、RB-A查询Trill实例号T-1对应的MAC(Media Access Control)表(即图8中的L2转发表)失败后,采用组播报文的方式进行报文转发,RB-A应用实例号T-1查询存储的组播转发表(参见图6中RB-A的组播转发表),得知组播出端口(即目标端口)为GE2端口、GE4端口。
其中,RB-A查询实例号T-1对应的MAC表失败包括未查找到MAC表,或者在MAC表中未找到匹配的MAC。另外,本发明实施例还可以在报文中携带标识字段用于指示进行组播报文。
此处,查询存储的组播转发表得知实例号T-1对应GE1端口、GE2端口及GE4端口,由于RB-A通过GE1端口接收报文,即GE1端口为入端口,因此无需通过GE1端口转发报文。
703、GE2端口连接VLAN信息为Vlan10的CE-VLAN(图7中未示出),通过GE2端口发送的报文为本地转发,RB-A查询本地存储的VLAN映射表,得知GE2端口连接的CE-VLAN的VLAN信息为Vlan10,如图7所示RB-A将报文中的Vlan20置换为Vlan10后,通过GE2端口发送到与GE2端口连接的CE-VLAN。
其中,本地转发是指不经其他RB的转发。
704、GE4端口连接RB-B,通过GE2端口发送的报文为远端转发,如图7所示RB-A封装Trill头如图7所示,Trill头中源Nickname为RB-A,目的Nickname为组播根RB-B(图5中RB-A存储的VLAN映射表中ROOT表项),查询预存的RB转发表,获取carrier-vlan(传输VLAN信息)及下一跳(RB-B)头信息(ETH-head)封装报文后由GE4端口转发到下一跳RB-B。
其中,远端转发是指经其他RB的转发,具体实现时,可以经一个或多个RB进行转发,本发明实施例不做限定。
705、RB-B接收报文,根据报文Trill头中源Nickname(RB-A)和VLAN信息,查询实例映射表(参见图4)得知实例号T-1,应用实例号T-1查询存储的组播转发表(参见图6中RB-B的组播转发表),得知组播出端口(即的目标端口)为GE2端口,通过GE2端口过将报文转发到下一跳RB-C。
706、RB-C收到报文,根据报文Trill头中源Nickname(RB-A)和VLAN信息,本地检索实例关系表(图4)得知实例号T-1,应用实例号T-1查询存储的组播转发表(参见图6中RB-C的组播转发表),得知组播出端口(即的目标端口)为GE1端口、GE2端口。
707、RB-C查询本地存储的VLAN映射表,得知GE1端口连接的CE-VLAN的VLAN信息为Vlan30,如图7所示RB-C将报文中的Vlan20置换为Vlan30后,通过GE1端口发送。
708、RB-C查询本地存储的VLAN映射表,得知GE2端口连接的CE-VLAN的VLAN信息为Vlan10,如图7所示RB-C将报文中的Vlan20置换为Vlan10后,通过GE2端口发送。
至此,实现在同一实例中组播报文。
下面以图3所示的应用场景为例,结合图8详细说明本发明实施例中MAC地址学习并生成L2转发表(即MAC表)的具体实现过程,具体的交互流程如801至80所示,应当理解,801至80示出的交互流程为示范性说明,不应视为对本发明实施例的限定。
801、RB-A(即第一RB)通过GE1端口接收第一CE-VLAN(GE1端口连接的CE-VLAN(图7中未示出)的报文(即第一报文),根据第一报文中的VLAN信息(即Vlan20)和预存的RB-A的Nickname(即RB-A),查询本地存储的实例映射表(参见图4中的实例映射表,实例映射表学习方法请参阅图4),得到第一CE-VLAN的Trill实例号(即实例标识)为T-1。
802、RB-A图4所示的实例关系表中查询Trill实例号为T-1的CE-VLAN的VLAN信息(Vlan10、Vlan20、Vlan30),在Trill实例号为T-1的CE-VLAN下生成L2转发表,根据报文源端口信息获取L2表出端口为本地的GE1端口。
其中,由于图8中RB-A收到的报文源自GE1端口(GE1端口为本地端口),RB-A下的L2转发表为全局的L2转发表,即包含实例号为T-1的全部CE-VLAN的MAC信息。
803、RB-A查询Trill实例号T-1对应的MAC(Media Access Control)表(即图8中的L2转发表)失败后,采用组播报文的方式进行报文转发,RB-A应用实例号T-1查询存储的组播转发表(参见图6中RB-A的组播转发表),得知组播出端口(即目标端口)为GE2端口、GE4端口。
其中,RB-A查询实例号T-1对应的MAC表失败包括未查找到MAC表,或者在MAC表中未找到匹配的MAC。另外,本发明实施例还可以在报文中携带标识字段用于指示进行组播报文。
此处,查询存储的组播转发表得知实例号T-1对应GE1端口、GE2端口及GE4端口,由于RB-A通过GE1端口接收报文,即GE1端口为入端口,因此无需通过GE1端口转发报文。
804、GE2端口连接VLAN信息为Vlan10的CE-VLAN(图8中未示出),通过GE2端口发送的报文为本地转发,RB-A查询本地存储的VLAN映射表,得知GE2端口连接的CE-VLAN的VLAN信息为Vlan10,如图7所示RB-A将报文中的Vlan20置换为Vlan10后,通过GE2端口发送到与GE2端口连接的CE-VLAN。
其中,本地转发是指不经其他RB的转发。
805、GE4端口连接RB-B,通过GE2端口发送的报文为远端转发,如图7所示RB-A封装Trill头如图7所示,Trill头中源Nickname为RB-A,目的Nickname为组播根RB-B(图5中RB-A存储的VLAN映射表中ROOT表项),查询预存的RB转发表,获取carrier-vlan(传输VLAN信息)及下一跳(RB-B)头信息(ETH-head)封装报文后由GE4端口转发到下一跳RB-B。
806、RB-B接收报文,根据报文Trill头中源Nickname(RB-A)和VLAN信息,查询实例映射表(参见图4)得知实例号T-1,应用实例号T-1查询存储的组播转发表(参见图6中RB-B的组播转发表),得知组播出端口(即的目标端口)为GE2端口,通过GE2端口过将报文转发到下一跳RB-C。
图8所示的场景中,RB-B仅作为中继节点(即RB-B上无CE-VLAN接入)不学习MAC地址。
807、RB-C收到报文,根据报文包含的源Nickname和VLAN信息,检索预存 的实例关系表(参见图4),发送报文的CE-VLAN的Trill实例号为T-1;RB-C根据Trill实例关系表(参见图4),获取实例号为T-1的CE-VLAN的VLAN信息(VLAN10、VLAN20、VLAN30),在Trill实例号为T-1的CE-VLAN下生成L2转发表,L2转发表下一跳路由桥信息为报文的源NickName(即RB-A),换言之根据报文的源Nickname获取报文的目的RB的Nickname为RB-A。详见图8中RB-C下的L2转发表。
其中,由于图8中RB-C收到的报文来自GE4端口(GE4端口为远端端口),RB-A下的L2转发表为本地的L2转发表,即包含RB-C上实例号为T-1的CE-VLAN的MAC信息。
至此,实现MAC地址学习并生成L2转发表。
下面以图3所示的应用场景为例,详细说明本发明实施例中单播报文的具体实现过程。
本发明实施例中判断单播报文、组播报文的方法为:
RB-A(第一RB)在实例号T-1对应的MAC表(图8中学习到的L2转发表)中查询到匹配的MAC,则进行单播报文。另外,本发明实施例还可以在报文中携带标识字段用于指示进行单播报文。RB-A(即的第一RB)未查找到实例号T-1对应的MAC表(即L2转发表,图8中学习到),或者在MAC表中未找到匹配的MAC,则进行单播报文。另外,本发明实施例还可以在报文中携带标识字段用于指示进行组播报文。
本发明实施例中单播报文包括本地单播及远端单播两种转发报文的方式。其中,本地单播是指RB上发送报文的GE端口连接CE-VLAN(如RB-A上GE2端口),远端单播是指RB上发送报文的GE端口连接其他RB(如RB-A上GE4端口)。本发明实施例中,根据MAC表(即L2转发表,图8中学习到)中的GE端口,确定本地单播或远端单播。
以图3所示的应用场景为例,结合图9详细说明本发明实施例中本地单播报文的具体实现过程,具体的交互流程如901至903所示,应当理解,901至903示出的交互流程为示范性说明,不应视为对本发明实施例的限定。
901、RB-A(第一RB)通过GE2端口接收CE-VLAN(GE2端口连接的CE-VLAN,图7中未示出)发送的报文(第一报文),根据报文中的VLAN信息(即Vlan10) 和预存的RB-A的Nickname(即RB-A),查询本地存储的实例映射表(参见图4中的实例映射表,实例映射表学习方法请参阅图4),得到第一CE-VLAN的Trill实例号(实例标识)为T-1。
902、RB-A根据报文中的VLAN信息(即Vlan20)、报文中的MAC2及T-1,查询图9中的L2转发表及VLAN映射表,确定出端口为GE1端口,并确定GE1端口连接的CE-VLAN的VLAN信息为Vlan20。
903、RB-A将报文中的Vlan10置换为Vlan20后,通过GE2端口发送。
实现RB-A上GE2端口连接的CE-VLAN与RB-A上GE1端口连接的CE-VLAN之间的本地单播报文。
以图3所示的应用场景为例,结合图10详细说明本发明实施例中远端单播报文的具体实现过程,具体的交互流程如101至106所示,应当理解,101至106示出的交互流程为示范性说明,不应视为对本发明实施例的限定。
101、RB-C(即第一RB)通过GE1端口接收CE-VLAN(图中未示出)发送的报文(即第一报文),根据报文中的VLAN信息(即Vlan30)和预存的RB-C的Nickname(即RB-C),查询本地存储的实例映射表(参见图4中的实例映射表,实例映射表学习方法请参阅图4),得到CE-VLAN的Trill实例号(即实例标识)为T-1。
102、RB-C根据报文中的VLAN信息(即Vlan30)、报文中的MAC2及T-1,查询图13中的L2转发表及预存的RB转发表,确定目的RB的Nickname为RB-A,根据目的Nickname(RB-A)查询到出端口为GE4端口、carrier-vlan(传输VLAN信息)为vlan200。
103、RB-C将源Nickname(即RB-C)、目的Nickname(即RB-A)、vlan200及ETH-head(头信息)后由GE4端口转发到下一跳RB-B。
104、RB-B接收报文,根据源Nickname(即RB-C)查询预存的RB转发射表,确定出端口为GE1端口,通过GE1端口将报文转发到下一跳RB-C。
105、RB-C接收报文,根据源Nickname(即RB-C)和CE-VLAN查询本地存储的实例关系表(图4中学习到的实例关系表),得到Trill实例号为T-1,解封装报文的Trill头信息;
106、RB-C根据原始报文中的VLAN信息(Vlan30)、Trill实例号T-1、目 的MAC(mac2)查找本地存储的L2转发表,确定出端口为GE1端口、GE1端口连接的CE-VLAN的VLAN信息为Vlan20,将报文中的Vlan30置换为Vlan20后,通过GE1端口发送。
至此,实现RB-C上GE1端口连接的CE-VLAN与RB-A上GE1端口连接的CE-VLAN之间的远端单播报文。
本发明实施例的通信方法,RB接收CE-VLAN发送的包含数据信息的报文后,确定CE-VLAN的实例标识,RB向与CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含数据信息的报文。这样应用实例标识实现不同CE-VLAN之间的通信,无需应用公共VLAN进行转换,从而避免VLAN冲突的问题,能够确保TRILL网络中CE-VLAN之间的通信正常进行。
如图11所示,本发明实施例提供一种路由桥,包括:确定单元11及发送单元12,其中:
确定单元11,用于接收第一用户侧虚拟网络CE-VLAN发送的包含数据信息的第一报文后,确定第一CE-VLAN的实例标识;
发送单元12,用于向与第一CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含数据信息的报文。
本发明实施例中,可选地,第一报文包括第一CE-VLAN的VLAN信息,确定单元11具体用于:
根据第一CE-VLAN的VLAN信息及预存的第一RB的标识,确定第一CE-VLAN的实例标识。
具体地,确定单元11根据预存的实例关系表,确定目标端口,实例关系表记录第一CE-VLAN的VLAN信息、第一RB的标识及第一CE-VLAN的实例标识的对应关系,其中,实例关系表通过扩展ISIS的TLV字段学习得到。
本发明实施例中,可选地,如图12所示,发送单元12包括:
第一子单元121,用于根据CE-VLAN的实例标识及第一RB的标识,确定目标端口,目标端口与至少一个CE-VLAN通信,至少一个CE-VLAN的实例标识与第一CE-VLAN的实例标识相同;
第二子单元122,用于通过目标端口向至少一个CE-VLAN发送包含数据信息 的报文。
本发明实施例中,可选地,目标端口连接第二CE-VLAN时,第二子单元122具体用于:
获取预存的第二CE-VLAN的VLAN信息;将第一报文中包含的第一CE-VLAN的VLAN信息,置换为第二CE-VLAN的VLAN信息后,向第二CE-VLAN发送。
本发明实施例中,可选地,目标端口连接第二RB时,第二子单元122具体用于:
获取预存的第一RB的标识、第二RB的标识及传输VLAN;将第一RB的标识及第二RB的标识加入第一报文后,向第二RB发送,第二RB的端口与第一CE-VLAN的实例标识相同的CE-VLAN通信;
应当理解,本发明实施例中,该目标端口连接该第二RB包括目标端口直接连接该第二RB,或者目标端口通过其他RB连接该第二RB;该第二RB的端口与该第一CE-VLAN的实例标识相同的CE-VLAN通信包括,该第二RB的端口连接有与该第一CE-VLAN的实例标识相同的CE-VLAN,或者该第二RB与其他RB通信,其他RB上连接有与该第一CE-VLAN的实例标识相同的CE-VLAN。本发明实施例不限定RB的具体连接方式。
使得第二RB根据第一RB的标识及第一CE-VLAN的VLAN信息,确定第一CE-VLAN的实例标识,并根据第一CE-VLAN的实例标识确定出端口,获取出端口连接的第三CE-VLAN的VLAN信息,将第一CE-VLAN发送的报文中包含的第一CE-VLAN的VLAN信息,置换为第三CE-VLAN的VLAN信息后,向第三CE-VLAN发送。
本发明实施例中,可选地,第一子单元121具体用于:
根据预存的组播转发表,确定目标端口,组播转发表记录第一CE-VLAN的实例标识与目标端口的对应关系,其中,组播转发表通过扩展中间系统到中间系统ISIS的TLV字段学习得到。
本发明实施例提供的路由桥可以用于实现上述方法实施例,另外本发明实施例的路由桥的组成单元及个单元的功能仅作简要介绍,详细标识请参见上述方法实施例中相应部分。
本发明实施例提供的路由桥,接收CE-VLAN发送的包含数据信息的报文后,确定CE-VLAN的实例标识,向与CE-VLAN的实例标识相同的至少一个CE-VLAN 发送包含数据信息的报文。这样应用实例标识实现不同CE-VLAN之间的通信,无需应用公共VLAN进行转换,从而避免VLAN冲突的问题,能够确保TRILL网络中CE-VLAN之间的通信正常进行。
本发明实施例提供的另一种路由桥,如图13所示,包括:接收机131、处理器132及发送机133,其中:
接收机131,用于接收第一用户侧虚拟网络CE-VLAN发送的包含数据信息的第一报文;
处理器132,用于根据第一报文确定第一CE-VLAN的实例标识;
发送机133,用于向与第一CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含数据信息的报文。
本发明实施例中,可选地,第一报文包括第一CE-VLAN的VLAN信息,处理器132还用于:根据第一CE-VLAN的VLAN信息及预存的第一RB的标识,确定第一CE-VLAN的实例标识。
具体地,处理器132根据预存的实例关系表,确定目标端口,实例关系表记录第一CE-VLAN的VLAN信息、第一RB的标识及第一CE-VLAN的实例标识的对应关系,其中,实例关系表通过扩展ISIS的TLV字段学习得到。
本发明实施例中,可选地,发送机133用于根据CE-VLAN的实例标识及第一RB的标识,确定目标端口,目标端口与至少一个CE-VLAN通信,至少一个CE-VLAN的实例标识与第一CE-VLAN的实例标识相同;
发送机133还用于通过目标端口向至少一个CE-VLAN发送包含数据信息的报文。
本发明实施例中,可选地,发送机133具体用于获取预存的第二CE-VLAN的VLAN信息;将第一报文中包含的第一CE-VLAN的VLAN信息,置换为第二CE-VLAN的VLAN信息后,向第二CE-VLAN发送。
本发明实施例中,可选地,发送机133具体用于获取预存的第一RB的标识、第二RB的标识及传输VLAN;将第一RB的标识及第二RB的标识加入第一报文后,向第二RB发送,第二RB的端口与第一CE-VLAN的实例标识相同的CE-VLAN通信;
使得第二RB根据第一RB的标识及第一CE-VLAN的VLAN信息,确定第一 CE-VLAN的实例标识,并根据第一CE-VLAN的实例标识确定出端口,获取出端口连接的第三CE-VLAN的VLAN信息,将第一CE-VLAN发送的报文中包含的第一CE-VLAN的VLAN信息,置换为第三CE-VLAN的VLAN信息后,向第三CE-VLAN发送。
应当理解,该目标端口连接该第二RB包括目标端口直接连接该第二RB,或者目标端口通过其他RB连接该第二RB;该第二RB的端口与该第一CE-VLAN的实例标识相同的CE-VLAN通信包括,该第二RB的端口连接有与该第一CE-VLAN的实例标识相同的CE-VLAN,或者该第二RB与其他RB通信,其他RB上连接有与该第一CE-VLAN的实例标识相同的CE-VLAN。本发明实施例不限定RB的具体连接方式。
本发明实施例中,可选地,发送机133具体用于根据预存的组播转发表,确定目标端口,组播转发表记录第一CE-VLAN的实例标识与目标端口的对应关系,其中,组播转发表通过扩展ISIS的TLV字段学习得到。
本发明实施例提供的路由桥,接收CE-VLAN发送的包含数据信息的报文后,确定CE-VLAN的实例标识,向与CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含数据信息的报文。这样应用实例标识实现不同CE-VLAN之间的通信,无需应用公共VLAN进行转换,从而避免VLAN冲突的问题,能够确保TRILL网络中CE-VLAN之间的通信正常进行。
本发明实施例提供一种通信系统,包括上述任一实施例提供的路由桥。路由桥的功能请参阅上述实施例。
本发明实施例提供的通信系统,RB接收CE-VLAN发送的包含数据信息的报文后,确定CE-VLAN的实例标识,RB向与CE-VLAN的实例标识相同的至少一个CE-VLAN发送包含数据信息的报文。这样应用实例标识实现不同CE-VLAN之间的通信,无需应用公共VLAN进行转换,从而避免VLAN冲突的问题,能够确保TRILL网络中CE-VLAN之间的通信正常进行。
需要说明的是:上述实施例提供的数据发送装置及数据接收装置,在表述时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而 将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成拨通的功能模块,以完成上述的全部或部分功能。另外,上述实施例提供的装置与相应的方法属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以 是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,通用硬件包括通用集成电路、通用CPU、通用存储器、通用元器件等,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。