隧道技术摘要
隧道技术(Tunneling)是网络基础设置在网络之间传递数据的方式,使用隧道技术传递可以是不同协议的数据包,隧道协议将这些其他协议的数据包重新封装在新的包头中发送。被封装的数据包在隧道的两个端点之间通过网络进行路由,被封装数据包在网络上传递时所经历的逻辑路径称为隧道。
简单来说,隧道技术是一类网络协议
,是将一个数据包封装在另一个数据包中进行传输的技术;使用隧道的原因是在不兼容的网络上传输数据,或在不安全网络上提供一个安全路径。通过网络隧道技术,可以使隧道两端的网络组成一个更大的内部网络。(把不支持的协议数据包打包成支持的协议数据包之后进行传输)。
隧道协议
要创建隧道,隧道的客户机和服务器双方必须使用相同的隧道技术,隧道协议有二层隧道协议与三层隧道协议两类。
二层隧道协议对应OSI模型中数据链路层,使用帧作为数据交换单位,PPTP、L2TP、L2F都属于二层隧道协议。是将数据封装在点对点协议的帧中通过互联网络发送。
三层隧道协议对应OSI模型中网络层,使用包作为数据交换单位,GRE、IPSec、GRE都属于三层隧道协议。都是数据包封装在附加的IP包头中通过IP网络传送。
网络隧道技术应用
隧道在Linux 中应用
IP隧道是指一种可在两网络间进行通信的通道。在该通道里,会先封装其他网络协议的数据包,之后再传输信息。
Linux原生共支持5种IPIP隧道: