计算机网络与Internet实验教程郭银章第9章ARP协议的软件模拟与设计.pptVIP

计算机网络与Internet实验教程郭银章第9章ARP协议的软件模拟与设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PPT研究院 POWERPOINT ACADEMY * * 尚辅网 / 第9章 ARP协议的软件模拟与设计 9.1 基本概念和原理 9.2 参与者和用例的识别 9.3 基本数据结构 9.4 ARP系统的初始化 9.5 ARP输入事件的处理 9.6 ARP解析事件处理 9.7 ARP定时器事件处理 9.1 基本概念和原理 (1)生成一个如图9.1所示的ARP请求,并将其广播到其所有网络接口连接的网段上。 (2)将请求解析的数据包送入队列等待解析结果。 9.1 基本概念和原理 表格 发送者IP地址:       202.31.156.55 发送者MAC地址:08?00?39?00?2F?C3 目的IP地址:        202.31.104.5 目的MAC地址:00?00?00?00?00?00 9.1 基本概念和原理 表格 发送者IP地址:       202.31.104.5 发送者MAC地址:08?00?39?03?00?01 目的IP地址:        202.31.156.55 目的MAC地址:08?00?39?00?2F?C3 9.2 参与者和用例的识别 (1)主进程:负责启动ARP系统(ARP系统的退出由操作系统负责)。 (2)网络接口层驱动程序:向系统请求IP地址的解析、接收系统输出的ARP分组和向系统发出软中断请求系统处理输入队列中新收到的ARP分组。 (3)定时器:负责缓冲表中表项的生存期和ARP请求重发间隔的计时。 (4)缓冲表管理单元:根据系统的请求进行缓冲表的分配、回收和调度(参看第7章)。 (1)核心主进程启动ARP系统和初始化系统工作环境的用例ARP_Init。 (2)网络接口层驱动程序启动ARP系统解析IP地址的用例ARP_Resolve。 9.2 参与者和用例的识别 (3)网络接口层软中断启动ARP系统处理中断的用例ARP_ISR。 (4)ARP中断服务例程启动处理输入队列中ARP分组的用例ARP_Input。 (5)处理定时器事件的用例ARP_Timer。 图9.3 ARP系统用例图 9.2 参与者和用例的识别 (1) 如何设置缓冲表?是使用单个缓冲表为所有接口服务,还是为每个接口设置单独的缓冲表?对于网关这样有多个网络接口的设备,其缓冲表的设置与通常只具有单个接口的主机是有区别的。 (2) 缓冲表中要保存多少条目以提高效率。 (3) 当缓冲表已满时如何安排对缓冲表的使用调度?在单缓冲表的情形下通常采用整体调度策略,即缓冲表中被删除的表项与新绑定来自哪个网络接口无关。 (4) 一个条目要保存多久?当每个表项在缓冲表中缓冲了一个固定时间后,要将其从缓冲表中删除,这与其被使用的是否频繁无关。 (5) 排它性访问。 9.3 基本数据结构 基本数据结构包括ARP分组和ARP缓冲表表项的描述。根据RFC 826关于ARP协议的描述,ARP分组分为定长部分和变长部分,其中,硬件地址和协议地址为变长部分,它们的长度与具体的地址类型有关。 9.4 ARP系统的初始化 初始化例程首先从配置文件中读出用户配置的参数,如果没有配置则采用默认值。接着,生成ARP分组输入队列和一个限长的动态增长的ARP缓冲表(队列)。最后,生成一个线程来处理ARP输入事件。在退出ARP系统前,必须先调用输出函数ARP_Cleanup,以释放所占用的内存资源,并通过线程句柄hid结束ARP输入事件处理线程。 9.5  ARP输入事件的处理 网络接口层设备驱动程序在收到ARP分组后会通过软中断而引发ARP中断服务例程的执行。ARP中断服务例程将生成ARP输入事件——通告“有ARP分组到来”。ARP输入事件的处理由一个单独运行的线程来完成。若该线程正在因为ARP输入队列中没有要处理的ARP分组而睡眠等待该事件,则会被该通告唤醒去处理队列中的ARP分组。 9.6 ARP解析事件处理 ARP解析事件由函数ARP_Resolve来处理。函数ARP_Resolve首先试图通过查ARP缓冲表来解析IP地址,若缓冲表中没有相应表项,则通过广播一个ARP请求分组来进行解析。另外,由于要无延迟地返回调用者,因此,要将当前帧保存起来。在模拟实现中,没有使用等待队列,而是始终保存最后一个请求解析的帧,这样可以防止某些针对ARP协议的攻击。 9.7 ARP定时器事件处理 ARP定时器事件由定时器每秒钟产生一次,要处理的事务包括ARP缓冲表中已解析表项的老化处理和解析中表项的ARP请求重发处理。对于正在解析中的表项,生存期为0表示已到ARP重发间隔还没有收到ARP应答。这时,若尚未达到最大重发次数,则应继续重发ARP请求 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档