CN102769557B - 一种业务数据报文的传输方法及装置 - Google Patents

一种业务数据报文的传输方法及装置 Download PDF

Info

Publication number
CN102769557B
CN102769557B CN201210282266.0A CN201210282266A CN102769557B CN 102769557 B CN102769557 B CN 102769557B CN 201210282266 A CN201210282266 A CN 201210282266A CN 102769557 B CN102769557 B CN 102769557B
Authority
CN
China
Prior art keywords
business datum
datum message
vlan
vlan head
head
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
Application number
CN201210282266.0A
Other languages
English (en)
Other versions
CN102769557A (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.)
Shenzhen Gongjin Electronics Co Ltd
Original Assignee
Shenzhen Gongjin Electronics 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 Shenzhen Gongjin Electronics Co Ltd filed Critical Shenzhen Gongjin Electronics Co Ltd
Priority to CN201210282266.0A priority Critical patent/CN102769557B/zh
Publication of CN102769557A publication Critical patent/CN102769557A/zh
Application granted granted Critical
Publication of CN102769557B publication Critical patent/CN102769557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明实施例公开了一种业务数据报文的传输方法及装置,用于传输非对称型VLAN业务数据报文。本发明实施例方法包括:第一钩子点去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,将去除VLAN头部的业务数据报文中及不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,第二钩子点将发送到对应的出接口的业务数据报文中的需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部并进行转发。

Description

一种业务数据报文的传输方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种业务数据报文的传输方法及装置。
背景技术
Linux系统标准内核已经实现了虚拟局域网(VLAN,Virtual Local AreaNetwork)协议,可通过标识虚拟局域网标识(VLAN ID,Virtual Local AreaNetwork Identity)实现VLAN功能。
现有技术中,用户只需借助开源工具vconfig创建相应的VLAN ID的VLAN设备便可以轻松实现VLAN功能。
但是上述现有技术只能实现简单的VLAN功能,只能实现对称型VLAN业务,接收业务数据报文时只接收VLAN ID为x的业务数据报文,发送业务数据报文时也只能发送VLAN ID为x的业务数据报文。对于非对称型VLAN业务则无法实现,非对称型VLAN业务是指接收的业务数据报文和发送的业务数据报文的VLAN ID不同,例如接收业务数据报文时只接收VLAN ID为x的业务数据报文,发送业务数据报文时被要求发送VLAN ID为y的业务数据报文。
发明内容
本发明实施例提供了一种业务数据报文的传输方法及装置,用以传输非对称型VLAN业务数据报文。
本发明实施例中的业务数据报文的传输方法,包括:第一钩子点去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,所述接收的业务数据报文包括携带VLAN头部的业务数据报文,及不携带VLAN头部的业务数据报文;将去除VLAN头部的业务数据报文中及所述不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,所述定向发送条件至少包括业务数据报文的源端口、VLAN ID、MAC地址及IP地址中的一个;第二钩子点将所述发送到对应的出接口的业务数据报文中,需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部并进行转发。
本发明实施例中的业务数据报文的传输装置,包括:去除单元,用于去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,所述接收的业务数据报文包括携带VLAN头部的业务数据报文,及不携带VLAN头部的业务数据报文;发送单元,用于将去除VLAN头部的业务数据报文中及所述不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,所述定向发送条件至少包括业务数据报文的源端口、VLAN ID、MAC地址及IP地址中的一个;添加单元,用于将所述发送到对应的出接口的业务数据报文中,需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部;所述发送单元,还用于将添加新的VLAN头部的业务数据报文进行转发。
从以上技术方案可以看出,本发明实施例具有以下优点:第一钩子点去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,将其中匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,第二钩子点将需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部后进行转发,由于将业务数据报文去除VLAN头部,去除了源VLAN的网络身份标识,又将去除了VLAN头部的业务数据报文添加新的VLAN头部,以便添加后的业务数据报文顺利在相应的新的VLAN中进行传输,从而实现对称型VLAN业务。
附图说明
图1为本发明实施例中系统内核的框架示意图;
图2为本发明实施例中实现业务报文传输的各装置的连接结构及数据传输方向示意图;
图3为本发明实施例中的业务数据报文的传输方法的一个实施例示意图;
图4为本发明实施例中各组件结构示意图;
图5为本发明实施例中的业务数据报文的传输方法的另一个实施例示意图;
图6为本发明实施例中的业务数据报文的传输装置的一个实施例示意图;
图7为本发明实施例中的业务数据报文的传输装置的另一个实施例示意图。
具体实施方式
下面结合附图和具体实施例进一步说明本发明实施例的技术方案,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种业务数据报文的传输方法及装置,用于通过为业务数据报文添加新的VLAN ID的方式,传输非对称型VLAN业务数据报文。
本发明实施例中,以视频和电话类业务为例,其他具有类似传输方式的业务数据报文的传输方法实现方式类似于此两种业务。
首先介绍本发明实施例中的各组件结构及功能:
虚拟网络接口(Vnet,Virtual net interface)组件:用于派生出真实接口的虚拟接口,类似于使用VLAN接口配置开源工具Vconfig创建的VLAN接口。Vnet组件由Vnet内核模块和虚拟网络接口配置工具Vnetconfig组成,Vnetconfig通过ioctl函数与Vnet内核模块交互,Vnet内核模块收到应用层创建Vnet接口的ioctl请求后,在内核空间创建网络设备net_device对象,并初始其接收和发送数据包函数等。例如,创建LAN侧虚设备vnet_L1的具体指令为Vnetconfig add vnet_L1eth0;创建WAN侧虚设备vnet_W1的具体指令为Vnetconfig add vnet_W1 wan;
桥设备Bridge组件:每创建一个VLAN业务数据报文的定向关系便创建一个Bridge设备,为局域网(LAN,Local Area Network)接口和广域网(WAN,Wide Area Network)接口各创建一个Vnet接口,然后将这两个Vnet接口加入到Bridge设备中。例如,创建桥设备BR1的具体指令可以为:Brctl addbr BR1;将虚设备vnet_L1加入到桥BR1中的具体指令为Brctl addif BR1 vnet_L1;将虚设备vnet_W1加入到桥BR1中的具体指令为Brctl addifBR1 vnet_W1;
分类器Filter组件:实现上为一系列防火墙ebtables的规则,负责筛选符合条件的包并重定向到相应的Vnet接口上,筛选条件包括:介质访问控制(MAC,Media Access Control)地址,Vnet接口或Vport业务接口,Vlan ID,网络协议(IP,Internet Protocol)地址,传输控制协议(TCP,Transmission ControlProtocol)或用户数据报协议(UDP,User Datagram Protocol)端口等,从而可以实现策略VLAN。Filter分2个方向,一个为LAN到WAN,一个为WAN到LAN;
标记Marking组件:实现上也为一系列的ebtables的规则,负责根据用户配置将从相应Vnet接口发出的数据包添加Vlan ID标记,也可以不添加VlanID标记,如LAN到WAN的数据包一般不带Vlan ID。Marking也分2个方向,一个为LAN到WAN,一个为WAN到LAN。
进一步地,为实现Filter和Marking组件,需要在Linux内核架构中添加两个钩子点(hook),分别是第一钩子点BR_PROUTING和第二钩子点BR_AROUTING。请参阅图1,图1为内核架构的结构图,其中,除以上两个钩子点外,还有其他各钩子点,例如,BR_BROUTING、BR_PRE_ROUTING、BR_LOCAL_IN、IP_LOCAL_OUT等,此处不一一描述,各钩子点位置如图,可分列于以太网络(Ethernet)层或网络协议(IP)层各钩子点的使用为现有技术,此处不再赘述,图中的两个圆形表示数据报文到此处的路径选择,若该数据报文是发送到本层的则选择进入上一层协议处理,否则转发到本层的下一个钩子点。
第一钩子点BR_PROUTING及第二钩子点BR_AROUTING在内核架构中的位置如图1所示,位于以太网侧,其他钩子点的分布为现有技术,此处不作赘述。其中第一钩子点BR_PROUTING用于接收处理数据报文,它挂载在netif_receive_skb函数中,当第一钩子点从驱动接收到数据报文,在netif_receive_skb函数中进行桥处理和协议处理,因为需要在第一钩子点同时处理桥和路由的报文,同时还要去掉一些其它的二层协议,所以第一钩子点BR_PROUTING的位置需要放在在桥处理和协议处理的钩子点之前。在数据报文到达BR_PROUTING时,需去除VLAN头部,因为在VLAN头部中的Vlan ID标识数据报文来自的VLAN,可能无法继续在另一个VLAN中传输,这里需要扩展一个vlan untag的目标标签target来去除VLAN头部,并将VLANID记录在sk buff中,并新增一个redirect-dev target用于根据规则指定数据报文进入的接口。
第二钩子点BR_AROUTING用于处理发送数据报文,它同样也需要处理桥和路由的报文,因此需要将它挂载在公共发送函数中,例如,可以将它挂载在dev_queue_xmit或dev_hard_start_xmit函数里。在数据报文到达BR_AROUTING时,为发送出去的数据报文添加VLAN头部,所以需要扩展一个Vlan头部的target来根据sk buff中的VLAN ID为数据报文添加VLAN头部。本实施例中实现业务报文传输的各装置的连接结构及数据传输方向,请见图2,其中,第一钩子点接收来自Eth0的业务数据报文,Eth0为LAN侧接口,对应着一个物理网卡或者是交换机。
下面分别详细介绍本发明实施例中的业务数据报文的传输方法,请参阅图3。本发明实施例中的业务数据报文的传输方法的一个实施例包括:
101、第一钩子点去除接收的业务数据报文中,携带VLAN头部的业务数据报文的VLAN头部,所述接收的业务数据报文包括携带VLAN头部的业务数据报文,及不携带VLAN头部的业务数据报文;
第一钩子点接收业务数据报文,去除其中携带VLAN头部的业务数据报文的VLAN头部,去除VLAN头部的业务数据报文不含源虚拟局域网标识VLAN ID,接收的业务数据报文包括携带VLAN头部的业务数据报文,及不携带VLAN头部的业务数据报文。
在Linux内核中,添加第一钩子点BR_PROUTING及第二钩子点BR_AROUTING处理业务数据报文,通过在该第一钩子点挂载第一钩子钩子函数及在第二钩子点挂载第二钩子函数,对业务数据报文进行处理。
第一钩子点接收来自各业务端口的业务数据报文,将其中携带VLAN头部的业务数据报文的VLANT头部去除,并将VLAN信息记录在sk_buff中。
为便于理解,请参阅图4,本实施例中的各组件结构如图4所示,
首先,利用桥接口配置开源工具brctl创建一个Bridge接口BR2,利用Vnetconfig工具为LAN侧的VLAN业务接口Vport2创建一个Vnet虚拟接口Lan_vnet2,需要说明的是,在LAN侧有多个VLAN业务接口,按照业务类型分为不同业务接口,例如,视频业务、语音业务、数据业务等。
进一步地,利用Vnetconfig工具为WAN侧VLAN业务基于WAN接口创建一个Vnet虚拟接口Wan_vnet2,利用brctl工具上述创建的Vnet虚拟接口Lan_vnet2和Wan_vnet2加入到Bridge接口BR2中。
在LAN侧或WAN侧的分类器组件中加入ebtables规则以挂载相应的钩子函数,将满足定向发送条件的数据包定向到相应的LAN虚拟接口或WAN虚拟接口,定向发送条件还可以是MAC地址,IP地址等,
在LAN侧或WAN侧的Marking组件中加入ebtables规则以挂载相应的钩子函数,将出接口发出的数据包打上VLAN ID的VLAN Tag。
102、将去除VLAN头部的业务数据报文及不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口;
将步骤101中去除VLAN头部的业务数据报文中,以及接收的业务数据报文中不携带VLAN头部的业务数据报文中匹配预置的定向发送条件的业务数据报文,定向发送到对应的出接口,该定向发送条件至少包括业务数据报文的源端口、VLAN ID、MAC地址及IP地址中的一个。
具体地,在设备中预置的定向发送条件可以限定业务数据报文的来源端口,端口不同,业务种类不同,也可以是VLAN ID,表示业务数据报文的源VLAN,也可以是MAC地址或IP地址,可以理解的,定向发送条件也可以是上述各参数的组合。接收的业务数据报文匹配定向发送条件,则将该业务数据报文定向到对应的虚拟接口,如前述LAN侧或WAN侧的Vent接口。
103、第二钩子点将发送到对应的出接口的业务数据报文中需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部后进行转发。
本发明实施例中,第一钩子点去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,将其中匹配预置的定向发送条件的,以及不携带VLAN头部的业务数据报文中匹配预置的定向发送条件的数据报文,定向发送到对应的出接口,第二钩子点将发送到对应的出接口的业务数据报文中需要转发,并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部后进行转发,由于将业务数据报文去除VLAN头部,去除了源VLAN的网络身份标识,又将去除了VLAN头部的业务数据报文添加新的VLAN头部,以便添加后的业务数据报文顺利在相应的新的VLAN中进行传输,从而实现对称型VLAN业务。
为便于理解,请参阅图5,本发明实施例中的业务数据报文的传输方法的另一个实施例包括:
201、第一钩子点通过第一钩子函数,去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部;
需要说明的是,在第一钩子点挂载第一钩子函数,通过该第一钩子函数对业务数据报文进行过滤、分类,以及判断业务数据报文是否匹配预置的定向发送条件。
第一钩子点接收业务数据报文,判断其是否携带VLAN头部,有些业务数据报文携带,有些业务数据报文不携带,当判断业务报文携带VLAN头部时,第一钩子点通过第一钩子函数去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,去除VLAN头部的业务数据报文不含源虚拟局域网标识VLAN ID,其中,接收的业务数据报文包括携带VLAN头部的业务数据报文,及不携带VLAN头部的业务数据报文。
202、判断去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文,是否匹配预置的定向发送条件;
判断去除VLAN头部的业务数据报文,及所接收的业务数据报文中不携带VLAN头部的业务数据报文中,是否已匹配预置的定向发送条件。
所述定向发送条件至少包括业务数据报文的源端口、VLAN ID、MAC地址及IP地址中的一个,需要说明的是,预置的定向发送条件可以限定业务数据报文的来源端口,端口不同,业务种类不同,也可以是VLAN ID,表示业务数据报文的源VLAN,也可以是MAC地址或IP地址,可以理解的,定向发送条件也可以是上述各参数的组合。接收的业务数据报文匹配定向发送条件,则将该业务数据报文定向到对应的虚拟接口,如前述LAN侧或WAN侧的Vent接口。
若是,则执行步骤203,若否,则执行步骤204。
203、将匹配该预置的定向发送条件的业务数据报文,定向发送到对应的出接口;
定向发送条件的数量为多个,不同的定向条件对应不同的WAN侧Vent接口或LAN侧Vent接口,例如,定向发送条件为“从LAN侧接口eth0进来且VLAN ID为y”,则将匹配该定向条件的业务数据报文定向发送到vnet_L1接口,具体指令可以为:Ebtables-tproute–A PROUTING–i eth0-vlan-id y-jvlan-vlan-untag–redirect-dev vnet_L1;定向发送条件为“WAN侧接口wan进来且VLAN ID为z”,则将匹配该定向条件的业务数据报文定向发送到vnet_W1接口,具体指令可以为:Ebtables-t proute–A PROUTING–i wan-vlan-id z-j vlan-vlan-untag–redirect-dev vnet_W1。
204、丢弃不匹配该预置的定向发送条件的业务数据报文;
若去除VLAN头部的业务数据报文及不携带VLAN头部的业务数据报文,不匹配该预置的定向发送条件,则丢弃。
205、判断定向发送到对应的出接口的业务数据报文是否需要转发;
如果该业务数据报文是发送到设备本身的,则发送给上层协议处理,不发送到设备本身的报文则进行转发。
若是,则执行步骤206,若否,则执行步骤207。
206、判断需要转发的业务数据报文是否需要添加新的VLAN头部;
一般地,发向LAN侧的业务数据报文需要添加VLAN头部,发向WAN侧的业务数据报文不需要添加VLAN头部。
若需要添加,则执行步骤208,若不需要添加,则将业务数据报文直接发送出去。
207、将定向发送到对应的出接口的业务数据报文发送给上层协议栈处理;
如果业务数据报文是发送到设备本身的,则发送给上层协议处理,具体处理方式与业务数据报文的协议种类相关,进入到具体的协议函数处理。
208、根据需要转发并且需要添加新的VLAN头部的业务数据报文的出接口,通过第二钩子函数将所述需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部并进行转发。
定向发送条件决定业务数据报文发送到哪个出接口,根据该出接口,可知业务数据报文将发送的VLAN,便可知新VLAN头部信息,添加新VLAN头部后转发该业务数据报文。
业务数据报文定向发送到LAN侧或WAN侧的Vent接口,经过桥设备从另一侧的出接口发出,根据所述业务数据报文的出接口,通过第二钩子点将所述业务数据报文添加新的VLAN头部,并进行转发。
具体地,命令Ebtables–taroute–A AROUTING–o vnet_W1–j vlan–vlan-set z–vlan-target CONTIUNE,表示从虚拟接口vnet_W1发出的业务数据报文,且VLAN ID为z;
命令Ebtables–t aroute–A AROUTING–o vnet_L1–j vlan–vlan-set y–vlan-target CONTINUE,表示从虚拟接口vne_L1发出的业务数据报文,且VLAN ID为y;
命令Ebtables–t aroute–A AROUTING–o vnet_W1–j vlan–vlan-header,表示从虚拟接口vnet_W1发出的数据报文打上VLAN头,VLANID为j;
命令Ebtables–t aroute–A AROUTING–o vnet_L4–j vlan–vlan-header,表示从虚拟接口vnet_W1发出的报文打上VLAN头,VLAN ID为j。
本发明实施例中,在设备中设置两个钩子点,第一钩子点通过挂载的第一钩子函数去除业务数据报文的VLAN头部,将经过上述处理后且匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,第二钩子点通过第二钩子函数将需要转发并且需要添加新的VLAN头部的业务数据报文添加新的VLAN头部,以便添加后的业务数据报文顺利在相应的新的VLAN中进行传输,从而实现对称型VLAN业务。
下面介绍本发明实施例中的业务数据报文的传输装置,请参阅图6,本发明实施例中的业务数据报文的传输装置的一个实施例包括:
去除单元301,用于去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,所述接收的业务数据报文包括携带VLAN头部的业务数据报文,及不携带VLAN头部的业务数据报文;
发送单元302,用于将去除VLAN头部的业务数据报文中及所述不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,所述定向发送条件至少包括业务数据报文的源端口、VLAN ID、MAC地址及IP地址中的一个;
添加单元303,用于将所述发送到对应的出接口的业务数据报文中,需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部;
发送单元302,还用于将添加新的VLAN头部的业务数据报文进行转发。
本发明实施例中的装置中各单元实现业务数据报文的传输方法的具体过程,请参阅前述图3所示实施例,此处不再赘述。
本发明实施例中,去除单元301去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,发送单元302将去除VLAN头部的业务数据报文中及所述不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,添加单元303将发送到对应的出接口的业务数据报文中,需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部,发送单元302将添加新的VLAN头部的业务数据报文进行转发,由于将业务数据报文去除VLAN头部,去除了源VLAN的网络身份标识,又将去除了VLAN头部的业务数据报文添加新的VLAN头部,以便添加后的业务数据报文顺利在相应的新的VLAN中进行传输,从而实现对称型VLAN业务。
下面详细介绍本发明实施例中的业务数据报文的传输装置的另一个实施例,请参阅图7,本发明实施例中的业务数据报文的传输装置的另一个实施例包括:
去除单元401,具体用于通过第一钩子函数,去除所述接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部;
发送单元402,用于将去除VLAN头部的业务数据报文中及不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,所述定向发送条件至少包括业务数据报文的源端口、VLANID、MAC地址及IP地址中的一个;
添加单元403,具体用于根据需要转发并且需要添加新的VLAN头部的业务数据报文的出接口,通过第二钩子函数将所述需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部;
所述发送单元402,还用于将添加新的VLAN头部的业务数据报文进行转发。
需要说明的是,本发明实施例中的业务数据报文的传输装置还可以进一步包括:
判断单元404,用于判断去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文,是否匹配预置的定向发送条件;
丢弃单元405,用于若所述去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文,不匹配所述预置的定向发送条件,则丢弃不匹配所述预置的定向发送条件的业务数据报文。
进一步地,发送单元402,还用于若所述去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文,匹配所述预置的定向发送条件,则将匹配所述预置的定向发送条件的的业务数据报文定向发送到对应的出接口;
判断单元404,还用于判断定向发送到对应的出接口的业务数据报文是否需要转发,若需要转发,则判断需要转发的业务数据报文是否需要添加新的VLAN头部;
更进一步地,发送单元402,还用于若不需要转发,则将所述定向发送到对应的出接口的业务数据报文发送给上层协议栈处理。
本发明实施例中的装置中各单元实现业务数据报文的传输方法的具体过程,请参阅前述图5所示实施例,此处不再赘述。
本发明实施例中,去除单元401具体通过第一钩子函数,去除所述接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,判断单元404判断去除VLAN头部的业务数据报文及不携带VLAN头部的业务数据报文,是否匹配预置的定向发送条件,若匹配,则发送单元402将匹配预置的定向条件发送的业务数据报文定向发送到对应的出接口,若不匹配,则丢弃单元405将其丢弃,进而,判断单元404判断定向发送到对应的出接口的业务数据报文是否需要转发,若需要转发,则判断单元404判断需要转发的业务数据报文是否需要添加新的VLAN头部,若不需要转发,发送单元402则将所述数据报文发送给上层协议栈处理,若需要添加新的VLAN头部,则添加单元403根据需要转发并且需要添加新的VLAN头部的业务数据报文的出接口,通过第二钩子函数将所述需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部,发送单元402将添加新的VLAN头部的业务数据报文进行转发,由此,通过在设备中设置两个钩子点,第一钩子点通过挂载的第一钩子函数去除业务数据报文的VLAN头部,将经过上述处理后且匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,第二钩子点通过第二钩子函数将需要转发并且需要添加新的VLAN头部的业务数据报文添加新的VLAN头部,以便添加后的业务数据报文顺利在相应的新的VLAN中进行传输,从而实现对称型VLAN业务。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种业务数据报文的传输方法及装置进行了详细介绍,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (4)

1.一种业务数据报文的传输方法,其特征在于,包括:
第一钩子点去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,所述接收的业务数据报文包括携带VLAN头部的业务数据报文,及不携带VLAN头部的业务数据报文;
将去除VLAN头部的业务数据报文中及所述不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,所述定向发送条件至少包括业务数据报文的源端口、VLAN ID、MAC地址及IP地址中的一个;
第二钩子点将所述发送到对应的出接口的业务数据报文中,需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部并进行转发;
所述去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部包括:
通过第一钩子函数,去除所述接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部;
所述将所述发送到对应的出接口的业务数据报文中的需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部并进行转发包括:
根据需要转发并且需要添加新的VLAN头部的业务数据报文的出接口,通过第二钩子函数将所述需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部并进行转发;
所述将所述发送到对应的出接口的业务数据报文中的需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部后进行转发之前包括:
判断所述定向发送到对应的出接口的业务数据报文是否需要转发;
若需要转发,则判断需要转发的业务数据报文是否需要添加新的VLAN头部,若不需要转发,则将所述定向发送到对应的出接口的业务数据报文发送给上层协议栈处理;
若需要添加,则执行将所述发送到对应的出接口的业务数据报文中的需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部并进行转发的步骤;
所述第一钩子点的位置放在桥处理和协议处理的钩子点之前,所述第二钩子点挂载在公共发送函数中。
2.根据权利要求1所述的方法,其特征在于,所述将去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口包括:
判断所述去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文,是否匹配预置的定向发送条件;
若是,则将匹配所述预置的定向发送条件的业务数据报文定向发送到对应的出接口,若否,则丢弃不匹配所述预置的定向发送条件的业务数据报文。
3.一种业务数据报文的传输装置,其特征在于,包括:
去除单元,用于使用第一钩子点去除接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部,所述接收的业务数据报文包括携带VLAN头部的业务数据报文,及不携带VLAN头部的业务数据报文;
发送单元,用于将去除VLAN头部的业务数据报文中及所述不携带VLAN头部的业务数据报文中,匹配预置的定向发送条件的业务数据报文定向发送到对应的出接口,所述定向发送条件至少包括业务数据报文的源端口、VLAN ID、MAC地址及IP地址中的一个;
添加单元,用于使用第二钩子点将所述发送到对应的出接口的业务数据报文中需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部;
所述发送单元,还用于将添加新的VLAN头部的业务数据报文进行转发;
所述去除单元,具体用于通过第一钩子函数,去除所述接收的业务数据报文中携带VLAN头部的业务数据报文的VLAN头部;
所述添加单元,具体用于根据需要转发并且需要添加新的VLAN头部的业务数据报文的出接口,通过第二钩子函数将所述需要转发并且需要添加新的VLAN头部的业务数据报文,添加新的VLAN头部;
判断单元,还用于判断所述定向发送到对应的出接口的业务数据报文是否需要转发;
所述判断单元,还用于若需要转发,则判断需要转发的业务数据报文是否需要添加新的VLAN头部;
所述发送单元,还用于若不需要转发,则将所述定向发送到对应的出接口的业务数据报文发送给上层协议栈处理;
所述第一钩子点的位置放在桥处理和协议处理的钩子点之前,所述第二钩子点挂载在公共发送函数中。
4.根据权利要求3所述的装置,其特征在于,
所述装置还包括:
判断单元,用于判断去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文,是否匹配预置的定向发送条件;
丢弃单元,用于若所述去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文,不匹配所述预置的定向发送条件,则丢弃不匹配所述预置的定向发送条件的业务数据报文;
所述发送单元,还用于若所述去除VLAN头部的业务数据报文及所述不携带VLAN头部的业务数据报文,匹配所述预置的定向发送条件,则将匹配所述预置的定向发送条件的业务数据报文定向发送到对应的出接口。
CN201210282266.0A 2012-08-09 2012-08-09 一种业务数据报文的传输方法及装置 Active CN102769557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210282266.0A CN102769557B (zh) 2012-08-09 2012-08-09 一种业务数据报文的传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210282266.0A CN102769557B (zh) 2012-08-09 2012-08-09 一种业务数据报文的传输方法及装置

Publications (2)

Publication Number Publication Date
CN102769557A CN102769557A (zh) 2012-11-07
CN102769557B true CN102769557B (zh) 2015-08-12

Family

ID=47096815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210282266.0A Active CN102769557B (zh) 2012-08-09 2012-08-09 一种业务数据报文的传输方法及装置

Country Status (1)

Country Link
CN (1) CN102769557B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078779A (zh) * 2012-12-28 2013-05-01 太仓市同维电子有限公司 同一接口下基于vlan实现不同上网业务的方法
CN103023769B (zh) * 2013-01-22 2016-05-04 烽火通信科技股份有限公司 Onu实现二层广播包和未知包转发的方法
CN103200085B (zh) * 2013-04-16 2016-05-25 中航网信(北京)科技有限公司 一种实现vxlan报文线速收发的方法及系统
WO2015100751A1 (zh) * 2014-01-06 2015-07-09 华为技术有限公司 一种转发报文的方法和装置
CN108353029B (zh) * 2015-06-25 2021-02-26 Nec实验室欧洲有限公司 用于管理计算网络中的数据业务的方法和系统
CN108011932B (zh) * 2017-11-22 2020-11-27 新华三技术有限公司 接入处理方法及装置
CN107707481B (zh) * 2017-11-27 2020-07-31 上海市共进通信技术有限公司 基于Vnet路由器的支持Utag和Tag的WAN口的报文处理方法
CN110768884B (zh) * 2018-07-25 2021-10-15 华为技术有限公司 Vxlan报文封装及策略执行方法、设备、系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852240A (zh) * 2005-10-19 2006-10-25 华为技术有限公司 一种桥接转发方法
CN101610250A (zh) * 2008-06-19 2009-12-23 鸿富锦精密工业(深圳)有限公司 调制解调器及其数据传输方法
CN102014064A (zh) * 2010-12-07 2011-04-13 中兴通讯股份有限公司 基于Linux系统的报文转发方法和装置
CN102594711A (zh) * 2012-03-28 2012-07-18 杭州华三通信技术有限公司 一种在边缘设备上的报文转发方法和边缘设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100450089C (zh) * 2005-09-22 2009-01-07 华为技术有限公司 一种实现报文转发的方法
JP5092241B2 (ja) * 2006-01-18 2012-12-05 株式会社日立製作所 ネットワークシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852240A (zh) * 2005-10-19 2006-10-25 华为技术有限公司 一种桥接转发方法
CN101610250A (zh) * 2008-06-19 2009-12-23 鸿富锦精密工业(深圳)有限公司 调制解调器及其数据传输方法
CN102014064A (zh) * 2010-12-07 2011-04-13 中兴通讯股份有限公司 基于Linux系统的报文转发方法和装置
CN102594711A (zh) * 2012-03-28 2012-07-18 杭州华三通信技术有限公司 一种在边缘设备上的报文转发方法和边缘设备

Also Published As

Publication number Publication date
CN102769557A (zh) 2012-11-07

Similar Documents

Publication Publication Date Title
CN102769557B (zh) 一种业务数据报文的传输方法及装置
CN107911258B (zh) 一种基于sdn网络的安全资源池的实现方法及系统
CN102150399B (zh) 减少桥接网络中的泛洪
CN102077194B (zh) 本地主机和管理控制器之间基于网络控制器的传输通信机制
CN107005472B (zh) 一种用于提供域间服务功能链接的方法及装置
CN104272684B (zh) Fabric交换机中的动态服务插入
CN108702331A (zh) Sr应用段与服务功能链(sfc)报头元数据的集成
CN110535766A (zh) 一种生成路由的方法和设备
CN109981457A (zh) 一种报文处理的方法、网络节点和系统
US10218592B2 (en) Method, device and system for performing bidirectional forwarding detection on aggregated link
EP3934183B1 (en) Service function chain sfc-based communication methods, and apparatuses
CN110430076B (zh) 一种路由管理方法及装置
US9781035B2 (en) Transitioning between communication protocols between networks
CN106713137B (zh) 基于分段路由和sdn技术的vpn方法、装置及系统
CN104243302B (zh) 业务路由报文处理方法、装置及网络系统
CN106549871B (zh) 一种报文处理的方法、设备和系统
CN107306222B (zh) 标签交换路径上的流量工程隧道建立的方法和设备
WO2005031533A2 (en) Model-based method and apparatus for determining mpls network properties
CN104468368B (zh) 配置bgp邻居的方法及装置
US7720003B2 (en) Model-based method and apparatus for determining MPLS network properties
CN102792651B (zh) 在mac层应用服务路径路由选择的装置
CN107547340B (zh) 一种报文转发方法和装置
CN102291305B (zh) 实现6to4中继路由的方法和设备以及报文转发方法
CN106341423A (zh) 一种报文处理方法和装置
CN105553810A (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
C14 Grant of patent or utility model
GR01 Patent grant