主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

路由技术
交换技术
网管天地
网络攻防
安全资讯
OICQ攻略
无线技术
解决方案

 
RHU阅读排行
·MAC地址三步全接触之巧“取”MAC
·WLAN知识扫盲 无线局域网名词解析
·一招技巧在手 轻轻松松切换IP地址
·巧妙运用 IP安全策略保护重要数据
·网络最经典命令行 安全工作者的必杀技
·SQL Server数据库实用小技巧集合
·SQL Server日志清除的两种方法
·SQL Server中删除重复数据的几个方法
·用“运行为”保护好管理员账户
·化繁为简 网络参数设置切换全接触

 
 
RHU最新文章
·路由器固件在升级过程中损坏如何修复
·IPv4网络和IPv6网络互连技术对比介绍
·GMail Labs新成果:直接把邮件转换成Google文档
·虚拟世界的专属通道—VPN
·思科路由器出现崩溃的原因解析
·Cisco网络模拟器GNS3发布v0.6版本
·网管心得:网络丢包究竟为何
·经验:网络连接不稳 有可能源自线缆短路
·应用交付替负载均衡 欲与路由分庭抗礼
·动态和静态IP地址引起的VPN问题

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 网管技术-> 网管天地
有了IP和MAC 为什么还需要ARP协议?

作者:RHU-TAC编辑员 来自:RHU网络采集 时间:2008-11-9 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


首先我们需要先大致了解一下MAC地址,MAC(Media Access Control, 介质访问控制)地址是烧录在Network Interface Card(网卡,NIC)里的,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位叫做组织唯一标志符(organizationally unique ,是识别LAN(局域网)节点的标识.24-47位是由厂家自己分配。网卡的物理地址 通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。

  如何才能知道自己PC的IP地址?一个很简单的方法是使用ipconfig/all命令,如下图:


    
    如果你的PC中安装有多个网卡,那么相对于每块网卡Ethernet  adapter项所显示的内容都会有所不同,相信大多数PC上显示的都是“本地连接”,这是中文版WIDNOWS XP系统中以太网卡的默认命名。此处Physical Address项目所显示的就是“本地连接”的MAC地址。

  在以太网中,如果主机A需要向主机B发送数据,在发送前必须先解决一个问题——我怎么才能知道主机B“位置”呢?可能有人会说我知道主机B的IP地址啊……,但实际上,在以太网环境中数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。

  ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,我们可以使用arp –a命令查看当前缓存表,如下图: 


    
    我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

  下面我们通过一个实例来简单说明一下ARP协议是如何工作的:如下图,小编首先使用arp –d命令将ARP缓存表清空,第二步Ping一个IP地址192.168.99.252,第三步使用arp –a命令查看ARP缓存表,这时表中出现了一条  192.168.99.252  00-19-21-0a-95-9d  dynamic  记录,该条记录的类型为Dynamic,意思是说,这条记录是动态产生的。ARP记录也会出现静态的记录条目,相应的类型为static。正如前面所说的,ARP缓存表具有老化机制,几分钟后小编再次使用arp –a命令查看缓存表,刚才的那条记录已经不存在了。  

点击打开大图

下图是小编使用wireshark(一个抓包工具)抓到的刚才ARP数据包的信息,由于在本机ARP缓存表中没有IP地址192.168.99.252相对应的MAC地址记录,所以在通讯之前系统会向网络中首先发送一个广播包——所有字符都为”f”的MAC地址,用来询问192.168.99.252的MAC地址是什么?局域网中所有的PC都将收到这个广播包,但只有IP地址为192.168.99.252的PC才会对此请求作出回应——告之192.168.99.204我的MAC地址是00:19:21:0a:95:9d,其它PC则将数据包直接丢弃,在发送方知到了目的主机的MAC地址后便可以进行通讯了。

    点击查看大图
ARP Request 数据包
    

点击查看大图
ARP Reply 数据包



OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • 企业局域网本地路由器配置五则方法
  • 路由协议介绍以及教你如何选择路由协议
  • 教你识别各种交换机的数据接口类型
  • 网络的核心所在 交换机漏洞全面了解
  • 用透明桥接方式解决路由器IP配置问题
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com