• TCP和UDP


    TCP(传输控制协议)和UDP(用户数据报协议)是两种不同的网络传输协议,它们都属于传输层协议,但是有以下几个方面的区别:

    • TCP是一种面向连接的协议,它在传输数据之前会建立一条专用的通信连接。这意味着在数据传输过程中,两台计算机之间会有一条稳定的数据传输通道。因此,TCP可以保证数据传输的可靠性,但会带来一定的延迟。UDP是一种无连接的协议,它不会建立专用的通信连接。每个数据包都是独立的,可以直接传输。因此,UDP的传输速度比TCP快,但不能保证数据传输的可靠性。
    • TCP使用三次握手的方式建立连接,这是为了确保两端计算机都准备好接收数据。连接建立之后,两端计算机就可以相互发送数据。在数据传输过程中,TCP会对数据进行分段,然后将每个分段的数据打上序号,并在数据传输完成后确认接收。这样可以保证数据传输的可靠性,如果数据在传输过程中丢失,就可以重新传输。TCP的可靠性是通过滑动窗口协议来实现的。UDP使用数据报形式发送数据,每个数据报的大小最大可达64 KB。由于没有连接的建立和维护,UDP可以将小型数据包发送到任何地方。UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表。
    • TCP是面向流的协议,它将数据视为一个连续的字节流,没有边界。TCP会根据网络状况动态调整窗口大小和发送速率,以实现拥塞控制和流量控制。TCP还提供了全双工操作和多路复用功能,即可以同时进行双向通信和多个连接通信。UDP是面向报文的协议,它将数据视为一个个独立的报文,保留了报文的边界。UDP不进行拥塞控制和流量控制,也不提供全双工操作和多路复用功能。

    总之,TCP和UDP各有优缺点,适用于不同的应用场景。一般来说,如果对数据传输的可靠性要求很高,建议使用TCP协议;如果对传输速度要求较高或者需要广播或多播功能,可以使用UDP协议。

  • 相关阅读:
    项目管理之信息文档管理与配置管理(第一篇)
    Spring中JDK与Cglib动态代理的区别
    Linux系统内核作用
    函数—描述现实世界现象的基本工具
    Java skill - 动态指定feign的访问地址
    C++常见面试问题之内存对齐
    洛谷P3807 lucas定理模板
    笙默考试管理系统-MyExamTest----codemirror(27)
    Java List 过滤重复数据
    Linux文件压缩和解压命令【gzip、gunzip、zip、unzip、tar】【详细总结】
  • 原文地址:https://blog.csdn.net/weixin_47895938/article/details/132724918