隧道代理

在计算机网络中，隧道代理（）是一种提供网络隧道的服务。这些隧道可以在现有的基础设施上提供经封装的到另一个基础设施的连通性。

目前存在着许多种隧道代理，包括IPv4隧道代理，但该术语的最常见用法还是定义于RFC 3053的IPv6隧道代理。

IPv6隧道代理通常是提供IPv6隧道给使用IPv4的网站或者最终用户。通常来说，IPv6隧道代理提供被称为“协议 41”的隧道。它们将IPv6直接嵌入在协议字段设定为“41”（IPv6）的IPv4網路封包中。RFC 2473则定义了在IPv6网络中为用户提供IPv4隧道封装的IPv4隧道代理。

自动配置 
IPv6隧道的配置通常使用（Tunnel Setup Protocol，TSP）或者（Tunnel Information Control，TIC）协议。（Automatic IPv6 Connectivity Client Utility，自动化IPv6连通性客户端实用工具）客户端还支持其独有的协议。此外，IPv6隧道TSP也可用于设置IPv4隧道。

NAT问题 
Proto-41隧道（在IPv4中直接IPv6）可能无法在NAT后良好运行。其中一个解决方法是在NAT管理设备上将隧道的实际端点配置为DMZ。另一个方法是使用或，两者都是在UDP数据包中发送IPv6，这可以穿越大多数NAT设置及防火墙。

仍可能发生的一个问题是NAT设备中的状态超时。部分NAT可能会记忆一个数据包是发往互联网而允许互联网上的另一个与proto-41相关的数据包传回。当此状态过期时，互联网上传来的其他数据包不会被接受。因此这将导致隧道连接被中断，直至用户的主机再次向隧道代理發送数据包。

动态端点 
当端点没有一个静态IP地址时，用户或程序必须指示隧道代理更新端点地址。这可以使用隧道代理的网站或者自动化协议（例如AICCU使用的或Heartbeat ）完成。在通过TSP使用隧道代理时，客户端将自动重启隧道，更新端点地址和端口。

实现 
首个IPv6隧道代理的实现是意大利的S.p.A，由RFC 3053的作者Ivano Guardini制作

目前存在着多种多样的隧道代理，基于不同的目的制作自己的实现。下面列出了IPv6隧道代理的最常用实现。

Gogo6 gogoSERVER 
gogoSERVER（以前称Gateway6）是由Freenet6服务使用，这是第二个IPv6隧道代理服务，于1999年开始运营。它最初作为Viagenie的一个项目，之后Hexago分拆一个商业公司来销售Gateway6，由Freenet6提供支持，作为他们的旗舰产品。2009年6月，Hexago通过管理层收购变为gogo6，并且Freenet6成为gogoNET（一个面向IPv6专业人员的社会网络）的一部分。2016年3月23日，Freenet6/Gogo6的所有服务终止。

SixXS sixxsd 
SixXS的sixxsd is what powers all the SixXS PoPs。它是一个定制化软件，为高性能且低延迟的隧道而设计。sixxsd的开发始于2002年，目前已演变为v4版本的软件。该软件是为提供和运行SixXS PoPs的ISP提供。在最初的2000年，SixXS使用shell bash脚本。由于可扩展性及其他问题，sixxsd被设计和开发。

CITC ddtb 
CITC Tunnel Broker，由沙特阿拉伯IPv6工作组运行，采用他们自己的名为“ddtb”的TSP RFC实现。

参见 
 IPv6隧道代理列表
 6in4

参考资料 

IPv6
穿隧協議