美文网首页
6.5其他传输层协议

6.5其他传输层协议

作者: 紫色冰雨 | 来源:发表于2018-09-03 16:55 被阅读25次

    6. 5. 1 UDP-Lite

    UDP-Lite ( Lightweight User Datagram Protocol ,轻量级用户数据报协议)是扩展UDP机能的一种传输层协议。在基于UDP的通信当中如果校验和出现错误,所收到的包将被全部丢弃。然而,现实操作中,有些应在面对这种情况时并不希望把已经收到的所有包丢弃。

    如果将UDP中校验和设置为无效,那么即使数据的一部分发生错误也不会将整个包废弃。不过,这不是一个很好的方法。因为如果发生的错误有可能是UDP 首部中的端口号被破坏或是IP首部中的IP地址被破坏' 就会产生严重后果。因此,不建议将校验和关闭。为了解决这些问题,UDP的修正版UDP-Lite协议就出现了。

    UDP-Lite提供与UDP几乎相同的功能,不过计算校验和的范围可以由应用自行决定。这个范围可以是包加上伪首部的校验和计算,可以是首部与伪首部的校验和计算,也可以是首部、伪首部与数据从起始到中间某个位置的校验和计算' 有了这样的机制,就可以只针对不允许发生错误的部分进行校验和的检查。 对于其他部分,即使发生了错误,也会被忽略不计。而这个包也不会被丢弃,而 是直接传给应用继续处理。

    6.5.2 SCTP

    SCTP ( Stream Control Transmission Protocol ,流控制传输协议)▼与 TCP 一样,都是对一种提供数据到达与否相关可靠性检查的传输层协议。其主要特点如下:

    ®以消息为单位收发

    TCP中接收端并不知道发送端应用所决定的消息大小。在SCTP中却可以。®支持多重宿主

    在有多个NIC的主机中,即使其中能够使用的NIC发生变化,也仍然可以继续通信'

    ^支持多数据流通信

    TCP中建立多个连接以后才能进行通信的效果,在SCTP中一个连接就可以,

    ^可以定义消息的生存期限 超过生存期限的消息,不会被重发。

    SCTP主要用于进行通信的应用之间发送众多较小消息的情况。这些较小的应用消息被称作数据块(Chunk),多个数据块组成一个数据包。

    此外,SCTP具有支持多重宿主以及设定多个IP地址的特点。多重宿主是指同一台主机具备多种网络的接口。例如,笔记本电脑既可以连接以太网又可以连接无线LAN。

    同时使用以太网和无线LAN时,各自的NIC会获取到不同的IP地址。进行TCP通信,如果开始时使用的是以太网,而后又切换为无线LAN,那么连接将会被断开。因为从SYN到FIN包必须使用同一个IP地址。

    然而在SCTP的情况下,由于可以管理多个IP地址使其同时进行通信,因此即使出现通信过程当中以太网与无线LAN之间的切换,也能够保持通信不中断。所以SCTP可以为具备多个NIC的主机提供更可靠的传输T。

    F6. 5. 3 DCCP

    DCCP (Datagram Congestion Control Protocol ,数据报拥塞控制协议)是一个 辅助UDP的崭新的传输层协议。UDP没有拥塞控制机制。为此,当应用使用UDP发送大量数据包时极容易出现问题。互联网中的通信,即使使用UDP也应该控制拥塞。而这个机制开发人员很难将其融合至协议中,于是便出现了DCCP这样的规范。

    DCCP具有如下几个特点:

    与UDP—样,不能提供发送数据的可靠性传输。

    它面向连接,具备建立连接与断开连接的处理。在建立和断开连接上是具有可靠性。

    ®能够根据网络拥堵情况进行拥塞控制。使用DCCP (RFC4340)应用可以根据自身特点选择两种方法进行拥塞控制。它们分别是“类似TCP (TCP- like)拥塞控制”和 “TCP 友好升级控制”(TCP-Friendly Rate Control)▼ (RFC4341)0

    need-to-insert-img

    ®为了进行拥塞控制,接收端收到包以后返回确认应答(ACK)。该确认应答将被用于重发与否的判断。

    相关文章

      网友评论

          本文标题:6.5其他传输层协议

          本文链接:https://www.haomeiwen.com/subject/brkiwftx.html