一种纯网桥模式的通信方法、装置、设备及介质与流程

文档序号:29948339发布日期:2022-05-07 17:05阅读:87来源:国知局
一种纯网桥模式的通信方法、装置、设备及介质与流程

1.本发明涉及通信技术领域,具体涉及一种纯网桥模式的通信方法、装置、设备及介质。


背景技术:

2.通信系统的桥接模式是通过网桥实现的,桥接的端口加入到网桥中,网桥负责在不同端口之间转发数据,实现二层透传。当网关设备工作在桥接模式,网关设备本身也有使用三层ip服务的需求,例如云服务、同步网络时间和通过云升级软件等。网关设备在桥接模式下的三层ip服务是通过路由器本身额外建立一个ip拨号,实现对后端设备的拨号通信。
3.但现有技术的通信系统中很多电缆调制解调器和单端口光端机工作在纯网桥模式,网络拨号实际由后端接入的设备进行,网关设备工作在纯网桥模式下,网关设备本身没有办法进行ip层拨号,无法提供对外的通信服务。


技术实现要素:

4.为了解决上述问题,本发明提出一种纯网桥模式的通信方法、装置、设备及介质,为纯网桥模式的网关设备提供通信服务。
5.本发明实施例提供一种纯网桥模式的通信方法,所述方法包括:
6.获取网桥的后端设备发送的报文中的网络信息;
7.构建虚拟网络设备,并将所述网络信息配置为所述虚拟网络设备的网络地址;
8.通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,提供通信服务。
9.优选地,所述获取网桥的后端设备发送的报文中的网络信息,具体包括:
10.获取所述后端设备发送的报文;
11.利用socket工具或者netfilter框架解析所述报文中的数据包,获取所述后端设备的网络信息。
12.优选地,所述网络信息包括ip信息、网关信息或域名信息。
13.作为一种优选方式,所述通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,提供通信服务,具体包括:
14.通过所述虚拟网络设备接收所述网桥的上层设备发送的通信数据包;
15.通过所述虚拟网络设备调用所述网桥的桥接接口,将所述通信数据包发送至所述通信数据包中的接收地址对应的服务器。
16.优选地,所述通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,提供通信服务,具体包括:
17.通过所述虚拟网络设备接收所述网桥的服务器发送的通信数据包;
18.通过预先标记的所述虚拟网络设备发出数据包的连接信息判断所述通信数据包是否为对所述虚拟网络设备发出数据包的回复;
19.当所述通信数据包中的连接信息与预先标记的连接信息匹配时,判定所述通信数
据包是对所述虚拟网络设备发出数据包的回复,通过所述虚拟网络设备将所述通信数据包发送给所述虚拟网络设备对应的应用程序;
20.当所述通信数据包中的连接信息与预先标记的连接信息不匹配时,判定所述通信数据包不是对所述虚拟网络设备发出数据包的回复,所述通信数据包经所述网桥正常转发流程转发给所述网桥的后端设备。
21.本发明又一实施例提供一种纯网桥模式的通信装置,所述装置包括:
22.网络信息获取模块,用于获取网桥的后端设备发送的报文中的网络信息;
23.虚拟网络设备构建模块,用于构建虚拟网络设备,并将所述网络信息配置为所述虚拟网络设备的网络地址;
24.通信服务模块,用于通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,提供通信服务。
25.优选地,所述网络信息获取模块具体用于:
26.获取所述后端设备发送的报文;
27.利用socket工具或者netfilter框架解析所述报文中的数据包,获取所述后端设备的网络信息。
28.作为一种优选方案,所述网络信息包括ip信息、网关信息或域名信息。
29.作为一种优选方案,所述通信服务模块具体用于:
30.通过所述虚拟网络设备接收所述网桥的上层设备发送的通信数据包;
31.通过所述虚拟网络设备调用所述网桥的桥接接口,将所述通信数据包发送至所述通信数据包中的接收地址对应的服务器。
32.作为一种优选方案,所述通信服务模块具体用于:
33.通过所述虚拟网络设备接收所述网桥的服务器发送的通信数据包;
34.通过预先标记的所述虚拟网络设备发出数据包的连接信息判断所述通信数据包是否为对所述虚拟网络设备发出数据包的回复;
35.当所述通信数据包中的连接信息与预先标记的连接信息匹配时,判定所述通信数据包是对所述虚拟网络设备发出数据包的回复,通过所述虚拟网络设备将所述通信数据包发送给所述虚拟网络设备对应的应用程序;
36.当所述通信数据包中的连接信息与预先标记的连接信息不匹配时,判定所述通信数据包不是对所述虚拟网络设备发出数据包的回复,所述通信数据包经所述网桥正常转发流程转发给所述网桥的后端设备。
37.本发明实施例还提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例中任意一项所述的纯网桥模式的通信方法。
38.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述实施例中任意一项所述的纯网桥模式的通信方法。
39.本发明提供的一种纯网桥模式的通信方法、装置、设备及介质,通过获取网桥的后端设备发送的报文中的网络信息;构建虚拟网络设备,并将所述网络信息配置为所述虚拟网络设备的网络地址;通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,提
供通信服务。该方法通用性强,能够为纯网桥模式的网关设备提供应用服务。
附图说明
40.图1是本发明实施例提供的一种纯网桥模式的通信方法的流程示意图;
41.图2是本发明实施例提供的一种纯网桥模式下的网络拓扑图;
42.图3是本发明实施例还提供一种纯网桥模式的通信装置的结构示意图;
43.图4是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.参见图1,是本发明实施例提供的一种纯网桥模式的通信方法的流程示意图,所述方法包括s1~s3:
46.s1,获取网桥的后端设备发送的报文中的网络信息;
47.s2,构建虚拟网络设备,并将所述网络信息配置为所述虚拟网络设备的网络地址;
48.s3,通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,提供通信服务。
49.在本实施例具体实施时,参见图2,是本发明实施例提供的一种纯网桥模式下的网络拓扑图;在linux系统处于纯网桥模式下时,linux系统的网桥没有ip地址,无法提供ip服务,此时linux系统在网桥br0转发通过接口eth0连接的后端设备发送的报文;后端设备包括pc、机顶盒或路由器等设备。
50.linux系统通过提取出转发的报文中的后端设备的网络信息,所述网络信息具体为局域网的网络协议分配的地址和子网掩码等,局域网的网络协议包括动态主机配置协议或点对点协议;
51.根据获取的网络信息构建一个网络虚拟设备,并在网络虚拟设备中配置所述后端设备的网络信息配置为所述网络虚拟设备的网络地址;
52.应用层能够识别到配置有网络地址的虚拟网络设备,通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,通过虚拟网络设备用来对上的应用层提供三层的ip服务,包括云服务、时间通过和固件升级。
53.通过获取后端设备的网络信息,为建立虚拟网络设备配置网络地址,通过虚拟网络设备解决在纯网桥模式下的设备无法提供ip服务的问题,该方法无须做其他适配,通用性强。
54.在本发明提供的又一实施例中,所述获取网桥的后端设备发送的报文中的网络信息,具体包括:
55.获取所述后端设备发送的报文;
56.利用socket工具或者netfilter框架解析所述报文中的数据包,获取所述后端设备的网络信息。
57.在本实施例具体实施时,在获取后端设备发送的报文中的网络信息的具体过程包括:
58.linux系统接收所述后端设备发送的报文的数据包,所述报文为后端设备通过linux系统发送给其他设备的消息;
59.linux系统根据socket工具或者netfilter框架解析获得的数据包,并提取其中包括的网络信息;
60.通过socket工具或者netfilter框架解析获得网络信息,并将获得的网络信息配置给建立的虚拟网络设备,通过虚拟网络设备完成应用服务。
61.在本发明提供的又一实施例中,所述网络信息包括ip信息、网关信息或域名信息。
62.在本实施例具体实施时,所述提取的网络信息包括后端设备的ip信息、网关信息或域名信息;
63.通过获取ip信息、网关信息或域名信息,为虚拟网络设备配置网络地址,通过虚拟网络设备完成应用服务;需要ip服务的应用识别到的是这个可以提供ip服务的网络虚拟设备,将数据包交给这个虚拟网络设备,以使linux系统通过数据包完成相关应用服务。
64.在本发明提供的又一实施例中,所述步骤s3具体包括:
65.通过所述虚拟网络设备接收所述网桥的上层设备发送的通信数据包;
66.通过所述虚拟网络设备调用所述网桥的桥接接口,将所述通信数据包发送至所述通信数据包中的接收地址对应的服务器。
67.在本实施例具体实施时,所述虚拟网络设备提供通信服务时,包括通过虚拟网络设备接收上层设备的数据,具体的:
68.linux系统通过虚拟网络设备接收网桥br0的上层设备发送的通信数据包;
69.查询通信数据包中接收地址对应的服务器或设备,通过所述虚拟网络设备调用桥接接口eth1将接收的通信数据包发送至服务器;
70.在此过程中,所述虚拟网络设备作为网桥,用于转发linux系统连接的网络设备或服务器的数据包。
71.本发明提供的又一实施例中,所述通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,提供通信服务,具体包括:
72.通过所述虚拟网络设备接收所述网桥的服务器发送的通信数据包;
73.通过预先标记的所述虚拟网络设备发出数据包的连接信息判断所述通信数据包是否为对所述虚拟网络设备发出数据包的回复;
74.当所述通信数据包中的连接信息与预先标记的连接信息匹配时,判定所述通信数据包是对所述虚拟网络设备发出数据包的回复,通过所述虚拟网络设备将所述通信数据包发送给所述虚拟网络设备对应的应用程序;
75.当所述通信数据包中的连接信息与预先标记的连接信息不匹配时,判定所述通信数据包不是对所述虚拟网络设备发出数据包的回复,所述通信数据包经所述网桥正常转发流程转发给所述网桥的后端设备。
76.在本实施例具体实施时,所述步骤s3具体包括:
77.通过所述虚拟网络设备接收所述网桥的服务器发送的通信数据包;
78.判断所述通信数据包是否为对所述虚拟网络设备的回复,具体的,所述虚拟网络
设备发送数据包时,会通过netfilter框架标记数据包的连接信息,具体可为五元组信息,并存储标记的连接信息;
79.通过判断虚拟网络设备接收的通信数据包的连接信息是否和发送的数据包的连接信息匹配,确定是否为对虚拟网络设备发出的数据包的回复。
80.当所述通信数据包的连接信息与虚拟网络设备发送的通信数据包的连接信息匹配时,判定所述通信数据包是对所述虚拟网络设备发出数据包的回复,通过所述虚拟网络设备将所述通信数据包发送给所述虚拟网络设备对应的应用程序,完成相应的应用服务。
81.当所述通信数据包中的连接信息与预先标记的连接信息不匹配时,判定所述通信数据包不是对所述虚拟网络设备发出数据包的回复,linux设备通过正常的网桥转发路径将所述通信数据包转发给所述网桥的后端设备。
82.需要说明的是,本发明提供的纯网桥模式的通信方法支持电缆调制解调器、光调制解调器和lte桥接等接入方式。
83.该虚拟网络设备的数据报文发送操作会直接调用桥接接口的发送操作;如果是对于该虚拟网络设备发出的报文的回复,会直接从网桥上抓取交给这个网络设备接收,进而传给上层。如果数据包不是对这个虚拟设备发出的数据的回复报文,则走正常的网桥转发路径。不干扰网桥的正常转发流程,并且能够通过虚拟网络设备完成相应应用服务。
84.参见图3,是本发明实施例还提供一种纯网桥模式的通信装置的结构示意图,所述装置包括:
85.网络信息获取模块,用于获取网桥的后端设备发送的报文中的网络信息;
86.虚拟网络设备构建模块,用于构建虚拟网络设备,并将所述网络信息配置为所述虚拟网络设备的网络地址;
87.通信服务模块,用于通过所述虚拟网络设备的网络地址在所述网桥中收发通信数据,提供通信服务。
88.在本发明提供的又一实施例中,所述网络信息获取模块具体用于:
89.获取所述后端设备发送的报文;
90.利用socket工具或者netfilter框架解析所述报文中的数据包,获取所述后端设备的网络信息。
91.在本发明提供的又一实施例中,所述网络信息包括ip信息、网关信息或域名信息。
92.在本发明提供的又一实施例中,所述通信服务模块具体用于:
93.通过所述虚拟网络设备接收所述网桥的上层设备发送的通信数据包;
94.通过所述虚拟网络设备调用所述网桥的桥接接口,将所述通信数据包发送至所述通信数据包中的接收地址对应的服务器。
95.在本发明提供的又一实施例中,所述通信服务模块具体用于:
96.通过所述虚拟网络设备接收所述网桥的服务器发送的通信数据包;
97.通过预先标记的所述虚拟网络设备发出数据包的连接信息判断所述通信数据包是否为对所述虚拟网络设备发出数据包的回复;
98.当所述通信数据包中的连接信息与预先标记的连接信息匹配时,判定所述通信数据包是对所述虚拟网络设备发出数据包的回复,通过所述虚拟网络设备将所述通信数据包发送给所述虚拟网络设备对应的应用程序;
99.当所述通信数据包中的连接信息与预先标记的连接信息不匹配时,判定所述通信数据包不是对所述虚拟网络设备发出数据包的回复,所述通信数据包经所述网桥正常转发流程转发给所述网桥的后端设备。
100.需要说明的是,本发明实施例提供的一种纯网桥模式的通信装置用于执行上述实施例的一种x纯网桥模式的通信方法的所有流程步骤,两者的工作原理和有益效果一一对应,因而不再赘述。
101.参见图4,是本发明实施例提供的一种终端设备的结构示意图。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序1和计算机程序2,例如一种纯网桥模式的通信程序。所述处理器执行所述计算机程序时实现上述各个一种纯网桥模式的通信方法的实施例中的步骤,例如图1所示的步骤s1~s3。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如一种纯网桥模式的通信装置。
102.示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。例如,所述计算机程序可以被分割成信息获取模块、网络状态判定模块和网络状态调整模块,各模块具体功能如下在此不作赘述。
103.所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是所述终端设备的示例,并不构成对所述终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
104.所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
105.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
106.其中,所述终端设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现
上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
107.应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1