CN105681486B - 一种XinIP的跨广播域数据通信方法 - Google Patents
一种XinIP的跨广播域数据通信方法 Download PDFInfo
- Publication number
- CN105681486B CN105681486B CN201610026031.3A CN201610026031A CN105681486B CN 105681486 B CN105681486 B CN 105681486B CN 201610026031 A CN201610026031 A CN 201610026031A CN 105681486 B CN105681486 B CN 105681486B
- Authority
- CN
- China
- Prior art keywords
- address
- data packet
- gateway
- tunnel
- packet
- 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
Links
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
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- 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/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
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
本发明公开了一种XinIP的跨广播域数据通信方法,解决跨网络的同IP地址段的主机进行相互通信的问题。网关设置代理地址池、隧道本地IP地址和隧道目标IP地址三个参数。网关的工作原理为:当收到的IP数据包的目标地址与代理地址池中的地址匹配时,为该数据包封装新的外部IP头,其中,外部IP头的源IP地址为隧道本地IP地址,目标IP地址为隧道目标IP地址,然后路由;当收到的IP地址的目标地址是隧道本地IP地址且源IP地址是隧道目标IP地址时,则将外部IP头去除后,进行本地传输。该方法的优点是:在通信主机的工作原理保持不变的情况下,使不同网络相同IP地址段的主机在同一个广播域中,进而使在同一广播域内使用的传统协议能够正常运行。
Description
技术领域
本发明涉及数据通信领域,具体是一种XinIP的跨广播域数据通信方法。
背景技术
在传统以太网通信过程中,传统PC的工作原理为:
1. 当目标IP地址与自己的IP地址在同一网段时,直接做ARP请求,获取对方MAC地址,然后封包传输。
2. 当目标IP地址与自己的IP地址不在同一网段时,以网关地址为目标IP地址做ARP请求,获得网关的MAC地址,然后封包传输给网关,网关对该数据包进行路由处理。
因而,跨越网关的两个IP地址段的通信需要网关做路由处理,例如:地理位置隔离的财务部的IP地址规划需要采用两个IP地址段,即使两个财务部采用同一IP地址段,也需要网关做路由处理,因为网关隔离了广播域。
正因为如此,在数据网络规划设计中,同一业务部门在网络覆盖被隔离的时候一般采用不同IP地址段的方式解决,不同的IP地址段通信采用路由的方式。然而,在数据通信网络中,诸多应用(网络邻居、文件共享等)一般需要在同一广播域中运行,对于跨网段的情景下只能采用其他替代形式满足应用需求,增加了应用负担。
发明内容
为了解决上述现有技术存在的缺陷,本发明提供了一种XinIP的跨广播域数据通信方法,在不改变通信主机工作原理的情况下,使不同网关背后的网络能够直接通信,从而实现跨广播域的数据通信。
本发明采用的技术方案:一种XinIP的跨广播域数据通信方法,该方法对网关设置代理地址池、隧道本地IP地址和隧道目标IP地址三个参数,网关具体通信方法如下:
S1:等待数据包,当网关收到数据包后,判断数据包是否为从隧道中接收的隧道数据包,如果是,则执行步骤S2,如果不是,则执行步骤S5;
S2:删除数据包最外面的IP包头,将数据包的源MAC地址记录到CAM表中,根据数据包的内部目标IP地址判断能否在CAM表中查询到相应记录,如果能查询到则执行步骤S3,否则执行步骤S4;
S3:修改数据包的目标MAC地址为CAM表中查询到的MAC地址,修改数据包的源MAC地址为网关本地IP地址对应的MAC地址,转发数据包,然后执行步骤S1;
S4:根据内部目标IP地址做ARP获取解析MAC地址,用解析MAC地址替换数据包的目标MAC地址,修改数据包的源MAC地址为网关本地IP地址对应的MAC地址,转发数据包,然后执行步骤S1;
S5:判断数据包是否为ARP数据包,如果是则执行步骤S6,否则执行步骤S9;
S6:将数据包的源MAC地址记录到CAM表中,判断ARP数据包的内部目标IP地址是否为本网关,如果是,则以网关本地IP地址对应的MAC地址封装回复ARP数据包,否则判断ARP数据包的内部目标IP地址是否为代理地址池中的地址,如果是则执行步骤S7,否则执行步骤S8;
S7:将预设的隧道目标IP地址作为目标IP地址,隧道本地IP地址作为源IP地址构建新IP头,并将收到的ARP数据包的二层帧结构进行数据封装,然后依据新IP头的目标IP地址进行隧道路由;
S8:丢弃该数据包,执行步骤S1;
S9:判断数据包中内部目标IP地址是否为代理地址池中的地址,如果是则执行步骤S7,否则执行步骤S10;
S10:根据数据包的内部目标IP地址查询路由表进行路由处理。
其中,所述的隧道路由具体流程为:
当网段Net1中的主机PC1与网段Net2中的主机PC2进行通信时,其过程为:
A1:PC1首先发送ARP协议包,ARP协议包的内部目标IP地址为PC2的IP地址,该地址预设在网关1的代理地址池中;
A2:Net1网段中的其他主机收到ARP请求后,由于ARP协议包的目标地址与自身的地址不匹配,因此不会回复ARP协议包;
A3:Net1的网关1收到ARP请求后,发现ARP协议包的内部目标IP地址与网关1代理地址池中的地址相匹配,则为该数据包封装新的外部IP头,外部IP头的源IP地址设为隧道本地IP地址,目标IP地址设为隧道目标IP地址,并依据目标IP地址通过隧道进行传输;
A4:数据包到达Net2的网关2,网关2通过判断目标IP地址和源IP地址后发现为隧道数据包,因此将数据包外部IP头去掉;
A5:网关2查看数据包的内部目标IP地址,进一步判断是做ARP还是查询缓存后直接路由;
A6:数据包到达PC2;
A7:PC2重复与步骤A1~A6相反的过程返回数据包,数据包途经网关1和网关2时,PC2的MAC地址都会被记录到CAM表中。
网关1的隧道本地IP地址和网关2的隧道本地IP地址可以为相同的地址,也可以为不同的地址,并不影响整个协议的运行。
本发明的有益效果:在通信主机的工作原理保持不变的情况下,通过对网关设置代理地址池、隧道本地IP地址和隧道目标IP地址三个参数,使不同网络相同IP地址段的主机处在同一个广播域中,进而在使同一广播域内使用的传统协议能够正常运行。
附图说明
图1是本发明的网络架构整体示意图;
图2是本发明隧道封装的数据包结构示意图;
图3是本发明网关工作流程示意图。
具体实施方式
以下结合附图和具体实施例对本发明的技术方案作进一步说明。
如图1、3所示,一种XinIP的跨广播域数据通信方法,该方法保持传统通信主机和传统以太网二层设备的工作原理不变,对网关设置代理地址池、隧道本地IP地址和隧道目标IP地址三个参数,其中,代理地址池是由与本地网段相一致但地址不同的地址构成的地址池,地址池里面的地址可以是不连续的;隧道本地IP地址是用来做隧道构建新IP头源地址字段的地址;隧道目标IP地址是用来做隧道构建新IP头目标地址字段的地址;图1中骨干网为公司内部网络或互联网。
网关具体通信方法如下:
S1:等待数据包,当网关收到数据包后,判断数据包是否为从隧道中接收的隧道数据包,并作出处理,判断的依据为:查看接收到数据包IP头中的目标IP地址和源IP地址是否分别为本网关预设的隧道本地IP地址和隧道目标IP地址,如果是,则说明为隧道数据包执行步骤S2,否则执行步骤S5;
S2:删除数据包最外面的IP包头,将数据包的源MAC地址记录到CAM表中,根据数据包的内部目标IP地址判断能否在CAM表中查询到相应记录,如果能查询到则执行步骤S3,否则执行步骤S4;
S3:修改数据包的目标MAC地址为CAM表中查询到的MAC地址,修改数据包的源MAC地址为网关本地IP地址对应的MAC地址,转发数据包,然后执行步骤S1;
S4:根据内部目标IP地址做ARP获取解析MAC地址,用解析MAC地址替换数据包的目标MAC地址,修改数据包的源MAC地址为网关本地IP地址对应的MAC地址,转发数据包,然后执行步骤S1;
S5:判断数据包是否为ARP数据包,如果是则执行步骤S6,否则执行步骤S9;
S6:将数据包的源MAC地址记录到CAM表中,判断ARP数据包的内部目标IP地址是否为本网关,如果是,则以网关本地IP地址对应的MAC地址封装回复ARP数据包,否则判断ARP数据包的内部目标IP地址是否为代理地址池中的地址,如果是则执行步骤S7,否则执行步骤S8;
S7:将预设的隧道目标IP地址作为目标IP地址,隧道本地IP地址作为源IP地址构建新IP头,并将收到的ARP数据包的二层帧结构进行数据封装,封装的数据包结构如图2所示,然后依据新IP头的目标IP地址进行隧道路由;
S8:丢弃该数据包,执行步骤S1;
S9:判断数据包中内部目标IP地址是否为代理地址池中的地址,如果是则执行步骤S7,否则执行步骤S10;
S10:根据数据包的内部目标IP地址查询路由表进行路由处理。
其中,CAM是Content-Addressable Memory的缩写,表示中央地址存储器,主要用来保存MAC地址和端口之间的映射关系。
XinIP与传统的IPinIP的区别在于任何内容都可以包含在IP头中,即ARP、以太网、IPSec等数据包都可以封装进我们构建的隧道中,并根据最外面的IP头路由到对方网关,对方网关解包后再做相应的处理。
隧道封装数据包中包含目标IP地址和内部目标IP地址,目标IP地址是构建的IP头中的目标IP地址,其作用是将封装后的数据包发送到对应的网关,网关解包后获取数据包的内部目标IP地址,从而根据内部目标IP地址进行路由处理。
所述的隧道路由具体流程为:
当网段Net1中的主机PC1与网段Net2中的主机PC2进行通信时,其过程为:
A1:PC1首先发送ARP协议包,ARP协议包的内部目标IP地址为PC2的IP地址,该地址预设在网关1的代理地址池中;
A2:Net1网段中的其他主机收到ARP请求后,由于ARP协议包的目标地址与自身的地址不匹配,因此不会回复ARP协议包;
A3:Net1的网关1收到ARP请求后,发现ARP协议包的内部目标IP地址与网关1代理地址池中的地址相匹配,则为该数据包封装新的外部IP头,外部IP头的源IP地址设为隧道本地IP地址,目标IP地址设为隧道目标IP地址,并依据目标IP地址通过隧道进行传输;
A4:数据包到达Net2的网关2,网关2通过判断目标IP地址和源IP地址后发现为隧道数据包,因此将数据包外部IP头去掉;
A5:网关2查看数据包的内部目标IP地址,进一步判断是做ARP还是查询缓存后直接路由;
A6:数据包到达PC2;
A7:PC2重复与步骤A1~A6相反的过程返回数据包,数据包途经网关1和网关2时,PC2的MAC地址都会被记录到CAM表中,具体步骤如下:
B1:PC2回复ARP协议包,源IP地址设置为自己的IP地址,内部目标IP地址设置为PC1的IP地址,回复数据包;
B2:数据包到达Net2的网关2,网关2发现目标地址与网关2代理地址池中的地址相匹配,为该数据包封装新的外部IP头,外部IP头的源IP地址设为隧道本地IP地址,目标IP地址设为隧道目标IP地址,并依据目标IP地址通过隧道进行传输;
B3:数据包到达Net1的网关1,网关1通过判断目标IP地址和源IP地址后发现为隧道数据包,因此将数据包外部IP头去掉;
B4:网关1查看数据包的内部目标IP地址,路由数据包;
B5:数据包到达PC1,PC1从ARP回复包中获得PC2的目标MAC地址。
由此可见,本发明所提供的XinIP的跨广播域数据通信方法能够在通信主机的工作原理保持不变的情况下,使不同网络相同IP地址段的主机在同一个广播域中,进而使在同一广播域内使用的传统协议能够正常运行。
Claims (2)
1.一种XinIP的跨广播域数据通信方法,XinIP的含义是将ARP数据包、以太网数据包、IPsec数据包包含在IP头中,其特征在于:该方法对网关设置代理地址池、隧道本地IP地址和隧道目标IP地址三个参数,网关具体通信方法如下:
S1:等待数据包,当网关收到数据包后,判断数据包是否为从隧道中接收的隧道数据包,如果是,则执行步骤S2,如果不是,则执行步骤S5;
S2:删除数据包最外面的IP包头,将数据包的源MAC地址记录到CAM表中,根据数据包的内部目标IP地址判断能否在CAM表中查询到相应记录,如果能查询到则执行步骤S3,否则执行步骤S4;
S3:修改数据包的目标MAC地址为CAM表中查询到的MAC地址,修改数据包的源MAC地址为网关本地IP地址对应的MAC地址,转发数据包,然后执行步骤S1;
S4:根据内部目标IP地址做ARP获取解析MAC地址,用解析MAC地址替换数据包的目标MAC地址,修改数据包的源MAC地址为网关本地IP地址对应的MAC地址,转发数据包,然后执行步骤S1;
S5:判断数据包是否为ARP数据包,如果是则执行步骤S6,否则执行步骤S9;
S6:将数据包的源MAC地址记录到CAM表中,判断ARP数据包的内部目标IP地址是否为本网关,如果是,则以网关本地IP地址对应的MAC地址封装回复ARP数据包,否则判断ARP数据包的内部目标IP地址是否为代理地址池中的地址,如果是则执行步骤S7,否则执行步骤S8;
S7:将预设的隧道目标IP地址作为目标IP地址,隧道本地IP地址作为源IP地址构建新IP头,并将收到的ARP数据包的二层帧结构进行数据封装,然后依据新IP头的目标IP地址进行隧道路由;
S8:丢弃该数据包,执行步骤S1;
S9:判断数据包中内部目标IP地址是否为代理地址池中的地址,如果是则执行步骤S7,否则执行步骤S10;
S10:根据数据包的内部目标IP地址查询路由表进行路由处理;
所述的隧道路由具体流程为:
当网段Net1中的主机PC1与网段Net2中的主机PC2进行通信时,其过程为:
A1:PC1首先发送ARP协议包,ARP协议包的内部目标IP地址为PC2的IP地址,该地址预设在网关1的代理地址池中;
A2:Net1网段中的其他主机收到ARP请求后,由于ARP协议包的目标IP地址与自身的地址不匹配,因此不会回复ARP协议包;
A3:Net1的网关1收到ARP请求后,发现ARP协议包的内部目标IP地址与网关1代理地址池中的地址相匹配,则为该数据包封装新的外部IP头,外部IP头的源IP地址设为隧道本地IP地址,目标IP地址设为隧道目标IP地址,并依据目标IP地址通过隧道进行传输;
A4:数据包到达Net2的网关2,网关2通过判断目标IP地址和源IP地址后发现为隧道数据包,因此将数据包外部IP头去掉;
A5:网关2查看数据包的内部目标IP地址,进一步判断是做ARP还是查询缓存后直接路由;
A6:数据包到达PC2;
A7:PC2重复与步骤A1~A6相反的过程返回数据包,数据包途经网关1和网关2时,PC2的MAC地址都会被记录到CAM表中。
2.根据权利要求1所述的一种XinIP的跨广播域数据通信方法,其特征在于:网关1的隧道本地IP地址和网关2的隧道本地IP地址可以为相同的地址,也可以为不同的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610026031.3A CN105681486B (zh) | 2016-01-15 | 2016-01-15 | 一种XinIP的跨广播域数据通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610026031.3A CN105681486B (zh) | 2016-01-15 | 2016-01-15 | 一种XinIP的跨广播域数据通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681486A CN105681486A (zh) | 2016-06-15 |
CN105681486B true CN105681486B (zh) | 2018-11-23 |
Family
ID=56300862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610026031.3A Active CN105681486B (zh) | 2016-01-15 | 2016-01-15 | 一种XinIP的跨广播域数据通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681486B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147382B (zh) * | 2019-12-31 | 2021-09-21 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
CN112039920B (zh) * | 2020-09-14 | 2022-02-22 | 迈普通信技术股份有限公司 | 通信方法、装置、电子设备及存储介质 |
CN112738661B (zh) * | 2020-12-15 | 2022-05-31 | 广西广播电视信息网络股份有限公司 | 一种在i-pon网络的广播通道上实现双向下行加速的方法 |
CN116112315B (zh) * | 2022-12-27 | 2024-05-10 | 广东中兴新支点技术有限公司 | 一种跨网段通信传输方法、***、设备及存储介质 |
CN116455686B (zh) * | 2023-06-15 | 2023-09-01 | 银河互联网电视有限公司 | 应急广播平台的消息播发方法和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447752A (zh) * | 2012-02-09 | 2012-05-09 | 杭州华三通信技术有限公司 | 基于二层隧道协议的业务访问方法、***和装置 |
CN102710812A (zh) * | 2012-06-20 | 2012-10-03 | 华为技术有限公司 | 一种建立隧道的方法、用户设备及nni接口网关 |
CN103701950A (zh) * | 2013-12-26 | 2014-04-02 | 中国联合网络通信集团有限公司 | 一种ip地址的分配方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2429121T3 (es) * | 2008-03-20 | 2013-11-13 | Telefonaktiebolaget L M Ericsson (Publ) | Método y aparato para comunicación de paquetes de datos entre redes locales |
-
2016
- 2016-01-15 CN CN201610026031.3A patent/CN105681486B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447752A (zh) * | 2012-02-09 | 2012-05-09 | 杭州华三通信技术有限公司 | 基于二层隧道协议的业务访问方法、***和装置 |
CN102710812A (zh) * | 2012-06-20 | 2012-10-03 | 华为技术有限公司 | 一种建立隧道的方法、用户设备及nni接口网关 |
CN103701950A (zh) * | 2013-12-26 | 2014-04-02 | 中国联合网络通信集团有限公司 | 一种ip地址的分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105681486A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681486B (zh) | 一种XinIP的跨广播域数据通信方法 | |
EP3065358B1 (en) | Method and device for message forwarding | |
US11019026B2 (en) | Method for applying TCP/IP protocol in mesh network | |
EP3198822B1 (en) | Computer network packet flow controller | |
US9088546B2 (en) | Establishing an IPSEC (internet protocol security) VPN (virtual private network) tunnel and encapsulating non-IP packets | |
CN103546374B (zh) | 一种边缘二层网络中转发报文的方法和装置 | |
US9276871B1 (en) | LISP stretched subnet mode for data center migrations | |
CN104601472B (zh) | 在芯片中实现vxlan网关分布式路由的方法及报文处理*** | |
WO2016173271A1 (zh) | 报文处理方法、设备及*** | |
US10263808B2 (en) | Deployment of virtual extensible local area network | |
EP2893676B1 (en) | Packet forwarding | |
EP2466817A1 (en) | Virtual private network implementation method and system | |
CN104427010A (zh) | 应用于动态虚拟专用网络的网络地址转换方法和装置 | |
CN105531966B (zh) | 一种网络中实现报文路由的方法、设备和*** | |
CN105917617B (zh) | 针对校园网中的线路速率性能的单跳叠加架构 | |
US11128557B2 (en) | Tunnel-based routing calculation in software- defined networking (SDN) environments | |
EP3292663B1 (en) | Packet forwarding | |
US20190215191A1 (en) | Deployment Of Virtual Extensible Local Area Network | |
EP2721779A1 (en) | Communication mechanism for multiple interface network nodes | |
CN102546349A (zh) | 一种报文转发方法和设备 | |
US11088935B2 (en) | Tunnel-based routing calculation with address exclusion in software defined networking (SDN) environments | |
CN105933235B (zh) | 数据通信方法及装置 | |
CN103379187A (zh) | 一种数据处理方法及网关网元 | |
CN108282404B (zh) | 一种路由生成方法、装置及*** | |
JP2013162466A (ja) | Lispネットワークの通信方法および通信中継装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |