Chinaunix首页 | 论坛 | 博客
  • 博客访问: 250281
  • 博文数量: 91
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1100
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-15 14:35
文章分类

全部博文(91)

文章存档

2008年(91)

我的朋友

分类: 系统运维

2008-03-30 21:17:29

ARP 简介

ARPAddress Resolution Protocol)用于将IP 地址解析为MAC 地址。

 

1. ARP 地址解析的必要性

 

IP 地址不能直接用来进行通信,因为网络设备只能识别MAC 地址IP 地址只是主机在网络层中的地址,如果要将网络层中传送的数据报交给目的主机,必须知道该主机的MAC 地址。因此必须将IP 地址解析为MAC 地址。

 

2. ARP 地址解析的实现过程

 

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

 

假设主机A 和主机B 在同一个网段,主机A IP 地址为IP_AB 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 地址的解析,无需管理员的介入。

 

 

 

阅读(956) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~