第7章 第三层交换
20世纪90年代中期以来, 第三层交换(L3)技术成为IT媒体频频出现的词汇,各网络供应商把它最为竞争的法宝。
7.1 概述
1.使用网桥的局限性
网桥的优缺点:
(1)网桥基于MAC地址,实现LAN之间的互联。优点是:网络靠作简单,速度快,与OSI的其他层无关。其易于维护且价格低廉。
(2)网桥无法实现流控,广播包从一个LAN到另一个LAN,常会引起大量的多路广播,造成网络效率降低。最严重时会造成广播风暴,是整个网络瘫痪。
(3)当网桥构成网状结构时,会产生广播包和不知道目的地址的数据包的循环问题。为此制定了生成树的算法。即在一个网络中,任意两个终端之间只有一条路径。
(4)在某些情况下,因网桥拥塞而丢失数据包,使网络不稳定、不可靠。
(5)广播包是需要的,但太多的广播包会导致网络效率降低。
2.路由器的引入及其局限性
靠路由器的优缺点:
(1)网络分段,这是路由器最主要的功能之一。路由器可以将不同的LAN互联。
(2)路径选择,通过对数据包中的IP地址检查,选择出路径。
(3)隔离广播,路由器可以住址广播流量从一个LAN到另一个LAN,可避免广播风暴。
(4)安全性与防火墙,只有被授权的用户才能通过路由器。
(5)第三层的特殊服务,如优先权控制。
(6)广域网连接,大多数网络目前仍使用路由器作为网络连接设备。
靠路由器的工作原理:(略)
靠路由器的限制:
(1)路由器需对每一个数据包检查,即使是同一源地址到同一目的地址的数据包也不例外,重复工作。
(2)软件是路由器的主要实现方式,由于以上原因,路由器的吞吐量不可能很高。
(3)路由器在流量超过本身的吞吐量时,会造成数据包丢失或延误,给网络造成危害。
3.局域网交换技术的引入及其局限性
交换式网络是以交换器为中心构造的网络体系,交换式网络与多端口网桥非常相似,他们都工作在第二层,网桥交换事业是基于每个数据包的终点地址(MAC)。
交换式网络的实现通常采用全硬件结构实现,具有速度快,可以为每一个节点提供全部网络带宽,但同网桥一样它也不具备隔离广播数据包的能力。
4.L3交换技术引入的背景
交换技术可以克服网络带宽的局限,而路由器又能解决TCP/IP中的地址问题,那么将两者技术结合起来,扬长避短,发挥各自的优点,从而解决以上问题。在这种背景下,产生了交换式网络技术。
7.2 L3交换技术解决方案的分类
目前已提出的L3交换技术解决方案分为两类:
一类基于核心模型,另一类基于边缘多层混合交换模型。
7.2.1 解决方案的分类
1.基于核心模型的解决方案
主要解决核心关键节点,即路由器的第三层交换技术。有两种方案:
(1)对于每一个数据包都需检查源/目的IP地址的方法,改为检查数据分组携带的网络流标志为依据,这样就大大减小了检查的时间,提高了吞吐率。
(2)完全用ASIC(专用集成电路)硬件以线速来实现路由器的路由/转发、流控、管理、服务质量等功能。
2.于边缘多层混合交换模型的解决方案
“一次路由,随后交换”的方案:
(1)这种方案认为网络智能应该在网络的边缘,而不是在网路的关键节点实现,因为这样可以减少网络中继点的额外开销。
(2)这种方案认为绝大多数策略和请求都在端系统上完成,少数特定的控制功能(如身份认证、防火墙、流量统计等)则集中在少数几个网络核心节点的智能系统。
(3)这种方案认为在第三层路由一次,然后在第二层交换端到端的网络数据分组。
7.2.2 两种L3交换实现策略
1.原有设备和系统进行升级和改造
在有关的边缘和核心设备上,配置新的软件、硬件或者更换部分部件,使数据流效率大大提高。
2.设计全新的、功能完善的高性能L3交换器以代替作为核心设备的传统路由器
7.3 局域网系统中使用的典型的L3交换技术
7.3.1 3Com的FastIP技术
3Com的FastIP技术是一种典型的边缘多层混合交换模型的解决方案,它采用了“一次路由,随后交换”的方案:NHRP(下一条路由协议)是FastIP的主要技术基础。
1.NBMA(非广播多路访问)网的NHRP协议简介
(1)NBMA(非广播多路访问)网的NHRP协议可以参见RFC1735.
(2)NHRP并不是一个路由协议,它只是一个IP逻辑子网(LIS)的地址解析协议,适用于NBMA(非广播多路访问)网(ATM网就是NBMA,因为ATM是面向连接,它和广播无连接以太网不同)。
(3)NHRP是一个标准的IP格式数据包,源站的MAC地址和IP地址以及帧类型,帧类型指出这是NHRP请求数据包。
(4)利用NHRP协议进行通信:
在同一个NBMA网中,就使用NHRP协议进行地址解析;
在不同一个NBMA网中,则把目的端所在子网的路由器的NBMA地址通知源端。
在同一个NBMA网中,不管是否划分为多个子网,都不需要路由器交换。
例如:在下例中,(a)为没使用NHRP协议的NBMA网络;(b)为使用NHRP协议的NBMA网络,他们的交换方式如下:
2.局域网环境中的FastIP技术
FastIP技术介绍:
(1)一个未端系统主机A在需要传送数据给另一个未端系统主机B,A和B分别在不同的IP逻辑子网或者在不同的虚拟局域网中。
(2)主机A首先初始化一个标准的IP通信进程,然后就可以发送数据分组给它的缺省路由器(一般称为缺省网关)。
(3)A首先传送一个NHRP请求,(包括主机A的MAC地址)给主机B.
(4)但路由器收到NHRP后,如果控制策略允许的话,路由器将这个请求转发给主机B,否则就丢弃,并且后继的数据必须按路由器路径转发。
(5)如果控制策略允许的话,B收到A的NHRP请求后,他立即回送一个NHRP响应,在这个响应的源地址字段中B填写自己的MAC地址,在目的地址字段中填写A的MAC地址。
(6)这个响应通过一条交换路径(不是路由路径)返回A.
(7)随后就可以建立数据交换路径,进行双方的通信,这就是 “一次路由,随后交换”。
注意:
FastIP有一定的拓扑结构的限制,因为NHRP是基于交换路径的,在源端和目的端之间必须存在交换路径,如下图,则不支持FastIP.
3.FastIP技术特点
FastIP技术特点总结如下:
(1) FastIP技术的思路是设法在数据交换过程中避开第三层路由器。即把基于IP地址路由表功能转化成基于端口——MAC地址表的转发功能,从而实现完全的端到端高速交换通信。
(2)FastIP是基于局域网的第三层交换解决方案,除了3Com的网络接口卡和软件支持外,可以兼容许多第三方产品和技术。
(3)FastIP并不是要替代路由,而是把交换和路由很好地结合在一起。经测试,FastIP可以把网络的吞吐率提高4~5倍。
7.3.2 CISCO的NetFlow交换
CISCO使全球首屈一指的路由器设备供应商。
1.CISCO的NetFlow交换处理
传统的第三层路由技术为:
对每一个数据分组分别独立地进行处理,即使是源端和目的端相同的分组也要进行分别独立地进行处理。过程可记为:MAC——IP——MAC.
NetFlow交换如下:
(1)每一个数据分组仍然采用一般的第三层路由/交换方式,处理之后的路由器把第一个数据分组的信息记录在NetFlow的高速缓存中;
(2)后继的分组到达后,首先在高速缓存(CACHE)中进行匹配查找,如果命中,就使用高速缓存(CACHE)中缓存的路由信息,直接进行交换转发,否则再进行通常的路由转发。
(3)NetFlow技术中,网络流的划分标准是源和目的IP地址,因此NetFlow必须首先识别一个分组所携带的源和目的IP地址域,并查找。
(4)NetFlow速度可达到每秒30万个分组。
(5)CISCO还采用了一种专用的技术,可以支持流状态信息的搜集和输出,便于管理者管理。
2.CISCO NetFlow“交换”的意义
(1)NetFlow仍然工作在第三层,而不是第二层。
(2)NetFlow交换是一种传统的路由转发的改进方法,即使用高速缓存(CACHE)的一个变种,在技术上做了一些改进。
(3)NetFlow并没有建立连接源和目的端系统的第二层交换路径,它只是单独的路由器上完成的。
数据分组被“交换”只有局部意义,这与通常意义上的交换是完全不同的。
7.4 广域网中的L3交换技术
广域网的速率可达到G和T比特。
7.4.1 广域网存在的问题
1.广域网的数据传输及其存在问题
举例:(1)CEP路由器A到CEP路由器B
(2)CEP路由器A到CEP路由器ZZ
存在的问题:
(1)核心路由器汇集了大量的网络流量,因此会成为网络通信的瓶颈;
(2)所有的通信数据分组都必须经过核心路由器的路由/转发;
(3)广域网的多个路由器中继影响了网络的吞吐量;
(4)如果网络扩大,就必须不断地投资来提高核心路由器的处理能力;
(5)网络不够健壮,一旦关键节点崩溃就会瘫痪。
2.管理和服务面临的问题
(1)呈几何级数膨胀的虚拟连接的管理。虚拟连接的复杂度为:N×N,N为节点数;
(2)吞吐率:路由器必须提高转发速度,才能满足全双工信元传输。(ATM)
(3)支持端到端的服务质量。
7.4.2 CISCO的标记交换
标记交换的思想是增强广域网的核心路由器的路由/转发功能。
1.标记交换的处理概述
(1)相邻的标记交换路由器(TSR)之间的路由信息的交互都是基于网络层的路由协议。
(2)标记:是一个很短的长度固定的标号,路由表使用标记而不是用传统的查找方法,前者要比后者快的多。
(3)标记交换路由器的原理:
一般来说,只在广域网边缘路由器进行路由选择,在输入端路由器生成一个很长的标记,每经过一个路由器,就把标记去掉一个域,一直到出端路由器。
(4)每个标记交换路由器(TSR)要实现两个功能:
基于标记的转发/交换功能,用硬件实现。
管理互联TSR的合法标记集。用软件实现。
2.基于标记交换的转发/交换功能
标记信息存放的地方:
(1)插在第二层的帧头之后,但在第三层的分组头之前;
(2)添入ATM信元的VPI/VCI域。