02_常见网络层协议的头结构

1.ARP报文的报文结构

02_常见网络层协议的头结构_第1张图片

ARP首部的5个字段的含义:

硬件类型:值为1表示以太网MAC地址。

协议类型:表示要映射的协议地址类型,0x0800 表示映射为IP地址。

硬件地址长度:在以太网ARP的请求和应答中都是6,表示MAC地址长度。

协议地址长度:在以太网ARP请求和应答中都是4,表示IP地址长度。

在ARP协议包中,保留出硬件地址长度字段和协议地址长度字段可以使ARP协议在任何网络中被使用,而不局限于以太网中。

op: ARP数据包的类型,ARP请求设置为1,ARP应答设置为2。

备注:虽然ARP和IP协议都属于网络层的协议,但是从分层的结构来看,ARP处于网络层的最底层

而IP层属于网络层的顶层。

2.IP协议

02_常见网络层协议的头结构_第2张图片

各个字段的解析如下:

版本:指IP协议的版本,IPv4和IPv6。

首部长度: 单位使字长(4个字节),最常用的首部长度是20个字节(即首部长度为0101)。

区分服务:实际上一直没有被使用过。

总长度:首部和数据之和的长度。最大65534字节。

标识:每产生一个数据报,计数器就加1,并将此值赋给标识字段。

标志:占3位只有2位有意义,最低位为MF,MF=1表示后面还有分片的数据报。

MF=0表示这是若干数据报片中的最后一个。

标志字段的中间一位,DF(Don't Fragment) 不能分片。DF=0时,才允许分片。

片偏移:占 13 位片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也
就是说,相对用户数据字段的起点,该片从何处开始。片偏移以 8 个字节为偏移单位。这就是
说,除了最后一个分片,每个分片的长度一定是 8 字节( 64 位)的整数倍。
生存时间:
协议:
首部校验和:
源地址:
目的地址:
数据区域:

3. ICMP协议

ICMP Internet Control Message Protocol Internet 控制报文协议。它是 TCP/IP 协议簇的
一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是
否可达、路由是否可用等网络本身的消息,这些控制消息虽然并不传输到用户数据,但是对于
用户数据的传递起着重要的作用。
ICMP协议时一种面向无连接的协议,用于传输出错报告控制信息。也是属于网络层协议。
主要用于:主机与路由器之间传递控制信息,包括报告错误、交换寿险控制和状态信息等。
当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。
02_常见网络层协议的头结构_第3张图片

1.ICMP差错报文

(1) 目的站不可到达

当路由器发送的数据报不能发送到指定目的地时,或者说当路由器不能够给数据报找到路
由或主机不能够交付数据报时,就丢弃这个数据报,然后向发送数据报的源主机设备发回一个
终点不可达数据报文。如下图所示:
02_常见网络层协议的头结构_第4张图片

你可能感兴趣的:(LWIP,网络,单片机,stm32)