在因特网发展过程中,面临的一个问题就是 IP 地址短缺问题。解决这个问题有两种方案。
NAT 技术主要解决 IP 地址短缺问题,最初提出的建议是在子网内部使用局部地址,而在子网外部使用少量的全局地址,通过路由器进行内部和外部地址的转换。
局部地址是在子网部独立编址的,可以与外部地址重叠。
后来根据这种技术又开发出期他一些应用,下面讲述两种最主要的应用。
(1)第一种应用是动态地址翻译。
为此首先引入存根域的概念。存根域就是内部网络的抽象,这样的网络只处理源和目标都在子网内部的通信。任何时候存根域内只有一部分主机要与外界通信,甚至还有许多主机可能从不与外界通信,所以整个存根域只需共享少量的全局地址。存根域有一个边界路由器,由它来处理域内主机与外部网络的通信。在此做以下假定。
当 m:n 翻译满足条件(m ≥ l and m ≥ n)时,可以把一个大的地址空间映像到一个小的地址空间。所有NAT地址放在一个缓冲区中,并在存根域的边界路由器中建立一个局部地址和全局地址的动态映像表,如下图所示。
这个图显示的是把所有 B 类网络 138.201.0.0 中的 IP 地址翻译成 C 类网络 178.201.112.0 中的 IP 地址。这种 NAT 地址重用有以下特点:
动态地址翻译的好处是节约了全局IP地址,而且不需要改变子网内部的任何配置,只需在边界路由器中设置一个动态地址变换表就可以工作了。
(2)另一种特殊的 NAT 应用是m:1翻译,这种技术也叫作伪装。用一个路由器的 IP 地址可以把子网中所有主机的 IP 地址都隐藏起来。如果子网中有多个主机同时都要通信,那么还要对端口号进行翻译,所以这种技术经常被称为网络地址和端口翻译(NAPT)。在很多 NAPT 实现中专门保留一部分端口号给伪装使用,叫作伪装端口号。下图中的 NAT 路由器中有一个伪装表,通过这个表对端口号进行翻译,从而隐藏了内部网络 138.201.0.0 中的所有主机。
可以看出,这种方法有以下特点:
路由缩放问题,有两层含义:
CIDR 技术就是解决这两个问题的,可以把若干个C类网络分配给一个用户,并且在路由表中只占一行,这是一种将大块的地址空间合并为少量路由信息的策略。
为了说明 CIDR 的原理,假定网络服务提供商 RA 有一个由 2048 个 C 类网络组成的地址块,网络号为 192.24.0.0~192.31.255.0,这种地址块叫作超网。对于这个地址块的路由信息,可以用网络号 192.24.0.0 和地址掩码 255.248.0.0 来表示,简写为192.24.0.0/13。
再假定RA 连接以下 6 个用户。
假定 RA 对 6 个用户的地址分配如下。
C1:分配 192.24.0~192.24.7。这个网络块可以用超网路由 192.24.0.0 和掩码 255.255.248.0 表示,简写为 192.24.0.0/21。
C2:分配192.24.16~192.24.31。这个网络块可以用超网路由 192.24.16.0 和掩码 255.255.240.0 表示,简写为 192.24.16.0/20。
C3:分配 192.24.8~192.24.11。这个网络块可以用超网路由 192.24.8.0 和掩码 255.255.252.0 表示,简写为 192.24.8.0/22。
C4:分配 192.24.12~192.24.15。这个网络块可以用超网路由192.24.12.0 和掩码 255.255.252.0 表示,简写为 192.24.12.0/22。
C5:分配 192.24.32~192.24.33。这个网络块可以用超网路由192.24.32.0 和掩码 255.255.254.0 表示,简写为 192.24.32.0/23。
C6:分配 192.24.34~192.24.35。这个网络块可以用超网路由192.24.34.0 和掩码 255.255.254.0 表示,简写为 192.24.34.0/23。
C7:分配 192.32.0~192.32.15。这个网络块可以用超网路由192.32.0 和掩码 255.255.240.0 表示,简写为 192.32.0.0/20。
对于多宿主网络,假定 C4 的主路由是 RA ,次路由是 RB:C5 的主路由是 RB,次路由是 RA。另外,假定RA和RB通过主干网 BB 连接在一起。这个连接如下图所示。
路由发布遵循“最大匹配”的原则,要包含所有可以到达的主机地址。据此,RA 向 BB 发布的路由信息包括它拥有的网络地址块 192.24.0.0/13 和 C7 的地址块 192.24.12.0/22。由于 C4 是多宿主网络并且主路由通过 RA,所以C4 的路由要专门发布。C5 也是多宿主网络,但是主路由是 RB,所以 RA 不发布它的路由信息。总之,RA 向 BB 发布的路由信息是:
192.24.12.0/255.255.252.0 primary (C4 的地址块)
192.32.0.0/255.255.240.0 primary (C7 的地址块)
192.24.0.0/255.248.0.0 primary (RA 的地址块)
RB 发布的信息包括 C4 和 C5,以及它自己的地址块,RB 向 BB 发布的路由信息是:
192.24.12.0/255.255.252.0 secondary (C4的地址块)
192.24.32.0/255.255.254.0 primary (C5 的地址块)
192.32.0.0/255.248.0.0 primary (RB 的地址块)
(1)第三层交换是指利用第二层交换的高带宽和低延迟优势尽快地传送网络层分组的技术。交换与路由不同,前者用硬件实现,速度快,而后者由软件实现,速度慢。
(2)三层交换机的工作原理可以概括为:一次路由,多次交换。也就是说,当三层交换机第一次收到一个数据包时必须通过路由功能寻找转发端口,同时记住目标 MAC 地址和源 MAC 地址,以及其他有关信息,当再次收到目标地址和源地址相同的帧时就直接进行交换,不再调用路由功能。所以,三层交换机不但具有路由功能,而且比通常的路由器转发得更快。
(3)IETF 开发的多协议标记交换(MPLS,RFC3031)把第2层的链路状态信息(带宽、延迟、利用率等)集成到第3层的协议数据单元中,从而简化和改进了第3层分组的交换过程。理论上,MPLS 支持任何第2层和第3层协议。MPLS 包头的位置界于第2层和第3层之间,可称为第 2.5 层,标准格式如下图所示。
MPLS 可以承载的报文通常是 IP 包,当然也可以直接承载以太帧、AAL5 包,甚至 ATM 信元等。承载 MPLS 的第 2 层协议可以是 PPP、以太帧、ATM 和帧中继等,如下图所示。
当分组进入MPLS 网络时,标记边缘路由器(LER)就为其加上一个标记,这种标记不仅包含了路由表项中的信息(目标地址、带宽和延迟等),而且还引用了 IP 头中的源地址字段、传输层端口号和服务质量等。这种分类一旦建立,分组就被指定到对应的标记交换通路(LSP)中,标记交换路由器(LSR)将根据标记来处置分组,不再经过第 3 层转发,从而加快了网络的传输速度。
MPLS 可以把多个通信流汇聚成为一个转发等价类(FEC)。LER 根据目标地址和端口号把分组指派到一个等价类中,在 LSR 中只需根据等价类标记查找标记信息库(LIB0,确定下一跳的转发地址,这样使得协议更具伸缩性。
MPLS 标记具有局部性,一个标记只是在一定的传输域中有效。
MPLS 转发处理简单,提供显式路由,能进行业务规划,提供QoS保障,提供多种分类粒度,用一种转发方式实现各种业务的转发。与IP over ATM 技术相比,MPLS 具有可扩展性强、兼容性好 、易于管理等优点。