您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 计算机网络_第09讲_第4章网络层
第九讲第4章网络层(3)第4章网络层4.1网络层提供的两种服务4.2网际协议IP4.3划分子网和构造超网4.4网际控制报文协议ICMP4.5因特网的路由选择协议4.6IP多播4.7虚拟专用网VPN和网络地址转换NAT划分子网在一定程度上缓解了因特网在发展中遇到的困难。然而在1992年因特网仍然面临三个必须尽早解决的问题,这就是:B类地址在1992年已分配了近一半,眼看就要在1994年3月全部分配完毕!因特网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。整个IPv4的地址空间最终将全部耗尽。4.3.3无分类编址CIDR1.网络前缀1987年,RFC1009就指明了在一个划分子网的网络中可同时使用几个不同的子网掩码。使用变长子网掩码VLSM(VariableLengthSubnetMask)可进一步提高IP地址资源的利用率。在VLSM的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择CIDR(ClasslessInter-DomainRouting)。IP编址问题的演进CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP地址从三级编址(使用子网掩码)又回到了两级编址。CIDR最主要的特点无分类的两级编址的记法是:IP地址::={网络前缀,主机号}(4-3)CIDR还使用“斜线记法”(slashnotation),它又称为CIDR记法,即在IP地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中1的个数)。CIDR把网络前缀都相同的连续的IP地址组成“CIDR地址块”。无分类的两级编址CIDR地址块128.14.32.0/20表示的地址块共有212个地址(因为斜线后面的20是网络前缀的位数,所以这个地址的主机号是12位)。这个地址块的起始地址是128.14.32.0。在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20地址块”。128.14.32.0/20地址块的最小地址:128.14.32.0128.14.32.0/20地址块的最大地址:128.14.47.255全0和全1的主机号地址一般不使用。128.14.32.0/20表示的地址(212个地址)1000000000001110001000000000000010000000000011100010000000000001100000000000111000100000000000101000000000001110001000000000001110000000000011100010000000000100100000000000111000100000000001011000000000001110001011111111101110000000000011100010111111111100100000000000111000101111111111011000000000001110001011111111111010000000000011100010111111111111所有地址的20位前缀都是一样的最小地址最大地址一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。路由聚合也称为构成超网(supernetting)。CIDR虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。对于/20地址块,它的掩码是20个连续的1。斜线记法中的数字就是掩码中1的个数。路由聚合(routeaggregation)CIDR记法的其他形式10.0.0.0/10可简写为10/10,也就是把点分十进制中低位连续的0省略。10.0.0.0/10隐含地指出IP地址10.0.0.0的掩码是255.192.0.0。此掩码可表示为1111111111000000000000000000000025519200掩码中有10个连续的1CIDR记法的其他形式10.0.0.0/10可简写为10/10,也就是将点分十进制中低位连续的0省略。10.0.0.0/10相当于指出IP地址10.0.0.0的掩码是255.192.0.0,即11111111110000000000000000000000网络前缀的后面加一个星号*的表示方法如0000101000*,在星号*之前是网络前缀,而星号*表示IP地址中的主机号,可以是任意值。构成超网前缀长度不超过23位的CIDR地址块都包含了多个C类地址。这些C类地址合起来就构成了超网。CIDR地址块中的地址数一定是2的整数次幂。网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀变长。CIDR地址块划分举例因特网206.0.68.0/22206.0.64.0/18ISP大学X一系二系三系四系206.0.71.128/26206.0.71.192/26206.0.68.0/25206.0.68.128/25206.0.69.0/25206.0.69.128/25206.0.70.0/26206.0.70.64/26206.0.70.128/26206.0.70.192/26206.0.70.0/24206.0.71.0/25206.0.71.0/26206.0.71.64/26206.0.71.128/25206.0.68.0/23单位地址块二进制表示地址数ISP206.0.64.0/1811001110.00000000.01*16384大学206.0.68.0/2211001110.00000000.010001*1024一系206.0.68.0/2311001110.00000000.0100010*512二系206.0.70.0/2411001110.00000000.01000110.*256三系206.0.71.0/2511001110.00000000.01000111.0*128四系206.0.71.128/2511001110.00000000.01000111.1*128CIDR地址块划分举例因特网206.0.68.0/22206.0.64.0/18ISP大学X一系二系三系四系206.0.71.128/26206.0.71.192/26206.0.68.0/25206.0.68.128/25206.0.69.0/25206.0.69.128/25206.0.70.0/26206.0.70.64/26206.0.70.128/26206.0.70.192/26206.0.70.0/24206.0.71.0/25206.0.71.0/26206.0.71.64/26206.0.71.128/25206.0.68.0/23这个ISP共有64个C类网络。如果不采用CIDR技术,则在与该ISP的路由器交换路由信息的每一个路由器的路由表中,就需要有64个项目。但采用地址聚合后,只需用路由聚合后的1个项目206.0.64.0/18就能找到该ISP。2.最长前缀匹配使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefixmatching)。网络前缀越长,其地址块就越小,因而路由就越具体(morespecific)。最长前缀匹配又称为最长匹配或最佳匹配。最长前缀匹配举例收到的分组的目的地址D=206.0.71.128路由表中的项目:206.0.68.0/22(ISP)206.0.71.128/25(四系)查找路由表中的第1个项目ANDD=206.0.01000100.0第1个项目206.0.68.0/22的掩码M有22个连续的1。M=11111111111111111111110000000000因此只需把D的第3个字节转换成二进制。M=11111111111111111111110000000000206.0.01000100.0与206.0.68.0/22匹配最长前缀匹配举例收到的分组的目的地址D=206.0.71.128路由表中的项目:206.0.68.0/22(ISP)206.0.71.128/25(四系)再查找路由表中的第2个项目ANDD=206.0.71.10000000第2个项目206.0.71.128/25的掩码M有25个连续的1。M=11111111111111111111111110000000因此只需把D的第4个字节转换成二进制。M=11111111111111111111111110000000206.0.71.10000000与206.0.71.128/25匹配最长前缀匹配DAND(11111111111111111111110000000000)=206.0.68.0/22匹配DAND(11111111111111111111111110000000)=206.0.71.128/25匹配选择两个匹配的地址中更具体的一个,即选择最长前缀的地址。3.使用二叉线索查找路由表当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一个非常重要的问题。为了进行更加有效的查找,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是二叉线索(binarytrie)。IP地址中从左到右的比特值决定了从根结点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。为了提高二叉线索的查找速度,广泛使用了各种压缩技术。用5个前缀构成的二叉线索32位的IP地址唯一前缀01000110000000000000000000000000010001010110000000000000000000000000010101100001000000000000000000000000011101100000000001000000000000000001011010111011000010100000000000000000101110000111111104.4网际控制报文协议ICMP为了提高IP数据报交付成功的机会,在网际层使用了网际控制报文协议ICMP(InternetControlMessageProtocol)。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议,而是IP层的协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP报文的格式首部ICMP报文0数据部分检验和类型代码(这4个字节取决于ICMP报文的类型)81631IP数据报前4个字节都是一样的ICMP的数据部分(长度取决于类型)4.4.1ICMP报文的种类ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。ICMP报文的前4个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的4个字节的内容与ICMP的类型有关。ICMP差错报告报文共有5种终点不可达源点抑制(Sourcequench)时间超过参数问题改变路由(重定向)(Redirect)ICMP差错报告报文的数据字段的内容首部IP数据报ICMP的前8字节装入ICMP报文的IP数据报IP数据报首部ICMP差错报告报文8字节收到的IP数据报IP数据报首部8字节ICMP差错报告报文IP数据报的数据字段不应发送ICMP差错报告报文的几种情况对ICMP差错报告报文不再发送ICMP差错报告报文。对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。对具有多播地址的数据报都不发送ICMP差错报告报文。对具有特殊地址(如127.0.0.0或0.0.0.0)的
本文标题:计算机网络_第09讲_第4章网络层
链接地址:https://www.777doc.com/doc-2044628 .html