TCP/IP协议-为什么说TCP是可靠连接

来源:互联网 发布:电脑微信群发软件 编辑:程序博客网 时间:2024/04/25 12:55

序言

我们平常经常说UDP是不可靠连接,TCP是可靠连接,然而TCP为什么是可靠的呢


1. TCP和UDP的优缺点

  • TCP

    • 缺点:
      • [1] 三次握手四次挥手,传输更多包浪费一些带宽
      • [2] 为了进行可靠通信,双方都要维持在线,通信过程中服务器server可能出现非常大的并发连接,浪费了系统资源,甚至会出现宕机
      • [3] 确认重传也会浪费一些带宽,且在不好的网络中,会不断的断开和连接,降低了传输效率
  • UDP

    • 优点:
      • [1] 没有握手,起步快延时小
      • [2] 不需要维持双方在线,server不用维护巨量并发连接,节省了系统资源
      • [3] 没有重传机制,在不影响使用的情况下,能更高效的利用网络带宽


2. TCP相比UDP为什么是可靠的

  • [1] 确认和重传机制

    • 建立连接时三次握手同步双方的“序列号 + 确认号 + 窗口大小信息”,是确认重传、流控的基础
    • 传输过程中,如果Checksum校验失败、丢包或延时,发送端重传
  • [2] 数据排序

    • TCP有专门的序列号SN字段,可提供数据re-order
  • [3] 流量控制

    • 窗口和计时器的使用。TCP窗口中会指明双方能够发送接收的最大数据量
  • [4] 拥塞控制

    TCP的拥塞控制由4个核心算法组成。

    • “慢启动”(Slow Start)

    • “拥塞避免”(Congestion avoidance)

    • “快速重传 ”(Fast Retransmit)

    • “快速恢复”(Fast Recovery)

以上就是TCP比UDP传输更可靠的原因。



参考文章
http://www.cnblogs.com/hupp/p/4856134.html
https://www.zhihu.com/question/49596182

2017.10.17