ping包过程之arp(地址解析协议)

您所在的位置:网站首页 wireshark抓包怎么看ip地址 ping包过程之arp(地址解析协议)

ping包过程之arp(地址解析协议)

2023-05-17 13:58| 来源: 网络整理| 查看: 265

0,怎么引出arp地址解析协议的呢?

在硬件层次上进行的数据帧交换必须有正确的接口地址(既是MAC地址)。但是, T C P / I P有自己的地址: 32 bit的I P地址。知道主机的 I P地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址(MAC地址)才能发送数据。 A R P的功能是在32 bit的I P地址和采用不同网络技术的硬件地址之间提供动态映射,既是通过相应的IP地址找到相应的MAC地址。

1,场景描述:

设备R1: ip 10.10.10.1

[Huawei] ip address 10.10.10.1 255.255.255.0

[Huawei]display arp IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   VPN-INSTANCE                                            VLAN/CEVLAN PVC                       ------------------------------------------------------------------------------ 10.10.10.1      5489-98c2-7867            I -         Eth0/0/0 10.10.10.2      5489-9811-5cbb  9         D-0         Eth0/0/0 ------------------------------------------------------------------------------ Total:2         Dynamic:1       Static:0     Interface:1  

设备R2: ip 10.10.10.2

system-view     

[Huawei] ip address 10.10.10.2 255.255.255.0

[Huawei]  ping 10.10.10.1

  PING 10.10.10.1: 56  data bytes, press CTRL_C to break     Reply from 10.10.10.1: bytes=56 Sequence=1 ttl=255 time=1 ms     Reply from 10.10.10.1: bytes=56 Sequence=2 ttl=255 time=1 ms     Reply from 10.10.10.1: bytes=56 Sequence=3 ttl=255 time=1 ms     Reply from 10.10.10.1: bytes=56 Sequence=4 ttl=255 time=1 ms     Reply from 10.10.10.1: bytes=56 Sequence=5 ttl=255 time=20 ms

  --- 10.10.10.1 ping statistics ---     5 packet(s) transmitted     5 packet(s) received     0.00% packet loss     round-trip min/avg/max = 1/4/20 ms

[Huawei]display arp IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   VPN-INSTANCE                                            VLAN/CEVLAN PVC                       ------------------------------------------------------------------------------ 10.10.10.2      5489-9811-5cbb            I -         Eth0/0/0 10.10.10.1      5489-98c2-7867  7         D-0         Eth0/0/0 ------------------------------------------------------------------------------ Total:2         Dynamic:1       Static:0     Interface:1 

2,ARP的分组格式结构 

两个字节长的以太网帧类型表示后面数据的类型。对于 A R P请求或应答来说,该字段的值为0 x 0 8 0 6 

操作字段指出四种操作类型,它们是 A R P请求(值为1)、 A R P应答(值为 2)、 R A R P请求(值为3)和R A R P应答(值为4)

arp报文数据结构: 

定义以太网arp字段 typedef struct arphdr { //arp首部 unsigned short arp_hrd; /* format of hardware address */ unsigned short arp_pro; /* format of protocol address */ unsigned char arp_hln; /* length of hardware address */ unsigned char arp_pln; /* length of protocol address */ unsigned short arp_op; /* ARP/RARP operation */ unsigned char arp_sha[6]; /* sender hardware address */ unsigned long arp_spa; /* sender protocol address */ unsigned char arp_tha[6]; /* target hardware address */ unsigned long arp_tpa; /* target protocol address */ }ARPHDR;

3,四种常用的表简介:

(1)mac地址表::简单的说,MAC地址表是交换机等网络设备记录MAC地址和端口的映射关系(见下图),代表了交换机从哪个端口学习到了某个MAC地址,交换机把这个信息记录下来,后续交换机需要转发数据的时候就可以根据报文的目的MAC地址去根据MAC地址表转发数据。

Port

Mac-address

Port-vlan

type

Ethernet0/0/0(10.10.10.1)

00-1a-b6-33-44-01

dynamic

Ethernet0/0/0(10.10.10.2)

10-26-e6-bc-10-78

dynamic

(2)ARP表:简单的说,ARP表就是路由器等网络设备记录IP地址和MAC地址对应关系的表项。

        广播报文:目的地址全1(FF-FF-FF-FF-FF-FF).

        组播报文:目的地址第六字节的最低位为1(X1-XX-XX-XX-XX-XX).

        单播报文:除了上面两种之外 的报文.

        Mac地址学习:把未知mac地址转为arp表里面的已知地址。

        Mac地址老化:

Port

Mac-address

ip-adress

Port-vlan

type

Ethernet0/0/0(10.10.10.1)

00-1a-b6-33-44-01

10.10.10.1

dynamic

Ethernet0/0/0(10.10.10.2)

10-26-e6-bc-10-78

10.10.10.2

dynamic

   (3), 路由表(暂无,后续介绍)。

4,报文分析:

 流程分析:

设备1: ip 10.10.10.1     设备2: ip 10.10.10.2

当设备1 ping 设备2时,设备1发送arp request 报文,而且我们看到设备1发送的是广播报文,目的地址为FF-FF-FF-FF-FF-FF,此时我们给所有的用户发送报文(既是泛洪),当ip不为10.10.10.2的设备收到该报文时,因为发现目标ip不是发给自己的,所以他会丢掉该报文,而ip为10.10.10.2的设备2收到该报文时,发现对端是给自己发送报文的,他会将自己(设备2)和设备1的mac地址和ip保存在arp表项中(该过程称为mac地址学习),并且此时设备2同时会发送arp reply报文他此时已经知道了对端的ip+mac地址(通过arp表)。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3