‘壹’ 在ARP缓存表中显示的IP和MAC是什么意思
IP是指的IP地址,可以更改;
MAC指的是网卡的物理地址,要通过特殊技术才能更改。
ARP缓存表是建立的一个IP和MAC地址的对应关系记录,以方便路由。
‘贰’ 网络传输中的三张表,MAC地址表、ARP缓存表以及路由表详解
在阐述这几张表之前,有必要先说明一下:
1、交换机工作在数据链路层
说明:本文出现的交换机指的都是二层交换机,带路由功能的三层交换机不在讨论范围
2、路由器工作在网络层
3、交换机有MAC地址表,无ARP表,MAC地址表一般存在在交换机中
4、一般情况下,计算机和路由器既有ARP表,也有路由表
MAC地址表 :在交换机中,存有一张记录局域网主机MAC地址与交换机接口的对应关系的表,交换机就是依据这张表将数据帧转发到指定的目标主机上。 通过下面的阐述,你会对mac地址表有所了解。
上面是交换机、主机A以及主机B的连接图,主机A向主机B发送数据帧的详细过程如下:
1、主机A将一个数据帧发送给交换机,其中源MAC地址为MAC_A,目标MAC地址为MAC_B。
2、交换机收到此数据帧后,首先将数据帧中的源MAC地址MAC_A和对应的接口(接口1) 记录到MAC地址表中。
3、然后,交换机会检查自己的MAC地址表中是否有MAC_B的信息。如果有,则从MAC地址表记录的接口2发送出去;如果没有,则会将此数据帧从非接收接口(接口1)的所有接口发送出去。
4、这时,局域网中所有主机都会收到此数据帧,但是只有主机B收到此数据帧时会响应这个广播,并回应一个数据帧,此数据帧中包含主机B的MAC地址MAC_B。
5、当交换机收到主机B回应的数据帧后,也会记录数据帧中的源MAC地址(也就是MAC_B)和对应接口到MAC表中,此时,交换机就可以把主机A发过来的数据帧发送给主机B了。数据帧的源MAC地址为交换机的MAC地址,目标MAC地址是MAC_B。
上面我们讲解了交换机的工作原理,知道交换机是通过MAC地址通信的,但是我们是如何获得目标主机的MAC地址呢?这时我们就需要使用ARP协议了。ARP协议是工作在网络层的协议,它负责将IP地址解析为MAC地址。在每台主机中都有一张ARP表,它记录着主机的IP地址和MAC地址的对应关系。还是利用上面的图来进行阐述。
1、如果主机A想发送数据给主机B,主机A首先会检查自己的ARP缓存表,查看是否有主机B的IP地址和MAC地址的对应关系。如果有,则会将主机B的MAC地址作为源MAC地址封装到数据帧中。如果没有,主机A则会发送一个ARP请求信息,请求的目标IP地址是IP_B,目标MAC地址是MAC地址的广播帧(即FF-FF-FF-FF-FF-FF),源IP地址为IP_A,源MAC地址是MAC_A。
2、当交换机收到此数据帧之后,发现此数据帧是广播帧,因此,会将此数据帧从非接收接口的所有接口发送出去。
3、当主机B收到此数据帧后,会校对目标IP地址是否是自己,当发现是目标地址是自己,会将主机A的IP地址和MAC地址的对应关系记录到自己的ARP缓存表中,同时会发送一个ARP应答,其中包括自己的MAC地址。
4、主机A在收到这个回应的数据帧之后,在自己的ARP缓存表中记录主机B的IP地址和MAC地址的对应关系。而此时交换机已经学习到了主机A和主机B的MAC地址了。
路由器负责不同网络之间的通信,它是当今网络中的重要设备,可以说没有路由器就没有当今的互联网。在路由器中有一张路由表,记录着到不同网段的信息。路由表中的信息分为直连路由和非直连路由。
直连路由 :是直接连接在路由器接口的网段,由路由器自动生成。
非直连路由 :不是直接连接在路由器接口上的网段,此记录需要手动添加或者是使用动态路由生成。
路由表中记录的条目有的需要手动添加(称为静态路由),有的需要动态获取的(称为动态路由)。直连路由属于静态路由。
路由器是工作在网络层的,在网络层可以识别逻辑地址。当路由器的某个接口收到一个包时,路由器会读取包中相应的目标的逻辑地址的网络部分,然后在路由表中进行查找。如果在路由表中找到目标地址的路由条目,则把包转发到路由器的相应接口,如果在路由表中没有找到目标地址的路由条目,那么,如果路由配置默认路由,就科举默认路由的配置转发到路由器的相应接口;如果没有配置默认路由,则将该包丢弃,并返回不可到达的信息。这就是数据路由的过程。
如下图:详细介绍路由器的工作原理
1、HostA在网络层将来自上层的报文封装成IP数据包,其中源IP地址为自己,目标IP地址是HostB,HostA会用本机配置的24位子网掩码与目标地址进行“与”运算,得出目标地址与本机不是同一网段,因此发送HostB的数据包需要经过网关路由A的转发。
2、HostA通过ARP请求获取网关路由A的E0口的MAC地址,并在链路层将路由器E0接口的MAC地址封装成目标MAC地址,源MAC地址是自己。
3、路由器A从E0可接收到数据帧,把数据链路层的封装去掉,并检查路由表中是否有目标IP地址网段(即192.168.2.2的网段)相匹配的的项,根据路由表中记录到192.168.2.0网段的数据请发送给下一跳地址10.1.1.2,因此数据在路由器A的E1口重新封装,此时,源MAC地址是路由器A的E1接口的MAC地址,封装的目标MAC地址则是路由器2的E1接口的MAC地址。
4、路由B从E1口接收到数据帧,同样会把数据链路层的封装去掉,对目标IP地址进行检测,并与路由表进行匹配,此时发现目标地址的网段正好是自己E0口的直连网段,路由器B通过ARP广播,获知HostB的MAC地址,此时数据包在路由器B的E0接口再次封装,源MAC地址是路由器B的E0接口的MAC地址,目标MAC地址是HostB的MAC地址。封装完成后直接从路由器的E0接口发送给HostB。
5、此时HostB才会收到来自HostA发送的数据。
总结:路由表负责记录一个网络到另一个网络的路径,因此路由器是根据路由表工作的。
至此,三张表介绍完毕。
‘叁’ arp缓存表有什么用
其实这个ARP缓存表也没什么用,就是为了提高局域网的运行效率。和CPU的高速缓存是同一个概念。
‘肆’ 关于交换机上怎么查看ARP缓存表
查看ARP缓存表方法:
一:在Windows下查看ARP缓存信息是通过DOS命令来完成的,点击"开始"菜单,选择"命令",输入
cmd
即可进入命令提示符窗口。
二:在命令提示符窗口中键入
arp
-a
可以查看ARP缓存中的内容。
三:在命令提示符窗口中键入
arp
-d
或
arp
-d
可以删除指定IP或全部的ARP缓存记录。
arp缓存表是指在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台安装有TCP/IP协议的主机(包括网关)都有一个ARP缓存表。该表中保存这网络中各个电脑的IP地址和MAC地址的对照关系。
正常情况下arp缓存表能够有效的保证数据传输的一对一性。但是ARP协议对应的ARP缓存表维护机制中存在不完善的地方,当主机收到一个ARP的应答包后,它并不验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就是导致arp欺骗的根本原因。
‘伍’ [转]详解网络传输中的三张表,MAC地址表、ARP缓存表以及路由表
说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的。在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据这张表负责将数据帧传输到指定的主机上的。
交换机在接收到数据帧以后,首先、会记录数据帧中的源MAC地址和对应的接口到MAC表中,接着、会检查自己的MAC表中是否有数据帧中目标MAC地址的信息,如果有则会根据MAC表中记录的对应接口将数据帧发送出去(也就是单播),如果没有,则会将该数据帧从非接受接口发送出去(也就是广播)。
如下图:详细讲解交换机传输数据帧的过程
如下图:当局域网存在多个交换机互联的时候,交换机的MAC地址表是怎么记录的呢?
上面我们讲解了交换机的工作原理,知道交换机是通过MAC地址通信的,但是我们是如何获得目标主机的MAC地址呢?这时我们就需要使用ARP协议了,在每台主机中都有一张ARP表,它记录着主机的IP地址和MAC地址的对应关系。
ARP协议:ARP协议是工作在网络层的协议,它负责将IP地址解析为MAC地址。
如下图:详细讲解ARP的工作原理。
路由器负责不同网络之间的通信,它是当今网络中的重要设备,可以说没有路由器就没有当今的互联网。在路由器中也有一张表,这张表叫路由表,记录着到不同网段的信息。路由表中的信息分为直连路由和非直连路由。
路由表中记录的条目有的需要手动添加(称为静态路由),有的测试动态获取的(称为动态路由)。直连路由属于静态路由。
路由器是工作在网络层的,在网络层可以识别逻辑地址。当路由器的某个接口收到一个包时,路由器会读取包中相应的目标的逻辑地址的网络部分,然后在路由表中进行查找。如果在路由表中找到目标地址的路由条目,则把包转发到路由器的相应接口,如果在路由表中没有找到目标地址的路由条目,那么,如果路由配置默认路由,就科举默认路由的配置转发到路由器的相应接口;如果没有配置默认路由,则将该包丢弃,并返回不可到达的信息。这就是数据路由的过程。
如下图:详细介绍路由器的工作原理
看完上面的文章是不是感觉原来数据在网络中传输是这么的复杂啊!呵呵...其实这些过程都是计算机自己完成的,我们需要做的很少。
可能写的不是很全面,请大家多多谅解!希望对大家有帮助。
‘陆’ 什么叫ARP缓存表
arp缓存表是一张用于存放IP地址和mac地址一一对应关系的表。
‘柒’ ARP协议详解及以太网广播问题解析
1.ARP协议的作用
2.交换机的工作原理详解
3.ARP协议的报文抓包分析
4.以太网广播风暴问题及解决方案
5.以太网安全问题辨析
pc1会以ARP的request报文以广播的方式发送给连接这台交换机下面的所有者,例如pc2,pc2收到后会以ARP的reply报文回应,单波的方式回应pc1,c1收到c2的mac地址回应信息,它会将此信息记录在自己的缓存表里面,每台电脑都有自己的缓存表,缓存表里面存有一些pc的ip地址和mac地址对应关系。下一次发送给pc2,就会在自己的缓存表里面查询了,不会再以ARP方式发送广播了,缓存表重启或者随着时间会丢失。必须要知道mac地址,不然在数据链路层就不能完成装帧这个工作的。以太网通讯都需要mac地址,ARP报文是以request发送的,
动态ip地址是通过学习得到的,过段时间会丢失。
arp -d 删除所有报文 arp -a 啥都没有 ,再去Ping 又会重新发送报文 arp -a又会有了
pc1 ping pc2的报文pc3 R1路由器右端都会收不到,因为pc1会通过自身的ip 和掩码比对发现右端不自己不在同一个网段,所以不会发送arp报文。pc1发送报文会发现源mac是自身网卡mac,目标mac通过arp请求不到pc3的mac,目标mac如何填充呢,因为是跨网段通讯,因为是跨网段,所以需要网关,网关可以中转到达其他网段数据,所以pc1 和pc3通讯,发现源ip 自己的,目标ip是另一个网段的,源mac自己的,所以此时目标mac应该是网关的。通过网关来中转。所以pc1和pc3通讯,pc1mac是自己,然后mac到达R1路由器f0/0后,R1会在mac地址表里查到pc3的目标ip ,然后将数据传输到f0/1,到达f0/0是pc1的mac。到达f0/1的mac是f0/0的封装的mac,到达pc3.
R2#show mac-address-table查看交换机的mac地址表
Destination Address Address Type VLAN Destination Port
------------------- ------------ ---- --------------------
c001.179c.0000 Self 1 Vlan1
c000.179c.0000 Dynamic 1 FastEthernet1/14
‘捌’ 什么是arp缓存表
arp_tbl是一个类型为struct
neigh_table的全局变量,它是一个ARP的缓存表,也称为邻居表。协议栈通过ARP协议获取到的网络上邻居主机的IP地址与MAC地址的对应关系都会保存在这个表中,以备下次与邻居通讯时使用,同时,ARP模块自身也会提供一套相应的机制来更新和维护这个邻居表
‘玖’ ARP是什么东西!!
RP实际上是英文词组AddressResolutionProtocol的简称,它的中文名叫做地址解析协议。
它主要指的就是根据电脑的ip地址获取到的一个物理地址上的ip协议,arp是建立在网络中各个主机之间互相信任的前提下,它还可以对本机ARP缓存中的的ip地址以及mac地址这两者的对应关系进行排查,由此做出添加以及删除各种静态对应关系等等。
现在我们常见的相关协议有rarp、代理arp等等,如果ndp的用户还能在IPv6中来代替arp。
解决办法
根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。
源主机A的IP地址和MAC地址都包括在ARP请求中,本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
(9)arp缓存表记录着什么对应关系扩展阅读
防护原理
防止ARP攻击是比较困难的,修改协议也是不大可能。但是有一些工作是可以提高本地网络的安全性。
首先,你要知道,如果一个错误的记录被插入ARP或者IProute表,可以用两种方式来删除。
a.使用arp_dhost_entry
ARP断网攻击
b.自动过期,由系统删除
这样,可以采用以下的一些方法:
减少过期时间
#ndd_set/dev/arparp_cleanup_interval60000
#ndd-set/dev/ipip_ire_flush_interval60000
60000=60000毫秒默认是300000
加快过期时间,并不能避免攻击,但是使得攻击更加困难,带来的影响是在网络中会大量的出现ARP请求和回复,请不要在繁忙的网络上使用。
参考资料:网络-ARP攻击
‘拾’ 计算机网络|ARP表
ARP表用于缓存设备的IP地址与MAC地址的对应关系,采用ARP表的好处是限制网络广播数量。
以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,A主机MAC地址是“主机A的MAC地址”,标识像同一网段内的所有主机发出这样的询问:“我是192.168.1.5,我的硬件地址是‘主机A的MAC地址’。请问IP地址为192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时A和B还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了B),下次A再向主机B或B向A发送信息时,直接从格子的ARP缓存表里查找就可以了。