流控制机制,流控制机制原理是什么?
可以将网络服务分为最优的无连接服务或可靠的面向连接的服务。在Internet协议集中,IP属于最优服务,而TCP属于可靠的服务。IP仅提供简单的数据分组转发,而TCP执行流控制、确认以及重新发送丢失或损坏的数据分组。它将服务“分散”在网络上并将发送的可靠性责任交给终端系统。TCP是终端对终端的传输协议,即它运行在终端系统,而不是在网络中。IP是网络协议。TCP提供的服务包括以下内容:
流控制机制 用以控制数据分组流,这样发送者不会发送超过接收者所能处理的数据分组。
【资料图】
可靠的发送机制 为接收系统提供了确认它已收到数据分组的方法,同时也提供了使发送者知道它必须重新发送丢失或损坏的数据分组的方法。即TCP协议每发送一个数据包将会收到一个确认信息。这种发送/应答模式是提供可靠的协议的唯一方法:你必须让对方知道你否收到了数据。当然,这也会造成一些性能损失,而人们需要改善系统效率不高的状况。所以引入了“捎带确认(piggybacking ACKs)”的方法。TCP协议之所以是全双工的就是因为这个“捎带确认”信息,因为它允许双方同时发送数据。这是通过在当前的数据包中携带以前收到的数据的确认信息方式实现的。从提高网络利用率的角度看,这比单纯发送一个通知对方“信息已收到”的数据包要好得多。最后,还有一个批量确认的概念:也即一次确认一个以上的数据包,表示“我收到了包括这个数据包在内的全部数据包”。
拥塞控制机制 允许网络系统检测网络拥塞(网络上的通信量超过了网络或网络设备的处理能力)并迫使这些传输返回以减轻拥塞。拥塞发生在繁忙的网络上。发生拥塞时,终端系统和网络不得不协同工作以最大程度地减轻拥塞。作为比较,流控制用在终端系统之间。接收者使用流控制向发送者表明它已超负荷。然后发送者迫使它的传输停止。
Internet成功的一个关键因素就是TCP协议的避免拥塞机制。当前TCP协议在Internet中仍然是占主导地位的传输协议,但它不是适用于任何地方,有越来越多的应用由于某种原因而没有选择使用TCP协议。通信不仅包括多点传送通信,而且包括单点传送通信,诸如不需要可靠性的流化的多媒体,以及包括象DNS(Domain Name Server域名服务器)或路由信息的通信,它们带有被认为对网络运行至关重要的短信息。许多通信并不使用任何形式的预留带宽或端到端拥塞控制。为了保持最优传输量,端到端的拥塞控制的继续使用对保持Internet的稳定至关重要。
流控制是必要的,因为发送者和接收者通常在容量和处理能力上并不般配。接收者可能无法用与发送者相同的速度处理数据分组。如果缓存区已满,会丢弃数据分组。流控制机制的目标在于阻止丢弃数据分组从而避免重新传送。
流控制用于在数据链路层中控制直连设备间的流。作为比较,TCP控制跨多步跳路由网络设备间的流。数据链路层协议包括SDLC(同步数据链路控制)、HDLC(高层数据链路控制)、LAP-B(链路访问过程平衡)、SLIP (串行线路Internet协议)以及PPP(点对点协议)。传输层协议包括TCP(传输控制协议)和Novell SPX (顺序数据分组交换)。
当讨论数据链路层协议时,传输单元为帧。在传输层中,TCP的传输单元为段。段被封装在IP数据报中,而IP数据报又封装在数据链路层的帧中。
流控制的类型
以下将介绍几种流控制方案。每种机制都有助于发送者和接收者同步它们之间的传输和接收速率,从而防止丢弃数据分组。数据分组被丢弃后,必须重新发送,这会浪费网络带宽。
物理层流控制
物理层连接包含用于在计算机上连接辅助设备或连接两个通信设备(比如从计算机的串行端口到调制解调器或终端连接)的串行接口(如V.24 (RS-232))。流控制可用于发出接收者已准备好传输的信号,在接收者超负荷时,可发出必须停止传输的信号。
有两种类型的物理层流控制:
硬件(波段外)流控制 在这种方案中,使用物理接口上的特殊引线来发出可以开始或可以结束传输的信号。当发送站准备好发送数据时,它会激活RTS(Request To Send)。当接收站准备好接收数据时,它会激活CTS ( Clear To Send )引线。如果接收者变成超负荷,它将使CTS处于非激活状态。
软件(波段内)流控制 在这种方案中,使用被称做XON和XOFF的特殊控制字符来控制流。 当接收者准备好接受数据时,它发送XON字符。当它超负荷时,它发送XOFF字符。当它准备好接收更多数据时,它会发送另一个XON字符。
“停止并等待”流控制
关键词:
Copyright 2015-2022 起点地质网版权所有 备案号:皖ICP备2022009963号-12 联系邮箱: 39 60 29 14 2@qq.com