传输层协议UDP和TCP

UDP和TCP的比较:

UDP TCP

UDP是无链接的算法

UDP提供不可靠服务网络

UDP同时支持点到点和多点通讯spa

UDP是面向报文的ci

UDP首部8个字节table

TCP是面向链接的效率

TCP提供可靠服务定时器

TCP只能进行点到点通讯自适应

TCP是面向字节流的im

TCP首部20个字节技术

TCP链接管理:

链接创建(三次握手):

注意:TCP报文首部SYN和FIN置位的时候须要消耗一个序列号,而仅有ACK置位时不须要消耗序列号。

链接释放(四次握手):

TCP可靠传输

TCP是可靠的传输层协议,主要经过确认机制和超市重传机制实现可靠传输。

确认机制:

链接的创建和释放用的就是确认机制。

TCP和确认是对接收到的最高序号表示确认。但返回的确认序号是已收到的数据的最高序号加一。也就是说确认序号表示下次但愿收到的数据字节的序号。确认具备累计确认效果。

超时重传机制:

超时重传机制最关键的因素的重传定时器的定时设置,但肯定合适的往返时延RTT是至关困难的事情。

TCP采用了一种自适应算法。算法思想描述以下:记录每个报文段发出的时间以及收到相应的确认报文段的时间,这两个时间差就是报文段的往返时延。将各个报文段的往返时延样本加权平均,就获得报文段的平均往返时延RTT。

  • RTT新值 = RTT样本(第一次测量)
  • RTT新值 = α*RTT旧值 + (1-α)*新的RTT样本

TCP有三种定时器:重传定时器、持续定时器、保活定时器。

TCP流量控制

经过接收方的接收窗口rwnd实现。在通讯过程当中,接收方能够根据本身的接受状况动态地调整本身的接收窗口,而后告诉发送方,让发送方的发送窗口和本身的接收窗口一致。

TCP拥塞控制

拥塞控制的基本功能是避免网络发生拥塞。TCP/IP的拥塞控制机制主要集中在传输层实现。拥塞控制的前提条件是网络可以承受现有的网络负荷。

拥塞控制经过拥塞窗口cwnd实现。注意:发送窗口的取值依据拥塞窗口和接收窗口中的较小值,即Min[rwnd,cwnd]。发送方控制拥塞窗口的原则是:只要网络没有出现阻塞,拥塞窗口就能够再大一些;但只要出现阻塞,拥塞窗口就减少一些。

为了更好的进行拥塞控制,用到四种技术:慢启动、拥塞避免、快速重传、快速恢复。

  • 慢启动:在TCP刚创建链接或当网络发生拥塞超时时,将拥塞窗口设置为一个报文段大小,而且当cwnd<=ssthresh时,指数方式增大cwnd。
  • 拥塞避免:当cwnd>=ssthresh时,为避免网络发生拥塞,进入拥塞避免算法,这时线性增大cwnd(每次增大一个报文段)。当网络发生拥塞时,就要把门限值ssthresh设置为出现拥塞时发送方cwnd的一半(但不能小于2),而后把拥塞窗口重置为1,执行慢启动算法。
  • 快速重传:发送方若是连续收到对同一报文段三个重复确认ACK, 则当即重传该报文段,而没必要等重传定时器超时后重传。
  • 快速恢复:当采用快速重传算法时,直接执行拥塞避免算法。这样能够提升传输效率。
相关文章
相关标签/搜索