计算机网络:网络层与IP协议(4)
一、IPv6
IP协议是互联网的核心。但随着互联网的发展,到2011年,IPv4的32位地址已经耗尽。
解决IP地址耗尽的根本措施就是采用更大地址空间的新版本IP协议——IPv6。
1.IPv6的变化
- 更大的地址空间:IPv6将IP地址扩大到128位
- 扩展的地址层次结构:由于地址空间足够大,IPv6可以将地址划分为更多的层次
- 灵活的首部格式:IPv6定义了许多可选扩展首部,可提供更多功能,并提高路由器性能
- 改进选项:IPv6允许数据报包含有选项的控制信息,放在有效载荷内
- 允许协议继续扩充
- 支持即插即用:IPv6不需要DHCP
- 支持资源的预分配
- 8字节对齐
2.IPv6数据报的格式
IPv6数据报有两大部分组成:基本首部和有效载荷。有效载荷允许有0或多个扩展首部,之后是数据部分。
注意:扩展首部不属于基本首部。
相比IPv4数据报的修改:取消首部长度、服务类型、总长度、标识、协议、检验和、选项字段;TTL更名为跳数限制。
基本首部各字段如下:
- 版本:占4位,指明协议版本,IPv6对应为6;
- 通信量类:占8位,区分数据报的优先级;
- 流标号:占20位,所有属于同一个流的数据报具有相同的流标号,路由器保证同一个流指定的服务质量;
- 有效载荷长度:占16位,指明IPv6数据报除首部外的总字节数;
-
下一个首部:占8位,相当于IPv4的协议字段和可选字段:
IPv6没有扩展首部时,该字段相当于协议字段,指明数据应交付上层的哪一个协议;
有扩展首部时,该字段标识下一个扩展首部的类型;
由于扩展首部放在有效载荷中,不需要路由器处理,因此大大提高了路由器的处理效率。; - 跳数限制:占8位,防止数据报在网络中兜圈子而无限期存在,相当于原TTL字段;
- 源地址和目的地址:各128位,指明源主机和目的主机的IPv6地址。
RFC-2460标准定义了6种扩展首部:①逐跳选项 ②路由选择 ③分片 ④鉴别 ⑤封装安全有效载荷 ⑥目的站选项
3.IPv6地址
IPv6数据报的目的地址可以是下面三种基本类型地址之一:
● 单播:传统点对点通信
● 多播:一对多的通信,目的主机是一组计算机中的每一个
● 任播:IPv6新增。终点是一组计算机,但只交付其中的一个,通常是最近的一个
IPv6将主机和路由器都称作结点,每个结点可能有多个端口。IPv6给每一个接口指派一个IP地址。一个结点可以有多个地址,其中每一个地址都可以作为到该节点的目的地址。
由于IPv6地址有128位,使用点分十进制法不在方便。IPv6使用冒号十六进制记法:
● 每16位二进制一组,转换为4位十六进制,组间使用" : "分隔开。
● 如十六进制数字的前几位为0,可以将0省去,但至少保留一位;如0000可以写为0;000A可以写为A;
● 允许使用零压缩:一串连续的零可以用一对冒号取代,但一个地址中只能使用一次零压缩。如1:0:0:0:0:0:1:0 --> 1 :: 1 : 0
● 在IPv4到IPv6的转换阶段,最后两组数字(32位)可能使用点分十进制,可结合使用零压缩,如:::192.168.1.1
● CIDR的斜线记法仍可使用
下面是IPv6的地址分类表:
- 未指明地址:16字节全为0的地址,可缩写为两个冒号::,仅作为未配置IP地址主机的源地址使用,仅有一个
- 环回地址:前15字节为0,末字节为1的地址,可缩写为::1,作用与IPv4的环回地址相似,仅有一个
- 多播地址:功能和IPv4相同,占地址总数的1/256
- 本地链路单播地址:有些网络使用TCP/IP协议但未连接到互联网,网络中的主机互相可以使用这类地址本地通信
-
全球单播地址:使用最多的一类。目前有多个划分方法
4.IPv4向IPv6过渡
由于互联网的规模十分庞大,一次性更换新协议是不可行的。IPv4向IPv6过渡只能采用逐步演进的方法。为此,新的IPv6系统必须能够向后兼容。目前主要有两种向IPv6过渡的策略:
● 双协议栈
双协议栈在过渡阶段,给一部分结点同时装有IPv4协议栈和IPv6协议栈这两个协议栈,能同时和IPv4与IPv6的系统通信。双协议栈的结点记为IPv4/IPv6,表明它具有两种IP地址。
双协议栈结点通过域名系统DNS查询目的主机使用的IP协议版本。
当双协议栈结点要将数据报转发给不同协议版本的网络时,会将数据报的首部转变为对应的IP协议版本;但在这种转化中,若先将IPv6转换为IPv4,再转换回IPv6数据报,会导致某些字段无法恢复,如流标号字段;信息损失在这种策略下不可避免。
● 隧道技术
隧道技术是在IPv6数据报即将进入IPv4网络时,将IPv6数据报作为数据部分,封装入一个新的IPv4数据报。这样就可以让IPv4网络顺利传输该数据报。在数据报离开IPv4网络时,再获取原来的IPv6数据报,交给结点的IPv6协议栈。
注意:该策略仍然需要部分主机安装双协议栈。
5.ICMPv6
IPv6也不保证数据报的可靠交付,因此IPv6仍需要ICMP协议反馈差错信息。新版本的ICMP协议是ICMPv6。
地址解析协议ARP和网际组管理协议IGMP的功能都已经合并到ICMPv6中。
ICMPv6是面向报文的协议。它利用报文来报告差错、获取信息、探测邻站、管理多播通信。
下面是ICMPv6报文的分类:
二、虚拟专用网v*n
1.专用地址
在IPv6落地前,IP地址紧缺,一个机构申请到的IP地址往往远小于机构拥有的主机个数;有时,机构也不希望将所有的主机都接入互联网。如果这些主机都使用TCP/IP协议,这些主机可以在内部自行分配IP地址,也就是使用仅在本机构内有效的本地地址。
但分配了本地地址的主机一旦接入互联网,就可能导致互联网出现两个相同的IP地址,产生地址的二义性。
为解决这一问题,RFC-1918标准指明了一些专用地址,这些地址仅用于机构的内部通信,而不能用于互联网通信;在互联网的路由器中,对目的地址是本地专用地址的数据报一律不转发。下面是三个专用地址:
● 10.0.0.0 到 10.255.255.255 (10.0.0.0/8,又称24位块,相当于1个A类地址)
● 172.16.0.0 到 172.31.255.255(172.16.0.0/16,又称20位块,相当于16个B类地址)
● 192.168.0.0 到 192.168.255.255 (192.168.0.0/24,又称16位块,相当于256个C类地址)
采用这样专用IP地址的互连网络称为本地互联网或专用网。由于地址只在本机构内使用,因此专用IP地址也叫可重用地址。
2.虚拟专用网v*n
有时一个机构的部门分布范围很广,且彼此之间经常需要交换信息。此时虽然可以租用线路,但成本较高。另一种做法就是利用技术手段将公用互联网作为通信载体,这种专用网就是虚拟专用网。
虚拟专用网仍然是一个专用网,因为这种网络用于机构内的通信。为了机构间的通信保密,通过互联网的数据也必须加密。
“虚拟”表示该专用网只是在效果上是一个专用网,但数据经过了互联网而不是通信专线,因此实际上不是一个专用网。
虚拟专用网尝试用IP隧道技术实现,如上图:
机构的不同场所和部门都至少需要一个具有合法全球IP地址的路由器。路由器对外的端口使用全球IP地址,而对内端口使用专用网的本地地址。
场所和部门内的通信不需要通过互联网。当场所间通信,需要经过互联网时,路由器会把主机发送的数据报先进行加密,再作为数据部分,添加上新的首部,封装在新的IP数据报中。这一新的数据报在互联网的传输中,源地址是发送路由器的地址;目的地址是接收路由器的地址,因此可在互联网中顺利转发;当接收路由器收到该数据报时,将数据部分取出解密,还原为源主机发送的数据报,再在场所的专用网内转发并交付。
这个过程中,虽然数据报经过了公用的互联网,但效果上好像是在机构的专用网上传送的。
在虚拟专用网v*n中还分有两个类别:
● 内联网:构成虚拟专用网的网络属于同一个机构;
● 外联网:构成虚拟专用网的网络不属于同一个机构,还有一些外部机构,例如一些合作伙伴。
3.外部接入v*n
有些个体可能需要在离机构较远的场所,需要在机构内的专用网下进行工作。这时就需要远程接入v*n。
远程接入v*n允许个人主机的v*n软件在连入互联网的个人主机与公司的主机之间建立v*n隧道,从而保证在外个体的与机构通信的保密,并让个体连入并使用机构的专用网。
三、网络地址转换NAT
在不能分配得到IP地址的情况下,一个专用网内的主机想要连接到互联网,使用最多的方案是网络地址转换。
1.网络地址转换步骤
网络地址转换NAT需要专用网连接到互联网的路由器上装有NAT软件,该路由器叫做NAT路由器。
NAT路由器上至少有一个有效的全球IP地址。所有专用网内的主机与互联网通信时,需要通过NAT路由器将本地地址转换为全球IP地址,然后与互联网通信。
上图是网络地址转换的一个图例。
- 当专用网内主机A向互联网内主机B发送分组时,数据报的源IP地址时A的IP地址;
- NAT路由器接收该数据报,并把源IP地址更换为NAT路由器的全球IP地址;
- 转换后的数据报可以在互联网中顺利转发;
- 主机B接收该数据报后,将NAT路由器的IP地址当作主机A的IP地址,并发回应答;
- NAT路由器收到应答后,再将数据报的目的地址该位主机A的本地地址,进行转发和交付;
- 最终,A就顺利收到了B发回的应答,完成了与互联网的通信。
2.NAT地址转换表
NAT路由器进行地址转换需要借助NAT地址转换表。下面是一个NAT地址转换表示例:
每两条记录代表专用网内主机和互联网的一次通信。
若专用网内有多台主机,当一个主机正在与互联网通信时,NAT路由器的一个端口就被占用了。此时,该端口的IP地址不能被其它主机使用。
因此,当NAT路由器有N个具有全球IP地址的端口时,就可以支持N个主机同时与互联网通信;
若主机数大于全球的IP地址数,专用网内的主机必须轮流使用NAT的全球IP地址。
3.NAPT地址转换机制
为了更有效地利用NAT路由器上的全球IP地址,NAT转换表把运输层的端口号也使用上。由此,多个本地主机可以使用一个全球IP地址,同时与互联网通信。
使用端口号的NAT也称为网络地址与端口号转换NAPT。下表是NAPT的地址转换表:
表中,虽然不同的主机使用了同一个全球IP地址,但由于TCP端口号不同,当NAPT路由器收到应答时,仍能从IP数据报的数据部分中找到TCP端口号,再根据端口号转发到不同的本地主机。
IP多播
1.基本概念
2.局域网硬件多播
3.IP多播协议
(1) 网际组管理协议
(2) 多播路由选择协议
多协议标记交换MPLS
1.工作原理
(1) 基本工作过程
(2) 等价转发类FEC
2.MPLS首部的位置与格式