浅析TCP与UDP的联系与区别?
什么是TCP?
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP的特点:
(1)TCP是面向连接的运输层协议。
(2)TCP提供可靠的数据传输服务。
(3)TCP提供流量控制。
(4)TCP提供拥塞控制。
(5)TCP提供全双工通信。
(6)TCP是面向字节流的。
TCP数据传输过程:
使用TCP数据传输包括3个阶段,依次是建立连接,数据传输和关闭连接。
(1)建立连接:目的是使通信双方在开始传输数据前建立联系,使双方都确定对方愿意与之通信;
(2)数据传输:TCP连接的数据传输是双向的,在数据传输阶段TCP要纠正数据传输的丢失、错误、乱序等问题,并要进行流量控制和拥塞控制。
(3)关闭连接:在两个通信的应用程序之间的数据传输完毕后,就要关闭它们之间的连接,释放资源。
什么是UDP?
用户数据报协议(UDP,User Datagram Protocol),UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。
UDP特点:
(1)UDP是无连接的。
(2)UDP是一种尽力而为的服务方式,不提供可靠的数据传输服务。
(3)UDP是高效的传输协议。
UDP的差错检测:
UDP用户数据报首部中校验和的计算方法有些特殊,在计算时要在UDP用户数据之前增加12个字节的伪首部,伪首部仅仅是为了计算校验和,伪首部和UDP数据报作为一个整体一起来计算校验和。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!