




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络实验指导书专 业 软件工程 班 级 软123 学 号 129074229 姓 名 任泽强 指导教师 李沁老师 安徽工业大学计算机学院 二一四年十二月实验总体说明1 实验总体目标配合计算机网络课程的教学,加强学生对计算机网络知识(TCP/IP协议)的深刻理解,培养学生的实际操作能力。2 实验课时分配序号实 验 项 目学时试验类型实验一以太网帧的构成2验证性实验二IP协议2验证性实验三路由信息协议RIP2验证性实验四开放式最短路径优先协议OSPF2验证性实验五传输控制协议TCP2验证性实验六邮件协议SMTP、POP32验证性实验七超文本传输协议HTTP2设计性实验八网络程序设计1:聊天工
2、具2设计性实验九网络程序设计2:文件传输工具2设计性实验十网络程序设计3:邮件收发器2设计性实验十一综合试验4综合性由于课时限制以及相关专业的要求不同,上面所列试验项目由任课教师根据课程要求自由选定。3 实验环境计算机网络协议仿真实验室:实验环境:网络协议仿真教学系统(通用版)一套开发工具:VC+硬件设备:服务器,中心控制设备,组控设备,PC机若干台操作系统:Windows 2003服务器版 4 实验总体要求l 按照各项实验内容做实验,记录各种数据包信息,包括操作、观察、记录、分析,通过操作和观察获得直观印象,从获得的数据中分析网络协议的工作原理;l 每项实验均提交实验报告,实验报告的内容可参
3、照实验的具体要求,但总体上应包括以下内容:实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题以及对思考问题的解答等,实验目的、实验原理、实验步骤不需要写入实验报告中。实验一 以太网帧的构成【实验目的】 掌握以太网的报文格式。 掌握MAC地址的作用 掌握MAC广播地址的作用 掌握LLC帧报文格式 掌握仿真编辑器和协议分析器的使用方法6. 实验时间:_ 成绩:_实验角色:_ 同组者姓名:【实验环境配置】该实验采用网络结构一。【实验原理】一、两种不同的MAC帧格式常用的以太网MAC帧格式有两种标准,一种是DIX Ethernet V2标准;另一种是IEEE的802.3标准。
4、 目前MAC帧最常用的是以太网V2的格式。下图画出了两种不同的MAC帧格式。二、MAC层的硬件地址 1在局域网中,硬件地址又称物理地址或MAC地址,它是数据帧在MAC层传输的一个非常重要的标识符。2网卡从网络上收到一个 MAC 帧后,首先检查其MAC 地址,如果是发往本站的帧就收下;否则就将此帧丢弃。这里“发往本站的帧”包括以下三种帧:l 单播(unicast)帧(一对一),即一个站点发送给另一个站点的帧。l 广播(broadcast)帧(一对全体),即发送给所有站点的帧(全1地址)。l 多播(multicast)帧(一对多),即发送给一部分站点的帧。 【实验步骤】按照拓扑结构图连接网络,使用
5、拓扑验证检查连接的正确性。练习一:编辑并发送LLC帧本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A和B为例,说明实验步骤。1主机A启动仿真编辑器,并编写一个LLC帧。目的MAC地址:主机B的MAC地址。源MAC地址:主机A的MAC地址。协议类型和数据长度:可以填写001F。类型和长度:可以填写001F。控制字段:填写02。用户定义数据/数据字段: AAAAAAABBBBBBBCCCCCCCDDDDDDD。2主机B重新开始捕获数据。3主机A发送编辑好的LLC帧。 4主机B停止捕获数据,在捕获到的数据中查找主机A所发送的LLC帧,并分析该帧内容。l 记录实验结果。
6、帧类型 发送序号N(S) 接受序号N(R)信息帧00l 简述“类型和长度”字段的两种含义。这一字段定义为长度或类型字段。如果字段的值小于1518,它就是长度字段,用于定义下面数据字段的长度;如果字段的值大于1536,它定义一个封装在帧中的PDU分组的类型。5将第1步中主机A已编辑好的数据帧修改为“未编号帧”,重做第2、3、4步。练习二:编辑并发送MAC广播帧1主机E启动仿真编辑器。2主机E编辑一个MAC帧:目的MAC地址:FFFFFF-FFFFFF。源MAC地址:主机E的MAC地址。协议类型或数据长度:大于0x0600。数据字段:编辑长度在461500字节之间的数据。3主机A、B、C、D、F启
7、动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(源MAC地址为主机E的MAC地址)。4主机E发送已编辑好的数据帧。 5主机A、B、C、D、F上停止捕获数据,察看捕获到的数据中是否含有主机E所发送的数据帧。l 结合练习二的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。 该地址为广播地址,作用是完成一对多的通信方式,即一个数据帧可发送给同一网段内的所有节点。练习三:领略真实的MAC帧本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A和B为例,说明实验步骤。1主机B启动协议分析器,新建捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。 2
8、主机A ping主机B;察看主机B协议分析器捕获的数据包,分析MAC帧格式。 3将主机B的过滤器恢复为默认状态。 4将主机B、D、F的过滤器恢复为默认状态。练习四:理解MAC地址的作用1主机B、D、E、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(源MAC地址为主机A的MAC地址)。 2主机A ping 主机C。 3主机B、D、E、F上停止捕获数据,在捕获的数据中查找主机A所发送的数据帧,并分析该帧内容。l 记录实验结果 本机MAC地址源MAC地址目的MAC地址是否收到,为什么?主机B8C98A5-7570BB8C98A5-7571138C98A5-7570C1是,主机A与主机B接
9、在同一共享模块主机D8C98A5-7570C18C98A5-7571138C98A5-7570C1是,主机C与主机D接在同一共享模块主机E8C98A5-757110无无否,与主机A、C都不在同一共享模块主机F8C98A5-7515F8 无无否,与主机A、C都不在同一共享模块【思考问题】1.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层?目前在LAN协议中所用到的数据链路控制部分都是基于HDLC协议的,然而每一种的协议都根据自己的技术需要对HDLC进行了适当的修改,以满足自己的特殊需求。 由于HDLC并不支持多点平衡配置,这使得在局域网中有引入媒体访问协议的必要性。I
10、EEE将数据链路层划分为两个子层:逻辑链路子层(LLC)和媒体访问控制子层(MAC)。2为什么以太网有最短帧长度的要求? 以太网把争用期定为51.2us,对于10MB/S的以太网,在争用期内可以发送512bit,即64字节。以太网在发送数据时,如果前64个字节没有发送冲突则后续的数据就不会发生冲突。所以最短有效帧长为64字节实验二 地址解析协议ARP【实验目的】1. 掌握ARP协议的报文格式2. 掌握ARP协议的工作原理3. 理解ARP高速缓存的作用4. 掌握ARP请求和应答的实现方法5. 掌握ARP缓存表的维护过程6. 实验时间:_ 成绩:_7. 实验角色:_ 同组者姓名:7.领略真实的AR
11、P(同一子网)各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。练习一、将主机A、B、C、D、E、F作为一组进行实验。1. 主机A、B、C、D、E、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP、ICMP)。2. 主机A、B、C、D、E、F在命令行下运行“arp -d”命令,清空ARP高速缓存。3. 主机A ping 主机D()。4. 主机E ping 主机F()。5. 主机A
12、、B、C、D、E、F停止捕获数据,并立即在命令行下运行“arp -a”命令察看ARP高速缓存。 ARP高速缓存表由哪几项组成?答:主要由:IP地址、MAC地址组成。 结合协议分析器上采集到的ARP报文和ARP高速缓存表中新增加的条目,简述ARP协议的报文交互过程以及ARP高速缓存表的更新过程。答:假设网络中的主机A要和主机B交换数据,首先主机A要得到主机B的IP地址和MAC 地址的映射关系,工作过程如下: ARP模块接收来自上层的协议(IP)的数据报后,提取其目的的IP地址。主机A检查
13、自己的高速缓存中的ARP表,判断ARP表中是否存有主机B的IP地址与MAC地址的映射关系。如果找到,则完成ARP地址解析;如果没有找到,则转至。 主机A广播含有自身IP地址与MAC地址映射关系的请求信息包,请求解析主机B的IP的地址与MAC地址映射关系。 主机A等待接收ARP应答。 如果主机A没有收到ARP应答,则停止发送数据报;如果收到ARP应答,执行。主机A收到主机B的响应信息,使用应答中的物理地址(MAC)作为数据报的mac地址,并将主机B的IP地址与MAC地址的映射关系存入自己的ARP表中,从而完成主机B的ARP地址解析。编辑并发送ARP报文(同一子网)练
14、习二、将主机A、B、C、D、E、F作为一组进行实验。1. 在主机E上启动协议编辑器,并编辑一个ARP请求报文。其中:MAC层:目的MAC地址:设置为FFFFFF-FFFFFF源MAC地址:设置为主机E的MAC地址协议类型或数据长度:0806ARP层:发送端硬件地址:设置为主机E的MAC地址发送端逻辑地址:设置为主机E的IP地址()目的端硬件地址:设置为000000-000000目的端逻辑地址:设置为主机F的IP地址()2. 主机B、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP协)。3. 主机B、
15、E、F在命令行下运行“arp -d”命令,清空ARP高速缓存。主机E发送已编辑好的ARP报文。4. 主机B、F停止捕获数据,分析捕获到的数据,进一步体会ARP报文交互过程。1. 哪些主机收到了ARP请求包,哪个主机给出了ARP响应包?答:主机A、B、C、D、F都收到ARP请求包,主机F给出了ARP响应包。2. 主机A、C、D是否收到ARP请求包,为什么?答:主机A、C、D都能收到ARP请求包,因为主机B、C、D与主机E处于同一网段,ARP请求包进行广播,所以主机A、C、D都能收到ARP请求包 。2.跨路由地址解析(不同子网)本练习将主机A、B、C、D、E、F作
16、为一组进行实验。1. 主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。2. 主机A、B、C、D、E、F在命令行下运行“arp -d”命令,清空ARP高速缓存。3. 主机A、B、C、D、E、F重新启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP、ICMP)。4. 主机A ping 主机E()。5. 主机A、B、C、D、E、F停止数据捕获,察看协议分析器中采集到的ARP报文,并回答以下问题: 单一ARP请求报文是否能够跨越子网进行地址解析?为什么?答:不
17、能,由于ARP请求是以广播的方式进行,而广播报文不能跨越子网,因此,单一ARP请求报文不能够跨越子网进行地址解析。 ARP地址解析在跨越子网的通信中所起到的作用?答:作用是解析网关的MAC地址,ARP本身无法跨跃不同的网段。6. 主机B在命令行方式下输入recover_config命令,停止静态路由服务。1. 哪些主机收到了ARP请求包,哪台主机给出了ARP响应包?答:主机B、C、D、E、F都收到了ARP请求,主机E给出了ARP响应包。2. 比较ARP协议在同网段内解析和跨网段的解析有何异同点?答:相同点:都是广播发送ARP请求报文。不同点:主要在于网关的作
18、用发挥。如果ARP请求是跨网段时由路由器来回答该请求。3. ARP数据包的长度是固定的吗?试加以解释。答:不是。ARP报文格式对任何协议和硬件地址都是充分通用的,对于不同的网络,ARP分组的长度可能不同。ARP分组中含有HTYPE(硬件类型)字段,用来定义运行ARP的网络类型(例如以太网是类型1),ARP分组中包含HLEN(硬件长度)字段,用来定义以字节为单位的物理地址长度(例如以太网为6)。ARP分组中包含SHA(发送端硬件地址)和THA(目标硬件地址)用来定义物理地址,这两个字段都是可变长度字段。4. 试解释为什么ARP高速缓存每存入一个项目就要设置10-20分钟的
19、超时计时器。这个时间设置得太大或太小会出现什么问题?答:超时计时器用来维护ARP高速缓存,在一段时间内如果表中的某一项没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。时间设置得太大就会导致ARP缓存表的长度过长或者过旧,IP地址与MAC地址的映射关系可能已经发生改变,但ARP缓存表却还没更新。时间设置得太小会导致ARP高速缓存更改过于频繁,从而导致ARP广播数据包在网络上大量出现,增加网络流量,并降低了工作速度。5. 至少举出两种不需要发送ARP请求数据包的情况。答:当目的IP在ARP高速缓存中有对应的项目; 目的IP是广播地址;-56-实验三 网际协议IP
20、【实验目的】1. 掌握IP数据报的报文格式2掌握IP校验和计算方法3. 掌握子网掩码和路由转发4. 理解特殊IP地址的含义5. 理解IP分片过程6. 理解协议栈对IP协议的处理方法7. 理解IP路由表作用以及IP路由表的管理试验三 网际协议IP实验时间:_ 成绩:_实验角色:_ 同组者姓名:练习一:编辑并发送IP数据报各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A、B、C、D、E、F
21、作为一组进行实验。1. 主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。2. 主机A启动协议编辑器,编辑一个IP数据报,其中: MAC层: 目的MAC地址:主机B的MAC地址(对应于接口的MAC)。 源MAC地址:主机A的MAC地址。
22、; 协议类型或数据长度:0800。 IP层: 总长度:IP层长度。 生存时间:128。 源IP地址:主机A的IP地址()。 目的IP地址:主机E的IP地址()。
23、160; 校验和:在其它所有字段填充完毕后计算并填充。 自定义字段: 数据:填入大于1字节的用户数据。 【说明】先使用协议编辑器的“手动计算”校验和,再使用协议编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。 IP在计算校验和时包括哪些内容?答:IP报文中的首部。3. 在主机B(两块网
24、卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。4. 主机A发送第1步中编辑好的报文。5. 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题: 第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。答:报文数据发生变化。发生变化的字段有:“生存时间”和“首部校验和”。原因:主机B为路由器,数据包每经过一路由器“生存时间”字段的值会减1,并重新计算校验和。6. 将第1步
25、中主机A所编辑的报文的“生存时间”设置为1,重新计算校验和。7. 主机B、E重新开始捕获数据。8. 主机A发送第5步中编辑好的报文。9. 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题: 主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。答:主机B对应于的接口可以捕获到主机A所发送的报文;主机B对应于的接口和主机E不能捕获到主机A所发送的报文;原因:当“生存时间”字段的值减至为0时,路由器将该报文丢弃不进行转发。练习二:特殊的IP地址本练习将主机A、B、C、
26、D、E、F作为一组进行实验。1. 直接广播地址 (1)主机A编辑IP数据报1,其中: 目的MAC地址:FFFFFF-FFFFFF。 源MAC地址:A的MAC地址。 源IP地址:A的IP地址。 目的IP地址:172.1
27、6.1.255。 自定义字段数据:填入大于1字节的用户数据。 校验和:在其它字段填充完毕后,计算并填充。 (2)主机A再编辑IP数据报2,其中: 目的MAC地址:主机B的MAC地址(对应于接口的MAC)。
28、160; 源MAC地址:A的MAC地址。 源IP地址:A的IP地址。 目的IP地址:55。 自定义字段数据:填入大于1字节的用户数据。 校验和:在其它字段填充完毕后,计算并
29、填充。 (3)主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协议,捕获接收和发送的所有IP数据包,设置地址过滤条件如下:<->Any)。 (4)主机B、C、D、E、F开始捕获数据。 (5)主机A同时发送这两个数据报。 (6)主机B、C、D、E、F停止捕获数据。 记录实验结果表3-4 实验结果主机号收到IP数据报1主机B的接口1
30、()、主机C、主机D收到IP数据报2主机B的接口2()、主机E、F;主机B的接口1()、主机C、主机D(以上三主机因为与主机A同在一个交换模块上) 结合实验结果,简述受限广播地址的作用。答:路由器使用这种地址把一个分组发送到一个特定网络上的所有主机。所有的主机都会收到具有这种类型目的地址的分组。2. 受限广播地址 (1)主机A编辑一个IP数据报,其中: 目的MAC地址:FFFFFF-FFFFF
31、F。 源MAC地址:A的MAC地址。 源IP地址:A的IP地址。 目的IP地址:55。 自定义字段数据:填入大于1字节的用户数据。 校验和:在其它字段填充
32、完毕后,计算并填充。 (2)主机B、C、D、E、F重新启动协议分析器并设置过滤条件(提取IP协议,捕获接收和发送的所有IP数据包,设置地址过滤条件如下:<->Any)。 (3)主机B、C、D、E、F重新开始捕获数据。 (4)主机A发送这个数据报。 (5)主机B、C、D、E、F停止捕获数据。 记录实验结果表3-5 实验结果主机号 收到主机A发
33、送的IP数据报主机B的接口1()、主机C、主机D未收到主机A发送的IP数据报主机B的接口2()、主机E、F 结合实验结果,简述受限广播地址的作用。答:受限的广播地址是55。该地址用于主机配置过程中IP数据报的目的地址。 此时,主机可能还不知道它所在网络的网络掩码,甚至是它的IP地址也不知道。受限的广播通常只在系统启动时才会用到。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报。这样的数据报仅出现在本地的网络中。所以只有主机、收到主机A发送的IP数据报,而主机和B的路由未收到主机A发送的IP数据报。3.
34、160; 环回地址 (1)主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。 (2)主机E ping 。 (3)主机F停止捕获数据。 主机F是否收到主机E发送的目的地址为的IP数据报?为什么?答:这个地址用于定义在当前网络上的广播地址。一个主机若想把报文发送给所有其他主机,就可使用这样的地址作为分组中的目的地址。但路由器把具有这种类型地址的分组阻挡住,使这样的广播只局限在本地网络。练习
35、三:IP数据报分片本练习将主机A、B、C、D、E、F作为一组进行实验。1. 在主机B上使用“实验平台上工具栏中的MTU工具” 设置以太网端口的MTU为800字节(两个端口都设置)。2. 主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。3. 在主机A上,执行命令ping -l 1000 。4. 主机A、B、E停止捕获数据。在主机E上重新定义过滤条件(取一个ICMP数据包,按照其IP层的标识字段设置过滤),如图所示: 将ICMP报文分片信息填入下表,分析表格内容,
36、理解分片的过程。 将ICMP报文分片信息填入下表,分析表格内容,理解分片的过程。表3-6 实验结果字段名称分片序号1分片序号2分片序号3“标识”字段值231023102310“还有分片”字段值110“分片偏移量”字段值07761552传输的数据量768bytes776bytes456bytes15525. 主机E恢复默认过滤器。主机A、B、E重新开始捕获数据。6. 在主机A上,执行命令ping -l 2000 。7. 主机A、B、E停止捕获数据。察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。8.&
37、#160; 主机B上使用“实验平台上工具栏中的MTU工具”恢复以太网端口的MTU为1500字节。练习四:子网掩码的作用本练习将主机A、B、C、D、E、F作为一组进行实验。1. 所有主机取消网关。2. 主机A、C、E设置子网掩码为92,主机B()、D、F设置子网掩码为24。3. 主机A ping 主机B(),主机C ping 主机D(),主机E ping 主机F()。 记录实验结果
38、表3-7 实验结果是否ping通主机A主机B通主机C主机D通主机E主机F通 请问什么情况下两主机的子网掩码不同,却可以相互通信?答:子网地址(主机地址与子网掩码的AND运算结果)相同,就可以相互通信。l 记录实验结果是否ping通为什么主机A主机C不通主机A的子网地址为,而主机C的子网地址为,二者不在同一网段且无路由器进行转发,因此ping不通。4. 主机B在命令行方式下输入recover_config命令,停止静态路由服务。5. 所有主机恢复到网络结构二的配置。练习5:IP数据报的接收与发送本练习将主机A
39、和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 在实验中,主机A将新接口的IP地址设置为2、主机B使用物理接口1,将新接口的IP设置为1、主机C将新接口的IP地址设置为3、主机D使用处于连接状态的物理接口,将新接口的IP地址设置为4、主机E使用处于连接状态的物理接口,将新接口的IP地址设置为2、主机F将新接口的IP地址设置为3。所有主机使用子网掩码255.255.2
40、55.0,默认网关设置为。1. 所有主机编码实现发送IP数据包 (1)各主机打开netproto_ip_student.c文件,在函数netp_ip_output_student内编写实现代码。 (2)参考实验原理IP数据包发送推荐流程图给出的流程,分析已经存在的代码。 已经存在的代码创建了IP头结构、发送缓冲区和静态IP标识,将IP头和负载拷贝到发送缓冲区中以及将缓冲区数据发送到网络中的实现。 (3)所有主机设置目的IP地址
41、 所有主机打开netproto_ip_student.h文件,将IP_DEST_ADDR宏定义的IP地址设置为同组主机新接口的IP地址。负载内容自定义,也可以使用默认值。 (4)构造IP头,校验和字段为0 构造并填充一个IP数据包头。可以使用netproto_ip_student.h文件中所定义的值。其中,总长度应该为IP_HEADER_LEN+PAYLOAD_LEN,标识为ip_id并将ip_id加1,IP高层协议为IP_CUS_PROTO宏所定义的,校验和为0,源IP地址为本接口的I
42、P地址,目的IP地址为IP_DEST_ADDR所定义的IP地址。 (5)计算IP校验和 使用inet_chksum函数计算IP校验和,IP校验和只校验IP头部分。2. 所有主机编码实现IP数据包输入处理功能 (1)各主机打开netproto_ip_student.c文件,在函数netp_ip_input_student内编写实现代码。 (2)参考实验原理处理IP输入数据包推荐流程图给出的流程,分析已经存在的代码。
43、160; 已经存在的代码定义了负载缓冲区指针payload_buff、负载长度payload_len、以太网头结构eth_header和IP头结构ip_header以及负载内容显示到标准输出的实现。 (3)提取IP数据包 各主机通过以太网头结构eth_header中的type即“协议类型或数据长度”字段值判断该数据帧的高层协议是否为IP协议,可以使用宏MAC_PROTO_IP。如果不是IP数据包则返回NETP_PUSH_TO_LWIP交给协议栈继续执行。 (4)提取IP高层协议
44、; 各主机通过IP头结构ip_header中的protocol即“高层协议类型”字段值判断该IP数据包高层是否为自定义协议。如果不是则返回NETP_PUSH_TO_LWIP交给协议栈继续执行。 (5)提取目的IP地址为本接口IP的数据包 各主机通过IP头结构ip_header中的destination_address即“目的IP地址”字段值判断该IP数据包是否是发送给本接口的。如果不是则返回NETP_PUSH_TO_LWIP交给协议栈继续执行。 (6)计算负载长度
45、 各主机通过“总长度字段”值和“首部长度”字段值来计算IP数据包负载的长度,将长度结果保存在payload_len变量中。 (7)将负载拷贝到负载缓冲区 各主机编码将负载拷贝到负载缓冲区中,用于打印到标准输出设备。3. 所有主机打开协议分析器,开始捕获数据4. 所有主机调试并运行程序5. 各主机停止数据捕获,观察实验现象 你收到的负载内容是什么?答:各个主机发送的内容。练习六:IP路由表管理的设计与实现
46、本练习将主机A、B、C、D、E、F作为一组进行实验。 在实验中,主机A将新接口的IP地址设置为2、主机B将与物理接口1相关联的新接口的IP设置为1、主机B将与物理接口2相关联的新接口的IP设置为1、主机C将新接口的IP地址设置为3、主机D使用处于连接状态的物理接口,将新接口的IP地址设置为4、主机E使用处于连接状态的物理接口,将新接口的IP地址设置为2、主机F将新接口的IP地址设置为3。所有主机使用子网掩码255.255
47、.255.0。主机A、B、C、D的默认网关设置为,主机E、F的默认网关设置为。1. 所有主机编码构造IP路由表 (1)各主机打开netproto_iproute_student.c文件,在函数netp_create_iproute_table内编写实现代码。在netp_create_iproute_table函数中,已经存在的代码将IP路由表中所有表项的值都设置为空。 (2)获取本机网络适配器数量 各主机使用netp_get_adapt
48、er_num获取本机网络适配器数量,并保存在adapter_num变量中。 (3)将各个接口信息写入IP路由表 利用在步骤(2)中获得的网络适配器数量,将所有接口的信息写入IP路由表中,这些信息包括:目的网络号、子网掩码号、接口号以及路由表标志。 (4)将回环接口的信息放入IP路由表中 利用网络接口ID:NETP_LOOP_IF_ID将回环接口的信息写入路由表中。 (5)将网关地址信息放入IP路由表中
49、160; 利用netp_get_gw函数将默认网关信息写入路由表。2. 所有主机编码查询ip路由表 (1)各主机打开netproto_iproute_student.c文件,在函数query_iproute内编写实现代码。在query_iproute函数中,已经定义了记录默认网关接口的变量gw_interface。 (2)遍历IP路由表,查找相匹配的接口并且记录默认网关所在接口 各主机遍历IP路由表,IP路由表的长度为NETP_IPROUTE_TABLE_SIZE
50、。利用待查询的IP地址,路由表中的目的网络号,路由表中的子网掩码号确定网络接口号。3. 所有主机打开协议分析器,开始捕获数据4. 所有主机调试并运行程序 (1)主机B依次向其它主机发送信息,注意使用的网络接口号。5. 各主机停止数据捕获,观察实验现象思考题:练习11. 说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?答:在局域网中,硬件地址又称为物理地址或MAC地址(因为这种地址应用在MAC帧中),802标准为局域网规定了一种48bit的全球地址,是指局域网上每一台计算机所插入的网卡上固化在ROM中
51、的地址。当我们把整个因特网看成一个单一的、抽象的网络时,IP地址就是给每个连接在因特网上的设备分配一个在全世界范围是唯一的32bit的标识符。硬件地址与IP地址的区别如下:从层次的角度看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址。在发送数据时,数据从高层下到底层,然后才到通信链路上传输。使用IP地址的IP数据报一旦交给了数据链路层,就被封装成MAC帧了。MAC帧在传输时使用的源地址和目的地址都是硬件地址,两个硬件地址都写在MAC帧的首部中。连接在通信链路上的设备在接收MAC帧时,其根据是MAC帧首部中的MAC地址。在数据链路层看不见隐藏在MAC帧的数据中的
52、IP地址。只有在剥去MAC帧首部和尾部后将MAC层的数据上交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。在IP层抽象的互联网上只能看到IP数据报。路由过程根据目的IP地址的网络号进行路由选择。尽管互联在一起的网络硬件地址体系各不相同,但IP层抽象的互联网却屏蔽了下层这些很复杂的细节,只有我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究设备之间的通信。练习21. 受限广播地址的作用范围?答:路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。2. 受限广播地址和直接广播地址的区别?答:直接广播地址包含一
53、个有效的网络号和一个全“1”的主机号。受限的广播地址是是32位全1的IP地址,即55。3. 路由器转发受限广播吗?答:路由器不转发受限广播。练习31. Ping的数据部分为3000字节,回显请求报文为何被分为3片而不是2片?答:因为数据部分为3000字节而MTU为800字节,因此被分为3片。 2. 数据部分长度为多少时报文正好被分为2片?答:长度为2000字节。3. 不同协议的MTU的范围从296到65535,使用大的MTU有什么好处?使用小的MTU有什么好处?答:使用大的MTU可以在较少的报文中包含较多的数
54、据,报文数量的减少可以降低路由器的负荷。异构网络传输时,使用小的MTU可以减少路由器的分片。练习41. IP数据报中的首部校验和并不检验数据报中的数据,这样做的最大好处是什么?缺点是什么?答:IP数据报中的首部检验和并不检验数据报中的数据,这样做的最大好处是:首先,所有将数据封装在IP数据报中的高层协议(如TCP),都有覆盖整个分组的校验和。因此,IP数据报的校验和就不必再检验所封装的数据部分。其次,每经过一个路由器,IP数据报的首部就要改变一次,但数据部分不改变。因此校验和只对发生变化的部分进行检验。若检验包含数据部分,则每个路由器必须重新计算整个分组的校验和,这就表示每一个路由
55、器要花费更多的处理时间。这样做的最大缺点是:在数据报转发过程中不能及时发现数据报中的数据部分错误,只有在数据报交付到目的地后才发现数据报中的数据部分错误。实验四 路由信息协议RIP【实验目的】1掌握路由协议的分类,理解静态路由和动态路由2掌握动态路由协议RIP的报文格式,工作原理及工作过程3掌握RIP计时器的作用4理解RIP的稳定性实验时间:_ 成绩:_8. 实验角色:_ 同组者姓名:_实验环境配置】该实验采用网络结构三。【实验原理】一、静态路由静态路由是一种特殊的路由,由网络管理员采用手工方法在路由器中配置而成。这种方法适合在规模较小、路由表也相对简单的网络中使用。它比较简单,容易实现;可以
56、精确控制路由选择,改进网络的性能;减小路由器的开销,为重要的应用保证带宽。但对于大规模的网络而言,如果网络拓扑结构发生改变或网络链路发生故障,用手工的方法配置及修改路由表,对管理员会形成很大压力。二、 RIP报文格式三、距离矢量算法(DV算法)下面对是对矢量算法的描述:收到相邻路由器(其地址为X)的一个RIP报文:1先修改此RIP报文中的所有项目:将“下一跳”字段中的地址都改为X,并将所有的“距离”字段的值加1。 2对修改后的RIP报文中的每一个项目,重复以下步骤:(如下图)3若3分钟还没有收到相邻路由器的更新路由表,则将此相邻路由器记为不可达的路由器,即将距离置为16。4返回。四、触发更新和
57、水平分割1触发更新触发更新的思想是当路由器检测到链路有问题时立即对问题路由进行更新。触发更新的作用是迅速传递路由故障、加速收敛、减少环路产生的机会。如果路由器使用触发更新,它可以在几秒钟内就在整个网络上传播路由故障信息,极大地缩短了收敛时间。不采用触发更新,可能要花费更多的时间才能够收敛。2水平分割路由环路产生的另一个重要原因是不正确的路由信息通过获得这条信息的接口再发送回去,替代了新的正确的路由,这也导致了错误路由信息的循环往复。水平分割的规则是,当向某个网络接口发送RIP更新信息时,不包含从该接口得到的选路信息。这样做的目的是避免路由环路。练习一:静态路由与路由表各主机打开协议分析器,进入
58、相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A、B、C、D、E、F作为一组进行实验。1. 主机A、B、C、D、E、F在命令行下运行“route print”命令,察看路由表,并回答以下问题: 路由表由哪几项组成?答:网络目标、网络掩码、网关地址、接口、跃点数五项。2、 从主机A依次ping 主机B()、主机C、主机E()、主机E(),观察现象,
59、记录结果。通过在命令行下运行route print命令,察看主机B和主机E路由表,结合路由信息回答问题: 主机A的默认网关在本次练习中起到什么作用?答:本地主机用于向其他 IP 网络转发 IP 数据报的 IP 地址。 记录并分析实验结果,简述为什么会产生这样的结果?表17-1 实验结果是否ping通原因主机A主机B()通默认网关是主机B的一个物理接口地址,而目地址为主机B的另一个物理接口地址主机A主机C 不通主机B没有路由转发的功能是否ping通原因主机A主机B
60、()通默认网关是主机B的一个物理接口地址,而目标地址为主机的另一个物理接口地址主机A主机E()通主机B没有路由转发的功能主机A主机E()不通主机B没有路由转发的功能3. 主机B和主机E启动静态路由。 (1)主机B与主机E在命令行下使用“staticroute_config”命令来启动静态路由。 (2)在主机B上,通过在命令行下运行route add命令手工添加静态路由(“route add mask
61、 metric 2”)。 (3)在主机E上,也添加一条静态路由(“route add mask metric 2”)。 (4)从主机A依次ping主机B()、主机E()、主机E(),观察现象,记录结果。 (5)通过在命令行下运行route print命令,察看主机B和主机E路由表,结合路由信息回答问题: &
62、#160; 记录并分析实验结果,简述手工添加静态路由在此次通信中所起的作用。表17-2 实验结果是否ping通原因主机A主机B()通默认网关是主机B的一个物理接口地址,而目标地址为主机的另一个物理接口地址主机A主机E()通主机B没有路由转发的功能主机A主机E()不通主机B没有路由转发的功能4. 在主机B上,通过在命令行下运行route delete命令(“route delete ”);在主机E上,运行route delete命令(“route delete 172.16
63、.0.0”)删除手工添加的静态路由条目。 简述静态路由的特点以及路由表在路由期间所起到的作用。答:静态路由是一种特殊的路由,由网络管理员采用手工方法在路由器中配置而成。这种 方法适合在规模较小、路由表也相对简单的网络中使用。它比较简单,容易实现;可以精确控制路由选择,改进网络的性能;减小路由器的开销,为重要的应用保证带宽。但对于大规模的网络而言,如果网络拓扑结构发生改变或网络链路发生故障,用手工的方法配置及修改路由表,对管理员会形成很大压力。每台运行 TCP/IP 的计算机根据 IP 路由表的决定作出路由决定。练习二:领略动态路由协议RIPv21在主机A、B、C、D、E、F上启动协议分析器并设置过滤条件(提取RIP和IGMP),开始捕获数据。2主机B和主机E启动RI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论