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. Asp.Net Web API 2 官网菜鸟学习系列导航

    链接地址: http://www.cnblogs.com/aehyok/p/3446289.html

  2. InterruptedException异常

    本文总结自:https://blog.csdn.net/asdfsadfasdfsa/article/details/78808131 什么样的方法会抛出InterruptedException异常? ...

  3. C++二阶构造函数

    转自:http://blog.51cto.com/9291927/1896411 一.构造函数的问题 构造函数存在问题: A.构造函数只提供自动初始化成员变量的机会 B.不能保证初始化逻辑一定成功,如 ...

  4. ThinkPHP开发博客系统笔记之二

    1. 登陆验证码 当用户登陆的时候我们希望也弹出验证码,有两种方法可以实现:一是再增加一个弹出验证码的dialog,二是和注册共用一个验证码dialog.第一种方法有大量重复代码,所以我们使用第二种方 ...

  5. No module named yum

    升级python之后,执行yum的时候可能出现错误,类似: There was a problem importing one of the Python modulesrequired to run ...

  6. 【Spark SQL 源码分析系列文章】

    从决定写Spark SQL源码分析的文章,到现在一个月的时间里,陆陆续续差不多快完成了,这里也做一个整合和索引,方便大家阅读,这里给出阅读顺序 :) 第一篇 Spark SQL源码分析之核心流程 第二 ...

  7. tensorflow conv2d的padding解释以及参数解释

    1.padding的方式: 说明: 1.摘录自http://stackoverflow.com/questions/37674306/what-is-the-difference-between-sa ...

  8. eclipse导入android项目错误,项目名称上有红叉,但代码中无报错

    首先,在项目上右键,属性,选择编译目标,选择android版本或把Android的版本调高一点.

  9. Ajax-01 Ajax概述

    Web应用程序: 用户浏览器发送请求,服务端接收并处理请求,然后返回结果,往往返回就是字符串(HTML).浏览器将字符串(HTML)渲染并显示到浏览器上. 传统的Web应用: 一个简单操作(每个请求) ...

  10. 三个大数据处理框架:Storm,Spark和Samza 介绍比较

    转自:http://www.open-open.com/lib/view/open1426065900123.html 许多分布式计算系统都可以实时或接近实时地处理大数据流.本文将对三种Apache框 ...