<Ipv6 Deployment and Management>3.2.2.4节翻译

来源:互联网 发布:淘宝店铺店招全屏 编辑:程序博客网 时间:2024/06/10 21:16

隧道代理:隧道代理提供了另外一种技术:在有可用连接的Ipv4网络上实现隧道自动管理。隧道代理管理着两个东西:一个是来自双栈客户端的隧道请求,一个是连接着Ipv6网络的隧道服务器。想要连进Ipv6网络的双栈的客户端可以有选择地被导向一个隧道管理的门户网站去进行身份认证,认证通过后便可以使用隧道代理服务。隧道代理也可能会自己管理认证和授权。客户端需要提供自己的Ipv4地址,自己想要的FQDN(完全限定域名),Ipv6地址的请求数模,自己的类型(主机还是路由器)等信息。

让后一旦验证通过,隧道代理就会进行一系列的活动去代理隧道:

(1)分配和配置一个隧道服务器,通知客户端

(2)根据请求的地址数量和客户端类型分配Ipv6地址作为客户端的前缀。

(3)在DNS上注册客户端的FQDN

(4)提供分配的隧道服务器和相关的隧道以及IPv6参数(包括地址/前缀,DNS名称)等信息给客户端。

下面的图说明了客户端-隧道代理的交互过程。RFC5572规范化了隧道建立协议(TSP)以促进隧道建立信息的过程和组件之间的交互。


Teredo  在防火墙之间实行网络地址转换(NAT)的隧道技术是很难的,通过设计也不是不可能。Teredo为通过Ipv4的Ipv6数据包提供网络地址转换和主机到主机的自动隧道功能。Teredo结合了额外的用户数据包协议(UDP)的头,从而使得NAT/防火墙之间的传送更加方便。很多NAT/防火墙设备是不允许头字段为41(前面提到的Ipv6的数据包的隧道设置)的Ipv4数据包传输的。这个多出来的UDP头掩盖了这些,使得大多数的支持UDP端口的设备直接都可

以进行相互传输。如图:


Teredo在RFC4380中被定义,它被当做Ipv6连接的终级转换技术。随着6to4,Ipv6感知的防火墙路由器的部署,它的应用将越来越少。Teredo需要以下部件:

(1)Teredo客户端

(2)Teredo服务器

(3)Teredo中继

Teredo过程是:Teredo客户端寻找最接近目标Ipv6主机的Teredo中继,验证NAT防火墙的类型是否正确。Teredo中继是一个为目标主机服务的隧道端口。Teredo主机必须提前配置好Ipv4的地址,以有利于Teredo连接。

检测距离最近的Teredo中继服务需要向发送一个IPv6的ping(ICMPv6报

Echo请求)到目标主机。ping封装UDP和IPv4头并发送至Teredo服务器,其中进行解封装并发送本机ICMPv6报文送到目的地。目的主机的响应将通过路由

原生IPv6到最近的(路由感知)Teredo中继,然后再返回到原始主机。以这种方式,客户端凭借其IPv4和UDP[隧道]头决定适当的Teredo中继的IPv4地址和端口。图3-14说明了一个Teredo客户端通信到本地IPv6主机的例子。



NAT类型:在最初,Teredo旨在解决遍历锥和选定的端口受限的NAT类型。然而,RFC6081定义的Teredo扩展,极大地拓展了一套支持穿越NAT的类型

在RFC6081中指定在表3-2中高亮显示[42]:


其中:

(1)Yes= 支持初始的Teredo规范(RFC4380)。

(2)SNS=支持与对称NAT支持扩展。

(3)SN+UPn= 支持与对称NAT的支持,扩展性和 通用即插即用(UPnP)的对称NAT的扩展。

(4)SNS+PP= 支持与对称NAT的支持,扩展性和端口保持对称NAT的扩展。

(5)SNS+SS=支持对称NAT的支持,扩展性和 连续的端口对称NAT的扩展。

(6)No=不支持。

要使用Teredo通信时,NAT必须“初始化”以正确映射对应于那些在NAT内的源地址和目的地址。为了完成内部主机之间通信的NAT内的映射,一个气泡数据包通过Teredo客户端发送到目的主机。一个气泡数据包是没有有效载荷的IPv6报头,本身封装在Teredo的隧道IPv4/UDP头中。它使NAT来完成内部的映射和外部IP地址,内部和外部端口号。

一般来说,气泡数据包是直接从源Teredo客户端发送到目的主机。但是,如果目标主机是又一个防火墙,泡气泡数据包可能会被丢弃,因为这是不请自来的外部数据包。在这种情况下,Teredo客户端超时,并通过Teredo服务器发送气泡数据包,这个服务器有预期目标Teredo格式的IPv6地址,而且将TeredoIPv4地址进行编码。然后Teredo服务器将Teredo数据包转发隧道到目标主机,主机有自己的IPv4地址,这个地址也被编码在Teredo的IPv6地址中。

假设目标主机也是一个Teredo客户端,它将接收到的数据包,已经由之前的ping发送到该服务器的Teredo客户端初在始化期间配置。然后目标主机会直接向源主机响应,完成NAT映射(两边) 。图3-15说明了这种情况 有两个Teredo客户端通过一个共同的Teredo中继通信。



正如我们已经看到的那样,Teredo的IPv6地址在客户及其服务器:Teredo服务器的IPv4地址被定义好了格式。在图3-16显示了TeredoIPv6地址拥有所示的格式:


Teredo的前缀是一个预定义的IPv6前缀:2001:: / 32 Teredo服务器IPv4地址包括下一个32位。 RFC5991[44] 将原来的RFC4380重新定义了标志字段,引进一个随机字符串来减少牙轮转头,尽管在某些情况下它仍是被解释。标志字段有下面的格式:如图3-17所示:


(1C=牙轮转头

(2z=保留 (set to 0)

(3Random1=随机位

(4U=全局/局部位 (set to 0)

(5G=个人/全局位 (set to 0)

(6) Random2=随机位

                    

U和G位被置零,以表明一个局部施用的单播地址和随机比特阻止/不允许Teredo的IPv6地址扫描,即使对应的IPv4地址是已知的(给定一个映射的IPv4地址,12个随机比特提供的4096种组合的Teredo地址)。客户端端口与客户端的IPv4地址字段通过反转每个位值来表示这些各自的模糊值。


0 0
原创粉丝点击