非对称nat环境下进行tcp通信的方法、终端、nps和系统的利记博彩app

文档序号:9527735阅读:518来源:国知局
非对称nat环境下进行tcp通信的方法、终端、nps和系统的利记博彩app
【技术领域】
[0001]本发明属于IP领域,尤其涉及非对称NAT环境下进行TCP通信的方法、终端、NPS和系统。
【背景技术】
[0002]在公有IPv4地址逐渐耗尽的情况下,运营商只能通过给用户分配私有IPv4地址,或者IPv6地址来完成用户的网络接入。另外,考虑到目前绝大部分的互联网内容还都是基于IPv4,在给用户分配这样的地址后,运营商还需要考虑如何通过部署NAT设备来实现私有IPv4地址或者IPv6地址到公有IPv4地址的转换,一般情况下,运营商在城域网出口新增这样的设备(CGN, Carrier Grade NAT)。
[0003]运营商在网络中部署NAT设备后,原有可获得公有地址并可与其它有公有地址的设备间的直接通信就难以实现,必须借助网络中的NAT穿越辅助设备。目前业界针对非对称NAT环境下的穿越技术主要是基于UDP协议的,这主要是因为UDP是无连接的,其通信双方基本对等,位于NAT后的终端只需向NAT穿越辅助设备(后续统称NPS,NAT PunchingServer)发送注册消息,NPS看到通信双方NAT映射后的地址,形成通信双方NAT映射后地址和端口的对应关系,并向通信双方返回对方映射后的地址和端口。通信双方在获取对方映射后的地址、端口,即可实现复杂网络环境下基于UDP的通信。
[0004]但对于TCP来说,通信双方具有不同的角色:客户端(Client)/服务端(Server)。服务端一般只是侦听,不会主动发起连接。当服务端位于非对称NAT设备后,如何让客户端知道服务端的侦听端口,并以侦听端口来对NAT设备打洞就是一个必须要解决的问题。

【发明内容】

[0005]本发明要解决的技术问题是部署非对称NAT设备后,导致设备间难以实现基于TCP的端到端通信。
[0006]根据本发明一方面,提出一种非对称NAT环境下进行TCP通信的终端,包括服务端注册单元、地址映射关系建立单元、侦听单元和连接单元,其中:
[0007]所述服务端注册单元,用于向NPS进行注册,并接收所述NPS返回的通信对方的NAT映射后的地址和端口 ;
[0008]所述地址映射关系建立单元,用于启用新端口通知所述NPS其要与通信双方中的客户端建立连接,并且,通过所述新端口向通信双方中的客户端发起连接,以在通信双方中的服务端的NAT设备上生成通信双方中的服务端映射后的地址和新端口与通信双方中的客户端映射后地址和端口的对应关系;其中,所述NPS向所述通信双方中的客户端发送通信双方中的服务端映射后的地址和新端口,并通知所述客户端回连所述服务端;
[0009]所述侦听单元,用于侦听到所述通信双方中的客户端的连接请求;
[0010]所述连接单元,用于根据所述侦听单元侦听到的所述连接请求,建立与所述客户端的TCP通信。
[0011]进一步,所述服务端注册单元通过信令端口向NPS进行注册;
[0012]所述地址映射关系建立单元通过数据端口通知所述NPS其要与通信双方中的客户端建立连接,即所述新端口为数据端口。
[0013]根据本发明一方面,提出一种非对称NAT环境下进行TCP通信的终端,包括客户端注册单元和连接建立单元,其中:
[0014]所述客户端注册单元,用于向NPS进行注册,并接收所述NPS返回的通信对方的NAT映射后的地址和端口 ;
[0015]所述连接建立单元,用于接收所述NPS发送的通信双方中的服务端映射后的地址和新端口,并向所述服务端映射后的地址和新端口发起TCP连接,建立终端间直接TCP通信;
[0016]其中,通信双方中的服务端启用新端口通知NPS其要与通信双方中的客户端建立连接;并且,通信双方中的服务端通过所述新端口向通信双方中的客户端发起连接,以在通信双方中的服务端的NAT设备上生成通信双方中的服务端映射后的地址和新端口与通信双方中的客户端映射后地址和端口的对应关系。
[0017]根据本发明一方面,提出一种非对称NAT环境下进行TCP通信的NPS,包括映射地址下发单元和新映射地址下发单元,其中:
[0018]所述映射地址下发单元,用于接收通信双方的服务端和客户端的注册请求,形成NAT映射后的通信双方的地址和端口的对应关系,并将NAT映射后的地址和端口发送给通信对方;
[0019]所述新映射地址下发单元,用于接收通信双方的服务端发送的要与通信双方中的客户端建立连接的请求,向所述通信双方中的客户端发送通信双方中的服务端映射后的地址和新端口,并通知所述客户端回连所述服务端;
[0020]其中,通信双方中的服务端启用新端口通知NPS其要与通信双方中的客户端建立连接;并且,通信双方中的服务端通过所述新端口向通信双方中的客户端发起连接,以在通信双方中的服务端的NAT设备上生成通信双方中的服务端映射后的地址和新端口与通信双方中的客户端映射后地址和端口的对应关系;以及接收通信双方中的客户端发起的TCP连接,建立终端间直接TCP通信。
[0021]进一步,所述映射地址下发单元通过通信双方中的服务端的信令端口接收注册请求;
[0022]所述新映射地址下发单元通过通信双方中的服务端的数据端口接收其要与通信双方中的客户端建立连接的请求,即所述新端口为数据端口。
[0023]根据本发明一方面,提出一种非对称NAT环境下进行TCP通信的系统,包括上述任一所述作为服务端的终端和上述所述作为客户端的终端。
[0024]进一步,还包括上述任一所述NPS。
[0025]根据本发明一方面,提出一种非对称NAT环境下进行TCP通信的方法,包括:
[0026]通信双方的服务端和客户端分别向NPS进行注册;
[0027]所述NPS形成NAT映射后的通信双方的地址和端口的对应关系,并将NAT映射后的地址和端口发送给通信对方;
[0028]通信双方中的服务端启用新端口通知所述NPS其要与通信双方中的客户端建立连接,并且,通信双方中的服务端通过所述新端口向通信双方中的客户端发起连接,以在通信双方中的服务端的NAT设备上生成通信双方中的服务端映射后的地址和新端口与通信双方中的客户端映射后地址和端口的对应关系;
[0029]所述NPS向所述通信双方中的客户端发送通信双方中的服务端映射后的地址和新端口,并通知所述客户端回连所述服务端;
[0030]所述客户端向所述服务端映射后的地址和新端口发起TCP连接,所述服务端侦听到所述TCP连接,建立与所述客户端的TCP通信。
[0031]进一步,所述通信双方的服务端通过信令端口向NPS进行注册;
[0032]所述通信双方中的服务端通过数据端口通知所述NPS其要与通信双方中的客户端建立连接,即所述新端口为数据端口。
[0033]在本发明中,NPS获取通信双方中的服务端的新端口,即侦听端口和地址,并提供给通信双方中的客户端,使得该客户端根据该新端口和地址连接该服务端,从而建立了终端之间的TCP通信。实现了非对称NAT环境下的TCP可靠通信,无需对NAT设备作任何假设。无需对NAT设备的使用端口进行预测,适用范围更广。此外,为处于复杂NAT网络环境下的设备间直接通信以及信息共享提供可靠通道。
[0034]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
【附图说明】
[0035]构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
[0036]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
[0037]图1为UDP NAT穿越的方法实施例的示意图。
[0038]图2为一种非对称NAT环境下进行TCP通信的方法实施例的流程示意图。
[0039]图3为一种非对称NAT环境下进行TCP通信的方法的另一实施例的流程示意图。
[0040]图4为一种非对称NAT环境下进行TCP通信的终端的实施例的结构示意图。
[0041]图5为一种非对称NAT环境下进彳丁 TCP通彳目的终端的另一实施例的结构意图。
[0042]图6为一种非对称NAT环境下进行TCP通信的NPS的实施例的结构示意图。
【具体实施方式】
[0043]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0044]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0045]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0046]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0047]在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0048]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1