IP数据包解析

IP数据包解析

ID:39574104

大小:187.50 KB

页数:18页

时间:2019-07-06

IP数据包解析_第1页
IP数据包解析_第2页
IP数据包解析_第3页
IP数据包解析_第4页
IP数据包解析_第5页
资源描述:

《IP数据包解析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、湖北工业大学计算机网络课程设计报告解析IP数据包2012年6月18湖北工业大学目录目录21、课程设计目的22、课程设计要求23、相关知识24、课程设计分析74.1网卡设置74.2使用套接字74.3接收数据包84.4定义IP头部的数据结构84.5IP包的解析104.6协议的定义104.7捕获处理105、运行结果116、总结127、课程设计参考资料128、源程序代码1818湖北工业大学1、课程设计目的本课程设计的目的就是设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对IP层的工作原理有更

2、好的理解和认识。2、课程设计要求本设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。程序的具体要求如下:  1)以命令行形式运行:ipparselogfile,其中ipparse是程序名,而logfile则代表记录结果的日志文件。2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。 3)当程序接收到键盘输入Ctrl+C时退出。3、相关知识18湖北工业大学

3、互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道.编制本程序前,首先要对IP包的格式有一定了解,图1给出了IP协议的数据包格式.IP数据包的第一个字段是版本字段,其度是4位,表示所使用的IP协议的版本.目前的版本是IPV4,版本字段的值是4,下一代版本是IPV6,版本字段值是6.本程序主要针对版本是IPV4

4、的数据包的解析.报头标长字段为4位,它定义了以4B为一个单位的IP包的报文长度.报头中除了选项字段和填充域字段外,其他各字段是定长的.因此,IP数据包的头长度在20—40B之间,是可变的.04816192431版本首部长度区分服务总长度标识标志片偏移生存时间协议头校验和源IP地址目的地址选项填充域数据部分图1IP数据包的格式服务类型字段共8位,用于指示路由器如何处理该数据包.该字段长度由4位服务类型(TOS)子域和3位优先级子域组成,1位为保留位,该字段结构如图2所示.B7b6b5b4b3b2b1b0优先级DTRC0图2服务类型

5、字段结构18湖北工业大学优先级共有8种,优先级越高表明数据包越重要.表1中列出了各种优先级所代表的意义.表一优先子域的说明位数(b7b6b5)意义111网络控制110网络间控制101重要(CRITIC/ECP)100即时,优先011即时010立刻001优先000普通在4位服务类型子域中b4,b3,b2,b1分别表示D(延迟),T(吞吐量),R(可靠性)与C(成本).表2列出了服务器类型自域的构成.位数(b4b3b2b1)意义1111安全级最高1000延迟最小0100吞吐量最大0001金钱成本最小0000普通服务18湖北工业大学总

6、长度字段为2B,它定义了以字节为单位的数据包的总长度.IP数据包的最大长度为65535B.标识字段的长度为16位,用于识别IP数据包的编号.每批数据都要有一个标识值,用于让目的主机判断新来的数据属于哪个分组.报头中的标志字段如图7-3所示.标志字段共3位,最高位是0.禁止分片标志DF(donotfragment)字段的值若为1,表示不能对数据包分片;若DF值为0,则表明可以分片.分片标志MF(morefragment)的值为1,表示接收到的不是最后一个分片;若MF值为0,表示接收到的是最后一个分片.片偏移字段共13位,说明分片在

7、整个数据包中的相对位置.片偏移值是以8B为单位来记数的,因此选择的分片长度应该是8B的整数倍.生存时间(TTL)字段为8位,用来设置数据包在互联网络的传输过程的寿命,通常是用一个数据包可以经过的最多的路由器跳步数来限定的.协议字段为8位,表示使用此IP数据包的高层协议类型,常用的协议号如表3所示.序号协议名称序号协议名称12468ICMPIGMPIPinIPTCPEGP17414689UDPIPV6RSVPOSPFA表3典型的协议号18湖北工业大学头校验和字段为16位,用于存放检查报头错误的校验码。检验的范围是整个IP包的报头。

8、校验和按如下方法计算:1)将头校验和的字段置为0。2)将报头部分的所有数据以16位为单位进行累加,累加方式是求异或。3)将累加的结果取反码,就是头校验和。当收到一个IP包时,要检查报头是否出错,就把报头中的所有数据以16位为单位进行累加,若累加的结果为0,则报文

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。