ARP
IP数据包通过以太网发送,但以太网设备并不能识别IP地址,它们是以MAC地址传输的。因此,必须把IP目的地址转换成MAC目的地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。
ARP(Address Resolution Protocol)协议是网络层的协议,用于将IP地址解析为的MAC地址。
ARP的工作原理
每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以记录IP地址和MAC地址之间的对应关系。 主机(网络接口)在新加入网络时(也可能只是MAC地址发生变化,接口重启等),会发送ARP报文,把自己的IP地址与MAC地址的映射关系广播给其他主机。 网络上的主机接收到ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。具体工作过程如下。 (1)当源主机需要将一个数据包发送到目的主机时,会检查自己的ARP列表中是否存在该IP地址对应的MAC地址,若有,则直接将数据包发送到这个MAC地址;若没有,则向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包中包括源主机的IP地址、硬件地址,以及目的主机的IP地址。
(2)网络中所有的主机都收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。若不相同,则忽略此数据包;若相同,则该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,那么将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址。
(3)源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始进行数据的传输。如果源主机一直没有收到ARP响应数据包,那么表示ARP查询失败。
ARP报头结构
硬件类型:指明了发送方想知道的硬件端口类型,以太网的值为1。
协议类型:指明了发送方提供的高层协议类型,IP为0800(16进制)。
硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用。
操作类型:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。
源硬件地址(0-3字节):源主机硬件地址的前3个字节。
源硬件地址(4-5字节):源主机硬件地址的后3个字节。
源IP地址(0-1字节):源主机IP地址的前2个字节。
源IP地址(2-3字节):源主机IP地址的后2个字节。
目的硬件地址(0-1字节):目的主机硬件地址的前2个字节。
目的硬件地址(2-5字节):目的主机硬件地址的后4个字节。
目的IP地址(0-3字节):目的主机的IP地址。
端口安全
在对接入用户的安全性要求较高的网络中,可以配置端口安全功能,将端口学习到的MAC地址转换为安全MAC地址,端口学习的最大MAC数量达到上限后不再学习新的MAC地址,只允许学习到MAC地址的设备通信。或者通过手动配置将端口和MAC地址一一对应。这样可以阻止其他非信任用户通过本端口和交换机通信,提高设备与网络的安全性。
端口安全一般应用在接入层设备,通过配置端口安全可以防止仿冒用户从其他端口发起攻击。在接入层交换机的每个端口都开启端口安全功能,并绑定接入用户的MAC地址与VLAN信息,当有非法用户通过已配置端口安全的端口接入网络时,交换机会查找对应的MAC地址表,若发现非法用户的MAC地址与表中的不符,则将数据包丢弃。
在计算机中执行【ipconfig /all】命令即可查看本机的MAC地址,【ARP -a】命令可以查看邻近计算机的MAC地址和IP地址。
在交换机上执行【display mac-address】命令可以查看对应端口上的MAC地址
MAC地址是计算机的唯一物理标识,可以在交换机对应的端口上进行绑定,非绑定的MAC地址将无法接入到网络中
在进行端口绑定时,需要查看两个信息,一个是计算机的MAC地址,另一个是计算机接入的端口
ensp模拟
A公司有研发部、商务部、资料部3个部门,资料部为重要部门,该部门的所有员工都使用指定的计算机访问资料部Server获取资料,为防止员工和访客使用个人计算机接入网络,作为网络管理员,您将在公司部署端口安全技术,以提高资料部的网络安全性,实训拓扑图如图所示
在sw1g0/0/1扣绑定两个mac地址(pc1 pc3)来限制只有几台机器能够访问server,其他机器不行
通过在交换机的端口上绑定限定的PC的MAC地址(MAC地址也称机器号,是唯一的)来实现其他机器即使使用这个端口连接交换机也访问不了秘密资料
绘制拓扑图
PC配置IP地址
PC1 ping2~5,在S1上生成mac缓存
在SW1上使用【display mac-address】命令查看交换机与计算机之间连接的端口对应的MAC地址
开启该交换机端口的端口安全, 并绑定对应的MAC地址
PC2ping PC1
PC5pingPC1,在S2上生成PC5mac缓存 【display mac-address】
s1端口绑定MAC地址(注:mac地址要用交换机学习到的MAC地址变的安全动态MAC)直接用PC的mac地址是无效的
【port-security mac-address sticky】命令用来开启端口MAC地址绑定功能。执行【port-security mac-address sticky】命令后,可以执行【port-security mac-address sticky mac-address vlan vlan-id】命令手动配置一条MAC地址绑定表项
s2端口绑定PC5的地址
PC1pingPC5测试网络通断
pingPC2测试通断
修改PC5或PC1的MAC地址,来模拟其他机器接入网络进行访问
PC5pingPC1测试网络通断(这里应该是改PC1 的MAC地址后PC1pingPC5)