您好,欢迎访问三七文档
1郑州轻工业学院课程设计说明书题目:ARP解析过程分析姓名:XXX院(系):专业班级:学号:指导教师:成绩:时间:2011年6月29日至2011年7月6日2郑州轻工业学院课程设计任务书题目ARP解析过程设计专业、班级通信工程08级01班学号200807040147姓名吴颖圣主要内容、基本要求、主要参考文献等:1、主要内容(1)ARP解析过程的说明(2)地址解析报文格式级封装(3)实现解析ARP报文的函数分析(4)解析ARP数据包函数的C++实现2、基本要求(1)了解ARP工作过程(2)分析协议的语法结构,各个字段的意义及功能(3)设计主机接收ARP数据包的处理过程,包括数据结构、处理函数、画出流程图。3、主要参考文献(1)徐宇杰.《TCP/IP协议深入分析》.清华大学出版社.2009-02(2)CharlesM.Kozierok(美).《TCP/IP指南.卷1,底层核心协议》.人民邮电出版社.2008-05完成期限:2011-7-6指导教师签名:韩雪琴何燕课程负责人签名:韩雪琴何燕3课程设计成绩评定表评定项目内容满分评分总分学习态度学习认真,态度端正,遵守纪律。10答疑和设计情况认真查阅资料,勤学好问,提出的问题有一定的深度,分析解决问题的能力较强。40说明书质量设计方案正确、表达清楚;设计思路、实验(论证)方法科学合理;达到课程设计任务书规定的要求;图、表、文字表达准确规范,上交及时。40回答问题情况回答问题准确,基本概念清楚,有理有据,有一定深度。10总成绩采用五级分制:优、良、中、及格、不及格指导教师评语:签名:年月日4目录一、ARP解析过程...........................................................................................................................5(1)源主机与目的主机位于同一子网中.............................................................................5①检查本地ARP高速缓存..............................................................................................5②向目的主机发送ARP请求..........................................................................................5③将请求方的地址信息写入ARP缓存缓存..................................................................5④向请求方发送ARP应答..............................................................................................5⑤请求方更新ARP高速缓存..........................................................................................5(2)源主机与目的主机位于不同子网中.............................................................................5①检查本地高速缓存.......................................................................................................5②向下一跳路由器发送ARP请求..................................................................................5③路由缓存更新...............................................................................................................5④路由器给源主机ARP应答..........................................................................................5⑤源主机刷新自己ARP高速缓存..................................................................................5⑥源主机向路由发送数据...............................................................................................5⑦路由转发前查询本地ARP高速缓存..........................................................................5⑩路由器刷新本地ARP高速缓存..................................................................................6二、地址解析报文格式...................................................................................................................6三、地址解析报文封装...................................................................................................................7四、实现解析ARP报文的函数分析..............................................................................................71.课程设计中的重点及难点....................................................................................................72.参考算法................................................................................................................................8五、解析ARP数据包函数的C++实现.........................................................................................101、源程序代码如下...............................................................................................................102.实现结果..............................................................................................................................13六、参考文献.................................................................................................................................131.徐宇杰.《TCP/IP协议深入分析》.清华大学出版社.2009-02......................................132.CharlesM.Kozierok(美).《TCP/IP指南.卷1,底层核心协议》.人民邮电出版社.2008-05................................................................................................................................................133.ARP---百度百科.解析ARP数据包.一、ARP解析过程(1)源主机与目的主机位于同一子网中①检查本地ARP高速缓存当要确定同一子网上的目的主机的物理地址时,ARP先检查本地ARP高速缓存,确定IP地址与物理地址的映射,如果包含,则取出目的主机的物理地址,利用这个地址将IP数据报封装成帧。若不存在就进行下一步。②向目的主机发送ARP请求ARP请求以物理广播地址(MAC全0)在本地子网上广播,并等待目的主机应答,ARP请求包含发送方的IP地址和物理地址,和目的主机的IP地址。③将请求方的地址信息写入ARP缓存缓存由于ARP请求是子网上的广播,因而该子网中的每台主机都会收到广播,并将自己的IP地址和该ARP请求中的主机IP地址进行比较,如果不匹配,那么ARP请求将被忽略,若匹配,那么目的主机将会把发送方的IP地址与物理地址写入本机ARP告诉缓存中。④向请求方发送ARP应答目的主机想发送主机以单播发送一个ARP应答,应答包含本机IP和MAC,以及源机IP和MAC。⑤请求方更新ARP高速缓存源机受到ARP应答后,取出应答中目的主机的IP和MAC,并将其写入本机ARP高速缓存中。(2)源主机与目的主机位于不同子网中①检查本地高速缓存当一个主机确定目的IP不属于本子网时,它会根据本身路由表找到去往目的网络的路由器IP。然后根据这个IP,先检查本地ARP缓存,若包含,取出相应MAC,并将这对IP和MAC写入数据帧的封装和传输。不包含,就继续下面。②向下一跳路由器发送ARP请求高速缓存中没有发现路由IP地址的映射,就向路由发送ARP请求,并等待应答。③路由缓存更新ARP请求是子网中的广播,所以子网上的每台设备都能接收到该数据包,每台设备将自己的IP与ARP请求的ip相比较,若不匹配,忽略;若匹配,刷新本地ARP高速缓存。④路由器给源主机ARP应答路由器向源主机发送一个单播应答,该应答包含路由IP和MAC,源主机IP和MAC.⑤源主机刷新自己ARP高速缓存----至此完成了主机与路由器的地址解析⑥源主机向路由发送数据完成路由器地址解析后,源主机根据路由器的MAC进行物理数据帧的封装,然后传送给路由⑦路由转发前查询本地ARP高速缓存⑧向目的主机发送ARP请求⑨目的主机刷新ARP高速缓存,并且给出ARP应答6⑩路由器刷新本地ARP高速缓存然后路由就可以向目的主机传输数据包二、地址解析报文格式ARP和RARP都是通过一对请求和应答报文来完成解析的。ARP和RARP请求应答报文格式是相同的,通过操作类型字段来区分,这个思想在TCP/IP协议的设计中被反复利用。上图中黄色的部分是以太网(这里是Eth
本文标题:ARP解析过程分析
链接地址:https://www.777doc.com/doc-5262966 .html