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