《第章IP协议.ppt》由会员分享,可在线阅读,更多相关《第章IP协议.ppt(66页珍藏版)》请在三一办公上搜索。
1、第三章 IP协议,第三章 IP协议,3.1 IP协议的目的与工作原理3.1.1 IP协议数据的传输过程3.1.2 IP协议中的概念3.2 IP地址3.2.1 IP地址的分类3.2.2 IP地址的表示3.2.3 特殊IP地址总结3.2.4 IP地址的缺陷3.2.5 子网技术3.2.6 超网技术3.2.7 私有网络地址 3.3 IP数据包格式3.3.1 网络字节序和主机字节序3.3.2 IP数据包3.3.3 服务类型3.3.4 IP数据包的分片与重组3.3.5 IP选项,3.1 IP协议的目的与工作原理,网络互联方式 面对一个由很多网络连接而成的互联网,在进行数据通信时,数据是如何从源端传输到目标
2、端的呢?我们从城市交通图来解释网络互联。一个城市相当于互联网中的一个网络,连接城市的公路相当于连接网络的介质,每条路上都有一个负责选路的路由器,3.1 IP协议的目的与工作原理,3.1 IP协议的目的与工作原理,面向连接的解决方案要求在通信的源端和目标端之间建立一条逻辑通路,一般称为虚电路(Virtual Circuit),源端和目标端之间通信时的所有信息都通过该通路传输,这与交通图中送信过程的第一种方式类似。这种方式看似简单,易于实现,但其最大的缺点是如果不能保证虚电路中沿途经过的节点都能可靠地发送数据,就可能使网络崩溃。由于互联网所连网络的复杂性和多样性,因而很难保证所有节点都能可靠地发送
3、数据。,3.1 IP协议的目的与工作原理,无连接的互联网解决方案与交通图中送信过程的第二种方式类似,它在源端和目标端之间不建立一条逻辑通路,而送到网络中的每个分组带有完整的目标主机地址,收到分组的节点(主要是路由器)根据目标地址和当前网络状况(如通信量等),选择一条合适的线路把分组发送到接近目标端的下一个节点,通过多个节点的转发,最终把分组送达目标节点。使用这种方式时,由源端顺序送出的各分组,由于每个分组在网络中可能经过不同的路径到达目标端,所以先发出的分组不一定就先到达目标端,另外,也不能保证每个分组都能可靠地到达目标端。,3.1 IP协议的目的与工作原理,无连接方式的优点是显而易见的,源端
4、和目标端之间的通信可以通过多条通路进行,而不依赖于某一条通路,因此可靠性和通信效率高。另外,这种方式实现起来也比较简单,适合于异构网络的互联,因此被很多网络厂商所使用。,3.1 IP协议的目的与工作原理,利用信息隐蔽原理,在互联网中把不同网络的实现细节通过IP层隐藏起来,达到在网络层逻辑上一致的目的。,3.1 IP协议的目的与工作原理,互联网上的所有数据报都要经过IP协议进行传输,它是通信网络与高层协议的分界。,3.1 IP协议的目的与工作原理,IP是TCP/IP协议族中最为核心的协议,提供不可靠的服务。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输,。不可靠的意思是它不能
5、保证IP数据报能成功地到达目的地。IP仅提供最好(方向)的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。,3.1.1 IP协议数据的传输过程,TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头,包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上再加上接收端主机地址,这样数据会找到自己要去的地方。如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。,3.1.1 IP协议数据的传输过
6、程,总之,IP协议保证数据的传输(方向),TCP协议保证数据传输的质量。TCP/IP协议数据的传输基于TCP/IP协议的四层结构:应用层、传输层、网络层、接口层,数据在传输时每通过一层就要在数据上加个包头,其中的数据供接收端同一层协议使用,而在接收端,每经过一层要把用过的包头去掉,这样来保证传输数据的格式完全一致。,3.1.2 IP协议中的概念,TCP/IP协议叫做传输控制/网际协议,TCP/IP是Internet网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,但TCP/IP是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是
7、保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。,3.2 IP地址,IP协议配套使用的有下述四个协议。地址解析协议ARP逆地址解析协议RARP 因特网控制报文协议ICMP因特网组管理协议IGMP 图3-1画出了这四个协议和网际协议IP的关系。,3.2 IP地址,3.2.1 IP地址的分类,IP地址及其表示方法:现在使用的IPv4,32位,但不好记忆 IP地址=网络号(netid)+主机号(hostid)发展的初期,人们用IP地址的前8位来定义所在的网络,后24位用来定义该主机在当地网络中的地址。由于这种方案可以表示的网络数太少,而每个网
8、络中可以连入的主机又非常多,后改A类、B类和C类等地址。,3.2.1 IP地址的分类,3.2.2 IP地址的表示,各类IP地址的特点,3.2.2 IP地址的表示,3.2.3 特殊IP地址总结,IP地址用来标识互联网中的主机,但少数IP地址有特殊用途,不能分配给主机,这些IP地址共有如下六种(以下用Netid表示网络号,用Hostid表示主机号)。1网络地址(Netid=特定网络号,Hostid=0)在互联网中经常要使用某个网络的网络地址。在IP地址编码方案中,网络地址由一个有效的网络号和全“0”的主机地址组成。,3.2.3 特殊IP地址总结,2直接广播地址(Netid=特定网络号,Hostid
9、=全1)当IP地址由一个有效的网络号和全“1”的主机地址组成时,这样的IP地址用于广播通信,即同时向指定网络中的所有主机发送数据报,叫直接广播,具有这种特点的IP地址叫直接广播地址。3有限广播地址(Netid=全1,Hostid=全1)有限广播地址也称为本网广播地址。如果IP地址的32位二进制数全为“1”,则这样的地址用于对本网广播通信。也就是说,如果一台主机发送的数据报,其目标IP地址为255.255.255.255,则该数据报被送到本网中的每一台主机。,3.2.3 特殊IP地址总结,4本网特定主机地址(Netid=全0,Hostid=特定主机号)在本网内部主机之间通信时,可以用网络地址全为
10、“0”的IP地址。这包括两种情况:一是可能主机想进行本网内主机之间的通信,但又不知道本网的网络地址;二是为了简单起见,在本网络内通信时只给出目标主机的主机号。5.回送地址(Netid=127,Hostid=任意值)A类地址中,网络地址为127的地址是一个保留地址,用于网络软件测试或本机进程间通信。发送到这种地址的数据报不输出到线路上,而是立即被返回,又当作输入数据报在本机内部进行处理,所以将这种地址称为回送(Look Back)地址。在任何网络上不可能出现网络地址为127的数据报在传输,它一般只用来对本机协议的正确性进行测试。,3.2.3 特殊IP地址总结,6.本网络本主机(Netid=全0,
11、Hostid=全0)全“0”的IP地址表示本网络上的本主机。,3.2.3 特殊IP地址总结,3.2.4 IP地址的缺陷,移动性不好IP差异造成巨大的资源浪费C类网络的扩大改变时,须对软件系统进行修改,且容易出错,3.2.4 IP地址的缺陷,常见的IP地址的扩展技术:,子网技术 超网技术 私有网络地址,3.2.5 子网技术,IP地址空间的利用率有时很低。给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。两级的IP地址不够灵活。原来netid相同、subnetid不同,现在掩码长了,也就是用一个还是多个子网的问题。,划分子网(VLSM)的概念和思路,VLSM子网化的方法,下图表示
12、一个单位拥有一个B类IP地址,网络地址是145.13.0.0(net-id是145.13)。,VLSM子网化的方法,现将上图的网络划分为三个子网,如下图所示。,VLSM子网化的方法,又如:假设一个公司被分配了一个C类地址,该公司的网络拓扑结构如下图。为方便起见,这里用保留地址192.168.1.0(原网络)作为例子进行说明。,VLSM子网化的方法,将192.168.1.0子网化使用的子网掩码255.255.255.224,或192.168.1.0/27,即使用27位子网掩码,得到A、B、C、D、E和F六个子网,参见下面的图。,VLSM子网化的方法,我们将子网A、子网B分配给部门1和部门3(每个
13、子网中可用主机地址为30个),另外根据实际情况:总公司部门2、分公司部门4、分公司1和分公司3各有10余台主机,因此,对子网D和子网E再进行子网化,用28位子网掩码 255.255.255.240(或192.168.1.128/28和192.168.1.160/28,即28位掩码),得到子网 192.168.1.128/28、192.168.1.144/28、192.168.1.160/28和192.168.1.176/28,分别分配给总公司部门2、分公司部门4、分公司1和分公司3,每个子网可用主机数为14个。还剩余子网D和子网E以便以后公司部门扩展之用。,3.2.6 超网技术,子网:IP地址
14、根据子网掩码将大的网络分为独立的小的网络。(大网络小网络)超网:把一些小网络组合成一个大网络。(小网络大网络),CIDR(无类域间路由)技术实现了超网技术,消除了IP地址类别的概念。,3.2.6 超网技术,假设现在有16个C类网络,从201.66.32.0到201.66.47.0,原来子网掩码为:255.255.255.0。现在可以用缩短的子网掩码255.255.240.0统一表示为网络201.66.32.0。(47-32+1=16,32=00100000,47=00101111,240=11110000,)但是,并不是任意的地址组都可以这样做,例如16个C类网络201.66.71.0到201
15、.66.86.0就不能形成一个统一的网络。不过这其实没关系,只要策略得当,总能找到合适的一组地址的。,3.2.7 私有网络地址,私有地址是指内部网络(局域网内部)的主机地址;公有网络地址是局域网的外部地址(在因特网上的全球唯一的IP地址)。因特网地址分配组织规定以下三个范围网络地址保留用做私有地址:10.0.0.010.255.255.255172.16.0.0172.31.255.255192.168.0.0192.168.255.255 也就是说这三个范围网络的地址不会在因特网上被分配,但可以在一个企业(局域网)内部使用。(为日后接入,不同的企业,他们的内部网络地址可以相同),3.2.7
16、私有网络地址,3.3.1 网络字节序和主机字节序,主机字节序即内存中存储字节的方法有:Littleendian:将低内存地址的字节解释为整数中低位的字节Bigendian:将高内存地址的字节解释为整数中低位的字节网络字节序:表示网络协议在处理多字节时的顺序,一律为Bigendian,高地址,输出,3.3.1 网络字节序和主机字节序,主机字节序和网络字节序转换的函数:,转换为网络字节序(host to net):uint16_thtons(uint16_t(16位的主机字节序)uint32_thtonsl(uint32_t(32位的主机字节序)转换为主机字节序(net to host):uint
17、16_tntohs(uint16_t)uint32_tntohl(uint32_t),3.3.2 IP数据包,IP数据报的格式如图所示。普通的IP首部长为20个字节,除非含有选项字段。,3.3.2 IP数据包,分析上图。最高位在左边,记为0 bit;最低位在右边,记为31bit,4个字节的32bit值以下面的次序传输:首先是07bit,其次815bit,然后1623bit,最后是24 31bit。这种传输次序称作big endian字节序。由于TCP/IP首部中所有的二进制整数在网络中传输时都要求以这种从左到右,从上到下组成的串行数据次序。因此它又称作网络字节序。以其他形式存储二进制整数的机器
18、,如little endian格式,则必须在传输数据之前把首部转换成网络字节序。,3.3.2 IP数据包,1IP数据报首部的固定部分中的各字段(1)版 本:目前的协议版本号是4,IPv4(2)首部长度:度量单位是32位(3)服务类型:对IP数据报的处理方式(4)总 长 度:包头长度+数据包长度(5)标 识:切片(6)标 志:切片(7)片 偏 移:切片,3.3.2 IP数据包,(8)生存时间:防止IP数据包永远留在Internet上(9)协议:数据报的上层协议或处理协议 图3-15表示IP层需要根据这个协议字段的值将所收到的数据交付到正确的地方。,3.3.2 IP数据包,常用网际协议编号,3.3
19、.2 IP数据包,(10)首部检验和:检验数据包的首部,不包括数据部分。(11)源地址:返回(12)目的地址:目标,3.3.4 IP数据包的分片与重组,2IP数据包首部的可变部分IP首部的可变部分就是一个选项字段。选项字段用来支持排错、测量以及安全等措施。IP首部的可变部分有两个选项是关于源站路由选择的,即不严格的源站路由选择和严格的源站路由选择。,3.3.2 IP数据包,目前的协议版本号是4,因此IP有时也称作IPv4。首部长度指的是首部占32 bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部最长为60个字节。原来最少20个字节,所以可以最多40个字节。24bit=16种,16
20、-1=15数字,(1532)/8=60字节,3.3.3 服务类型,D:最小延时(1000)T:最大吞吐量(0100)R:最高可靠性(0010)C:最小费用(0001)以上四位在某一时刻,最多只能设置其中一位为1,因为不能同时满足两个或两个以上的条件。,3.3.3 服务类型,TOS建议使用数值(但实际全0),3.3.4 IP数据包的分片与重组,IP数据包的最大长度理论上可以达到65535个字节,但实际却无法达到。下表给出了不同链路层协议的MTU值(最大长度)。,3.3.4 IP数据包的分片与重组,3.3.4 IP数据包的分片与重组,3.3.4 IP数据包的分片与重组,重组当分了片的IP数据报被传
21、输到最终目标主机时,目标主机要对收到的各分片重新进行组装,以恢复成源主机发送时的IP数据报,这个过程叫IP数据报的重组。在IP数据报头部中,标识用16位二进制数表示,它惟一地标识主机发送的每一份数据报。目标端主机重组数据报的原理是:根据标识可以确定收到的分片属于原来哪个IP数据报;根据标志字段的片未完MF子字段可以确定分片是不是最后一个分片;根据偏移量就可以确定分片在原数据报中的位置。,3.3.4 IP数据包的分片与重组,分片与重组,3.3.5 IP选项,IP数据报选项,头部最大(1111)2 4=15 4=60字节,60-20=40字节。主要有两大功能:一是可以用来实现对数据报传输过程的控制
22、,如规定数据报要经过的路由;二是进行网络测试,如一个数据报传输过程中经过了哪些路由器。,3.3.5 IP选项,IP数据报选项,3.3.5 IP选项,IP数据报选项由三个部分组成:选项码、选项长度和选项数据,如所示。,3.3.5 IP选项,(1)复制:占1位,用来控制一个带有选项的IP数据报被分片后对选项的处理方式。如果该位被置1,将选项复制到所有分片中;被置0,将选项仅复制到第一个分片中。(2)选项类和选项号:选项类占2位,选项号占5位,用于确定该选项是哪类选项中的哪个选项,其实就是用于确定该选项的功能。,3.3.5 IP选项,1源路由选择所谓源路由选择(Source Routing),是指I
23、P数据报在互联网中传输时,所经过的路由是由发出IP数据报的源主机指定的,以区别于数据报在互联网中传输时由路由器的IP层自动寻径所得到的路由。通过设置源路由选择选项,可以测试网络中指定路由的连通性,以使数据报绕开出错的网络,也可用于测试特定网络的吞吐量。,3.3.5 IP选项,源路由选择分为两类,一类是严格源路由选择,另一类是宽松源路由选择。(1)严格源路由选择。严格源路由选择选项格式如图所示。(2)宽松源路由选择。,3.3.5 IP选项,2记录路由 3记录时间戳时间戳选项的格式与源路由选择选项类似,如图所示。,3.3.5 IP选项,时间戳选项的选项码为0 x44。选项长度表示选项的总长度(一般
24、为36或40),指针指向下一个可用空间的指针(值为5、9、13等)。接下来的两个字段各占4位:溢出字段OF(Over Flow)表示因时间戳选项数据区空间不够而未能记录下来的时间戳个数;标志字段FL用于控制时间戳选项的格式,其值的含义如表所示。,3.3.5 IP选项,时间戳选项提供了IP数据报传输中的时域参数,可用于分析网络吞吐量、拥塞情况和负载情况等。在ping网络命令中提供了对严格源路由选择、宽松源路由选择和记录时间戳的支持,读者可以使用ping的帮助信息来查看这些参数。使用ping命令的这些功能,可以帮助读者理解IP数据报头选项。最后要说明,并非所有的主机和路由器都支持这些选项。另外,如
25、果一个选项字段不是以32位二进制数为界限的,则要在最后插入值为0的填充字符。这样就保证了IP头部始终是32位二进制的整数倍,这是因为头部长度是以32位二进制数为计数单位的。,3.3.5 IP选项,ping程序提供-R选项,这样,每个处理该数据报的路由器都把它的出口IP地址放入选项字段中。当数据报到达目的端时,IP地址清单应该复制到ICMP回显应答中,它就打印出这份IP地址清单。只能9个,大于9个可用别的命令。,3.3.5 IP选项,Tcaceroute(利用ICMP),1.给主机发TTL=1的IP数据包2.发TTL+1的IP数据包3.发端口30000的IP数据包所以拿到=255的路由地址,习题,1简述IP协议在整个TCP/IP协议族中的作用和地位。2试述IP地址的结构、格式和分类。3IP协议报文有哪些主要字段?4IP数据报是如何从一台主机传输到相距甚远的另一台主机上的?5在网上查找并阅读RFC 791。6在连入Internet的一台主机上,实验下列网络命令的用法和功能,并总结该网络命令分别与哪些协议有关,可以修改协议中的哪些字段值。(1)ping(2)arp(3)route,
链接地址:https://www.31ppt.com/p-5283469.html