MAC地址对于每一台设备是全球唯一的,该地址被烧录在网卡的硬件电路上。MAC地址由12位十六进制数表示,其中前6位标识网卡的制造厂商,后6位是网卡的序列号。在以太网中,一个主机要和另一个主机进行通信,必须知道知道目标主机的的MAC地址。


什么是ARP,它用来将IP地址映射到MAC地址,以便设备能在多路访问介质上通信。可以举一个例子很好的说明ARP是如何工作的:老师要将一封信交给教室里的某个学生,但是老师
并不认识这个学生,她只知道这个学生的姓名(IP),于是她对教室里所有的人说:“谁是王XX,有你的信(网络数据)”,当王XX听到这个信息时(地址匹配),他站起来回答,然后老师就知道了他坐在几排几列(MAC地址),最后把信送到他的座位上。


在ARP协议的实现中还有一些应该注意的事项:
每台计算机上都有一个ARP缓冲,它保存了一定数量的从IP地址到MAC地址的映射,同时当一个ARP广播到来时,虽然这个ARP广播可能与它无关,但ARP协议软件也会把其中的物理地址与IP地址的映射记录下来,这样做的好处是能够减少ARP报文在局域网上发送的次数。 按照缺省设置,ARP高速缓冲中的项目是动态的,ARP缓冲中IP地址与物理地址之间的映射并不是一旦生成就永久有效的,每一个ARP映射都有自己的寿命,如果在一段时间内没有使用,那么这个ARP映射就会从缓冲中删除 ,这一点和交换机MAC地址表的原理一样的。这种老化机制,可以大大减少ARP缓存表的长度,加快查询速度。
在以太网中,当主机要确定某个IP地址的MAC地址时,它会先检查自己的ARP缓冲区表,如果目标地址不包含在该缓冲表中,主机就会发送一个ARP请求(广播形式),网段上的任何主机都可以接收到给广播但是只有目标主机才会响应此ARP请求。由于目标主机在收到ARP请求时可以学习到发送方的IP地址和MAC地址的映射,因此它采用一个单播消息回应请求。

主机A以广播形式发送ARP请求查询IP地址为192.168.1.3的主机的MAC地址,网段上所有的主机都会收到该ARP请求。

主机B、主机D收到主机A发送的ARP请求时,他们发现这个请求不是发给自己的,因此他们忽略这个请求但是他们还是将主机A的IP地址和MAC地址的映射记录到自己的ARP表中。当主机C收到主机A发来的ARP请求时,它发现这个ARP请求是发给自己的,于是它用单播消息回应ARP请求,同时记录下其IP地址和MAC地址的映射。
通常ARP协议都在支持广播的网络上使用,如以以太网。但是ARP数据包不能跨网段使用,也就是说不能跨越路由器(路由器本身用作ARP代理除外)。但目标网络IP地址和源IP地址不在统一网段上时,就要使用代理ARP。

IP地址冲突的问题及解决方法:

 

ARP产生的问题汇总最常见的是IP地址的冲突,这时由于两个不同的主机使用相同的IP地址而产生的,在任何互联网中,IP地址必须是唯一的。

当接口初始化时,它发送一个含有其IP地址的ARP请求,如果收到回应,Windows就会向用户报告这个IP地址已经被别人占用了;如果没有收到回应,它就认为IP地址没有被使用。最后说明一点:ARP是数据链路层的协议。

TCP/IP的网际层协议——ARP的更多相关文章

  1. TCP/IP的网际层协议——ICMP

    ICMP经常被认为是IP层的一个组成部分.它携带于IP数据包中,ICMP封装在IP数据包内部: IP首部 ICMP数据包 下面是一份差错报文的例子: 最右边的+或者-代表该报文是查询报文还是错误报文. ...

  2. 再读TCP/IP网络7层协议

    随着工作的深入,每次读这7层协议,每次都有不同的理解. 分层名                                                               分层号   ...

  3. TCP/IP的排头兵――地址解析协议(ARP) (转载)

    转自:http://blog.csdn.net/wangxg_7520/article/details/2488442 一.引言 古人行军打仗,都要有一个可以引领队伍前进方向的排头兵,在TCP/IP网 ...

  4. TCP/IP,HTTP,SOAP等协议之区别

    术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到 ...

  5. 计算机网络(二),TCP/IP四层模型常见协议

    目录 1.应用层协议 2.传输层协议 3.网络层协议 4.链路层协议 二.TCP/IP四层模型常见协议 1.应用层协议 (1)POP3 (2)FTP (3)HTTP (4)Telnet (5)SMTP ...

  6. TCP/IP中链路层的附加数据(Trailer数据)和作用

    1.TCP/IP中链路层的附加数据是什么 在用wireshark打开报文时,链路层显示的Trailer数据就是附加数据,如图 2.如何产生 1.例如以太网自动对小于64字节大小的报文进行填充(未实验) ...

  7. 08_使用TCP/IP Monitor监视SOAP协议

    [SOAP定义] SOAP   简单对象访问协议,基于http传输xml数据,soap协议体是xml格式.SOAP   是一种网络通信协议SOAP   即Simple Object Access Pr ...

  8. 使用TCP/IP Monitor监视Soap协议

    什么是soap? soap,简单对象访问协议,基于http传输xml数据,soap协议体是xml格式. SOAP 是一种网络通信协议 SOAP即Simple Object Access Protoco ...

  9. TCP/IP和OSI4层、7层协议介绍

    1.TCP/IP全称:Transmission Control Protocol / Internet Protocol 中文翻译:传输控制协议 / 互联网协议 2.OSI4层.7层模型:

随机推荐

  1. C-Free 您不能使用调试解决方案

    什么时候C-Free 当您调试 找不到gdb.exe解决方案 http://www.programarts.com/ C-Free 官方网站 下载Mingw或者其他编译器 版权声明:本文博主原创文章. ...

  2. gulp简单使用小记

    npm install --save-dev 写入package.json里     var gulp = require('gulp'); var less = require('gulp-less ...

  3. html系列教程--article audio

    <article> 标签 <article> 标签规定独立的自包含内容.一篇文章应有其自身的意义,应该有可能独立于站点的其余部分对其进行分发. <article> ...

  4. 使用关联对象(AssociatedObject)为UIButton添加Block响应

    在开发中,要给UIButton添加点击事件的话,通常的做法是这样的 UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; [ ...

  5. iOS程序启动原理(简单)

    1.执行main -> 执行UIApplicationMain UIApplicationMain底层实现 1.创建UIApplication对象 2.创建UIApplication代理对象 3 ...

  6. arcgis切图问题

    头一次用ArcGIS Server切图,所以遇到问题总是摸不着头脑,网上一个劲的搜罗,可惜ArcGIS Server使用的资料实在太少,所以只好自己憋,或者问客服了.切图今天积累了不少了经验,记录下, ...

  7. .Xmodmap vim键位映射。

    remove Lock = Caps_Lockkeysym Caps_Lock = Control_Ladd Control = Control_Lkeysym Escape = grave asci ...

  8. JavaWeb核心编程之(三.5)HTTP请求和接受表单数据

    HTTP简介WEB浏览器与WEB拂去其之间的一问一答的交互过程, 必须遵循一定的规则,这个规则就是HTTP协议HTTP是hypertext transfer protocol(超文本传输协议)的简写, ...

  9. HTTP性能测试

    HTTP性能测试 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",& ...

  10. ajax防止重复提交请求1

    ajax防止重复提交请求 A. 独占型提交 只允许同时存在一次提交操作,并且直到本次提交完成才能进行下一次提交. module.submit = function() {   if (this.pro ...