网络编程(二)
在之前的博客中,介绍了传输层的一种重要协议-TCP协议。今天来介绍另外一种传输层协议-UDP
一、UDP
UDP:无连接的、不可靠的、数据报服务。
首先看一下UDP报头:
从上图可以看出,UDP协议报头比TCP协议报头简单很多,没有TCP报头里面那么多的保证机制,所以UDP较比TCP简单。
UDP无连接:UDP协议中没有TCP协议里的三次握手和四次挥手的过程,双方没有严格的链接建立过程。
不可靠:UDP报头里没有多的保证字段能保证双方互相发送的数据一定能到达,即使数据到达了,也没有机制可以保证数据一定是准确的。
数据报服务:
与流式服务不同的是,数据报服务是n->n的关系,这里没有发送缓冲区和接收缓冲区,所以发送端发送多少数据,接收端就接收多少数据。
二、IP协议(网络层):无连接、不可靠、无状态
1、ipv4报头
2、IP 分片:
为什么会有所谓的ip分片?因为有 MTU 的限制: 网络最大传输单元
IP 数据报分片完成后最多携带1480 个数据(IP 报头20 字节)