- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
tcpip协议第四章internet控制协议
第四章 ARP和RARP 4.1地址解析协议(ARP) IP分组从源站到达目的站的途中可能要经过许多不同的物理网络,在分组传输过程中需要使用以下两类地址: 逻辑地址:就是指IP地址。 物理地址:就是指硬件地址、MAC地址或二层地址(数据链路层地址)。物理地址是一个本地地址,其管辖范围为本地网络。通常用硬件来实现的,与物理设备本身相关联。 4.1地址解析协议(ARP)(续) 对于IPv4中32bit长的IP地址,考察不同物理网络物理地址长度,可以分为两类不同的类型: 小型物理地址:相对于32bit的IP地址来说,具有较短的物理地址长度。 大型物理地址:相对于32bit的IP地址来说,具有较长的物理地址长度。例如以太网的48bit物理地址。 4.1地址解析协议(ARP)(续) 所谓静态映射,就是手工创建IP地址与物理地址的映射关系,建立映射表。但静态映射具有一定的局限性: 当一台主机更换了网络接口卡(NIC),也就改变了该主机的物理地址。 在某些局域网中,如LocalTalk,每当计算机加电时,它的物理地址就改变一次。 当主机从一个物理网络移动到另一个物理网络时,虽然主机的物理地址没有改变,但改变了主机的IP地址。 4.1地址解析协议(ARP)(续) 在动态映射中,每当及其知道两个地址中的一个(逻辑地址或物理地址)时,就可使用协议把另一个地址找出来。 已设计出两个协议来完成动态映射:地址解析协议(ARP)和逆地址解析协议(RARP) 4.1 ARP工作原理 例:在同一个物理网络(以太网)上的主机A和B主机A需要查询IP地址为168.69.11.20的主机B的物理地址。因为主机A不知道主机B的物理地址,查询就在网络上广播,查询的内容组成ARP请求分组。主机B单播发送ARP应答分组. 使用ARP的四种情况 5.1.3 ARP分组格式 ARP的改进 使用ARP高速缓存。 当主机(或路由器)A通过ARP请求得到B的物理地址时,就将此“IP地址——物理地址”绑定存储在高速缓存中。这样,对于后续发往B的分组,通过查找高速缓存获得物理地址。 使用高速缓存后ARP请求实现流程 改进后的ARP应答实现流程 ARP的改进(续) 使用高速缓存超时计时器的优势与缺陷: 优势: 1、一台主机或路由器能够确定自己ARP缓存中的信息何时应该重新生效,与其他主机无关。 2、发送站不需要通过成功的与接收站或第三方通信来确定绑定已无效,如果目的站不响应ARP请求,发送站就认为目的站已下线。 缺陷: 如果计时器的间隔是n秒,发送站直到n秒后才能检测到接收站已下线或出现了故障。在这段时间内,发送站可能已经发送了大量的分组,但这些分组都没有被接收站接收。 5.1.4 代理ARP ARP软件包 ARP软件包由以下五个构件组成: 1.高速缓存表 2.队列 3.输出模块 4.输入模块 5.高速缓存控制模块 输出模块工作过程 1.睡眠,直到从IP软件收到IP分组。 2.检查高速缓存表,寻找对应于这个IP分组的终点的项目。 3.若(找到) 1)若(状态是RESOLVED) 1.从该项目中提取硬件地址值 2.把分组连同硬件地址一起发送到数据链路层 3.返回 2)若(状态是PENDING) 1.把分组放入相应的队列 2.返回 4.若(未找到) 1)创建一个高速缓存项目,状态置为PENDING且置ATTEMPTS为1 2)创建一个队列 3)把分组放入队列 4)发送ARP请求 5.返回 输入模块工作过程 1.睡眠,直到ARP分组(请求或回答)到达。 2.检查高速缓存表,寻找对应于这个ARP分组的项目。 3.若(找到) 1)更新这个项目 2)若(状态是PENDING) 1.当队列非空 1)把一个分组从队列中取出 2)把分组连同硬件地址一起发送给数据链路层。 4.若(未找到) 1)创建一个项目 2)把这个项目添加到表中 5.若(分组是请求) 1)发送ARP回答 6.返回 高速缓存控制模块工作过程 1.睡眠,直到计时器到时间。 2.对高速缓存表中的每一个项目 1)若(状态为FREE),继续 2)若(状态是PENDING) 1.把尝试值加1 2.若(尝试大于最大值) 1.把状态改变为FREE 2.撤销相应的队列 3.否则,发送ARP请求 4.继续 3)若(状态为RESOLVED) 1.把超时字段的值减去已经过的时间 2.把(超时字段的值小于或等于零) 1.把状态改变为FREE 2.撤销相应的队列 3.返回 举例 原始高速缓存表
原创力文档


文档评论(0)