您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 编辑并发送IP数据报
实验名称:编辑并发送IP数据报实验成绩学生姓名:学号:指导教师:班级:网络1301主机编号:1—A实验日期:2015.11.10实验目的:1.掌握IP数据报的报文格式2.掌握IP校验和计算方法实验原理:IP报文格式IP数据报格式如下图所示,它是由IP首部与数据组成的。IP首部长度通常为20字节。如果含有选项字段,IP首部长度将会大于20字节,但不会超过60字节。图3-5IP报文格式在IP首部中各个字段的意义如下:●版本号:这个字段定义了IP的版本。目前主流的是版本4(IPv4),但它正逐渐地被版本6(IPv6)所替代。●首部长度:由于IP选项字段的存在,所以IP首部长度是可变的。该字段用4位来定义首部长度。将该值乘4可得到用字节表示的长度,所以IP首部长度为20~60个字节。●区分服务:该字段以前叫做服务类型(在RFC791中定义),是由3位优先域、4位服务类型域和1位未用位(该位必须置为0)组成,其中4位服务类型分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。该字段在RFC2474中被重新定义,在新的定义中将该字段命名为区分服务,其中包含一个6位的区分服务码点(DSCP)字段和一个2位的未用位(CU)字段。如下图所示:图3-6RFC2474定义的区分服务字段前6位的区分服务码点的值用来映射一个底层的服务,它决定了每一跳行为。在RFC3168中,将区分服务字段中的未用位字段定义为显示拥塞通告(ECN)字段,ECN字段包括2个子字段,分别为:ECT字段和CE字段,如下图所示:图3-7RFC3168定义的区分服务字段ECN字段用于指定发送数据的主机是否支持拥塞通告以及指示网络中是否有拥塞发生。ECN通过两个子字段的不同值组合来做到这一点:00:发送主机不支持ECN。01或10:发送主机支持ECN。11:路由器正在经历拥塞。●总长度:该字段以字节为单位定义IP数据报的总长度(首部加上数据)。要得到IP上层数据的长度,只需从总长度中减去首部长度即可。●标识:每一个IP数据包在发送时被给定特有的标识值。如果数据包必须被分割成碎片以适应支持小型数据包的网络,那么每一个碎片中都设置相同的标识号码。●标志:标志由3位组成,第1位保留;第2位为不分片标志,表示此数据包不可以被分片;第3位为更多分片标志,表示在分片包之后还有分片,即此包不是最后分片。●偏移量:如果数据包是一个分片包,该域指明了当前分片包在与其它分片包被重新组装成一个单独数据包时,应该位于数据包的什么位置。该域的值以8字节为单位。●生存时间:该字段表明数据包保存的生存时间,单位为秒,在实际的应用中,生存时间是按照数据包经过路由器的跳数计算的。通常生存时间的值是32、64、128。●高层协议类型:该字段定义了使用IP层服务的较高层协议。一个IP数据报能封装来自诸如TCP、UDP、ICMP和IGMP等较高层协议的数据。●首部校验和:IP首部校验和只对首部内容进行错误检测,并不包括数据包的其它内容。校验和采用16位反码求和的算法。●源IP地址:该字段定义了源主机的IP地址。在IP数据包从源主机传送到目的主机期间,该字段保持不变。●目的IP地址:该字段定义了目的主机的IP地址。在IP数据报从源主机传送到目的主机期间该字段保持不变。●IP选项:这个字段是可选项。它们通常用于网络测试和调试。虽然可选项不是IP头部所必需的部分,但要求IP软件能够处理它们。目前,这些选项定义如下:(1)安全和处理限制(用于军事领域);(2)记录路径(让每个路由器记下它的IP地址);(3)时间戳(让每个路由器都记下它的IP地址和时间);(4)宽松的源站选路(为数据报指定一系列必须经过的IP地址);(5)严格的源站选路(与宽松的源站选路类似,但是要求只能经过指定的这些地址,不能经过其它的地址)。六.IP封装IP数据报直接封装到数据链路层帧中,其封装方法如下图所示:图3-8IP封装实验环境(画出拓扑结构)说明:●主机A、C、D的默认网关是172.16.1.1;主机E、F的默认网关是172.16.0.1。●双网卡主机,左端物理接口为物理接口1,右端物理接口为物理接口2实验步骤:各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。本练习将主机A、B、C、D、E、F作为一组进行实验。1.主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。2.主机A启动协议编辑器,编辑一个IP数据报,其中:MAC层:目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。源MAC地址:主机A的MAC地址。协议类型或数据长度:0800。IP层:总长度:IP层长度。生存时间:128。源IP地址:主机A的IP地址(172.16.1.2)。目的IP地址:主机E的IP地址(172.16.0.2)。校验和:在其它所有字段填充完毕后计算并填充。自定义字段:数据:填入大于1字节的用户数据。【说明】先使用协议编辑器的“手动计算”校验和,再使用协议编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。●IP在计算校验和时包括哪些内容?3.在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。4.主机A发送第1步中编辑好的报文。5.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:●第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。6.将第1步中主机A所编辑的报文的“生存时间”设置为1,重新计算校验和。7.主机B、E重新开始捕获数据。8.主机A发送第5步中编辑好的报文。9.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。实验数据及结构分析(1)实验1,生存时间为128,发送数据为123.B,E都捕获到主机A发送的信息。主机1——A的发送数据帧的截图主机B的172.16.0.1的截图主机B的172.16.1.1的截图报文数据发生变化。变化的字段有:“生存时间”和“首部校验和”。原因:主机B为路由器,数据包每经过一路由器“生存时间”字段的值就会减1,并重新计算校验和。(2)实验2,生存时间为1,发送数据为123.B的172.16.1.1捕获到主机A发送的信息,B的172.16.0.1和E则没有。主机A发送数据,生存时间为1的截图B的172.16.1.1收到数据的截图主机B对应于172.16.1.1的接口可以捕获到主机A所发送的报文;主机B对应于172.16.0.1的接口和主机E不能捕获到主机A所发送的报文;原因:当“生存时间”字段的值减至为0时,路由器将该报文丢弃不进行转发。课后习题:1.说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。从而把整个因特网看成为一个单一的、抽象的网络在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。MAC地址在一定程度上与硬件一致,基于物理、能够标识具体的链路通信对象、IP地址给予逻辑域的划分、不受硬件限制。IP地址用于网络层的路由选择,使得将来自源地址的数据通过路由而传送到目的地址变为可能;硬件地址又称为MAC地址,用于在网络或子网内部寻找一个单独的主机,由网络设备制造商生产时写在硬件内部,MAC地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有唯一不变的MAC地址,MAC地址一般不可改变,不能由用户自己设定。使用两种地址的原因:IP地址用于网络层的路由选择,使得将来自源地址的数据通过路由而传送到目的地址变为可能;(1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。(2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。(3)无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP负责将IP地址映射到MAC地址上来完成的
本文标题:编辑并发送IP数据报
链接地址:https://www.777doc.com/doc-2069226 .html