|
端到端协议负责将数据从源传输到一个或多个网络端点。“端到端”是互联网体系结构术语,而开放系统互连参考模型|开放系统互联参考模型将功能放入其开放系统互连引用模型#Layer 4(Transport)|传输层。 然而,更广泛的定义允许该层的概念包括隧道:封装数据包的端点在逻辑上位于传输层,尽管它不是真正的应用程序端点。 基本的端到端协议在两个真正的端点之间或向中频盒充当代理对于端点主机。还有一些相关协议可以设置具有特定服务质量的端到端路径。还有另一种类型,隧道协议从有效载荷协议,并将其包装在交付协议通过可能与有效载荷数据包格式不兼容的网络传递。密切相关的是在两点之间建立安全关联并应用某种类型的加密的协议,目的是实现数据完整性、数据身份验证或数据保密功能。 代理中间盒(如隧道设备、防火墙和网络地址转换器)终止端到端流,并将独立的端到端数据流传输到真正的主机或另一个中间盒。它们以一种或多种有用的方式操作接收到的数据包,例如从隧道数据包中剥离传输协议,终止高开销的安全功能。
Internet协议套件的端到端协议
“两个半”协议提供了典型的端到端服务:
- 用户数据报协议[1]
- 传输控制协议 [2]有一些修改和使用指南,有助于提高性能。这些在TCP文章中进行了讨论。
- 实时传输协议是“半”协议,因为其段在UDP上运行。[3](RTP)的不同之处在于,它的数据包位于UDP数据包之上,但通常被认为是用于单向传输的端到端协议,可能是用于分发实时信息(如IP语音或流视频)的一对多多播协议。RTP可以承载的不同有效载荷有许多规格;请参阅RTP文章。
单独的接收方使用实时传输控制协议(RTCP),它记录在RTCP规范中。RTCP作为一个缩写,有点不幸,因为它与TCP(传输控制协议)无关。 这个可靠的流传输协议(RSTP)是一种应用级协议,它帮助实时应用为要传输的数据选择适当的端到端协议。[4]
这三个协议的特点总结如下。
功能 |
传输控制协议 |
UDP协议 |
RTP/RTCP |
连接方向 |
是的 |
不 |
是[1] |
有序数据包的可靠交付 |
是的 |
不 |
是的 |
可靠的传送,但可能会重新订购数据包 |
不 |
不 |
不 |
数据错误检测 |
是的 |
是的 |
是的 |
数据错误纠正 |
是的 |
不 |
不 |
流量和拥塞控制 |
是的 |
不 |
是[2] |
端点之间的多个数据流 |
不 |
不 |
是的 |
- 注1:单向数据传输
- 注2:间接,使用RTCP监测接收器
资源预留协议
资源预留协议实际上并不传输数据,但它建立了具有延迟和丢失概率保证的准连接。[5]。一旦设置了这些通道,通常用于互联网语音协议(VoIP)或类似的延迟敏感流量,则使用常规的端到端协议(通常是UDP上的RTP)通过通道发送信息。
隧道协议
在互联网中,当IP有效载荷数据包的地址与传送网络的地址不兼容时,通常需要隧道协议。
+----------------------+-------------------------+----------------+
|
隧道协议头|有效负载协议|+----------------------+-------------------------+----------------+
最简单的网络层隧道协议是IP-in-IP-tunnelinf,它可以通过单个隧道在另一个IP包中携带单个IP包。[6]通用路由封装(GRE)的开销稍大,但可以承载多个IPv4流、IPv6或其他协议;从概念上讲,GRE可以在非IP协议上运行,这在当今的网络中是不太可能的。[7].[8]许多历史上的隧道协议在Internet协议交付网络上承载着根本不同的交付协议,如Novell IPX。 如果多协议标签交换(MPLS)是一种通过IP网络进行隧道传输的协议,那么人们可能会陷入哲学上的争论,但事实是,它与GRE一样是协议无关的。 即使使用MPLS,也可以合理地将隧道协议视为携带数据包。第二层隧道协议(L2TP)在IP网络中通过UDP运行第二层帧。当然,这些PPP帧可以承载IP数据包。
具有端到端协议属性的加密机制
IPSec传输模式
IPSec隧道模式
性能问题
传输控制协议(TCP)具有传输控制协议#具有特定性能特征的路径上的TCP |用于处理高带宽和长延迟链路的机制。用户数据报协议(UDP)有一种与应用程序协议协同工作的方法,用户数据报第#协议用于可以使用损坏数据的应用程序|对数据错误的容忍度超过了对数据丢失的容忍度。
历史非互联网
历史上的端到端协议包括OSI传输协议(类别0-4)、Novell SPX、AppleTalk事务协议、DECnet网络服务协议,以及在Xerox网络服务中的顺序分组协议和分组交换协议。
工具书类
|