UDP与TCP

1.UDP用户数据协议缓存

  • UDP是无链接的,在发送数据以前无需创建链接
  • UDP使用尽最大努力交付,即不保证可靠交付
  • UDP是面向报文的,既不合并也拆分报文,而是保留报文的边界
  • UDP没有拥塞控制,网络出现拥塞不影响发送速度,没有太大延迟。
  • UDP支持一对1、一对多、多对1、多对多的交互通讯
  • UDP的首部开销小

传输控制协议TCP网络

  • TCP是面向链接的运输层协议
  • TCP只能点对点(一对一)链接
  • TCP提供可靠交付
  • TCP提供全双工通讯,容许通讯双方任什么时候候发送或接收数据,同时TCP链接的两端都设有发送/接收缓存
  • 面向字节流,TCP中的“流”指的是流入到进程或从进程中流出的字节序列,TCP链接是一条虚链接(逻辑链接)

2.TCP链接socket

    TCP链接的端口是套接字(socket)或插口,由IP地址和端口号组成。设计

   套接字={IP地址:端口号}3d

   

3.可靠传输的工做原理blog

理想的传输条件有如下两点:进程

  1. 传输信道不产生差错
  2. 无论发送方以多快的速度发送数据,接收方老是来得及处理收到的数据

因为传输层如下没法提供可靠的传输,不具备以上两点。原理

  3.1 中止等待协议定时器

   1.无差错状况请求

2.出现差错

对于这两种状况,B都不会发送任何信息:

  • B收到M1时检测出了差错,就丢失M1
  • M1在传输过程丢失

可靠性传输协议这样设计:

    超时重传:A只要超过一段时间仍然没有收到确认,就认为丢失了该分组,重传该分组。

    实现超时重传,经过为发送的分组设置定时器,在计时器收到对方的确认,就撤销已经设置的定时器。这里须要注意的有三点:

  1.     A在发送完一个分组后,必须暂时保留该分组的副本(在发生超时重传时使用),只有收到确认后才清除该副本。
  2.     分组和确认分组都必须进行编号(明确哪一个分组发送失败)
  3.     超市计时器设置的重传时间应当比数据在分组传输的平均往返时间更长一些。

3.确认丢失和确认迟到

B收到M1分组,关于收到M1分组的确认丢失,所以A将重传M1分组,B经采起如下行动:

  1. 丢失这个重复的分组M1
  2. 向A发送确认

在传输过程没有出现差错,但B对分组M1的确认迟到了。A收到重复确认,收下后丢失,B收到重复分组,一样丢失重复分组。

        上述的这种可靠传输协议常称为自动重传请求ARQ。

连续ARQ协议

         图(b)表示发送方收到了对第一个分组的确认发送窗口向前地洞一个分组。若是原来已经发送了前5个分组,如今就能够发送窗口内的第6个分组。

        接收方通常采用累积确认方式,也就是,接收方不对每一个分组逐一发送确认,在收到几个分组后,对按序到达的最后一个分组发送确认,这就表示:到这个分组为止的全部分组都以正确收到了。

相关文章
相关标签/搜索