一种数据转发方法、装置及接入设备与流程

文档序号:17408037发布日期:2019-04-16 22:15阅读:148来源:国知局
一种数据转发方法、装置及接入设备与流程
本发明涉及通信领域,尤其涉及一种数据转发方法、装置及接入设备。
背景技术
:交换机是根据接收到的报文的目的介质访问控制(MediaAccessControl,MAC)地址对报文进行转发的,因此交换机维护了一种记录MAC地址与端口对应关系的转发表来指示交换机进行转发,该转发表称为MAC地址转发表。交换机将接收到的报文的源MAC地址以及接收报文的源端口信息记录到该表中,供后续报文转发使用,这个记录过程称为MAC地址的学习过程。随着虚拟局域网(VirtualLocalAreaNetwork,VLAN)技术的发展,在标准以太网帧中增加了VLAN信息,参阅图1所示,在IEEE802.1Q标准中定义的以太网帧增加的标签头Tag中包含了2个字节的标签协议标识(TagProtocolIdentifier,TPID)和2个字节的标签控制信息(TagControlInformation,TCI)。TPID表示该以太网帧为添加802.1Q标签的帧。TCI包含帧的控制信息,它包含了下面的一些元素:优先级Priority、规范格式指示符(CanonicalFormatIndicator,CFI)以及VLAN标识(VLANIdentified,VLANID)。其中,VLANID为12位的域,指示VLAN标识。每个支持802.1Q协议的交换机发送出来的数据包都携带VLANID,以指示本地归属的VLAN。支持VLAN交换机的数据转发流程与普通交换机的数据转发流程最大的区别在于:报文在支持VLAN交换机内转发时都携带有VLANTag,即转发过程中不仅需要根据MAC地址查找出端口外,还需要判断VLANID的信息。因此,支持VLAN交换机交换引擎与普通交换机有所不同,参阅图2所示,交换机根据VLANID的不同分别根据二层转发表(Layer2ForwardingDataBase,L2FDB)进行业务转发。目前,支持VLAN的交换机有两种地址学习方式,分别为独立VLAN学习(IndependentVLANLearning,IVL)和共享VLAN学习(SharedVLANLearning,SVL)。其中,参阅图3所示,在IVL方式下,每个VLAN都有自己的对应的MAC地址表,且每个MAC地址表之间没有影响,一个MAC地址可以被学习到不同的VLAN中,如MAC2,因此对一个用户来说如果属于多个VLAN,那么每个VLAN内的信息都需要重新学习;而在SVL方式下,一个地址表对所有的VLAN均适用,因此,表中的MAC地址不能有重复。参阅图4所示,IVL地址学习方式的转发流程为:首先,根据接收到的以太网帧内的TagHeader中确定VLANID——VLAN2,然后根据该VLANID查询交换机对应的L2FDB表,参阅表1所示,确定查找范围——第一条和第四条表项;然后根据目的地址(DestinationAddress,DA)——MACD在L2FDB表确定的查找范围中确定出端口——端口2。若未在L2FDB表中找到MACD对应的表项,则将该以太网帧通过广播的方式在该VLAN2内所有的端口转发。同时,将该以太网帧的源地址(sourceaddress,SA)——MACA以及源端口——端口1(即接收到该以太网帧的端口)通过老化机制更新至L2FDB表中。表1IVL地址学习方式对应的L2FDB表VLANIDMAC地址所在端口标识VLAN2MACAPORT1VLAN3MACBPORT1VLAN3MACCPORT2VLAN2MACDPORT2仍以图4为例,SVL地址学习方式的转发流程为:直接确定接收到的以太网帧的DA为MACD,根据该DA查询交换机对应的L2FDB表,参阅表2所示,确定出端口——端口2;然后,判断出端口的VLANID和接收到的以太网帧TagHeader中的VLANID是否匹配,匹配则转发该以太网帧,否则丢弃。若未在L2FDB表中找到该MACD对应的表项,则在该L2FDB表中查找出端口的VLANID和该以太网帧TagHeader中的VLANID匹配的所有出端口,并在该VLANID对应的所有出端口广播。同时,将该以太网帧的SA——MACA以及源端口——端口1通过老化机制更新至L2FDB表中。表2SVL地址学习方式对应的L2FDB表MAC地址所在端口标识MACAPORT1MACBPORT1MACCPORT2MACDPORT2参阅图5所示,在802.1Q的基础上,业界出现了双层VLANQinQ技术,即一个以太网帧具有两层VLAN标签,内外层标签的Etype相同都是0x8100,或者内外层标签的Etype为可配。使用根据QinQ封装的以太网帧进行数据传输的业务即VLANcrossconnect业务,即S+C业务,其中,S为服务提供商虚拟局域网(ServiceVLAN,SVLAN),即以太网帧的外层标签的VLAN,C为用户侧虚拟局域网(CustomerVLAN,CVLAN),即以太网帧的内层标签的VLAN,S+C业务是在两个端口之间的数据转发业务。由于用于S+C业务的设备对应的转发表需要对应两个端口,其中一个端口为源端口,另一个端口为出端口,显然,现有技术中的两种地址学习方式对应的L2FDB表中每条表项只能规定一个端口,因此,均不适用于S+C业务,无法转发S+C业务数据。技术实现要素:本发明实施例提供了一种数据转发方法、装置及接入设备,用以解决现有技术中IVL和SVL地址学习方式对应的转发表不适用于S+C业务进而造成无法转发S+C业务数据的问题。第一方面,一种数据转发方法,将接入设备上的端口划分成第一端口组和第二端口组,在接入设备上保存有虚拟局域网VLAN、端口标识以及端口标识所标识的端口所属的端口组之间的对应关系,所述方法包括:所述接入设备接收报文,识别接收所述报文的端口所属的端口组,为第一端口组;所述接入设备从所述报文中获取VLAN;所述接入设备利用获取的VLAN以及第二端口组从所述对应关系中获取对应的端口标识;以及所述接入设备通过获取的端口标识所标识的端口转发所述报文。结合第一方面,在第一种可能的实现方式中,所述VLAN包括服务提供商虚拟局域网SVLAN和用户侧VLAN;或者所述VLAN为SVLAN。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述VLAN包括SVLAN和用户侧VLAN时,所述方法还包括:当所述接入设备利用获取的VLAN以及第二端口组从所述对应关系中未获取对应的端口标识时,利用获取的VLAN中的SVLAN以及第二端口组从所述对应关系中获取对应的至少一个端口标识。结合第一方面或以上任一种可能的实现方式,在第三种可能的实现方式中,所述接入设备识别接收所述报文的端口所属的端口组为第一端口组,且从所述报文中获取VLAN后,还包括:所述接入设备根据所述VLAN、接收所述报文的端口对应的端口标识以及第一端口组对所述对应关系进行更新。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,根据所述VLAN、接收所述报文的端口对应的端口标识以及第一端口组对所述对应关系进行更新,包括:确定在所述对应关系中是否包含所述VLAN和第一端口组之间的一对应关系;若是,则基于接收所述报文的端口对应的端口标识更新所述一对应关系中包含的端口标识;否则,组建一新的对应关系添加至所述对应关系中,所述新的对应关系中包含所述VLAN、第一端口组以及接收所述报文的端口对应的端口标识。第二方面,一种数据转发装置,将数据转发装置上的端口划分成第一端口组和第二端口组,在所述数据转发装置上保存有虚拟局域网VLAN、端口标识以及端口标识所标识的端口所属的端口组之间的对应关系,所述装置包括:接收单元,用于接收报文,识别接收所述报文的端口所属的端口组,为第一端口组;获取单元,用于从所述报文中获取VLAN;处理单元,用于利用获取的VLAN以及第二端口组从所述对应关系中获取对应的端口标识;以及通过获取的端口标识所标识的端口转发所述报文。结合第二方面,在第一种可能的实现方式中,所述VLAN包括服务提供商虚拟局域网SVLAN和用户侧VLAN;或者所述VLAN为SVLAN。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述VLAN包括SVLAN和用户侧VLAN时,所述处理单元还用于:当所述处理单元利用获取的VLAN以及第二端口组从所述对应关系中未获取对应的端口标识时,利用获取的VLAN中的SVLAN以及第二端口组从所述对应关系中获取对应的至少一个端口标识。结合第二方面或第二方面的以上任一种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:更新单元,用于在所述接收单元识别接收所述报文的端口所属的端口组为第一端口组,且所述获取单元从所述报文中获取VLAN后,根据所述VLAN、接收所述报文的端口对应的端口标识以及第一端口组对所述对应关系进行更新。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述更新单元,具体用于:确定在所述对应关系中是否包含所述VLAN和第一端口组之间的一对应关系;若是,则基于接收所述报文的端口对应的端口标识更新所述一对应关系中包含的端口标识;否则,组建一新的对应关系添加至所述对应关系中,所述新的对应关系中包含所述VLAN、第一端口组以及接收所述报文的端口对应的端口标识。第三方面,一种接入设备,将所述接入设备上的端口划分成第一端口组和第二端口组,在所述接入设备的存储器中保存有虚拟局域网VLAN、端口标识以及端口标识所标识的端口所属的端口组之间的对应关系,所述接入设备包括:收发器,用于接收报文,并在处理器获取到端口标识时,通过获取的端口标识所标识的端口转发所述报文;处理器,用于识别接收所述报文的端口所属的端口组,为第一端口组,以及从所述报文中获取VLAN;利用获取的VLAN以及第二端口组从所述对应关系中获取对应的端口标识。结合第三方面,在第一种可能的实现方式中,所述VLAN包括服务提供商虚拟局域网SVLAN和用户侧VLAN;或者所述VLAN为SVLAN。结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述VLAN包括SVLAN和用户侧VLAN时,所述处理器还用于:当所述接入设备利用获取的VLAN以及第二端口组从所述对应关系中未获取对应的端口标识时,利用获取的VLAN中的SVLAN以及第二端口组从所述对应关系中获取对应的至少一个端口标识。结合第三方面或第三方面的以上任一种可能的实现方式,在第三种可能的实现方式中,所述处理器还用于:在识别接收所述报文的端口所属的端口组为第一端口组,且从所述报文中获取VLAN后,根据所述VLAN、接收所述报文的端口对应的端口标识以及第一端口组对所述对应关系进行更新。结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器在根据所述VLAN、接收所述报文的端口对应的端口标识以及第一端口组对所述对应关系进行更新时,具体用于:确定在所述对应关系中是否包含所述VLAN和第一端口组之间的一对应关系;若是,则基于接收所述报文的端口对应的端口标识更新所述一对应关系中包含的端口标识;否则,组建一新的对应关系添加至所述对应关系中,所述新的对应关系中包含所述VLAN、第一端口组以及接收所述报文的端口对应的端口标识。本发明实施例中,首先将接入设备中的所有端口的端口分为两个端口组,接入设备上保存有VLAN、端口标识以及端口标识的所属的端口组之间的对应关系,接入设备接收报文,识别接收报文的端口所属的端口组为第一端口组,并获取报文中VLAN;接入设备利用获取的VLAN以及第二端口组从对应关系中获取对应的端口标识;以及通过获取的端口标识所标识的端口转发报文,并且根据获取的VLAN、第一端口组以及接收报文的端口所属的端口组,对该对应关系进行更新。其中,将端口分为不同的端口组,在接收到报文后转发报文时,可以根据SVLAN标识+CVLAN标识以及端口组快速查询转发表,确定出端口标识,提高了端口数据转发设备的转发效率,有效的解决了现有技术中存在的IVL和SVL地址学习方式对应的转发表不适用于S+C业务进而造成无法转发S+C业务数据的问题。附图说明图1为现有技术中带有IEEE802.1Q标记的以太网帧示意图;图2为现有技术中支持VLAN的交换机交换引擎示意图;图3为现有技术中支持VLAN的交换机的两种地址学习方式转发表;图4为现有技术中以太网帧转发流程示意图;图5为现有技术中根据QinQ封装的以太网帧示意图;图6为本发明实施例提供的一种数据转发方法的流程图;图7为本发明实施例提供的一种以太网转发流程示意图;图8为本发明实施例提供的一种数据转发装置的结构图;图9为本发明实施例提供的一种接入设备结构示意图。具体实施方式采用本发明技术方案,通过预先将接入设备上的端口分为两个端口组,并保存VLAN、端口标识以及端口标识所标识的端口所属的端口组之间的对应关系,在接收报文时,识别接收报文的端口所属的端口组,为第一端口组,并从报文中获取VLAN,该接入设备利用获取的VLAN以及第二端口组从该对应关系中获取对应的端口标识;以及通过获取的端口标识所标识的端口转发报文,可以有效的解决现有技术中存在的IVL和SVL地址学习方式对应的转发表不适用于S+C业务进而造成无法转发S+C业务数据的问题。本发明实施例提供了一种数据转发方法,适用于处理S+C业务的交换机等端口用于数据转发的接入设备,下面结合附图对本发明优选的实施方式进行详细说明。参阅图6所示,本发明实施例提供的一种数据转发方法,首先,将接入设备上的端口划分成两个端口组,第一端口组和第二端口组,在接入设备上保存有VLAN、端口标识以及端口标识所标识的端口所属的端口组之间的对应关系,该方法的具体处理流程包括:步骤601:接入设备接收报文后,识别接收报文的端口所属的端口组,为第一端口组。在本实施例中,接入设备按照预设的规则将所有端口均划分至不同的端口组中,每个端口组包含至少一个端口。其中预设的规则可以为多种,例如,将指定的端口划分为一个端口组,其余端口划分为另一个端口组;或者,将指定标识区间内的端口划分为一个端口组;或者,根据该接入设备的端口位置等特点进行划分,还可以根据端口的数目以及设备的功能以及特殊业务等将端口划分为不同的端口组。在本实施例中,将所有端口划分为两个端口组,其中,即若通过其中一个端口组中的端口接收报文,则该报文应该从另一个端口组中的某一个端口转发。例如,对于接入设备,可以将端口划分为网络侧端口组(NNI)和用户侧端口组(UNI),不同的端口组中的端口连接的设备不同,NNI中的端口连接网络侧网线,UNI中的端口连接用户设备网线。由于接入设备上的端口划分成两个端口组,且接入设备可以识别接收报文的端口,因此,接入设备可以根据接收报文的端口识别接收报文的端口所属的端口组,并将该端口组作为第一端口组。例如,将PORT1配置划分为NNI端口组,将PORT2、PORT3划分为UNI端口组,即NNI=[PORT1],UNI=[PORT2,PORT3],则若确定接收报文的端口为PORT1,则可以根据上述端口组信息确定接收报文的端口PORT1所属的端口组为NNI,并将NNI记为第一端口组。步骤602:接入设备从报文中获取VLAN。具体的,该VLAN包括SVLAN和用户侧VLAN,或者,该VLAN为SVLAN,即用户侧VLAN标识为空。S+C业务中的报文是以双层VLANQinQ技术封装的以太网帧进行数据传输的,参阅图5所示,每个以太网帧都包含外层便签和内层标签,外层标签中的TagHeader中的VLANID即为SVLAN,而内层标签中的TagHeader中的VLANID即为用户侧VLAN。因此,接收到以双层VLANQinQ技术封装的以太网帧后,即可确定该以太网帧中携带的SVLAN,或者SVLAN和用户侧VLAN。步骤603:接入设备利用获取的VLAN以及第二端口组从接入设备存储的对应关系中获取对应的端口标识。接入设备上保存有VLAN、端口标识以及端口标识所标识的端口所属的端口组之间的对应关系,当VALN为SVLAN和用户侧VLAN时,该对应关系为SVLAN、用户侧VLAN、端口标识以及端口标识所标识的端口所属的端口组四者之间的对应关系;当VALN为SVLAN时,该对应关系为SVLAN、端口标识以及端口标识所标识的端口所属的端口组三者之间的对应关系。根据获取的VLAN以及第二端口组从接入设备存储的对应关系中可以查询到包含该VLAN以及第二端口组、端口标识一对应关系,并获取该一对应关系中的端口标识。在本实施例中,由于将端口划分为两个端口组,NNI和UNI,且不同的端口组中的端口连接的设备不同,从网络侧发过来的数据流向用户设备,而从用户设备发过来的数据流向网络侧,即因此可以确定若接收报文的端口(源端口)属于第一端口组NNI,则出端口属于第二端口组UNI,同理,若接收报文的端口属于第一端口组UNI,则出端口属于第二端口组UNI。具体的,当VLAN为SVLAN和用户侧VLAN时,由于接收到以太网帧中携带SVLAN、用户侧VLAN,且接入设备将所有端口划分为两个不同端口组,因此,一个SVLAN和用户侧VLAN组合可以在不同的端口组中对应不同的端口,但是,一个SVLAN和用户侧VLAN组合在一个端口组中只能对应唯一的一个端口。当VLAN包括SVLAN和用户侧VLAN时,接入设备存储的对应关系参阅表3所示,该对应关系(转发表)中的任意一个表项中需要至少包含SVLAN、用户侧VLAN、端口标识所标识的端口所属的端口组以及所在端口标识,且相同的SVLAN和用户侧VLAN组合可以在不同的端口组中对应不同的端口标识,但是,一个SVLAN和用户侧VLAN组合在一个端口组中只能对应唯一的一个端口标识。表3S+C业务对应的转发表SVLAN用户侧VLAN端口组所在端口标识SVLAN2CVLAN3NNIPORT1SVLAN2CVLAN3UNIPORT2SVLAN2CVLAN5NNIPORT1SVLAN2CVLAN5UNIPORT2具体的,当VLAN包括SVLAN和用户侧VLAN时,接入设备利用获取的VLAN以及第二端口组从接入设备存储的对应关系中获取对应的端口标识,包括:根据SVLAN、用户侧VLAN、第二端口组在转发表中筛选出对应的表项,并将该表项中的设置的端口标识作为报文的出端口的端口标识。仍以表3中的转发表为例,若确定接收到的报文SVLAN标识为SVLAN2,用户侧VLAN标识为CVLAN3,且接收报文的端口所属的端口组为NNI,首先确定第二端口组即出端口所述的端口组为UNI,然后在转发表中筛选SVLAN标识为SVLAN2,CLAN标识为CLAN3,端口组为UNI对应的表项,在表3中,可以确定该表项为第二条表项,因此,将该表项中的设置的端口标识(即所在端口标识)——PORT2作为报文的出端口的端口标识。在VLAN包括SVLAN和用户侧VLAN时,本发明实施例提供的数据转发方法,还包括:当接入设备利用获取的VLAN以及第二端口组从所述对应关系中未获取对应的端口标识时,利用获取的VLAN中的SVLAN以及第二端口组从接入设备保存的对应关系中获取对应的至少一个端口标识。继续以表3的转发表为例,若确定接收的报文SVLAN标识为SVLAN2,用户侧VLAN标识为CVLAN4,且源端口所归属的端口组为NNI,首先确定出端口的端口组为UNI,然后在转发表中筛选SVLAN标识为SVLAN2,CVLAN标识为CVLAN4,端口组为UNI对应的表项,在表3中,不能筛选出对应的表项,因此,在转发表中筛选SVLAN标识为SVLAN2,端口组为UNI对应的表项,在表3中,可以确定为第二条和第四条表项,并将这两条表项中的设置的端口标识——PORT2作为报文的出端口的端口标识。在实际应用场景中,根据指定的SVLAN标识和指定的端口组在转发表中,可以查到至少一条表项,因此,该至少一条表项对应的出端口的端口标识也为至少一个。本发明实施例通过将端口分为不同的端口组,在接收到报文后转发报文时,可以根据报文中SVLAN+用户侧VLAN以及端口组快速查询转发表,确定出端口标识,提高了接入设备的转发效率。步骤604:接入设备通过获取的端口标识所标识的端口转发报文。将报文通过出端口的端口标识对应的出端口进行转发,包括两种方式:第一种方式,当根据SVLAN标识、CVLAN标识和第二端口组在转发表中筛选出对应的表项时,此时,该表项数目为一条,因此,可以直接通过该表项确定的一个出端口的端口标识,并将报文通过出端口的端口标识对应的出端口进行转发。第二种方式,当根据SVLAN标识、CVLAN标识和第二端口组在转发表中未筛选出对应的表项时,此时,根据SVLAN标识、第二端口组在转发表中筛选出对应的表项,其中,该表项为至少一条,因此,对应的出端口的端口标识数目也是至少一个,并将该表项中的设置的所有端口标识作为报文的出端口的端口标识,并将报文分别通过至少一个出端口的端口标识分别对应的出端口进行广播转发。在步骤601和步骤602后,即接入设备识别接收报文的端口所属的端口组为第一端口组,且从报文中获取VLAN后,还包括:接入设备根据VLAN标识、接收该报文的端口对应的端口标识以及第一端口组对接入设备保存的对应关系进行更新。其中,对转发表进行更新可以在步骤602后的任何时间进行。可以在步骤603和步骤604之前,或者在步骤603和步骤604之后,或者与步骤603或604同时进行。具体的,根据VLAN、接收报文的端口对应的端口标识以及第一端口组对该对应关系进行更新,包括:确定在该对应关系中是否包含该VLAN和第一端口组之间的一对应关系;若是,则基于接收报文的端口对应的端口标识更新该一对应关系中包含的端口标识;否则,组建一新的对应关系添加至该对应关系中,该新的对应关系中包含VLAN、第一端口组以及接收报文的端口对应的端口标识。例如,转发表为表3,接收到的报文的SVLAN标识为SVLAN2、用户侧VLAN标识为CVLAN3、源端口的端口标识PORT1以及该源端口所属的端口组为NNI,在转发表中,可以找得到SVLAN标识为SVLAN2、CVLAN标识为CVLAN3,且该源端口所属的端口组为NNI的表项,即第一条,无论该表项对应的所在端口标识是否与该源端口的端口标识一致,都将源端口的端口标识PORT1对该表项中所在的端口标识进行更新。又例如,转发表为表3,接收到的报文的SVLAN标识为SVLAN2、用户侧VLAN标识为CVLAN4、源端口的端口标识PORT1以及该源端口所属的端口组为NNI,在转发表中,无法找到SVLAN标识为SVLAN2、CVLAN标识为CVLAN4,且该源端口所属的端口组为NNI的表项,则将SVLAN2、CVLAN4、PORT1、NNI组成新的表项,存储到转发表中。采用这两种方式对转发表进行实时更新,可以保证在转发表存储的是最新的端口和SVLAN+CVLAN对应关系,既可以保证接入设备在相同的SVLAN+CVLAN但使用新的源端口a进行数据接收后,在源端口a对应的出端口b作为源端口接收到相同的SVLAN+CVLAN的报文时,仍可以通过端口a将该报文进行转发,避免了转发表与最新的端口和SVLAN+CVLAN对应关系不一致,导致报文无法准确发送,降低了端口转发设备的转发效率,进而降低了用户的体验的问题;在转发表中未保存新的源端口和SVLAN+CVLAN对应关系时,可以通过自学习的方式,将该源端口和SVLAN+CVLAN对应关系添加至转发表,降低了数据丢弃的概率,保证端口转发设备的转发效率,提高用户的体验。参阅图7所示,例如,交换机将端口PORT1、PORT2和PORT3划分为不同的端口组,将PORT1配置划分为端口组NNI,将PORT2、PORT3划分为端口组UNI,该交换机对应的转发表如表3所示,当交换机从端口1接收到SVLAN标识为VLAN2,CVLAN标识为CVLAN3的报文后,确定源端口PORT1所归属的端口组为NNI,根据该报文SVLAN2、CVLAN3、NNI,在转发表中查找对应的表项,即第一条表项,然后将PORT1更新该表项中的所在端口标识;并根据源端口的端口组NNI,确定出端口的端口标识集群UNI,并在转发表中查找SVLAN2、CVLAN3、UNI组对应的表项,即第二条表项,根据第二条表项确定出端口为PORT2,然后将接收的报文通过PORT2转发出去。基于上述实施例,参阅图8所示,本发明实施例还提供了一种数据转发装置,将数据转发装置上的端口划分成第一端口组和第二端口组,在该数据转发装置上保存有VLAN、端口标识以及端口标识所标识的端口所属的端口组之间的对应关系,该装置包括:接收单元801、获取单元802、处理单元803,其中,接收单元801,用于接收报文,识别接收报文的端口所属的端口组,为第一端口组;获取单元802,用于从该报文中获取VLAN;处理单元803,用于利用获取的VLAN以及第二端口组从对应关系中获取对应的端口标识;以及通过获取的端口标识所标识的端口转发报文。可选的,VLAN包括SVLAN和用户侧VLAN;或者该VLAN为SVLAN。可选的,在该VLAN包括SVLAN和用户侧VLAN时,处理单元803还用于:当处理单元803利用获取的VLAN以及第二端口组从对应关系中未获取对应的端口标识时,利用获取的VLAN中的SVLAN以及第二端口组从对应关系中获取对应的至少一个端口标识。可选的,该数据转发装置装置还包括:更新单元804,用于在接收单元801识别接收报文的端口所属的端口组为第一端口组,且获取单元802从报文中获取VLAN后,根据VLAN、接收报文的端口对应的端口标识以及第一端口组对对应关系进行更新。可选的,更新单元804,具体用于:确定在对应关系中是否包含VLAN和第一端口组之间的一对应关系;若是,则基于接收报文的端口对应的端口标识更新一对应关系中包含的端口标识;否则,组建一新的对应关系添加至对应关系中,新的对应关系中包含VLAN、第一端口组以及接收报文的端口对应的端口标识。基于上述实施例,参阅图9所示,本发明实施例还提供了一种接入设备,将该接入设备上的端口划分成第一端口组和第二端口组,在该接入设备中的存储器900中保存有VLAN、端口标识以及端口标识所标识的端口所属的端口组之间的对应关系,该装置包括:收发器901、处理器902,其中,收发器901,用于接收报文,并在处理器902获取到端口标识时,通过获取的端口标识所标识的端口转发报文;处理器902,用于识别接收报文的端口所属的端口组,为第一端口组,以及从报文中获取VLAN;利用获取的VLAN以及第二端口组从对应关系中获取对应的端口标识。可选的,VLAN包括服务提供商虚拟局域网SVLAN和用户侧VLAN;或者VLAN为SVLAN。可选的,在VLAN包括SVLAN和用户侧VLAN时,处理器902还用于:当接入设备利用获取的VLAN以及第二端口组从对应关系中未获取对应的端口标识时,利用获取的VLAN中的SVLAN以及第二端口组从对应关系中获取对应的至少一个端口标识。可选的,处理器902还用于:在识别接收报文的端口所属的端口组为第一端口组,且从报文中获取VLAN后,根据VLAN、接收报文的端口对应的端口标识以及第一端口组对对应关系进行更新。可选的,处理器902在根据VLAN、接收报文的端口对应的端口标识以及第一端口组对对应关系进行更新时,具体用于:确定在对应关系中是否包含VLAN和第一端口组之间的一对应关系;若是,则基于接收报文的端口对应的端口标识更新一对应关系中包含的端口标识;否则,组建一新的对应关系添加至对应关系中,新的对应关系中包含VLAN、第一端口组以及接收报文的端口对应的端口标识。综上所述,通过本发明实施例中提供的一种数据转发方法、装置及接入设备,该方法首先将接入设备中的所有端口的端口分为两个端口组,接入设备上保存有VLAN、端口标识以及端口标识的所属的端口组之间的对应关系,接入设备接收报文,识别接收报文的端口所属的端口组为第一端口组,并获取报文中VLAN;接入设备利用获取的VLAN以及第二端口组从对应关系中获取对应的端口标识;以及通过获取的端口标识所标识的端口转发报文,并且,根据获取的VLAN、第一端口组以及接收报文的端口所属的端口组,对该对应关系进行更新。其中,将端口分为不同的端口组,在接收到报文后转发报文时,可以根据SVLAN标识+CVLAN标识以及端口组快速查询转发表,确定出端口标识,提高了端口数据转发设备的转发效率,有效的解决了现有技术中存在的IVL和SVL地址学习方式对应的转发表不适用于S+C业务进而造成无法转发S+C业务数据的问题;根据SVLAN标识、CVLAN标识、接收报文的端口对应的端口标识以及接收报文的端口所属的端口组,对转发表进行实时更新,通过自学习的方式,将该源端口和SVLAN+CVLAN对应关系或更新添加至转发表,降低了数据丢弃的概率,保证端口转发设备的转发效率,提高用户的体验。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1