,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,网 络 协 议 分 析,(TCP/IP),第3章 网络层协议(2),要求:,1、掌握Internet编址方式,2、掌握ARP与RARP原理,3、掌握IP数据报格式、分片重组原理、选路原理,4、掌握ICMP报文格式及类型、,网 络 协 议 分 析(TCP/IP)第3章 网络层,1,3.2 互联网协议IP,要求:,1、掌握IP协议的特点,2、掌握IP数据报的格式,3、掌握IP数据报分片及重组机制,4、了解IP选项的使用,5、掌握IP数据报选路的原理及算法,6、掌握路由表的一般形式及默认路由的概念,7、掌握IP软件对IP数据报的处理,3.2 互联网协议IP要求:,2,一、,IP层的地位与特点,1.IP层的地位,IP层是通信子网的最高层,提供无连接的数据报传输机制。目的是屏蔽底层物理网络细节,向上提供一致性。,以太网帧,令牌环帧,IP数据报(IP),传输协议分组(TCP UDP),一、IP层的地位与特点 1.IP层的地位以太网帧令牌环帧,3,2.IP层的特点,无连接:每个分组都独立对待;,不可靠:分组可能丢失,乱序等,不做确认;,尽力投递:不随意放弃分组;,2.IP层的特点无连接:每个分组都独立对待;,4,3.互联网服务的三个概念层次,点到点无连接交付服务,提供了一个其它一切赖以存在的基础。,端到端可靠的传输服务,提供了应用所依赖的更高层平台。,点到点不可靠无连接分组投递服务,端到端可靠传输服务,应用服务,IP,TCP,点到点:,对等实体间的通信由一段一段的直接相连机器间的通信组成。,端到端:,对等实体间的通信象拥有一条直接线路,而不管中间要经过多少通信节点。,3.互联网服务的三个概念层次点到点无连接交付服务提供了一个其,5,4.IP层的主要功能,(1)无连接数据报的投递(数据结构,静态特性),(2)数据报寻径(选路,操作特性),(3)差错与报文控制(管理特性),4.IP层的主要功能(1)无连接数据报的投递(数据结构,,6,二、,IP数据报,1.数据报一般格式,首部,数据区,20字节固定部分,0-40字节选项,总长度:(首部+数据区),单字节计数,,最大长度2,16,-1=65535字节;,首部长度:4字节计数,最大长度 2,4,-1=15,,即15*4=60字节。,二、IP数据报1.数据报一般格式首部数据区20字节固定部,7,2.数据格式(数据结构),版本,头长,服务类型,总长度,标识符,分片偏移,标志,TTL,协议,首部校验和,源IP地址,目的IP地址,IP选项(可选),填充,数据,具体说明P37.,2.数据格式(数据结构)版本头长服务类型总长度标识符分片偏,8,(1)服务类型(TOS)与 区分服务码点(DSCP),D,T,R,M,U,优先级,D(elay),T(hroughout),R(eliable),M(onetary cost),U(nused),优先级:8种,0-普通级别,7-网络控制,功能:,指定本数据报的处理方式,说明:,TOS不是必须实现的,未用,码点,功能:,把码点(code point)值映射到底层服务,多个码点可映射成同一服务。,说明:,XXX000对应原来的8个优先级,区分服务:用在Ipv4的原TOS字段和Ipv6的通讯量类(traffic class)字段。,码点值的使用分类:,XXXXX0 IETF分配使用,XXXX11,本地使用,或用于实验,XXXX01,本地使用,或用于实验(将来也可由IETF分配),说明:,TOS字段无论使用原来的优先级定义方法,还是使用码点的定义方法,TOS都只能是路由算法的一个参考,因为Internet无法保证提供某种特定类型的服务。,(1)服务类型(TOS)与 区分服务码点,9,功能:数据报延迟控制。防止数据报在网中循环流动,或延迟过长;,处理:每经过一个路由器,TTL减1;,TTL=0,丢弃数据报,并向源站发回超时报告(ICMP)。,功能:说明上层协议:6:TCP、17:UDP,(ICMP:1 IGMP:2 IP:4),(2)寿命字段TTL,(3)协议字段,功能:数据报延迟控制。防止数据报在网中循环流动,或延迟过长;,10,三、IP数据包的分片与重组,当数据报的尺寸大于网路MTU时,必须进行分配,并且可能多次进行。,当数据到达目的主机后,IP模块要将各分片重组后上交到上层协议,而不是单独上交每一个分配,分片重组由标识、标志和片偏移量三个字段共同完成。,三、IP数据包的分片与重组当数据报的尺寸大于网路MTU时,必,11,1、分片控制,目的主机把分片正确重组,必须解决:,(1)如何标识同一个数据报的各个分片,(2)如何标识同一个数据报的分片顺序,(2)如何标识同一个数据报的分片的结束,解决办法,(1)数据报个分片使用与原数据报相同的,标识,。,(2)使用,片偏移量,来标识数据在原数据报中的位置。,(3)为解决第三个问题,设置了,标志,字段解决。,1、分片控制目的主机把分片正确重组,必须解决:,12,(1)标识、标志、片偏移量,标识,DF,MF,信源机产生,每个数据报唯一,解决了:标识同一数据报的各个分片,标识分片在原来数据报文中的位置,解决了:分片的顺序,DF(Do not Fragment):,DF=0 可以分片,DF=1,,强制不允许分片,片偏移量,MF(More Fragment):,片未完位,MF=0,,是最后一片,MF=1,,不是最后一片,解决了:分片的结束,未使用,(1)标识、标志、片偏移量标识DFMF信源机产生,每个数据报,13,(2)分片示例,例:IP数据报长度1400字节,网络MTU620字节,如何分片?,首部,数据(1600字节),首部,数据(1600字节),数据1(600字节),数据2(600字节),数据3(200字节),首部,数据1(600字节),首部,数据2(600字节),首部,数据3,(200字节),首部,数据1:偏移量=0,MF=1,首部,数据2:偏移量=75(600),MF=1,首部,数据3:,偏移量=150(1200),MF=0,(2)分片示例例:IP数据报长度1400字节,网络MTU62,14,示例分片首部设置说明,(1)首部长度:若无选项,和原数据报相同,否则重新计算。,(2)ID、标志域和片偏移量:ID不变,修改分片标志和片偏移量字段。,(3)总长度:分片首部的长度+分片数据部分的长度。,(4)校验和:必须重新计算。,(5)选项,EOL(选项结束)和NOP(无操作)不可复制,LSRR(宽松的源路由),、SSRR(严格的源路由)复制到所有分片中,RR(记录路由)和TS(时间戳)选项只能复制到第一个分片中。,示例分片首部设置说明(1)首部长度:若无选项,和原数据报相,15,2、分片重组,(1)重组功能承担者,IP规定:重组的地点是信宿机。,优点,(1)简化路由软件的操作,(2)避免重复分片,(3)每个分片可以自由选路。,缺点,浪费带宽,增加数据报丢失的可能性,IPv6使用路径MTU发现机制,路由器不再分片,2、分片重组(1)重组功能承担者IPv6使用路径MTU发现机,16,(2)重组过程,重组是分片的逆过程,用于还原为原来的数据。,当收到一个数据报时,根据片偏移量和MF位来判断是否分片。,(1)MF=0,且片偏移量为0,则是一个完整的数据报。,(2)片偏移量不为0,或MF=1,则表明是一个分片。,(3)标识字段用于判断是否是同一数据报,片偏移量用于确定分片在原数据报中的位置。,IP重组定时器:为防止分片丢失而造成重组过程无限期延长。分片重组时启动一个重组定时器。,(3)重组算法(略)p42,(2)重组过程重组是分片的逆过程,用于还原为原来的数据。(3,17,四、IP数据报首部检验和的计算,计算步骤:P45,(1)16比特分组;(2)校验和清0,(3)求所有16比特之和,(4)把求得的和模2,16,-1(3-4步也叫“反码求和”),(5)在(4)的基础上求二进制反码,校验步骤:同计算步骤的前4步,结果为0时正确。,首部检验和的计算方法并不复杂,且差错能力有限。,IP之说以选择这一算法,是考虑到路由器转发每个数据报都要重新,计算检验和,如果算法复杂,有需要更多的时间开销。,四、IP数据报首部检验和的计算计算步骤:P45首部检验和的计,18,五、IP选项,1、IP选项格式,IP选项是IP数据首部的变长部分,用于网络控制和测试,IP选项的最大长度不能超过40字节,IP首部是可选的。,IP首部有选项码、选项长度、选项数据三部分组成,,选项码有分为复制位、选项类、选项号。,五、IP选项1、IP选项格式,19,2、主要使用的六种选项类型,选项结束,(End of Option List,EOL),1字节长度,用于提示最后一个选项,必须放在所有选项的后面。(十进制类型代码0),无操作,(No Operation,NOP),1字节长度,用于选项之间的边界对正。当数据报中有两个以上的选项时,如果其中某个选项的长度不足4字节的倍数,则可以在其中加入NOP,将长度补足到4字节的倍数,以便能够对正到下一个选项的起始位置。(十进制类型代码1),记录路由,(Record Rout,RR),用于记录数据报在因特网传送过程中从信源到信宿所经过的各路由器的IP地址。在IP数据需要分片传送时,记录路由选项不复制到各个分片,仅出现在第一片中。(十进制类型代码7)。,严格的源路由,(SSRR),用于信源预先设定数据报在因特网中传送时所经过的路由器(入口地址)并记录所经过的路由器(出口地址),即指定数据报的传送路径并记录传输路径。(十进制类型代码131),宽松的源路由,(LSRR),用于信源预先指定数据报传送过程中必须经过的关键路由。(十进制类型代码137),时间戳,(TS),用于记录路由器处理数据报的时间。根据时间戳可以估算IP数据报从一个路由器传送到另一个路由器所花费的时间,进而帮助分析网络的吞吐率和负载情况。(十进制类型代码68),2、主要使用的六种选项类型,20,3、与选项有关的DOS命令,Ping r,1-9,192.168.1.1 相当指定,记录路由,选项,Ping s,1-4,192.168.1.1,相当,指定时间,戳选项,Ping j host list 指定,宽松路由,选项,Ping k host list 指定,严格路由,选项,“host list”为选项中包含的路由器地址表,例:ping j 192.168.30.10 192.168.1.1,(指定经过192.168.30.10 的宽松路由,?,),3、与选项有关的DOS命令Ping r 1-9 192.1,21,六、IP安全问题,1.源路由攻击,原理:截获数据包后,改变包中的路由选项,把数据包路由到可控的路由器上。,2.分片攻击,(1)tiny fragment:,发送极小分片,让TCP报头的端口号包含在第二个分片中,绕过防火墙或者IDS过滤系统。,(2)teardrop:,第二个IP分片偏移量小于第一个分片结束的位置,出现重叠。,(3)ping of death:,发送长度超过65535的IP报(封装了ICMP Echo Request包),目标主机重组分片时会造成事先分配的65535字节缓冲区溢出,系统通常会崩溃或者挂起。,六、IP安全问题1.源路由攻击,22,7、IP数据报的选路,1、选路概念,(1)选路,寻找一条将分组从信源传往信宿的传输路径的过程。,(2)直接选路和直接投递,信源和信宿在同一物理网络上。,信宿处于当前路由器直连的网络上。,选路由数据链路层完成,其技术随不同的网络技术不同。,(3)间接选路和间接投递,信源和信宿不在同一物理网络上,或者信宿不在当前路由器直连的网络上。,IP要解决的问题:间接选路,7、IP数据报的选路1、选路概念,23,2、选路的表示:路由表,(1)选路方式:,表驱动:每个主机和路由器都有一张路由表,指明去往某信宿应该走哪条路径。选路时,查询路由表。,(2)路由表格式