ARP表是一个动态表,存储在计算机当中,目的是做一个ip地址与mac地址的对应。
假设在同一子网段,计算机A与计算机B通信
计算机A的ip地址192.168.0.1 MAC地址AA-AA-AA-AA-AA-AA
计算机B的ip地址已知192.168.0.2 MAC地址未知
那么计算机A就要发起一个ARP查询,“谁能告诉我,192.168.0.2的MAC地址是多少?”
很显然通过交换机的时候,交换机并不能看懂ip地址,所以要广播这个信息,就把这个查询信息发到除发送端的其它所有端口。(当然,交换机还要记住192.168.0.1主机的mac地址)
其它所有的计算机看到这个广播发现目的ip不是自己,就把这个数据丢弃,只有192..168.0.2的计算机B会响应,并发送回执,告诉计算机A,“我是192.168.0.2,我的MAC地址是AA-AA-AA-AA-AA-AB”当通过交换机,交换机记住从计算机B端口过来的MAC地址,并通过已知的A计算机MAC地址,发动到连接计算机A的端口。(此时不再广播)计算机A与计算机B都知道对方的ip和MAC地址,开始通信。
我相信有些人已经知道答案了。

三层交换机肯定是有arp表的,这个毋庸置疑,因为有路由功能嘛,牵扯到ip,那肯定是有的,可能大家对2层是否有,有点疑问,一般来说2层是没有的,所谓arp是地址解析协议,而地址指的是ip解析成mac,可2层跟ip没关啊,所以一般来说是没的,但当我们配置了管理vlan时,比如int vlan 1 ,然后ip add ······,这是用来管理的,这时就产生了arp表

什么叫ARP表啊!什么叫MAC地址表啊!
你们搞清楚没有啊!二层交换有MAC地址表,没有ARP表。ARP表里面有IP地址,二层设备不会有IP地址的。所以二层交换机不会有ARP表。有MAC表。一定要搞清楚。
谈论学术的一定要严谨啊!定义一定要清楚,不然很难说清楚啊!

三层交换机肯定是有arp表的,这个毋庸置疑,因为有路由功能嘛,牵扯到ip,那肯定是有的,可能大家对2层是否有,有点疑问,一般来说2层是没有的,所谓arp是地址解析协议,而地址指的是ip解析成mac,可2层跟ip没关啊,所以一般来说是没的,但当 ... [/quote]非常赞同,二层交换机有个管理vlan,默认是关闭的,如果开启之后,就有了arp表项了。
arp 是地址解析协议,实现通过IP地直得知MAC地址。
工作原理的话,我就不都说了,上面的兄弟们解释得非常清楚了。
在每台安装有[url=/view/7649.htm][color=#0000ff]TCP/IP协议[/color][/url]的电脑里都有一个ARP缓存表,表里的IP地址与[url=/view/69334.htm][color=#0000ff]MAC地址[/color][/url]是一一对应的。
我们可以在命令提示符下输入:arp -a 查看本机电脑arp 缓存表。
详细参数的话,可以?试看。
arp缓存并不长久存在,ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

层二设备的只有 PORT---MAC表
当一个层二交换机启动的时候,它会自动去侦测那些联系到自己端口上的 机器的MAC地址的.从而形成了一个PORT--MAC这样一个对应表
层三设备才有 arp表~

简单来说,ARP这个协议谁也说不准,它是个3层协议但是工作在2层,交换机确切的说是有MAC地址表,当主机要经过2层设备访问的话,先查找它内部的ARP缓存表,如果没有,就发一个广播包,里面携带目的的IP地址,如果对应IP地址的主机看到有人叫它的时候,它才给以回应,发送回包,包里面有本机的MAC地址,这样被交换机放入MAC表中,关于20楼兄弟说的SVI那是一个特例。。。严格意义上来说不是ARP表,ARP这个协议谁也说不好是具体2层的还是3层的,具体说就是2层靠MAC表转发,由于TCP协议是需要ACK的,所以也能导致一些ARP欺骗的问题

要弄明白二三转发原理和流程,必须弄清楚ARP表、交换机转发表和路由表,这是数据转发的依据。由于ARP表和交换机转发表对于管理员来说是透明的,一般很忽视其工作原理,这是我需要注意的学习地方。所以今天主要是弄明白ARP表、交换机转发表、路由表。  

  数据最终转发依靠的都是ARP表,他是数据转发最基础的依据。ARP直接将硬件地址和网络地址相互映射。

  数据最终转发依靠的虽然不是路由表,但路由表是一个向导,指引着数据的走向,让数据能跨越网络,ARP表是没有掩码的,是不区分网段的。 

ARP表 MAC表 路由表的更多相关文章

  1. 转发表(MAC表)、ARP表、路由表总结

    原文:https://cloud.tencent.com/developer/article/1173761 转发表(MAC表).ARP表.路由表总结 我是东东东   发表于我是东东强订阅 1.5K ...

  2. Winpcap网络编程九之Winpcap实战,ARP协议获得MAC表及主机通信

    大家好,本次我们须要完毕的任务是: 完毕两台主机之间的数据通信(数据链路层) 仿真ARP协议获得网段内主机的MAC表 使用帧完毕两台主机的通信(Hello! I'm -) 声明:本文章的目的是为大家的 ...

  3. ARP解析MAC地址的全过程(ARP的工作机制)

    以太网环境下,同一个网段的主机之间需要互相知道对方的MAC地址,才能访问. TCP/IP协议栈从上层到下层的封装过程中,第三层封装需要知道目的IP,第二层封装需要知道目的MAC. 目的IP一般由用户手 ...

  4. MSSQLServer 纵向表转横向表 横向表转纵向表 行转列 列转行

    MSSQLServer 纵向表转横向表  横向表转纵向表 建表语句及插入数据语句: CREATE TABLE Test_y( ) NULL, ) NULL, [Grade] [int] NULL ) ...

  5. EXP/IMP迁移案例,IMP遭遇导入表的表空间归属问题

    生产环境: 源数据库:Windows Server + Oracle 11.2.0.1 目标数据库:SunOS + Oracle 11.2.0.3 1.确认迁移需求:源数据库cssf 用户所有表和数据 ...

  6. SQL Server 2008 R2——TRUNCATE TABLE 无法截断表 该表正由 FOREIGN KEY 约束引用

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  7. SQL表关联赋值、系统表、表数据删除

    1. 表与表的关联赋值(用于表与表之间有关联字段,数据互传) 双表关联赋值 UPDATE #B SET #B.D=#A.B from #B inner join #A on #B.C=#A.A 多表关 ...

  8. mysql分表和表分区详解

    为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能 ...

  9. ORACLE修改用户表所属表空间的步骤

    ORACLE修改用户表所属表空间的步骤 使用脚本进行修改.据目前所了解,正长情况下需要修改表的空间和表的索引的空间,如果涉及到BOLB字段的表,修改的方式又不一样了!正常情况下的修改脚本:1.修改表的 ...

随机推荐

  1. SVN使用—工作模式及运行原理以及优缺点对比

    一.SVN原理 (1)运行方式 svn服务器有2种运行方式:独立服务器和借助apache运行. 1.独立服务器访问 访问地址如:svn://svn.test.com/test 2.借助Apache等h ...

  2. 《棋牌游戏服务器》斗地主AI设计

    设计目标 要取得良好效果,首先要搞清楚一个问题:我们想得到一个什么样的斗地主AI?我们的AI是用在手游产品当中,在真实玩家不足时为用户提供陪玩服务,这个目标决定了这个AI要具备以下两个核心特点:1.执 ...

  3. 用树状数组求逆序对数(poj2299)

    Ultra-QuickSort Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 46995   Accepted: 17168 ...

  4. 利用正则提取discuz的正文内容

    源正文: [p=24, null, left][color=#000][font=宋体]近日,香港著名漫画家马荣成在香港举办的"[color=#ff660][url=http://cul.c ...

  5. handle 机制的原理是什么

    作者:milter链接:https://www.zhihu.com/question/19703357/answer/107984017来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  6. 关于setTimeout()你所不知道的地方,详解setTimeout()

    关于setTimeout()你所不知道的地方,详解setTimeout() 前言:看了这篇文章,1.注意setTimeout引用的是全部变量还是局部变量了,当直接调用外部函数方法时,实际上函数内部的变 ...

  7. Treflection01_Class对象_构造函数_创建对象

    1. package reflectionZ; import java.lang.reflect.Constructor; import java.util.List; public class Tr ...

  8. mysql数据库优化课程---11、mysql普通多表查询

    mysql数据库优化课程---11.mysql普通多表查询 一.总结 一句话总结:select user.username,user.age,class.name,class.ctime from u ...

  9. uboot配置过程详解1

    x210_sd_config : unconfig @$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110 @echo "TE ...

  10. Java.lang包的接口解读

    Java.lang包中提供了八个接口: 1.Appendable 能够被追加 char 序列和值的对象.如果某个类的实例打算接收来自 Formatter的格式化输出,那么该类必须实现 Appendab ...