ARP协议详解

上传人:fe****16 文档编号:120916788 上传时间:2020-02-12 格式:PPT 页数:30 大小:818KB
返回 下载 相关 举报
ARP协议详解_第1页
第1页 / 共30页
ARP协议详解_第2页
第2页 / 共30页
ARP协议详解_第3页
第3页 / 共30页
ARP协议详解_第4页
第4页 / 共30页
ARP协议详解_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《ARP协议详解》由会员分享,可在线阅读,更多相关《ARP协议详解(30页珍藏版)》请在金锄头文库上搜索。

1、ARP RARP协议基础知识 引言什么是ARPARP工作原理ARPARP实用命令ARP 什么是RARP 及其分组格式 工作原理 引言 在链路层上 主机和路由器用它们的物理地址来标志 即48bit物理地址 物理地址是本地地址 在本地范围内是唯一的 但是在全局上不一定 它通常用硬件实现 在网络层上 主机和路由器用逻辑地址来标志 逻辑地址在互联网全局上是唯一的 在TCP IP协议族中称为IP地址 长度是32位 IPv4 引言 在以太网协议中规定 同一局域网中的一台主机要和另一台主机进行直接通信 必须要知道目标主机的MAC地址 而在TCP IP协议栈中 网络层和传输层只关心目标主机的IP地址 这就导致

2、在以太网中使用IP协议时 数据链路层的以太网协议接到上层IP协议提供的数据中 只包含目的主机的IP地址 因此需要能够将逻辑地址和相应的物理地址之间进行映射 完成这样的映射可使用静态映射和动态映射 引言 静态映射 创建一个表 存储逻辑地址和物理地址的关联关系 然后将网络上的每个主机都存储这个表 缺点是映射表必须周期的更新 增加了网络的开销动态映射 地址解析协议ARP和逆地址解析协议RARP 什么是ARP ARP AddressResolutionProtocol即地址解析协议 实现通过IP地址得知其物理地址 在TCP IP网络环境下 每个主机都分配了一个32位的IP地址 这种互联网地址是在网际范

3、围标识主机的一种逻辑地址 为了让报文在物理网路上传送 必须知道对方目的主机的物理地址 这样就存在把IP地址变换成物理地址的地址转换问题 以以太网环境为例 为了正确地向目的主机传送报文 必须把目的主机的32位IP地址转换成为48位以太网的地址 这就需要在互连层有一组服务将IP地址转换为相应物理地址 这组协议就是ARP协议 Arp只有两种封包 arprequest和arpreply ARP 工作原理 每台主机或路由器都有一个ARP缓存表 用来保存IP地址与MAC地址的对应关系 以主机A 192 168 1 5 向主机B 192 168 1 1 发送数据为例 当发送数据时 主机A会在自己的ARP缓存

4、表中寻找是否有目标IP地址 如果找到了 也就知道了目标MAC地址 直接把目标MAC地址写入帧里面发送就可以了 ARP 工作原理 如果在ARP缓存表中没有找到目标IP地址 主机A就会在网络上发送一个广播arprequest 请求包中包含了A主机的ip地址和mac地址 网络上其他主机并不响应ARP询问 直接丢弃 只有主机B接收到这个帧时 才以单播方式向主机A做出回应arpreply 并带上自己的ip和mac地址 而B主机收到A的请求包时也会将A主机的IP与MAC对应关系保存在自己的缓存区 ARP 工作原理 A收到B的回应包后便可得知B的MAC地址 将其存入ARP缓存 此后A再向B发送数据时 就可以

5、直接从缓存表中查找B的地址了 然后直接把数据发送给B 由于B在接收A的请求时也保存了A的地址信息 因此B要向A发送数据也可以直接从缓存表中查找 ARP缓存表设置了生存时间TTL 在一段时间内 一般15到20分钟 跟操作系统有关 如果表中的某一行没有使用 就会被删除 这样可以大大减少ARP缓存表的长度 加快查询速度 ARP工作原理 ARP的操作示意图 ARP 分组格式 ARP分组格式硬件类型 16bit 定义网络类型 以太网是类型1 取值0 x0001 协议类型 16bit 定义协议类型 对应IPv4协议 值为0 x0800 硬件长度 8bit 定义以字节为单位的物理 硬件 地址长度 即n的值

6、以太网是6 协议长度 8bit 定义以字节为单位的逻辑 协议 地址长度 即m的值 IPv4的值为4 操作码 16bit 定义分组的类型 ARP请求为0 x0001 ARP应答为0 x0002 RARP请求为0 x0003 RARP应答为0 x0004 ARP 分组格式 发送方硬件地址 发送方协议地址 目的硬件地址和目的协议地址 它们是可变长度字段 源和目的硬件地址对应以太网都是48位地址 源和目的协议地址对应IPv4协议是32位地址 ARP 分组格式 问题 对于ARP请求报文 目的硬件地址填充什么值 对于一个ARP请求来说 除目的硬件地址外的所有其他字段都有填充值 当系统收到一份目的为本机的A

7、RP请求报文后 它就把硬件地址填进去 然后用两个发送端地址分别替换两个目的地址 并把操作字段置为2 最后把它发送回去 思考 各字段的填充值是什么 ARP 封装 ARP RARP分组直接封装在链路帧中 ARP高速缓存 问题 发送端往往有多个IP数据报发送到同一个目的端 如果对发送到同一个主机或路由器的每一个数据报都使用ARP 势必会带来较大的开销 广播ARP请求不仅要耗费带宽 而且使得本地网络中的每台主机都要处理该广播帧 或忽略或给出响应帧 ARP高速缓存 可以使用ARP高速缓存表解决这个问题 每个主机或路由器上都有一个ARP高速缓存表 这个高速缓存表存放最近Internet地址到硬件地址之间的

8、映射记录 高速缓存表中每一项的生存时间有限 起始时间从被创建时开始算起 ARP高速缓存 UDP TCP IP ICMP IGMP ARP B C A 2 1 4 6 5 1 ARPcacheischecked2 ARPrequestissent3 ARPentryisadded4 ARPreplyissent5 ARPentryisadded6 IPpacketissent 3 Ethernet ARP高速缓存 按照缺省设置 ARP高速缓存中的项目是动态的 每当发送一个指定地点的数据报且高速缓存中不存在当前项目时 ARP便会自动添加该项目ARP高速缓存中地址映射表项的超时问题 由于IP地址与物

9、理地址的映射关系可能因网络接口或IP地址的变化而发生变化 对于ARP高速缓存中地址映射表项都存在一个过时的问题 一旦高速缓存的项目被输入 它们就已经开始走向失效状态 解决 给ARP高速缓存中的每一个表项设置一个超时值 使得每个地址映射表项都有一个生命期 例如 在WindowsNT网络中 如果输入项目后不进一步使用 物理 IP地址对就会在2至10分钟内失效 因此 如果ARP高速缓存中项目很少或根本没有时 是正常的 ARP高速缓存 静态ARP表项一种控制地址映射表项超时值的方法是在ARP高速缓存中创建一个静态表项 静态表项是永不超时的地址映射表项 静态表项主要用在一台主机经常向另一台主机发送ARP

10、请求的情况下 为了提高效率 减少不必要的开销 静态表项也有可能发生变化 使用arp实用程序可以人工删除静态表项 重新启动主机也会使静态表项丢失 动态表项与静态表项冲突时 以动态表项为准 问题 静态表项是固定不变的吗 ARP实用命令 可以通过arp命令查看 添加和删除高速缓存中的内容 ARP命令arp命令可以显示 添加和删除arp内容 在windows和unix系统中都有这个命令 arp a inet addr 显示地址映射表项 为可选项 arp g inet addr 功能与arp a inet addr 相同 arp dinet addr删除由inet addr所指定的表项 arp d 删除

11、所有表项arp sinet addrphys addr增加由inet addr和phys addr指定的静态表项 arp 显示帮助 说明 1 使用ARP命令查看高速缓存内容前最好先ping此台主机或路由器 2 为了能抓到ARP协议包 最好在命令行中运行arp d清除arp缓存 Arp a Arp ainet addr Arp dinet addr Arp sinet addrphy addr ARP高速缓存 解析实例 同一网络 ARP高速缓存 解析实例 不同网络 假设一台IP地址为172 16 1 9 子网掩码为255 255 255 0的客户机希望向IP地址为172 16 2 5的主机发送I

12、P数据报 当主机A要向主机B传输数据报时 TCP IP软件会利用子网掩码确定主机B位于远程子网上 ARP高速缓存 解析实例 不同网络 假设一台IP地址为172 16 1 9 子网掩码为255 255 255 0的客户机希望向IP地址为172 16 2 5的主机发送IP数据报 ARP高速缓存 解析实例 不同网络 假设一台IP地址为172 16 1 9 子网掩码为255 255 255 0的客户机希望向IP地址为172 16 2 5的主机发送IP数据报 什么是RARP RARP ReverseAddressResolutionProtocol反向地址转换协议就是将局域网中某个主机的物理地址转换为I

13、P地址 比如局域网中有一台主机只知道物理地址而不知道IP地址 那么可以通过RARP协议发出征求自身IP地址的广播请求 然后由RARP服务器负责回答 RARP协议广泛用于获取无盘工作站的IP地址 RARP分组格式 RARP的分组格式与ARP完全一样 仅仅是操作字段是3 RARP请求 或者4 RARP应答 RARP工作原理 给主机发送一个本地的RARP广播 在此广播包中 声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址 本地网段上的RARP服务器收到此请求后 检查其RARP列表 查找该MAC地址对应的IP地址 如果存在 RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用 如果不存在 RARP服务器对此不做任何的响应 源主机收到从RARP服务器的响应信息 就利用得到的IP地址进行通讯 如果一直没有收到RARP服务器的响应信息 表示初始化失败

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号