一种报文处理方法、设备和系统的制作方法

文档序号:7847029阅读:284来源:国知局
专利名称:一种报文处理方法、设备和系统的制作方法
技术领域
本发明实施例涉及通信技术,尤其涉及一种报文处理方法、设备和系统。
背景技术
目前,在二层网络中采用虚拟局域网(Virtual Local Area Network,VLAN)技术。 一个二层网络中包括很多接入设备,每台接入设备下面又连接很多用户,这些用户被划分到若干个VLAN中。在二层网络中,根据VLAN信息和媒体接入控制(Media Access Control, MAC)地址信息进行以太网报文转发,因此各个接入设备需要获知自身的每个端口所接入的VLAN 以及该端口连接的接入设备的MAC地址。其中,对于接入设备各端口的VLAN信息的配置, 目前采用人工手动配置的方式实现。对于大型的二层网络,由于网络拓扑结构复杂,因此配置VLAN信息的复杂度高, 采用人工手动配置的方法,配置失误的风险大,会导致二层网络的业务故障。并且,由于网络的拓扑结构经常发生变化,需要配置的VLAN信息也经常发生变化,在每次发生变化后均需要操作人员重新配置,在实际应用中的实用性差。当二层网络采用生成树协议(Spanning Tree Protocol, STP)环网时,通过STP计算改变网络拓扑结构,而二层网络中各个接入设备的物理连接并不发生变化,因此操作人员无法在拓扑变化的同时获知该变化,从而无法进行重新配置。总之,现有的人工手动配置接入设备的VLAN信息的方法正确率低,并且实用性差。

发明内容
本发明实施例提供一种报文处理方法,包括接收下游设备的协议报文,所述协议报文携带所述下游设备的上行端口信息以及所述下游设备的用户VLAN ;根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述下游设备用户VLAN对本设备的用户VLAN以及所述下游设备的用户VLAN进行分类;根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种 VLAN类型能加入的端口类型。本发明实施例还提供一种报文处理设备,包括报文接收单元,用于接收下游设备的协议报文,所述协议报文携带所述下游设备的上行端口信息以及所述下游设备的用户VLAN ;学习单元,用于根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述用户VLAN对本设备的用户VLAN以及所述下游设备的用户VLAN进行分类;报文处理单元,用于根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN类型能加入的端口类型。本发明实施例还提供一种报文处理系统,包括
所述第一设备,用于向所述第二设备发送协议报文,所述协议报文携带所述第一设备的上行端口信息以及所述第一设备的用户VLAN ;所述第二设备,用于根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述第一设备用户VLAN对本设备的用户VLAN以及所述第一设备的用户VLAN进行分类;根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN 类型能加入的端口类型。本发明实施例提供的方法、装置和系统,可以自动学习端口类型和对VLAN进行分类,可以减少人工干预,在获得端口类型和VLAN分类后,根据下发的网络配置,配置每种端口类型所能加入的VLAN信息,可以优化网络性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的网络结构图;图2为本发明实施例提供的方法的流程图;图3为本发明实施例提供的协议报文的结构图;图4为本发明实施例提供的树形网络架构图;图5为本发明实施例提供的STP网络架构图;图6为本发明实施例提供的基于STP网络的流程图;图7为本发明实施例提供的树形网络架构图;图8为本发明实施例提供的基于STP网络的流程图;图9为本发明实施例提供的设备的结构图;图10为本发明实施例提供的系统的架构图。
具体实施例为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在描述本发明方案之前,首先对本发明实施例中所出现的一些定义进行描述本发明实施例中所使用的端口的类型,包括1)用户端口(User Port)本设备上连接用户侧设备的端口,可以通过设备自己的物理连接获取。2)上行端口(Uplink Port)本设备上连接上层设备的端口。3)级联端口(Cascade Port)本设备上连接下游设备的端口。本发明实施例中所使用的VLAN的类型,包括DLocal VLAN 只在本设备用户侧使用的VLAN。
2) Across VLAN 本设备用户侧未使用但下游设备用户侧使用的VLAN。3) Common VLAN 本设备用户侧和下游设备用户侧都使用的VLAN。 本发明实施例中所使用的其他定义,包括1)最末端设备处于网络最边缘的设备,这类设备只有一个使能本发明实施例方案的端口处于Up状态,或者处于Forwarding (STP环网下)。2)最顶端设备处于网络最顶端,在STP环网下可以是根桥设备。3)下游VLAN 将所有下游设备抽象为一台逻辑上的设备,下游VLAN信息是这些下游设备所使用的VLAN的集合,当前设备可以作为这些下游设备的代理向当前设备的上层设备上报VLAN信息。4)用户VLAN 当前设备所有用户侧设备所使用的VLAN的集合。为使得上述定义更加清楚,下面举例说明,如图1所示假设设备A所连接的用户使用VLANlO和VLAN30,设备B所连接的用户使用VLANlO 和 VLAN20,这时对于设备 A 来说,VLAN30 是 Local VLAN, VLAN20 是 Across VLAN, VLAN10 是 Common VLAN。设备 A 上的端口 0 是 Uplink Port,端口 1 是 Cascade Port。设备 A 的下游 VLAN信息为VLAN10、VLAN20和VLAN30。设备B是最末端设备。本发明一个实施例提供一种报文处理方法,如图2所示,包括步骤200、接收下游设备的协议报文,协议报文中携带下游设备的上行端口信息以及下游设备的用户VLAN。本实施例中的协议报文可以是采用慢速协议的报文,如BPDU报文等,结构可以如图3所示。对于此类报文,目的MAC地址为0180c20002,协议类型为0x8809,协议子类型为6, 报文不携带VLAN的tag标志,后面以CLV格式携带信息,CODE长四个字节,表示CLV的信息类型,LEN长四个字节,表示整个CLV的长度,VALUE为实际内容,其中CODE为0101填写发送端设备的桥MAC地址,CODE为0102填写为发送端设备的管理IP地址,CODE为0103填写发送端设备的下游VLAN (包括Local VLAN、Common VLAN和Across VLAN),VLAN掩码共 512字节,共4096个比特,从低到高每一个比特表示对应的VLAN ID, CODE为0104填写发送端设备的Uplink PORT,其它为保留。步骤202、根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述下游设备用户VLAN对本设备的用户VLAN以及所述下游设备的用户VLAN进行分类。具体的,在对本地端口的类型进行学习时,学习本设备上与所述上行端口相连的端口的类型为Cascade Port。根据本设备上的物理连接可以得到本设备上的User Port列表,本设备上剩下的状态为UP的端口为Uplink Port。在对VLAN进行分类时,可以将本设备的用户VLAN以及所述下游设备的用户VLAN 进行比较,识别所述本设备的用户VLAN与所述下游设备的用户VLAN的类型,包括只在本设备用户侧使用的为Local VLAN ;本设备用户侧未使用但下游设备用户侧使用的为Across VLAN ;本设备用户侧和下游设备用户侧都使用的为Common VLAN。本实施例中每台设备需要保留的参数包括1)下游邻接关系(Cascade Port) {下游邻接桥MAC和IP、下游邻接桥上行端Π};2)用户VLAN 信息;3)端口列表{Uplink Port> Cascade Port、User Port};4) VLAN 列表(Cascade Port) {Local VLAN、Common VLAN、Across VLAN}。步骤204、根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN类型能加入的端口类型。本实施例中的配置信息可以是由上层设备下发下来或者由网管设备下发下来,具体可以包括Local VLAN 力口入 Uplink Port, Across VLAN 禾口 Common VLAN 力口入对应的 Uplink Port 禾口 Cascade Port。在配置了每种VLAN类型能加入的端口类型后,在相应类型的端口只接收携带有对应VLAN类型的报文。配置信息还可以配置端口类型的属性,包括Cascade Port和User Port之间配置二层隔离和/或禁止Cascade Port上对Across VLAN的MAC地址的学习功能。配置信息还可以包括只接收来自User Port和Uplink Port的携带有Common VLAN 或 Local VLAN 的报文。本实施例中的设备可以是接入设备,还可以是路由设备或者其他设备等。为了清楚的描述本发明,以下实施例将以图4的树形网络对本实施例中的端口类型学习和VLAN分类过程进行详细的说明。在图4中,假设设备A的用户VLAN为10和100,设备B的用户VLAN为20和100, 设备C的用户VLAN为30和100,设备D的用户VLAN为40和100,设备E的用户VLAN为50 和 100。在本实施例中,设备C、D、E三台设备检查本设备只有一个端口处于UP状态,或者检查本设备被配置为最末端设备,则设备C、D、E认为本设备是最末端设备,主动向Uplink Port(O)发送协议报文,随后设备C、D、E会定时向Uplink Port发送协议报文。设备C、D、E的端口列表都是{0,NULL, User Port列表},其中User Port列表为设备通过物理连接获取的用户端口的集合;设备C 的 VLAN 列表为(NULL) {30+100, NULL, NULL};设备D 的 VLAN 列表为(NULL) {40+100, NULL, NULL};设备E 的 VLAN 列表为(NULL) {50+100,NULL, NULL}。假设设备B被手工配置了 Uplink Port,则设备B也会携带设备B的上行端口以及用户VLAN主动向Uplink Port发送协议报文。本实施例中,设备B没有配置Uplink Port,则设备B处于沉默状态。假设设备B 先收到了设备C发来的协议报文,设备B首先刷新端口列表为{NULL,l,User Port列表}, VLAN列表为(1) {20,100,30}。此时设备B还有两个没有分类的处于UP状态的端口,因此设备B继续等待,直到收到设备D发来的协议报文,设备B又刷新端口列表为{0,1+2,User Port 列表},VLAN 列表为(1) {20,100,30} (2) {20,100,40}。设备B向Uplink Port (0)发送协议报文,随后定时向Uplink Port发送协议报文。 设备B的下游邻接关系为(1) {MACC,0} (2) {MACD,0},其中,MACC为设备C的MAC地址,MACD为设备D的MAC地址。 如果设备A没有被手工配置为最顶端设备,则设备A的行为和设备B相同。本实施例中设备A设备被配置为最顶端设备,则设备A始终处于沉默状态,不发送协议报文。假设设备A先收到了设备E发来的协议报文,则设备A首先刷新端口列表为{NULL,2,User Port列表},VLAN列表为(2) {10,100,50}。接着设备A收到设备B发来的协议报文,设备A 又刷新端口列表为{0,1+2,User Port 列表},VLAN 列表为(1) {10,100,20+30+40} (2) {10, 100,50}。设备A的下游邻接关系为(1) {MACB,0} (2) {MACE,0},其中,MACB为设备B的MAC 地址,MACE为设备E的MAC地址。以下将描述在STP组网下端口类型学习和VLAN分类过程,如图5所示。其中,设备A为根桥,设备D的端口 0处于DISCARDING状态。在STP组网下,所有设备都能意识到STP根端口都是Uplink Port,指定端口都是Cascade Port。端口类型学习和VLAN学习过程可以如图6所示,包括600、设备C向设备B发送协议报文,携带设备C的用户VLAN χ和Uplink Port 0。设备B根据该协议报文可以得知端口 1为Cascade Port,设备C的用户VLAN为
Xo602、设备B向设备A发送协议报文,携带设备B的用户VLAN x+y和Uplink Port 0o设备A根据设备B的协议报文可以得知端口 1为Cascade Port,设备B的用户 VLAN 为 x+y。604、设备D向设备A发送协议报文,携带设备D的用户VLAN ζ和Uplink Port 1。设备A根据设备D的协议报文可以得知端口 0为Cascade Port,设备D的用户 VLAN 为 ζ。在获取了 Cascade Port和下游VLAN后,判断本设备用的且下游设备也用的是 Common VLAN,本设备用的且下游设备没用的是Local VLAN,本设备没用而下游设备用的是 Across VLAN,就完成了 VLAN拓扑学习过程,接下来就是设备B、C、D定时向Uplink Port发送协议报文。假设STP配置发生变化,新的DISCARDING端口如图7所示,设备C的端口 0被 DISCARDING,设备A还是根桥,则新的端口类型和VLAN类型的学习过程如图8所示。本发明另一个实施例中,第三方管理设备可以通过简单网络管理协议(Simple Network Management Protocol, SNMP)获取每台设备的下游邻接关系,根据获取的下游邻接关系汇总出网络拓扑图,并根据VLAN列表显示VLAN配置信息,第三方管理设备也可以接收其他设备发送的协议报文,根据收到的协议报文对这些设备的端口类型进行学习以及对 VLAN进行分类。上述实施例是设备被动接收下游设备的协议报文,根据协议报文学习端口类型和对VLAN进行分类,在本发明另外实施例中,设备也可以采用主动方式,即每台设备主动发送本设备的用户VLAN,最终交互形成网络VLAN拓扑,也可以将VLAN拓扑信息加到STP报文中配合STP协议运行。因为主动方式一开始没有区分出来最末端设备,所以报文中需要增加一个字段表示最末端设备,以供其它设备区分上下游拓扑。
主动方式与被动方式的最大差别,是一开始每台设备都会向所有端口主动发送协议报文,收到协议报文的设备更新本设备用户VLAN后向所有端口发送协议报文。在收到最末端设备标识前,因为无法区分上下游,设备只是保存从每个端口收到的VLAN列表和端口列表等信息(如果手工配置了 Uplink Port等端口类型则不需要判断最末端标识,可以使单点故障对网络的影响缩小);在收到最末端设备标识后,再进行端口类型和VLAN类型的学习。 本实施例提供的方法,可以自动学习端口类型和对VLAN进行分类,可以减少人工干预,在获得端口类型和VLAN分类后,根据下发的网络配置,配置每种端口类型所能加入的VLAN信息,可以优化网络性能。本发明一个实施例提供一种报文处理设备,如图9所示,包括报文接收单元90,用于接收下游设备的协议报文,所述协议报文携带所述下游设备的上行端口信息以及所述下游设备的用户VLAN ;学习单元92,用于根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述用户VLAN对本设备的用户VLAN以及所述下游设备的用户VLAN进行分类;学习单元92具体对端口类型的学习和对VLAN的分类过程可以参考上面的描述, 在此不再阐述。报文处理单元94,用于根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN类型能加入的端口类型。有关配置信息的内容可以参照上面的描述。所述报文处理设备还可以包括报文发送单元96,用于向所有端口发送携带有本设备的端口列表和用户VLAN的协议报文。本实施例提供的报文处理设备可以是接入设备,如数字用户线路接入复用器 (Digital Subscriber Line Access Multiplexer, DSLAM)、光线路终端(Optical Line Terminal, OLT)或者路由设备等。本实施例提供的报文处理设备,可以自动学习端口类型和对VLAN进行分类,可以减少人工干预,在获得端口类型和VLAN分类后,根据下发的网络配置,配置每种端口类型所能加入的VLAN信息,可以优化网络性能。本发明一个实施例提供一种报文处理系统,如图10所示,包括第一设备10,用于向所述第二设备20发送协议报文,所述协议报文携带所述第一设备10的上行端口信息以及所述第一设备10的用户虚拟局域网VLAN ;第二设备20,用于根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述第一设备的用户VLAN对本设备的用户VLAN以及所述第一设备的用户VLAN进行分类;根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN 类型能加入的端口类型。本实施例提供的第一、第二设备可以是DSLAM、OLT或者路由设备等。本实施例提供的报文处理系统,第二设备可以自动学习端口类型和对VLAN进行分类,可以减少人工干预,在获得端口类型和VLAN分类后,根据下发的网络配置,配置每种端口类型所能加入的VLAN信息,可以优化网络性能。
权利要求
1.一种报文处理方法,其特征在于,包括接收下游设备的协议报文,所述协议报文携带所述下游设备的上行端口信息以及所述下游设备的用户虚拟局域网VLAN ;根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述下游设备用户VLAN对本设备的用户VLAN以及所述下游设备的用户VLAN进行分类;根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN 类型能加入的端口类型。
2.根据权利要求1所述的方法,其特征在于,所述本设备的端口的类型包括 连接用户侧设备的用户端口、连接上层设备的上行端口以及连接下游设备的级联端□。
3.根据权利要求1所述的方法,其特征在于,VLAN的类型包括只在本设备用户侧使用的Local VLAN、本设备用户侧未使用但下游设备用户侧使用的 Across VLAN、和本设备用户侧和下游设备用户侧都使用的Common VLAN。
4.根据权利要求2所述的方法,其特征在于,所述根据所述上行端口信息对本地端口的类型进行学习包括学习本设备上与所述上行端口相连的端口的类型为级联端口。
5.根据权利要求3所述的方法,其特征在于,所述根据所述下游设备的用户VLAN对本设备的用户VLAN以及所述下游设备的用户VLAN进行分类具体包括将所述本设备的用户VLAN与所述下游设备的用户VLAN进行比较,识别所述本设备的用户VLAN与所述下游设备的用户VLAN的类型。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括通过本设备的上行端口发送携带本设备的上行端口和本设备的用户VLAN的协议报文。
7.根据权利要求1所述的方法,其特征在于,所述配置信息配置有每种VLAN类型能加入的端口类型具体包括Local VLAN加入上行端口,Across VLAN和Co讓on VLAN加入对应的上行端口和级联端□。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述配置信息还配置有端口类型的属性,包括级联端口和用户端口之间配置二层隔离和/或禁止级联端口上对 Across VLAN的媒体访问控制MAC地址学习功能。
9.根据权利要求1-7任意一项所述的方法,其特征在于,所述配置信息还包括只接收来自用户端口和上行端口的携带有Common VLAN或Local VLAN的报文。
10.一种报文处理设备,其特征在于,包括报文接收单元,用于接收下游设备的协议报文,所述协议报文携带所述下游设备的上行端口信息以及所述下游设备的用户虚拟局域网VLAN ;学习单元,用于根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述用户VLAN对本设备的用户VLAN以及所述下游设备的用户VLAN进行分类;报文处理单元,用于根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN类型能加入的端口类型。
11.根据权利要求10所述的报文处理设备,其特征在于,所述报文处理设备还包括报文发送单元,所述报文发送单元,用于向所有端口发送携带有本设备的端口列表和用户VLAN的协议报文。
12.一种报文处理系统,包括第一设备和第二设备,其特征在于,所述第一设备,用于向所述第二设备发送协议报文,所述协议报文携带所述第一设备的上行端口信息以及所述第一设备的用户虚拟局域网VLAN ;所述第二设备,用于根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述第一设备的用户VLAN对本设备的用户VLAN以及所述第一设备的用户VLAN进行分类;根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN类型能加入的端口类型。
全文摘要
本发明提供一种报文处理方法、装置和系统,其中方法包括接收下游设备的协议报文,所述协议报文携带所述下游设备的上行端口信息以及所述下游设备的用户VLAN;根据所述上行端口信息,对本设备的端口的类型进行学习,以及根据所述下游设备用户VLAN对本设备的用户VLAN以及所述下游设备的用户VLAN进行分类;根据本设备保存的配置信息对收到的报文进行转发,所述配置信息配置有每种VLAN类型能加入的端口类型。
文档编号H04L12/24GK102326370SQ201180001827
公开日2012年1月18日 申请日期2011年8月5日 优先权日2011年8月5日
发明者张波, 江南, 罗勇, 郭文波, 黄兴林 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1