会话感知的网络地址转换穿透方法

文档序号:7807951阅读:269来源:国知局
会话感知的网络地址转换穿透方法
【专利摘要】本发明提供一种会话感知的网络地址转换(NAT)穿透方法,应用于主机之间的网络通信,第一、第二主机分别设于第一网络地址转换器和第二网络地址转换器之下,当第一、第二主机完成穿透后,第二主机向第一网络地址转换器发送注册请求信息,第一网络地址转换器基于注册请求信息产生会话记录,并产生唯一的会话识别码(session?ID),将包含会话识别码的注册回复信息发送给第二主机,当第二主机移动到第三网络地址转换器之下时,只要发送另一注册请求信息给第一网络地址转换器,第一网络地址转换器便会回复包含第三映射地址的新注册回复信息给第二主机,使第一、第二主机利用彼此的映射地址恢复通信,不需重新进行网络地址转换的穿透。
【专利说明】会话感知的网络地址转换穿透方法

【技术领域】
[0001] 本发明有关一种网络传输技术,特别是指一种会话感知的网络地址转换穿透方 法。

【背景技术】
[0002] 在电脑网络中,网络地址转换(Network Address Translation)是一种在IP封 包通过路由器或防火墙时重写来源IP地址或/和目的地IP地址的技术,这种技术被普遍 使用在有多台主机但只通过一个公有IP地址访问网际网络的私有网络中,而具有网络地 址转换技术的路由器称作网络地址转换器(Network Address Translation router,NAT router)〇
[0003] 在现有网际网络环境中,当两端点分别位于不同网络地址转换器的私有网域时, 两端点欲进行通信之前,需先进行网络地址转换器的穿透,又称NAT穿透;首先,端点各自 通过STUN服务器(Session Traversal Util ities for NAT Server)取得自己在网络地址 转换器上开启的映射地址(mapped address);其次,两端点通过一信令服务器(signaling server)交换彼此的映射地址;其三,两端点分别使用前一个步骤取得的映射地址作为目 的地地址传送封包给对方,当端点收到来自对方的封包之后,表示NAT穿透程序已完成,双 方可顺利进行通信。然而,假设第一主机12和第二主机14通信的过程中,第二主机14移 动到另一个网络地址转换器的私有网域,由于第二主机14的映射地址改变了,若第一主机 12所在的网络地址转换器不是完全圆锥形的网络地址转换器(full-cone NAT router),则 该网络地址转换器不会允许来自第二主机14的封包通过,因此两端点欲恢复通信之前,必 须重做NAT穿透。
[0004] 由于现有的网络地址转换器的过滤行为是基于外部装置的IP地址和连接端口, 导致移动端主机第二主机14在移动切换(handoff)和IP地址改变之后,就必须重做NAT 穿透。请参考图1,假设端点第一主机12位于NAT X后方的私有网域10a,第二主机14位 于NAT Y后方的私有网域10b,STUN服务器16和信令服务器18位于公众网域(即网际网 络),第一主机12的IP为IPa并开启连接端口 Pa,NAT X的公众IP为IPx,第一主机12的 IPa. Pa相对应的映射地址为IPx. Px,第二主机14的IP为IPb并开启连接端口 Pb,NAT Y 的公众IP为IPy,第二主机14的IPb. Pb相对应的映射地址为IPy. Py。第一主机12和第 二主机14欲进行通信前需先进行NAT穿透,如上述三个步骤。若在通信过程中,第二主机 14移到了 NAT Z的私有网域10c中,第二主机14将使用新取得的IPb'与连接端口 Pb'与 第一主机12恢复通信。两端点恢复通信之前,必须重做NAT穿透,假设NAT Z的IP为IPz, 第二主机14的IPb' . Pb'相对应的映射地址为IPz. Pz,首先第二主机14从IPb' . Pb'向 STUN服务器16送出一响应请求(echo request)封包,该响应请求封包通过NAT Z时,NAT Z会产生IPz. Pz的映射地址;接着STUN服务器16收到响应请求封包后会将NAT Z产生的 映射地址IPz. Pz放在响应回复(echo response)封包中并送回给第二主机14 ;第二主机 14会通过信令服务器18将映射地址IPz. Pz送至第一主机12,第一主机12亦将映射地址 IPx. Px通过信令服务器18送至第二主机14 ;最后,第一主机12通过映射地址IPz. Pz将封 包送至第二主机14 ;第二主机14通过映射地址IPx. Px将封包送至第一主机12。等于将上 述NAT穿透的三个步骤重做一遍,此举造成较长的切换延迟(handoff latency)。


【发明内容】

[0005] 有鉴于此,本发明针对上述现有技术的缺失,提出一种会话感知的网络地址转换 穿透方法,以有效解决现有技术中当移动端主机移动到另一私有网域时,需要重新进行NAT 穿透,切换后恢复通信的延迟时间过长的问题。
[0006] 为达上述的目的,本发明提供一种会话感知的网络地址转换穿透方法,其应用于 一第一主机及一第二主机之间的网络通信,第一主机及第二主机分别设于一第一网络地址 转换器和一第二网络地址转换器之下,穿透方法包括下列步骤:初次进行通信时,第一、第 二主机分别取得一第一映射地址及一第二映射地址,互相交换对方的第二映射地址及该第 一映射地址后,使第一、第二主机完成连线并可进行通信;第二主机向第一网络地址转换器 发送一注册请求信息;以及第一网络地址转换器基于注册请求信息产生一会话记录,并产 生唯一的一会话识别码(session ID),将包含会话识别码与第二映射地址的一注册回复信 息发送给第二主机。之后,第二主机移动至第三网络地址转换器之下,不需要重作NAT穿 透,只需要向第一网络地址转换器重新送出包含该会话识别码的注册请求信息,第一网络 地址转换器收到后会将第二主机的第三映射地址记录在对应此会话识别码的会话记录中, 并将第三映射地址附加在注册回复信息中传给第二主机。完成上述步骤之后,第一与第二 主机便可利用彼此的映射地址恢复通信。
[0007] 本发明提供一种会话感知的网络地址转换穿透方法,当移动端主机移动到另一私 有网域时,可利用先前取得的会话识别码重新向固定端的网络地址转换器注册并且与固定 端主机恢复通信,不需重新进行NAT穿透,可降低切换后恢复通信的延迟时间。
[0008] 本发明提供一种会话感知的网络地址转换穿透方法,其让固定端的网络地址转换 器替固定端主机与外部的移动端主机之间的通信建立会话记录的方案,让固定端的网络地 址转换器知道移动端主机移动前和移动后的两次通信属于同一个会话,便可允许封包通 过。
[0009] 本发明提供一种会话感知的网络地址转换穿透方法,其让移动端主机向固定端的 网络地址转换器发出具有会话识别码的注册请求信息,固定端的网络地址转换器收到后会 将移动端主机的新映射地址记录在对应此会话识别码的会话记录中,并将此新映射地址附 加在注册回复信息中传给移动端主机,使移动端主机不必通过STUN服务器便可得知切换 后的新映射地址,并同时与固定端主机恢复通信。

【专利附图】

【附图说明】
[0010] 图1为网络系统的架构示意图。
[0011] 图2为二主机通过STUN服务器取得映射地址的示意图。
[0012] 图3为二主机交换映射地址及打洞的示意图。
[0013] 图4为移动端移动到另一私有网域的不意图。
[0014] 附图符号说明:
[0015] 10a、10b、10c 私有网域
[0016] 12第一主机
[0017] 14第二主机
[0018] 16 STUN 服务器
[0019] 18信令服务器

【具体实施方式】
[0020] 本发明是一种会话感知的网络地址转换穿透方法,请参考图1为网络系统的架构 示意图,包含一第一主机12、一第二主机14、一第一网络地址转换器X(NAT X)、一第二网络 地址转换器Y、一第三网络地址转换器Z、至少一 STUN服务器(Session Traversal Util ities for NAT Server) 16 及至少一信令服务器(signaling server) 18,其中第一主机 12 及第二主机14分别在第一网络地址转换器X及第二网络地址转换器Y后方的私有网域10a 和10b中,STUN服务器16及信令服务器18位于公众网络,也即网际网络中。
[0021] 由于第一主机12及第二主机14位于不同的网络地址转换器后方,因此二者在进 行通信之前必须执行NAT穿透,若第二主机14 一开始在第二网络地址转换器Y的私有网域 l〇b,但一段时间后要移动到第三网络地址转换器Z的私有网域10c,则需要重新建立第一 主机12和第二主机14之间的通信。请同时参考图2,第一主机12及第二主机14拥有在私 有网域10a、10b上的私有IP地址,但并没有可对外的公众IP地址,因此必须要先取得各自 在第一网络地址转换器X及第二网络地址转换器Y上开启的映射地址,亦即IP地址及连接 端口。第一主机12从私有网域10a的地址IPa. Pa送出一响应请求信息,经过第一网络地 址转换器X到达STUN服务器16,第一网络地址转换器X会针对IPa. Pa产生对应的映射地 址IPx. Px,当STUN服务器16收到响应请求信息后,会将观察到的第一主机12在第一网络 地址转换器X上的映射地址IPx. Px附加在响应回复信息中回传给第一主机12,当第一主机 12收到响应回复信息后,即可得知自己在第一网络地址转换器X所产生的映射地址为IPx. Px。同理,第二主机14从私有网域10b的地址IPb. Pb送出一响应请求,经过第二网络地址 转换器Y到达STUN服务器16,将观察到的IPy. Py附加在响应回复信息中回传给第二主机 14,当第二主机14收到响应回复信息后,可得知自己在第二网络地址转换器Y所产生的映 射地址为IPy. Py。
[0022] 特别的是,第一主机12与第二主机14可以分别使用两台不同的STUN服务器16 取得自己的映射地址。STUN服务器16可为很多台支持STUN协议的主机所构成的一群服务 器。
[0023] 上述仅为取得映射地址的一种作法,除此之外,若网络地址转换器支持I⑶协议 (Internet Gateway Device Protocol),第一、第二主机也可利用I⑶协议向网络地址转换 器取得映射地址,而不需通过STUN服务器取得。
[0024] 接着请参考图3,第一主机12及第二主机14利用信令服务器18交换彼此的映射 地址,第一主机12及第二主机14分别将带有第一映射地址IPx. Px及第二映射地址IPy. Py 的一邀请信息送至信令服务器18,信令服务器18收到该信息会分别转送给第二主机14及 第一主机12 ;当第一主机12及第二主机14收到之后,同样通过信令服务器18传送一确认 信息至第二主机14及第一主机12。如此一来,第一主机12及第二主机14即可得知对方的 映射地址。
[0025] 其中,信令服务器18同样可为一群主机。
[0026] 接着,第一主机12及第二主机14利用所取得的对方的映射地址进行打洞(hole punching),二者重复传送封包到对方的映射地址IPy. Py及IPx. Px,直到接收到对方传来 的封包即完成打洞流程。
[0027] 当NAT穿透完成后,于本发明中的第二主机14会传送一注册请求信息给第一网络 地址转换器X,第一网络地址转换器X会产生一会话记录,并且替此会话产生唯一的会话识 别码,会话记录中还包括一传输层协议,最后传送包含会话识别码的注册回复信息给第二 王机14。在此实施例中弟一王机12为固定端,弟_王机14为移动端,故由移动端向固定端 NAT路由器发出注册请求的信息。
[0028] 若通信的过程中,移动端主机移动到不同NAT路由器的私有网域之后,移动端主 机会向固定端NAT路由器重新送出包含会话识别码的注册请求信息,固定端NAT路由器观 察注册请求信息的来源IP地址与连接端口即可得知移动端主机的新的映射地址,固定端 NAT路由器,即第一网络地址转换器X除了将新的映射地址加入该会话识别码所对应的会 话记录外,也传送一注册回复信息给移动端主机,使移动端主机得知其切换后的新映射地 址。请参考图4,以图4为例,假设通信过程中,第二主机14从第二网络地址转换器Y的私 有网域10b移动至第三网络地址转换器Z的私有网域10c,第二主机14取得一新的网络地 址IPb'后,第二主机14会先对第一网络地址转换器X重新注册切换后新的映射地址。首 先,第二主机14利用新的网络地址IPb'与连接端口 Pb'传送带有会话识别码的注册请求信 息给固定端的第一网络地址转换器X,该信息经过第三网络地址转换器Z时,第三网络地址 转换器Z会替该会话连线产生一新的映射地址IPz. Pz ;第一网络地址转换器X收到后,会 利用会话识别码找到之前注册过的会话记录,并且将第二主机14新的映射地址IPz. Pz加 入会话记录中,表示第一网络地址转换器X将允许来自IPz. Pz的封包通过;最后,第一网络 地址转换器X将第二主机14的新映射地址IPz. Pz附加在注册回复信息中传送至第二主机 14,第二主机14收到后即可得知自己切换后在第三网络地址转换器Z上的映射地址为IPz. Pz。完成上述步骤之后,第一网络地址转换器X将允许来自IPz. Pz的封包经由IPx. Px传 送给第一主机12,因此第一主机12和第二主机14即可恢复通信。
[0029] 本发明所提出的穿透并恢复连线的方法除了可适用于第二主机从一网络地址转 换器下的私有网域移动至另一个网络地址转换器下的私有网域的情况外,也适用于第二主 机从一公众网域移动至一网络地址转换器下的私有网域的情况、第二主机从一网络地址转 换器下的私有网域移动至一公众网域的情况、及第二主机从一公众网域移动至另一公众网 域的情况。不论第二主机的移动是上述哪一种情况,由于映射地址改变,故第二主机的IP 地址会随之改变,而新的IP地址可能是公众IP或私有IP地址,就看第二主机是移动到公 众网域或私有网域。
[0030] 综上所述,本发明提供的会话感知的网络地址转换穿透方法为一种会话感知 (session aware)的NAT穿透方法,使移动端主机移动切换至另一网域时,只需与固定端的 网络地址转换器交换信息,移动端主机就能利用切换后新的映射地址传递封包给固定端, 而不需重做NAT穿透。因此,本发明可避免因移动端主机的切换行为而导致的NAT穿透程 序,也可减少切换后恢复通信的延迟时间。
[0031] 唯以上所述者,仅为本发明的较佳实施例而已,并非用来限定本发明实施的范围。 故即凡依本发明申请范围所述的特征及精神所为的均等变化或修饰,均应包括于本发明的 申请专利范围内。
【权利要求】
1. 一种会话感知的网络地址转换穿透方法,其特征在于,应用于一第一主机及一第二 主机之间的网络通信,该第一主机位于一第一网络地址转换器所形成的私有网域,该第二 主机位于公众网域或一第二网络地址转换器所形成的另一私有网域,该穿透方法包括下列 步骤: 初次进行通信时,该第一、第二主机各自取得一第一映射地址与一第二映射地址,互相 交换并取得对方的该第二映射地址及该第一映射地址后,使该第一、第二主机利用该第二、 第一映射地址交换信息并能进行通信; 该第二主机向该第一网络地址转换器发送一注册请求信息;以及 该第一网络地址转换器基于该注册请求信息产生一会话记录,并产生唯一的一会话识 别码,将包含该会话识别码的一注册回复信息发送给该第二主机。
2. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该第一映射 地址包括该第一网络地址转换器的一 IP地址及一连接端口。
3. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该第二主机 若位于公众网域,则该第二映射地址为本地端IP地址及一连接端口;该第二主机若位于第 二网络地址转换器所形成的私有网域,则该第二映射地址包括该第二网络地址转换器的一 IP地址及一连接端口。
4. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该第一映射 地址由该第一网络地址转换器所产生,若该第二主机位于公众网域,则该第二映射地址由 第二主机所产生;若该第二主机位于第二网络地址转换器所形成的私有网域,则该第二映 射地址由该第二网络地址转换器所产生。
5. 如权利要求4所述的会话感知的网络地址转换穿透方法,其特征在于,该第一主机 及该第二主机分别送出一响应请求信息至网际网络中的第一类服务器,且该响应请求信息 中分别包括该第一、第二映射地址,该第一类服务器再将该第一、第二映射地址附加在一响 应回复信息中,分别传送至该第一主机及该第二主机,使该第一、第二主机取得各自的该第 一、第二映射地址。
6. 如权利要求5所述的会话感知的网络地址转换穿透方法,其特征在于,该第一类服 务器为至少一 STUN服务器。
7. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该第一、第二 网络地址转换器支持网关设备I⑶协议,该第一、第二主机利用I⑶协议分别向第一、第二 网络地址转换器取得该第一、第二映射地址。
8. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该第一、第二 主机通过网际网络中的至少一第二类服务器交换该第一、第二主机的该第一、第二映射地 址。
9. 如权利要求8所述的会话感知的网络地址转换穿透方法,其特征在于,该第二类服 务器为至少一信令服务器。
10. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该第一网络 地址转换器所建立的该会话记录包括该会话识别码、该第一映射地址及该第二映射地址。
11. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该第一网络 地址转换器所建立的该会话记录还包括一传输层协议。
12. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该注册回复 信息包括该会话识别码及该第二主机的该第二映射地址。
13. 如权利要求1所述的会话感知的网络地址转换穿透方法,其特征在于,该第二主机 重新取得一 IP地址与一连接端口为一第三映射地址后,该第一主机及该第二主机恢复通 信的方法包括下列步骤: 该第二主机发送包含该会话识别码的一新注册请求信息给该第一网络地址转换器; 该第一网络地址转换器将该新注册请求信息的该第三映射地址加入该会话记录中,并 将该会话识别码及该第三映射地址附加至一新注册回复信息并发送给该第二主机;以及 该第二主机取得该第三映射地址,并与该第一主机恢复通信。
14. 如权利要求13所述的会话感知的网络地址转换穿透方法,其特征在于,该第二主 机重新取得一 IP地址与一连接端口为该第三映射地址后,若该第二主机位于公众网域,则 该第三映射为本地端IP地址及一连接端口;若该第二主机位于第三网络地址转换器所形 成的私有网域,则该第三映射地址包括该第三网络地址转换器的该IP地址及该连接端口。
15. 如权利要求13所述的会话感知的网络地址转换穿透方法,其特征在于,该第二主 机若位于公众网域则该第三映射地址由该第二主机所产生;若该第二主机位于该第三网络 地址转换器所形成的私有网域,该第三映射地址由第三网络地址转换器所产生。
【文档编号】H04L29/12GK104092789SQ201410312253
【公开日】2014年10月8日 申请日期:2014年7月2日 优先权日:2014年3月18日
【发明者】曾建超, 王明宏, 林家梁 申请人:财团法人交大思源基金会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1