地址基于UPnP的穿越NAT的技术

nat  时间:2021-02-20  阅读:()

基于UPnP的穿越NAT的技术

目 录

1、 NAT原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.1、概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.2、分类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.2.1、传统NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.2.2、双向NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

1.2.3、两次NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

1.2.4、多宿主NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.3、工作机理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.3.1、 Full Cone NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.3.2、 Restricted Cone NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.3.3、 Port Restricted Cone NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.3.4、 Symmetric NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.3.5、抽象原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

1.4、应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

2、穿越NAT的障碍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

3、现有穿越NAT的方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

3.1、外网服务器法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3.2、协议扩展法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3.3、 DNS-ALG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3.4、隧道法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

3.5、 ALG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

3.6、MIDCOM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

3.7、 STUNSimple Traversal of UDP Through Network Address Translators . . . . . . 13

3.8、 TURNTraversal Using Relay NAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

3.9、 Full Proxy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

3.10、 UPnP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

3.11、 UDP封装法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

3.12、穿越NAT的方法的比较. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

4、 UPnP原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

4.1、概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

4.2、 UPnP网络中的部件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

4.3、 UPnP技术使用的协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

4.4、 UPnP网络工作步骤. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

4.4.0、寻址Addre s sing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

4.4.1、发现Discovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

4.4.2、描述Des cription. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

4.4.3、控制Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

4.4.4、事件Eventing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

4.4.5、展示Presentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

5、基于UPnP穿越NAT的技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

5.1、概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

5.2、 IGD技术的特点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

5.3、基于UPnP穿越NAT的原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

6、实现基于UPn P穿越NAT的技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

6.1、开发IGD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

7、实验目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

8、实验方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

9、实验平台. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

10、实验过程和实验结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

10.1、外网主机主动访问内网主机. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

10.2、 内网主机在数据包中包含后继会话的新地址端口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

11、实验结果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

12、实验结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

1、 NAT原理

1.1、概述

RFC1631、RFC3022以及相关RFC定义的NATNetwork Address Translator是一种将IP地址从一个编址域映射到另一个编址域的方法典型的应用是把RFC1918定义的私有IP地址映射到Internet所使用的公有IP地址。NAT与网络中其它计算设备的关系如图1.1 。虽然NAT技术已经得到广泛应用但它是一把双刃剑在带来节省IPv4地址空间等好处的同时破坏了Internet最基本的“端到端的透明性”的设计理念增加了网络的复杂性阻碍了业务的创新。

I ET F一直主张利用I P v 6技术解决地址短缺问题因此I ET F虽然出版了几个与NAT相关的RF C但对NAT技术尤其是穿越问题一直没有系统的标准工作如S IP和MobileIP就是NAT出现后设计的一些协议都未考虑到N AT的穿越问题。现在业界意识到Internet在短期内不可能过渡到IPv6 IPv4和IPv6将长期共存NAT以及NAT-PTNetwork Addres sTranslation-Protocol Translation将继续得到长期应用 因此NAT相关问题开始引起IETFInternet Engineer ing Task Forc e和ITU-T International Telec ommunic ation Union等相关国际标准化组织的关注。中国通信标准化协会IP与多媒体工作委员会也正在积极参与ITU-TS G 16组的相关活动加紧制定中国多媒体业务NAT穿越标准[1] 。

说明

ICD Inner Comp uting Device 内部计算设备 内部主机 内网主机

OCD Outer Computing Device外部计算设备外部主机外网主机

ICD和OCD是相对而言的 OCD也可能在1个或多个NAT后面

图1.1 NAT与计算设备的关系

1.2、分类

从功能上看主要有以下几种典型的NAT RF C2663如图1.2。

1.2.1、传统NAT

在多数情况下传统NAT Traditional NAT允许位于内部网络的主机采用RFC 1918地址透明地访问外部网络中的主机把从外部网络到内部网络的访问作为一种特例。有关传统NAT的详细描述见RF C 1631和RF C3022。传统NAT包括基本NAT和NAP T两大类。

(1)基本NAT

基本NAT可以分为两类静态N AT和动态NAT。静态N AT的工作原理是将内部网络中的每个IP地址可以是私有IP地址、公有IP地址永久映射成外部网络中的某个IP地址。动态NAT的工作原理则是在外部网络中定义了一系列的I P地址采用动态分配的方法映射到内部网络中的IP地址。

采用动态NAT意味着可以在内部网中定义很多的内部用户通过动态分配的办法共享很少的几个外部I P地址。而静态NAT则只能形成一一对应的固定映射方式。需要注意的是动态NAT中动态分配的外部IP地址全部被占用后后续的NAT申请将会失败不过许多NAT有超时配置功能可以在一定程度上提高外部I P的利用率和用户满意度。

(2) NAP T

NAPT Network Address Port Translation把基本NAT的概念延伸了一步在翻译IP地址的同时也翻译传输层标识如T CP/UDP的端口号 I CMP的查询ID从而把多个内网主机的传输层标识映射到一个外部I P地址。NAP T可以使一组主机共享一个外部I P地址。在实际使用中可以把NAP T和基本NAT结合起来。

对于从内部网络向外的数据包NAP T翻译源I P地址、源传输层标识以及相关字段如IP、 T CP、UDP和I CMP头校验和。对于进入内部网络的数据包翻译目的IP地址、 目的传输层标识以及相关字段。传输层标识可以是T CP/UDP端口号或I CMP查询ID中的任意一种。

1.2.2、双向NAT

双向NAT Bi-directional Nat、 Two-way NAT支持从内部网络向外部网络发起会话请求也支持从外部网络向内部网络发起会话请求。当在外出或进入任何一个方向上建立连接时把内部网络IP地址静态或动态地映射到一个外部IP地址上。这里假设位于内部网络和外部网络之间的名字空间FQDN Fully Qualified Domain Names是端到端唯一的 因为只有这样才能使得位于外部编址域的主机能利用域名系统DN S访问内部网络的主机。在双向NAT上必须部署DNS-ALGDNS-Application Level Gateway参阅RFC2694 以处理名字到地址的映射。当一个DN S包需要穿越内部和外部编址域时 DN S-AL G必须能够将DN S查询和响应消息中的内部地址翻译成外部地址或把外部地址翻译成内部地址。

1.2.3、两次NAT

两次NAT Tw ic e NAT是NAT的一个变种它同时修改源和目的IP地址。这与传统N AT和双向NAT不同二者仅翻译源或目的地址/端口。当位于同一NAT之后的两台内网主机之间以各自的公网地址进行连接时这时NAT要做两次转换先将包中来源主机的内网地址转换为公网地址再将包中目的主机的公网地址转换为内网地址最后将包转发给目的主机上述的NAT转换过程也称之为回环转换Loopback Translation。

两次NAT在内部编址域和外部编址域存在冲突时非常有用。典型例子之一是当一个站点不恰当地使用已分配给其它机构的公有IP地址对其内网主机进行编址时例子之二是当一个站点从一家运营商换到另一家运营商同时希望在内部保留前一家运营商分配的地址时而前一家运营商可能在一段时间后将这些地址重新分配给其它人使用。在这些情况下非常关键的一点就是外部网络的主机可能会分配得到以前已经分配给内网主机的同一地址。如果该地址碰巧出现在某个数据包中则应该将它转发给内网主机而不是通过NAT转发给外部编址域。两次NAT通过同时翻译I P包的源和目的地址试图桥接这些编址域解决了地址冲突的问题。

1.2.4、多宿主NAT

使用NAT会带来很多问题RF C2993。如NAT设备要为经过它的会话维护状态信息而一个会话的请求和响应必须通过同一NAT设备做路由因此通常要求支持N AT的域边界路由器必须是唯一的所有的I P包发起自或终结在该域。但这种配置将NAT设备变成了可能的单点故障点。

为了让一个内部网络能够在某个NAT链路出故障的情况下也可以保持与外部网络的连通性通常希望内部到相同或不同的ISP具有多条连接多宿主的Multihomed NAT希望经过相同或不同的NAT设备。共享相同的NAT配置能够为多个NAT相互之间提供故障备份。在这种情况下有必要让备份NAT设备交换状态信息 以便当主N AT出现故障时备份NAT能够担负起透明地保持会话的能力。

1.3、工作机理

目前市场上使用最多的是传统N AT设备尤其是NAP T设备基本N AT可以看成N AP T的特例下面以NAP T为例子论述N AT的工作机理。N AP T的映射方式主要有以下几种典型类型RFC3489 [2] 如图1.3。

图1.3 NAPT的分类

1.3.1、 Full Cone NAT

这种NAT的特点是由内网同一地址及端口发出的数据包不论目的地是外网的哪个主机在NAT设备的出口均映射到相同的外网地址和端口而外网的任何主机发送到此外网地址和端口的数据包也都会被转发到内网相同的地址和端口具体过程如图1.4所示。

内网主机向外网主机A发送数据包数据包的源地址192.168.12.2:1111被NAT改为外网地址202.117.15.5:2222并转发到主机A此后不仅主机A其它主机B发往外网地址202.117.15.5:2222的数据包也都可以被转发给内网主机192.168.12.2:1111。

→源地址改为202.117.15.5:2222

图1.4 Full Cone NAT

1.3.2、 Restricted Cone NAT

此NAT与Full Cone NAT相似唯一的区别是只有收到内网主机发出的数据包的主机才可以返回数据包到此内网主机。如图 1.5 NAT仅将主机A发往NAT入口点

202.117.15.5:2222的数据包转发给内网主机而将主机B的数据包丢弃。

→源地址改为202.117.15.5:2222

图1.5 Restricted Cone NAT

1.3.3、 Port Restricted Cone NAT

此NAT比Restricted Cone NAT限制更为严格只有收到内网主机发出的数据包的主机端口才可以返回数据包到此内网主机。如图1.6NAT仅将主机A端口为3333发往NAT入口点202.117.15.5:2222的数据包转发给内网主机而将主机A的其它端口 非3333和主机B的数据包丢弃。

图1.6 Port Restricted Cone NAT

1.3.4、 Symmetric NAT

Cone类型的NAT映射与外网目的地址无关 即内网中同一主机IP地址和端口发出的数据包均会被NAT设备映射到相同的外网地址和端口而Symmetric NAT 对称NAT发往不同目的主机或端口的数据包会被映射到不同的外网地址和端口。图1.7说明了这种情况发往主机A和主机B的数据包被映射到不同的外网地址和端口主机A返回给内网主机的数据包不能由关联主机B的NAT入口进入 同样主机B的数据包不能由关联主机A的NAT入口进入。

← 目的地址改为192.168.0.2:1111

图1.7 Symmetric NAT

1.3.5、抽象原理

从上述分析可以抽象出NAT的一般原理N AT的工作基础在于建立内网主机地址端口和外网主机地址端口映射表数据包的转发均依赖于此映射表映射表的一行是9元组 {协议持续时间描述 内网主机IP 内网主机PortNAT外网IPNAT外网Port外网主机IP外网主机Port} 其中协议指TCP、UDP等持续时间指映射存活时间描述是对映射的文字解释而后6项是此9元组的核心它们决定了NAT的类型在后面的论述中主要参考6元组 {内网主机IP 内网主机P ortNAT外网IPNAT外网P ort外网主机IP外网主机Port} 如表1.1 。NAT的穿越实际上就围绕9元组的构造、 内容展开。

表1.16元组与传统NAT类型的关系

说明

√进行地址端口转换时需要核对的项目

*进行地址端口转换时不需要核对的项目

1.4、应用

 解决IP地址紧缺的问题将私有地址翻译成公有地址提供透明的端到端通信

这是最主要的应用之一

 隔离内外网络提供一定的网络安全保障

 虚拟服务器负载平衡虚拟服务器设备可由NAT实现客户连接到虚拟服务器

上NAT设备把目的I P地址转换为实际的服务器I P地址。NAT设备根据各种算

法来选择某一个真实的服务器如根据每个服务器的负载来分配选择从而实现负

载平衡如应用到HTTP服务器群

 单目的多路由器。

2、穿越NAT的障碍

N AT解决IP地址紧缺问题的同时带来了NAT穿越问题随着新业务的出现如Vo I PNAT穿越问题越来越突出主要表现在以下几个方面①外网主机无法发起主动连接与内网主机通信②对某些协议如H.323、 S I P而言NAT阻碍了内网主机和外网主机的通信③某些协议如IPSec在通过NAT后失效。

第一个问题与协议无关即对所有的应用层协议来说都存在此问题。这个问题主要随着P2P的广泛应用而日益突出 因为P2P计算模式要求会话的双方都可以主动发出通信请求而NAT却把内网中的一方屏蔽在内网中外网中的一方无法发起主动连接。 P 2 P应用

另外许多网络服务或服务器假定如果建立监听套接字则Internet上的所有客户机都可以与之联系。但在网络边缘上有NAT设备时NAT却要求进行端口映射 以便将输入

通信转发给内部网络上的服务。因此该服务仅对专用网络上的客户机有效。它对于Internet其余部分而言不可用。该问题最常见的解决办法是手动配置端口映射使NAT设备将发送到NAT特定外部IP地址和端口的数据包转发给该服务所用的内部IP地址和端口。利用该端口映射服务可以接收输入数据包从而使服务可被专用网络外部的客户机所使用。建立端口映射之前网络是断开的。手动配置该映射的过程通常比较复杂要求较有经验的用户才能正确进行映射的配置。因此除非是联系自己宽带Internet服务提供商、 P C制造商、零售商或Internet网关制造商的客户服务中心以尝试找到问题的根源及解决方案否则许多一般用户或小型企业用户将无法使用所需的应用程序或服务。上述情况还会造成映射的不严格许多外部客户机都可以使用该映射来连接服务器。 内部网络上的服务

接着有些网络协议假定始终有可全局路由的已知端口可用。当多个客户机共享IP地址时每次将只有一个客户机能使用已知的端口。例如每次只有一个Web服务能使用本地网络上的端口80。如果不是这样NAT设备将无法确定外部请求所适用的客户机。 内部网络多默认服务端口

还有一些网络应用程序使用端口X上的套接字向服务器或对等计算机发送通信信息然后等待将服务器的通信信息接收到端口Y的独立监听套接字上。NAT将监视输出通信并为端口X创建端口映射但并不对寻址到端口Y的返回数据包进行端口映射。寻址到端口Y的输入数据包将被丢弃。这种情况实质上也是外网主机无法发起主动连接与内网主机通信。 内部网络分散端口

第二个问题与协议有关主要是H.323、 SIP等协议。在这些协议中 内网主机在IP包数据字段数据域净荷中包含了自己的私有IP地址和端口 供后继的会话使用 IP包在通过NAT时虽然NAT修改了IP包的源地址、源端口为NAT的公有IP地址和端口但净荷中的私有IP地址和端口未修改这样后继的会话将失败 因为通信的另一方试图使用得到的私有IP地址和端口来和内网主机通信。

更详细地说有些网络应用程序假定客户机所分配的IP地址和端口将始终可进行全局路由并可直接在Internet上使用。许多情况下它们属于IETF保留地址范围内的专用IP地址。应用程序会在发送给服务器的数据包的负载中包含该专用IP地址或端口。服务器可以将该嵌入地址用作联系客户机时所用的地址。如果服务器试图用嵌入IP地址和端口进行回复而非NAT提供的映射地址和端口系统就会丢弃该数据包。这是因为嵌入IP地址是无法路由的。如果网络应用程序能找到NAT设备并检索到所要使用的外部I P地址和外部端口映射应用程序就可以在数据包中嵌入正确的信息。 嵌入地址或端口

第三个问题与协议有关主要是IPSec等安全协议。 IPSec为了保证通信的安全对IP包进行了加密来防止非法用户修改I P包的任何部分但是I P包经过NAT时肯定要被修改这样就使得IPSec协议在NAT中失效。

总得来说产生NAT穿越障碍的原因如下①通常N AT不允许外网主机主动发起会话请求来访问内网主机②应用层协议在数据包净荷中包含了用于后继会话的内网地址和端口号会话双方协商③应用层协议不希望数据包在到达目的之前被修改。

3、现有穿越NAT的方法

穿越NAT NAT Traversal应视为一种在需要时使用的处理机制而非在所有情况下都发挥作用。在I P v 6中每个客户机都具有可全局路由的I P地址因此已不再需要NAT及NAT Traversal。就IPv6能在多长时间得到普遍部署这一问题有各种不同的预测。业界已投入巨资推进IPv6但在现在及未来的几年内本文后面所述的NAT Traversal解决方案对于希望解决NAT 问题的一般用户和小型企业用户而言却意义非凡。针对不同的NAT穿越障碍研究人员提出了各种解决方案。

wordpress专业外贸建站主题 WordPress专业外贸企业网站搭建模版

WordPress专业外贸企业网站搭建模版,特色专业外贸企业风格 + 自适应网站开发设计 通用流行的外贸企业网站模块 + 更好的SEO搜索优化和收录 自定义多模块的产品展示功能 + 高效实用的后台自定义模块设置!采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera...

DiyVM独立服务器:香港沙田服务器,5M带宽CN2线路,L5630*2/16G内存/120G SSD硬盘,499元/月

diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...

vpsdime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

vpsdime怎么样?vpsdime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:vpsdime夏日促销活动,美国达拉斯vps,2G内存/2核/20gSSD/1T流量,$20/年,此次推出一款Wi...

nat为你推荐
手游运营手册新浪无线 这个公司开发手机游戏吗?arm开发板开发板是什么?如ARM开发板,DSP开发板等。。它和最终目标板有何区别?唱吧电脑版官方下载电脑上可以安装唱吧吗?开机滚动条如何关闭开机滚动条?ios7固件下载iphone自动下载IOS7固件版本怎么删除安装迅雷看看播放器迅雷看看播放器下了安装不了安装迅雷看看播放器迅雷看看播放器安装机械键盘轴机械键盘的轴哪种好?cr2格式如何打开CR2格式的照片呢电子商务网站模板做电子商务网站用什么cms或者模版比较好?
河南虚拟主机 域名注册信息查询 成都主机租用 俄罗斯vps 动态ip的vps 中国万网域名 linode日本 美元争夺战 免费ftp空间 42u标准机柜尺寸 主机合租 169邮箱 phpmyadmin配置 吉林铁通 网通服务器 德隆中文网 中国linux 阿里云手机官网 存储服务器 小夜博客 更多