m000 0115 tcp_ip网络层技术概述(中文版1.1)_第1页
m000 0115 tcp_ip网络层技术概述(中文版1.1)_第2页
m000 0115 tcp_ip网络层技术概述(中文版1.1)_第3页
m000 0115 tcp_ip网络层技术概述(中文版1.1)_第4页
m000 0115 tcp_ip网络层技术概述(中文版1.1)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TCP/IP网络层技术概述II11内容简介112网络层功能213IP地址3131IP地址的概念3132二进制与十进制数的转换5133IP地址分类8134子网的划分13135无类域间路由(CIDR)20136NAT与IPV62214网络层设备2515IP协议27151可路由协议与路由协议27152IP报文格式27153IP报文转发2916ARP协议31161ARP协议功能31162ARP协议的工作原理3217RARP协议3318ICMP协议35181ICMP协议介绍35182ICMP工作3719IGMP协议39110总结40111练习题41TCP/IP网络层技术概述HUAWEITECHNOLOGIES11内容简介在前一章数据链路层,我们介绍了以太网交换机根据MAC地址完成数据帧在链路层的转发,并实现了冲突域的划分,提高了带宽的利用率。在这一章中,我们将介绍网络层的相关概念和协议,IP地址的分类和基于IP地址划分子网是本章的重点内容,网络层根据数据包的IP地址实现寻址和路由的功能。我们还将逐一介绍网络层的协议,比如IP、ARP、RARP、ICMP、IGMP协议,这一章是我们理解网络的最为重要的章节。学习完本章,您应该能够描述网络层的功能理解IP地址定义和分类运用IP地址划分子网理解路由和路由协议的概念描述ARP协议的功能描述RARP协议的功能描述ICMP协议的功能描述IGMP协议的功能B1B2C1A1A3A2网络A网络B网络CC212网络层功能OSI参考模型的第三层是网络层,数据在这个层上被分解为“数据包”。网络层利用下两层提供的服务为传输层提供通信服务。网络层隐藏各种链路的具体特性,因此,从传输层向下看网络层时,看到的是一种将数据从源端传送到目的端的服务。网络层的主要功能是根据路由信息完成数据报文的转发。路由就是指导报文发送的路径信息。网络层检查网络拓扑,以决定传输报文的最佳路由,找到数据包应该转发的下一个网络设备(一般是路由器),然后利用网络层协议封装数据报文,利用下层提供的服务把数据转发到下一个网络设备。换句话说,就是指你想要数据包从源端A被传送到到目的端B,就必须决定一条路径。图11寻找一条最佳路径我们知道,如果源站点A和目的站点B处于同一个局域网中(比如说,以太网),可以直接利用数据链路层的MAC地址,将数据从一个节点传递到相同链路的另一个节点上。如果A、B处于不同网络中,为了更加高效地实现寻址和路由,网络层协议定义了识别网络中主机的地址,这个地址包含两个部分网络部分和主机(或节点)部分。这个地址唯一的标识网络中的主机。在TCP/IP中,这个地址是四字节(32BIT)的串,称为IP地址。同一个网络中的所有节点的网络部分的地址相同。如图12所示。这个网络层地址也称为逻辑地址或软件地址。网络层协议为每个网络层设备分配了一个或多个逻辑地址。那么这个逻辑地址和物理地址有什么不同,为什么要采用两个地址我们将在下一节为大家进一步介绍IP地址的概念。在TCP/IP协议栈中,运行在网络层的协议主要有IP(INTERNETPROTOCOL)协议负责网络层寻址、路由选择、分段及包重组。地址解析协议(ARP,ADDRESSRESOLUTIONPROTOCOL)负责把网络层地址解析成物理地址,比如MAC地址。物理层数据链路层网络层逻辑地址MAC地址图12唯一的编址允许网络间通信逆向地址解析协议(RARP,REVERSEARP)负责把硬件地址解析成网络层地址。INTERNET控制消息协议(ICMP,INTERNETCONTROLMESSAGEPROTOCOL)负责提供诊断功能,报告由于IP数据包投递失败而导致的错误。INTERNET组管理协议(IGMP,INTERNETGROUPMANAGEMENTPROTOCOL)负责管理IP组播组。这些协议我们也将在后面的内容中进一步介绍。13IP地址131IP地址的概念INTERNET上基于TCP/IP的网络中每台设备既有逻辑地址,也有物理地址(即常说的MAC地址)。MAC地址是设备生产厂家建在硬件内部或网卡上的。同样,它也是唯一标识一个节点的。该地址在OSI模型的数据链路层。逻辑地址在OSI模型的网络层定义,并且依赖于网络层中的网络协议。不同网络层协议对应逻辑地址的格式也不同。比如,IP和IPX对应逻辑地址的格式方式不同。这章我们只讨论IP协议对应的IP地址。图13示意了逻辑地址和MAC地址的的层次关系。如果网络设备已经有了一个唯一的物理地址(MAC地址),为什么还需要IP地址呢首先,每个设备支持不同的物理层地址;IP地址使得连接到光纤、令牌环和串行线的设备不必取得相同的物理地址,就可以使用IP。也就是说,IP地址是独立于数据链路层的。其次,物理地址是按厂商设备、而不是拥有它的组织来编号的。将高效的路由方案建立在设备制造商基础上,而不是网络所处的位置之上,这种方案是不可行的。IP地址的分配是基于网络拓扑,而不是谁制造了设备。最后,也是最重要的是,当存在一个附加层的地址寻址时,设备更易于移动和维修。如果一个网卡坏了,可以被更换,而不需取得一个新的IP地址。如果一个IP节点从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。图14简要示意了IP地址和MAC地址的关系。网络ID主机ID32BITS8601082882448国家代码城市区号市内分配的号码电话号码层次结构IP地址19216801MAC地址00E0FC23F3A5MAC地址00E0FC230001IP地址19216802IP地址110101MAC地址00E0FC23F3A5MAC地址00E0FC230001IP地址110102图13OSI中MAC地址与逻辑地址的关系图14IP地址和MAC地址关系区别网络层地址是具有层次结构的。如同我们日常使用的电话号码,如8601082882448。其中,86是国家代码,010是城市区号,而82882448则是那个城市中具体的电话号码。如图15所示。图15电话号码的结构图建立了这样的一个结构后,便很容易实现路由选择以及电话号码的分配,易于管理和维护。设想一下假若不采用这种结构,可能产生什么后果。人们怎样知道一个号码是否已经分配呢更进一步,假如有人想从北京拨打一个号码到深圳,那么北京的交换机怎样才能知道如何连接深圳的所有号码呢,总共的号码数量是10的13次方IP地址的分配与此相似,如前面所提及的,由网络部分和主机部分组成。由于对地址进行了逻辑分组,所以无论地址的分配、路由选择、还是其他服务的提供,都变得轻而易举。下面将给出对它的详细介绍。1IP地址的结构IP地址是32位的二进制数。每个IP地址被分为两部分,网络ID和主机ID,如图16所示。网络ID主机ID32BITS11000000101010008BITS8BITS8BITS8BITS19216851230000010101111011图16IP地址由网络ID与主机ID组成网络ID(又称为网络地址、网络号),用来在TCP/IP网络中,标识某个网段。该网络中的所有设备的IP地址具有相同的网络ID。主机ID(又称为主机地址、主机号),标识网段内的一个TCP/IP节点,例如工作站、服务器、路由器接口或其他TCP/IP设备。在一个网段内部,主机ID必须是唯一的。2IP地址的表示方法在计算机内部,IP地址是用二进制数表达的,共32BIT。例如11000000101010000000010101111011;然而,使用二进制表示,很不方便我们记忆,通常把32位的IP地址分成四段,每8个二进制位为一段,每段二进制分别转换为我们习惯的十进制数。并用点隔开。我们称为用点分十进制表示IP地址。上例用二进制表达的IP地址可以用点分十进制1921685123表示。如图17所示。图17IP地址的表示方法尽管在网络配置和解决网络问题时,我们主要使用点分十进制表示法,但为了便于理解诸如子网掩码(本章后面会讨论)之类的TC/IP设计问题,理解IP地址的二进制表示等基础知识是必要的。如果你已经掌握了二进制与十进制数转换的知识,你可以跳过532节二进制与十进制数的转换,直接进入533的IP地址分类一节。132二进制与十进制数的转换我们最熟悉的计数方式是以10为基数的数值编码系统。十进制数的数字元素包括0,1,2,3,4,5,6,7,8,9共10位。十进制数的幂级数有100,101,102,103,104,等等。然而在计算机系统内,数据如果要被识别,需要将数据转换为电压来表示,计算机则根据电压识别信号,如5V电压和0V电压。只有两种情况被计算机所识别。因此,使用两个数值来与计算机交流更加方便,二进制数由此产生。以2为基数的数值系统称为二进制数,二进制的数字元素包括数字0和1。另外,由于二进制数不便于理解和记忆,为了更有效地将这些二进制数据位组合在一起,还开发了一个有16个数字的系统,即十六进制系统。它包括的数字元素有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。图18示意了二进制数和十进制数的对应关系。图18二进制数与十进制数对应关系在一个二进制数中,某一位的1表示的值大小由其位置决定,如果在最低位则为201,如果为第2位则为212,如果为第3位则为224,如果为第4位则为238,等等。例如二进制10101001的十进制数对应关系,如图19。1281011100000001832图19二进制数10101001的十进制数对应关系1二进制数如何转换十进制数一个二进制数对应的十进制数,对应于图18所示的转换关系,将会直观、明了。方法为把二进制数中为1的位对应的十进制数值相加起来即可获得。从数学上讲,IP地址的每个8位数组(共有4个)能表示的最大值为10进制255,2551286432168421,若要一个8位的二进制数等于255,需要其中的每一位均为1。为了更清晰地描述转换过程,我们首先参考十进制数的分解表示法例如十进制数102093可以表示为102093105110401032102010191003,如图110。105100000100000104100000200009031031000102100101101001102093图110十进制数的累加计算19216812311000000101010000111101100000101527128128266401684125322416238224101111二进制数10011111十进制数1590120121202第三行的数值相加则为它的总数102093。与十进制数的分解表示法一样,二进制数也可以如此表示,例如二进制数可以表示为10011111271260250241231221211201。如图111,把二进制数中为1的位对应的十进制数值相加起来即可获得它的对应十进制数值。例如10011111转换为十进制数为159。图111二进制数10011111转换为十进制159例如将以二进制数表示的IP地址11000000101010000000010101111011转换为以十进制数表示形式为1921685123,如图112。图112IP地址的二进制形式转换为十进制2十进制数如何转换为二进制数相比二进制数转换十进制数,则没有那么直观。这里,我们提供一个简易可行的办法对一个需要转换的十进制数(如234),首先列出图18表示的十进制与二进制数对应关系,然后从高位到低位比较,大于或等于该位十进制值(如128,64,32,16,8,4,2,1)则该位为1,并减去该数值;剩余数值从高位到低位继续比较,直到为零止。当结束后,将其它空白位补零,就得到了完整的对应二进制数。例一十进制数234,将它转换为二进制数。步骤1,我们列出对应关系表,如图113所示。步骤2,234比较最高位(第8位)十进制值128,由于234128,所以该位设置1,234128106。步骤3,106比较第7位的十进制值64,由于10664,所以该位设置1,1066442。步骤4,42比较第6位的十进制值32,由于4232,所以该位设置1,423210。步骤5,10比较第5位的十进制值16,在这里428,该位则置1,1082。步骤7,2比较第3位的十进制值4,在这里2128106641082322201结束比较步骤结果32BITSB类地址1主机ID主机ID网络ID0网络ID32BITSA类地址0主机ID主机ID主机ID32BITSC类地址1主机ID网络ID0132位地址中的多少位,就是说每一类中,规定了可以容纳多少个网络,以及这样的网络中,可以容纳多少台主机。下面,我们了解IP地址的几种分类的区别。1A类A类IP地址的最高位是设为“0”。接下来的7位(第2位到第8位结束)表示网络ID。剩下的24位表示主机ID,如图114。可见,A类的网络地址范围为0000000101111110,如果用十进制表示,就是A类地址的网络地址在1126之间(0和127留作它用)。例如10111、126111就是A类地址。如果第一个字节大于126,就不属于A类地址,如192111。A类地址的网络共有126个,每个网络可以有16,777,214台主机。A类地址主要分配给有大量主机的网络。图114A类IP地址2B类B类IP地址的前两位设为“10”,接下来的14位(从第3位到第16位结束)表示网络ID。剩下的16位(后两个八位)表示主机ID。如果用十进制表示,就是B类地址的第一个字节在128191之间,例如17216811就是B类地址。B类地址允许16,384个网络,每个网络拥有65,534台主机。图115显示了B类地址的结构。图115B类IP地址3C类C类IP地址的前3位设为“110”。接下来的21位(从第4位到第24位结束)表示网络ID。剩下的8位(最后一个八位数)表示主机ID。如果用十进制表示,就是C类地址的第一个字节在192223之间,例如202141611就是C类地址。C类地址允许2,097,152个网络,每个网络拥有254台主机。图116显示了C类地址的结构。32BITSD类地址1组播地址01132BITSE类地址1保留111图116C类IP地址4D类D类地址以“1110”开头,说明第一个字节从224239。D类地址用于组播目的,你可以通过组播地址将数据发送给多个主机。发送组播需要特殊的路由配置;在默认情况下,它不会转发。D类地址结构如图117所示。图117D类地址5E类E类地址最高四位以“1111”开头,代表的第一个字节在240254之间,E类地址并不分配给用户使用,而是一个实验性地址,用于科学研究。其结构如图118所示。图118E类地址表51汇总了五类IP地址第一个8位位组所表达的地址范围。我们在后面的关于IP地址的讨论中重点涉及A类、B类和C类IP地址,因为它们是用于常规IP寻址的地址。表11IP地址范围、类和位格式1521101010019216820192168212819216821291011125152111152112网络地址网络地址6特殊用途IP地址IP地址空间中的某些地址已经为特殊目的而保留,不能用于标识网络设备,这些保留地址的规则如下IP地址的主机ID不能设成“全部为0”或“全部为”。当IP地址中的主机ID中的所有位都设置为“0”时,它表示为一个网络,而不是指示哪个网络上的特定主机。图119示意了路由器根据网络ID进行数据的转发。图119路由器识别网络ID当IP地址中的主机ID中的所有位都设置为“”时,则代表面向某个网络中的所有节点的广播地址。例如168123255255或20211426255。IP地址的网络ID部分不能设成“全部为0”或“全部为”。当IP地址中的网络ID所有位都设置为“”时,用来表示本地网络中的特定主机,是不用于路由的。当IP地址中的网络ID所有位都设置为“1”时,代表“未知网络或地址”。地址类第一个8位数的格式地址范围A类0XXXXXXX1126B类10XXXXXX128191C类110XXXXX192223D类1110XXXX224239E类1111XXXX240254IP地址的网络ID和主机ID不能设成“全部为0”或“全部为”。当IP地址中的所有位都设置为“1”时,产生的地址255255255255,用于向本地网络中的所有主机发送广播消息。通常路由器并不传递这些类型的广播。当IP地址中的所有位都设置为“”时,产生的地址0000代表所有的主机,路由器用0000地址指定默认路由。IP地址的网络ID不能以数字127开头。网络地址127XXX已经分配给本地环路地址。这个地址的目的是提供对本地主机的网络配置的测试。表52列出了所有特殊用途地址。表12特殊用途地址网络部分主机部分地址类型用途ANY全“0”网络地址代表一个网段ANY全“1”广播地址特定网段的所有节点127ANY回环地址回环测试全“0”所有网络路由器用于指定默认路由全“1”广播地址本网段所有节点如上所述,则每一个网段都会有一些IP地址不能用作主机的IP地址。下面我们通过示例来计算一下某个网段可用的IP地址,即可分配给主机使用的IP地址。例如B类网段1721600,有16个主机位,因此有216个IP地址,去掉一个网络地址1721600,一个广播地能用作标识主机,那么共有2162个可用地址。C类网段19216810,有8个主机位,共有28256个IP地址,去掉一个网络地址19216810,一个广播地址1921681255,共有254个可用主机地址。现在,我们可以这样计算每一个网段可用主机地址假定这个网段的主机部分位数为N,那么可用的主机地址个数为2N2个。IP地址采用32个二进制位决定了IP地址资源是有限的。理论上,IP地址可容纳大约43亿个不同的地址。但是IP地址存在着严重的浪费,导致IP地址资源过于紧张,主要有两方面原因一方面是32位的长度过短,如果IP地址也按照MAC地址采用48位的格式,情况也许不同。然而在当初设计时,设计者没有想到INTERNET后来会发展得如此迅猛。现在,正在开发全新的IP协议,这个方案被称为IP版本6(IPV6),以取代正在使用的IPV4。另一方面的原因则是IP地址分类的约束。INTERNIC(INTERNETNETWORKINFORMATIONCENTER)仅仅将IP地址分类为5种,提供给用户的只有A、B、C三类地址,然而用户的需求决定了需要更细的划分。例如某组织需要支持3000台主机的网络地址,由于C类地址只支持二百多个主机地址,所以他就申请B类地址,而B类地址能够支持6万多主机。对于IP地址资源的紧张,16910011691002169102552541691025525332BITS主机ID网络ID子网ID网络ID扩展子网后的网络ID主机ID人们需要找到解决办法,IPV6是彻底的解决方案,但更新需要一个过程。当前紧急的是如何善待所剩不多的IP地址(主要剩C类地址),由此人们提出了一些临时的解决办法,包括CIDR(CLASSLESSINTERDOMAINROUTING,无类别域间路由)等,在本章后面,我们将一一介绍。134子网的划分1划分子网的原因现在INTERNET中,IP地址资源已经被分配得差不多了,只剩下少部分B类地址和一部分C类地址。IP地址消耗如此之快的原因在于IP地址巨大的浪费。以B类地址为例,它可以标志16,282个物理网络,每个网络65534台主机。试想一个网络包容六万多台主机,该是多么的巨大如图120所示。图120没设子网的网络如何解决这个问题呢可以考虑对IP地址的主机ID进一步划分,划分为子网ID和主机ID两部分。这样扩大了网络划分的能力,充分利用主机ID部分巨大的编址能力。这就是子网编址技术。2子网编址模式下的地址结构如图121所示,将原来主机ID做进一步划分为子网ID和主机ID。169100016910101691020物理网络逻辑网络物理网络AB图121主机ID部分进一步划分为子网ID和主机ID在原来的IP地址模式中,网络ID部分就标识一个独立的物理网络,引入子网模式后,网络ID部分加上子网ID才能全局唯一地标识一个物理网络。也就是说,子网的概念延伸了地址的网络部分,以允许将一个网络分解为多个子网。子网编址使得IP地址具有一定的内部层次结构。这种层次结构便于分配和管理。它的使用关键在于选择合适的层次结构,如何即能适应各种现实的物理网络规模,又能充分地利用地址空间。也就是说,从何处分隔子网号和主机号。由此,TCP/IP采用了子网掩码的方法。A类、B类或C类IP地址的主机ID部分,由用户(网络管理员)进行设置。即当申请到一个网络地址后,网络管理员将为网络中每一主机分配IP地址。由于子网ID属于A类、B类或C类IP地址的主机ID部分,因此也由网络管理员自行分配(掌握好子网划分是必要的)。从外界来看,网络与没有划分之前并没有什么不同。至于它内部是否再进行过划分,有多少个子网,是该网络的内部事务。当网络外有数据向网络内一子网内的某主机发送数据,将数据转发到该网络时,路由器将IP地址和其子网掩码进行“与”操作,得到该网络ID和子网ID,看它是发往哪个子网的数据,一旦找到匹配对象,路由器就知道该使用哪一个接口,以向目的主机发送数据。那么如何定义子网掩码以实现子网划分功能呢这是我们下面将讨论的问题。图122划分子网后,路由A看到的网络号仍是子网划分前的16910003子网掩码随着子网的出现,不再是按照标准地址类(A类、B类、C类等)来决定IP地址中的网络ID。这时,就需要一个新的值来定义IP地址中哪部分是网络ID,哪部分是主机ID。这时子网掩码应运而生。简单地说,子网掩码的作用就是确定IP地址中哪一部分是网络ID,哪一部分是主机ID。0000000011111111111111111111111111111111111111110000000011111111000000000000000000000000000000000255002552550011111111111111110000000011111111A类子网掩码B类子网掩码C类子网掩码1子网掩码的格式同IP地址一样,是32位的二进制数,由连续的“1”和连续的“0”组成。为了理解的方便,也采用点分十进制数表示。A类、B类、C类都有自己缺省的子网掩码,图123列出了标准类的缺省子网掩码。图123缺省子网掩码子网掩码的定义如下对应于IP地址的网络ID的所有位都设为“1”。“1”必须是连续的,也就是说,在连续的“1”之间不允许有“0”出现。对应于主机ID的所有位都设为“0”。在这里,我们特别提醒大家注意的是,一定要把IP地址的类别与子网掩码的关系分清楚。例如有这样一个问题,IP地址为2111,子网掩码为2552552550,是一个什么类的IP地址有很多具有工程经验的技术人员会误认为它是一个C类的地址。正确答案为A类地址。为什么呢我们前面在解释分类的时候,用的标准只有一个,那就是看第一个八位数组(这里是2)是在哪一个范围,而根本不看子网掩码。在这一例子中,子网掩码为2552552550表示为这个A类地址借用了主机ID中的16位来作为子网ID。如图124所示。图124借用主机ID中的16位作子网ID习惯上,我们有两种方式来表示一个子网掩码。一种就是用点分十进制表示;如2552552550。另一种就是用子网掩码中“1”的位数来标记。因为在进行网络ID和主机ID划分时,网络ID总是从高位字节以连续方式选取的,所以可以用一种简便方法表示子网掩码,即用子网掩码长度表示/表示子网掩码中“1”的位数。例如A类默认子网掩码11111111000000000000000000000000即可以表示为255000,也可以表示为/8;B类默认子网掩码11111111111111110000000000000000可以表示为/16;C类默认子网掩码11111111111111111111111100000000可以表示为/24;17216800/16就表示它的子网掩码为25525500。前面提到IP地址和子网掩码进行“与(AND)”运算,从而判断该地址所指示的网络ID。这个“与(AND)”运算是一种布尔代数运算。具体做法是IP地址与子网掩码进行布尔“与(AND)”运算所得出的结果即为网络ID,即IP地址AND子网掩码网络ID图125划分子网后的网络ID在逻辑“与”操作中,只有在相“与”的两位都为“真”时结果才为“真”,其他情况时结果都是“假”。把这个规则应用于IP地址与子网掩码相对应的位,相“与”的两位都是“1”时结果才是“1”,其他情况时结果就是“0”。布尔“与(AND)”运算规则如表53所示。表13布尔“与(AND)”运算规则运算结果1AND111AND000AND100AND00事实上,子网掩码就象一条由一截透明一截不透明的两截组成的纸条,将纸条放在同样长度的IP地址上,很显然,你可以透过透明部分看到网络ID。我们通过子网掩码来划分一个网络中包含多少个子网,当设置好子网掩码后,它可以帮助计算机理解网络规划的意图。2253625主机ID11100001网络ID22536251832552552552401111111111111111001001000001100111111111101101111111000011100001001001000001100110110000AND176网络ID例如,网络A中的主机A0的IP地址为2253625183,子网掩码为255255255240,其网络A的网络ID是多少要获得结果,把两个数字都转换成二进制等价形式后并列在一起。然后,对每一位进行“与”操作即可得到结果。32位IP地址和子网掩码按位逻辑“与”的结果为2253625176,如图126所示。图1262253625183/28的网络ID的计算过程4子网划分虽然用主机位进行子网划分是一个很容易理解的概念,但子网划分的实际操作却要略微复杂一些。它涉及到分析网络上的通信量形式,以确定哪些主机应该分在同一个子网中;共需要有多少个子网,通常考虑发展的因素,而留下一个空间;同时也要考虑现在每个子网中支持主机总数等。在子网划分过程中,主要的考虑就是我们需要支持多少个子网。一个IP地址,总共是32位,当我们选择了子网掩码后,子网的数量和每个子网所具有的最大的主机数量也随之确定下来了。表54是C类地址子网划分表。其中列出了所有划分的可能,查看这张表,可以试着找到合适的掩码。B类地址和A类地址的划分,这里不再给出,请大家自己推算。表14C类子网表子网位数子网数量主机位数主机数量掩码24662255255255192塘硸砠硸硸硸000硸砠硸硸3853025525525522441641425525525524053236255255255248664222552552552525子网划分实例下面我们用一个例子来说明子网划分过程例如某公司现申请了一个C类地址2002002000,公司有生产部门和市场部门需要划分为单独的网络,也就是需要划分为2个子网,每个子网必须至少支持40台主机,两个子网用路由器相连。如何来划分子网1决定子网掩码有2个子网,2222,为了预留可扩展性,所以我们只要从IP地址的第四个八位数中借出2位作为子网ID就可够了。从而可以确定掩码为255255255192。如图127所示。图128获得网络ID2计算新的子网网络ID子网ID的位数确定后,子网掩码也就相应的确定了,如图128,就是255255255192,可能的子网ID有4个00,01,10,11。我们使用其中的01和10,即20020020064和200200200128两个子网。图129借2位产生了两个子网3每个子网有多少主机地址用原来缺省的主机地址减去2个子网位,剩下的就是主机位了,共有826位,则每个子网最多可容纳642个主机,因为在子网内主机ID不能为全“0”或全“1”。其中子网1的IP地址范围为20020020065200200200126;子网2的IP地址范围为200200200129200200200190。子网1的广播地址为200200200127,子网2的广播地址为200200200255。图129示意了最终的网络拓扑图。20020020065200200200126200200200129200200200190市场部门生产部门20020020012820020020064图130划分子网后的网络结构图注意因为同一网络中的所有主机必须使用相同的网络ID,所以同一网络中所有主机的相同网络ID必须使用相同的子网掩码。例如,1382300/16与1382300/24就是不同的网络ID。网络ID1382300/16表明有效主机IP地址范围是1382301网络网络ID主机ID11001010202125618/2001111101001111010000100021224094前面3位标预置标识C类地址ID1382300/24表明有效主机IP地址范围是1382301到138230254。显然,这些网络ID代表不同的IP地址范围。135无类域间路由(CIDR)按照类划分IP地址在1982年被认为是一个好想法,因为类减少了用IP地址发送掩码信息的工作,但是因为现在我们正逐渐耗尽注册的IP地址,类将成为一个严重的致使IP地址浪费的问题。对那些有大量地址需求的大型组织,通常可以提供2种办法来解决直接提供一个B类地址。提供多个C类地址。但是,采用第一种方法,将会大量浪费IP地址,因为一个B类网络地址有能力分配21665535个不同的本地IP地址。如果只有3000个用户,大约62000个IP地址被浪费了。采用第二种方法,虽然有助于节约B类网络ID,但它也导致了一个新问题,那就是INTERNET上的路由器在它们的路由表中必须有多个C类网络ID表项才能把IP包路由到这个企业。这样就会导致INTERNET上的路由表迅速扩大,最后的结果可能是路由表将大到使路由机制崩溃。关于路由器的路由表的操作我们在后面会继续为大家介绍。为了解决这些问题,IETF制定了短期和长期的两套解决方案。一种彻底的办法就是扩充IP地址的长度,开发全新的IP协议,该方案被称为IP版本6(IPV6);但是它需要一定的时间来过渡,在下一小节,将会介绍这种协议。另一种则是解决当前燃眉之急,在现有IPV4的条件下,改善地址分类带来的低效率,以充分利用剩余不多的地址资源,CIDR由此而产生。CIDR(CLASSLESSINTERDOMAINROUTING),意为无类别的域间路由。正如它的名称,它不再受地址类别划分的约束,任何有效的IP地址一律对待,区别网络ID仅仅依赖于子网掩码。采用CIDR后,可以根据实际需要合理地分配网络地址的空间。这个分配的长度可以是任意长度,而不仅仅是A类的8位,B类的16位或C类的24位等预定义的网络地址空间中作分割。举例来说,202125618/24,按照类的划分,它属于C类地址,网络ID为202125610,主机ID为0008。使用CIDR地址,8位边界的结构限制就不存在了,可以在任意处划分网络ID。例如它可以将前缀设置为20,202125618/20。前20位表示网络ID,则网络ID为202125480。图130展示了这个地址被分割的情况。后12位用于主机识别,可支持40942个可用的主机地址。图131CIDR地址完全抛弃了类的概念。CIDR确定了三个网络地址范围保留为内部网络使用,即公网上的主机不能使用这三个地址范围内的IP地址。这三个范围分别包括在IPV4的A、B、C类地址内,它们是100001025525525517216001723125525519216800192168255255CIDR是对IP地址结构最直观的划分。采用CIDR这种思想具有以下一些特性1路由汇聚CIDR通过地址汇聚操作,使路由表中一个记录能够表示许多网络地址空间。这就大大减小了在任何互联网络中所需路由表的大小,能使网络具有更好的可扩展性。参见图131的示例。2消除地址分类消除类别虽然不能从那些已分配的地址空间中,把浪费的地址恢复。但它能使剩下将被使用的地址被更有效地使用,表面上看来,这种努力会为IPV6的开发赢得所需的时间。3超网所谓超网就是将多个网络聚合起来,构成一个单一的、具有共同地址前缀的网络。也就是说,把一块连续的C类地址空间模拟成一个单一的更大一些的地址空间,模拟一个B类地址。以前基于分类的地址结构带来问题,主要是因为B类和C类地址的巨大差异。一个太大,一个太小。当然,CIDR并没有类的概念,它只是提供对任意地址的无约束地分配网络ID和主机ID。但因为针对的对象是主机ID较少的C类地址,所以从表现来看,它的思想和前面讲的子网划分刚好相反,子网是要将一个单一的IP地址划分成多个子网。而CIDR是要将多个子网(子网是C类对B类而言,就是说C类是B类的子网)汇聚成一个大的网络。超网的合并过程为首先获得一块连续的C类地址空间。然后从默认掩码(2552552550)中删除位,从最右边的位开始,并一直向左边处理。直到它们的网络ID一致为止。图131对此进行了说明。16个C类地址组成了一个地址空间块。假设已经获得了下列的16个C类网络地址20211410、20211420、20211430、20211415020211410202114202021143020211415020211400/20这16个C类网络地址分别是独立的C类网络,它们的默认子网掩码为2552552550。通过从右向左删除位,可得它们相同的网络ID为20211400。子网掩码则为25525500,过程如图131。2021141011001010011100100000000100000000202114201100101001110010000000100000000020211415011001010011100100000111100000000网络ID为11001010011100100000XXXXXXXXXXXX(即20211400)图132汇聚网络后的网络ID为20211400由此可知,这些网络都似乎是网络20211400的一部分,因为16个网络ID都是20211400。图133将多个C类网络模拟成一个大的B类网这样做的好处可以从图132看出,在路由器中,并不是把所有的16个C类网络地址分别分配不同的路由表项,而是使用了一个单一的网络ID20211400/24来表示的,大大缩减路由表项的数目。这就是我们上面提到的路由汇聚。136NAT与IPV6随着INTERNET的迅速增长,IPV4地址空间逐渐耗尽是不可避免的事实,虽然CIDR的实现能够解决短期的一些问题,但毕竟是有限的。我们不得不再次商讨对策以解决INTERNET上IP地址短缺的问题。但在这个过程中,可能会发生一些让你感到头痛的事情,例如随着全球经济的发展,你所在的公司可能同其他公司合并了,该怎么办一般情况下,两个公司都希望彼此连接到内部网,以实现商业上的信息交流。然而,如果两个公司在坚持使用以前自己INTERNET上的IP地址,则将产生地址冲突。此时,你不得不进行地址的重新分配。现在有一种更简洁的办法,那就是使用NAT实现两个公司间的地址转换,以解决冲突。1NAT(网络地址转换)从最简单的方式来看,NAT就是隐藏你的内部地址,当然这要通过某些设备来转换网络层地址,这些设备包括路由器、防火墙等。理论上讲,其它的第三层协议,如APPLETALK或IPX协议都能被转换。实际上,目前一般仅用于第三层的IP地址转换。在分析各组织的地址需求时,INTERNET设计者们注意到,对许多组织来说,组织内部网络中的大部分主机不需要直接连接到INTERNET主机。这些主机只需要特定集合的INTERNET服务,比如WWW访问和EMAIL等,通常通过应用层网关如代理服务器或EMAIL服务器等访问这些INTERNET服务。结果大部分组织只需要少量的公共地址,用于直接连接到INTERNET的节点(比如代理路由器、防火墙和转换器等)。对组织内部不需直接访问INTERNET的主机,需要与已分配公共地址不重复的地址。为了解决这个问题,INTERNET设计者们预留了一部分IP地址空间并将该空间称作私有地址空间。共有三个私有空间如上节所述,这些空间内的IP地址称为私有地址。因为公共和专用地址空间不重叠,所以,私有地址永远不会与公共地址重复。NAT的设计思想的一个优点就是INTERNET应该能够看到由ISP分配的一个有效的INTERNET地址(公共地址),而内部机器全部使用私有地址。许多企业都采用私有地址的结果是私有地址空间被重复使用,有助于防止公共地址的耗尽。因为私有地址空间中的IP地址,从来不会被指定为公共地址,所以INTERNET路由器中也就不会有到私有地址的路由。私有地址在INTERNET上是不可达的。因而,来自私有地址主机的INTERNET通信必须向拥有有效公共地址的应用层服务器(比如代理服务器)发送它专用的请求,或者通过一个网络地址转换(NAT),从而在把通信发送到INTERNET之前将私有地址转换成公共地址。企业使用NAT将多个内部地址映射成一个公共IP地址。地址转换技术虽然在一定程度上缓解了公共IP地址匮乏的压力,但它不支持某些网络层安全协议,因此难免在地址映射中出现种种错误,这又造成了一些新的问题。而且,靠NAT并不可能从根本上解决IP地址匮乏问题,随着连网设备的急剧增加,IPV4公共地址总有一天会完全耗尽。所以IPV6作为INTERNET协议的下一版本,对IPV4的最终取代将不可避免的成为必然。2IPV6IPV6是下一代的IP版本,在它提出的众多改进中,最重要的是它将地址空间扩展到128位,即原先长度的4倍。扩展IPV6的地址空间主要是为了解决在90年代初出现的IPV4地址空间被迅速耗尽的问题。根据当时的估计,整个32位的地址将在10年或更短的时间内被耗尽。虽然这种情况还未发生,但是IETF利用这个机会提出了一个新的IP版本来克服现有的、已察觉到的IPV4的缺点。IPV6在身份验证和保密方面的改进使得它更加适用于那些要求对敏感信息和资源特别对待的商业应用;对于包头的简化减少了路由器上所需的处理过程,从而提高了选路的效率;同时,改进对包头扩展和选项的支持意味着可以在几乎不影响普通数据包和特殊包选路的前提下适应更多的特殊需求;流标记办法为更加高效地处理数据包的流提供了一种机制,这种办法对于实时应用尤其有用;下面将具体讨论这些新特性。扩展地址IPV6的地址结构中除了把32位地址空间扩展到了128位外,还对IP主机可能获得的不同类型地址作了一些调整。IPV4中用于指定一个网络接口的单播地址和用于指定由一个或多个主机侦听的组播地址基本不变。在IPV6的庞大地址空间中,目前全球连网设备已分配掉的地址仅占其中极小一部分,有足够的余量可供未来的发展之用。同时由于有充足可用的地址空间,NAT之类的地址转换技术将不再需要。简化的包头IPV6中包括总长为40字节的8个字段(其中两个是源地址和目的地址)。它与IPV4包头的不同在于,IPV4中包含至少12个不同字段,且长度在没有选项时为20字节,但在包含选项时可达60字节。IPV6使用了固定格式的包头并减少了需要检查和处理的字段的数量,这将使得选路的效率更高。IPV6包头的设计原则是力图将包头开销降到最低,具体做法是将一些非关键性字段和可选字段移出包头,置于IPV6包头之后的扩展包头中,因此尽管IPV6地址长度是IPV4的四倍,但包头仅为IPV4的两倍。包头的简化使得IP的某些工作方式发生了变化。一方面,所有包头长度统一,因此不再需要包头长度字段。此外,通过修改包分段的规则可以在包头中去掉一些字段。IPV6中的分段只能由源节点进行该包所经过的中间路由器不能再进行任何分段。最后,去掉IP头校验和不会影响可靠性,这主要是因为头校验和将由更高层协议(UDP和TCP)负责。流在IPV4中,对所有包大致同等对待,这意味着每个包都是由中间路由器按照自己的方式来处理的。路由器并不跟踪任意两台主机间发送的包,因此不能“记住”如何对将来的包进行处理。IPV6实现了流概念,其定义为流指的是从一个特定源发向一个特定(单播或者是组播)目的地的包序列,源点希望中间路由器对这些包进行特殊处理。路由器需要对流进行跟踪并保持一定的信息,这些信息在流中的每个包中都是不变的。这种方法使路由器可以对流中的包进行高效处理。对流中的包的处理可以与其它包不同,但无论如何,对于它们的处理更快,因为路由器无需对每个包头重新处理。身份验证和保密IPV6全面支持IPSEC,这要求提供基于标准的网络安全解决方案,以便满足和提高不同的IPV6实现之间的协同工作能力。IPV6使用了两种安全性扩展IP身份验证头(AH)和IP封装安全性净荷(ESP)。AH通过对包的安全可靠性的检查和计算来提供身份验证功能。发送方计算报文摘要并把结果插入到身份验证头中,接收方根据收到的报文摘要重新进行计算,并把计算结果与AH头中的数值进行比较。如果两个数值相等,接收方可以确认数据在传输过程中没有被改变;如果不相等,接收方可以推测出数据或者是在传输过程中遭到了破坏,或者是被某些人进行了故意的修改。ESP可以用来加密IP包的净荷,或者在加密整个IP包后以隧道方式在INTERNET上传输。其中的区别在于,如果只对包的净荷进行加密的话,包中的其他部分(包头)将公开传输。这意味着破译者可以由此确定发送主机和接收主机以及其他与该包相关的信息。使用ESP对IP进行隧道传输意味着对整个IP包进行加密,并由安全网关将其封装在另一IP包中。通过这种方法,被加密的IP包中的所有细节均被隐藏起来。其它特性局域网局域网广域网广域网接口局域网接口IPV6采用聚类机制,定义非常灵活的层次寻址及路由结构,同一层次上的多个网络在上层路由器中表示为一个统一的网络前缀,这样可以显著减少路由器必须维护的路由表项。在理想情况下,一个核心主干网路由器只须维护不超过8192个表项。这大大降低了路由器的寻路和存储开销。IPV6的邻居发现协议(NEIGHBORDISCOVERYPROTOCOL)使用一系列IPV6控制信息报文(ICMPV6)来实现相邻节点(同一链路上的节点)的交互管理。邻居发现协议以及高效的组播和单播邻居发现报文替代了以往基于广播的地址解析协议ARP、ICMPV4路由器发现和ICMPV4重定向报文。增强的选路功能。IPV6中有许多特性和功能能够提高网络性能和改善选路控制。更大的地址空间使我们在建立地址层次的时候具有更大的灵活性。使用选路扩展头(ROUTINGEXTENSIONHEADER)可以使源选路更高效。转换机制(TRANSITIONMECHANISM)。在IPV6中定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论