什么是 DCCP(数据报拥塞控制协议)?
网络拥塞是指由于网络节点过载而导致的网络或服务的恶化,基本上,这个问题主要与大型网络相关,其中正在传输大量的数据和信息。拥塞可能由以下几个原因引起:正在使用的路由器不够快,正在使用的 CPU 不够快,它们无法及时退出操作系统中的队列,缓冲区不够大根据我们的要求,否则它们会从数据包中丢失。同样在流量非常大的情况下,情况可能会更糟,以至于根本没有包裹送达。
DCCP基本上是一个基于消息的传输层协议。使用它很容易维护安全连接的设置,它的关闭即 ECN(显式拥塞通知)、拥塞控制和特性协商。 DCCP 是一种很好的访问拥塞控制机制的技术,我们也不需要在应用程序级别实现它们。
DCCP 基本上也允许类似的传输控制协议馈送,但无法按传输顺序进行传输。 DCCP 中不提供多个流的顺序传送(如在 SCTP-流控制传输协议中)。
DCCP 广泛用于应用程序包的交付是由时间限制组成的。属于这一类的例子包括多人在线游戏、网络电话、流媒体(视频、音频)等。这些应用程序最重要的特点是旧消息很快就会自动过期,默认情况下会失去作用。
DCCP 连接设置可以通过下图解释,它与 TCP 连接设置基本相似:
另一方面,新消息具有更高的优先级,因此在这里重新发送数据包并没有多大用处,它最终会消耗时间和不必要的网络资源。数据报拥塞控制协议也可以用作基于 UDP 协议的那些类型的应用程序的通用拥塞控制技术。还可以添加一种安全机制,并可能添加一种用于按传输顺序传送数据包的机制。在其他情况下,DCCP 有助于使用各种拥塞控制机制,通常是对传输控制协议友好的。确认流量和数据流量都包含在 DCCP 连接中。
发送者在确认他的包裹已到达目的地或已被 ECN 标记的帮助下得知。确认用于拥塞控制机制要求的安全目的。其主要目标是安全达到 100%。
DCCP 数据包结构:
根据赋予 X 的值,即扩展序列号位,DCCP 通用报头具有各种形式。
设 X = 1,
序列号字段长 48 位,通用标头占用 16 个字节,下图中清楚地解释了这一点。
如果我们更改 X = 0 的值,则仅传输序列号的低 24 位,通用头为 12 字节长,如下图所示:
DCCP的特点:
- DCCP 是一种不可靠的数据报流,具有良好的确认特性。
- DCCP 有助于确保选项协商的安全,包括协商最合适的拥塞控制机制。
- 它提供了一个安全的握手协议,目的是初始化和关闭 DCCP 的连接。
- 它在用户发现所选路径上的最大发射单元方面起着至关重要的作用。
- 它提供了允许服务器避免存储尝试的未连接、未确认断开或已关闭连接的状态的技术。
- 确认机制是 DCCP 的一个非常好的特性,它有助于传达丢包和 ECN 信息。
- 可选机制也是一些很好的技术,可以以高安全性与发送应用程序通信,哪些数据包已经到达接收器,哪些没有,也不管它们是否被 ECN 标记,或者它们在接收器缓冲区中被破坏或删除。