CN117061479A - 局域网通信方法及装置 - Google Patents
局域网通信方法及装置 Download PDFInfo
- Publication number
- CN117061479A CN117061479A CN202210487502.6A CN202210487502A CN117061479A CN 117061479 A CN117061479 A CN 117061479A CN 202210487502 A CN202210487502 A CN 202210487502A CN 117061479 A CN117061479 A CN 117061479A
- Authority
- CN
- China
- Prior art keywords
- subnet
- port
- gateway
- address
- mapping
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000004891 communication Methods 0.000 title claims abstract description 58
- 238000013507 mapping Methods 0.000 claims abstract description 611
- 230000004044 response Effects 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 12
- 238000005538 encapsulation Methods 0.000 abstract description 10
- 230000008901 benefit Effects 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 230000005641 tunneling Effects 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000001960 triggered effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种局域网通信方法及装置,涉及通信技术领域,该局域网通信方法包括:第一子网的第一子网网关接收第一子网设备发送的第一数据包,第一数据包的源IP地址和源端口分别为第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口;第一子网网关根据NAT端口映射表将第一数据包中的第一子网设备和第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;第一子网网关向目的网关发送第二数据包。本发明可以通过NAT端口映射规则和数据包非封装透传机制实现隧道功能,具有配置简单、带宽占用少、数据包处理时延小、资源消耗少等优点。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种局域网通信方法及装置。
背景技术
隧道技术的实质是用一种网络层的协议来传输另一种网络层协议,其基本功能是封装和加密,主要利用网络隧道来实现。对于构建VPN(virtual private networks,虚拟专用网络)来说,隧道技术是一个关键技术。它被用于IP公网中点到点虚拟通路的建立,实现两个节点间(VPN网关之间,或VPN网关与VPN远程用户之间)的安全通信,使数据包在公共网络上的专用隧道内出传输。
现有的通过隧道打通两端本地网络的方案,需要逐帧的进行数据包的隧道封装和解封,此操作会带入一定的时延且消耗网络转发设备(路由器或CPE)一定的运算资源,对数据转发业务性能造成一定影响。同时,在实现过程中,建立VPN隧道的双方需要根据相对复杂的隧道协议进行链路相关参数的协商。
发明内容
本发明实施例提供一种局域网通信方法及装置,用于解决现有的通过隧道技术实现局域网之间的通信时,数据包处理时延大,运算资源消耗多,且需要进行复杂的信令交互的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种局域网通信方法,包括:
第一子网的第一子网网关接收所述第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
所述第一子网网关向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
可选的,所述NAT端口映射表中包括至少一条映射规则,所述映射规则包括:子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备;
可选的,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关的NAT端口映射表中存在所述第一数据包对应的映射规则,所述第一子网网关根据所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
可选的,所述方法还包括:
所述第一子网网关将用户手动配置的或者服务器网关通过控制信道发送的预配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
可选的,所述方法还包括:
若所述第一子网网关根据自身的NAT端口映射表,判断出接收到的所述服务器网关预配置的所述第一子网的子网设备的内网IP地址和端口已被所述第一子网网关分配给其他公网IP地址和端口,所述第一子网网关向所述服务器网关返回配置失败信息。
可选的,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,所述第一子网网关为所述第一数据包所在的数据流分配包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关根据自身分配的映射规则、所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;
所述第一子网网关向所述目的网关发送所述映射请求;
所述第一子网网关接收所述目的网关发送的映射响应,所述映射响应中包括:所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表;
所述第一子网网关根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
可选的,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,所述第一子网网关根据所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;
所述第一子网网关向网络控制中心发送所述映射请求;
所述第一子网网关接收所述网络控制中心发送的映射响应,所述映射响应中包括:所述网络控制中心为所述第一数据包所在的数据流分配的所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及,所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关将所述映射响应中携带的映射规则存储至所述NAT端口映射表;
所述第一子网网关根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
第二方面,本发明实施例提供了一种局域网通信方法,包括:
第二子网的第二子网网关接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为所述第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;
所述第二子网网关向所述第二子网设备发送所述第一数据包。
可选的,所述NAT端口映射表中包括至少一条映射规则,所述映射规则包括:子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
可选的,所述方法还包括:
所述第二子网网关将用户手动配置的或者服务器网关通过控制信道发送的预配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
可选的,若所述第二子网网关根据自身的NAT端口映射表,判断出所述服务器网关预配置的所述第二子网的子网设备的内网IP地址和端口已被所述第二子网网关分配给其他公网IP地址和端口,所述第二子网网关向所述服务器网关返回配置失败信息。
可选的,所述源网关为所述第一子网网关,所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包之前,还包括:
所述第二子网网关接收第一子网网关发送的映射请求,所述映射请求中包括:所述第一子网网关为数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口;
所述第二子网网关为所述数据流分配包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第二子网网关向所述第一子网网关发送映射响应,所述映射响应中包括:所述第二子网网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第二子网网关将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述第二子网网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表。
可选的,所述源网关为所述服务器网关,所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包之前,还包括:
所述第二子网网关接收所述服务器网关或网络控制中心发送的映射响应,所述映射响应中包括:所述服务器网关为数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射;
所述第二子网网关将所述映射响应中携带的映射规则存储至所述NAT端口映射表。
第三方面,本发明实施例提供了一种网关设备,包括:
第一接收模块,用于接收第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
映射模块,用于根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
第一发送模块,用于向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
第四方面,本发明实施例提供了一种网关设备,包括:
第一接收模块,用于接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
映射模块,用于根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;
第一发送模块,用于向所述第二子网设备发送所述第一数据包。
第五方面,本发明实施例提供了一种网关设备,包括:收发机和处理器;
所述收发机,用于接收第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
所述处理器,用于根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
所述收发机,还用接收于向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
第六方面,本发明实施例提供了一种网关设备,包括:收发机和处理器;
所述收发机,用于接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
所述处理器,用于根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;
所述收发机,还用于向所述第二子网设备发送所述第一数据包。
第七方面,本发明实施例提供了一种网络设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,或者,所述程序被所述处理器执行时实现如上述第一方面或第二方面所述的局域网通信方法的步骤。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第二方面所述的局域网通信方法的步骤。
在本发明实施例中,可以通过NAT端口映射规则和数据包非封装透传机制替代现有的隧道功能,实现局域网之间的通信,该种实现方式具有配置简单(基于现有NAT功能开发扩展,NAT功能其本身配置也简单)、带宽占用少(不需要复杂的信令交互)、数据包处理时延小、资源消耗少(无需进行数据包的解封装操作)等优点。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为5G结合工业互联网通信组网架构示意图;
图2为隧道协议的结构示意图;
图3为本发明实施例的局域网通信方法的流程示意图之一;
图4为本发明实施例的局域网通信方法的网络框架图;
图5为本发明实施例的NAT端口映射表的示意图;
图6为本发明实施例的使用NAT端口映射表进行数据包转发的示意图;
图7为主机a1发送的数据包的结构示意图;
图8为网关a查找NAT端口映射表后进行IP地址和端口映射之后形成的数据包;
图9为网关b接收数据包并查找NAT端口映射表后进行IP地址和端口映射之后形成的数据包;
图10为本发明实施例的点对点对等模式的NAT映射规则分配协商策略的流程示意图;
图11为本发明实施例的由本地子网端触发的点对点主从模式的NAT映射规则分配协商策略的流程示意图;
图12为本发明实施例的由服务器端触发的点对点主从模式的NAT映射规则分配协商策略的流程示意图;
图13为本发明实施例的网络控制中心统一协调的NAT映射规则分配协商策略的流程示意图;
图14本发明实施例的局域网通信方法的流程示意图之二;
图15本发明实施例的局域网通信方法的流程示意图之三;
图16本发明实施例的局域网通信方法的流程示意图之四;
图17本发明实施例的网关设备的结构示意图之一;
图18本发明实施例的网关设备的结构示意图之二;
图19本发明实施例的网关设备的结构示意图之三;
图20本发明实施例的网络设备的结构示意图之一;
图21本发明实施例的网关设备的结构示意图之四;
图22本发明实施例的网关设备的结构示意图之五;
图23本发明实施例的网关设备的结构示意图之六;
图24本发明实施例的网络设备的结构示意图之二;
图25本发明实施例的网络设备的结构示意图之七;
图26本发明实施例的网络设备的结构示意图之三。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本发明中涉及的相关技术点进行简单说明。
(1)5G结合工业互联网通信组网架构
在一些工业场景下,如图1所示,AR路由器1连接到5G CPE(Customer PremiseEquipment,客户前置设备),通过5G CPE接入5G基站;AR路由器2连接MEC(边缘计算)的后端交换机,打通AR路由器1和AR2路由器之间的路由;AR路由器1与AR路由器2之间的隧道协议比较常用的是L2TP(Layer Two Tunneling Protocol,层2隧道协议),这样AR路由器1至AR路由器2对外呈现的就是一个2层网络。
L2TP是基于链路层的隧道协议,该协议通过UDP(User Datagram Protocol,用户数据包协议)的1701端口承载于TCP(Transmission Control Protocol,传输控制协议)或IP(Internet Protocol,互联网协议)之上。当隧道建立后,可以在通道中建立若干个会话,这些会话彼此独立。而L2TP消息分为两类:控制消息和数据消息。其中控制消息负责建立、拆除及维护通道和会话,数据消息负责传递PPP(Point to Point Protocol,点对点协议)数据。
(2)隧道技术简介
隧道技术的实质是用一种网络层的协议来传输另一种网络层协议,其基本功能是封装和加密,主要利用网络隧道来实现。对于构建VPN(virtual private networks,虚拟专用网络)来说,隧道技术是一个关键技术。它被用于IP公网中点到点虚拟通路的建立,实现两个节点间(VPN网关之间,或VPN网关与VPN远程用户之间)的安全通信,使数据包在公共网络上的专用隧道内出传输。
封装是构建隧道的基本手段。从隧道的两端来看,封装就是用来创建、维持和撤销一个隧道,来实现信息的隐蔽和抽象。
网路隧道技术涉及了3种网络协议:网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议。如图2所示,隧道协议作为VPN IP层的底层,将VPN IP分组进行安装封装;隧道协议同时作为公用IP网的一种特殊形式,将封装的VPN分组利用公网内的IP协议栈进行传输,以实现隧道内的功能。隧道协议在这个协议体系中起着承上启下的作用。
(3)NAT
计算机网络中,NAT(Network Address Translation,网络地址转换),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP数据包通过路由器或防火墙时重写源IP地址或目的IP地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中。
在一个典型的配置中,一个本地网络使用一个专有网络的指定子网(比如192.168.x.x或10.x.x.x)和连在这个网络上的一个路由器。这个路由器占有这个网络地址空间的一个专有地址(比如192.168.0.1),同时它还通过一个或多个因特网服务提供商提供的公有的IP地址连接到因特网上。当信息由本地网络向因特网传递时,源IP地址从专有地址转换为公有地址。由路由器跟踪每个连接上的基本数据,主要是目的IP地址和端口。当有回复返回路由器时,它通过输出阶段记录的连接跟踪数据来决定该转发给内部网的哪个主机;如果有多个公有地址可用,当数据包返回时,TCP或UDP客户机的端口号可以用来分解数据包。
NAT有三种类型:静态NAT(StaticNAT)、动态地址NAT(PooledNAT)、网络地址端口转换NAPT(Port-LevelNAT)。其中,网络地址端口转换NAPT(NetworkAddressPortTranslation)是把内部地址映射到外部网络的一个IP地址的不同端口上。它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的端口号。
NAPT是使用最普遍的一种转换方式,它包含两种转换方式:SNAT和DNAT:
(1)源NAT(SourceNAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。
(2)目的NAT(DestinationNAT,DNAT):修改数据包的目的地址。DestinationNAT刚好与SNAT相反,它是改变第一个数据报的目的地址,如平衡负载、端口转发和透明代理就是属于DNAT。
现有的NAT技术只支持NAT代理下的多个内网设备通过共享一个公网IP地址访问公网服务器,公网服务器无法直接访问NAT代理下的内网设备。因此,现有NAT技术无法实现两端本地子网(或本地子网与公网服务器端)端到端隧道双向通信的功能。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的局域网通信方法及装置进行详细地说明。
请参考图3,本发明实施例提供一种局域网通信方法,包括:
步骤1:第一子网的第一子网网关接收所述第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
本申请实施例中,子网也可以称为局域网或本地网络或本地局域网。公网也可以称为外网或WAN网。
步骤2:所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
本发明实施例中,内网IP地址和端口也可以称为本地IP地址和端口。公网IP地址和端口也可以称为公网IP地址和端口。
步骤3:所述第一子网网关向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
在本发明实施例中,可以通过NAT端口映射规则和数据包非封装透传机制替代现有的隧道功能,实现局域网之间的通信,该种实现方式具有配置简单(基于现有NAT功能开发扩展,NAT功能其本身配置也简单)、带宽占用少(不需要复杂的信令交互)、数据包处理时延小(减少了传统VPN隧道引入的时延)、资源消耗少(无需进行数据包的解封装操作)等优点。
本发明实施例中,可选的,所述NAT端口映射表中包括至少一条映射规则,所述映射规则包括:子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。通过上述NAT端口映射表,可以将第一子网、所述第二子网和/或服务器端的子网设备的内网IP地址和端口映射至对应的公网IP地址和端口,实现数据包在公网上的传输。
本发明实施例中,可选的,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:若所述第一子网网关的NAT端口映射表中存在所述第一数据包对应的映射规则,所述第一子网网关根据所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。本发明实施例中,通过上述NAT端口映射表,可以将第一子网、所述第二子网和/或服务器端的第一子网设备和第二子网设备的内网IP地址和端口映射至对应的公网IP地址和端口,实现数据包在公网上的传输。同时,无需对数据包进行封装和解封装的操作,采用数据包非封装透传机制即可实现局域网之间的数据包的传输,具有数据包处理时延小(减少了传统VPN隧道引入的时延)、资源消耗少(无需进行数据包的解封装操作)等优点。
下面举例对本发明实施例的局域网通信方法进行说明。
请参考图4,网关a相连的本地网络A属于192.168.1.0/24网段,网关a的公网(或外网或WAN网)IP地址为30.31.20.69,其通过公共IP网络与网关b相连。网关b的公网IP地址为30.31.20.71,与其相连的本地网络B属于192.168.2.0/24网段。
网关a和网关b维护各自的NAT端口映射表,且两端的NAT端口映射表可以通过NAT代理交互控制连接传输信令实现实时同步。
本发明实施例中,两端维护的NAT端口映射表中,将即源、目的两条映射规则绑定为同一条映射规则,请参考图5,每一条映射规则具有一个编号,每一条映射规则包括:源IP地址和端口至对应的公网IP地址和端口的映射,以及,目的IP地址和端口至对应的公网IP地址和端口的映射。当然,在本发明的其他一些实施例中,一条映射规则也可以只包括一个子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射。该种情况下,需要分别查找源IP地址和端口和目的IP地址和端口对应的公网IP地址和端口。
本发明实施例中,可选的,NAT端口映射表中还可以包括采用的传输协议,例如TCP协议或UDP协议。此外,可选的,NAT端口映射表中还可以包括映射规则的生存时间,即映射规则在多长时间内有效。
请参考图6-图9,本发明实施例中,本地网络A的主机a1(子网设备)与本地网络B的主机b1(子网设备)跨外部IP网络通信过程如下:
当子网设备a1需与子网设备b1通过公共IP网络设备建立传输连接(UDP/TCP,且公共IP网络没有两端子网的路由),子网设备a1使用子网设备b1的内网IP地址和端口作为数据包的目的IP地址和端口,自身的内网IP地址和端口作为数据包的源IP地址和端口。当数据包到达子网网关a处,子网网关a根据NAT端口映射表,将源IP地址和端口(子网设备a1)和目的IP地址和端口(子网设备b1)映射为对应的公网IP地址和端口(公网IP地址和端口为两端网关的WAN(广域网)口所拥有)。当数据包到达子网B网关时,子网B网关使用同一套映射规则将公网的源IP地址和端口和公网的目的IP地址和端口映射成本地地址(a1内网IP地址和端口为源IP地址和端口,b1内网IP地址和端口为目的IP地址和端口)。子网B网关再将映射完成后的数据包的作为本地数据包发送至子网设备b1。
本发明实施例中,为了实现收发两端网关的NAT端口映射规则标的同步,可以通过多种方式进行NAT端口映射规则的分配协商,下面详细进行说明。
实施例一:点对点对等模式的NAT映射规则分配协商策略
点对点对等模式的NAT映射规则分配协商策略有二个子模式:双端手动配置模式和数据流触发的动态配置模式。
在双端手动配置模式下,可以通过手动配置两端网关的NAT端口映射表(需要配置的参数:第一子网的第一子网设备的内网IP地址和端口至公网IP地址和端口的映射,以及,第二子网的第二子网设备的内网IP地址和端口至公网IP地址和端口的映射,在有些情况下,还需要配置传输层协议)实现第一子网和第二子网间特定数据流的互通。
此时,所述方法还包括:所述第一子网网关将用户手动配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网和所述第二子网的子网设备。手动配置的方式方便简单,成本较低,且可以完全契合用户需求。
在数据流触发的动态配置模式下,两端子网的网关实时与对端共享本地的NAT端口映射规则(实现两端网关的NAT端口映射表实时同步)。举例来说,当本地子网A的子网设备a1向对端子网B的子网设备b1发起新业务通信请求时,数据包(包括用于数据流鉴别的IP数据流五元组信息:源IP地址、目的IP地址;源端口、目的端口;传输层协议)通过本地转发功能至子网A网关处,当NAT端口映射表中不包括该数据包所在的数据流的映射规则时,子网A网关首先为此新数据流的源IP地址和端口分配一个新的公网IP地址和端口映射,再把此条映射信息和映射请求发送给对端子网B网关。子网B网关接收映射请求,为此数据流的目的IP地址和端口在子网B网关侧分配一个公网IP地址和端口映射,最后将映射规则返回给子网A网关,子网A网关将映射规则同步更新至本地的NAT端口映射表。至此,一条新的数据流映射规则在两端建立,两端子网设备凭借各自内网IP地址和端口就可以实现类似VPN隧道环境的直接通信。
即,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,所述第一子网网关为所述第一数据包所在的数据流分配包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关根据自身分配的映射规则、所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;
所述第一子网网关向所述目的网关发送所述映射请求;
所述第一子网网关接收所述目的网关发送的映射响应,所述映射响应中包括:所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表;
所述第一子网网关根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
由第一子网网关为自身的子网设备分配内网IP地址和端口对应的公网IP地址和端口,可以极大避免分配失败的情况。
请参考图10,下面举例对数据流触发的动态配置模式的流程信息如下所示:(子网A网关与子网B网关的通信通过特定端口的控制信道连接承载)
步骤1:本地子网A的设备a1准备IP数据包(源IP地址和端口是设备a1的本地值,目的IP地址和端口是本地子网B的设备b1的本地值),并将其转发至本地子网A网关处;
步骤2a:若NAT端口映射表存在此IP数据包对应的映射规则,则子网A网关直接对该IP数据包进行四元组信息转换(源IP和源端口映射为对应的公网IP地址和端口,目的IP和目的端口映射为对应的公网IP地址和端口);
步骤3a:子网A网关将转换后的数据包转发至子网B网关;
步骤4a:子网B网关根据NAT端口映射表,对转换后的数据包进行四元组信息转换(源IP和源端口映射为设备a1的内网IP地址和端口,目的IP和目的端口映射为设备b1的内网IP地址和端口);
步骤5a:子网B网关将转换后的数据包发送至子网设备b1;
步骤2b:若子网A网关NAT端口映射表不存在此IP数据包对应的映射规则,将触发端口映射规则请求过程,子网A网关为该新数据流分配其内网地址IP和端口至公网IP地址和端口的映射;
步骤3b:子网A网关将分配的映射规则与该数据包的五元组信息放入NewRuleDemade消息中,并为此消息分配一个独立的序列ID(用于区分不同的映射请求,消息ID池循环重复使用),通过控制信道发送至子网B网关;
步骤4b:子网B网关读取NewRuleDemand消息,并将消息中的请求的子网设备b1的IP地址与本地注册设备IP地址比对;
步骤5c:若请求的本地子网设备b1不存在,子网B网关返回对应的NewRuleDemandFailed消息(其序列ID与对应的NewRuleDemand相同),通知子网网关A映射请求失败,映射协商请求中断;
步骤5b:若请求的本地子网设备b1存在,子网B网关为该新数据流分配其本地子网设备b1的IP地址和端口到公网IP地址和端口的映射;
步骤6b:子网B网关将新生成的完整的映射规则存入NAT端口映射表,并同时准备NewRuleDemandSucceed消息(其序列ID与对应的NewRuleDemand相同)(其中包含有子网B网关侧的映射规则和子网A网关侧的映射规则)发送至子网A网关;
步骤7b:子网A网关收到NewRuleDemandSucceed消息后,将其中包含的两端网关的映射规则存入NAT口映射表,至此,局域网子网设备a1与局域网子网设备b1基于NAT端口映射转换的链路成功建立,通信开始。
上述实施例中,收发两端实时与对端共享各自的NAT端口映射规则,两端设备通过特定的协商机制和对应的特殊控制信令,将本地子网的网络端口映射信息与对端同步。在两端实时同步NAT端口映射规则之后,为了两端子网的下挂子设备可以实现类似于VPN隧道通信,子网网关需要对数据流同时进行源地址和目的地址的NAT映射。
实施例二:点对多点主从模式的NAT映射规则分配协商策略
点(服务器网关)对多点(子网网关)主从模式的NAT映射规则分配协商策略有三个子模式:双端手动配置模式、服务器端预配置模式和数据流触发的动态配置模式。
在双端手动配置模式下,可以通过手动配置服务器端网关和子网网关的NAT端口映射表(需要配置的参数:子网的子网设备的内网IP地址和端口至公网IP地址和端口映射,服务器端的子网设备的内网IP地址和端口至公网IP地址和端口映射以及传输层协议),实现服务器与子网间特定数据流的互通。
此时,所述方法还包括:所述第一子网网关将用户手动配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述子网设备包括:子网和服务器端的子网设备。
在服务器端预配置模式下,可以通过服务器端手动为特定数据流设置服务器端和相应子网网关的NAT端口映射规则(需要配置的规则参数:服务器端的子网设备的内网IP地址和端口至公网IP地址和端口映射,子网的子网设备的内网IP地址和端口至公网IP地址和端口映射以及传输层协议)。服务器端通过控制信道下发映射请求(其中包含服务器端配置的相应数据流在两端的NAT端口映射配置参数),以配置子网网关的NAT端口映射规则。若配置的子网网关的对应端口已被占用或数据流内网IP地址和端口已被分配至其它公网IP地址和端口,子网网关将会返回映射请求失败消息(其中包含可用端口或数据流的内网IP地址和端口已被分配的公网IP地址和端口),以通知服务器端网关策略配置失败,需要重新配置。
此时,所述方法还包括:接收服务器网关通过控制信道发送的预配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,并存储至所述NAT端口映射表中,所述子网设备包括:子网和服务器端的子网设备。由服务器网关为各个子网及自身的子网设备的内网IP地址和端口预配置对应的公网IP地址和端口,可以减少子网网关的运行压力。
可选的,所述接收服务器网关通过控制信道发送的预配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则之后,还包括:若所述第一子网网关根据自身的NAT端口映射表,判断出接收到的所述服务器网关预配置的所述第一子网的子网设备的内网IP地址和端口已被所述第一子网网关分配给其他公网IP地址和端口,所述第一子网网关向所述服务器网关返回配置失败信息,从而使得服务器网关可以重新为子网的子网设备的内网IP地址和端口分配对应的公网IP地址和端口。
在数据流触发的动态配置模式下,服务器端和子网的网关实时同步更新数据流的NAT端口映射规则(实现两端网关的NAT端口映射表实时同步),其有如下1)、2)两种触发方式:
1)当本地子网A的子网设备a1向服务器端的子网设备b1发起新业务通信请求时,数据包通过本地转发功能至子网A网关处,当NAT端口映射表中中不包括该新数据流的映射规则时,子网A网关首先为此新数据流分配一个新的公网IP地址和端口映射,再把此条映射信息发送给服务器网关。服务器网关接收映射请求,为此数据流的目的IP地址和端口在服务器网关侧分配一个新的公网IP地址和端口映射,最后将此映射规则返回给子网A网关,子网A网关将新映射规则同步更新至NAT端口映射表。至此,一条新的数据流映射规则在两端建立,两端子网设备凭借各自本地IP地址和端口号就可以实现类似VPN隧道环境的直接通信。
即,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,所述第一子网网关为所述第一数据包所在的数据流分配包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关根据自身分配的映射规则、所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;
所述第一子网网关向所述目的网关发送所述映射请求;
所述第一子网网关接收所述目的网关发送的映射响应,所述映射响应中包括:所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表;
所述第一子网网关根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
由第一子网网关为自身的子网设备分配内网IP地址和端口对应的公网IP地址和端口,可以极大避免分配失败的情况。
2)当服务器端的子网设备b1向本地子网A的子网设备a1发起新业务通信请求时,数据包通过本地转发功能至服务器网关处,当NAT端口映射表中中不包括该新数据流的映射规则时,服务器网关为此新数据流分配两端(服务器端和子网A网关处)的公网IP地址和端口映射,再把此条映射负责发送给子网A网关,若没有冲突,子网A网关将新映射规则同步更新至NAT端口映射表,若产生端口冲突,子网网关A将自主决定对应数据流的本地映射规则,并将映射规则更新至NAT端口映射表。最后子网网关A将新映射规则返回给服务器端网关,服务器端网关将规则同步更新至NAT端口映射表。至此,一条新的数据流映射规则在两端建立,两端子网设备凭借各自本地IP地址和端口号就可以实现类似VPN隧道环境的直接通信。
请参考图11,下面举例对本地子网A新业务触发的数据流触发的动态配置模式的流程进行说明,具体的流程信息如下:(子网A网关与服务器网关的策略协商信息通过特定端口的控制信道连接承载)
步骤1:本地子网A的设备a1准备IP数据包(源IP地址和端口是设备a1的本地值,目的IP地址和端口是服务器端的设备b1的本地值),并将其转发至本地子网A网关处;
步骤2a:若NAT端口映射表存在此IP数据包对应的映射规则,则子网A网关直接对该IP数据包进行四元组信息转换(源IP和源端口映射为对应的公网IP地址和端口,目的IP和目的端口映射为对应的公网IP地址和端口);
步骤3a:子网A网关将转换后的数据包转发至服务器网关;
步骤4a:服务器网关根据NAT端口映射表进行四元组信息转换(源IP和源端口映射为设备a1的内网IP地址和端口,目的IP和目的端口映射为设备b1的内网IP地址和端口);
步骤5a:服务器网关将转换后的数据包发送至设备b1;
步骤2b:若子网A网关NAT端口映射表不存在此IP数据包对应的映射规则,将触发端口映射规则请求过程,子网A网关为该新数据流分配其内网地址IP和端口至公网IP地址和端口的映射;
步骤3b:子网A网关将分配的映射规则与该数据包的五元组信息放入NewRuleDemade消息中,并为此消息分配一个独立的序列ID(用于区分不同的映射请求,消息ID池循环重复使用),通过控制信道发送至服务器网关;
步骤4b:服务器网关读取NewRuleDemand消息,并将消息中的请求的子网设备b1的IP地址与本地注册设备IP地址比对;
步骤5c:若请求的子网设备b1不存在,服务器网关返回对应的NewRuleDemandFailed消息(其序列ID与对应的NewRuleDemand相同),通知子网网关A映射请求失败,映射协商请求中断;
步骤5b:若请求的子网设备b1存在,服务器网关为该新数据流分配其本地子网设备b1的IP地址和端口到公网IP地址和端口的映射;
步骤6b:服务器网关将新生成的完整的端口映射规则存入端口映射表,并同时准备NewRuleDemandSucceed消息(其序列ID与对应的NewRuleDemand相同)(其中含有服务器网关侧的映射规则和子网A网关侧的映射规则)发送至子网A网关;
步骤7b:子网A网关收到NewRuleDemandSucceed消息后,将其中包含的两端网关映射规则存入端口映射表,至此,局域网子网设备a1与服务器端设备b1基于NAP端口映射转换的链路成功建立,通信开始。
请参考图12,下面举例对服务器端网关新业务触发的数据流触发的动态配置模式的流程进行说明,具体的流程信息如下:(子网A网关与服务器网关的策略协商信息通过特定端口的控制信道连接承载)
步骤1:服务器端的设备b1准备IP数据包(源IP地址和端口是设备b1的本地值,目的IP地址和端口是子网A的设备a1的本地值),将其首先转发至服务器网关处;
步骤2a:若NAT端口映射表存在此IP数据包对应的映射规则,则服务器网关直接对该IP数据包进行四元组信息转换(源IP和源端口映射为对应的公网IP地址和端口,目的IP和目的端口映射为对应的公网IP地址和端口);
步骤3a:服务器网关将转换后的数据包转发至子网A网关;
步骤4a:子网A网关根据NAT端口映射表进行四元组信息转换(源IP和源端口映射为设备a1的内网IP地址和端口,目的IP和目的端口映射为设备b1的内网IP地址和端口);
步骤5a:子网A网关将转换后的数据包发送至子网设备a1;
步骤2b:若服务器网关NAT端口映射表不存在此IP数据包对应的映射规则,将触发端口映射规则请求过程,服务器网关为该新数据流分配两端(服务器端和子网A端)的本地源地址IP和端口至公网IP地址和端口的映射;
步骤3b:服务器网关将分配的映射规则与该数据包的五元组信息放入NewRuleDemade消息中,并为此消息分配一个独立的序列ID(用于区分不同的映射请求,消息ID池循环重复使用),通过控制信道发送至子网A网关;
步骤4b:子网网关A读取NewRuleDemand消息,并将消息中的请求的子网设备a1的IP地址与本地注册设备IP地址比对;
步骤5c:若请求的本地子网设备a1不存在,子网A网关返回对应的NewRuleRequestFailed消息(其序列ID与对应的NewRuleRequest相同),通知服务器网关映射请求失败,映射协商请求中断;
步骤5b:若请求的本地子网设备a1存在,子网A网关将NewRuleRequest包含的两端网关的映射规则存入NAT端口映射表。
步骤6b:子网A网关向服务器网关返回接收成功ACK确认。至此,局域网子网设备a1与服务器基于NAT端口映射转换的链路成功建立,通信开始。
由服务器网关为各个子网及自身的子网设备的内网IP地址和端口分配对应的公网IP地址和端口,可以减少子网网关的运行压力。
实施例三:控制中心统一协调的NAT映射规则协商策略
本发明实施例中,可以建立一个网络控制中心负责网络中所有网关设备的端口映射规则的管理与分发。当子网A的子网设备a1向子网B的子网设备b1发起新业务通信请求时,若数据流的映射规则不在NAT端口映射表内,子网A网关向网络控制中心发起映射请求。网络控制中心为此新数据流两端分配映射端口,并分发给子网A网关和子网B网关。当子网A网关和子网B网关接收并更新各自的NAT端口映射表后,分别向网络控制中心返回ACK确认信息。至此,一条新的数据流映射规则在两端建立,两端子网设备凭借各自本地IP地址和端口号就可以实现类似VPN隧道环境的直接通信。
即,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,所述第一子网网关根据所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;
所述第一子网网关向网络控制中心发送所述映射请求;
所述第一子网网关接收所述网络控制中心发送的映射响应,所述映射响应中包括:所述网络控制中心为所述第一数据包所在的数据流分配的所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及,所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关将所述映射响应中携带的映射规则存储至所述NAT端口映射表;
所述第一子网网关根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
由网络控制中心各个子网的子网设备的内网IP地址和端口分配对应的公网IP地址和端口,可以减少子网网关的运行压力。
请参考图13,下面举例对网络控制中心统一协调的NAT映射规则协商策略的流程进行说明,具体的流程信息如下:
步骤1:本地子网A设备a1准备IP数据包(源IP地址和端口是设备a1的本地值,目的IP地址和端口是子网B的设备b1的本地值),将其首先转发至子网A网关处;
步骤2a:若NAT端口映射表存在此IP数据包对应的映射规则,则子网A网关直接对该IP数据包进行四元组信息转换(源IP和源端口映射为对应的公网IP地址和端口,目的IP和目的端口映射为对应的公网IP地址和端口);
步骤3a:子网A网关将转换后的数据包转发至子网B网关;
步骤4a:子网B网关根据NAT端口映射表进行四元组信息转换(源IP和源端口映射为设备a1的内网IP地址和端口,目的IP和目的端口映射为设备b1的内网IP地址和端口);
步骤5a:子网B网关将转换后的数据包发送至子网设备b1;
步骤2b:若NAT端口映射表不存在此IP数据包对应的映射规则,将触发端口映射规则请求过程,子网A的网关准备NewRuleDemade消息(包含源IP地址和端口(设备a1的)、目的IP地址和端口(设备b1)的和传输层通信协议标识)并将其发送至网络控制中心;
步骤3c:若请求的子网B的子网设备b1不存在,网络控制中心返回对应的NewRuleDemandFailed消息,通知子网A网关映射请求失败,映射协商请求中断;
步骤3b:若请求的子网B的子网设备b1存在,网络控制中心为该新数据流分配子网设备a1的本地源IP地址和端口至网关A的公网IP地址和端口的映射以及子网设备b1的本地目的IP地址和端口至网关B的公网IP地址和端口的映射;
步骤4b:网络控制中心把新映射规则存入数据库中,再将新映射规则嵌入NewRuleUpdate消息中并同时发送给子网A和子网B的网关;
步骤5b:子网A网关和子网B网关将NewRuleUpdate消息中的映射规则存入NAT端口映射表,并向网络控制中心反馈ACK确认消息;
步骤6b:子网A网关和子网B网关向网络控制中心反馈ACK确认消息,至此,局域网子网设备a1与局域网子网设备b1基于NAT端口映射转换的链路成功建立,通信开始。
上述各实施例中,两端网关的NAT端口映射表实时同步中涉及的所有状态交互信息与映射请求(如NewRuleDemand、NewRuleDemandFailed、NewRuleDemandSucceed、NewRuleRequest和NewRuleRequestFailed消息)都需要通过HTTPs(Hypertext TransferProtocol,超文本传输协议)等技术建立加密通信连接,并通过此加密连接传输,称为NAT代理交互控制连接。
请参考图14,本发明实施例还提供一种局域网通信方法,包括:
步骤1:第二子网的第二子网网关接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为所述第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
步骤2:所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;
步骤3:所述第二子网网关向所述第二子网设备发送所述第一数据包。
在本发明实施例中,可以通过NAT端口映射规则和数据包非封装透传机制替代现有的隧道功能,实现局域网之间的通信,该种实现方式具有配置简单(基于现有NAT功能开发扩展,NAT功能其本身配置也简单)、带宽占用少(不需要复杂的信令交互)、数据包处理时延小(减少了传统VPN隧道引入的时延)、资源消耗少(无需进行数据包的解封装操作)等优点。
本发明实施例中,可选的,所述NAT端口映射表中包括至少一条映射规则,所述映射规则包括:子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
本发明实施例中,可选的,所述方法还包括:将用户手动配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
本发明实施例中,可选的,所述源网关为所述第一子网网关,所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包之前,还包括:
所述第二子网网关接收第一子网网关发送的映射请求,所述映射请求中包括:所述第一子网网关为数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口;
所述第二子网网关为所述数据流分配包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第二子网网关向所述第一子网网关发送映射响应,所述映射响应中包括:所述第二子网网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第二子网网关将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述第二子网网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表。
本发明实施例中,可选的,所述方法还包括:所述第二子网网关接收服务器网关通过控制信道发送的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,并存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
本发明实施例中,可选的,所述接收服务器网关通过控制信道发送的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则之后,还包括:
若所述第二子网网关根据自身的NAT端口映射表,判断出所述服务器网关预配置的所述第二子网的子网设备的内网IP地址和端口已被所述第二子网网关分配给其他公网IP地址和端口,所述第二子网网关向所述服务器网关返回配置失败信息。
本发明实施例中,可选的,所述源网关为所述服务器网关,所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包之前,还包括:
所述第二子网网关接收所述服务器网关或网络控制中心发送的映射响应,所述映射响应中包括:所述服务器网关为数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射;
所述第二子网网关将所述映射响应中携带的映射规则存储至所述NAT端口映射表。
请参考图15,本发明实施例还提供一种局域网通信方法,包括:
步骤1:服务器网关为子网的子网设备分配包含所述子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
步骤2:所述服务器网关向所述子网的子网网关发送所述映射规则。
本发明的一些实施例中,服务器网关可以是预配置映射规则,并发送给子网网关。
本发明的一些实施例中,服务器网关可以是根据子网网关的映射请求,为子网分配映射规则,并发送给子网网关。
本发明的一些实施例中,服务器网关可以是根据子网网关的映射请求,为子网和服务器两端分别分配映射规则,并发送给子网网关。
请参考图16,本发明实施例还提供一种局域网通信方法,包括:
步骤1:网络控制中心接收第一子网的第一子网设备发送的映射请求,所述映射请求中包括所述第一子网设备的内网IP地址和端口以及第二子网的第二子网设备的内网IP地址和端口;
步骤2:所述网络控制中心根据所述映射请求,生成映射响应,所述映射响应中包括:所述网络控制中心为数据流分配的所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及,所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
步骤3:所述网络控制中心向所述第一子网的第一子网网关和所述第二子网的第二子网网关发送所述映射响应。
请参考图17,本发明实施例还提供一种网关设备170,包括:
第一接收模块171,用于接收第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
映射模块172,用于根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
第一发送模块173,用于向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
可选的,其中,所述NAT端口映射表中包括至少一条映射规则,所述映射规则包括:子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
可选的,所述映射模块172,用于若所述第一子网网关的NAT端口映射表中存在所述第一数据包对应的映射规则,根据所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
可选的,所述网关设备170还包括:
存储模块,用于将用户手动配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
可选的,所述映射模块172,用于若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,为所述第一数据包所在的数据流分配包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;根据自身分配的映射规则、所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;向所述目的网关发送所述映射请求;接收所述目的网关发送的映射响应,所述映射响应中包括:所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表;根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
可选的,所述网关设备170还包括:
第二接收模块,用于接收服务器网关通过控制信道发送的预配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,并存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
可选的,所述网关设备170还包括:
第二发送模块,用于若根据自身的NAT端口映射表,判断出接收到的所述服务器网关预配置的所述第一子网的子网设备的内网IP地址和端口已被所述第一子网网关分配给其他公网IP地址和端口,所述第一子网网关向所述服务器网关返回配置失败信息。
可选的,所述映射模块172,用于若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,根据所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;向网络控制中心发送所述映射请求;接收所述网络控制中心发送的映射响应,所述映射响应中包括:所述网络控制中心为所述第一数据包所在的数据流分配的所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及,所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;将所述映射响应中携带的映射规则存储至所述NAT端口映射表;根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
请参考图18,本发明实施例还提供一种网关设备180,包括:
第一接收模块181,用于接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
映射模块182,用于根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;
第一发送模块183,用于向所述第二子网设备发送所述第一数据包。
可选的,所述NAT端口映射表中包括至少一条映射规则,所述映射规则包括:子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
可选的,所述网关设备180还包括:
第一存储模块,用于将用户手动配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述第一子网网关向所述服务器网关返回配置失败信息。。
可选的,所述源网关为所述第一子网网关,所述网关设备180还包括:
第二接收模块,用于接收第一子网网关发送的映射请求,所述映射请求中包括:所述第一子网网关为数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口;
分配模块,用于为所述数据流分配包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
第二发送模块,用于向所述第一子网网关发送映射响应,所述映射响应中包括:所述第二子网网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
第二存储模块,用于将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述第二子网网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表。
可选的,所述网关设备180还包括:
第三接收模块,用于接收服务器网关通过控制信道发送的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,并存储至所述NAT端口映射表中,所述第一子网网关向所述服务器网关返回配置失败信息。。
可选的,所述网关设备180还包括:
第三发送模块,用于若根据自身的NAT端口映射表,判断出所述服务器网关预配置的所述第二子网的子网设备的内网IP地址和端口已被所述第二子网网关分配给其他公网IP地址和端口,所述第二子网网关向所述服务器网关返回配置失败信息。
可选的,所述源网关为所述服务器网关,所述网关设备180还包括:
第四接收模块,用于接收所述服务器网关或网络控制中心发送的映射响应,所述映射响应中包括:所述服务器网关为数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射;
第三存储模块,用于将所述映射响应中携带的映射规则存储至所述NAT端口映射表。
请参考图19,本发明实施例还提供一种网关设备190,包括:
分配模块191,用于为子网的子网设备分配包含所述子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
第一发送模块192,用于向所述子网的子网网关发送所述映射规则。
请参考图20,本发明实施例还提供一种网络设备200,包括:
第一接收模块201,用于接收第一子网的第一子网设备发送的映射请求,所述映射请求中包括所述第一子网设备的内网IP地址和端口以及第二子网的第二子网设备的内网IP地址和端口;
分配模块202,用于根据所述映射请求,生成映射响应,所述映射响应中包括:所述网络控制中心为数据流分配的所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及,所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
第一发送模块203,用于向所述第一子网的第一子网网关和所述第二子网的第二子网网关发送所述映射响应。
请参考图21,本发明实施例还提供一种网关设备210,收发机211和处理器212;
所述收发机211,用于接收第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
所述处理器212,用于根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
所述收发机211,还用接收于向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
请参考图22,本发明实施例还提供一种网关设备220,收发机221和处理器222;
所述收发机221,用于接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
所述处理器222,用于根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;
所述收发机221,还用于向所述第二子网设备发送所述第一数据包。
请参考图23,本发明实施例还提供一种网关设备230,收发机231和处理器232;
所述处理器232,用于为子网的子网设备分配包含所述子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述收发机231,用于向所述子网的子网网关发送所述映射规则。
请参考图24,本发明实施例还提供一种网络设备240,收发机241和处理器242;
所述收发机241,用于接收第一子网的第一子网设备发送的映射请求,所述映射请求中包括所述第一子网设备的内网IP地址和端口以及第二子网的第二子网设备的内网IP地址和端口;
所述处理器242,用于根据所述映射请求,生成映射响应,所述映射响应中包括:所述网络控制中心为数据流分配的所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及,所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述收发机241,还用于向所述第一子网的第一子网网关和所述第二子网的第二子网网关发送所述映射响应。
请参考图25,本发明实施例还提供一种网关设备250,包括处理器251,存储器252,存储在存储器252上并可在所述处理器251上运行的计算机程序,该计算机程序被处理器251执行时实现上述应用于第一子网网关、第二子网网关或服务器网关的局域网通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
请参考图26,本发明实施例还提供一种网络设备260,包括处理器261,存储器262,存储在存储器262上并可在所述处理器261上运行的计算机程序,该计算机程序被处理器261执行时实现上述应用于网络控制中心的局域网通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述局域网通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (19)
1.一种局域网通信方法,其特征在于,包括:
第一子网的第一子网网关接收所述第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
所述第一子网网关向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
2.根据权利要求1所述的方法,其特征在于,所述NAT端口映射表中包括至少一条映射规则,所述映射规则包括:子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
3.根据权利要求2所述的方法,其特征在于,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关的NAT端口映射表中存在所述第一数据包对应的映射规则,所述第一子网网关根据所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
4.根据权利要求2所述的方法,其特征在于,还包括:
所述第一子网网关将用户手动配置的或者服务器网关通过控制信道发送的预配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述第一子网网关根据自身的NAT端口映射表,判断出接收到的所述服务器网关预配置的所述第一子网的子网设备的内网IP地址和端口已被所述第一子网网关分配给其他公网IP地址和端口,所述第一子网网关向所述服务器网关返回配置失败信息。
6.根据权利要求2所述的方法,其特征在于,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,所述第一子网网关为所述第一数据包所在的数据流分配包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关根据自身分配的映射规则、所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;
所述第一子网网关向所述目的网关发送所述映射请求;
所述第一子网网关接收所述目的网关发送的映射响应,所述映射响应中包括:所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述目的网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表;
所述第一子网网关根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
7.根据权利要求2所述的方法,其特征在于,所述第一子网网关根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包,包括:
若所述第一子网网关中的NAT端口映射表中不存在所述第一数据包对应的映射规则,所述第一子网网关根据所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口,生成映射请求;
所述第一子网网关向网络控制中心发送所述映射请求;
所述第一子网网关接收所述网络控制中心发送的映射响应,所述映射响应中包括:所述网络控制中心为所述第一数据包所在的数据流分配的所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及,所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第一子网网关将所述映射响应中携带的映射规则存储至所述NAT端口映射表;
所述第一子网网关根据所述NAT端口映射表中的所述第一数据包对应的映射规则,将所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包。
8.一种局域网通信方法,其特征在于,包括:
第二子网的第二子网网关接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为所述第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;
所述第二子网网关向所述第二子网设备发送所述第一数据包。
9.根据权利要求8所述的方法,其特征在于,所述NAT端口映射表中包括至少一条映射规则,所述映射规则包括:子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
10.根据权利要求9所述的方法,其特征在于,还包括:
所述第二子网网关将用户手动配置的或者服务器网关通过控制信道发送的预配置的包含子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则存储至所述NAT端口映射表中,所述子网设备包括:所述第一子网、所述第二子网和/或服务器端的子网设备。
11.根据权利要求10所述的方法,其特征在于,还包括:
若所述第二子网网关根据自身的NAT端口映射表,判断出所述服务器网关预配置的所述第二子网的子网设备的内网IP地址和端口已被所述第二子网网关分配给其他公网IP地址和端口,所述第二子网网关向所述服务器网关返回配置失败信息。
12.根据权利要求9所述的方法,其特征在于,所述源网关为所述第一子网网关,所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包之前,还包括:
所述第二子网网关接收第一子网网关发送的映射请求,所述映射请求中包括:所述第一子网网关为数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,所述第一子网设备的内网IP地址和端口以及所述第二子网设备的内网IP地址和端口;
所述第二子网网关为所述数据流分配包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第二子网网关向所述第一子网网关发送映射响应,所述映射响应中包括:所述第二子网网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则;
所述第二子网网关将所述第一子网网关为所述数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,以及,所述第二子网网关为所述数据流分配的包含所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射的映射规则,存储至所述NAT端口映射表。
13.根据权利要求9所述的方法,其特征在于,所述源网关为所述服务器网关,所述第二子网网关根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包之前,还包括:
所述第二子网网关接收所述服务器网关或网络控制中心发送的映射响应,所述映射响应中包括:所述服务器网关为数据流分配的包含所述第一子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射,以及所述第二子网设备的内网IP地址和端口至对应的公网IP地址和端口的映射;
所述第二子网网关将所述映射响应中携带的映射规则存储至所述NAT端口映射表。
14.一种网关设备,其特征在于,包括:
第一接收模块,用于接收第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
映射模块,用于根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
第一发送模块,用于向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
15.一种网关设备,其特征在于,包括:
第一接收模块,用于接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
映射模块,用于根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;其中,所述NAT端口映射表中包括至少一条映射规则;
第一发送模块,用于向所述第二子网设备发送所述第一数据包。
16.一种网关设备,其特征在于,包括:收发机和处理器;
所述收发机,用于接收第一子网的第一子网设备发送的第一数据包,所述第一数据包的源IP地址和源端口分别为所述第一子网设备的内网IP地址和端口,目的IP地址和目的端口分别为第二子网设备的内网IP地址和端口,所述第二子网设备为第二子网或服务器端的子网设备;
所述处理器,用于根据NAT端口映射表,将所述第一数据包中的所述第一子网设备和所述第二子网设备的内网IP地址和端口分别映射为对应的公网IP地址和端口,形成第二数据包;
所述收发机,还用接收于向目的网关发送所述第二数据包,所述目的网关为所述第二子网的第二子网网关或服务器网关。
17.一种网关设备,其特征在于,包括:收发机和处理器;
所述收发机,用于接收源网关发送的第二数据包,所述第二数据包的源IP地址和源端口分别为第一子网或服务器端的第一子网设备的公网IP地址和端口,目的IP地址和目的端口分别为第二子网的第二子网设备的公网IP地址和端口,所述源网关为所述第一子网的第一子网网关或服务器网关;
所述处理器,用于根据NAT端口映射表,将所述第二数据包中的所述第一子网设备和所述第二子网设备的公网IP地址和端口分别映射为对应的内网IP地址和端口,形成第一数据包;
所述收发机,还用于向所述第二子网设备发送所述第一数据包。
18.一种网关设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,或者,所述程序被所述处理器执行时实现如权利要求1至7中任一项所述的局域网通信方法的步骤,所述程序被所述处理器执行时实现如权利要求8至13中任一项所述的局域网通信方法的步骤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的局域网通信方法的步骤;或者,所述计算机程序被处理器执行时实现如权利要求8至13中任一项所述的局域网通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210487502.6A CN117061479A (zh) | 2022-05-06 | 2022-05-06 | 局域网通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210487502.6A CN117061479A (zh) | 2022-05-06 | 2022-05-06 | 局域网通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117061479A true CN117061479A (zh) | 2023-11-14 |
Family
ID=88661349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210487502.6A Pending CN117061479A (zh) | 2022-05-06 | 2022-05-06 | 局域网通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117061479A (zh) |
-
2022
- 2022-05-06 CN CN202210487502.6A patent/CN117061479A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Transition from IPv4 to IPv6: A state-of-the-art survey | |
Li | Recommendation for a routing architecture | |
US8693392B2 (en) | Peer-to-peer communication system and method | |
US7453852B2 (en) | Method and system for mobility across heterogeneous address spaces | |
EP2171933B1 (en) | Cooperative NAT behavior discovery | |
US8238336B2 (en) | Method for forwarding data packet, system, and device | |
US7624195B1 (en) | Method and apparatus for distributed network address translation processing | |
US20020165972A1 (en) | Methods and apparatus for use in reducing traffic over a communication link used by a computer network | |
US6618398B1 (en) | Address resolution for internet protocol sub-networks in asymmetric wireless networks | |
KR20000010612A (ko) | 인터넷 프로토콜 필터 | |
JP2004357292A (ja) | IP交換網上で伝達されるデータをIPv4ベースからIPv6ベースに変換するシステム | |
WO2012013133A1 (zh) | 一种网络通信的方法和设备 | |
CN107094110B (zh) | 一种dhcp报文转发方法及装置 | |
CN102739810A (zh) | IPv4CP/SP和IPv6网络互通的方法与设备 | |
US9413590B2 (en) | Method for management of a secured transfer session through an address translation device, corresponding server and computer program | |
CN113472913A (zh) | 通信方法及装置 | |
CN1490998A (zh) | 利用nat-pt和客户/服务器模式实现ip网络终端通信方法 | |
WO2001097485A2 (en) | Method for providing transparent public addressed networks within private networks | |
Cui et al. | State management in IPv4 to IPv6 transition | |
US20080046571A1 (en) | Pervasive inter-domain dynamic host configuration | |
CN115150312B (zh) | 一种路由方法及设备 | |
Albuquerque et al. | Global information grid (GIG) edge network interface architecture | |
CN117061479A (zh) | 局域网通信方法及装置 | |
Borella et al. | Distributed network address translation | |
US20230388397A1 (en) | Resolving Overlapping IP Addresses in Multiple Locations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |