1、MAC定义
MAC称为硬件地址,是网络中设备的唯一标识符,共计48 bit。比如,我无线MAC地址是8C-A9-82-96-F7-66
在系统里的展现形式是由16进制组成的6组数字组合。例如开头位的8C 为 8__c 换成2进制位数为 4X2=8位, 8X6=48位。扩展内容:该地址是全球唯一的,没有重复的MAC地址,如果有重复的MAC地址出现在交换网络中,那是必定有环路,环路现象则会造成时通是不通或者根本不通。
2、局域网内PC通信(IP与MAC)
世界上有一种东西叫电脑,电脑上有LOL,CF,哈哈。IT世界是多么伟大能让你玩上一种叫游戏的东西。PC之间的通信方式主要取决于硬件的存在和MAC地址和IP地址的使用。
举例:我们拥有一台交换机、2台PC、如何让这两台PC进行通信?那么很简单,PC配两个同一网段的地址
lap0: 192.168.1.1/24 lap1:192.168.1.2/24
1>拓扑 单独两台PC挂到同一交换机VLAN1
2>lap0与lap1互ping
3>lap0为什么能和lap1通信?
(1)两台lap在同一网段内 (2)在同一VLAN内 (3)PC端通过ARP协议解析到IP与MAC之间的关系。在lap0上已经过arp -a 查询到lap1 192.168.1.2 的MAC与IP映射关系,所以他们之间才能通信。那么反之lap1上也必然能学到lap0的MAC与IP地址。
3、ARP协议介绍
上面说的挺热闹,现在介绍下ARP,即普通但又非常重要的协议。ARP 英文全名为:Address resolution protocol ,地址解析协议,ARP为IP与MAC提供动态映射,过程自动完成。当PC发出通信请求时,根据协议规定,它的目的地址必然是48bit的MAC地址的。MAC并不能和IP直接去通信。那么就需我们的ARP协议来做相应的转换工作。如下摘自TCP/IP卷1仅供参考
如上在以太网内环境:
1>lap0要想和lap1进行通信,则需要把32位的IP地址转换为48位的MAC地址。
2>ARP协议属于广播网络,ARP会把自身的请求信息以广播形式广播到以网中。
3>lap1收到广播请求后,回复lap0自身的IP与MAC地址。双方都建立起对应关系
4、交换机MAC对应关系
PC之间的通信需要通过2层交换机来实现,除了使用ARP协议以外。另外,交换机每个端口本身都有一个MAC地址。当lap0 去ping lap1时,lap0的请求帧到达交换机后会对其进行一个记录,记录下MAC地址,再把该请求转发到lap1。这样一个来回的请求,就把MAC对应表关系建立起来了。二层交换机只记录MAC与端口对应关系,一般情况下2层交换机只是做高速交换,当然如果有特殊需求也可根据MAC做一系列的限制类、绑定类的操作。
MAC与端口对应关系:
5、网关下MAC、ARP信息
1>在接入交换机再上连一台核心,加入网关|192.168.1.254/24。
2>我们先来分析一下:
1、首先交换机之间互联,端口之间彼此学习相互之间的端口地址
2、lap0 与 lap1 ping请求包到达网关,核心交换机建立MAC地址表(动态)
3、与此同时,建立起ARP表项,因为网关是不同网段之间通信的接口
4、查看核心、核心交换机的MAC地址表。
在核心学习中,lap0和lap1的MAC地址,以及接入交换机互联端口的MAC地址都被学习到了。接入交换机MAC地址表:MAC学习到两台PC的MAC,与此同时也学习到核心交换机板载MAC地址以及互联端口地址表。如下图:
核心交换机 show mad add
接入交换机show mac add
核心交换机show arp,含有IP列、超时时间、MAC地址、所属VLAN,这些信息对于我们排错来说特别有帮助。H3C和华为的ARP信息表与思科的基本相似,虽然存在一些微小差异,但整体内容并不会有太大差别。
6、实践篇ARP欺骗问题处理
如果以太网采用DHCP自动获取IP地址,那么启用dhcp snooping会对安全性进行监测,问题不会太多。如果使用静态IP,那么就很容易出现ARP***、ARP欺骗等麻烦的问题。一旦了解了它的工作原理,解决这类问题就会变得特别容易。
我遇到的情况比较简单,某一网段下的服务器,时通时不通。经过沟通,排除了可能是网络结构问题,并确认了服务单网卡没有进行网卡绑定,核心实行HSRP来接入双上行冗余。首先对环路进行排除、查看核心生成树状态正常、交换机CPU使用率正常、与服务器所在接入交换机互联端口广播包并无突发大流量的包,环路排除。其次在服务器下查看ARP表项,发现服务器网关ARP条目异常,MAC地址并不是网关的的MAC。
这是一种ARP欺诈行为,即电脑中存在病毒,它将伪装成网关并不断发送广播包,声称是网关,要求将所有数据包转发到它这里。这样就会有时断时通的情况。接下来我们就要揪出这台中毒的机器,
1>网关下show mac-add | in mac 看其从哪个互联端口过来并找到该端口下的接入交换机
2>找到该台接入交换机,继续查找具体到哪个端口 show mac-add | in mac
3>找到该台机器,断网、杀毒或者重半系统,并可以启用360的ARP防火墙,避免类似事件发生。
但最主要的还是杀毒。
4>如果遇到类似傻HUB的那种老的3COM交换机,则需要手工来排除了。
说这么多,其实就是ARP欺骗解决就是中毒机器定位。
以上是怎么深入学习ARP协议的详细内容。更多信息请关注PHP中文网其他相关文章!