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. ASP.NET 验证码 不同浏览器 不刷新问题

    具体为什么不刷新是缓存机制不同,验证码图片的src或ImageUrl的获取是来自一个文件,由于连接地址没变所以不同内核浏览器有的会认为源没有变,解决办法就是在连接后面加上一个随机参数如可以用JS的Ma ...

  2. [ACM] hdu 2191 珍惜如今,感恩生活 (多重背包)

    Problem Description 急!灾区的食物依旧短缺! 为了拯救灾区同胞的生命,心系灾区同胞的你准备自己採购一些粮食支援灾区,如今如果你一共同拥有资金n元,而市场有m种大米,每种大米都是袋装 ...

  3. Linux 下编译Android-VLC开源播放器详解(附源码下载)

    这两天需要做音视频播放相关的东西,所以重新找了目前android下的解码库.Android自带的解码库支持不全,因此很多第三方播放器都是自带解码器,绝大部分都是使用FFMpeg作为解码库.我11年的时 ...

  4. 【邻接表字符串Hash】【HDU1800】Flying to the Mars

    题意: 给你N个数字,带前导0,问出现最多的数字个数 思路: 读入,清楚前导0,Hash. 用邻接表字符串Hash有一下几点注意 string,不要memset,否则地址也没了,涉及到stl的东西,少 ...

  5. 动画原理——线性来回运动&&波动

    书籍名称:HTML5-Animation-with-JavaScript 书籍源码:https://github.com/lamberta/html5-animation 1.在正选函数中,随角度的增 ...

  6. JAVA 类加载器 第14节

    JAVA 类加载器 第14节 今天我们将类加载机制5个阶段中的第一个阶段,加载,又叫做装载.为了阅读好区分,以下都叫做装载. 装载的第一步就是要获得二进制的字节流,它可以从读.class文件获得,也可 ...

  7. git本地仓库与github远程仓库链接协议问题

    前提条件:有github账号,本地安装了git,能上网. 环境:ubuntu14.0.4LTS 首先在你得在github上创建一个仓库new repository,然后再本地创建一个文件夹mkdir ...

  8. BZOJ 3672: [Noi2014]购票( 树链剖分 + 线段树 + 凸包 )

    s弄成前缀和(到根), dp(i) = min(dp(j) + (s(i)-s(j))*p(i)+q(i)). 链的情况大家都会做...就是用栈维护个下凸包, 插入时暴力弹栈, 查询时就在凸包上二分/ ...

  9. struts2表单提交的乱码的问题的解决

    今天碰到一乱码问题,百思不得其解. 最后解决办法是设置了表单的提交方式,将method设置为post,解决问题.虽然默认的提交方式是post.但是如果不显式设置的话,就会出现我所出现的问题. 总结下处 ...

  10. Vnstat: 简单实用的网络流量统计工具

    官方主页: http://humdi.net/vnstat # Ubuntu 安装: (其本上其它发行版的包管理程序中也都包含了这款软件,请自行安装) sudo apt-get install vns ...