UDP和TCP的区别

一、UDP

1.1面向报文

  • 在发送端:应用层将数据传递给传输层的UDP协议,UDP只会给数据增加一个UDP头表示下是UDP协议,然后就传递给网络层了。
  • 在接收端:网络层将数据传输给传输层,UDP只去除IP报文头就传递给应用层,不会任何拼接操作

1.2不可靠

  • UDP是无连接,也就是说通信不需要建立和断开连接。
  • UDP是不可靠,协议收到什么数据就传递什么数据,并且也不会备份数据,对方能不能收到是不关心的
  • UDP是无阻塞控制,一直会以恒定的速度发送数据,即使网络条件不好,也不会对发送速率进行调整,当网络不好的情况会导致丢包。

1.3高效

  • 因为 UDP 没有 TCP 那么复杂, 需要保证数据不丢失且有序到达 。所以 UDP 的头部开

    销⼩, 只有⼋字节,相比 TCP 的至少⼆⼗字节要少得多,在传输数据报⽂时是很高效的。

  • 头部包含以下数据

    • 两个⼗六位的端⼝号 ,分别为源端⼝ ( 可选字段) 和目标端⼝ 整个数据报⽂的长度
    • 整个数据报⽂的检验和 ( IPv4 可选 字段), 该字段用于发现头部信息和数据中的错误

1.4传输方式

UDP 不止⽀持⼀对⼀的传输⽅式, 同样还支持⽀持⼀对多, 多对多, 多对⼀的⽅式,也就是说 UDP 提供了单播, 多播,⼴播的功能。

TCP(未完)

相关推荐
爱和冰阔落7 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall9 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
我不会插花弄玉21 小时前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理1 天前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
火云代理1 天前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
火云代理1 天前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城1 天前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
略懂而已2 天前
安装SSL后网站速度变慢?
网络·网络协议·ssl
CodeYp20192 天前
第14讲:传输层协议 UDP
linux·udp