DSTM
出自 MBA智库百科(https://wiki.mbalib.com/)
DSTM(Dual Stack Transition Mechanism,双栈过渡机制)
目录 |
DSTM的目标在于解决纯IPv6网络中的主机与其他IPv4主机或应用的连接问题,它的出发点是提供IPv6节点一个获得IPv4地址的方式,从而使之能够与纯IPv4节点或者IPv4应用程序通信。DSTM技术通过使用IPv4一over—IPv6隧道,实现了IPv4流量任纯IPv6网上的传输,同时也提供一个为IPv6/IPv4双栈节点分配临时IPv4地址的方法。[1]
DSTM体系结构[1]
DSTM的体系结构中包括三个主要组成部分:DSTM服务器、网关和DSTM节点。其中,DSTM服务器负责为客户机节点分配IPv4地址,它只需要保证在一定的时间内IPv4地址的唯一性;网关作为隧道端点承担纯IPv6域和外部的IPv4 Internet或Intranet的边界路由器的角色;DSTM节点执行封装/解封装数据包,完成收发过程。这里有两点需要注意:DSTM节点必须是双栈节点,纯IPv6的节点不能使用DSTM;只有网关需要直接与IPv4连接并需要一个永久IPv4地址。
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隧道将包从该节点转发到一个DSTMTEP,在那里拆封后再使用IPv4转发。DSTM服务器应为客户机提供所需TEP的IPv6地址,这也是地址分配过程的一部分工作。
7.现有的IPv4应用不需任何修改就可以在DSTM节点上运行。
8.只要目的地址是TEP可达的纯IPv4主机,DSTM节点就可以与它进行通信。
DSTM通信过程[1]
DSTM节点与IPv4通信的过程如下:
1.DSTM节点向DsrM服务器请求一个临时的IPv4地址。
2.DSTM服务器在地址池中为该DSTM节点保留一个IPv4地址,并在应答消息中将该地址和地址的有效时间以及有关DSTM网关(也就是TEP)的信息发送给DSTM节点。
3.DSTM节点使用申请来的地址配置其IPv4堆栈,并将所有IPv4包都通过IPv4overIPv6隧道送到DSTM网关。
4.DSTM网关将包拆封成IPv4包发送出去。DSTM网关保留一个含有intranet主机IPv4和IPv6地址的映射表,并利用此映射表来执行IPv4包的封装和拆封。为保证双向通信,IPv4路由必须要确保目的地为A的任何包都经过C。
DSTM的优点[2]
DSTM适用于IPv6域内的节点需要与域外IPv4节点通信的情况。如果应用层网关被适当的运用,IPv4的连通性需求将大大降低。常规的服务,比如HTTP、smtp就可以利用这个特点。DSTM在没有其他的解决方案(如:应用层网关)时就可以布吾使用。DSTM允许双栈节点获得IPv4地址并且提供一个缺省路由(通过4over6隧道)到IPv4网关。如果采用上述机制,眸且DSTM被配置吱能分配公有IPv4地址,邯么任何纯IPv4应用部可以在IPv6网络上运行,征域内的主机将能InternetL任何其他的主机通信。DSTM核心没想是对应用层透明,应用呵以继续使用IPv4地址;而且对于承载网络也是透明的IPv6的包。能保证一些在净核中包含IPv4地址的应用包能够继续正确地被传送(如IPsec和H.323等)。使用DSTM何如下几种好处:
l、纯IPv6芒机可以到达全球hlternet上的相应的纯IPv4节点。虽然足纯IPv6环境,但是主机并没有游离在Internet之外。
2.还没有支持IPv6的应用可以直接运行在纯IPv6fl9书机和网络上。所有IPv4流量都通过隧道(IPv4overIPv6)发往DSTM网关。
3.网络需要配置IPv6。不需要配置IPv4的地址和路由。因为网络管理员不再需要关心IPv4,网络配置只需要IPv6的就可以了,所以网络监控工作就变得容易得多了。
4.减少了IPv4伞球地址的需要。只有在需要地址时才分配一个临时的地址使用。
5.任何类型的协议和应用都被透明地转发。无需采用NAT技术即可实现IPv6节点与IPv4节点的互通。
DSTM节点要求[1]
网络上的每个主机都需要有一个DSTM主机应用。现在,已经有支持FreeBSD、Linux和Microsoft Windows2000的DSTM主机应用。主机有IPv6连接能力,因此在不需要进行IPv4通信时也可以有纯IPv6应用。
1、IPv4协议栈的配置
当第一个IPv4包需要发送时,DSTM客户机不管通过什么方式.必须与DSTM服务器取得联系。随后,客户机从服务器那里获得一个临时的IPv4地址以及一个TEP的IPv6地址。如果允许的话.服务器还可以提供所使用的端El范围。这些信息都用来进行Ipv4overlpv6接El的配置。只有Ipv4ovedpv6的隧道接El配置后.IPv4协议栈的配置才宣告完成。
2、IPv4包转发
由于没有IPv4路由设施.DSTM节点不能直接在网络上发送IPv4包.所以DSTM节点必须能建立与隧道端点TEP之问的Ipv4orerIpv6隧道。DSTM节点将IPv4包封装进IPv6包后,再通过该隧道发给隧道端点TEP(TEP可以看作是一个特殊的DSTM节点).TEP完成拆封工作后再将它们转发到IPv4网络上。在DSTM节点上.封装工作是山Ipv40verlpv6接El完成的。所有的IPv4流量都可以通过一个IPv4路由表项指向这个接口。具体的IDv40verIpv6接El和有关路由表项要视应用而定。
3、DSTM节点中IPv4包的处理
为了保证IPv4的连通性.在纯IPv6域中的节点必须能动态配置他们的IPv4栈(通过向服务器请求临时地址)。当需要发送IPv4包时.DSTM节点会把包交给Ipv4 0ver Ipv6接口。如果Ipv4 over IPv6接口还没有配置(也就是还没有IPv4地址),处理过程就暂时停在这里.然后节点与DSTM服务器联系请求获得一个临时地址。一旦得到IPv4地址.所有通过该IPv4 over Ipv6接LI转发的包都以这个临时地址作为IPv4源地址,IPv4包的其他域正常处理。
4、IPv6数据包结构
当Ipv4 over Ipv6接口将IPv4包封装到IPv6包中.它必须确定IPv6包的目的地址。通常这个地址是rrEP地址。在DSTM节点处。TEP地址可以是静态配置的.也可以是节点获得IPv4地址时从DSFM服务器动态获得的。
TEP的IPv6地址必须在DSTM节点接受临时IPv4地址时由DSTM服务器提供。不过在使用DSTM早期.也可以手工配置DSTM节点的FEP,这种方法不宜推广使用.也不推荐作为长期解决方案。
封装IPv4的包时,Next header type域填4。当隧道包到达IPv6终点,IPv6包头被去掉,由IPv4栈来处理解封后的包。然后TEP将使用普通IPv4的方法来转发拆封后得到的IPv4包。TEP应该缓存这种IPv4和IPv6源地址的对应关系。一个封装包的IPv6源地址应该是发送该IPv6包的物理接El的IPv6地址。