【网络】ARP表、MAC表、路由表
ARP表
网络设备存储IP-MAC映射关系的表项,便于快速查找和转发数据包
ARP协议工作原理
ARP(Address Resolution Protocol),地址解析协议,能够将网络层的IP地址解析为数据链路层的MAC地址。
1.主机在自己的ARP缓冲区中建立一个ARP表(IP MAC 类型),表示IP和MAC对应关系
2.主机加入网络时(MAC地址变化、接口重启等),会发送免费ARP报文把自己IP地址与MAC地址映射关系广播给网络内的其他主机
3.网络中的主机收到免费ARP报文时,会将新的映射关系更新到自己的ARP表中
4.当主机需要发送报文时(二层/三层),需要检查ARP表中是否有对应IP的ARP表项,如果有则直接发送数据包,如果没有就向网段内主机/默认网关发送ARP请求报文
5.网络内主机收到ARP数据包时,若请求IP不为自身IP则忽略对应的数据包,否则将ARP请求报文中的IP和MAC更新到自己的ARP表中,向源主机发送ARP应答报文
6.源主机收到ARP应答报文后将其中的源IP和源MAC更新到自己的ARP表中
动态ARP-拓扑结构复杂
动态ARP是由设备通过ARP学习自动生成和维护的IP-MAC映射关系,可以被老化和自动更新,也可以被静态ARP覆盖,适用于拓扑结构复杂的网络。
静态ARP-安全性较高(网关)
静态ARP由网络管理员手动配置和维护的IP-MAC映射关系,不会被老化机制删除,更加稳定,可以通过将网关设备进行静态ARP绑定,防止ARP欺骗攻击
ARP老化-减少内存占用
ARP老化-将在一定时间(默认1200S)内未使用的动态ARP表项进行删除,维护ARP表项的准确性,减少内存占用
ARP欺骗-伪造ARP报文篡改目标设备ARP缓存表
攻击者发送伪造的ARP报文篡改目标设备的ARP缓存表,导致数据包被发送到攻击者设备,攻击者可通过对数据包进行回传或丢弃,达到监听网络信息或中断通信的目的。
ARP报文格式
免费ARP请求报文格式:(源IP、源MAC、目的IP为主机自身,DMAC广播)
Ethernet II, Src: 00:1b:17:00:01:1a, Dst: Broadcast (ff:ff:ff:ff:ff:ff) Sender MAC address: 00:1b:17:00:01:1a Sender IP address: 172.30.129.254 Target MAC address: 00:00:00_00:00:00 Target IP address: 172.30.129.254
ARP请求报文格式 :(源IP、源MAC为自身,DIP为目的IP,DMAC广播)
Ethernet II, Src: 00:1b:17:00:01:1a,
Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Sender MAC address: 00:1b:17:00:01:1aSender IP address: 172.30.129.254
Target MAC address: 00:00:00_00:00:00
Target IP address: Target IP address
ARP应答报文格式 :(源IP、源MAC为自身,DIP与DMAC为ARP请求报文发送者)
Ethernet II, Src: 00:1b:17:00:01:1a,
Dst: 00:1b:17:00:01:1b
Sender MAC address: 00:1b:17:00:01:1aSender IP address: 172.30.129.254
Target MAC address: 00:1b:17:00:01:1b
Target IP address: 172.30.129.111
MAC表
MAC表是交换机内部用于存储已知MAC地址及其对应端口的表格。这个表对于交换机来说是至关重要的,因为它决定了数据帧应该从哪个端口转发出去。MAC表中包含的信息通常包括MAC地址、VLAN、出接口、表项类型和老化时间等
MAC学习-实现数据帧转发基础
交换机在接收到数据帧时,会检查帧的源MAC地址,并将这个地址与其接收帧的端口关联起来,添加到MAC地址表中。
动态MAC
动态MAC是通过交换机学习得到的,在经过一定时间(默认300S)内如果未学习到对应地址,则会被老化机制(内存空间有限)删除,动态MAC可以被静态MAC地址覆盖
静态MAC
由网络管理员手动配置的MAC地址,不会被老化机制删除,比动态MAC更加稳定