一种实现不同通信协议设备间信息传输的方法

文档序号:7588975阅读:2276来源:国知局
专利名称:一种实现不同通信协议设备间信息传输的方法
技术领域
本发明涉及通信设备间的互连技术,特别涉及一种实现不同通信协议设备间信息传输的方法。
背景技术
随着网络技术,尤其是无线网络技术的飞速发展,使得各种通信设备的互连成为可能。各种网络标准如蓝牙、红外、802.11、802.3等有线和无线通信标准,在开放式系统互联参考模型(OSI)网络协议的不同层次部分的解决了特殊通信设备的互连问题。如何把目前现存的各种不同层次的网络协议实现的设备有效的连接起来,实现多种不同通信设备的互连互通是一个当前需要解决的问题。
目前的TCP/IP协议是一个与具体的低层的物理链路无关的通信协议族,它在某种程度上可以达到把具有多种不同网络介质或同介质不同物理链路连接成一个逻辑的网络的目的,可以实现多种通信设备的互连互通,但是该协议的解决方案有一定的局限性。
首先,每个设备上必须运行TCP/IP协议栈,有些资源有限的设备上,如手机,可能无法运行一个哪怕是精简版本的协议堆栈,以TCP/IP协议栈作为设备之间通信的基础,限制了当前设备互连的应用范围。
其次,针对目前的无线网络,在TCP/IP协议标准中,缺乏对单跳无线网络的支持,无线设备无法通过中间设备的中转与其他超过直接无线传输距离的设备通信。
可见,目前还没有一种有效的方法解决多种传输介质、物理链路、不同通信协议设备之间互连问题。

发明内容
有鉴于此,本发明的目的在于提供一种实现不同通信协议设备间信息传输的方法,解决多种传输介质、物理链路、不同通信协议通信设备之间互连问题。
为达到上述目的,本发明提供了一种实现不同通信协议设备间信息传输的方法,该方法包括以下步骤1)预先为每个通信设备、每个通信设备的每个链路端口及其使用的通信协议分别设置不同的标识符;2)将信息传输过程分为两个层次网络互连层和具体传输层;其信息传输过程包括a、源通信设备将要传输的信息、源通信设备标识符、目标通信设备标识符封装为网络互连层数据;b、源通信设备将其到目标通信设备的路由信息封装到网络互连层数据中;c、源通信设备根据网络互连层数据中的路由信息,通过地址绑定协议获得源通信设备和该路由的下一个通信设备链路端口的通信协议标识符,并将获得的链路端口的通信协议标识符和网络互连层数据封装为具体传输层数据,按照该具体传输层数据中标识的通信协议、通过该具体传输层数据中标识的链路端口发送到下一个通信设备;d、如果收到具体传输层数据的通信设备是目标通信设备,则该设备从具体传输层数据中读取源通信设备将要传输的信息;如果收到具体传输层数据的通信设备不是目标通信设备,则根据收到的具体传输层数据中网络互连层数据的路由信息,获得源通信设备和该路由的下一个通信设备链路端口的通信协议标识符,并获得该路由的下一个通信设备的链路端口的通信协议标识符,并将获得的链路端口的通信协议标识符和收到的具体传输层数据中网络互连层数据封装为新的具体传输层数据,按照新的具体传输层数据中标识的通信协议、通过新的具体传输层数据中标识的链路端口发送到该路由的下一个通信设备;下一个通信设备执行本步骤,直到收到具体传输层数据的通信设备是目标通信设备。
其中,所述步骤1)可以进一步包括为每个通信设备的进程分别设置不同的标识符;所述步骤2)进一步分出传输层;所述步骤a前进一步包括源通信设备将要传输的信息、源通信设备的源进程标识符、目标通信设备的目标进程标识符封装为传输层数据;所述步骤a为源通信设备将传输层数据、源通信设备标识符、目标通信设备标识符封装为网络互连层数据;所述步骤d进一步包括收到具体传输层数据的通信设备是目标通信设备时,该通信设备根据数据中目标通信设备的目标进程标识符,发送给标识的目标进程。
所述步骤b可以为若源通信设备没有保存其到目标通信设备的路由信息,则使用路由协议发起路由查找过程获得路由信息,将获得的路由信息保存,并封装到网络互连层数据中;若源通信设备已保存其到目标通信设备的路由信息,则直接将该路由信息封装到网络互连层数据中。
步骤b所述的路由查找过程可以包括b1、源通信设备通过所有的链路端口广播路由请求消息;该请求消息包含源通信设备发送请求消息的链路端口标识符、目的通信设备标识符、由源通信设备生成的唯一的消息标识号,该消息要经过的转发该消息的中间设备的路由列表,该列表由源通信设备初始化为空列表;b2、通信设备通过链路端口收到路由请求消息后,将请求消息中的源通信设备发送请求消息的链路端口标识符,和本设备接收该消息的链路端口标识符填入请求消息的路由列表;如果本设备不是目的通信设备,则执行步骤b3,否则执行步骤b4;b3、本设备把自身的设备标识符、本设备接收路由请求消息的链路端口和转发路由请求消息的链路接口标识符加入到路由请求消息的路由列表中,以相同的消息标识号将该路由请求消息,通过本设备除接收该路由请求消息的所有链路接口,广播转发该路由请求消息;收到路由请求消息的通信设备执行本步骤;如果本设备是目的通信设备,则执行步骤b4;b4、目的通信设备把路由请求消息中的路由列表保存下来,作为本设备到源通信设备的路由信息,并将路由列表通过路由响应消息返回给源通信设备,源通信设备收到路由响应消息后把路由列表保存下来,结束路由查找。
该方法中,如果通信设备收到的从同一个源通信设备的路由请求消息中含有已经处理的路由请求消息标识号或者路由列表中已经含有自身的记录,则可以丢弃该路由请求消息。
步骤c所述的获得通信协议标识符的方法可以包括本通信设备通过路由信息中的物理链路端口,向被连接在该端口的所有设备发送地址请求消息,消息中包括本通信设备标识符、本通信设备链路端口的通信协议标识符、下一个通信设备标识符,且其中为下一个通信设备链路端口的协议标识符预留一个字段;当下一个通信设备收到地址请求消息时,将本通信设备接收该地址请求消息的链路端口的协议标识符填入地址请求消息预留的字段中,并通过地址响应消息,将其返回给发送地址请求消息的通信设备。
该方法可以进一步包括,目的通信设备收到具体传输层数据后,按源通信设备生成和传输具体传输层数据的方法,生成应答消息返回给源通信设备。
源通信设备在预定时间未收到应答消息,则可以将生成的具体传输层数据以同样的方法重新传输给目的通信设备。
该方法还可以进一步包括,目的通信设备根据自身对接收信息的处理情况,向源通信设备发送降低/提高传输速度的通告,源通信设备收到该通告后,降低/提高发送速度。
由本发明的技术方案可见,本发明的这种实现不同通信协议设备间信息传输的方法,将信息传输过程分为不同的层次,在网络互连层获得路由信息,在具体传输层根据路由信息映射出通信设备自身支持的通信协议,使用该通信协议通过各个设备的具体链路接口来传输信息,实现了多种传输介质、物理链路、不同通信协议通信设备之间的互连互通。


图1为本发明一个较佳实施例的各层协议数据封装示意图;图2为图1所示实施例的网络结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明的这种实现不同通信协议设备间信息传输的方法,将信息传输过程分为不同的层次,参见图1,图1为本发明一个较佳实施例的各层协议数据封装示意图。本实施例中,信息传输过程分为了三个不同的层次可靠传输/不可靠传输层、网络互连层和具体传输层。
可靠传输/不可靠传输层(ReliableTransportProtocol/RTP、UnReliableTransportProtocol/URTP),采用可靠传输协议/不可靠传输协议。可靠的传输协议,建立进程间的可靠的、有序的、流控的、单工的通信链路控制。不可靠的传输协议,建立进程间的通信链路控制,但是不保障消息的可靠的、有序的传递,不可靠的传输协议比较RTP协议,有较小的资源占用、较快的传输带宽、和较低的延迟。如图1所示该层数据包括协议头(RTPHead)和APP(请给中文?)消息。
网络互连层(NetworkInterconnectProtocol/NIP),主要作用是在不同的具体传输协议接收和转发消息。如图1所示该层数据包括协议头(NIPHead)、RTP消息、路由协议(RP)消息还包含安全协议消息。
具体传输层(ConcreteTransportProtocol/CTP),是本发明实现信息传输依赖的物理的通信协议,如http、TCP协议等,它只是在直接相连的设备之间传递信息。头部的格式是不需要定义的。如图1所示该层数据包括HTTP(或其他协议)消息、NIP消息、地址绑定协议(ABP)消息。
图2为图1所示实施例的网络结构示意图。该网络中包含了设备1、设备2、设备3和设备4,其中设备1有进程1~n,n个进程;设备2也有进程1~n,n个进程;设备3有进程1~3,3个进程;设备4也有进程1~n,n个进程。设备1通过TCP/IP协议与设备2相连,设备2通过不支持TCP/IP协议串口与设备3相连,设备2通过TCP/IP协议与设备4相连。
本实施例中为了在不同的设备之间的不同进程之间通信,需要一系列的标识符(地址)来区分不同的设备、通信链路、进程等。下面对以下用到的一些地址名称进行说明1、设备ID每一个设备在网络中的具有唯一性的标识符2、链路端口设备上的硬件的地址,如eth0,com1等等3、具体的通信协议地址运行在一定硬件地址上的具体的通信协议地址,如tcp//xxx.xxx.xxx.xxx8080,udp//xxx.xx.xx.xx80884、进程地址,可以用端口号PortNumber来标识,设备上区分不同进程的地址,可以借用Port的概念命名。
以下对设备1上的进程1和设备3上的进程3之间进行可靠的信息传输的过程进行具体说明。该过程包括以下步骤步骤1,在可靠传输/不可靠传输层,设备1上进程1向设备3上进程3发送消息,消息在<Data>中封装。具体的说设备1将要传输的信息、设备1上进程1的标识符、设备3上进程3的标识符封装为传输层数据。
步骤2,传输层数据被传递到网络层,首先被添加上设备1、设备3的地址信息,形成网络互连层数据。
步骤3,本实施例中,设备1没有保存其到通信设备3的路由信息,设备1不知道如何把消息从设备1发送到设备3,所以设备1使用路由协议发起路由查找过程获得路由信息,将获得的路由信息保存,并封装到网络互连层数据中。如果设备1已保存其到设备2的路由信息,则直接将该路由信息封装到网络互连层数据中。
本实施例是通过下述步骤进行的路由查找步骤(31),设备1通过所有的链路端口广播路由请求消息;该请求消息包含设备1发送请求消息的链路端口标识符、设备3标识符、由设备1生成的唯一的消息标识号,该消息要经过的转发该消息的中间设备的路由列表,该列表由源通信设备初始化为空列表。
步骤(32),设备2通过链路端口收到路由请求消息后,将请求消息中的设备1送请求消息的链路端口标识符,和本设备接收该消息的链路端口标识符填入请求消息的路由列表;步骤(33),设备2不是目标通信设备,设备2把自身的设备标识符、本设备接收路由请求消息的链路端口和转发路由请求消息的链路接口标识符加入到路由请求消息的路由列表中,以相同的消息标识号将该路由请求消息,通过本设备除接收该路由请求消息的所有链路接口,广播转发该路由请求消息;收到路由请求消息的通信设备执行本步骤;如果本设备是目的通信设备,则执行步骤b4;步骤(34),设备3是目标通信设备,其收到路由请求消息后把路由请求消息中的路由列表保存下来,作为设备3到设备1的路由信息,并将路由列表通过路由响应消息返回给设备1,设备1收到路由响应消息后把路由列表保存下来,结束路由查找。
本实施例中,该路由响应消息必须运行在双向通道上。如果是单向通信通道,返回路由响应消息前,应该发起从目标设备到发起设备的路由发现过程,为了避免路由发现过程的无线嵌套,在该路由请求中应该包含已经得到的从发起者到目的设备的路由列表,通过第二次路由发现,通过携带返回路由消息把路由信息回传给发起者。路由查找和路由维护是按需启动的。网络中不产生周期的消息交换,降低对网络带宽的消耗。中间的设备可以缓存路由信息,可以加速路由的查找;当路由故障时,可以立刻提供其他备用的路由。
在路由查找过程中,如果通信设备收到的从同一个源通信设备的路由请求消息中含有已经处理的路由请求消息标识号或者路由列表中已经含有自身的记录,则丢弃该路由请求消息。
步骤4,网络互连层数据被传递到具体传输层,该数据首先要被传递给设备2,但是此时设备1不知道设备2链路端口的通信协议地址,其根据网络互连层数据中的路由信息,通过地址绑定协议获得设备1和该路由的设备2链路端口的通信协议标识符,并将获得的链路端口的通信协议标识符和网络互连层数据封装为具体传输层数据,用数据中标识的通信协议、通过数据中标识的链路端口发送到设备2。
本实施例进行地址映射的过程包括步骤(41),设备1通过路由信息中的物理链路端口,向被连接在该端口的所有设备发送地址请求消息,本实施例就是向设备2发送地址请求消息,该消息中包括本通信设备标识符、本通信设备链路端口的通信协议标识符,其标识该端口以TCP/IP协议传输信息、设备2标识符,且其中为下设备2链路端口的协议标识符预留了一个字段。
步骤(42),设备2收到地址请求消息时,将本通信设备接收该地址请求消息的链路端口的协议标识符填入地址请求消息预留的字段中,并通过地址响应消息,将其返回给发送地址请求消息的设备1。
步骤5,设备2收到具体传输层数据后,发现本设备不是目标通信设备,则根据路由信息向设备3转发,同样通过地址绑定协议,获得设备2链路端口的通信协议标识符,并将获得的链路端口的通信协议标识符和网络互连层数据封装为具体传输层数据,用数据中标识的通信协议、通过数据中标识的链路端口发送到设备3。
步骤6,设备3收到具体传输层数据后,发现本设备是目标通信设备,则将收到的具体传输层数据根据数据中目标通信设备的目标进程标识符,发送给标识的目标进程——进程3。
步骤7,进程3收到具体传输层数据后,从该具体传输层数据中读取源通信设备将要传输的信息;将应答信息、设备3上进程3的标识符、设备1上进程1的标识符封装为传输层数据,根据路由信息按上述步骤返回给设备1。
本实施例中,设备1上进程1将传输层数据传递给网络互连层后,等待上述步骤7返回的应答消息,该消息确认设备3上进程3收到了信息。本实施例可以采用多次超时重发策略,即如果设备1的进程1在预定时间未收到应答消息,则将生成的具体传输层数据以同样的方法重新传输给设备3的进程3,保证消息被设备3上进程3正确的收到。如果多次重发失败,则向进程1报告错误。
另外本实施例中,设备3可以根据自身对接收信息的处理情况,向设备1发送降低/提高传输速度的通告,源通信设备收到该通告后,降低/提高发送速度,以此来进行流量控制。
本实施例是将信息传输过程分成了三个层次,这能够进行源通信设备到目的通信设备的各个进程间的信息传输,实现多进程复用。如果采用本发明方法进行信息传输的网络中,每个通信设备都只有一个需要通信的进程,则可以不将传输层分出来,直接将源通信设备将要传输的信息、源通信设备标识符、目标通信设备标识符封装为网络互连层数据,采用上述的方法,也可以实现不同之间的互连互通。
由上述的实施例可见,本发明的这种实现不同通信协议设备间信息传输的方法,实现了多种传输介质、物理链路、不同通信协议通信设备之间的互连互通,能够保证信息有序、可靠、无重复的传输。
权利要求
1.一种实现不同通信协议设备间信息传输的方法,其特征在于,该方法包括以下步骤1)预先为每个通信设备、每个通信设备的每个链路端口及其使用的通信协议分别设置不同的标识符;2)将信息传输过程分为两个层次网络互连层和具体传输层;其信息传输过程包括a、源通信设备将要传输的信息、源通信设备标识符、目标通信设备标识符封装为网络互连层数据;b、源通信设备将其到目标通信设备的路由信息封装到网络互连层数据中;c、源通信设备根据网络互连层数据中的路由信息,获得源通信设备和该路由的下一个通信设备链路端口的通信协议标识符,并将获得的链路端口的通信协议标识符和网络互连层数据封装为具体传输层数据,按照该具体传输层数据中标识的通信协议、通过该具体传输层数据中标识的链路端口发送到下一个通信设备;d、如果收到具体传输层数据的通信设备是目标通信设备,则该设备从具体传输层数据中读取源通信设备将要传输的信息;如果收到具体传输层数据的通信设备不是目标通信设备,则根据收到的具体传输层数据中网络互连层数据的路由信息,获得源通信设备和该路由的下一个通信设备链路端口的通信协议标识符,并将获得的链路端口的通信协议标识符和收到的具体传输层数据中网络互连层数据封装为新的具体传输层数据;并按照新的具体传输层数据中标识的通信协议、通过数据中标识的链路端口将新的具体传输层数发送到该路由的下一个通信设备;下一个通信设备执行本步骤,直到收到具体传输层数据的通信设备是目标通信设备。
2.如权利要求1所述的信息传输方法,其特征在于,所述步骤1)进一步包括为每个通信设备的进程分别设置不同的标识符;所述步骤2)进一步分出传输层;所述步骤a前进一步包括源通信设备将要传输的信息、源通信设备的源进程标识符、目标通信设备的目标进程标识符封装为传输层数据;所述步骤a为源通信设备将传输层数据、源通信设备标识符、目标通信设备标识符封装为网络互连层数据;所述步骤d进一步包括收到具体传输层数据的通信设备是目标通信设备时,该通信设备根据数据中目标通信设备的目标进程标识符,发送给标识的目标进程。
3.如权利要求1所述的信息传输方法,其特征在于,步骤b为若源通信设备没有保存其到目标通信设备的路由信息,则使用路由协议发起路由查找过程获得路由信息,将获得的路由信息保存,并封装到网络互连层数据中;若源通信设备已保存其到目标通信设备的路由信息,则直接将该路由信息封装到网络互连层数据中。
4.如权利要求3所述的信息传输方法,其特征在于,步骤b所述的路由查找过程包括b1、源通信设备通过所有的链路端口广播路由请求消息;该请求消息包含源通信设备发送请求消息的链路端口标识符、目的通信设备标识符、由源通信设备生成的唯一的消息标识号,该消息要经过的转发该消息的中间设备的路由列表,该列表由源通信设备初始化为空列表;b2、通信设备通过链路端口收到路由请求消息后,将请求消息中的源通信设备发送请求消息的链路端口标识符,和本设备接收该消息的链路端口标识符填入请求消息的路由列表;如果本设备不是目的通信设备,则执行步骤b3,否则执行步骤b4;b3、本设备把自身的设备标识符、本设备接收路由请求消息的链路端口和转发路由请求消息的链路接口标识符加入到路由请求消息的路由列表中,以相同的消息标识号将该路由请求消息,通过本设备除接收该路由请求消息的所有链路接口,广播转发该路由请求消息;收到路由请求消息的通信设备执行本步骤;如果本设备是目的通信设备,则执行步骤b4;b4、目的通信设备把路由请求消息中的路由列表保存下来,作为本设备到源通信设备的路由信息,并将路由列表通过路由响应消息返回给源通信设备,源通信设备收到路由响应消息后把路由列表保存下来,结束路由查找。
5.如权利要求4所述的信息传输方法,其特征在于如果通信设备收到的从同一个源通信设备的路由请求消息中含有已经处理的路由请求消息标识号或者路由列表中已经含有自身的记录,则丢弃该路由请求消息。
6.如权利要求1所述的信息传输方法,其特征在于,步骤c所述的获得通信协议标识符的方法包括本通信设备通过路由信息中的物理链路端口,向被连接在该端口的所有设备发送地址请求消息,消息中包括本通信设备标识符、本通信设备链路端口的通信协议标识符、下一个通信设备标识符,且其中为下一个通信设备链路端口的协议标识符预留一个字段;当下一个通信设备收到地址请求消息时,将本通信设备接收该地址请求消息的链路端口的协议标识符填入地址请求消息预留的字段中,并通过地址响应消息,将其返回给发送地址请求消息的通信设备。
7.如权利要求1或2所述的信息传输方法,其特征在于,该方法进一步包括目的通信设备收到具体传输层数据后,按源通信设备生成和传输具体传输层数据的方法,生成应答消息返回给源通信设备。
8.如权利要求7所述的信息传输方法,其特征在于源通信设备在预定时间未收到应答消息,则将生成的具体传输层数据以同样的方法重新传输给目的通信设备。
9.如权利要求1所述的信息传输方法,其特征在于,该方法进一步包括目的通信设备根据自身对接收信息的处理情况,向源通信设备发送降低/提高传输速度的通告,源通信设备收到该通告后,降低/提高发送速度。
全文摘要
本发明提供了一种实现不同通信协议设备间信息传输的方法,该方法为每个通信设备、每个通信设备的每个链路端口及其使用的通信协议分别设置不同的标识符;并将信息传输过程分为两个层次网络互连层和具体传输层;根据上述的标识符在网络互连层获得路由信息,并根据上述的标识符在具体传输层根据路由信息映射出通信设备自身支持的通信协议,使用该通信协议通过各个设备的具体链路接口来传输信息。本发明的这种实现不同通信协议设备间信息传输的方法,实现了多种传输介质、物理链路、不同通信协议通信设备之间的互连互通,能够保证信息有序、可靠、无重复的传输。
文档编号H04L29/06GK1665239SQ20041000699
公开日2005年9月7日 申请日期2004年3月3日 优先权日2004年3月3日
发明者李景山, 罗予晋 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1