TCP与UDP
一、简介:
1.TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
2.UDP(用户数据报协议)是一种无连接的、不可靠的、基于数据报的传输层通信协议
二、TCP/IP分层模型:
1.应用层:定义应用程序用于请求网络服务的协议,传送报文或数据流到传输层,协议有DNS\FTP\HTTP等
2.传输层:连接源端口、目的端口主机进行通信,传送报文段、字节流,协议有UDP\TCP
3.网间层:定义了互联网协议IP,以IP数据报形式发往任何网络,并使它们独立地传向目的地
4.网络接口层:主要负责从主机或节点接收IP数据报,并使用物理帧把它们发送到指定的物理网络上
三、传输过程:
1、总体传输给过程
2、TCP传输过程
3、UDP传输过程
四、数据格式
1、TCP:首都由20~60个字节组成,由固定部分20字节和可选部分40个字节组成
![在这里插入图片描述](https://img-blog.csdnimg.cn/de0423ac1e1d4a5d9aac0ff113b2f6cb.png
2、UDP:首部由8个字节组成,源端口,目的端口,长度,校验和组成
五、相同点
1.传输层协议
2.通过端口号区分不同的应用程序
六、不同点
七、TCP维护可靠的通信方式
1、数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组;
2、到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认包;
3、超时重发:发送方在发送分片后计时,若超时却没有收到相应的确认包,将会重发对应的分片;
4、滑动窗口:TCP连接双方的接收缓冲空间大小都固定,接收端只能接受缓冲区能接纳的数据。
5、失序处理:TCP的接收端需要重新排序接收到的数据。
6、重复处理:如果传输的TCP分片出现重复,TCP的接收端需要丢弃重复的数据。
7、数据校验:TCP通过保持它首部和数据的检验和来检测数据在传输过程中的任何变化
八、UDP的通信过程
1、接受来自应用层的数据报文,并添加上UDP首部
2、发送数据报文段
3、接收方接受数据报文段,进行解析,校验CRC,,若不相等则丢弃,相等则接受
————————————————
参考原文连接:
https://blog.csdn.net/moer0/article/details/122902220
https://blog.csdn.net/weixin_45629285/article/details/121077455