1.MAC地址
1.1 含义与作用
(1)含义:
mac地址也称物理地址,是网卡设备在数据链路层的地址,全世界每一块网卡的mac地址都是唯一的,出厂时烧录在网卡上不可更改
(2)作用:
在一个ip网段(广播域)内,寻找网卡设备
(3)结构
1.2 以太网帧
2.arp协议
2.1作用
arp协议用于寻找目的IP地址对应的Mac地址。
2.2 arp缓存表
*每一个计算机或路由器中都有一个ARP缓存表,也就是IP地址与Mac地址的映射表。
*ARP 缓存表只会存储局域网内的设备信息,这些设备包括但不限于计算机、交换机、路由器
*使用命令 arp -a 可以查看ARP地址缓存表,使用命令 arp -d 可以清空ARP地址缓存表
2.3工作流程
2.3.1局域网内
计算机会判断目的IP地址是否是同网段的IP,如果是同网段,则在局域网内查询。
(1)主机先在自己的ARP地址表中查询目的IP地址
如果ARP地址表能查询到,就会获取IP地址对应的Mac地址,将信息发送到这个Mac地址对应的计算机中;
如果ARP地址表中查询不到,就会在局域网内广播请求,请求的内容中带有源IP地址和目的IP地址。局域网内所有的设备都会收到广播请求。
(2)目标主机回复
局域网内的主机收到arp请求后,会判断arp请求中的IP地址是不是自己的,如果不是,就不理会。
如果是,则会通过单播的方式,将自己的IP地址和Mac地址,响应给发出请求的计算机;
发出请求的计算机接收到目标主机的IP地址和Mac地址后,会将其添加到自己的ARP缓存表中,然后根据Mac地址,将数据发送给对方。
2.3.2 局域网外
(1)路由器间的转发
如果计算机判断出目标ip不在局域网内,就会通过路由器与局域网的连接口(网关),将数据发送给路由器(路由器的每个接口都有对应的IP地址和Mac地址),该路由器再将信息发送到目标主机所在局域网的路由器上。
(2)路由器找到目标主机
与前述的流程一样,目标主机的路由器收到信息后,也会先检查自己的ARP地址表。如果有目标IP地址,就直接发送信息。如果没有目标IP地址,则会在局域网内广播。
2.4 arp报文格式
arp报文的格式如下图:
ARP协议是个独立的三层协议,并不需要IP协议封装,而是直接生成自己的报文,到达数据链路层后,由数据链路层协议进行封装,一般是以太网协议。
封装的过程,就是在ARP报文的前面加上以太网帧头,再加上4字节的冗余校验码结尾,校验码用于检验数据传输是否出现损坏。
|如果arp报文中的目的ip地址与源ip地址相同,就称为免费arp,用于检测局域网内是否有ip地址冲突。