内容摘要IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。
在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。
任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。
IP地址具有唯一性,根据用户性质的不同,可以分为5类。
另外,IP还有进入防护,知识产权,指针寄存器等含义。
IP(Internet Protocol)协议的英文名直译就是:因特网协议。
从这个名称我们就可以知道IP协议的重要性。
在现实生活中,我们进行货物运输时都是把货物包装成一个个的纸箱或者是集装箱之后才进行运输,在网络世界中各种信息也是通过类似的方式进行传输的。
IP协议规定了数据传输时的基本单元和格式。
如果比作货物运输,IP协议规定了货物打包时的包装箱尺寸和包装的程序。
除了这些以外,IP协议还定义了数据包的递交办法和路由选择。
同样用货物运输做比喻,IP协议规定了货物的运输方法和运输路线。
索引关键词:IP 协议报文地址网络抓包目录一、课设概述 (1)实践目的 (1)实践内容 (1)二、详细方案设计 (1)IP(Internet Protocol)简介 (1)分类的IP 地址 (2)IP 地址中的网络号字段和主机号字段 (3)IP报文格式 (4)IP数据报格式(cont.) (5)利用抓包工具获取icmp报文 (6)Ping 命令 (7)三、注意事项 (10)四、心得体会 (11)五、参考文献 (11)一、课设概述(一)实践目的:1.体会IP地址的分类;2.分析IP报文格式;3.理解IP层的路由功能。
(二)实践内容:1.利用抓包工具抓取ICMP报文或在不同环境下用Ping命令并截获报文,分析IP协议报文格式;2.体会IP地址的编址方法和数据报文发送、转发的过程;3.分析路由表的结构和作用。
二、详细方案设计(一)IP(Internet Protocol)简介•网际协议IP 是TCP/IP 体系中两个最主要的协议之一•与IP 协议配套使用的还有四个协议:–地址解析协议ARP(Address Resolution Protocol)–逆地址解析协议RARP(Reverse Address Resolution Protocol)–网际控制报文协议ICMP(Internet Control Message Protocol)– 网际组管理协议IGMP(Internet Group Management Protocol)(二)分类的IP 地址• IP 地址– 分配给主机或路由器的标识符,目前使用的IPv4为32位IP 地址– IP 地址的分配由ICANN (Internet Corporation forAssigned Names and Numbers)负责• IP 地址的编址方法经历了三个阶段:– 分类的 IP 地址:最基本的编址方法,1981 年通过标准 各种应用层协议 网络接口层 (HTTP , FTP , SMTP 等)物理硬件 传输层 TCP , UDP应用层 ICM I RAR AR 与各种网络接口 网络层 (网际层)IGM– 子网的划分:最基本编址方法的改进, 1985 年成为标准[RFC 950]– 构成超网:比较新的无分类编址方法,1993 年提出• 分类的IP 地址– IP 地址被分为A, B, C, D, E 五类,每一类地址都包含网络号(net-id)和主机号(host-id)两个字段IP 地址 ::= { <网络号>, <主机号>}– 不同类的IP 地址区别主要是网络号、主机号的长度不同 host-id 24 位net-id8 位A 类地址net-id24 位C 类地址011host-id 8 位net-idhost-id 16 位16 位B 类地址0110000000 00001011 00000011 00011111 32bit 的IP 地址采用点分十进制记法则进一步提高可读性128.11.3.31(三)IP 地址中的网络号字段和主机号字段(四)IP报文格式数据部分首部IP 数据报Version字段:4bit,IP 协议的版本,目前的IP 协议版本号为4 (即IPv4)IHL:4bit,IP包头长度,最小5,最大15,单位为word(32bit)。
因此IP包头最长60 字节Type of service:1字节,服务类型,目前很多路由器忽略该字段Total Length:2字节,IP包总长度(含头部和数据),单位为字节。
因此IP包的最大长度为65535 字节Identification:2字节,标识,是一个计数器,用来产生IP包的标识超过数据链路层MTU(Maximum Transmission Unit)的IP包要分片传输分片的多个包具有相同的标示,便于接收端重组DF:1bit,Don’t Fragment,当DF=0 时允许分片MF:1bit,More Fragment,MF=1表示后面“还有分片”;MF=0表示最后一个分片Fragment offset:13bit,片偏移,较长的包在分片后,某片在原分组中的相对位置,以8字节为单位(五)IP数据报格式(cont.)校验和算法:对IP包头,每16位求反,循环相加(进位加在末尾),和再求反(六)利用抓包工具获取icmp 报文抓包工具是拦截查看网络数据包内容的软件。
抓包工具Ethereal 是一个开放源码的网络分析系统,也是是目前最好的开放源码的网络协议分析器,支持Linux 和windows 平台。
Ethereal 基本操作 首先运行Ethereal,出现Ethereal 的主界面。
要捕获发送方主机路由器16 字首16 字发送方主机路由器/接收主机/接收主机位116 位字2检验和置为全016 位字n 反码算术16 位运算求和……取反码数据报部IP 数据报16 位检验和位116 位字216 位检验和16 位字n 反码算术16 位运算求和16 位结果……取反码数据部分若结果为若结果为0, 则保留;否则,丢弃该数据报0, 则保留;否则,丢弃该数据报数据部分不参与检验和的计算网络上的数据包,首先进行相关设置,指定网卡。
设置完毕后,点击Start,Etheteal便会开始动态的统计目前所截获的数据包,点击Capture->Stop,即可停止。
下图为Ethereal截获数据包后的界面:(七)Ping 命令Ping命令利用ICMP回射请求报文和回射应答报文来测试目标系统是否可达。ICMP回射请求和ICMP回射应答报文是配合工作的。当源主机向目标主机发送了ICMP回射请求数据包后,它期待着目标主机的回答。目标主机在收到一个ICMP回射请求数据包后,它会交换源、目的主机的地址,然后将收到的ICMP回射请求数据包中的数据部分原封不动地封装在自己的ICMP回射应答数据包中,然后发回给发送ICMP回射请求的一方。如果校验正确,发送者便认为目标主机的回射服务正常,也即物理连接畅通。在Windows 9X、Windows 2000等操作系统的Ping命令中,ICMP包中的数据长度默认为32字节,其内容为英文小写字母循环系列(abcdefg…wabcdefghi),如图所示路由器中路由表项包含三项基本信息:目的网络地址、子网掩码、下一跳地址转发流程:1.从收到的分组的首部提取目的IP 地址D2.先用与该路由器直接相连各网络的子网掩码和D 逐位相“与”,看是否和相应的网络地址匹配,若匹配,则将分组直接交付;否则就是间接交付,执行③3.若路由表中有目的地址为D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则执行④4.对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则执行⑤若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则执行⑥报告转发分组出错例:考虑主机H1向H2发送数据包后的转发过程 目的网络地址下一跳255.255.255.128子网掩码128.30.33.0128.30.33.128128.30.36.0255.255.255.128255.255.255.0接口0接口1R 2① 主机H1根据自身设置判断目的地址是否在本地子网② 主机H1将数据包发给路由器R1(注意局域网内可能有ARP 查询过程)③ 路由器R1收到数据包后,在路由表中逐项根据子网掩码计算匹配项④ 路由器R1将数据包通过子网2发给主机H2 (注意局域网内可能有ARP 查询过程)三、注意事项1.实践操作时,不要快速操作,以免造成死机,影响进度。
2.在用U 盘拷文件时,注意杀毒,避免感染计算机。
四、心得体会 子网128.30.33.10128.30.33.13H 11:网络地址128.30.33.0子网掩码255.255.255.128128.30.33.130R 11R 2子网2:网络地址128.30.33.128子网掩码255.255.255.128H 2128.30.33.13801128.30.33.129H 3128.30.36.2子网3:网络地址128.30.36.0子网掩码255.255.255.0128.30.36.12为期一周的课设终于结束了,总体上来说还算顺利完成,虽然遇到了不少的问题,但是我们收获也不少,现与大家分享一下。
1.我们虽然遇到了不少问题,但课设的目的是为了将理论用于实际,实际反映了理论的正确性,反映了理论与实际的辩证统一关系。
通过课设可以将问题解决,从而转化为一种收获。
2.课设是需要团队合作才能顺利完成的,只是一两个人的付出是没意义的,团队合作能力也是我们大学生需要培养的能力。
总之,要感谢每一位为此付出努力的同学。
3.对于计算机网络这门学科,说实话,我们学到的东西太少。
可能是因为课时少,也可能是缺少实践。
不管怎样,对于任何一门学科,想学好它,就得在课下认真,系统的学习。
学无止境,但既然选择了这个专业,我们就得破釜沉舟,这才能有动力。
五、参考文献计算机网络(谢希仁)。