一种点到点透传的实现方法 【技术领域】
本发明涉及数据通信领域,具体地说,涉及同类型网络之间点到点透明传输的实现方法。
背景技术
当今网络互连技术经过多年的发展,形成了众多不同的协议簇。而目前的骨干网的解决方案则呈现统一的趋势,IP成为了主流。一些早期建设的网络由于不能兼容IP网络形成了互联网上的孤岛,例如支持Appletalk、IPX等协议的网络。为保护已有的投资,各种解决这些孤岛互连的技术发展起来。目前常用的是隧道技术。它实现了一种通用的网络层协议承载在另一种网络层协议的解决方案。
其组网图如图1所示,其中Net1与Net2表示被接入网络,例如支持Appletalk、IPX、DECnet、SNA等协议的网络,Net1与Net2互为发送与接收网络,中间隧道通过的网络为骨干网,骨干网是支持IP协议的互联网络。网络Net1和Net2通过接入设备之间的一条隧道实现跨越骨干网互连。现有技术接入设备实现同种网络之间点到点透传的示意图如图2所示。现有技术实现点到点透传地过程如下:
a)接入设备1收到Net1的报文后通过解析,在链路层去掉链路层协议头,在网络层进行GRE(通用路由封装)封装,由于GRE封装时GRE头中需要填充Net1的网络类型,所以接入设备必须知道Net1的类型,封装后再根据IP协议进行封装,然后完全由IP网络负责此报文的向前传输;
b)接入设备2接收从IP网来的报文,在网络层去IP封装、GRE封装,并根据GRE封装时Net1的类型,解析出原来的报文,通过网络层的转发,在链路层重新加上链路层协议头,发送给Net2。
由此可见,现有技术在GRE封装与去封装时要求接入设备预先知道被接入网络的网络类型。这样,针对不同的被接入网络,在GRE封装与去封装时需要不同的协议来实现。因此这种方法实现比较复杂,由于需要了解被接入网的技术细节,不具备通用性。尤其对于一些特殊应用场合如视频采集,各厂商生产的设备千差万别,所遵循的协议亦不相同,接入设备很难了解被接入网络的实现细节,无法完成网络互连。
【发明内容】
本发明的目的是要为这种点到点透传的情况提供一种简单通用的解决方案。
在没有中间骨干网的时候,直接将发送网络(如Net1)和接收网络(如Net2)连接起来,其连接应该是点到点的连接,并且Net1和Net2通过此连接可以直接互通,成为一个网络。在Net1和Net2之间插入接入设备和骨干网以后,中间的隧道只要能将数据报文原样透传即可,而无须做任何其他处理。这样提供隧道接入的设备无须关心两端接入网络的协议类型和具体配置情况,直接完成网络的互连。因此,本发明实现无协议点到点透传的过程如下:
a).在本端接入设备与对端接入设备建立关联表,指定其接口与隧道的隧道号的对应关系;
b).本端接入设备对从接口接收的来自发送网络的报文,从关联表中查找与接口对应的隧道号,进行GRE封装,并指定其GRE报文类型为无协议封装,屏蔽通信双方所采用的协议,封装后的报文在此隧道号的隧道上透传;
c).对端接入设备对从该隧道号的隧道上收的报文去GRE封装,从关联表中查找与此隧道号对应的接口,将报文通过此接口发送给接收网络。
在此基础上,当一对接入设备多对接口间所形成的多个点到点的虚连接并且共用同一隧道时(本发明不涉及走不同隧道的情况),工作过程如下:
a).在本端接入设备与对端接入设备均建立相同的关联表,指定接口、虚连接ID、隧道的隧道号三者的对应关系;
b).本端接入设备对从接口接收的来自发送网络的报文,从关联表中查找与接口对应的隧道号与虚连接ID,在报文前边加上与接口相对应的虚连接ID,进行GRE封装,并指定其GRE报文类型为无协议封装,屏蔽通信双方所采用的协议,封装后的报文在相对应隧道号的隧道上透传;
c).对端接入设备对从隧道上接收的报文去GRE封装,从关联表中查找与虚连接ID、隧道号对应的接口,并去掉报文中的虚连接ID,将报文通过查找的接口发送给接收网络。
上述的点到点透传的方法,使用GRE协议中未定义类型表示GRE无协议封装。
上述的点到点透传的方法中所述的接口是指提供数据收发的通道,可以是同步/异步这样的物理接口,也可以是逻辑接口。
这种方法对被接入网络发送的报文直接进行本发明所述的GRE封装,屏蔽了通信双方所采用的协议,即不需了解被接入网络的类型,因而具有简单通用的优点。当应用于视频采集系统中时,各厂商生产的设备千差万别,所遵循的协议亦不相同,接入设备难以了解视频采集系统设备所遵循的协议的情况下,这种方法有着很强的适用性。
【附图说明】
图1是现有技术中实现点到点透传的组网示意图;
图2是图1中接入设备实现点到点透传的示意图;
图3是本发明的接入设备实现一对点到点无协议透传的示意图;
图4是本发明的接入设备实现图3中一对点到点无协议透传的流程框图;
图5是本发明的接入设备实现多对点到点无协议透传的示意图;
图6是本发明的接入设备实现图5中多对点到点无协议透传的流程框图。
【具体实施方式】
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图对本发明进一步详细说明。
图3是本发明的接入设备实现一对点到点无协议透传的示意图。如图所示,接入设备1在网络层完成发送网络Net1报文的接入和本发明的GRE封装,然后发送到隧道上;接入设备2在网络层接收隧道发送来的报文,根据GRE协议去封装,然后将报文发送给接收网络Net2。
图4是本发明的接入设备实现图3中一对点到点无协议透传的流程图,工作过程如下:
401:在本端接入设备1与对端接入设备2中均建立如下所示的静态关联表,纪录接口号S1与隧道号Tunnel1的对应关系;接入设备接口对应的隧道S1 Tunnel1
402:本端接入设备1的接口S1完成发送网络Net1的报文接入;
403:本端接入设备1对从接口S1接收的Net1报文,在关联表中查找与接口S1对应的隧道Tunnel1,在网络层进行本发明的GRE封装,在封装时指定该GRE报文类型为无协议封装(建议使用0X0880表示),然后从此隧道将报文发送出去;
404:对端接入设备2从隧道Tunnel1接到此报文以后,在网络层根据GRE协议去封装,从关联表中查找到与此隧道Tunnel1所对应的接口S1,然后从此接口S1发送给接收网络Net2。
图5是本发明的接入设备实现多对点到点无协议透传的示意图。如图所示,以本端接入设备1与对端接入设备2的三对接口S1、S2、S3所形成的三个点到点的虚连接共用同一隧道实现点到点透传为例进行说明。A1与B1、A2与B2、A3与B3分别表示一对同类型的被接入网络,A1、A2、A3分别从本端接入设备1的S1、S2、S3接口接入,本端接入设备1在从接口接收到的报文前边分别加ID号C1、C2、C3,进行GRE封装,然后在隧道中传输;在对端接入设备2中去GRE封装C1、C2、C3,去ID号,最后从接口S1、S2、S3发送到接收网络B1、B2、B3。
图6是本发明的接入设备实现图5中多对点到点无协议透传的流程图,工作过程如下:
601:由于多个虚连接公用一个隧道,所以需要区分,因此本端接入设备1与对端接入设备2均需要维护下边这样一张静态关联表,来纪录接口号S1、S2、S3、虚连接ID C1、C2、C3与隧道号Tunnel1间的对应关系;接入设备接口对应的虚连接ID对应的隧道 S1 C1 Tunnel1 S2 C2 Tunnel1 S3 C3 Tunnel1
602:本端接入设备1的接口S1、S2、S3完成发送网络A1、A2、A3的报文接入;
603:本端接入设备1在关联表中查找接收报文的接口S1、S2、S3所对应的虚连接ID C1、C2、C3与隧道号Tunnel1,在收到的报文前边加上相应虚连接ID,接着进行GRE封装,封装时须指定新的GRE报文类型为无协议封装(建议使用0X0880表示),然后根据关联表指定的隧道号利用与该隧道号对应的隧道将报文发送出去;
604:对端接入设备2接收来自隧道发送的报文,根据GRE协议去封装,接着根据报文中的虚连接ID在关联表中查找与其对应的接口S1、S2、S3,去掉虚连接ID,然后从相应的接口将报文发送给接收网络。