1-1 ARP Eth-Trunk
ARP (Address Resolution Protocol)
以太网中,交换机或者路由器将某个数据帧从某个端口发送之前,需要重新封装MAC帧首部(之前的MAC帧首部目的MAC地址就是自己,所以要剥离原来的MAC帧首部,重新根据目的IP地址封装新的MAC帧首部,完成下一跳的传输)如果此时的IP-MAC地址映射表中查询不到该报文的目的IP地址,同样也就无法找到目的MAC地址,那么就需要使用ARP协议来获取目的MAC地址,否则无法封装首部,完成转发。
APR协议的过程
假设主机A(ip:10.1.1.1)和主机B(ip:10.1.1.2)两者直连处在同一个网段中。A不知道10.1.1.2的MAC地址。于是A要发送ARP请求,请求报文内的信息如下:
首先是二层首部:
源MAC(6) | 目的MAC(6) | 类型(2) | 数据(46~1500) | FCS(4) |
---|---|---|---|---|
macA | ff:ff:ff:ff:ff:ff | ARP | ARP数据报 | 校验码 |
ARP数据包
- 源IP:10.1.1.1
- 源MAC:macA
- 目的IP:10.1.1.2
- 目的MAC:ff:ff:ff:ff:ff:ff
- 协议类型:ARP
显然这是一个二层广播数据帧,处于一个广播域的主机都会接收到这个帧。然后B接收数据帧,解析之后发现自己的IP地址和该ARP请求的目的IP匹配,于是就回复一个ARP应答。(解析时会刷新B的IP-MAC表,如果没有10.1.1.1的MAC地址,就会写入)信息如下:
- 源IP:10.1.1.2
- 源MAC:macB
- 目的IP:10.1.1.1
- 目的MAC:macA
- 协议类型:ARP
此时广播域中只有MAC地址是macA的主机会接收该数据帧,解析后A就会将10.1.1.2和macB映射起来写到自己的IP-MAC表中。