ARP 地址解析协议(二层) 解析IP地址以外的

ARP 地址解析协议(二层) 解析IP地址以外的

已知对方IP,发送ARP包,广播请求一个网段,获得对方mac,只有目的会以单播回复,其他求其ARP包

以太网报头封装后称为以太网数据帧,一台主机把以太网以以太网数据帧发送到位于同一局域网的另一台主机时,根据48bit的以太网地址来确定目的接口

 

特点:ARP高速运行——ARP高速缓存   缓存每一项生存时间为20分钟

硬件类型 协议 硬件地址长度 协议地址长度 OP位 源IP 源mac 目的IP 目的mac

ARP报头内容:

硬件类型:2字节

协议:2字节

硬件地址长度:1字节

协议地址长度:1字节

OP位:2字节,0001为请求,0002为响应

源IP:4字节

源mac:6字节

目的IP:4字节

目的mac:6字节(请求时没有用0补)

无故ARP

以自己的IP地址发送ARP请求

用于检查重复的地址

用于通告新的MAC地址

默认关闭,开启命令:ip gratuitous-arps

 

ICMP报文  Internet Control Message Protocol控制报文协议

传递差错报文以及其他需要注意的信息,ICMP报文通常被IP层或更高层(TCP/UDP)使用,一些ICMP报文把差错报文返回给用户进程

 

RFC:792

 

消息类型:错误消息、请求消息、相应消息

 

ICMP包是IP数据封装

IP ICMP报文

 

8bit类型位 8bit代码 16bit校验码
DATA

 

类型                                     代码                                     功能

3                                            1                                            主机不可达

3                                            3                                            端口不可达

3                                            4                                            需要分片

5                                            1                                            对主机重定向

8                                            0                                            ping请求

 

ICMP的一个规则:

自己IP报头 自己ICMP报头 源IP报头 源ICMP报头

ICMP差错报文,必须包括生成该差错报文的数据包IP首部(包含任何选项),还必须至少包括跟在该IP首部后面的前8个字符

 

ICMP差错报文(只有分片第一片含有ICMP报头丢失才会产生)

  1. ICMP差错报文只会针对查询报文产生的差错(但是,ICMP查询报文可能会产生ICMP差错报文)
  2. 目的地址是广播地址或多播地址的IP数据报(丢失不产生ICMP差错报文)
  3. 作为链路层广播的数据报
  4. 不是IP分片的第一片
  5. 源地址不是单个主机的数据报(源地址不能为零地址、环回地址、广播地址和多播地址)

这些规则是为了防止过去允许ICMP差错报文对广播分组响应所带来的广播风暴

Trancetoute:(和ping一样)

  1. icmp差错报文
  2. 初识ttl值为1
  3. 最终目的使用能够高段位虚拟端口号表示端口不可达

 

ICMP重定向:

当路由器从某个接口收到数据包后,还要将数据包从同一个接口发往目的地,就是路由器收到数据包的接口正是去往目的地的出口时,则会向源发送ICMP重定向,通告对方直接将数据包发向自己的下一跳即可,不要在发给自己

数据包的源IP和自己转发时的下一跳IP地址是同网段时,则会向源发送ICMP重定向,通告对方直接将数据包发向自己的下一跳

Leave a Reply