1、MAC定义

MAC称为硬件地址,是网络中设备的唯一标识符,共计48 bit。 例如我的无线MAC:8C-A9-82-96-F7-66

在系统里的展现形式是由16进制组成的6组数字组合。例如开头位的8C 为 8__c 换成2进制位数为 4X2=8位, 8X6=48位。扩展内容:该地址是全球唯一的,没有重复的MAC地址,如果有重复的MAC地址出现在交换网络中,那是必定有环路,环路现象则会造成时通是不通或者根本不通。

层次深入学习ARP协议_第1张图片 

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

层次深入学习ARP协议_第2张图片

2>lap0与lap1互ping

层次深入学习ARP协议_第3张图片

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地址。


层次深入学习ARP协议_第4张图片

层次深入学习ARP协议_第5张图片

3、ARP协议介绍

上面说的挺热闹,现在介绍下ARP,即普通但又非常重要的协议。ARP 英文全名为:Address resolution protocol ,地址解析协议,ARP为IP与MAC提供动态映射,过程自动完成。当PC发出通信请求时,根据协议规定,它的目的地址必然是48bit的MAC地址的。MAC并不能和IP直接去通信。那么就需我们的ARP协议来做相应的转换工作。如下摘自TCP/IP卷1仅供参考

层次深入学习ARP协议_第6张图片

如上在以太网内环境:

1>lap0要想和lap1进行通信,则需要把32位的IP地址转换为48位的MAC地址。

2>ARP协议属于广播网络,ARP会把自身的请求信息以广播形式广播到以网中。

3>lap1收到广播请求后,回复lap0自身的IP与MAC地址。双方都建立起对应关系

层次深入学习ARP协议_第7张图片

4、交换机MAC对应关系

除了上述ARP协议外,PC之间的通信是依托于2层交换机来进行通信的。另外,交换机每个端口本身都有一个MAC地址。当lap0 去ping lap1时,lap0的请求帧到达交换机后会对其进行一个记录,记录下MAC地址,再把该请求转发到lap1。这样一个来回的请求,就把MAC对应表关系建立起来了。二层交换机只记录MAC与端口对应关系,一般情况下2层交换机只是做高速交换,当然如果有特殊需求也可根据MAC做一系列的限制类、绑定类的操作。

MAC与端口对应关系:

层次深入学习ARP协议_第8张图片

5、网关下MAC、ARP信息

1>在接入交换机再上连一台核心,加入网关|192.168.1.254/24。

层次深入学习ARP协议_第9张图片

2>我们先来分析一下:

1、首先交换机之间互联,端口之间彼此学习相互之间的端口地址 

2、lap0 与 lap1 ping请求包到达网关,核心交换机建立MAC地址表(动态)

3、与此同时,建立起ARP表项,因为网关是不同网段之间通信的接口

4、查看核心、核心交换机的MAC地址表。

核心学习到lap0与lap1 MAC地址,同时也学习到接入交换机的互联端口的MAC地址。接入交换机MAC地址表:MAC学习到两台PC的MAC,与此同时也学习到核心交换机板载MAC地址以及互联端口地址表。如下图:

核心交换机 show mad add

层次深入学习ARP协议_第10张图片

接入交换机show mac add

层次深入学习ARP协议_第11张图片

核心交换机show arp,含有IP列、超时时间、MAC地址、所属VLAN,这些信息对于我们排错来说特别有帮助。H3C、华为的ARP信息表与思科的其实是大同小异的,细微差别,大体内容不会差太多。

层次深入学习ARP协议_第12张图片

6、实践篇ARP欺骗问题处理

以太网环境,如果是DHCP获取地址那么OK,dhcp snooping会在安全上把关,不会有太多问题。如果是静太IP,则会经常遇到ARP***、ARP欺骗等头疼麻烦的问题。其实当我们了解了他的工作机制后,对这类问题排查起来会特别简单。

我遇到的情况比较简单,某一网段下的服务器,时通时不通。首先对网络结构进行排除,沟通后得知是服务单网卡并无网卡绑定、核心做HSRP接入双上行冗余。首先对环路进行排除、查看核心生成树状态正常、交换机CPU使用率正常、与服务器所在接入交换机互联端口广播包并无突发大流量的包,环路排除。其次在服务器下查看ARP表项,发现服务器网关ARP条目异常,MAC地址并不是网关的的MAC。

层次深入学习ARP协议_第13张图片

此为ARP欺骗,就是有PC中病毒,冒充网关不断的发广播包说:我是网关,你们把数据包都转发到我这里。这样就会有时断时通的情况。接下来我们就要揪出这台中毒的机器,

1>网关下show mac-add | in mac 看其从哪个互联端口过来并找到该端口下的接入交换机

2>找到该台接入交换机,继续查找具体到哪个端口 show mac-add | in mac

3>找到该台机器,断网、杀毒或者重半系统,并可以启用360的ARP防火墙,避免类似事件发生。

  但最主要的还是杀毒。

4>如果遇到类似傻HUB的那种老的3COM交换机,则需要手工来排除了。

说这么多,其实就是ARP欺骗解决就是中毒机器定位。


7、总结

1>MAC定义作用

2>ARP 是MAC 与 IP 转换的一种协议

3>MAC地址在交换机下的学习

4>网关下的ARP信息及相关表项了解

5>实践篇,ARP欺骗排查

小白,该篇博客如果想理解透彻还需要多多模拟以及实践,加深理解程度,知识无非就是一个从明白到糊TU再到明白,往返几次彻底明白牢记。我们坚位基础知识非常特别非常重要的内容!!!!!!!!

大神,还请多提意见!!