UDP协议与TCP协议详解

本文详细介绍了UDP和TCP协议的特性与区别。UDP是无连接、不可靠的传输协议,面向数据报,适合于简单高效的数据传输。TCP则提供有连接、可靠传输,面向字节流,适用于需要确保数据完整性的场景。TCP采用确认应答、超时重传等机制确保数据可靠性,并通过三次握手和四次挥手建立和断开连接。此外,还探讨了TCP的滑动窗口、流量控制、拥塞控制等机制。
摘要由CSDN通过智能技术生成

 UDP协议详解

UDP,即User Datagram Protocol,用户数据报协议

UDP协议的特点:无连接,不可靠传输,面向数据报,全双工

无连接:知道对端的IP和端口号就直接进行传输,不需要建立连接;

不可靠传输:没有任何安全机制,发送端发送数据报以后,如果因为网络故障该段无法发到对方,UDP协议层也不会给应用层返回任何错误信息;

面向数据报:应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并;

例如用UDP传输100个字节的数据:如果发送端一次发送100个字节,那么接收端也必须一次接收100个字节;而不能循环接收10次,每次接收10个字节。

全双工:UDP允许通信双方的应用进程在任何时候都能发送数据,UDP的socket既能读,也能写

UDP协议格式:

 

源/目的端口号:表示数据是从哪个进程来,到哪个进程去;

UDP长度:16位UDP长度,表示整个数据报(UDP首部+UDP数据)的最大容量,一个UDP报文最多就只能有64KB,如果需要使用UDP传输一个比较大的数据,就需要考虑进行拆包

校验和:校验和就是为了检查数据是否出错了(网络传输过程中,受到一些干扰,是容易导致传输的数据出错的)

UDP校验和使用了一个比较常见的CRC算法(循环冗余校验):把UDP报文中的每个字节都进行累加,和也放到一个两个字节的数字中(加的过程中如果溢出了就溢出),最终得到的结果就是校验和

发送方发送数据的时候,就先计算一个校验和,接收方接收的时候,按照同样的规则再算一次校验和,最后看一下两次校验和是不是一样的(这里出现问题的概率还是比较小的)

TCP协议详解

TCP,即Transmission Control Protocol,传输控制协议。人如其名,要对数据的传输进行一个详细的控制。

TCP协议的特点:有连接,可靠传输,面向字节流,全双工

有连接:TCP协议使用时必须先建立 TCP 连接。在传送数据完毕后,必须释放已经建立的 TCP 连接。

可靠传输:可靠传输就是数据传输过去之后,发送方知道数据发送的成功与否,如果失败会尝试再次发送

面向字节流:应用层交给TCP的报文,整个报文可能会被操作系统分组成多个的 TCP 报文,也就是一个完整的TCP报文被拆分成多个 TCP 报文进行传输

例如用TCP传输100个字节的数据:如果发送端一次发送100个字节,那么接收端可能会循环接收10次,每次接收10个字节。

全双工:TCP允许通信双方的应用进程在任何时候都能发送数据

可靠传输原理

1、确认应

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值