《第3章网络层协议课件》由会员分享,可在线阅读,更多相关《第3章网络层协议课件(32页珍藏版)》请在金锄头文库上搜索。
1、网网 络络 协协 议议 分分 析析(TCP/IP)第第3章章 网络层协议(网络层协议(2) n要求:要求:1、掌握、掌握Internet编址方式编址方式n 2、掌握、掌握ARP与与RARP原理原理n 3、掌握、掌握IP数据报格式、分片重组原理、选路原理数据报格式、分片重组原理、选路原理n 4、掌握、掌握ICMP报文格式及类型、报文格式及类型、3.2 互联网协议互联网协议IPn要求:要求:n 1、掌握、掌握IP协议的特点协议的特点 n 2、掌握、掌握IP数据报的格式数据报的格式n 3、掌握、掌握IP数据报分片及重组机制数据报分片及重组机制n 4、了解、了解IP选项的使用选项的使用 n 5、掌握、
2、掌握IP数据报选路的原理及算法数据报选路的原理及算法 n 6、掌握路由表的一般形式及默认路由的概念、掌握路由表的一般形式及默认路由的概念 n 7、掌握、掌握IP软件对软件对IP数据报的处理数据报的处理一、 IP层的地位与特点层的地位与特点 n1. IP层的地位层的地位IP层是通信子网的最高层,提供无连接的数据报传输层是通信子网的最高层,提供无连接的数据报传输机制。目的是屏蔽底层物理网络细节,向上提供一机制。目的是屏蔽底层物理网络细节,向上提供一致性。致性。 以太网帧以太网帧令牌环帧令牌环帧IP数据报数据报 (IP)传输协议分组传输协议分组 (TCP UDP)2.IP层的特点层的特点n无连接无连
3、接: 每个分组都独立对待;每个分组都独立对待;n不可靠不可靠: 分组可能丢失,乱序等,不做分组可能丢失,乱序等,不做确认;确认; n尽力投递尽力投递: 不随意放弃分组;不随意放弃分组; 3.互联网服务的三个概念层次互联网服务的三个概念层次n点到点无连接交付服务点到点无连接交付服务提供了一个其它一切赖以存在的基础。提供了一个其它一切赖以存在的基础。n端到端可靠的传输服务端到端可靠的传输服务提供了应用所依赖的更高层平台。提供了应用所依赖的更高层平台。点到点不可靠无连接分组投递服务点到点不可靠无连接分组投递服务端到端可靠传输服务端到端可靠传输服务应用服务应用服务IPTCP点到点:点到点:对等实体间的
4、通信由一段一段的直接相连机器间的通信组成。对等实体间的通信由一段一段的直接相连机器间的通信组成。端到端:端到端:对等实体间的通信象拥有一条直接线路,而不管中间要经过多少对等实体间的通信象拥有一条直接线路,而不管中间要经过多少通信节点。通信节点。4. IP4. IP层的主要功能层的主要功能n(1) 无连接数据报的投递(数据结构,静无连接数据报的投递(数据结构,静态特性)态特性)n(2) 数据报寻径(选路,操作特性)数据报寻径(选路,操作特性)n(3) 差错与报文控制(管理特性)差错与报文控制(管理特性)二、 IP数据报数据报n1. 数据报一般格式数据报一般格式首部首部数据区数据区20字节固定部分
5、字节固定部分0-40字节选项字节选项总长度:(首部总长度:(首部 + 数据区),单字节计数,数据区),单字节计数, 最大长度最大长度216-1 = 65535字节;字节;首部长度:首部长度:4字节计数,最大长度字节计数,最大长度 24-1 = 15, 即即15 * 4 = 60字节。字节。2. 数据格式(数据结构)数据格式(数据结构)版本版本头长头长服务类型服务类型总长度总长度标识符标识符分片偏移分片偏移标志标志TTL协议协议首部校验和首部校验和源源IP地址地址目的目的IP地址地址IP选项(可选)选项(可选)填充填充数据数据具体说明具体说明P37.(1)服务类型)服务类型(TOS)与与 区分服
6、务码点区分服务码点(DSCP)DTRMU优先级优先级D(elay),T(hroughout),R(eliable)M(onetary cost), U(nused)优先级:优先级:8种,种,0-普通级别,普通级别,7-网络控制网络控制功能:功能:指定本数据报的处理方式指定本数据报的处理方式说明:说明:TOS不是必须实现的不是必须实现的未用未用码点码点功能:功能:把码点把码点(code point)(code point)值映射值映射到底层服务,多个码点可映射成同到底层服务,多个码点可映射成同一服务。一服务。说明:说明:XXX000对应原来的对应原来的8个优先级个优先级 区分服务区分服务:用在用
7、在Ipv4的原的原TOS字段和字段和Ipv6的通讯量类的通讯量类(traffic class)字段。字段。码点值的使用分类:码点值的使用分类: XXXXX0 IETF分配使用分配使用 XXXX11 本地使用本地使用或用于实验或用于实验 XXXX01 本地使用本地使用或用于实验或用于实验 (将(将来也可由来也可由IETF分配分配 ) 说明:说明:TOS字段无论使用原来的优字段无论使用原来的优先级定义方法,还是使用码点的定先级定义方法,还是使用码点的定义方法,义方法,TOS都只能是路由算法的都只能是路由算法的一个参考,因为一个参考,因为Internet无法保证无法保证提供某种特定类型的服务。提供某
8、种特定类型的服务。n功能:数据报延迟控制。防止数据报在网中循环流动,功能:数据报延迟控制。防止数据报在网中循环流动,或延迟过长;或延迟过长;n处理:每经过一个路由器,处理:每经过一个路由器,TTL减减1;nTTL=0,丢弃数据报,并向源站发回超时报告丢弃数据报,并向源站发回超时报告(ICMP)。)。 n功能:说明上层协议功能:说明上层协议 :6:TCP 、17:UDP (ICMP :1 IGMP :2 IP:4 )(2)寿命字段)寿命字段TTL(3) 协议字段协议字段三、IP数据包的分片与重组n当数据报的尺寸大于网路当数据报的尺寸大于网路MTU时,必须进行分配,并时,必须进行分配,并且可能多次
9、进行。且可能多次进行。n当数据到达目的主机后,当数据到达目的主机后,IP模块要将各分片重组后上模块要将各分片重组后上交到上层协议,而不是单独上交每一个分配交到上层协议,而不是单独上交每一个分配n分片重组由标识、标志和片偏移量三个字段共同完成。分片重组由标识、标志和片偏移量三个字段共同完成。1、分片控制n目的主机把分片正确重组,必须解决:目的主机把分片正确重组,必须解决:n(1)如何标识同一个数据报的各个分片)如何标识同一个数据报的各个分片n(2)如何标识同一个数据报的分片顺序)如何标识同一个数据报的分片顺序n(2)如何标识同一个数据报的分片的结束)如何标识同一个数据报的分片的结束n解决办法解决
10、办法n(1)数据报个分片使用与原数据报相同的)数据报个分片使用与原数据报相同的标识标识。n(2)使用)使用片偏移量片偏移量来标识数据在原数据报中的位置。来标识数据在原数据报中的位置。n(3)为解决第三个问题,设置了)为解决第三个问题,设置了标志标志字段解决。字段解决。(1)标识、标志、片偏移量标识标识DF MF信源机产生,每个信源机产生,每个数据报唯一数据报唯一解决了:标识同一解决了:标识同一数据报的各个分片数据报的各个分片标识分片在原来数标识分片在原来数据报文中的位置据报文中的位置解决了:分片的顺解决了:分片的顺序序DF (Do not Fragment): DF=0 可以分片可以分片DF=
11、1,强制不允许分片强制不允许分片片偏移量片偏移量MF (More Fragment):片未片未完位完位 MF=0,是最后一片是最后一片 MF=1,不是最后一片不是最后一片解决了:分片的结束解决了:分片的结束未使用未使用(2)分片示例n例:例:IP数据报长度数据报长度1400字节,网络字节,网络MTU620字节,字节,如何分片?如何分片?首部首部数据(数据(1600字节)字节)首部首部数据(数据(1600字节)字节)数据数据1(600字节)字节)数据数据2(600字节)字节)数据数据3(200字节)字节)首部首部数据数据1(600字节)字节)首部首部数据数据2(600字节)字节)首部首部数据数据
12、3(200字节)字节)首部首部数据数据1:偏移量:偏移量=0,MF=1首部首部数据数据2:偏移量:偏移量=75(600)MF=1首部首部数据数据3:偏移量偏移量=150(1200)MF=0示例分片首部设置说明n(1) 首部长度:若无选项,和原数据报相同,否则重新计首部长度:若无选项,和原数据报相同,否则重新计算。算。n(2)ID、标志域和片偏移量:标志域和片偏移量:ID不变,修改分片标志和片不变,修改分片标志和片偏移量字段。偏移量字段。n(3)总长度:分片首部的长度总长度:分片首部的长度+分片数据部分的长度。分片数据部分的长度。n(4)校验和:必须重新计算。校验和:必须重新计算。n(5)选项选
13、项n EOL(选项结束选项结束)和和NOP(无操作)不可复制(无操作)不可复制n LSRR(宽松的源路由(宽松的源路由) 、SSRR(严格的源路由)复制到所有分片中(严格的源路由)复制到所有分片中n RR(记录路由记录路由)和和TS(时间戳时间戳)选项只能复制到第一个分片中。选项只能复制到第一个分片中。2、分片重组n(1)重组功能承担者)重组功能承担者nIP规定:重组的地点是信宿机。规定:重组的地点是信宿机。n优点优点n(1)简化路由软件的操作)简化路由软件的操作n(2)避免重复分片)避免重复分片n(3)每个分片可以自由选路。)每个分片可以自由选路。n缺点缺点n浪费带宽浪费带宽n增加数据报丢失
14、的可能性增加数据报丢失的可能性IPv6使用路径使用路径MTU发现机制,路由器不再分片发现机制,路由器不再分片(2)重组过程n重组是分片的逆过程,用于还原为原来的数据。重组是分片的逆过程,用于还原为原来的数据。n当收到一个数据报时,根据片偏移量和当收到一个数据报时,根据片偏移量和MF位来判断是位来判断是否分片。否分片。n(1)MF=0,且片偏移量为,且片偏移量为0,则是一个完整的数据报。,则是一个完整的数据报。n(2)片偏移量不为)片偏移量不为0,或,或MF=1,则表明是一个分片。,则表明是一个分片。n(3)标识字段用于判断是否是同一数据报,片偏移量用于确)标识字段用于判断是否是同一数据报,片偏
15、移量用于确定分片在原数据报中的位置。定分片在原数据报中的位置。nIP重组定时器:为防止分片丢失而造成重组过程无限重组定时器:为防止分片丢失而造成重组过程无限期延长。分片重组时启动一个重组定时器。期延长。分片重组时启动一个重组定时器。(3)重组算法(略)p42四、IP数据报首部检验和的计算n计算步骤:计算步骤:P45n (1)16比特分组;比特分组; (2)校验和清校验和清0n (3)求所有求所有16比特之和比特之和n (4)把求得的和模把求得的和模216-1(3-4步也叫步也叫“反码求和反码求和”)n (5)在在(4)的基础上求二进制反码的基础上求二进制反码n 校验步骤:同计算步骤的前校验步骤
16、:同计算步骤的前4步,结果为步,结果为0时正确。时正确。首部检验和的计算方法并不复杂,且差错能力有限。首部检验和的计算方法并不复杂,且差错能力有限。IP之说以选择这一算法,是考虑到路由器转发每个数据报都要重新之说以选择这一算法,是考虑到路由器转发每个数据报都要重新计算检验和,如果算法复杂,有需要更多的时间开销。计算检验和,如果算法复杂,有需要更多的时间开销。五、IP选项n1 1、IPIP选项格式选项格式nIPIP选项是选项是IPIP数据首部的变长部分,用于网络控制和测试,数据首部的变长部分,用于网络控制和测试,IPIP选项的选项的最大长度不能超过最大长度不能超过4040字节字节,IP,IP首部
17、是可选的。首部是可选的。nIPIP首部有选项码、选项长度、选项数据三部分组成,首部有选项码、选项长度、选项数据三部分组成,n选项码有分为复制位、选项类、选项号。选项码有分为复制位、选项类、选项号。2、主要使用的六种选项类型、主要使用的六种选项类型n选项结束选项结束(End of Option ListEnd of Option List,EOLEOL),),1 1字节长度,用于提示最后一个选项,必字节长度,用于提示最后一个选项,必须放在所有选项的后面。(十进制类型代码须放在所有选项的后面。(十进制类型代码0 0)n无操作无操作(No OperationNo Operation,NOPNOP),
18、),1 1字节长度,用于选项之间的边界对正。当数据报字节长度,用于选项之间的边界对正。当数据报中有两个以上的选项时,如果其中某个选项的长度不足中有两个以上的选项时,如果其中某个选项的长度不足4 4字节的倍数,则可以在其中字节的倍数,则可以在其中加入加入NOPNOP,将长度补足到,将长度补足到4 4字节的倍数,以便能够对正到下一个选项的起始位置。(十字节的倍数,以便能够对正到下一个选项的起始位置。(十进制类型代码进制类型代码1 1)n记录路由记录路由(Record RoutRecord Rout,RRRR),用于记录数据报在因特网传送过程中从信源到信宿),用于记录数据报在因特网传送过程中从信源到
19、信宿所经过的各路由器的所经过的各路由器的IPIP地址。在地址。在IPIP数据需要分片传送时,记录路由选项不复制到各个数据需要分片传送时,记录路由选项不复制到各个分片,仅出现在第一片中。(十进制类型代码分片,仅出现在第一片中。(十进制类型代码7 7)。)。n严格的源路由严格的源路由(SSRRSSRR),用于信源预先设定数据报在因特网中传送时所经过的路由),用于信源预先设定数据报在因特网中传送时所经过的路由器(入口地址)并记录所经过的路由器(出口地址),即指定数据报的传送路径并记器(入口地址)并记录所经过的路由器(出口地址),即指定数据报的传送路径并记录传输路径。(十进制类型代码录传输路径。(十进
20、制类型代码131131)n宽松的源路由宽松的源路由(LSRRLSRR),用于信源预先指定数据报传送过程中必须经过的关键路由。),用于信源预先指定数据报传送过程中必须经过的关键路由。(十进制类型代码(十进制类型代码137137)n时间戳时间戳(TSTS),用于记录路由器处理数据报的时间。根据时间戳可以估算),用于记录路由器处理数据报的时间。根据时间戳可以估算IPIP数据报数据报从一个路由器传送到另一个路由器所花费的时间,进而帮助分析网络的吞吐率和负载从一个路由器传送到另一个路由器所花费的时间,进而帮助分析网络的吞吐率和负载情况。(十进制类型代码情况。(十进制类型代码6868)3、与选项有关的DO
21、S命令nPing r 1-9 192.168.1.1 相当指定记录路由选项nPing s 1-4 192.168.1.1 相当指定时间戳选项nPing j host list 指定宽松路由选项nPing k host list 指定严格路由选项n“host list”为选项中包含的路由器地址表n例:ping j 192.168.30.10 192.168.1.1n(指定经过192.168.30.10 的宽松路由?)六、IP安全问题n1. 源路由攻击源路由攻击n原理:截获数据包后,改变包中的路由选项,把数原理:截获数据包后,改变包中的路由选项,把数据包路由到可控的路由器上。据包路由到可控的路由器
22、上。 n2. 分片攻击分片攻击n(1)tiny fragment:发送极小分片,让发送极小分片,让TCP报头的端口号包报头的端口号包含在第二个分片中,绕过防火墙或者含在第二个分片中,绕过防火墙或者IDS过滤系统。过滤系统。n(2)teardrop:第二个第二个IP分片偏移量小于第一个分片结束的分片偏移量小于第一个分片结束的位置,出现重叠。位置,出现重叠。n(3)ping of death:发送长度超过发送长度超过65535的的IP报(封装了报(封装了ICMP Echo Request包),目标主机重组分片时会造成事先包),目标主机重组分片时会造成事先分配的分配的65535字节缓冲区溢出,系统通
23、常会崩溃或者挂起。字节缓冲区溢出,系统通常会崩溃或者挂起。7、IP数据报的选路n1、选路概念、选路概念n(1)选路)选路n寻找一条将分组从信源传往信宿的传输路径的过程。寻找一条将分组从信源传往信宿的传输路径的过程。n(2)直接选路和直接投递)直接选路和直接投递信源和信宿在同一物理网络上。信源和信宿在同一物理网络上。信宿处于当前路由器直连的网络上。信宿处于当前路由器直连的网络上。选路由数据链路层完成,其技术随不同的网络技术不同。选路由数据链路层完成,其技术随不同的网络技术不同。(3)间接选路和间接投递)间接选路和间接投递信源和信宿不在同一物理网络上信源和信宿不在同一物理网络上或者信宿不在当前路由
24、器直连的网络上。或者信宿不在当前路由器直连的网络上。IP要解决的问题:间接选路要解决的问题:间接选路2、 选路的表示:路由表选路的表示:路由表(1)选路方式:)选路方式: 表驱动:每个主机和路由器都有一表驱动:每个主机和路由器都有一张路由表,指明去往某信宿应该走哪条张路由表,指明去往某信宿应该走哪条路径。选路时,查询路由表。路径。选路时,查询路由表。 (2)路由表格式)路由表格式信宿地址信宿地址去往去往信宿的路径信宿的路径不是主机地址,而是不是主机地址,而是网络地址网络地址不是完整路径,而是不是完整路径,而是(next hop)下下一跳地址一跳地址目标网络目标网络1的网络号的网络号到达网络到达
25、网络1的下一跳路由器的下一跳路由器IP目标网络目标网络2的网络号的网络号到达网络到达网络2的下一跳路由器的下一跳路由器IP网络网络10.0.0.0网络网络20.0.0.0网络网络30.0.0.0网络网络40.0.0.010.0.0.520.0.0.520.0.0.630.0.0.630.0.0.740.0.0.720.0.0.0直接投递直接投递30.0.0.0直接投递直接投递10.0.0.020.0.0.540.0.0.030.0.0.7路由表示例路由表示例(1) 路由表的内容选择充分体现了路由表的内容选择充分体现了“信息隐藏信息隐藏原理原理”。 (2) 路由表目少路由表目少,选路效率高。选路
26、效率高。 (3) 路由表与主机数目无关。路由表与主机数目无关。 (4) 受互联网拓朴结构改变影响小,对互联网受互联网拓朴结构改变影响小,对互联网变化适应性强。变化适应性强。(5) 路由器对网络拓朴的描述是局部的,但对路由器对网络拓朴的描述是局部的,但对网络拓朴结构的把握却是全局的。网络拓朴结构的把握却是全局的。 说明说明(1)默认路由:)默认路由: 信息隐藏、保持路由表更小的技术。每一网络到信息隐藏、保持路由表更小的技术。每一网络到外部的出口总是非常有限的几个,对很多信宿网络来外部的出口总是非常有限的几个,对很多信宿网络来说,出口总是同一个。说,出口总是同一个。 方法:把不在路由表中列出的网络
27、统一到一个出口。方法:把不在路由表中列出的网络统一到一个出口。(2)特定主机路由:)特定主机路由: 为某个指定主机在路由表中单设一项。为某个指定主机在路由表中单设一项。 用途:测试网络连通性、路由表正确性、安全性等。用途:测试网络连通性、路由表正确性、安全性等。(3)路由表的特殊表目)路由表的特殊表目3、 IP选路算法选路算法(1)路由选择的依据)路由选择的依据 (1)网络负载)网络负载 (2)数据报文的长度)数据报文的长度 (3)服务类型)服务类型 实际中:基于最短路径的假设。实际中:基于最短路径的假设。RouteDatagram(Datagram ,RoutingTable)从数据报中提取
28、目的从数据报中提取目的IP地址地址D,并计算网络前缀并计算网络前缀N;if N与任何与任何直接相连的网络地址直接相连的网络地址匹配匹配 then 通过该网络把数据报交付到目的地通过该网络把数据报交付到目的地else if 表中包含表中包含特定于具体主机特定于具体主机的一个到的一个到D的路由的路由 then 把数据报发送到表中指定的下一跳把数据报发送到表中指定的下一跳else if 表中包含表中包含到网络到网络N的一个路由的一个路由 then 把数据报发送到表中指定的下一跳把数据报发送到表中指定的下一跳else if 表中包含的一个表中包含的一个默认路由默认路由 then 把数据报发送到表中指定
29、的默认路由器把数据报发送到表中指定的默认路由器else 宣布选路出错宣布选路出错(2)选路总控算法)选路总控算法主机:主机: 主机不转发数据报。主机不转发数据报。 是自己的:交上层;是自己的:交上层; 不是自己的:丢弃。不是自己的:丢弃。路由器:路由器: 若是自己的,交上层;若是邻网,直接投递;若是自己的,交上层;若是邻网,直接投递; 其它的转发。(其它的转发。(TTL 1 ,重新计算校验和)重新计算校验和)重要说明:重要说明:IP协议不涉及选路技术细节,只描述原协议不涉及选路技术细节,只描述原理和规则,具体选路技术指路由表的建立与刷新,理和规则,具体选路技术指路由表的建立与刷新,由专门的路由
30、协议完成由专门的路由协议完成 .4、IP软件对数据报的处理软件对数据报的处理两个原则:两个原则:(1)主机和路由器都参与选路)主机和路由器都参与选路(2)仅路由器转发)仅路由器转发IP数据,主机不转发数据,主机不转发IP数据数据R1R2N1N2N3路由表路由表NN3DTTL首部校验和首部校验和源源IP目的目的IP(N,H)(1)若是自己的,交相应模块若是自己的,交相应模块(2) 若是邻网的,直接投递若是邻网的,直接投递(3)若是其它,转发若是其它,转发路由器对数据的处理路由器对数据的处理两个命令(功能相同)两个命令(功能相同) C:netstat -r C:route PRINT Active
31、 Routes:Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 202.196.48.254 202.196.48.228 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 202.196.48.224 255.255.255.224 202.196.48.228 202.196.48.228 1 202.196.48.228 255.255.255.255 127.0.0.1 127.0.0.1 1 202.196.48.255 255.255.255.255 202.196.48.228 202.196.48.228 1 224.0.0.0 224.0.0.0 202.196.48.228 202.196.48.228 1 255.255.255.255 255.255.255.255 202.196.48.228 202.196.48.228 1Default Gateway: 202.196.48.254