TCP和UDP

一、TCP和UDP的区别

TCP UDP
面向连接的可靠性传输 无连接不可靠
保证数据的无差错、不丢失、不重传且按序到达 尽最大努力交付,但不保证可靠交付
面向字节流 面向报文
只能是一对一 一对一或一对多
首部较大有20字节 首部只有8字节
用于需要可靠传输的情况 用于高速传输和对实时性有较高要求的通信(视频、音频等多媒体通信)或广播通信

TCP特点:流量控制、拥塞控制、面向连接、可靠传输

二、TCP滑动窗口和拥塞窗口比较

  1. 滑动窗口:发送方+接收方

    解决发送方和接收方收发数据速率不一致的问题。滑动窗口相当于接收方的缓存,接收方向发送方通知自己可接受数据的大小,而发送方会根据这个数值发送数据

  2. 拥塞窗口:发送方

    控制全局网络的拥塞情况。通过控制发送方每次发送的流量多少,来逐渐试探整体网络的拥塞程度。

    如果没有拥塞控制,发送方每次发送的数据大小为滑动窗口,在只有两台主机的时候没有问题,但在现实的网络大环境中,如果每台主机都发送滑动窗口大小的数据,那整个网络系统必然会瘫痪,所以通过在发送方设置拥塞窗口,可以有效缓解网络压力。

三、TCP拥塞控制

慢启动+拥塞避免;快速重传+快速恢复

  • 慢启动:防止一开始速率过快,导致耗尽中间路由器存储空间,从而严重降低TCP连接的吞吐量
  • 拥塞避免:当拥塞发生时,降低网络传输速率
  • 快速重传:在接收到相同ACK后,推断出丢失报文段起始序号,然后立即重传此报文
  • 快速恢复:在快速重传基础上,如果发生了快速重传,则执行拥塞避免算法而非慢启动
powered by Gitbook最后修订时间: 2020-05-14 18:27:42

results matching ""

    No results matching ""