前言

网络传输的本质:类似收发快递,是在两点之间的网络中寻找目的地址的过程; 

数据想要在数据链路层传输,需要被封装为数据帧,数据帧中包含源IP、目的IP、源MAC、目的MAC

当我们在浏览器中输入1个网站后,会通过公共的DNS服务可以查询到该域名对应的IP地址,也就是目的IP地址;

但目的MAC地址是怎么获取到的?

难道也有1个类似于DNS的公共服务,维护着全球接入网络设备的物理MAC地址吗?

一、ARP协议

ARP协议全称:地址解析协议,简称ARP(Address Resolution Protocol),是根据IP地址获取物理MAC地址的1个TCP/IP协议。

1.ARP由来

如上图所示

在IP1和IP2之间进行网络传输的过程,是经过多个路由器分阶段完成的;

路由器中的路由表可以通过路由计算知道:去往目的IP地址需要经过哪个下一跳IP地址转发出去,但是不知道该下一跳具体的物理MAC地址?

在逐段传输的过程中目的和源IP地址一直不变(使用了NAT除外)路由器在同网段中发送ARP广播查询路由器接口(下一跳)的物理MAC地址,目的和源MAC地址一直发生变化

在网络中,采用路由逻辑寻址+ARP物理寻址机制,完成点到点的数据传输;

2.ARP缓存表

在网络中,只要具备发送和接收数据功能的设备都会维护1个ARP表,起到ARP信息缓存的作用;

ARP表中保存着主机和路由器IP地址与物理MAC地址的映射表;

接口: 192.168.56.1 --- 0xb
  Internet 地址         物理地址              类型
  192.168.56.255        ff-ff-ff-ff-ff-ff     静态
  224.0.0.2             01-00-5e-00-00-02     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态

接口: 192.168.57.1 --- 0xf
  Internet 地址         物理地址              类型
  192.168.57.255        ff-ff-ff-ff-ff-ff     静态
  224.0.0.2             01-00-5e-00-00-02     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态

接口: 192.168.0.168 --- 0x11
  Internet 地址         物理地址              类型
  192.168.0.1           64-e1-72-e3-e4-b3     动态
  192.168.0.255         ff-ff-ff-ff-ff-ff     静态
  224.0.0.2             01-00-5e-00-00-02     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态
  255.255.255.255       ff-ff-ff-ff-ff-ff     静态

ARP表中的每1条映射条目都可以设置过期时间,超过该时间该路由条目将从ARP缓存表中被删除;

当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,首先查询本机的ARP表中,也就是根据主机B的IP地址查找其对应的物理地址。

  • 如找到,就将此物理MAC地址写入数据帧,然后通过局域网将该数据帧发送到此物理地址。
  • 若没有找到主机 B 的 IP 地址的项目,主机 A 就启动 ARP,来找出主机 B 的物理地址。

3.ARP特点

通过以上对ARP的理解得出ARP具备以下特点

  • ARP缓存
  • ARP不会直接查询目的IP对应的目的MAC地址
  • ARP同一网段中广播,被路由器隔断

4.总结

MAC地址+ARP:解决网络中点到点传输(完成短期目标)

IP地址+路由+MAC地址+ARP:完成网络中端到端的传输(完成长期目标)

二、ARP工作流程

ARP协议全称:地址解析协议,简称ARP(Address Resolution Protocol),是根据IP地址获取物理MAC地址的1个TCP/IP协议。

只要接入网络的设备,具备发送和接收数据的功能就会在该设备内部维护1张ARP表。

1.子网内通信

多个设备接入1个交换机, 它们之间的通信称为子网内通信;

数据发送方发送ARP广播通过交换机换发ARP广播到所以子网内设备

数据接收方通过单波应答自己的MAC地址给发送方;

2.跨子网通信

2个不同网段的局域网,通过1个3层路由器连接并配置路由,组成的局域网其实还是局域网,它们之间的通信称为跨子网通信

通常情况下,在局域网中的设备都会配置1个默认网关;

 数据发送方发送的ARP广播跨子网,由局域网内的默认网关修改源MAC为默认网关的物理MAC地址、目标MAC为默认网关下一跳的地址,封装成新的数据帧,进行物理层传输; 

3.跨互联网通信

2个局域网,通过运营商网络连接,它们之间的通信称为跨互联网通信;

2个局域网想要跨互联网进行网络通信,必需使用公网IP,因为公网IP有限,运营商网络不干涉内网IP的路由配置,除非专线;

NAT-Network Address Translation是指网络地址转换;

NAT是用于在局域网络中使用私有IP地址,连接互联网时,转而使用全局IP地址的技术

NAT实际上是为解决IPv4地址短缺而开发的技术。

如果我在家庭内网使用内网IP为192.168.1.10的PC,通过内网的默认网关(192.168.1.254) 访问了www.baidu.com

默认网关会把我PC的内网IP(192.168.1.10)的源IP转换成了默认网关的公网IP;

当百度的服务器响应的数据包,再次回到内网的默认网关,那默认网关如何,把响应报文再次转发到内网中的PC呢?

这就需要默认网关支持NAT技术;

三、ARP攻击

采用手工配置静态ARP表可以防止ARP攻击

1.ARP恶意代理

伪造网关响应ARP广播,所有传输数据都经过该恶意代理

2.篡改ARP表

篡改网络设备中的ARP表使其找不到代理网关,无法上网;

 

 参考

posted on 2024-07-19 09:54  Martin8866  阅读(3)  评论(0编辑  收藏  举报