ip所运载的上层协议怎么看.docx
- 文档编号:7257788
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:6
- 大小:19.30KB
ip所运载的上层协议怎么看.docx
《ip所运载的上层协议怎么看.docx》由会员分享,可在线阅读,更多相关《ip所运载的上层协议怎么看.docx(6页珍藏版)》请在冰豆网上搜索。
ip所运载的上层协议怎么看
竭诚为您提供优质文档/双击可除
ip所运载的上层协议怎么看
篇一:
实验五ip协议分析
q1.选择你的电脑所发送的第一个icmp请求消息,在包详细信息窗口扩展包的internet协议部分。
你的电脑的ip地址是多少?
答:
10.22.99.17
q2.在ip包头部,上层协议区域的值是多少?
答:
icmp
(1)
q3.ip头部有多少字节?
ip数据包的有效载荷是多少字节?
解释你是怎样确定有效载荷的数量的?
答:
headerlength:
20bytes,totallength:
56bytes
故ip数据包的有效载荷为总长度减头部,即36bytes。
q4.这个ip数据包被分割了吗?
解释你是怎样确定这个数据包是否被分割?
答:
没有,Flags标记中,morefragment被置为0,说明后面没有分段。
q5.在包捕获列表窗口,你能看到在第一个icmp下的所有并发的icmp消息吗?
答:
能。
q6.往同一ip的数据包哪些字段在改变,而且必须改变?
为什么?
哪些字段是保持不变的,而且必须保持不变?
答:
必须改变的:
identification(标识)、headerchecksum(头部检验和)
标识是源主机赋予ip数据报的标识符、头部校验和用于保证ip数据报报头的完整性。
必须保持不变的:
Version(版本)、headerlength(头部长度)、differentiatedservicesField(区分服务)、Flags(标记)、Fragmentoffset(片偏移)、protocol(协议)、
destination(目地地址)。
q7.描述一下在ip数据包的identification
答:
identification:
0x43b2(17330)
q8.identification字段和ttl字段的值是多少?
答:
identification:
0xe94d(59725),ttl:
255
......
q9.所有的通过最近的路由器发送到你的电脑去的icmp的ttl溢出回复是不是值都保持不变呢?
为什么?
答:
由图可知,ttl值不变
q10.那个消息是否传送多于一个ip数据包的分片?
看第一个被分割的ip数据包的片段,在ip头部有什么信息指出数据包已经被分割?
在ip头部有什么信息指出这是否是第一个与后面片段相对的片段?
这个ip数据包的长度是多少?
答:
是;morefragment被置为1;Fragmentoffset:
0,说明为第一个片段;totallength:
1500。
q11.看被分割的ip数据包的第二个片段。
在ip头部有什么信息指出这不是第一个数据包片段?
有更多的片段吗?
你是怎么知道的?
和上一个分片的长度加起来是2000吗?
答:
Fragmentoffset:
1480,说明不是第一个片段;morefragment被置为0,说明没有更多片段;两个片段总长度相加为2020bytes,减去ip头部20bytes,等于2000bytes。
q12.哪个字段在第一个和第二个片段之间的ip头部改变了?
identification变了吗?
答:
totallength、Flags中的morefragment、Fragmentoffset、headerchecksum改变了;
identification没变。
q13.从原始的数据包中产生了多少片段?
片偏移分别为多少?
答:
3段;片偏移分别为0,1480,2960
q14.在片段之中ip头部哪些字段改变了?
identification变了吗?
答:
totallength、Flags中的morefragment、Fragmentoffset、headerchecksum改变了;
identification没变。
篇二:
从ip数据报中解析源目的地址
青岛农业大学
理学与信息科学学院
计算机网络综合实习报告
题目从ip数据报中解析源/目的地址学号
姓名
指导教师
日期
专业计算机科学与技术
目录
一、
二、
三、设计任务和目的........................................................................................................................-2-设计要求....................................................................................................................................-2-设计内容....................................................................................................................................-2-
3.1原理概述:
.....................................................................................................................................-2-
3.1.1点分十进制表示法:
......................................................................................................-2-
3.1.2ip数据报格式:
...........................................................................................................-2-
3.2运行结果及分析.........................................................................................................................-4-
3.2.1程序运行及截图...............................................................................................................-4-
3.2.2分析.....................................................................................
.............................................-5-四、
五、
六、
七、设计方案改进及建议................................................................................................................-5-总结体会....................................................................................................................................-5-主要参考文献............................................................................................................................-6-附录............................................................................................................................................-7-
附录1程序流程图...........................................................................................................................-7-附录2程序源代码及解释...............................................................................................................-7-
一、设计任务和目的
设计一个解析ip数据包的程序,并根据这个程序,从ip数据报头中解析出源地址和目的地址等相关问题,从而对ip层的工作原理有更好的理解和认识。
通过实际操作,加深对计算机网络的理解,了解计算机网络应用的灵活性,加深对ip数据报格式的了解,点分十进制理解,巩固所学习的c语言。
二、设计要求
编写计算机程序,从网络捕获数据包,从ip数据报头中解析出源地址和目的地址,将它们以点分十进制形式输出。
三、设计内容
3.1原理概述:
3.1.1点分十进制表示法:
对主机或路由器来说,ip地址都是32位的二进制代码,为了提高可读性,我们常常把32位的ip地址中的每8位用其等效的十进制数字表示,并且在这些数字之间加上一个点,这就叫做点分十进制表示法(dotteddecimalnotation)。
例如:
一个ip地址:
100000000000010110000001100011111用点分十进制表示为:
128.11.3.31读起来要方便得多。
3.1.2ip数据报格式:
ip协议所处理的数据单元称为ip数据报。
其格式如下:
图3-1数据报格式图[1]
ip数据报由首部和数据两部分组成,首部又分为定长部分和变长部分。
◆版本(VeR):
4位,表示数据报的ip协议版本,当前的ip协议版本号为4,即ipv4;下一代网络协议ipv6,版本号为6.
◆首部长度(hlen):
4位,表示以字长(4字节)为单位的数据报首部长度。
◆服务类型(seRVicetype):
8位,规定本数据报的处理方式。
前三位是优先级,0-7,0表示最低,7最高(最重要),但目前的ipv4没有使用优先级。
后4位是tos,表示本数据报在传输过程中所希望得到的服务,d--最小延迟(minimizedelay);t--最大吞吐率(maximizethroughout);R--最高可靠性(maximizereliability);c--最低成本(minimizecost)。
值得注意的有2点:
①服务类型代表用户的希望,并不具有强制性,目前许多设备tcp/ip中不支持服务类型特性。
②在d、t、R、c这4个参数中只能设置其中一个。
◆数据报总长度:
在ip数据报封装到以太网帧中进行传输时很有用.
◆标识(identiFication):
16位每个ip数据报都有一个本地唯一的标识符,它由信源机赋予ip数据报。
每次自动加1.
◆标志(Flags):
3位,表示该ip数据报是否允许分片以及是否最后一片。
◆片偏移(FRagmentationoFFset):
表示本片数据在他所属原始数据报数据区的偏移量。
◆生存时间(timetolive,ttl):
8位,
◆协议(pRotocol):
8位,指明被ip数据报封装的协议:
icmp=1,igmp=2,tcp=6,egp=8,udp=17,ospF=89.
◆首部校验和(headeRchecksum):
16位,保证首部数据完整性。
◆源ip地址(souRceaddRess):
32位(ipv4中),发送方源地址。
◆目的地址(destinationaddRess):
32位(ipv4中),最总接收方ip地址。
◆ip选项(ipoptions):
变长字段,传输数据报时的附加功能。
本实验的功能主要是实现将32位的二进制表示成十进制数
图3-2ip组成结构图[2]
3.2运行结果及分析
3.2.1程序运行及截图
图3-2-1程序运行图
图3-2-2运行结果图
篇三:
实验五ip协议分析
实验五ip协议分析
在这个实验里,我们将研究ip协议,通过执行traceroute程序来分析ip数据包发送和接收的过程。
我们将研究ip数据包的各个字段,详细学习ip数据包的分片。
一、捕获traceroute
为了产生一个ip数据包,我们将使用traceroute程序来向一些目的地发送不同大小的数据包,这个软件我们在第一个实验已作过简单的尝试了。
但我们试图在ip头部首先发送一个或者更多的具有ttl的数据包,并把ttl的值设置为1;然后向同一个目的地发送一系列具有ttl值为2的数据包;接着向同一个目的地发送一系列具有ttl值为3的数据包等等。
路由器在每次接收数据包时消耗掉一个ttl,当ttl达到0时,路由器将会向源主机返回一个icmp的消息(类型为11的ttl溢出),这样一个ttl值为1的数据包将会引起路由器从发送者发回一个icmp的ttl溢出消息产生一跳,ttl值为2的数据包发送时会引起路由器产生两跳,ttl值为3的数据包则会引起路由器产生3跳。
基于这种方式,主机可以执行traceroute观察icmp的ttl溢出消息,记录每个路由器的icmp的溢出消息的源ip地址,即可标识出主机和目的地之间的所有路由器。
我们要运行traceroute让它发送多种长度的数据包,由windows提供的tracert程序不允许改变由tracert程序发送的icmp的回复请求消息的大小,在windows下比较好的一个是pingplotter,它可以在以下网站下载共享版本(现在已下载好存在共享文件夹的压缩包中):
安装pingplotter标准版(你有一个30天的试用期),通过对你所喜欢的站点执行一些traceroute来熟悉这个工具。
icmp回复请求消息的大小可以在pingplotter中设置:
edit->options->defaultsetting->enginet,在packetsize字段中默认包的大小是56字节。
pingplotter发送一系列ttl值渐增的包时,trace时间间隔的值和间隔的个数在pingplotter中能够设置。
按下面步骤做:
1启动iris,开始包捕获;
2
启动pingplotter,然后在“addresstotrace”窗口输入目的地目标的名字:
172.16.1.1(1岛输入172.16.6.1)
在“#oftimestotrace”区域输入3。
然后选择edit->options->defaultsetting->engine,确认在packetsize字段的值为56,点ok。
然后按下trace按钮。
你看到的pingplotter窗口类似如上:
1.接下来,发送一组具有较长长度的数据包,通过edit->options->defaultsetting->engine
在包大小区域输入值为2000,点ok。
接着按下Resume按钮;
2.再发送一组具有更长长度的数据包,通过edit->options->defaultsetting->enginet在包大
小区域输入值为3500,点ok。
接着按下Resume按钮;
3.使用iris跟踪捕获tracing;(下图为ethereal捕获数据,仅供参考)
二、观察捕获的数据
你应该能看到由你的电脑和通过中间的路由器返回到你的电脑里的icmp的ttl溢出消息所发送的icmp序列,把这些数据保存出来。
然后回答以下问题:
q1.选择你的电脑所发送的第一个icmp请求消息,在包详细信息窗口扩展包的internet协议部分。
你的电脑的ip地址是多少?
(192.168.157.120)
q2.在ip包头部,上层协议区域的值是多少?
q3.ip头部有多少字节?
(20bytes)
ip数据包的有效载荷是多少字节?
(36bytes)
解释你是怎样确定有效载荷的数量的?
(3)总长度减去ip首部长度
q4.这个ip数据包被分割了吗?
(没有)
解释你是怎样确定这个数据包是否被分割?
接下来单击列名按ip源地址排序数据包,选择你的电脑发送的第一个icmp请求消息,扩展显示ip协议的数据。
q5.在包捕获列表窗口,你能看到在第一个icmp下的所有并发的icmp消息吗?
q6.往同一ip的数据包哪些字段在改变,而且必须改变?
(首部检验和,标识)为什么?
哪些字段是保持不变的,而且必须保持不变?
(版本,首部长度,区分服务,协议,源地址)
q7.描述一下在ip数据包的identification字段的值是什么样的?
(11650)
接下来找到通过昀近的路由器发送到你的电脑去的icmp的ttl溢出回复的系列,回答以下问题:
q8.identification字段和ttl字段的值是多少?
(30366,128)
q9.所有的通过昀近的路由器发送到你的电脑去的icmp的ttl溢出回复是不是值都保持不变呢?
为什么?
(是)
接下去研究一下分片,先按时间顺序排序数据包,找出在pingplotter中把包的大小改成2000后,你的电脑所发送的第一个icmp请求消息。
回答以下问题:
q10.那个消息是否传送多于一个ip数据包的分片?
(是)
看第一个被分割的ip数据包的片段,在ip头部有什么信息指出数据包已经被分割?
在ip头部有什么信息指出这是否是第一个与后面片段相对的片段?
这个ip数据包的长度是多少?
q11.看被分割的ip数据包的第二个片段。
在ip头部有什么信息指出这不是第一个数据包片段?
有更多的片段吗?
(没有)你是怎么知道的?
和上一个分片的长度加起来是2000吗?
(不是,是2020)
q12.哪个字段在第一个和第二个片段之间的ip头部改变了?
(总长度,标志,片偏移,首部检验和)
identification变了吗?
(没有)
再找出在pingplotter中把包的大小改成3500后,你的电脑所发送的第一个icmp请求消息。
回答以下问题:
q13.从原始的数据包中产生了多少片段?
(3片)
片偏移分别为多少?
(0,1480,2960)
q14.在片段之中ip头部哪些字段改变了?
(片偏移,总长度,标志,首部检验和)identification变了吗?
(没有)
〔自主设计实验〕
现在我们已经会分析ip协议的数据包头部结构了,利用刚才收集的数据,自己想办法描绘和分析一下到你访问的服务器间的各个路由器的示意图,看是不是和pingplotter得到的结果一致?
再测试一下到172.16.1.1的路由情况。
实验六icmp协议分析
在这个实验中,我们将探索icmp协议,如由ping程序产生的icmp消息、由traceroute程序产生的icmp消息和icmp消息的格式与内容等。
一、icmp与ping按以
下步骤进行:
1.windows命令行提示符;
2.iRisnetworkanalyzer,开始捕捉数据包;
3.ms-dos命令行下输入:
ping–n10172.16.1.1(1岛输入172.16.6.1)
参数“-n10”说明需要发送10个ping消息。
(下图为ethereal捕获数据,仅供参考)
4.当ping程序终止后,停止用iris捕获包。
我们可以看到源端发出了10个查问包并收到了10个响应,可以对每一个响应源端计算往返时间(Rtt),也不妨计算一下这10个包平均Rtt。
在第一个实验中作过类似的操作,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ip 运载 上层 协议 怎么