IP(Internet Protocol)协议是网络层最重要的协议,也是互联网中最基础、最重要的协议之一。IP协议负责在网络中传输(IP)数据包,它是网络通信的基础。
IP协议有两个主要版本:IPv4(Internet Protocol version 4)和 IPv6(Internet Protocol version 6)。IPv4是目前广泛使用的版本,而IPv6则是为了解决IPv4地址耗尽的问题而引入的新版本。
IP协议的主要作用和内容
寻址/路由
-
IP协议定义了一种标准的方式来为设备在网络中分配唯一的标识地址,被称为IP地址。
-
IP协议提供基本的路由概念和底层协议,包括基础路由功能。其实现主要是通过物理设备路由器,负责根据目标IP地址将数据包从源设备传递到目标设备。
分片(Fragmentation)/重组(Reassembly)
为了适应不同网络链路的大小限制,IP协议使用分片和重组机制来处理大于网络链路最大传输单元(MTU) 的数据包。该机制会在网络中带来复杂性和性能开销,因此在设计网络应用时应考虑MTU,尽量避免使用过大数据包,以减少分片和重组。
MTU(Maximum Transmission Unit)属于数据链路层的内容,MTU定义了在特定数据链路上传输的最大数据包的大小。
- 当原始数据包大小超过网络链路MTU时,源主机的IP协议将数据包分割成多个分片,每个分片都包含头部(其包含分片信息)且长度小于MTU
- 目标主机的IP协议接收到数据包分片后,通过其头部信息(根据标识和片偏移来识别和排序),并进行重组后得到完整数据包。将数据包传递给上层传输层协议(TCP/UDP)
IPv4 数据包的格式
主要由 头部(Header),数据(Payload) 构成
头部(Header)结构
- 版本(Version): 4位字段,表示IP协议的版本,IPv4为4。
- 头部长度(Header Length): 4位字段,表示IP头部的长度,以32位字为单位。通常情况下,IPv4头部长度为20字节,但它也可以变化,因为IPv4头部可能包含选项字段。
- 服务类型(Type of Service): 8位字段,用于指定数据包的服务质量、优先级等信息。
- 总长度(Total Length): 16位字段,表示整个IPv4数据包的长度,包括头部和数据。
- 标识(Identification): 16位字段,用于标识数据包的唯一性,通常用于分片和重组。
- 标志(Flags): 3位字段,用于指示是否允许分片以及分片的情况。
- 片偏移(Fragment Offset): 13位字段,用于指示分片在原始数据中的位置。
- 生存时间(Time to Live,TTL):8位字段,表示数据包在网络中可以经过的最大路由器数量,用于防止数据包在网络中无限循环。
- 协议(Protocol): 8位字段,表示数据部分使用的上层协议,如TCP、UDP等。
- 头部校验和(Header Checksum): 16位字段,用于检测头部的错误。
- 源地址和目标地址: 每个32位字段,分别表示源IP地址和目标IP地址。
- 选项(Options): 可选字段,用于包含一些额外的信息。
数据(Payload)
一般就是上层传输层协议(例如TCP、UDP)负责传输的内容
标签:协议,位字段,IP,IPv4,分片,数据包 From: https://www.cnblogs.com/ealenxie/p/17984310