• TCP协议和UDP协议


    TCP通信原理

    • TCP(Transmission Control Protocol,传输控制协议)是一种传输层协议,它主要负责点对点的数据传输
    • TCP 主要特点是面向连接的,也就是说,在数据传输之前,它需要先建立一个连接。连接建立之后,两端计算机就可以相互发送数据。
    • 在建立连接时,TCP 会按照三次握手的方式建立连接,这是为了确保两端计算机都准备好接收数据。连接建立之后,两端计算机就可以相互发送数据。
    • TCP 的可靠性是通过滑动窗口协议来实现的。在传输数据之前,发送端会设定一个窗口大小,表示最多可以发送多少数据。接收端在收到数据之后,会发送一个确认信息告诉发送端已经收到了多少数据。发送端收到确认信息后,就可以继续发送数据了。如果发送端在规定时间内没有收到确认信息,就会重新发送数据。这样就可以保证数据的可靠传输。

    TCP 三次握手建立连接

    1. 客户端发送 SYN 包给服务端,表示客户端想要建立连接。
    2. 服务端收到 SYN 包之后,会回复 SYN+ACK 包,表示服务端已经收到客户端的请求,并准备好接受数据。
    3. 客户端收到 SYN+ACK 包之后,会回复 ACK 包,表示客户端已经收到服务端的回应,并准备好发送数据。

    TCP 四次挥手断开连接

    四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。

    挥手请求可以是Client端,也可以是Server端发起的

    UDP通信原理

    • UDP(User Datagram Protocol,用户数据报协议)是一种面向无连接的网络协议
    • UDP 在发送数据方面更快,但是也带来了更多的不确定性,因为数据包可能会丢失、重复或乱序。
    • UDP 使用数据报形式发送数据,每个数据报的大小最大可达 64 KB。由于没有连接的建立和维护,UDP 可以将小型数据包发送到任何地方。
    • UDP 使用 IP 地址来标识源主机和目的主机,并使用端口号来标识应用程序。这使得一台主机可以同时运行多个应用程序,并且各个应用程序之间可以通过端口号区分。

    总结一下大概的区别

    1. 连接

    • TCP 是面向连接的传输层协议,传输数据前先要建立连接
    • UDP 是不需要连接,即刻传输数据

    2. 服务对象

    • TCP 是一对一的两点服务,即一条连接只有两个端点
    • UDP 支持一对一、一对多、多对多的交互通信

    3. 可靠性

    • TCP 是可靠交付数据的,数据可以无差错、不丢失、不重复、按需到达。
    • UDP 是尽最大努力交付,不保证可靠交付数据

    4. 拥塞控制、流量控制

    • TCP 有拥塞控制和流量控制机制保证数据传输的安全性。
    • UDP 则没有,即使网络非常拥堵了,也不会影响 UDP 的发送速率。

    5、面向方向

    • TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;
    • UDP是面向报文的

    6、逻辑信道

    • TCP的逻辑通信信道是全双工的可靠信道
    • UDP则是不可靠信道

    参考:一文彻底搞懂 TCP三次握手、四次挥手过程及原理 - 知乎 (zhihu.com)

              一文搞懂TCP与UDP的区别 - 知乎 (zhihu.com)

              TCP和Udp的区别是什么? - 知乎 (zhihu.com)

             

  • 相关阅读:
    成功解决eNSP模拟器中路由器启动失败,错误码40
    【业务架构】价值实现、价值定位、价值创造
    gRPC(三)基础:gRPC快速入门
    pear admin 新增模块流程
    2022.11.15-二分图专练
    这个编辑器即将开源!
    Python轮廓追踪【OpenCV形态学操作】
    Springboot----项目整合微信支付(利用RabbitMQ延迟队列处理用户退款)
    惯性导航定位技术
    9+铜死亡+缺氧+分型+单细胞+实验生信思路
  • 原文地址:https://blog.csdn.net/qq_51519091/article/details/133215691