2021-12-04 网工基础(六)以太网交换基础(二)、网络层协议简介_x629242的博客-CSDN博客
二 IPv4报文格式
Version(4位bit):IP协议的版本,例如4表示IPv4,6表示IPv6
Header Length(4位):报文头部长度,单位字节,如果不带Option字段,则为20,最长为60。
Type of Service(8位):服务类型,只有在有QoS差分服务要求时,这个字段才起作用。
Total Length(16位):报文总长度,单位字节,整个IP数据包的长度。
数据包分片
将报文分割成多个片段的过程叫做分片。
网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。
和分片有关的是Identification、Flags、Fragment Offset这三个参数。
Identification(16位):ID标识,表明这是第几个数据,例如,一个数据超过MTU规定的最大1480时(MTU1500-报文固定长度20),数据要分为多个片段,那么这几段都会有同样的ID标识。
PS:IP MTU最大传输单元,默认情况下各厂家协商的IP最大传递单元为1500字节,这个值一般情况下不修改。多厂家共同协商的结果,实际为1480,因为要扣去头部的固定长度20。
Flags(3位):标志位,分3位。1保留位 2此数据禁止分片 3还有更多分片(分片未结束)
Fragment Offset(12位):片偏移,指本数据包在完整的数据段中的起始字节位置,可用于判断本数据包在完整的数据段中的排序。
TTL(8位):Time to Live, 生存时间,表示数据包可以经过的路由器(代指一切网络层设备)数目,一旦经过一个路由器,TTL值就会减1,当该字段值为0时,数据包将被丢弃,用于防止数据无限循环。
Protocol(8位):IP报文头中的协议号字段标识了将会继续处理该报文的协议,即指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上报给哪个进程处理。类似于以太二帧中的TYPE的作用。
常见值:
1: ICMP, Internet Control Message;
2: IGMP, Internet Group Management;
6: TCP , Transmission Control Protocol;
17: UDP, User Datagram Protocol。
Header Checksum(16位):头部校验和,类似于以太二帧中FCS。
Header Checksum status:校验状态,是否开启。
Source IP Address(32位):源(发送方)IP地址。
Destination IP Address(32位):目标(接收方)IP地址。
Options(可变):可选项,会使字节长度会变化。
Padding(可变):用于补全Options的长度,使Options加Padding的总长度为32位的倍数,最长40字节。
实验:抓包观察IPv4报文格式并分析
1 ip协议的版本是IPv4
2 头部数据长度20字节
3 服务类型为查分服务
4 此IP数据包总长度1500字节
5 ID为:0x1b13(6931)
6 还有更多分片
7 本数据包在完整的数据段中的起始字节位置是0
8 生存时间128,表示再经过128次网络层设备后,数据会被丢弃
9 上层协议是ICMP
10 头部校验和是0x72f5,未开启校验
11 源IP地址是192.168.3.100
12 目标IP地址是192.168.2.100
IPv4地址介绍
1 什么是IP地址
IP地址在网络中用于标识一个节点(或者网络设备的接口)。
IP地址用于IP报文在网络中的寻址。
IP地址就像现实中的地址,可以标识网络中的一个节点,数据就是通过它来找到目的地。
2 IP地址表示
一个IPv4地址有32bit。
IPv4地址通常采用“点分十进制”表示。
3 IP地址构成
IP地址由两部分组成,网络部分和主机部分。网络部分用来标识一个网络,主机部分用来区分一个网络内的不同主机。
网络掩码用来区分网络部分和主机部分,掩码部分由连续的1和0组成,其中1代表网络部分,0则代表主机部分。
掩码写成十进制表示,也可以连续1的数量来表示。