青 岛 农 业 大 学
理学与信息科学学院
计算机网络综合实习报告
题 目 IP数据报解析源地址/目的地址
专 业 计算机科学与技术
学 号 姓 名 指导教师 日 期 2014年11月8日
计算机网络课程设计
目 录
一、 二、 三、
设计任务和目的 ........................................................................................................................ - 2 - 设计要求 .................................................................................................................................... - 2 - 设计内容 .................................................................................................................................... - 2 -
3.1原理概述: ..................................................................................................................................... - 2 -
3.1.1 点分十进制表示法: ...................................................................................................... - 2 - 3.1.2 IP数据报格式: ........................................................................................................... - 2 - 3.2 运行结果及分析 ......................................................................................................................... - 4 -
3.2.1程序运行及截图 ............................................................................................................... - 4 - 3.2.2 分析 .................................................................................................................................. - 5 - 四、 五、 六、 七、
设计方案改进及建议 ................................................................................................................ - 5 - 总结体会 .................................................................................................................................... - 5 - 主要参考文献 ............................................................................................................................ - 6 - 附录 ............................................................................................................................................ - 6 -
附录1 程序流程图 ........................................................................................................................... - 6 - 附录2 程序源代码及解释 ............................................................................................................... - 7 -
- 1 -
计算机网络课程设计
一、 设计任务和目的
设计一个解析IP数据包的程序,并根据这个程序,从IP数据报头中解析出源地址和目的地址等相关问题,从而对IP层的工作原理有更好的理解和认识。
通过实际操作,加深对计算机网络的理解,了解计算机网络应用的灵活性,加深对IP数据报格式的了解,点分十进制理解,巩固所学习的C语言。
二、 设计要求
编写计算机程序,从网络捕获数据包,从IP数据报头中解析出源地址和目的地址,将它们以点分十进制形式输出。
三、 设计内容
3.1原理概述:
3.1.1 点分十进制表示法:
对主机或路由器来说,ip地址都是32位的二进制代码,为了提高可读性,我们常常把32位的ip地址中的每8位用其等效的十进制数字表示,并且在这些数字之间加上一个点,这就叫做点分十进制表示法(dotted decimal notation)。例如:一个ip地址:100000000 00001011 00000011 00011111 用点分十进制表示为:128.11.3.31读起来要方便得多。
3.1.2 IP数据报格式:
IP协议所处理的数据单元称为IP数据报。其格式如下:
- 2 -
计算机网络课程设计
图3-1 数据报格式图
[1]
IP数据报由首部和数据两部分组成,首部又分为定长部分和变长部分。
◆ 版本(VER):4位,表示数据报的IP协议版本,当前的IP协议版本号为4,即IPv4;下一代网络协议IPv6,版本号为6.
◆首部长度(HLEN):4位,表示以字长(4字节)为单位的数据报首部长度。 ◆服务类型(SERVICE TYPE): 8位,规定本数据报的处理方式。前三位是优先级,0-7,0表示最低,7最高(最重要),但目前的IPv4没有使用优先级。后4位是TOS,表示本数据报在传输过程中所希望得到的服务,D--最小延迟(minimize delay);T--最大吞吐率(maximize throughout);R--最高可靠性(maximize reliability);C--最低成本(minimize cost)。 值得注意的有2点:
①服务类型代表用户的希望,并不具有强制性,目前许多设备TCP/IP中不支持服务类型特性。
②在D、T、R、C这4个参数中只能设置其中一个。
◆ 数据报总长度: 在IP数据报封装到以太网帧中进行传输时很有用.
◆ 标识(IDENTIFICATION):16位每个IP数据报都有一个本地唯一的标识符,它由信源机赋予IP数据报。每次自动加1.
◆ 标志(FLAGS):3位,表示该IP数据报是否允许分片以及是否最后一片。 ◆ 片偏移(FRAGMENTATION OFFSET):表示本片数据在他所属原始数据报数据区的偏移量。
◆ 生存时间(time to live,TTL): 8位,
◆ 协议(PROTOCOL):8位,指明被IP数据报封装的协议:ICMP=1,IGMP=2,TCP=6,EGP=8,UDP=17,OSPF=89.
◆首部校验和(HEADER CHECKSUM):16位,保证首部数据完整性。 ◆ 源IP地址(SOURCE ADDRESS):32位(IPv4中),发送方源地址。
◆ 目的地址(DESTINATION ADDRESS): 32位(IPv4中),最总接收方IP地址。 ◆ IP选项(IP OPTIONS):变长字段,传输数据报时的附加功能。 本实验的功能主要是实现将32位的二进制表示成十进制数
- 3 -
计算机网络课程设计
图3-2 IP组成结构图
[2]
3.2 运行结果及分析
3.2.1程序运行及截图
图3-2-1 程序运行图
图3-2-2 运行结果图
- 4 -