一种报文转发方法和设备与流程
未命名
07-19
阅读:117
评论:0
1.本技术涉及通信技术,特别涉及车联网通信技术,具体的讲是一种报文转发方法和设备。
背景技术:
2.车联网是借助新一代信息和通信技术,实现车内、车与车、车与路、车与人、车与服务平台的全方位网络连接。
3.车联网中,路旁网络包括无线网络及有线网络,为防止二层广播数据报文对有线网络的影响,在有线网络内设置多个子环且不同子环内的交换机配置不同vlan;车辆发出的数据报文以及发往车辆的数据报文需要经由网关交换机进行转发。
4.与其他终端(例如其他车辆、外部终端)通信的车辆从一个路口行驶到另一路口时,车辆从无线网络内的一个基站漫游到另一基站时,子环发生了变化,网关交换机收到行驶车辆的数据报文的vlan、端口发生变化;网关交换机需要刷新链路层地址映射表项(譬如,ipv4网络的arp表项或ipv6网络的nd表项)以正确反映行驶车辆的数据报文端口和vlan,并引导回程数据报文通过正确的端口和子网的vlan发送至车辆。但链路层地址映射表项的学习的需要占用网关交换机的cpu资源,车联网内行驶车辆的不时刷新链路层地址映射表项占用软件计算资源,导致表项刷新效率降低从而影响车辆间的数据转发。
技术实现要素:
5.本技术的目的在于提供一种报文转发方法及设备,避免链路层地址映射表项刷新效率影响行驶车辆的数据转发。
6.为实现上述目的,本技术提供了一种报文转发方法,该方法中,根据以太网报文的目的mac地址是网关mac地址确定执行三层转发;根据以太网报文的内层ip报文的目的ip地址查找链路层地址映射表;当查找到目的ip地址匹配的链路层地址映射表项,从匹配的链路层地址映射表项获取新目的mac地址;根据新目的mac地址查找mac地址表;当查找到新目的mac地址的匹配的mac地址表项,从mac地址表项获取出端口和出vlan;将以太网报文的目的mac地址、源mac地址以及入vlan分别修改为新mac地址、网关mac地址以及出vlan;通过出端口发送修改后的以太网报文。
7.未实现上述目的,本技术还提供了一种报文转发设备,该设备包括:接收模块,用于接收以太网报文;预处理模块,用于根据作为以太网报文的目的mac地址的网关mac地址确定执行三层转发;转发模块,根据以太网报文的内层ip报文的目的ip地址查找链路层地址映射表;当查找到目的ip地址匹配的链路层地址映射表项,从匹配的链路层地址映射表项获取新目的mac地址;根据新目的mac地址查找mac地址表;当查找到新目的mac地址的匹配的mac地址表项,从第一mac地址表项获取出端口和出vlan;将以太网报文的目的mac地址、源mac地址以及入vlan分别修改为新mac地址、网关mac地址以及出vlan;发送模块,通过出端口发送修改后的以太网报文。
8.本技术的有益效果在于,改变了传统转发机制模式,不再通过arp或nd表项获取车辆间三层转发流量的出vlan和出端口信息;这样无论车辆如何快速移动都不需要刷新arp或nd表项的vlan和端口,网关交换机的软件计算资源不会刷新大量的arp或nd表项而被占用导致车辆间三层流量转发丢包。
附图说明
9.图1为本技术实施例提供的报文转发方法实施例的流程;
10.图2为本技术实施例提供的车联网内网关交换机学习链路层地址表项的示意图;
11.图3为本技术实施例提供的车联网内相同子环内车辆间通信的实施例示意图;
12.图4为本技术实施例提供的车联网内不同子环之间的车辆间通信的示意图;
13.图5为本技术实施例提供的报文转发设备实施例的示意图。
具体实施方式
14.将以多个附图所示的多个例子进行详细说明。在以下详细描述中,多个具体细节用于提供对本技术的全面理解。实例中没有详细地描述已知的方法、步骤、组件以及电路,以免使这些例子的难于理解。
15.使用的术语中,术语“包括”表示包括但不限于;术语“含有”表示包括但不限于;术语“以上”、“以内”以及“以下”包含本数;术语“大于”、“小于”表示不包含本数。术语“根据”表示至少根据其中一部分。
16.图1所示为本技术实施例提供的报文转发方法实施例的流程图,该方法包括:
17.步骤101,根据以太网报文的目的mac地址是网关mac地址确定执行三层转发;
18.步骤102,根据以太网报文的内层ip报文的目的ip地址查找链路层地址映射表;
19.步骤103,当查找到目的ip地址匹配的链路层地址映射表项,从匹配的链路层地址映射表项获取新目的mac地址;
20.步骤104,根据新目的mac地址查找mac地址表;
21.步骤105,当查找到新目的mac地址的匹配的mac地址表项,从mac地址表项获取出端口和出vlan;
22.步骤106,将以太网报文的目的mac地址、源mac地址以及入vlan分别修改为新mac地址、网关mac地址以及出vlan;
23.步骤107,通过出端口发送修改后的以太网报文。
24.图1实施例有益效果在于,改变了传统转发机制模式,不再通过arp或nd表项获取车辆间三层转发流量的出vlan和出端口信息;这样无论车辆如何快速移动都不需要刷新arp或nd表项的vlan和端口,网关交换机的软件计算资源不会刷新大量的arp或nd表项而被占用导致车辆间三层流量转发丢包。
25.图2为本技术实施例提供的车联网内网关交换机学习链路层地址表项的示意图。
26.图2中,车联网包括主环m1和ma2以及子环s1-s4。子环s1和s2配置的vlan1、vlan2属于主环m1配置的虚拟转发实例vsi1;子环s3和s4配置的vlan3、vlan4属于主环m2配置的虚拟转发实例vsi2。
27.车辆v1通过基站b1接入子环s1,发送请求vlan1的网关mac地址arp请求报文31;其
中,发送端(sender)mac地址和发送端ip地址分别是车辆v1的mac地址mac1和ip地址ip1;目标端(target)ip地址为vlan1的网关ip地址。
28.交换机214收到arp请求报文31在子环s1内广播,交换机213收到arp请求报文31不通过连接子环s2的端口转发,也不通过子环s1内被阻塞数据转发端口发送,即连接交换机212的端口。
29.交换机212收到arp请求报文31,通过连接交换机203的端口发送。主环m1的交换机203收到arp请求报文31,通过主环m1的vsi1的端口发送至网关交换机201。
30.网关交换机201收到arp请求报文31,生成ip1对应mac1的arp表项;如下表1-1所示:
[0031][0032][0033]
表1-1
[0034]
网关交换机201根据收到的arp请求报文mac地址表项,如下表2-1所示:
[0035]
key(关键字)item(表项)mac1vlan1+pa
[0036]
表2-1
[0037]
网关交换机201生成arp响应报文32;其中,发送端mac地址和发送端ip地址分别是vlan1的网关ip地址以及网关mac地址;目标端mac地址和ip地址分别是mac1和ip1;源mac地址为valn1的网关mac地址;目的mac地址为mac1。
[0038]
网关交换机201根据arp响应报文32的目的mac地址mac1在表2-1所示的mac地址表中查找到匹配的mac地址表项;获取arp响应报文32的出端口pa和出vlan(vlan1);为arp响应报文32添加出vlan1,通过出端口pa发送。
[0039]
主环m1的交换机203以及子环s1上交换机212和211根据已学习的mac地址表项,转发arp响应报文32至交换机214。
[0040]
交换机214转发arp响应报文32至基站b1,车辆v1收到通过基站b1收到arp响应报文32,根据发送端ip地址以及发送端mac地址和入端口(即接收端口)学习arp表项。
[0041]
图2中,网关交换机201学习arp表项时不学习端口,避免因为车辆行驶而频繁刷新arp表项导致cpu资源占用。图2中,子环s1交换机211-214、主网m1的交换机203按照传统模式根据arp请求报文31、arp响应报文32的源mac地址、入vlan和入端口学习mac地址表项,具体不再赘述。
[0042]
车辆v2进入子环s1以同样的方式发送arp请求报文,请求vlan1网关的mac地址,网关交换机201根据车辆v2的arp请求报文生成arp表项;如
[0043]
表1-2所示;
[0044]
key(关键字)item(表项)ip1mac1ip2mac2
[0045]
表1-2
[0046]
网关交换机201根据收到的arp请求报文查找mac地址表项;未查找到源mac地址mac2匹配的mac地址表项,根据arp请求报文源mac地址以及vlan和接收端口学习mac地址表项,如下表2-2所示:
[0047]
key(关键字)item(表项)mac1vlan1+pamac2vlan1+pa
[0048]
表2-2
[0049]
图3为本技术实施例提供的车联网内相同子环内车辆间通信的实施例示意图。
[0050]
车辆v2向车辆v1发送目的ip地址为ip1的ip数据报文时,将ip数据报文封装为目的mac地址是vlan1网关mac地址的以太网报文33;其中,源mac地址为车辆v2的mac地址mac2。
[0051]
车辆v2发出的以太网报文33通过基站b4发送到交换机s1,经由子环和主环的交换机212和203基于学习的vlan1的网关mac地址表项转发至网关交换机201。
[0052]
网关交换机201根据以太网报文33的目的mac地址是网关mac地址确定执行三层转发。
[0053]
本技术中,网关交换机201在以太网报文的接收端口以及vlan确定vlan子接口,查找以太网报文的目的mac地址是否为该子接口配置的mac地址(即该vlan的网关mac地址),对以太网报文进行预处理。
[0054]
网关交换机201根据以太网报文33的内层目的ip地址ip1查找arp表1-2;查找到目的ip地址ip1匹配的arp表项,从匹配的arp表项获取目的mac地址mac1。
[0055]
本技术中,网关交换机201通过上述预处理启动三层路由,而并未按照常规方式基于二层交换的处理结果启动三层转发,即本技术未采用常规方式,没有基于以太网报文的目的mac地址以及vlan查找到的带有三层属性的mac地址表项启动三层转发。
[0056]
网关交换机201确定执行二层转发,根据目的mac地址mac1查找mac地址表2-2并查找到mac1匹配的mac地址表项,从mac地址表项获取出端口pa和出vlan1;将以太网报文33的目的mac地址由vlan1的网关mac地址修改为mac1、将源mac地址由mac2修改为vlan1的网关mac,将入vlan1修改为出vlan1。网关交换机通过出端口pa发送修改后的以太网报文34。
[0057]
主环的203以及子环s1的交换机212、211、214基于学习的车辆v1的mac地址表项将以太网报文34转发至基站b1,最终经由基站b1发往车辆v1。
[0058]
图4为本技术实施例提供的车联网内不同子环之间的车辆间通信的示意图。
[0059]
车辆v1驶入子环s2时,发送请求vlan2网关mac地址的arp请求报文(图4未示出);其中,发送端mac地址和发送端ip地址分别是车辆v1的mac地址mac1和ip1;目标端ip地址为vlan2的网关ip地址。
[0060]
基于图2和图3所示的arp请求报文的转发方式,网关交换机201收到来自车辆v1的arp请求报文,在表1-2所示arp表中查找到已经学习的ip1的arp表项,刷新ip1的arp表项的老化时间,不刷新arp表项的内容,避免了传统的软件学习arp表项占用过多的cpu资源,降低了arp协议报文的处理效率。
[0061]
网关交换机201根据来自车辆v1的arp请求报文的源mac地址mac1,在表2-2所示的
mac地址表查找到匹配的mac地址表项,将入vlan由vlan1刷新为vlan2;如下表2-3所示:
[0062][0063][0064]
表2-3
[0065]
网关交换机201通过硬件学习刷新mac地址表项,不会产生占用软件资源的情形。
[0066]
网关交换机201生成发往车辆v1的arp响应报文;其中,发送端mac地址和发送端ip地址分别是vlan2的网关ip地址以及网关mac地址;目标端mac地址和ip地址分别是mac1和ip1;源mac地址为vlan2的网关mac地址;目的mac地址为mac1。
[0067]
网关交换机201根据arp响应报文的目的mac地址mac1,在表2-3所示的mac地址表查找到匹配mac地址表项;获取出端口pa和出vlan(vlan2)。网关交换机201为arp响应报文添加出vlan2,通过arp响应报文的出端口pa发送。主环m1的交换机203以及子环s2上交换机根据已学习的mac地址表项,转发arp响应报文至交换机217。
[0068]
交换机217转发arp响应报文至基站b3,车辆v1通过基站b3收到网关交换机201响应的arp响应报文,根据发送端ip地址以及发送端mac地址和入端口(接收端口)学习vlan2的网关的arp表项。
[0069]
车辆v2驶入子环s4请求vlan4网关ip地址的方式相同,网关201根据收到arp请求报文查找到ip2的arp表项,刷新表1-2所示的arp表中arp表项的老化时间,将表2-3所示的mac地址表的mac地址表项的vlan和端口分别刷新为vlan4以及端口pb,如表2-4所示:
[0070]
key(关键字)item(表项)mac1vlan1+pamac2vlan4+pb
[0071]
表2-4
[0072]
车辆v1发出的以太网报文35通过基站b3发送到交换机217,经由子环s3的交换机213、主环的交换机212和203转发至网关交换机201。
[0073]
网关交换机201根据以太网报文35的目的mac地址是vlan2的网关mac地址确定执行三层转发,以太网报文35的目的ip地址ip2查找表1-2所示的arp表;查找到目的ip地址ip2匹配的arp表项,从匹配的arp表项获取目的mac地址mac2。网关交换机201确定执行二层转发,根据目的mac地址mac2查找表2-4所示mac地址表并查找到匹配的mac地址表项,获取出端口pb和出vlan4;将以太网报文35的目的mac地址由vlan4的网关mac地址修改为mac2、将源mac地址由mac1修改为vlan4的网关mac,将入vlan2修改为出vlan4。网关交换机通过出端口pb发送修改后的以太网报文36。主环的交换机202以及子环s4的交换机基于学习的车辆v2的mac地址表项将以太网报文36转发至基站b7,最终经由基站b7发往车辆v2。
[0074]
图4中,当车辆v2未离开子环4且没有流量发往网关交换机201,网关交换机201在arp表项的老化时间定时器到达时从表1-2删除其arp表项(删除后如表1-1所示),在mac地址表项的老化时间定时器到达时从表2-4删除其mac地址表项;如表2-5所示:
[0075]
key(关键字)item(表项)mac1vlan1+pa
[0076]
表2-5
[0077]
当网关交换机再次收到车辆v1或其他车辆的以太网报文时,根据目的mac地址是网关mac地址确定执行三层转发,根据该以太网报文的内层目的ip地址ip2查找arp表而未查找到匹配的arp表项时,为ip地址ip2生成arp请求报文,其中,发送端ip地址是vlan4网关ip地址和网关mac地址;目标端是ip地址是ip2。
[0078]
网关201通过vsi1的主环端口pa、vsi2的主环端口pb生成的arp请求报文。arp请求报文在主环m1通过交换机212上属于vsi1的子环s1端口发往子环s1;arp请求报文在子环s1内广播,交换机213收到arp请求报文不通过连接子环s2的端口转发,也不通过子环s1内被阻塞的连接交换机212的端口发送。
[0079]
同样,arp请求报文在主环m1通过交换机213上属于vsi1的子环s2端口广播arp请求报文,交换机216收到arp请求报文不通过子环s2内被阻塞的连接交换机215的端口发送,交换机215也不通过阻塞的端口向交换机216广播arp请求报文。
[0080]
arp请求报文在主环m2通过交换机211上属于vsi2的子环s3端口发往子环s3;交换机211在子环s3内广播arp请求报文但不通过子环s3内被阻塞的连接交换机218的端口发送在子环s3内广播,交换机218收到arp请求报文不通过子环s3内被阻塞数据转发端口发送,即连接交换机211的端口。
[0081]
arp请求报文在主环m2通过交换机214上属于vsi2的子环s4端口发往子环s4;交换机214在子环s4内广播但不通过子环s4内被阻塞的连接交换机213的端口发送;arp请求报文在子环内被广播到交换机213,交换机213收到arp请求报文不通过子环s4内被阻塞的连接交换机214的端口发送。
[0082]
车辆v2通过基站b7收到arp请求报文后,学习arp表项,生成并发送arp响应报文。arp响应报文通过子环s4的交换机212、211、214以及主环m2的交换机202被发送到网关交换机201。
[0083]
网关交换机201接收发送端ip地址为ip2的arp响应报文;生成arp表项,如表1-2所示。网关交换机201根据arp响应报文的源mac地址、入vlan以及入端口生成mac地址表项,如表2-4所示。
[0084]
网关交换机201根据表1-2的arp表项获取车辆v2的mac地址;然后确定执行二层转发,根据车辆v2的mac地址在表2-4所示的mac地址表查找到匹配的mac地址表项,获取车辆v2的出端口pb和出vlan(vlan4);将收到的来自车辆v1的以太网报文的源mac地址、目的mac地址以及入vlan分别修改为vlan4的网关mac地址、mac2以及vlan4;通过出端口pb发送修改后的以太网报文,沿着主环的m2的交换机202,子环s4的交换机214、211、212转发至基站b7,由基站b7将以太网报文发送至车辆v2。
[0085]
通过图2-图4实施例所示,本技术通过改进报文转发模式,使得车辆移动导致的vlan和数据流进出交换机的端口发生变化只会刷新网关交换机的二层转发表项,而不会引起三层转发模块中arp表项内容的刷新。
[0086]
上述实施例中,网关交换机已学习到arp表项后再收到arp协议报文只重置该arp表项的老化定时器,但不刷新表项内容,克服传统转发模式中,网关交换机因为需要通过
cpu软件学习arp表项再同步至交换芯片的硬件交换模块,导致arp表项的软件学习过程占用的cpu资源阻碍了网关交换机的转发效率。
[0087]
基于本技术实施例揭示的内容,网关交换机实施了改进的报文转发机制,根据预处理先执行三层路由后执行二层交换,并在该改进转发机制同时优化了arp表项、mac地址表项的学习和刷新方式,不会因为需要刷新大量arp表项而引发转发失败。
[0088]
上述实施例虽然以ipv4网络arp协议为例,但本技术实施例同样适用于ipv6网络的nd(neighbor discovery,邻居发现)。网关交换机收到ns(
neighbor solicitation)报文,生成记录ipv6地址对应mac地址的nd表项并学习mac地址或者更新已学习的nd表项的老化时间,或者发送ns协议报文并根据车辆响应的ra(
router advertisement)报文生成nd表项,从而完成ipv6地址与链路层mac地址映射。
[0089]
图5为本技术实施例提供的报文转发设备实施例的示意图。该设备50至少包括:网络接口,交换芯片,cpu以及存储器。交换芯片至少包括接收模块51、预处理模块52、转发模块53、发送模块54。处理器通过运行存储器中的处理器可执行指令用以执行链路层地址映射模块54。
[0090]
接收模块51,用于接收以太网报文;预处理模块52,用于根据作为以太网报文的目的mac地址的网关mac地址确定执行三层转发;转发模块53,根据以太网报文的内层ip报文的目的ip地址查找链路层地址映射表;当查找到目的ip地址匹配的第一链路层地址映射表项,从匹配的第一链路层地址映射表项获取新目的mac地址;确定执行二层转发,根据新目的mac地址查找mac地址表;当查找到新目的mac地址的匹配的第一mac地址表项,从第一mac地址表项获取出端口和出vlan;将以太网报文的目的mac地址、源mac地址以及入vlan分别修改为新mac地址、网关mac地址以及出vlan;发送模块54,通过出端口发送修改后的以太网报文。
[0091]
转发模块53,还用于根据源mac地址查找mac地址表;未查找到匹配源mac地址的mac地址表项,学习第二mac地址表项;其中以太网报文的源mac地址关联于以太网报文的入vlan标识和入端口。
[0092]
转发模块53,当未查找到目的ip地址匹配的链路层地址映射表项,通知链路层地址映射模块55;链路层地址映射模块55,为目的ip地址生成链路层地址映射请求报文;
[0093]
发送模块54,通过连接虚拟转发实例内vsi的每个主环的端口发送链路层地址映射请求报文;其中,每个主环关联不同的子环且不同子环配置不同的vlan。
[0094]
接收模块51,还用于接收发送端ip地址为目的ip地址的第一链路层地址映射响应报文;链路层地址映射模块55,生成第一链路层地址映射表项并同步到转发模块的链路层地址映射表;转发模块53,生成第一mac地址表项;其中,记录链路层地址映射响应报文的源mac地址对应于第一链路层地址映射响应报文的入vlan和入端口。
[0095]
入vlan与出vlan属于相同vlan;或者,入vlan与出vlan属于不同vlan。
[0096]
接收模块51,还用于接收目标端ip地址为网关ip地址的第二链路层地址映射请求报文;
[0097]
链路层地址映射模块55,生成第二链路层地址映射表项并同步到转发模块的链路层地址映射表,生成第二链路层地址映射响应报文;其中,第二链路层地址映射表项记录第二链路层地址映射请求报文的发送端ip地址对应链路层地址映射请求报文的发送端mac地
址;或者,根据第二链路层地址映射请求报文的发送端ip地址查找到第二链路层地址映射表项,则刷新表项老化时间。
[0098]
转发模块53,生成第三mac地址表项;其中,第三mac地址表项中第二链路层地址映射请求报文的源mac地址关联于第二链路层地址映射请求报文的入vlan和入端口;根据第二链路层地址映射响应报文的目的mac地址查找到第三mac地址表项;获取第二链路层地址映射响应报文的出端口和出vlan;为第二链路层地址映射响应报文添加出vlan;发送模块54,通过第二链路层地址映射响应报文的出端口发送。
[0099]
本技术中链路层地址映射请求报文可以是i pv4协议的arp请求报文或i pv6的ns报文;链路层地址映射响应报文可以是arp响应报文或na报文;链路层地址映射表项可以是apr表项或nd表项。
[0100]
以上仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
技术特征:
1.一种报文转发方法,其特征在于,所述方法包括:根据以太网报文的目的mac地址是网关mac地址确定执行三层转发;根据所述以太网报文的内层ip报文的目的ip地址查找链路层地址映射表;当查找到所述目的ip地址匹配的第一链路层地址映射表项,从所述匹配的第一链路层地址映射表项获取新目的mac地址;根据所述新目的mac地址查找mac地址表;当查找到所述新目的mac地址匹配的第一mac地址表项,从所述第一mac地址表项获取出端口和出vlan;将所述以太网报文的目的mac地址、源mac地址以及入vlan分别修改为所述新目的mac地址、所述网关mac地址以及所述出vlan;通过所述出端口发送修改后的所述以太网报文。2.根据权利要求1所述的方法,其特征在于,根据所述新目的mac地址查找mac地址表之前,所述方法还包括;根据所述源mac地址查找mac地址表;未查找到匹配所述源mac地址的mac地址表项,学习第二mac地址表项;其中,所述第二mac地址表项所述以太网报文的源mac地址关联于所述以太网报文的入vlan标识和入端口。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当未查找到所述目的ip地址匹配的链路层地址映射表项,为所述目的ip地址生成链路层地址映射请求报文;通过连接虚拟转发实例内vsi的每个主环的端口发送生成的所述生成的链路层地址映射请求报文;其中,所述每个主环关联不同的子环且所述不同子环配置不同的vlan。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收发送端ip地址为所述目的ip地址的第一链路层地址映射响应报文;生成所述第一链路层地址映射表项;其中,其中所述第一链路层地址映射响应报文的发送端ip地址对应所述链路层地址映射响应报文的发送端mac地址;生成所述第一mac地址表项;其中,记录所述链路层地址映射响应报文的源mac地址对应于所述第一链路层地址映射响应报文的入vlan和入端口。5.根据权利要求1或3所述的方法,其特征在于,所述入vlan与所述出vlan属于相同vlan;或者,所述入vlan与所述出vlan属于不同vlan。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收目标端ip地址为网关ip地址的第二链路层地址映射请求报文;生成第二链路层地址映射表项;其中,第二链路层地址映射表项记录所述第二链路层地址映射请求报文的发送端ip地址对应所述第二链路层地址映射请求报文的所述发送端mac地址;生成第三mac地址表项;其中,所述第三mac地址表项中所述第二链路层地址映射请求报文的源mac地址关联于所述第二链路层地址映射请求报文的入vlan和入端口;生成第二链路层地址映射响应报文;根据所述第二链路层地址映射响应报文的目的mac地址查找到所述第三mac地址表项;获取所述第二链路层地址映射响应报文的出端口和
出vlan;为所述第二链路层地址映射响应报文添加出vlan,通过所述第二链路层地址映射响应报文的出端口发送。7.一种报文转发设备,其特征在于,所述设备包括:接收模块,用于接收以太网报文;预处理模块,用于根据作为以太网报文的目的mac地址的网关mac地址确定执行三层转发;转发模块,根据所述以太网报文的内层ip报文的目的ip地址查找链路层地址映射表;当查找到所述目的ip地址匹配的第一链路层地址映射表项,从所述匹配的第一链路层地址映射表项获取新目的mac地址;根据所述新目的mac地址查找mac地址表;当查找到所述新目的mac地址的匹配的第一mac地址表项,从所述第一mac地址表项获取出端口和出vlan;将所述以太网报文的目的mac地址、源mac地址以及入vlan分别修改为所述新mac地址、所述网关mac地址以及所述出vlan;发送模块,通过所述出端口发送修改后的所述以太网报文。8.根据权利要求7所述的设备,其特征在于,所述转发模块,还用于根据所述源mac地址查找mac地址表;未查找到匹配所述源mac地址的mac地址表项,学习第二mac地址表项;其中所述以太网报文的源mac地址关联于所述以太网报文的入vlan标识和入端口。9.根据权利要求7所述的设备,其特征在于,所述设备还包括:链路层地址映射模块;所述转发模块,当未查找到所述目的ip地址匹配的链路层地址映射表项,通知链路层地址映射模块;所述链路层地址映射模块,为所述目的ip地址生成链路层地址映射请求报文;所述发送模块,通过连接虚拟转发实例内vsi的每个主环的端口发送所述链路层地址映射请求报文;其中,所述每个主环关联不同的子环且所述不同子环配置不同的vlan。10.根据权利要求9所述的设备,其特征在于,所述接收模块,还用于接收发送端ip地址为所述目的ip地址的第一链路层地址映射响应报文;所述链路层地址映射模块,生成所述第一链路层地址映射表项并同步到所述转发模块的所述链路层地址映射表;所述转发模块,生成所述第一mac地址表项;其中,记录所述链路层地址映射响应报文的源mac地址对应于所述第一链路层地址映射响应报文的入vlan和入端口。11.根据权利要求7或9所述的设备,其特征在于,所述入vlan与所述出vlan属于相同vlan;或者,所述入vlan与所述出vlan属于不同vlan。12.根据权利要求7所述的设备,其特征在于,所述接收模块,还用于接收目标端ip地址为网关ip地址的第二链路层地址映射请求报文;所述链路层地址映射模块,生成第二链路层地址映射表项并同步到所述转发模块的所述链路层地址映射表,生成第二链路层地址映射响应报文;其中,第二链路层地址映射表项记录所述第二链路层地址映射请求报文的发送端ip地址对应所述链路层地址映射请求报
文的所述发送端mac地址;所述转发模块,生成第三mac地址表项;其中,所述第三mac地址表项中所述第二链路层地址映射请求报文的源mac地址关联于所述第二链路层地址映射请求报文的入vlan和入端口;根据所述第二链路层地址映射响应报文的目的mac地址查找到所述第三mac地址表项;获取所述第二链路层地址映射响应报文的出端口和出vlan;为所述第二链路层地址映射响应报文添加出vlan;所述发送模块,通过所述第二链路层地址映射响应报文的出端口发送。
技术总结
本申请提供了一种报文转发方法及设备。该方法中:根据以太网报文的目的MAC地址是网关MAC地址确定执行三层转发;根据以太网报文的内层IP报文的目的IP地址查找链路层地址映射表;当查找到目的IP地址匹配的链路层地址映射表项,从匹配的链路层地址映射表项获取新目的MAC地址;根据新目的MAC地址查找MAC地址表;当查找到新目的MAC地址的匹配的MAC地址表项,从MAC地址表项获取出端口和出VLAN;将以太网报文的目的MAC地址、源MAC地址以及入VLAN分别修改为新MAC地址、网关MAC地址以及出VLAN;通过出端口发送修改后的以太网报文。出端口发送修改后的以太网报文。出端口发送修改后的以太网报文。
技术研发人员:张剑波
受保护的技术使用者:新华三技术有限公司
技术研发日:2023.03.22
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种水下多瓶取水样装置及其取样方法 下一篇:一种PCB电路板的电镀方法与流程
