此條目翻譯自其他語言維基百科,需要相關領域的編者協助校對翻譯。 |
在计算机网络中,隧道代理(英語:tunnel broker)是一种提供网络隧道的服务。这些隧道可以在现有的基础设施上提供经封装的到另一个基础设施的连通性。
目前存在着许多种隧道代理,包括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)协议。AICCU(Automatic IPv6 Connectivity Client Utility,自动化IPv6连通性客户端实用工具)客户端还支持其独有的协议。此外,IPv6隧道TSP也可用于设置IPv4隧道。
Proto-41隧道(在IPv4中直接IPv6)可能无法在NAT后良好运行。其中一个解决方法是在NAT管理设备上将隧道的实际端点配置为DMZ。另一个方法是使用AYIYA或TSP,两者都是在UDP数据包中发送IPv6,这可以穿越大多数NAT设置及防火墙。
仍可能发生的一个问题是NAT设备中的状态超时。部分NAT可能会记忆一个数据包是发往互联网而允许互联网上的另一个与proto-41相关的数据包传回。当此状态过期时,互联网上传来的其他数据包不会被接受。因此这将导致隧道连接被中断,直至用户的主机再次向隧道代理發送数据包。
当端点没有一个静态IP地址时,用户或程序必须指示隧道代理更新端点地址。这可以使用隧道代理的网站或者自动化协议(例如AICCU使用的TSP或Heartbeat (页面存档备份,存于互联网档案馆))完成。在通过TSP使用隧道代理时,客户端将自动重启隧道,更新端点地址和端口。
首个IPv6隧道代理的实现是意大利CSELT的S.p.A,由RFC 3053的作者Ivano Guardini制作[1]
目前存在着多种多样的隧道代理,基于不同的目的制作自己的实现。下面列出了IPv6隧道代理的最常用实现。
gogoSERVER(以前称Gateway6)是由Freenet6服务使用,这是第二个IPv6隧道代理服务,于1999年开始运营。它最初作为Viagenie的一个项目,之后Hexago分拆一个商业公司来销售Gateway6,由Freenet6提供支持,作为他们的旗舰产品。2009年6月,Hexago通过管理层收购变为gogo6[需要解释],并且Freenet6成为gogoNET(一个面向IPv6专业人员的社会网络)的一部分。[2]2016年3月23日,Freenet6/Gogo6的所有服务终止。
SixXS的sixxsd is what powers all the SixXS PoPs。它是一个定制化软件,为高性能且低延迟的隧道而设计。sixxsd的开发始于2002年[3],目前已演变为v4版本的软件。该软件是为提供和运行SixXS PoPs的ISP提供。在最初的2000年,SixXS使用shell bash脚本。[4]由于可扩展性及其他问题,sixxsd被设计和开发。
CITC Tunnel Broker,由沙特阿拉伯IPv6工作组运行,采用他们自己的名为“ddtb”的TSP RFC实现。