CN105099941A - 一种报文处理方法及装置 - Google Patents

一种报文处理方法及装置 Download PDF

Info

Publication number
CN105099941A
CN105099941A CN201510351217.1A CN201510351217A CN105099941A CN 105099941 A CN105099941 A CN 105099941A CN 201510351217 A CN201510351217 A CN 201510351217A CN 105099941 A CN105099941 A CN 105099941A
Authority
CN
China
Prior art keywords
vlanid
message
terminal
section point
node
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.)
Granted
Application number
CN201510351217.1A
Other languages
English (en)
Other versions
CN105099941B (zh
Inventor
魏志广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201510351217.1A priority Critical patent/CN105099941B/zh
Publication of CN105099941A publication Critical patent/CN105099941A/zh
Application granted granted Critical
Publication of CN105099941B publication Critical patent/CN105099941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Abstract

本发明提供一种报文处理方法及装置。方法包括:向所述第二节点发送第一协议报文;接收所述第二节点发送的响应于所述第一协议报文的第二协议报文,所述第二协议报文用于所述第一节点学习所述第一节点到达所述第二终端的第一路由表项,所述第二协议报文携带所述第二VLAN?ID;从所述第二协议报文中解析所述第二VLAN?ID;判断第一数据报文中携带的所述第一VLAN?ID与所述第二VLAN?ID是否一致,其中,所述第一数据报文为所述第一节点接收到的所述第一终端向所述第二终端发送的数据报文;当与所述第二VLAN?ID不一致时,丢弃所述第一数据报文。本发明实施例能够节约数据报文传输带宽。

Description

一种报文处理方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种报文处理方法及装置。
背景技术
电气和电子工程师协会(InstituteofElectricalandElectronicsEngineers,IEEE)802.11s网状网(Mesh)中包括若干Mesh节点(MeshPoint,MP)。可以为MP配置接入功能。配置有接入功能的MP称为Mesh接入节点(MeshAccessPoint,MAP),可以关联一个或多个站点(Station,STA)。每个STA可以分配有虚拟局域网(VirtualLocalAreaNetwork,VLAN)标签(Tag):VLAN标识符(Identifier,ID)。不同STA的VLANID可以一致,也可以不一致。VLANID不一致的STA之间相互隔离。
当某MP接收到与该MP关联的某STA向另一STA(设与另一MP关联)发送的数据报文时,将该数据报文通过该Mesh发送给该另一MP。该另一MP接收到数据报文之后,如果该数据报文中携带的该STA的VLANID与该另一STA的VLANID不一致,则丢弃该数据报文,从而实现了该STA到该另一STA的隔离。但是,这样造成了该MP到该另一MP的数据报文传输带宽的不必要浪费。
发明内容
有鉴于此,本发明提供一种报文处理方法及装置,以节约数据报文传输带宽。
具体地,本发明是通过如下技术方案实现的:
根据本发明实施例的第一方面,提供一种报文处理方法,用于网络中的第一节点,所述第一节点和所述网络中的第二节点分别与第一终端和第二终端关联,且分别维护有所述第一终端的第一虚拟局域网标识符VLANID和所述第二终端的第二VLANID,所述方法包括:
向所述第二节点发送第一协议报文;
接收所述第二节点发送的响应于所述第一协议报文的第二协议报文,所述第二协议报文用于所述第一节点学习所述第一节点到达所述第二终端的第一路由表项,所述第二协议报文携带所述第二VLANID;
从所述第二协议报文中解析所述第二VLANID;
判断第一数据报文中携带的所述第一VLANID与所述第二VLANID是否一致,其中,所述第一数据报文为所述第一节点接收到的所述第一终端向所述第二终端发送的数据报文;
当与所述第二VLANID不一致时,丢弃所述第一数据报文。
根据本发明实施例的第二方面,提供另一种报文处理装置,用于网络中的第一节点,所述第一节点和所述网络中的第二节点分别与第一终端和第二终端关联,且分别维护有所述第一终端的第一虚拟局域网标识符VLANID和所述第二终端的第二VLANID,所述装置包括:
第一发送单元,用于向所述第二节点发送第一协议报文;
接收单元,用于接收所述第二节点发送的响应于所述第一协议报文的第二协议报文,所述第二协议报文用于所述第一节点学习所述第一节点到达所述第二终端的第一路由表项,所述第二协议报文携带所述第二VLANID;
解析单元,用于从所述第二协议报文中解析所述第二VLANID;
判断单元,用于判断第一数据报文中携带的所述第一VLANID与所述第二VLANID是否一致,其中,所述第一数据报文为所述第一节点接收到的所述第一终端向所述第二终端发送的数据报文;
丢弃单元,用于当与所述第二VLANID不一致时,丢弃所述第一数据报文。
应用本发明,第一节点在判定源STA的VLANID与目的STA的VLANID不一致时,丢弃源STA向目的STA发送的数据报文,从而该数据报文不会像现有技术中那样在到达目的STA关联的第二节点之后才被丢弃,从而节约了网络中第一节点到第二节点的数据报文传输带宽。
附图说明
图1是本发明一种应用场景的示意图;
图2是本发明报文处理方法的一个实施例流程图;
图3是本发明报文处理方法的另一个实施例流程图;
图4是本发明报文处理方法的又一个实施例流程图;
图5是本发明报文处理装置所在设备的一种硬件结构图;
图6是本发明报文处理装置的一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参照图1所示的应用场景,802.11sMesh中包括MP#1~#9,其中,MP#1~#8为802.11sMesh中的非网关节点,MP#9为802.11sMesh中的网关节点,称为Mesh门户节点(MeshPortalPoint,MPP);STA#1和STA#2均与MP#1关联,STA#3和STA#4均与MP#5关联,STA#5、STA#6和STA#7均与MP#9关联;STA#1~#6的VLANID分别为VLAN#120、VLAN#100、VLAN#120、VLAN#100、VLAN#120和VLAN#100。MP维护有与其关联的每个STA的VLANID。
任一STA如果需要向另一STA发送数据报文,则将该数据报文发送给与该STA关联的MP。现有技术中,该MP将该数据报文通过802.11sMesh发送给与该另一STA关联的另一MP,该另一MP查看该STA的VLANID与该另一STA的VLANID是否一致,如果不一致,则将接收到的该数据报文丢弃。以STA#1向STA#4发送数据报文为例,STA#1将该数据报文发送给MP#1,MP#1收到该数据报文后,将该数据报文经由MP#1到MP#5的Mesh路由发送到MP#5,MP#5检查到STA#1的VLAN#120与STA#4的VLAN#100不同,则将该数据报文丢弃。由此,该数据报文虽然被发送到了与STA#4关联的MP#5,但不会到达STA#4,从而该数据报文在从MP#1到MP#5的发送过程中所使用的传输带宽,就被浪费了。
应用本发明,MP在接收到关联的STA向另一STA发送的数据报文并且STA的VLANID与另一STA的VLANID不同时,将该数据报文丢弃,从而避免了该数据报文到达与另一STA关联的MP时才被丢弃,节约了该数据报文在802.11sMesh中的传输带宽。下面结合具体实施例对本发明的实现过程进行详细描述。
图2是本发明报文处理方法的一个实施例流程图,参照图2,本实施例中的方法用于网络中的第一节点,所述第一节点和所述网络中的第二节点分别与第一终端和第二终端关联,且分别维护有所述第一终端的第一虚拟局域网标识符VLANID和所述第二终端的第二VLANID,所述方法包括如下步骤:
步骤S201,向所述第二节点发送第一协议报文。
本实施例中,网络中的第一节点可以为网关节点,第二节点可以为非网关节点;或者,第一节点可以为非网关节点,第二节点可以为网关节点;或者,第一节点和第二节点可以均为非网关节点。网络可以为网状网,例如IEEE802.11sMesh(此时节点可以为MP,终端可以为STA)。第一节点可以保存有第一终端的地址和第一终端的VLANID之间的对应关系;第二节点可以保存有第二终端的地址和第二终端的VLANID之间的对应关系。节点的地址可以为媒体访问控制(MediaAccessControl,MAC)地址。
对于第一节点为网关节点、第二节点为非网关节点的情况(以下简称情况一),步骤S201中,第一协议报文可以为网关通告报文,用于向网络中各非网关节点通告网关节点的地址。具体地,第一节点可以在网络中广播发送网关通告报文。第二节点接收到该网关通告报文之后,可以根据接收到的网关通告报文,学习到达第一节点的路由表项。第二节点可以将学习到的Mesh路由表项保存到路由表中。第一节点和第二节点例如分别为图1中的MP#9和MP#1,网关通告报文例如混合无线Mesh网络协议(HybridWirelessMeshProtocol,HWMP)中的根通告(RootAnnouncement,RANN)报文。
对于第一节点为非网关节点、第二节点为网关节点的情况(以下简称情况二),步骤S201中,第一协议报文可以为响应于网关通告报文的路由发现报文。具体地,第二节点可以在网络中广播发送该网关通告报文。第一节点接收到该网关通告报文之后,可以根据接收到的网关通告报文,学习到达第二节点的路由表项。第一节点可以将学习到的路由表项保存到路由表中。第一节点可以生成响应于该网关通告报文的路由发现报文,该路由发现报文中可以携带第一终端的地址。第一节点可以根据学习到的到达第二节点的路由表项,将该路由发现报文发送给第二节点。第一节点在发送该路由发现报文之前可以将第一终端的VLANID添加到该路由发现报文中,然后将添加了该VLANID的该路由发现报文发送给第二节点。第二节点接收到第一节点发送的路由发现报文之后,可以根据接收到的路由发现报文,学习到达第一节点的路由表项。第二节点可以将学习到的路由表项保存到路由表中。第一节点和第二节点例如分别为图1中的MP#1和MP#9,路由发现报文例如路径请求(PathRequest,PREQ)报文。
对于第一节点和第二节点均为非网关节点的情况(以下简称情况三),步骤S201中,第一协议报文可以为用于请求到达第二终端的路径的请求报文。具体地,第一终端可以将向第二终端发送的数据报文发送给第一节点。第一节点接收到该数据报文时,可以判断自身是否保存有自身到达第二终端的路由表项,如果保存了,则可以从该路由表项中提取第二终端的VLANID,并可以判断提取的VLANID与第一终端的VLANID是否一致,如果一致,则根据该路由表项向第二终端发送接收到的数据报文;如果不一致,则丢弃该数据报文并向第一终端返回发送失败指示,使第一终端停止向第二终端发送数据报文。
如果第一节点没有保存自身到达第二终端的路由表项,则可以在网络中广播发送该用于请求到达第二终端的路径的请求报文,该请求报文中携带的源节点地址可以为第一节点的地址,携带的目的终端地址可以为第二终端的地址。第二节点可以根据接收到的该请求报文,学习到达第一节点的路由表项和到达第一终端的路由表项,并可以将学习到的路由表项保存到路由表中。到达第一节点的路由表项和到达第一终端的路由表项的源地址均为第二节点的地址,目的地址分别为第一节点的地址和第一终端的地址。到达第一节点的路由表项的前驱节点地址和到达第一终端的路由表项的前驱节点地址一致,到达第一节点的路由表项的下一跳节点地址和到达第一终端的路由表项的下一跳节点地址一致。如果该请求报文中携带第一终端的VLANID,则第二节点可以将该VLANID添加到保存的到达第一终端的路由表项中。
后续第二终端可以将向第一终端发送的数据报文发送给第二节点;第二节点可以从该数据报文中解析源地址和目的地址,分别得到第二终端的地址和第一终端的地址;第二节点可以根据第二终端的地址和第二节点保存的第二终端的地址与VLANID之间的对应关系,得到第二终端的VLANID;第二节点可以根据第一终端的地址查找到第二节点到达第一终端的路由表项,然后可以从该路由表项中提取第一终端的VLANID;第二节点可以判断第二终端的VLANID与第一终端的VLANID是否一致,如果不一致,则可以将第二终端发送的数据报文丢弃,还可以向第二终端返回失败指示报文,以使第二终端停止向第一终端发送数据报文。
情况三中,第一节点和第二节点例如分别为MP#1和MP#5,请求报文例如PREQ报文。
步骤S202,接收所述第二节点发送的响应于所述第一协议报文的第二协议报文,所述第二协议报文用于所述第一节点学习所述第一节点到达所述第二终端的第一路由表项,所述第二协议报文携带所述第二VLANID。
对应上述情况一,步骤S202中,第二协议报文可以为响应于网关通告报文的路由发现报文。具体地,第二节点接收到第一节点广播发送的网关通告报文之后,可以根据接收到的网关通告报文,学习到达第一节点的路由表项。第二节点可以将学习到的路由表项保存到路由表中。第二节点可以生成响应于该网关通告报文的路由发现报文,该路由发现报文中可以携带第二终端的地址。第二节点可以将第二终端的VLANID添加到该路由发现报文中,得到携带该VLANID的路由发现报文,然后根据学习到的到达第一节点的路由表项,将得到的携带该VLANID的路由发现报文发送给第一节点。第一节点可以接收第二节点发送的携带该VLANID的路由发现报文,并可以根据该路由发现报文学习到达第二节点的路由表项和到达第二终端的路由表项,其中,到达第二节点的路由表项的源地址和目的地址分别为第一节点的地址和第二节点的地址,到达第二终端的路由表项的源地址和目的地址分别为第一节点的地址和第二终端的地址。到达第二节点的路由表项和到达第二终端的路由表项具有相同的前驱节点,且具有相同的后继节点。第一节点可以将学习到的路由表项保存到路由表中。
对应上述情况二,步骤S202中,第二协议报文可以为响应于路由表现报文的应答报文。具体地,第二节点接收到第一节点发送的路由发现报文之后,可以生成响应于该路由发现报文的应答报文,该应答报文中可以携带第二节点的地址和第二终端的地址,还可以携带第二终端的VLANID。第二节点可以向第一节点发送该应答报文。第一节点可以接收第二节点发送的应答报文。
对应上述情况三,步骤S202中,第二协议报文可以为响应于请求报文的应答报文。具体地,第二节点接收到第一节点广播发送的请求报文之后,可以生成响应于该请求报文的应答报文,该应答报文中携带的源节点地址可以为第一节点的地址,携带的目的节点地址可以为第二节点的地址,携带的目的终端地址可以为第二终端的地址。该应答报文中还可以携带第二终端的VLANID。第二节点可以向第一节点发送该应答报文。第一节点可以接收第二节点发送的应答报文。与第一节点为MP#1、第二节点为MP#5、请求报文例如PREQ报文对应,第一终端例如STA#1,第二终端例如STA#4,应答报文例如路径应答(PathReply,PREP)报文。
步骤S203,从所述第二协议报文中解析所述第二VLANID。
对应上述情况一,第一节点在接收到第二节点发送的携带第二终端的VLANID的路由发现报文之后,可以从该路由发现报文中解析第二终端的VLANID,然后可以将解析出的VLANID添加到保存的到达第二终端的路由表项中目的节点VLANID参数中。
对应上述情况二,第一节点接收到第二节点发送的应答报文之后,可以从该应答报文中解析第二终端的VLANID。第一节点可以判断与自身关联的终端中是否存在至少一个终端的VLANID与第二终端的VLANID一致,如果一致,则可以生成第一节点到达第二终端的路由表项,该路由表项的源地址和目的地址分别为第一节点的地址和第二终端的地址,该路由表项中的下一跳节点地址与第一节点到达第二节点的路由表项中的下一跳节点地址一致,该路由表项中的前驱节点地址与第一节点到达第二节点的路由表项中的前驱节点地址一致。第一节点可以将第二终端的VLANID添加到第一节点到达第二终端的路由表项中,并可以将添加后的路由表项保存到路由表中。
对应上述情况三,第一节点接收到第二节点的应答报文之后,可以从该应答报文中解析第二终端的VLANID。第一节点可以根据接收到的应答报文,学习到达第二节点的路由表项。第一节点还可以生成到达第二终端的路由表项。生成的路由表项中的下一跳节点地址可以与第一节点到达第二节点的路由表项中的下一跳节点地址一致,生成的路由表项中的前驱节点地址可以与第一节点到达第二节点的路由表项中的前驱节点地址一致。第一节点可以将解析出的第二终端的VLANID添加到该路由表项中。第一节点可以将添加后的路由表项保存到路由表中。
步骤S204,判断第一数据报文中携带的所述第一VLANID与所述第二VLANID是否一致,其中,所述第一数据报文为所述第一节点接收到的所述第一终端向所述第二终端发送的数据报文。
对应上述情况一,第一终端可以将向第二终端发送的数据报文发送给第一节点,该数据报文的源地址和目的地址分别为第一终端的地址和第二终端的地址。第一节点接收到该数据报文时,可以从该数据报文中解析源地址和目的地址,分别得到第一终端的地址和第二终端的地址。第一节点可以根据第一终端的地址和第一节点自身保存的第一终端的地址与第一终端的VLANID之间的对应关系,确定第一终端的VLANID。第一节点可以根据第二终端的地址,从路由表中查找到到达第二终端的路由表项,然后可以从该路由表项中提取目的节点VLANID参数值,得到第二终端的VLANID。第一节点可以判断第一终端的VLANID与提取出的第二终端的VLANID是否一致。与第一节点为MP#9、第二节点为MP#1的例子对应,第一终端例如STA#6,第二终端例如STA#1。
对应上述情况二,第一终端可以将向第二终端发送的数据报文发送给第一节点,该数据报文的源地址和目的地址分别为第一终端的地址和第二终端的地址。第二节点接收到该数据报文时,可以从该数据报文中解析源地址和目的地址,分别得到第一终端的地址和第二终端的地址,然后可以根据第一终端的地址和第一节点自身保存的第一终端的地址与第一终端的VLANID之间的对应关系,确定第一终端的VLANID。第一节点可以根据第二终端的地址,从路由表中查找到到达第二终端的路由表项,然后可以从该路由表项中提取目的节点VLANID参数值,得到第二终端的VLANID。第一节点可以判断第一终端的VLANID与提取出的第二终端的VLANID是否一致。与第一节点为MP#1、第二节点为MP#9的例子对应,第一终端例如STA#2,第二终端例如STA#5。
对应上述情况三,第一节点可以判断第一终端的VLANID与第二终端的VLANID是否一致。
步骤S205,当与所述第二VLANID不一致时,丢弃所述第一数据报文。
第一节点判定第一终端的VLANID与第二终端的VLANID一致时,根据第一节点到达第二终端的路由表项,将第一终端向第二终端发送的数据报文转发给第二节点,第二节点收到后,将该数据报文转发给第二终端;第一节点判定第一终端的VLANID与第二终端的VLANID不一致时,丢弃第一终端向第二终端发送的数据报文,并且可以向第一终端返回失败指示报文,从而使第一终端停止向第二终端发送数据报文。
应用上述实施例,第一节点在判定源STA的VLANID与目的STA的VLANID不一致时,丢弃源STA向目的STA发送的数据报文,从而该数据报文不会像现有技术中那样在到达目的STA关联的第二节点之后才被丢弃,从而节约了网络中第一节点到第二节点的数据报文传输带宽。
图3是本发明报文处理方法的另一个实施例流程图,参照图3,本实施例中的报文处理方法包括如下步骤:
步骤S301,MP#9在Mesh网络中广播RANN报文,该RANN报文的源地址为MP#9的MAC地址,目的地址为广播MAC地址。
本实施例中,MP#9可以保存有与自身关联的STA#5的MAC地址与VLANID之间的对应关系,可以保存有与自身关联的STA#6的MAC地址与VLANID之间的对应关系。按照HWMP,MP#9可以在IEEE802.11sMesh中广播RANN报文。MP#1~#8可以分别学习自身到达MP#9的Mesh路由表项,其中MP#1、#2、#3、#7分别学习到的Mesh路由表项参见表1,即MP#1到达MP#9的Mesh路径为MP#1->MP#2->MP#3->MP#7->MP#9。MP#1、#2、#3、#7可以分别将自身学习到的Mesh路由表项保存到自身的路由表中。
表1
步骤S302,MP#1向MP#9响应PREQ报文,该PREQ报文的源MP的MAC地址为MP#1的MAC地址,一个源STA的MAC地址和VLANID分别为STA#1的MAC地址和VLANID,另一个源STA的MAC地址和VLANID分别为STA#2的MAC地址和VLANID。
MP#1可以保存有与自身关联的STA#1的MAC地址与VLANID之间的对应关系,可以保存有与自身关联的STA#2的MAC地址与VLANID之间的对应关系。
MP#1可以根据Mesh路由表项#11,以单播方式向MP#9发送PREQ报文,作为RANN报文的响应报文。其中,该PREQ报文中可以包含2个PREQ元素,还可以包含与这2个PREQ元素分别对应的2个VLAN元素。这2个PREQ元素中,第一个PREQ元素中携带的源MP地址可以为MP#1的MAC地址,源STA地址可以为STA#1的MAC地址,该PREQ元素对应的VLAN信息元素中包含的VLAN信息可以为STA#1的VLANID;第二个PREQ元素中携带的源MP地址可以为MP#1的MAC地址,源STA地址可以为STA#2的MAC地址,该PREQ元素对应的VLAN元素中包含的VLAN信息可以为STA#2的VLANID。
MP#1发送的PREQ报文经由MP#1到达MP#9的Mesh路径MP#1->MP#2->MP#3->MP#7->MP#9到达MP#9。MP#2、#3、#7和MP#9可以分别学习到达MP#1的Mesh路由表项,参见表2,即MP#9到达MP#1的Mesh路径为MP#9->MP#7->MP#3->MP#2->MP#1。MP#2、#3、#7和MP#9可以分别将自身学习到的Mesh路由表项保存到自身的路由表中。
表2
MP#9可以将Mesh路由表项#24中的前驱MAC地址和下一跳MAC地址分别作为到达STA#1的Mesh路由表项中的前驱MAC地址和下一跳MAC地址,得到到达STA#1的Mesh路由表项#31;MP#9可以将Mesh路由表项#24中的前驱MAC地址和下一跳MAC地址分别作为到达STA#2的Mesh路由表项中的前驱MAC地址和下一跳MAC地址,得到到达STA#2的Mesh路由表项#32。MP#9可以将Mesh路由表项#31的VLANID参数值设为该PREQ报文的第一个PREQ元素对应的VLAN信息元素中包含的VLAN信息。MP#9可以将Mesh路由表项#32的VLANID参数值设为该PREQ报文的第二个PREQ元素对应的VLAN信息元素中包含的VLAN信息。Mesh路由表项#31、#32参见表3。
表3
步骤S303,MP#9向MP#1回复PREP报文,该PREP报文的源MP的MAC地址为MP#1的MAC地址,目的MP的MAC地址为MP#9的MAC地址,一个目的STA的MAC地址和VLANID分别为STA#5的MAC地址和VLANID,另一个目的STA的MAC地址和VLANID分别为STA#6的MAC地址和VLANID。
MP#9接收到MP#1发送的PREQ报文之后,可以向MP#1回复PREP报文,该PREP报文中可以包含两个PREP元素,第一个PREP元素中可以包含源MP地址(MP#1的MAC地址)、目的MP地址(MP#9的MAC地址)和目的STA地址(STA#5的MAC地址);第二个PREP元素中可以包含源MP地址(MP#1的MAC地址)、目的MP地址(MP#9的MAC地址)和目的STA地址(STA#6的MAC地址)。该PREP报文中还可以包含与这两个PREP元素一一对应的两个VLAN信息元素,与第一个PREP元素对应的VLAN信息元素中包含STA#5的VLANID,与第二个PREP元素对应的VLAN信息元素中包含STA#6的VLANID。
MP#1接收到MP#9回复的PREP报文之后,可以从与携带STA#5的MAC地址的PREP元素对应的VLAN信息元素中解析STA#5的VLANID。MP#1判定STA#5的VLANID与STA#2的VLANID一致,则可以生成MP#1到达STA#5的Mesh路由表项#41,可以将STA#5的VLANID添加到Mesh路由表项#41中,然后可以保存添加后的Mesh路由表项#41。MP#1可以从与携带STA#6的MAC地址的PREP元素对应的VLAN信息元素中解析STA#6的VLANID。MP#1判定STA#6的VLANID与STA#1的VLANID一致,则可以生成MP#1到达STA#6的Mesh路由表项#42,可以将STA#6的VLANID添加到Mesh路由表项#42中,然后可以保存添加后的Mesh路由表项#42。这里,由于MP#1关联的STA中没有任何一个STA的VLANID与STA#7的VLANID一致,因此,MP#1可以不生成到达STA#7的Mesh路由表项。Mesh路由表项#41、#42见表4。
表4
步骤S304,STA#6向MP#9发送数据报文,该数据报文的目的STA的MAC地址为STA#1的MAC地址。
STA#6可以将向STA#1发送的数据报文发送给MP#9,该数据报文的目的STA的MAC地址可以为STA#1的MAC地址。MP#9接收到该数据报文之后,可以从该数据报文中解析源STA的MAC地址和目的STA的MAC地址,分别得到STA#6的MAC地址和STA#1的MAC地址。MP#9可以根据STA#6的MAC地址查找到Mesh路由表项#42,从Mesh路由表项#42中提取VLANID参数值,得到STA#6的VLANID(100)。MP#9可以根据STA#1的MAC地址和自身保存的STA#1的MAC地址与VLANID之间的对应关系,得到STA#1的VLANID(120)。MP#9可以判断STA#6的VLANID与STA#1的VLANID是否一致,这里的判断结果为不一致。
步骤S304+,STA#6向MP#9发送数据报文,该数据报文的目的STA的MAC地址为STA#1的MAC地址。
步骤S304+在步骤S302之后发生,与步骤S304之间不存在确定的时序关系。STA#2可以将向STA#5发送的数据报文发送给MP#1,该数据报文的目的STA的MAC地址可以为STA#5的MAC地址。MP#1接收到该数据报文之后,可以从该数据报文中解析源STA的MAC地址和目的STA的MAC地址,分别得到STA#2的MAC地址和STA#5的MAC地址。MP#1可以根据STA#5的MAC地址查找到Mesh路由表项#42,从Mesh路由表项#42中提取VLANID参数值,得到STA#5的VLANID(120)。MP#1可以根据STA#2的MAC地址和自身保存的STA#2的MAC地址与VLANID之间的对应关系,得到STA#2的VLANID(100)。MP#1可以判断STA#5的VLANID与STA#2的VLANID是否一致,这里的判断结果为不一致。
步骤S305,MP#9判定STA#6的VLANID与STA#1的VLANID不一致,丢弃STA#6发送的数据报文。
MP#9判定STA#6的VLANID与STA#1的VLANID不一致,则丢弃STA#6向STA#1发送的数据报文,同时,MP#9还可以向STA#6返回失败指示报文,从而使STA#6停止向STA#1发送数据报文。
步骤S305+,MP#1判定STA#2的VLANID与STA#5的VLANID不一致,丢弃STA#2发送的数据报文。
MP#1判定STA#2的VLANID与STA#5的VLANID不一致,则丢弃STA#2向STA#5发送的数据报文,同时,MP#1还可以向STA#2返回失败指示报文,从而使STA#2停止向STA#5发送数据报文。
应用上述实施例,第一节点在判定源STA的VLANID与目的STA的VLANID不一致时,丢弃源STA向目的STA发送的数据报文,从而该数据报文不会像现有技术中那样在到达目的STA关联的第二节点之后才被丢弃,从而节约了网络中第一节点到第二节点的数据报文传输带宽。
图4是本发明报文处理方法的又一个实施例流程图,参照图4,本实施例中的报文处理方法包括如下步骤:
步骤S401,STA#1向MP#1发送数据报文,该数据报文的目的STA的MAC地址为STA#4的MAC地址。
本实施例中,MP#1可以保存有与自身关联的STA#1的MAC地址与VLANID之间的对应关系,可以保存有与自身关联的STA#2的MAC地址与VLANID之间的对应关系。MP#5可以保存有与自身关联的STA#3的MAC地址与VLANID之间的对应关系,可以保存有与自身关联的STA#4的MAC地址与VLANID之间的对应关系。
STA#1可以将向STA#4发送的数据报文发送给MP#1,该数据报文的目的STA的MAC地址可以为STA#4的MAC地址。
步骤S402,MP#1广播PREQ报文,该PREQ报文的源MP的MAC地址为MP#1的MAC地址,源STA的MAC地址和VLANID分别为STA#1的MAC地址和VLANID,目的STA的MAC地址为STA#4的MAC地址。
MP#1接收到该数据报文时,如果检查到自身没有保存到达STA#4的Mesh路由表项,则可以广播PREQ报文,该PREQ报文中可以包含按需PREQ元素,该PREQ元素中可以携带源MP地址(MP#1的MAC地址)、外部地址(STA#1的MAC地址)和目的STA地址(STA#4的MAC地址)。该PREQ报文中还可以携带源STA(STA#1)的VLAN信息元素,其中的VLAN信息为120。MP#5可以根据接收到的该PREQ报文,学习到达MP#1的Mesh路由表项#51和到达STA#1的Mesh路由表项#52,并可以将学习到的Mesh路由表项保存到路由表中。如果该PREQ报文中携带源STA(STA#1)的VLAN信息元素,则MP#5可以将该VLAN信息元素中的VLANID添加到保存的Mesh路由表项#52中。Mesh路由表项#51、#52见表5。
表5
步骤S403,MP#5向MP#1回复PREP报文,该PREP报文的源MP的MAC地址为MP#1的MAC地址,目的MP的MAC地址为MP#5的MAC地址,目的STA的MAC地址和VLANID分别为STA#4的MAC地址和VLANID。
MP#5接收到MP#1广播的PREQ报文之后,可以向MP#1回复PREP报文,该PREP报文携带PREP元素,该PREP元素中的源MAC地址为MP#1的MAC地址,目的MP的MAC地址为MP#5的MAC地址,目的STA的MAC地址为STA#4的MAC地址;该PREP报文还可以携带VLAN信息元素,该VLAN信息元素中的VLAN信息为STA#4的VLANID。
MP#1接收到MP#5回复的PREP报文之后,可以从该PREP报文的VLAN信息元素中解析得到STA#4的VLANID。MP#1可以根据接收到的PREP报文,学习到达MP#5的Mesh路由表项#61和到达STA#4的Mesh路由表项#62。MP#1可以将STA#4的VLANID添加到Mesh路由表项#62中。MP#1可以将添加后的Mesh路由表项保存到路由表中。Mesh路由表项#61、#62见表6。
表6
步骤S404,MP#1判定STA#1的VLANID与STA#4的VLANID不一致,丢弃STA#1发送的数据报文。
MP#1可以判断STA#1的VLANID与STA#4的VLANID是否一致,判断结果为不一致。MP#1判定STA#1的VLANID与STA#4的VLANID不一致,则可以丢弃STA#1向STA#4发送的数据报文,并可以向STA#1返回失败指示报文,从而使STA#1停止向STA#4发送数据报文。
步骤S405,STA#4向MP#5发送数据报文,该数据报文的目的STA的MAC地址为STA#1的MAC地址。
步骤S405在步骤S402之后发生,与步骤S403、S404之间不存在确定的时序关系。
STA#4可以将向STA#1发送的数据报文发送给MP#5,该数据报文的目的STA的MAC地址为STA#1的MAC地址。MP#5接收到STA#4发送的数据报文时,可以根据STA#1的MAC地址从保存的路由表中查找到Mesh路由表项#52,然后可以从Mesh路由表项#52中提取VLANID参数值,得到STA#1的VLANID。MP#5可以根据STA#4的MAC地址和保存的STA#4的MAC地址和VLANID之间的对应关系,确定STA#4的VLANID。
步骤S406,MP#5判定STA#4的VLANID与STA#1的VLANID不一致,丢弃STA#4发送的数据报文。
MP#5可以判断STA#4的VLANID与STA#1的VLANID是否一致,判断结果为不一致。MP#5判定STA#4的VLANID与STA#1的VLANID不一致,则可以丢弃STA#4向STA#1发送的数据报文,并可以向STA#4返回失败指示报文,从而使STA#4停止向STA#1发送数据报文。
应用上述实施例,第一节点在判定源STA的VLANID与目的STA的VLANID不一致时,丢弃源STA向目的STA发送的数据报文,从而该数据报文不会像现有技术中那样在到达目的STA关联的第二节点之后才被丢弃,从而节约了网络中第一节点到第二节点的数据报文传输带宽。
与前述报文处理方法的实施例相对应,本发明还提供了报文处理装置的实施例。
本发明提供的报文处理装置的实施例可以应用在具有硬件结构的设备上,该设备可以为网络设备或管理服务器。该装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本发明报文处理装置所在设备的一种硬件结构图,除了图5所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中报文处理装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等,对此图5中不再详细示出。
图6是本发明报文处理装置的一个实施例框图,参照图6,本实施例中的报文处理装置,用于网络中的第一节点,所述第一节点和所述网络中的第二节点分别与第一终端和第二终端关联,且分别维护有所述第一终端的第一虚拟局域网标识符VLANID和所述第二终端的第二VLANID,所述装置包括第一发送单元601、接收单元602、解析单元603、判断单元604和丢弃单元605;
其中,第一发送单元601,用于向所述第二节点发送第一协议报文;
接收单元602,用于接收所述第二节点发送的响应于所述第一协议报文的第二协议报文,所述第二协议报文用于所述第一节点学习所述第一节点到达所述第二终端的第一路由表项,所述第二协议报文携带所述第二VLANID;
解析单元603,用于从所述第二协议报文中解析所述第二VLANID;
判断单元604,用于判断第一数据报文中携带的所述第一VLANID与所述第二VLANID是否一致,其中,所述第一数据报文为所述第一节点接收到的所述第一终端向所述第二终端发送的数据报文;
丢弃单元605,用于当与所述第二VLANID不一致时,丢弃所述第一数据报文。
在一个可选的实现方式中,所述第一协议报文可以用于所述第二节点学习所述第二节点到达所述第一终端的第二路由表项,所述第一发送单元可以包括:
第一添加子单元,用于将所述第一VLANID添加到所述第一协议报文中,得到携带所述第一VLANID的所述第一协议报文;
第一发送子单元,用于向所述第二节点发送携带所述第一VLANID的所述第一协议报文,使得所述第二节点丢弃接收到的第二数据报文,其中,所述第二数据报文为所述第二节点接收到的所述第二终端向所述第一终端发送的数据报文。
在另一个可选的实现方式中,所述第一发送单元可以包括:
第二发送子单元,用于在接收到所述第一数据报文时,向所述第二节点发送所述第一协议报文。
在另一个可选的实现方式中,所述判断单元可以包括:
学习子单元,用于根据所述第二协议报文,学习所述第一路由表项;
第二添加子单元,用于将所述第二VLANID添加到所述第一路由表项中;
保存子单元,用于将添加后的所述第一路由表项保存到路由表中;
查找子单元,用于在接收到所述第一数据报文时,从所述路由表中查找所述第一路由表项;
提取子单元,用于从查找到的所述第一路由表项中提取所述第二VLANID;
判断子单元,用于判断第一数据报文中携带的所述第一VLANID与提取的所述第二VLANID是否一致。
在另一个可选的实现方式中,所述第一节点可以为所述网络的网关节点,所述第一协议报文可以为网关通告报文,所述装置还可以包括:
第二发送单元,用于向所述第二节点发送响应于所述路由发现报文的应答报文,使得所述第二节点丢弃接收到的第三数据报文,所述应答报文中携带所述第一VLANID,所述第三数据报文为所述第二节点接收到的所述第二终端向所述第一终端发送的数据报文。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,第一节点在判定源STA的VLANID与目的STA的VLANID不一致时,丢弃源STA向目的STA发送的数据报文,从而该数据报文不会像现有技术中那样在到达目的STA关联的第二节点之后才被丢弃,从而节约了网络中第一节点到第二节点的数据报文传输带宽。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种报文处理方法,用于网络中的第一节点,其特征在于,所述第一节点和所述网络中的第二节点分别与第一终端和第二终端关联,且分别维护有所述第一终端的第一虚拟局域网标识符VLANID和所述第二终端的第二VLANID,所述方法包括:
向所述第二节点发送第一协议报文;
接收所述第二节点发送的响应于所述第一协议报文的第二协议报文,所述第二协议报文用于所述第一节点学习所述第一节点到达所述第二终端的第一路由表项,所述第二协议报文携带所述第二VLANID;
从所述第二协议报文中解析所述第二VLANID;
判断第一数据报文中携带的所述第一VLANID与所述第二VLANID是否一致,其中,所述第一数据报文为所述第一节点接收到的所述第一终端向所述第二终端发送的数据报文;
当与所述第二VLANID不一致时,丢弃所述第一数据报文。
2.根据权利要求1所述的方法,其特征在于,所述第一协议报文用于所述第二节点学习所述第二节点到达所述第一终端的第二路由表项,所述向所述第二节点发送第一协议报文包括:
将所述第一VLANID添加到所述第一协议报文中,得到携带所述第一VLANID的所述第一协议报文;
向所述第二节点发送携带所述第一VLANID的所述第一协议报文,使得所述第二节点丢弃接收到的第二数据报文,其中,所述第二数据报文为所述第二节点接收到的所述第二终端向所述第一终端发送的数据报文。
3.根据权利要求1所述的方法,其特征在于,所述向所述第二节点发送第一协议报文包括:
在接收到所述第一数据报文时,向所述第二节点发送所述第一协议报文。
4.根据权利要求1所述的方法,其特征在于,所述判断第一数据报文中携带的所述第一VLANID与所述第二VLANID是否一致包括:
根据所述第二协议报文,学习所述第一路由表项;
将所述第二VLANID添加到所述第一路由表项中;
将添加后的所述第一路由表项保存到路由表中;
在接收到所述第一数据报文时,从所述路由表中查找所述第一路由表项;
从查找到的所述第一路由表项中提取所述第二VLANID;
判断第一数据报文中携带的所述第一VLANID与提取的所述第二VLANID是否一致。
5.根据权利要求1所述的方法,其特征在于,所述第一节点为所述网络的网关节点,所述第一协议报文为网关通告报文,所述第二协议报文为路由发现报文,所述方法还包括:
向所述第二节点发送响应于所述路由发现报文的应答报文,使得所述第二节点丢弃接收到的第三数据报文,所述应答报文中携带所述第一VLANID,所述第三数据报文为所述第二节点接收到的所述第二终端向所述第一终端发送的数据报文。
6.一种报文处理装置,用于网络中的第一节点,其特征在于,所述第一节点和所述网络中的第二节点分别与第一终端和第二终端关联,且分别维护有所述第一终端的第一虚拟局域网标识符VLANID和所述第二终端的第二VLANID,所述装置包括:
第一发送单元,用于向所述第二节点发送第一协议报文;
接收单元,用于接收所述第二节点发送的响应于所述第一协议报文的第二协议报文,所述第二协议报文用于所述第一节点学习所述第一节点到达所述第二终端的第一路由表项,所述第二协议报文携带所述第二VLANID;
解析单元,用于从所述第二协议报文中解析所述第二VLANID;
判断单元,用于判断第一数据报文中携带的所述第一VLANID与所述第二VLANID是否一致,其中,所述第一数据报文为所述第一节点接收到的所述第一终端向所述第二终端发送的数据报文;
丢弃单元,用于当与所述第二VLANID不一致时,丢弃所述第一数据报文。
7.根据权利要求6所述的装置,其特征在于,所述第一协议报文用于所述第二节点学习所述第二节点到达所述第一终端的第二路由表项,所述第一发送单元包括:
第一添加子单元,用于将所述第一VLANID添加到所述第一协议报文中,得到携带所述第一VLANID的所述第一协议报文;
第一发送子单元,用于向所述第二节点发送携带所述第一VLANID的所述第一协议报文,使得所述第二节点丢弃接收到的第二数据报文,其中,所述第二数据报文为所述第二节点接收到的所述第二终端向所述第一终端发送的数据报文。
8.根据权利要求6所述的装置,其特征在于,所述第一发送单元包括:
第二发送子单元,用于在接收到所述第一数据报文时,向所述第二节点发送所述第一协议报文。
9.根据权利要求6所述的装置,其特征在于,所述判断单元包括:
学习子单元,用于根据所述第二协议报文,学习所述第一路由表项;
第二添加子单元,用于将所述第二VLANID添加到所述第一路由表项中;
保存子单元,用于将添加后的所述第一路由表项保存到路由表中;
查找子单元,用于在接收到所述第一数据报文时,从所述路由表中查找所述第一路由表项;
提取子单元,用于从查找到的所述第一路由表项中提取所述第二VLANID;
判断子单元,用于判断第一数据报文中携带的所述第一VLANID与提取的所述第二VLANID是否一致。
10.根据权利要求6所述的装置,其特征在于,所述第一节点为所述网络的网关节点,所述第一协议报文为网关通告报文,所述装置还包括:
第二发送单元,用于向所述第二节点发送响应于所述路由发现报文的应答报文,使得所述第二节点丢弃接收到的第三数据报文,所述应答报文中携带所述第一VLANID,所述第三数据报文为所述第二节点接收到的所述第二终端向所述第一终端发送的数据报文。
CN201510351217.1A 2015-06-19 2015-06-19 一种报文处理方法及装置 Active CN105099941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510351217.1A CN105099941B (zh) 2015-06-19 2015-06-19 一种报文处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510351217.1A CN105099941B (zh) 2015-06-19 2015-06-19 一种报文处理方法及装置

Publications (2)

Publication Number Publication Date
CN105099941A true CN105099941A (zh) 2015-11-25
CN105099941B CN105099941B (zh) 2018-09-04

Family

ID=54579523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510351217.1A Active CN105099941B (zh) 2015-06-19 2015-06-19 一种报文处理方法及装置

Country Status (1)

Country Link
CN (1) CN105099941B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023160A1 (en) * 2000-03-20 2002-02-21 Garrett John W. Service selection in a shared access network providing access control
US20070115990A1 (en) * 2005-11-22 2007-05-24 Rajiv Asati Method of providing an encrypted multipoint VPN service
CN101257487A (zh) * 2006-04-25 2008-09-03 华为技术有限公司 一种将业务流映射到业务传输通道的方法及光网络终端
CN102025591A (zh) * 2009-09-18 2011-04-20 中兴通讯股份有限公司 虚拟专用网络的实现方法及系统
CN103731349A (zh) * 2012-10-16 2014-04-16 杭州华三通信技术有限公司 一种以太网虚拟化互联邻居间报文转发方法和边缘设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023160A1 (en) * 2000-03-20 2002-02-21 Garrett John W. Service selection in a shared access network providing access control
US20070115990A1 (en) * 2005-11-22 2007-05-24 Rajiv Asati Method of providing an encrypted multipoint VPN service
CN101257487A (zh) * 2006-04-25 2008-09-03 华为技术有限公司 一种将业务流映射到业务传输通道的方法及光网络终端
CN102025591A (zh) * 2009-09-18 2011-04-20 中兴通讯股份有限公司 虚拟专用网络的实现方法及系统
CN103731349A (zh) * 2012-10-16 2014-04-16 杭州华三通信技术有限公司 一种以太网虚拟化互联邻居间报文转发方法和边缘设备

Also Published As

Publication number Publication date
CN105099941B (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
CN100477620C (zh) 利用单个物理端口的在线入侵检测
US10461958B2 (en) Packet transmission method and apparatus
CN108768866B (zh) 组播报文跨卡转发方法、装置、网络设备及可读存储介质
CN106130819B (zh) Vtep异常的检测方法及装置
CN108718278B (zh) 一种报文传输方法和装置
CN104660508A (zh) 一种报文转发方法及装置
CN107317752B (zh) 一种转发数据报文的方法及装置
CN105187311A (zh) 一种报文转发方法及装置
CN105337855A (zh) 一种处理修改后的报文方法和装置
US20170332439A1 (en) Extending the range of mesh networks
CN107547346B (zh) 一种报文传输方法和装置
CN104852840A (zh) 一种控制虚拟机之间互访的方法及装置
CN100444586C (zh) 报文转发方法及设备
CN110278155A (zh) 具有多归属和局部偏置的辅助复制
CN102739462B (zh) 一种测试报文的发送方法以及装置
US10476774B2 (en) Selective transmission of bidirectional forwarding detection (BFD) messages for verifying multicast connectivity
US11683275B2 (en) Device and method for interconnecting two subnetworks
US10917378B1 (en) Facilitating communication between network devices of a virtual router redundancy protocol (VRRP) group
CN116566897A (zh) 一种寻址路由方法、装置、设备及介质
CN100479457C (zh) 一种实现虚拟私有网络中数据传输的方法
CN110995609A (zh) 报文发送方法、装置、电子设备及存储介质
US8837474B2 (en) Apparatus and methods for efficient network address translation and application level gateway processing
CN105099941A (zh) 一种报文处理方法及装置
CN103051541B (zh) 一种标识网内的报文转发方法、asr及isr
CN104780089A (zh) 报文隔离方法以及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant