UDP数据报通讯传输方法 【技术领域】
本发明涉及一种信号传输方法,特别是一种UDP数据报通讯传输方法。
背景技术
以下描述涉及以下定义及名词解释:
UDP:UDP是本领域通用的一种英文缩写词,目前未见有相应的中文缩写词。其具体定义是,一种面向数据报的运输层协议,进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报,该数据报包括IP首部、UDP首部和UDP数据,IP首部包括有一段8位的TTL(即生存时间),该值记录了此IP数据报所能经过的最多的路由器数;
NAT设备:NAT设备是一种提供网络地址转换的设备,它能提供互联网地址的共享。局域网中的用户可以通过它与互联网实现访问通讯;
IP网络设备:指使用IP网络协议实现数据通讯的设备;
现有技术中在NAT设备后的IP网络设备(以下称:目的IP网络设备)是无法直接接收互联网中地其他IP网络设备(以下称:源IP网络设备)发送过来的UDP数据报的。这是由于目的IP网络设备的实际网址在互联网上是不被承认的,只有通过其对应的NAT设备进行地址转换,成为互联网承认的地址后,其数据才可以在互联网上进行传输,因此源IP网络设备发送的UDP数据报只能识别目的IP网络设备所对应的NAT设备的地址,而将UDP数据发送到该NAT设备上。
此时NAT设备要将数据报传送给目的IP网络设备只能通过两种途径:第一,在NAT设备上做静态设置,直接指定数据报的目的地,但这样的操作性很差,因为每台NAT设备后的网络设备数量较多,不可能每台IP网络设备在传输时都对NAT设备进行一一设置;第二,NAT设备上具有这么一条地址映射:目的IP网络设备的IP地址:Pa--源IP网络设备的IP地址:Pb--NAT设备公网IP地址:Pa--源IP网络设备的IP地址:Pb(Pa、Pb分别是目的IP网络设备和源IP网络设备指定传输UDP数据报的端口),这样当NAT设备接收到来自源IP网络设备源端口为Pb、目的端口为Pa的UDP数据报时,该UDP数据报在NAT设备上匹配上述地址映射,最后转发给目的IP网络设备。
但是第二条路径却是基于目的IP网络设备先发送一条UDP数据报给源IP网络设备,才能在NAT设备上记录地址映射。因此源IP网络设备无法直接向目的IP网络设备传输UDP数据报,而必须由目的IP网络设备先向源IP网络设备发送UDP数据报以在NAT设备上记录地址映射,即目的IP网络设备的UDP数据报需要先穿透NAT设备。
但是如果源IP网络设备也处于其自身对应的NAT设备(称为源NAT设备)后时,目的IP网络设备为传透自身对应NAT设备而发送UDP数据报给源IP网络设备,因为本领域的技术人员习惯于将数据报中的TTL值设置得比较大,以确保数据报可以到达目的地,所以该穿透数据报必然到达源NAT设备,由于源NAT设备中没有任何信息可以指示它将数据报转发给其后的哪一台IP网络设备,因此目的IP网络设备发送的穿透数据报将直接被源NAT设备所接收,即默认为目的IP网络设备发送的UDP数据报是发送给源NAT设备自身Pb端口的数据报,同时记录一条地址映射:目的NAT的IP地址:Pa-源NAT的IP地址:Pb。此时源IP网络设备向目的IP网络设备传输UDP数据报时,其发送的数据报将不会在源NAT设备上被映射为源IP网络设备的IP地址:P-目的IP网络设备的IP地址:Pa--源NAT的IP地址:Pb-目的IP网络设备的IP地址:Pa,因为源NAT的IP地址:Pb已经被之前的映射目的NAT的IP地址:Pa-源NAT的IP地址:Pb占用了,此时源NAT设备会将映射转变为源NAT的IP地址:Px-目的IP网络设备的IP地址:Pa,Px为未知端口,这样就导致了源NAT设备的地址映射信息的混乱,源IP网络设备所发的UDP数据报无法被目的IP网络设备所接收,也将导致目的IP网络设备无法被源IP网络设备访问。
为了能够传输UDP数据报,现有技术采用了如下传输方法,其包括如下步骤:1、提供一台目的IP网络设备和一台源IP网络设备,2、提供一种互联网,目的IP网络设备与一种NAT设备连接后,通过互联网与源IP网络设备通讯连接,3、提供一种中心服务器,其安装于互联网上,目的IP网络设备和源IP网络设备均与中心服务器连接;4、源IP网络设备向目的IP网络设备发送一个UDP数据报,由于目的IP网络设备和源IP网络设备都联接到中心服务器,所以由中心服务器对来自源IP网络设备的UDP报文进行分析后,转发至目的IP网络设备。
但上述方法仍然带来一系列的不足之处:由于中心服务器的传输容量有限,容易造成中心服务器的瓶径问题,从而导致数据报的传输速度也慢,通讯滞后;另外,建立一个中心服务器的费用较高,因此UDP数据报的传输成本也高。
发明构成
本发明的目的在于克服现有技术中的不足之处而提供一种使处于NAT设备后的IP网络设备与其他IP网络设备可以简单、方便的进行UDP数据报通讯传输方法。
本发明的目的是通过以下途径来实现的:
UDP数据报通讯传输方法,其要点在于,包括有如下依序步骤:提供一台目的IP网络设备和一台源IP网络设备,该目的IP网络设备与一种NAT设备连接后通过互联网与源IP网络设备通讯连接,目的IP网络设备发送穿透数据报,该数据报的内容包括:源IP为目的IP网络设备的IP地址、源端口为目的IP网络设备的数据传输端口Pa、目的IP为源IP网络设备所能接收的IP地址、目的端口为源IP网络设备的数据传输端口Pb及生存时间字段TTL;
该生存时间字段TTL的数值大于源IP网络设备到互联网之间的NAT设备数,小于或等于源IP网络设备到互联网之前的NAT设备数加上源IP网络设备到目的IP网络设备之间互联网上的路由器数;
穿透数据报通过目的IP网络设备所对应的NAT设备时,NAT设备记录了该数据报的地址映射信息;
源IP网络设备发送源端口为Pb、目的端口为Pa的UDP数据报到达NAT设备,NAT设备匹配所记录的地址映射信息,并将该UDP数据报转发到目的IP网络设备。
TTL为生存时间字段,表示了数据报在互联网上传输时可以经过的最多的路由器数,即指定了数据报的生存时间,一旦经过一个处理数据报的路由器,它的值就减去1,当该字段的值为0时,数据报就被丢弃。在现有技术中,本领域中的技术人员已经长久固有了一种技术偏见,即认为之所以发送数据报就是为了要将数据报送达目的IP网络设备,所以对IP数据报中的TTL值都尽量设置的足够大,而在发送数据报时从不考虑TTL的作用。然而本发明的技术人员克服了这样技术偏见,即:认识了在发送穿透数据报中,设置TTL值为个位数,可使目的IP网络设备发送的穿透数据报在传输过程中丢失,而不会到达源IP网络设备,达到在目的IP网络设备对应的目的NAT设备上记录地址映射的目的,使目的IP网络设备接下来可以顺利接收源IP网络设备传输过来的UDP数据报,而又防止源IP网络设备正好处于NAT设备后,造成源IP网络设备所对应的NAT设备的地址映射信息的混乱,即保证了无论源IP网络设备是否处于NAT设备后,都可以向目的IP网络设备传输UDP数据报。该UDP数据报的方法简单、方便,可操作性强,同时无须建立中心服务器,成本低廉。
以上所述的Pa、Pb均为一种变量,是为叙述方便,其可以表示任何被指定的通讯端口。
本发明可以进一步具体为:
目的IP网络设备所发送穿透数据报的TTL值为目的IP网络设备与互联网之间的NAT设备个数加1。
这是因为目的IP网络设备发出的这段数据报目的是要在NAT设备上进行端口路径的记录,因此至少要使这段数据报可以到达目的IP网络设备之前的所有NAT设备,最后在互联网上丢弃,而不到达源IP网络设备。
目的IP网络设备每隔设置延时时间发送一次穿透数据报。
由于目的IP网络设备是在等待源IP网络设备发送UDP数据报,若超过一定时间,穿透数据报在NAT设备上的地址映射就会取消,因此需要维持目的IP网络设备对应NAT设备上的地址映射。这个延时时间一般小于180秒。
综上所述,本发明方法主要解决了处于NAT设备后的IP网络设备接收其它IP网络设备传输过来的UDP数据报的问题,其优点在于:克服了现有技术中UDP数据报无法在互联网上直接点对点传输的不足之处,同时也克服了本领域技术人员的偏见,设置了一段无法到达目的的穿透数据报,却可以使UDP数据报可以在目的IP网络设备对应的目的NAT设备上记录地址映射而不干扰源IP网络设备对应的源NAT设备上的路径混乱等问题,达到了使UDP数据可以直接进行点对点传输的效果,操作简单,方便;无须建立中心服务器,因此通讯成本低廉有效。
具体实施例
最佳实施例:
UDP数据报通讯传输方法,包括如下依序步骤:
1、提供一台目的IP网络设备和一台源IP网络设备,该IP网络设备为一种UCD产品,为描述方便,称目的IP网络设备为UCD-a,其私网IP地址为192.168.0.2,称源IP网络设备为UCD-b,其私网IP地址为192.168.0.1;
2、提供两台NAT设备,UCD-a和UCD-b分别与一台NAT设备连接后与互联网连接,从而实现UCD-a和UCD-b之间的通讯连接。UCD-a连接的NAT设备为目的NAT设备,简称NA,其公网地址为202.101.34.66;而UCD-b连接的NAT设备为源NAT设备,简称NB,其公网地址为210.33.45.6;
3、UCD-a设置一段到达UCD-b的UDP数据报,即穿透数据报,该数据报的内容为:源IP地址为UCD-a的IP地址192.168.0.2,源端口为UCD-a指定传输UDP数据报的端口:5060,目的IP地址为UCD-b对应NB的IP地址:210.33.45.6,目的端口为UCD-b指定传输UDP数据报的端口:5070;TTL值为2,并发送该段穿透数据报;
4、此穿透数据报在通过NA的同时,NA将记录如下地址映射:UCD-a的IP地址:5060-NA:5060--NA:5060-NB:5070。穿透数据报在到达互联网后经过一个路由器就被丢弃掉;
5、UCD-a的穿透数据报每隔30秒发送一次,以维持在NA设备上的地址映射;
6、UCD-b发送源IP地址为192.168.0.1、源端口为5070、目的IP地址为202.101.34.66、目的端口为5060的UDP数据报给NA,则此数据报会被NA接收;然后NA匹配映射后发送源端口为5060、目的端口为5060的该UDP数据报给UCD-a;即最后被UCD-a接收,实现了处于NAT设备后的UCD-a可以接收到来自互联网的UCD-b发送过来的UDP数据报。
本发明未述部分与现有技术相同。