ARP 地址解析的实现过程

原创 2008年10月03日 19:07:00

以太网上的两台主机需要通信时,双方必须知道对方的MAC 地址。每台主机都要维护IP 地址到MAC 地址的转换表,称为ARP 映射表。ARP 映射表中存放着最近用到的一系列与本主机通信的其他主机的IP 地址和MAC 地址的映射。在主机启动时,ARP 映射表为空;当一条动态ARP 映射表项规定时间没有使用时,主机将其从ARP 映射表中删除掉,以便节省内存空间和ARP 映射表的查找时间。

假设主机A 和主机B 在同一个网段,主机A 的IP 地址为IP_A,B 的IP 地址为IP_B,主机A 要向主机B 发送信息。主机A 首先查看自己的ARP 映射表,确定其中是否包含有IP_B 对应的ARP 映射表项。如果找到了对应的MAC 地址,则主机A 直接利用ARP 映射表中的MAC 地址,对IP 数据包进行帧封装,并将数据发送给主机B;

如果在ARP 映射表中找不到对应的MAC 地址,则主机A 将该数据包放入ARP 发送等待队列,然后创建一个ARP request,并以广播方式在以太网上发送。ARPrequest 数据包中包含有主机B 的IP 地址,以及主机A 的IP 地址和MAC 地址。由于ARP request 数据包以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

主机B 首先把ARP request数据包中的请求发起者(即主机A)的IP 地址和MAC 地址存入自己的ARP 映射表中。然后主机B 组织ARP 响应数据包,在数据包中填入主机B 的MAC 地址,发送给主机A。这个响应不再以广播形式发送,而是直接发送给主机A。主机A 收到响应数据包后,提取出主机B 的IP 地址及其对应的MAC 地址,加入到自己的ARP映射表中,并把放在发送等待队列中的发往主机B 的所有数据包都发送出去。一般情况下,ARP 动态执行并自动寻求IP 地址到以太网MAC 地址的解析,无需管理员的介入。

ARP解析MAC地址的全过程(ARP的工作机制)

ARP解析MAC地址的全过程(ARP的工作机制) ARP解析MAC地址需要了解的: 以太网环境下,同一个网段的主机之间需要互相知道对方的MAC地址,才能访问。 TCP/IP协议栈从上层到下层的封...
  • luobin1984
  • luobin1984
  • 2013年09月29日 09:54
  • 14290

ARP协议工作过程

ARP是解决统一局域网上的主机路由器的IP地址和硬件地址的映射问题。 每一个主机都设有一个ARP高速缓存,里面有本局网上的各主机和路由器的IP地址到硬件地址的映射表。 当主机A要向本局域网上的某个主机...
  • sinat_20403389
  • sinat_20403389
  • 2015年11月08日 10:57
  • 1339

ARP请求详解

ARP请求详解  IP地址是不能直接用来进行通信的。这是因为IP地址只是主机在抽象的网络层中的地址。若要将网络层中传送的数据报交给目的主机,还要传到链路层转变成MAC帧后才能发送到实际的网络上。...
  • SHEDONG1011
  • SHEDONG1011
  • 2015年09月01日 11:02
  • 2087

简析ARP解析过程

ARP是一种能够实现IP地址到物理地址的转化协议,以目标地址为线索用来定义下一位应该接收数据分包的网络设备对应的MAC地址,如果目标主机不在同一个数据链路层的话,可以通过ARP查找下一跳路由器的MAC...
  • WannerWang
  • WannerWang
  • 2016年03月06日 10:38
  • 875

ARP解析MAC地址的过程分析(ARP的工作机制)

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主...
  • teleger
  • teleger
  • 2017年02月08日 22:13
  • 1190

ARP 地址解析的实现过程

以太网上的两台主机需要通信时,双方必须知道对方的MAC 地址。每台主机都要维护IP 地址到MAC 地址的转换表,称为ARP 映射表。ARP 映射表中存放着最近用到的一系列与本主机通信的其他主机的IP ...
  • coostone123
  • coostone123
  • 2008年10月03日 19:07
  • 2882

请说一下http请求的基本过程

首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。 1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为sock...
  • qq496380369
  • qq496380369
  • 2015年03月27日 10:06
  • 637

Linux邻居协议 学习笔记 之七 arp数据包处理流程

上面一节分析了arp协议的初始化过程。本节主要是arp数据包的处理流程,在arp初始化时,通过调用dev_add_pack将arp协议的接收处理函数添加到了三层协议数据包处理函数相关的hash链表pt...
  • lickylin
  • lickylin
  • 2014年04月07日 13:37
  • 5197

ARP协议-地址解析的过程

关于ARP协议,大部分人只是简单地知道:这个协议是通过IP地址来获取MAC地址的 但是,这个真的有这么简单吗???它是如何获取MAC地址的呢??? (ARP地址解析协议,   RARP反向...
  • msdnwolaile
  • msdnwolaile
  • 2016年02月19日 21:35
  • 704

ARP地址解析协议原理

理解ARP协议 ARP地址解析协议,是一个很重要的协议。当一个数据帧经过多次路由到达目的网络时,路由器只能知道其数据帧中的目的IP地址,而不知目标主机的硬件地址(网络层使用的是IP地址,但是在实际网...
  • D_leo
  • D_leo
  • 2017年06月25日 23:19
  • 625
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARP 地址解析的实现过程
举报原因:
原因补充:

(最多只允许输入30个字)