计算机网络-网络层-地址解析协议ARP

地址解析协议ARP: 已经知道了一个机器(主机或路由器)的IP地址,需要找出其相应的硬件地址。还有一个旧的协议叫做逆地址解析协议RARP,它的作用是使只知道自己硬件地址的主机能够通过RARP协议找出其IP地址。现在的DHCP协议已经包含了RARP协议的功能。

由于是IP协议使用了ARP协议,因此通常就把ARP协议划归网络层。但ARP协议的用途是为了从网络层使用的IP地址,解析出在数据链路层使用的硬件地址,因此,有的就按照协议的所用,把ARP协议划归在数据链路层。

网络层使用的是IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址,但P地址和下面的网络的硬件地址之间由于格式不同而不存在简单的映射关系(例如,IP地址有32位,而局域网的硬件地址是48位)。此外,在一个网络上可能经常会有新的主机加入进来,或撤走一些主机。更换网络适配器也会使主机的硬件地址改变。地址解析协议ARP解快这个问题的方法是在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。

每一台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。那么主机怎样知道这些地址呢?我们可以通过下面的例子来说明:

当主机A要向本局域网上的某台主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址,如有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。也有可能查不到主机B的P地址的项目。这可能是主机B才入网,也可能是主机A刚刚加电,其高速缓存还是空的,在这种情况下,主机A就自动运行ARP,然后按以下步最找出主机B的硬件地址。

(1)ARP进程在本局域网上广播发送一个ARP请求分组。图4-11(a)是主机A广播发送ARP请求分组的示意图。ARP请求分组的主要内容是:“我的P地址是209.0.0.5,硬件地址是00-00-C0-15-AD-18。我想知道IP地址为209.0.0.6的主机的硬件地址。.”

(2)在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组。

(3)主机B的IP地址与ARP请求分组中要查询的P地址一致,就收下这个ARP请求分组,并向主机A发送ARP响应分组,同时在这个ARP响应分组中写入自己的硬件地址。由于其余的所有主机的P地址都与ARP请求分组中要查询的P地址不一致,因此都不理睬这个ARP请求分组,见图4-16。ARP响应分组的主要内容是:“我的IP地址是209.0.0.6,我的硬件地址是08-00-2B-00-EE-0A,”请注意:虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址。

(4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的P地址到硬件地址的映射。

当主机A向B发送数据报时,很可能以后不久主机B还要向A发送数据报,因而主机B也可能要向A发送ARP请求分组。为了减少网络上的通信量,主机A在发送其ARP请求分组时,就把自己的P地址到硬件地址的映射写入ARP请求分组。当主机B收到A的ARP请求分组时,就把主机A的这一地址映射写入主机B自己的ARP高速缓存中。以后主机B向A发送数据报时就很方便了。

可见ARP高速缓存非常有用。如果不使用ARP高速缓存,那么任何一台主机只要进行一次通信,就必须在网络上用广播方式发送ARP请求分组,这就使网络上的通信量大大增加。ARP把已经得到的地址映射保存在高速缓存中,这样就使得该主机下次再和具有同样目的地址的主机通信时,可以直接从高速缓存中找到所需的硬件地址而不必再用广播方式发送ARP请求分组。

ARP对保存在高速缓存中的每一个映射地址项目都设置生存时间(例如,10~20分钟)。凡超过生存时间的项目就从高速缓存中删除掉。设置这种地址映射项目的生存时间是很重要的。设想有一种情况。主机A和B通信。A的ARP高速缓存里保存有B的硬件地址。但B的网络适配器突然坏了,B立即更换了一块,因此B的硬件地址就改变了。假定A还要和B继续通信。A在其ARP高速缓存中查找到B原先的硬件地址,并使用该硬件地址向B发送数据帧。但B原先的硬件地址已经失效了,因此A无法找到主机B。但是过了一段不长的生存时间,A的ARP高速缓存中已经删除了B原先的硬件地址,于是A重新广播发送ARP请求分组,又找到了B。

请注意,ARP是解决同一个局域网上的主机或路由器的P地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,例如,在主机 H1 就无法解析出另一个局域网上主机 H11 的硬件地址(实际上主机H,也不需要知道远程主机 H11  的硬件地址)。主机 H1 发送给 H11 的P数据报首先需要通过与主机 H1 连接在同一个局域网上的路由器R2来转发。因此主机H1这时需要把路由器R2的IP地址解析为硬件地址HA2,以便能够把IP数据报传送到路由器R2。以后,R2从转发表找出了下一跳路由器R3, 同时使用ARP解析出R3的硬件地址HA3。于是IP数据报按照硬件地址HA3转发到路由器R3。路由器R3在转发这个IP数据报时用类似方法解析出目的主机 H11 的硬件地址HA11,使IP数据报最终交付主机H11。

从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地把这个IP地址解析为链路层所需要的硬件地址。

(1)发送方是主机,要把IP数据报发送到同一个网络上的另一台主机。这时一个逐渐发送ARP请求分组(在网络上广播),找到目的主机的硬件地址。

(2)发送方是主机,要把IP数据报发送到另一个网络上的一台主机。这时发送方的主机发送ARP请求分组(在网络上广播),找到网络上的一个路由器的硬件地址。剩下的工作由路由器R来完成。R要做的事情是下面的(3)或(4)。

(3)发送方是路由器,要把IP数据报转发到与R相连接在同一个网络上的主机。这时R发送ARP请求分组(在网络上广播),找到目的主机的硬件地址。

(4)发送方是路由器R1要把IP数据报转发到网络上的一台主机。这台主机与R1不是连接在同一个网络上。这时R1发送ARP请求分组(在网络上广播),找到连接在网络上的另一个路由器R2的硬件地址。剩下的工作由这个路由器R2来完成。

在许多情况下需要多次使用ARP。但这只是以上几种情况的反复使用而已。

既然在网络链路上传送的帧最终是按照硬件地址找到目的主机的,为什么不直接使用硬件地址进行通信?这样似乎可以免除(IP 地址)使用ARP:

由于存在着各式各样的网络,使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。但IP编址把这个复杂问题解决了。 连接到互联网的主机只需各自拥有一个唯一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便 ,因为上述的调用ARP的复杂过程都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。因此,在虚拟的IP网络上用P地址进行通信给广大的计算机用户带来很大的方便。

  • 缃戠粶灞甯歌鍗忚鏈夊摢浜 ,鍒嗗埆鏄粈涔堝惈涔
    绛旓細ARP(Address Resolution Protocol)鍦板潃瑙f瀽鍗璁畠鏄敤浜庢槧灏璁$畻鏈鐨勭墿鐞嗗湴鍧鍜屼复鏃舵寚瀹氱殑缃戠粶鍦板潃銆傚惎鍔ㄦ椂瀹冮夋嫨涓涓崗璁(缃戠粶灞)鍦板潃,骞舵鏌ヨ繖涓湴鍧鏄惁宸茬粡鏈夊埆鐨勮绠楁満浣跨敤,濡傛灉娌℃湁琚娇鐢,姝ょ粨鐐硅浣跨敤杩欎釜鍦板潃,濡傛灉姝ゅ湴鍧宸茬粡琚埆鐨勮绠楁満浣跨敤,姝e湪浣跨敤姝ゅ湴鍧鐨勮绠楁満浼氶氬憡杩欎竴淇℃伅,鍙湁鍐嶉夊彟涓鍦板潃浜嗐係NMP(Sim...
  • arp鏄摢涓灞傚崗璁
    绛旓細ARP锛鍦板潃瑙f瀽鍗璁級灞炰簬OSI妯″瀷涓殑缃戠粶灞鍗忚锛屽畠鍦ㄦ暟鎹摼璺眰鍜岀綉缁滃眰涔嬮棿璧风潃鑷冲叧閲嶈鐨勪綔鐢ㄣ傚叿浣撴潵璇达紝ARP鍗忚鐢ㄤ簬灏咺P鍦板潃杞崲涓虹墿鐞嗗湴鍧锛屼篃灏辨槸浠ュお缃戝崗璁腑鐨凪AC鍦板潃銆傝繖鏍凤紝鍦ㄧ綉缁滈氫俊涓紝鏃犺IP鍦板潃濡備綍鍙樺寲锛岄兘鍙互閫氳繃ARP缂撳瓨鎴朅RP鍝嶅簲鏉ョ‘瀹氭暟鎹寘鐨勬渶缁堢墿鐞嗙洰鐨勫湴銆傚湪璁$畻鏈虹綉缁涓紝缃戠粶...
  • ...涓嶳ARP(鍙嶅悜鍦板潃瑙f瀽鍗璁)宸ヤ綔鍦缃戠粶鐨勫摢涓灞?浠栦滑鐨勫伐浣滃師鐞嗘槸浠...
    绛旓細宸ヤ綔鍦缃戠粶灞銆 arp鏄疘P鍦板潃瑙f瀽涓篗AC鍦板潃 RARP MAC鍦板潃瑙f瀽涓篒P鍦板潃 涓昏浠ュ箍鎾殑褰㈠紡 涓銆佷粈涔堟槸ARP鍗忚 ARP鍗忚鏄淎ddress Resolution Protocol鈥濓紙鍦板潃瑙f瀽鍗璁級鐨勭缉鍐欍傚湪灞鍩熺綉涓紝缃戠粶涓疄闄呬紶杈撶殑鏄滃抚鈥濓紝甯ч噷闈㈡槸鏈夌洰鏍囦富鏈虹殑MAC鍦板潃鐨勩傚湪浠ュお缃戜腑锛屼竴涓富鏈哄拰鍙︿竴涓富鏈鸿繘琛岀洿鎺ラ氫俊锛屽繀...
  • arp鍗忚灞炰簬鍝竴灞
    绛旓細arp鍗忚鍦═CP/IP妯″瀷涓睘浜嶪P灞傦紙缃戠粶灞锛夛紝鍦∣SI妯″瀷涓睘浜庨摼璺眰銆俛rp鏄鍦板潃瑙f瀽鍗璁紝鏄牴鎹甀P鍦板潃鑾峰彇鐗╃悊鍦板潃鐨勪竴涓猅CP/IP鍗忚锛岀敤浜庡皢璁$畻鏈鐨缃戠粶鍦板潃锛圛P鍦板潃32浣嶏級杞寲涓虹墿鐞嗗湴鍧锛圡AC鍦板潃48浣嶏級銆侫RP鍗忚鏄睘浜庨摼璺眰鐨勫崗璁紝鍦ㄤ互澶綉涓殑鏁版嵁甯э紝浠庝竴涓富鏈哄埌杈剧綉鍐呯殑鍙︿竴鍙颁富鏈猴紝鏄牴鎹48...
  • arp鏄粈涔
    绛旓細鍦板潃瑙f瀽鍗璁槸涓绉缃戠粶鍗璁紝涓昏浣滅敤鏄湪灞鍩熺綉涓牴鎹缃戠粶灞鐨勪富鏈篒P鍦板潃瑙f瀽鍑哄搴斾富鏈虹殑鐗╃悊鍦板潃銆傚叿浣撴潵璇达紝ARP鍗忚鑳藉灏嗙綉缁滀腑鎶借薄鐨処P鍦板潃杞崲涓烘満鍣ㄥ彲璇嗗埆鐨勭墿鐞嗗湴鍧锛屼粠鑰岀‘淇濈綉缁滀腑鐨勮澶囪兘澶熸纭彂閫佸拰鎺ユ敹鏁版嵁銆傝繖涓崗璁湪璁$畻鏈虹綉缁涓捣鍒颁簡闈炲父鍏抽敭鐨勪綔鐢ㄣ傚湪缃戠粶閫氫俊涓紝璁惧涔嬮棿闇瑕侀氳繃鐗╃悊...
  • arp鍦ㄥ摢涓眰
    绛旓細ARP锛屽嵆鍦板潃瑙f瀽鍗璁紝鏄璁$畻鏈虹綉缁涓敤浜庡皢缃戠粶灞鍦板潃杞崲涓烘暟鎹摼璺灞傚湴鍧鐨勫崗璁傛暟鎹摼璺眰鏄礋璐h繛鎺ョ綉缁滀腑鐨勮澶囧苟澶勭悊鐗╃悊鍦板潃鐨勫眰娆★紝ARP鍗忚鍦ㄨ繖涓眰娆′笂鍙戞尌鐫鑷冲叧閲嶈鐨勪綔鐢ㄣ傚湪缃戠粶閫氫俊涓紝褰撲竴涓富鏈洪渶瑕佷笌鍙︿竴涓富鏈鸿繘琛岄氫俊鏃讹紝瀹冮渶瑕佺煡閬撶洰鏍囦富鏈虹殑MAC鍦板潃鏉ヨ繘琛屾暟鎹抚鐨勪紶杈撱備絾鐢变簬缃戠粶灞...
  • 浠涔堟槸arp 浠涔堟槸TCP/IP
    绛旓細ARP(Address Resolation Protocol)鍦板潃瑙f瀽鍗璁粠鍗忚鍒嗗眰妯″瀷鏂归潰鏉ヨ,TCP/IP鐢卞洓涓眰娆$粍鎴:缃戠粶鎺ュ彛灞傘缃戠粶灞銆佷紶杈撳眰銆佸簲鐢ㄥ眰銆傚叾涓:缃戠粶鎺ュ彛灞 杩欐槸TCP/IP杞欢鐨勬渶浣庡眰,璐熻矗鎺ユ敹IP鏁版嵁鎶ュ苟閫氳繃缃戠粶鍙戦佷箣,鎴栬呬粠缃戠粶涓婃帴鏀剁墿鐞嗗抚,鎶藉嚭IP鏁版嵁鎶,浜ょ粰IP灞傘傜綉缁滃眰璐熻矗鐩搁偦璁$畻鏈涔嬮棿鐨勯氫俊銆傚叾鍔熻兘鍖呮嫭涓夋柟闈
  • 甯哥敤鐨缃戠粶鍗璁湁鍝簺,鍒嗗埆鏄粈涔堝惈涔
    绛旓細ARP(Address Resolution Protocol)鍦板潃瑙f瀽鍗璁 瀹冩槸鐢ㄤ簬鏄犲皠璁$畻鏈鐨勭墿鐞嗗湴鍧鍜屼复鏃舵寚瀹氱殑缃戠粶鍦板潃銆傚惎鍔ㄦ椂瀹冮夋嫨涓涓崗璁(缃戠粶灞)鍦板潃,骞舵鏌ヨ繖涓湴鍧鏄惁宸茬粡鏈夊埆鐨勮绠楁満浣跨敤,濡傛灉娌℃湁琚娇鐢,姝ょ粨鐐硅浣跨敤杩欎釜鍦板潃,濡傛灉姝ゅ湴鍧宸茬粡琚埆鐨勮绠楁満浣跨敤,姝e湪浣跨敤姝ゅ湴鍧鐨勮绠楁満浼氶氬憡杩欎竴淇℃伅,鍙湁鍐嶉夊彟涓涓湴鍧浜嗐
  • 璁$畻鏈虹綉缁搴旂敤灞傚拰浼犺緭灞傚強缃戠粶灞鍗忚鏈夊摢浜
    绛旓細缃戠粶灞鍗忚锛氱綉缁滃眰鍗忚涓昏璐熻矗瀹炵幇鏁版嵁鍦ㄧ綉缁滀腑鐨勮矾鐢卞拰杞彂锛屼互鍙缃戠粶鍦板潃鐨勭鐞嗐傚父鐢ㄧ殑缃戠粶灞傚崗璁寘鎷琁P銆両CMP銆丄RP銆丷ARP銆丱SPF绛夈傚叾涓紝IP鍗忚鏄簰鑱旂綉涓渶閲嶈鐨勫崗璁箣涓锛岃礋璐e疄鐜版暟鎹寘鍦ㄧ綉缁滀腑鐨勪紶杈撳拰璺敱閫夋嫨銆傝繖浜涘崗璁湪璁$畻鏈虹綉缁涓悇鑷壆婕斾笉鍚岀殑瑙掕壊锛屽叡鍚岀粍鎴愪簡缃戠粶閫氫俊鐨勫熀纭妗嗘灦銆傚簲鐢ㄥ眰...
  • 璁$畻鏈虹綉缁妯″瀷(OSI & TCP/IP)
    绛旓細SNMP (Simple Network Management Protocol,绠鍗缃戠粶绠$悊鍗忚),鐢ㄤ簬缃戠粶淇℃伅鐨勬敹闆嗗拰缃戠粶绠$悊銆 ARP (Address Resolution Protocol,鍦板潃瑙f瀽鍗璁),鐢ㄤ簬鍔ㄦ佽В鏋愪互澶綉纭欢鐨勫湴鍧銆 浼犺緭灞 (transport layer)鐨勫崗璁,鑳藉瑙e喅璇稿绔埌绔彲闈犳(鈥滄暟鎹槸鍚﹀凡缁忓埌杈剧洰鐨勫湴?鈥)鍜屼繚璇佹暟鎹寜鐓ф纭殑椤哄簭鍒拌揪杩欐牱鐨勯棶棰樸傚湪TCP/...
  • 扩展阅读:计算机网络7答案解析 ... 计算机网络的4个功能 ... 计算机网络地址有两种 ... 计算机题目答案及解析 ... 计算机网络第八版pdf ... 计算机网络第八版解析 ... 计算机网络教材电子版 ... 计算机网络测试题答案 ... 计算机网络功能有哪四个 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网