DSTM过渡技术及其网络安全策略
发布时间:2006-10-14 8:05:26   收集提供:gaoqian
徐贵宝


  一、DSTM概述

  IPv4/IPv6过渡问题是一个相当复杂的问题,现在已经提出了许多种不同的方法来解决这个问题,包括双栈、SIIT、NAT-PT、SOCKS64、BIA、Tunnel Broker、6to4和BIS等等,这些方法各自适用于过渡过程中的不同情况。DSTM(Dual Stack Transition Mechanism)的目标在于解决纯IPv6网络中的主机与其他IPv4主机或应用的连接问题,它的出发点是提供IPv6节点一个获得IPv4地址的方式,从而使之能够与纯IPv4节点或者IPv4应用程序通信。DSTM技术通过使用IPv4-over-IPv6隧道,实现了IPv4流量在纯IPv6网上的传输,同时也提供一个为IPv6/IPv4双栈节点分配临时IPv4地址的方法。

  DSTM目前还处于IETF草案阶段。使用DSTM机制的节点必须是双栈节点,而且这种机制还必须要结合隧道技术进行应用。

  二、DSTM体系结构

  DSTM的体系结构(如图1所示)中包括三个主要组成部分:DSTM服务器、网关和DSTM节点。其中,DSTM服务器负责为客户机节点分配IPv4地址,它只需要保证在一定的时间内IPv4地址的唯一性;网关作为隧道端点承担纯IPv6域和外部的IPv4 Internet或Intranet的边界路由器的角色;DSTM节点执行封装/解封装数据包,完成收发过程。这里有两点需要注意。一是DSTM节点必须是双栈节点,纯IPv6的节点不能使用DSTM;二是在只有网关需要直接与IPv4连接并需要一个永久IPv4地址。


图1 DSTM的体系结构


  DSTM模型假定如下:

  1.DSTM域在Intranet而不是Internet中。

  2.IPv6节点平时不维护IPv4地址(除非是与纯IPv4节点通信或使用IPv4应用而临时分配地址)。

  3.临时IPv4地址由DSTM服务器负责分配,分配的协议有多种选择(DHCPv6就是一个不错的选择)。由于服务器和客户机是都是在同一个纯IPv6网络中,所以地址分配协议要考虑这个限制。

  4.作为地址分配功能的扩展,DSTM服务器还可以提供一个端口范围供客户机使用。这样就可以允许几个不同的DSTM节点同时使用相同的IPv4地址,从而大大减小了所需的IPv4地址池。

  5.在DSTM域内,IPv4路由表保留到最小,从而减少了过渡时期所需要的IPv4网管工作。

  6.一旦IPv6节点获得一个IPv4地址(也可能是一个端口范围),就会使用4over6隧道将包从该节点转发到一个DSTM TEP,在那里拆封后再使用IPv4转发。DSTM服务器应为客户机提供所需TEP的IPv6地址,这也是地址分配过程的一部分工作。

  7.现有的IPv4应用不需任何修改就可以在DSTM节点上运行。

  8.只要目的地址是TEP可达的纯IPv4主机,DSTM节点就可以与它进行通信。

  三、DSTM通信过程

  DSTM节点与IPv4通信的过程如下:

  ·DSTM节点向DSTM服务器请求一个临时的IPv4地址。

  ·DSTM服务器在地址池中为该DSTM节点保留一个IPv4地址,并在应答消息中将该地址和地址的有效时间以及有关DSTM网关(也就是TEP)的信息发送给DSTM节点。

  ·DSTM节点使用申请来的地址配置其IPv4堆栈,并将所有IPv4包都通过IPv4 over IPv6隧道送到DSTM网关。

  ·DSTM网关将包拆封成IPv4包发送出去。DSTM网关保留一个含有intranet主机IPv4和IPv6地址的映射表,并利用此映射表来执行IPv4包的封装和拆封。为保证双向通信,IPv4路由必须要确保目的地为A的任何包都经过C。

  四、DSTM节点要求

  网络上的每个主机都需要有一个DSTM主机应用。现在,已经有支持FreeBSDLinux和Microsoft Windows 2000的DSTM主机应用。主机有IPv6连接能力,因此在不需要进行IPv4通信时也可以有纯IPv6应用。例如,在DSTM网络中,一些内部应用就可以使用纯IPv6的而不再需要支持IPv4。每个需要通过IPv4通信的应用都必须支持IPv6-IPv4双栈。FreeBSD中ENST提供的主机应用需要一个“gif”(隧道)接口来支持IPv4 over IPv6隧道。

  1 IPv4协议栈的配置

  只要通信是在本地IPv6中发生的,DSTM节点就不需要使用IPv4地址。主机只有在以下情况时才需要IPv4地址:

  ·DNS解析的结果表明目的地址是一个IPv4地址时;

  ·当应用打开一个IPv4 socket时;

  ·一个IPv4数据包发往内核而又没有接口准备转发此包时。

  当第一个IPv4包需要发送时,DSTM客户机不管通过什么方式,必须与DSTM服务器取得联系。随后,客户机从服务器那里获得一个临时的IPv4地址以及一个TEP的IPv6地址。如果允许的话,服务器还可以提供所使用的端口范围。这些信息都用来进行4over6接口的配置。只有4over6的隧道接口配置后,IPv4协议栈的配置才宣告完成。

  2 IPv4包转发

  由于没有IPv4路由设施,DSTM节点不能直接在网络上发送IPv4包,所以DSTM节点必须能建立与隧道端点TEP之间的4over6隧道。DSTM节点将IPv4包封装进IPv6包后,再通过该隧道发给隧道端点TEP(TEP可以看作是一个特殊的DSTM节点),TEP完成拆封工作后再将它们转发到IPv4网络上。

  在DSTM节点上,封装工作是由4over6接口完成的。所有的IPv4流量都可以通过一个IPv4路由表项指向这个接口。具体的4over6接口和有关路由表项要视应用而定。

  3 DSTM节点中IPv4包的处理

  为了保证IPv4的连通性,在纯IPv6域中的节点必须能动态配置他们的IPv4栈(通过向服务器请求临时地址)。

  当需要发送IPv4包时,DSTM节点会把包交给4over6接口。如果4over6接口还没有配置(也就是还没有IPv4地址),处理过程就暂时停在这里,然后节点与DSTM服务器联系请求获得一个临时地址。一旦得到IPv4地址,所有通过该4over6接口转发的包都以这个临时地址作为IPv4源地址,IPv4包的其他域正常处理。

  4 IPv6数据包结构

  当4over6接口将IPv4包封装到IPv6包中,它必须确定IPv6包的目的地址。通常这个地址是TEP地址。在DSTM节点处,TEP地址可以是静态配置的,也可以是节点获得IPv4地址时从DSTM服务器动态获得的。

  TEP的IPv6地址必须在DSTM节点接受临时IPv4地址时由DSTM服务器提供。不过在使用DSTM早期,也可以手工配置DSTM节点的TEP,这种方法不宜推广使用,也不推荐作为长期解决方案。

  封装IPv4的包时,Next header type域填4。当隧道包到达IPv6终点,IPv6包头被去掉,由IPv4栈来处理解封后的包。然后TEP将使用普通IPv4的方法来转发拆封后得到的IPv4包。TEP应该缓存这种IPv4和IPv6源地址的对应关系。

  一个封装包的IPv6源地址应该是发送该IPv6包的物理接口的IPv6地址。

  五、DSTM服务器要求

  DSTM服务器负责为节点分配临时的IPv4地址,并且只需要在一定时间内保证该地址的唯一性。为了减少对IPv4地址的需要,有些应用还包括了一个端口范围作为分配过程的一部分,这样不同节点就可以同时使用同一IPv4地址了。

  DTSM服务器必须要记录申请地址的节点的IPv6地址和临时分配给它的IPv4地址之间的对应关系。服务器分配出去的地址都有一个使用期限,服务器把这个期限包含在回复给节点的应答中。如果客户机需要长时间使用IPv4地址,就得申请地址续租了。

  DSTM服务器负责IPv4地址池分配。系统管理员要确定地址池。隧道端点(TEP) IPv6地址的配置必须在DSTM服务器上进行。

  在IPv4的路由方面,必须保证DSTM服务器所管理的IPv4全球地址池,能被路由到一个或多个此DSTM域中的TEP。当分配一个地址给DSTM节点时,服务器消息应该包括TEP的IPv6地址。并且当TEP不能动态建立映射或者因为安全原因取消动态映射,DSTM服务器可以负责配置TEP中的IPv4/IPv6映射表。

  DSTM的客户端和服务器的通信必须是IPv6方式。DSTM服务器也可以在没有客户端请求的情况下分配临时IPv4地址。DTSM服务器应该能够对DTSM客户端进行认证。

  六、DSTM的优点

  DSTM适用于IPv6域内的节点需要与域外IPv4节点通信的情况。如果应用层网关被适当的运用,IPv4的连通性需求将大大降低。常规的服务,比如HTTP、smtp就可以利用这个特点。DSTM在没有其他的解决方案(如:应用层网关)时就可以布署使用。DSTM允许双栈节点获得IPv4地址并且提供一个缺省路由(通过4over6隧道)到IPv4网关。如果采用上述机制,并且DSTM被配置成能分配公有IPv4地址,那么任何纯IPv4应用都可以在IPv6网络上运行,在域内的主机将能与Internet上任何其他的主机通信。

  DSTM核心设想是对应用层透明,应用可以继续使用IPv4地址;而且对于承载网络也是透明的IPv6的包。能保证一些在净核中包含IPv4地址的应用包能够继续正确地被传送(如IPsec 和H.323等)。

  使用DSTM有如下几种好处:

  1.纯IPv6主机可以到达全球Internet上的相应的纯IPv4节点。虽然是纯IPv6环境,但是主机并没有游离在Internet之外。

  2.还没有支持IPv6的应用可以直接运行在纯IPv6的主机和网络上。所有IPv4流量都通过隧道(IPv4 over IPv6)发往DSTM网关。

  3.网络只需要配置IPv6。不需要配置IPv4的地址和路由。因为网络管理员不再需要关心IPv4,网络配置只需要IPv6的就可以了,所以网络监控工作就变得容易得多了。

  4.减少了IPv4全球地址的需要。只有在需要地址时才分配一个临时的地址使用。

  5.任何类型的协议和应用都被透明地转发。无需采用NAT技术即可实现IPv6节点与IPv4节点的互通。

  七、安全策略

  DSTM机制可以使用所有已经定义的安全规范。对于DNS,可以使用DNS安全扩展/更新。而在地址分配方面,当连接是由DSTM节点触发时,因为DSTM是一个Intranet环境,所以对地址池的DOS危险是也很有限。Intranet DSTM中,如果布署了DHCPv6,则可以使用DHCPv6认证消息,而且由于TEP都位于Intranet中,他们不作为开放的中继。最后,对于DSTM节点的IPv4通信,一旦节点具有IPv4地址,IPsec就能被使用,因此DSTM不会破坏在任何点的端到端的通信安全。

  1控制有权接入业务的人

  ·在 DSTM服务器上过滤

  对网络管理员来说,确保使用DSTM服务器的主机允许控制有权接入该业务的人非常重要。下面的过滤策略就应该应用到DSTM服务器上:

  allow ipv6 tunnel_request from allowed_hosts to DSTM_server

  allow ipv6 tunnel_request from DSTM_server to TEP

  allow ipv6 tunnel_reply from DSTM_server to allowed_hosts

  allow ipv6 tunnel_delete from DSTM_server to allowed hosts

  allow ipv6 tunnel_delete from DSTM_server to TEP

  deny ipv6 from any to any

  ·认证

  现在还没有使用认证,因为基于RCP的应用不支持认证。将来计划使用隧道配置协议 (TSP)和DHCPv6 的应用应该支持认证。

  2 DTI问题

  目前,ENST提供的DSTM应用需要DSTM服务器和TEP在同一台机器上来保证TEP上的隧道与服务器的分配相一致。这些DSTM应用主要是基于RPC的。现在,已经有了一些用于服务器和TEP之间建立隧道的通信协议的实际应用,虽然有些只是预见性的想法(TSP and DHCPv6)。

  如果TEP与DSTM服务器在物理上不是安装在同一台主机上,那么它就使用动态隧道接口(DTI)来建立隧道。这个机制很简单:当TEP收到有协议4的IPv6包时(也就是携带IPv4包的数据),它就自动使用包内携带的信息(IPv6和IPv4源和目的地址)创建一个IPv4 in IPv6隧道。注意,这种情况下还没有方法检查TEP所建立的隧道与DSTM服务器的分配的对应关系,这一点非常重要。可能会出现下面的情况: 一个主机(A)被分给一个IPv4地址与IPv4网络通信使用用TEP的DTI创建的IPv4 over IPv6隧道,如果另一个主机(B)使用与A相同的IPv4源地址发了一个IPv4 in IPv6的包,TEP和A之间的隧道就会被破坏掉了而备TEP和B之间的隧道所代替。这个弱点可能会被用于地址欺骗攻击。不过目前正在考虑是否可以通过使用认证头(AH)协议来解决这个问题。

  3网络中的过滤策略

  支持DSTM业务的IPv6网络中的所有设备都必须允许IPv4按照IPv4 in IPv6隧道方式传输。

  4监控

  为了监控一个DSTM激活的网络,系统管理员应该监测在TEP上创建的隧道和DSTM服务器所做的分配。系统应该能检查与DSTM服务器所做分配相对应的隧道,并在出现错误时发出警告消息。

  八、结论

  虽然目前DSTM还处于IETF草案阶段,技术还远远没有成熟,尤其是在安全方面还有许多问题值得探讨,但是通过使用DSTM技术,可以明显地减少对IPv4地址的需要、可以使IPv4的应用不需要进行修改就能直接运行在IPv6主机上、不需要对IPv4进行任何管理、可以透明地转发任何类型的协议和应用。也正是由于这种方法有着诸多的优点,所以它才日益引人注目。随着DSTM技术的日益成熟,相信它能够IPv4/IPv6过渡方面发挥更大的作用。

  
摘自 泰尔网
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50