本技术涉及通信,尤其是一种跨网段通信传输方法、系统、设备及存储介质。
背景技术:
1、地址解析协议,即arp(address resolution protocol),是根据ip地址获取物理地址的一个tcp/ip协议。主机发送信息时,将包含目标ip地址的arp请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的mac地址;收到返回消息后将该ip地址和mac地址存入本机arp缓存中并保留一定时间,下次请求时直接查询arp缓存以节约资源。
2、相关技术中,当跨网段通信传输时,一般使用代理arp技术。代理arp(proxy-arp)的原理就是当出现跨网段的arp请求时,路由器将自己的mac地址返回给发送arp广播请求发送者,实现mac地址代理,最终使得主机能够通信。但是,实际应用中发现,虽然两个设备通过中间的路由器可以实现跨网段传输,但是设备往往会将路由器的mac地址误认为是另一个设备的mac地址。所以,经过arp代理之后,跨网段传输时设备端接收到的mac信息会与源mac信息不匹配,如果设备端开启源mac验证,则会导致数据传输失败,影响正常的通信业务。
技术实现思路
1、本技术的目的在于至少一定程度上解决相关技术中存在的技术问题之一。
2、为此,本技术实施例的一个目的在于提供一种跨网段通信传输方法、系统、设备及存储介质。
3、为了达到上述技术目的,本技术实施例所采取的技术方案包括:
4、一方面,本技术实施例提供了一种跨网段通信传输方法,所述方法包括:
5、第一设备查询本地arp表项中是否存在第二设备的第二mac信息;所述第一设备处于第一子网内,所述第二设备处于第二子网内;
6、若所述第一设备确定所述本地arp表项中存在第二设备的第二mac信息,向所述第一子网内发送第一消息;
7、处于所述第一子网内的第一中转设备接收到所述第一消息后,通过隧道将所述第一消息发送给处于所述第二子网内的第二中转设备;
8、所述第二中转设备对所述第一消息进行ip段解析,得到所述第一消息对应的源ip地址和目的ip地址,并根据所述源ip地址和所述目的ip地址通过查表确定所述第一设备的第一mac信息以及所述第二设备的第二mac信息;
9、所述第二中转设备将所述第一mac信息和所述第二mac信息封装到所述第一消息上,并通过网口将封装后的第一消息发送到所述第二设备。
10、另外,根据本技术上述实施例的一种跨网段通信传输方法,还可以具有以下附加的技术特征:
11、进一步地,在本技术的一个实施例中,所述处于所述第一子网内的第一中转设备接收到所述第一消息后,通过隧道将所述第一消息发送给处于所述第二子网内的第二中转设备,包括:
12、所述第一中转设备接收到所述第一消息后,通过隧道协议对所述第一消息进行封装,得到第二消息;
13、所述第一中转设备通过所述第一中转设备和所述第二中转设备之间的隧道将所述第二消息发送给所述第二中转设备;
14、所述第二中转设备接收到所述第二消息后,按照所述隧道协议对所述第二消息进行解封装,得到所述第一消息。
15、进一步地,在本技术的一个实施例中,所述方法还包括:
16、若所述第一设备确定所述本地arp表项中不存在第二设备的第二mac信息,向所述第一子网内发送arp广播报文;
17、所述第一中转设备接收到所述arp广播报文后,通过隧道将所述arp广播报文发送给所述第二中转设备;
18、所述第二中转设备将所述arp广播报文发送到所述第二子网内,并获取所述第二设备对所述arp广播报文的arp响应消息;
19、所述第二中转设备通过隧道将所述arp响应消息发送给所述第一中转设备,所述第一中转设备将所述arp响应消息发送到所述第一子网内;
20、所述第一设备接收到所述arp响应消息,对所述arp响应消息进行解析得到所述第二mac信息,并将所述第二设备的第二ip地址和所述第二mac信息存入所述本地arp表项。
21、进一步地,在本技术的一个实施例中,所述方法还包括:
22、所述第一中转设备接收到所述arp广播报文后,根据所述arp广播报文提取出所述第一设备的第一ip地址和所述第一设备的第一mac信息,并将所述第一ip地址和所述第一mac信息保存到第一内部缓存表中;
23、所述第一中转设备接收到所述arp响应消息后,对所述arp响应消息进行解析得到所述第二ip地址和所述第二mac信息,并将所述第二ip地址和所述第二mac信息存入所述第一内部缓存表中。
24、进一步地,在本技术的一个实施例中,所述方法还包括:
25、所述第一中转设备以预设的时间间隔向所述第一设备发送arp测试请求;
26、若所述第一中转设备连续多次未收到所述第一设备对所述arp测试请求的响应信息,则从所述第一内部缓存表中删除所述第一设备的信息。
27、进一步地,在本技术的一个实施例中,所述方法还包括:
28、所述第二中转设备接收到所述arp广播报文后,根据所述arp广播报文提取出所述第一设备的第一ip地址和所述第一设备的第一mac信息,并将所述第一ip地址和所述第一mac信息保存到第二内部缓存表中;
29、所述第二中转设备接收到所述arp响应消息后,对所述arp响应消息进行解析得到所述第二ip地址和所述第二mac信息,并将所述第二ip地址和所述第二mac信息存入所述第二内部缓存表中。
30、进一步地,在本技术的一个实施例中,所述方法还包括:
31、所述第二中转设备以预设的时间间隔向所述第二设备发送arp测试请求;
32、若所述第二中转设备连续多次未收到所述第二设备对所述arp测试请求的响应信息,则从所述第二内部缓存表中删除所述第二设备的信息。
33、另一方面,本技术实施例提供一种跨网段通信传输系统,所述系统包括:
34、第一设备、第二设备、第一中转设备和第二中转设备;所述第一设备、所述第一中转设备处于第一子网内,所述第二设备、所述第二中转设备处于第二子网内,第一中转设备和第二中转设备存在有隧道;
35、所述第一设备用于查询本地arp表项中是否存在第二设备的第二mac信息,并在确定所述本地arp表项中存在第二设备的第二mac信息时,向所述第一子网内发送第一消息;
36、所述第一中转设备用于接收所述第一消息,并通过隧道将所述第一消息发送给处于所述第二子网内的第二中转设备;
37、所述第二中转设备用于对所述第一消息进行ip段解析,得到所述第一消息对应的源ip地址和目的ip地址,并根据所述源ip地址和所述目的ip地址通过查表确定所述第一设备的第一mac信息以及所述第二设备的第二mac信息;
38、所述第二中转设备还用于将所述第一mac信息和所述第二mac信息封装到所述第一消息上,并通过网口将封装后的第一消息发送到所述第二设备。
39、另一方面,本技术实施例提供了一种终端设备,包括:
40、至少一个处理器;
41、至少一个存储器,用于存储至少一个程序;
42、当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的一种跨网段通信传输方法。
43、另一方面,本技术实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,上述处理器可执行的程序在由处理器执行时用于实现上述的一种跨网段通信传输方法。
44、本技术的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到:
45、本技术实施例公开的一种跨网段通信传输方法,所述方法包括:第一设备查询本地arp表项中是否存在第二设备的第二mac信息;所述第一设备处于第一子网内,所述第二设备处于第二子网内;若所述第一设备确定所述本地arp表项中存在第二设备的第二mac信息,向所述第一子网内发送第一消息;处于所述第一子网内的第一中转设备接收到所述第一消息后,通过隧道将所述第一消息发送给处于所述第二子网内的第二中转设备;所述第二中转设备对所述第一消息进行ip段解析,得到所述第一消息对应的源ip地址和目的ip地址,并根据所述源ip地址和所述目的ip地址通过查表确定所述第一设备的第一mac信息以及所述第二设备的第二mac信息;所述第二中转设备将所述第一mac信息和所述第二mac信息封装到所述第一消息上,并通过网口将封装后的第一消息发送到所述第二设备。该方法可以在跨网段传输中保存原始设备mac地址,从而提高通信传输的可靠性和稳定性,可应用于同一个局域网内不同子网间的数据传输,也可用应用于公网传输,将两个相同网段的子网,或者不同网段的子网建立二层连接,不需要配置多余的路由规则,适用性较广。