1.ARP报文的报文结构
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协议
各个字段的解析如下:
版本:指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消息。
1.ICMP差错报文
(1) 目的站不可到达
当路由器发送的数据报不能发送到指定目的地时,或者说当路由器不能够给数据报找到路
由或主机不能够交付数据报时,就丢弃这个数据报,然后向发送数据报的源主机设备发回一个
终点不可达数据报文。如下图所示: