|
|
第三层交换技术是指利用第二层交换的高带宽和低延迟优势尽快地传送网络层分组的技术。交换和路由不同,前者用硬件实现,速度快,而后者由软件实现,速度慢。3层交换机的工作原理可以概括为:一次路由,多次交换。也就是说,当3层交换机第一次收到一个数据包时必须通过路由功能寻址转发端口,同时记住目标MAC地址和源MAC地址,以及其他有关信息,当再次收到目标地址和源地址相同的帧就直接进行交换,不再调用路由功能。所以3层交换机不但具有路由功能,而且比通常的路由器转发得更快。
|
|
|
下面将通过一个简单的网络来看看3层交换机的工作过程。
|
|
|
假设有两台主机(分别是主机A、主机B)挂接在3层交换机上。比如,主机A要给主机B发送数据,则3层交换机的工作过程如下。
|
|
|
(1)已知目的IP,那么主机A就用其本身的子网掩码与该目的IP相与,取得目的网络号,判断目的IP是否与自己在同一网段。
|
|
|
(2)如果在同一网段,但不知道转发数据所需的MAC地址,主机A就发送一个ARP请求,主机B返回其MAC地址;然后,主机A用此MAC封装数据包并发送给交换机,交换机启用2层交换模块,查找MAC地址表,将数据包转发到相应的端口。
|
|
|
(3)如果目的IP地址不是同一网段的,那么主机A要实现和主机B的通信,主机A就将第一个正常数据包发送给一个默认网关。这个默认网关一般在操作系统中已经设好,对应第三层路由模块;所以对于不是同一子网的数据,最先在数据包中目的MAC地址中放入的是默认网关的MAC地址。然后由3层模块接收此数据包,查询路由表以确定到达主机B的路由。构造一个新的帧头,其中以默认网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与主机B的MAC地址及转发端口的对应关系,并记录进3层交换机流缓存条目表。以后的主机A到主机B的数据,就直接交由2层交换模块完成。这就是通常所说的一次路由,多次转发。
|
|
|
|
IETF开发的多协议标签交换(MultiProtocol Label Switching, MPLS, RFC3031)把第二层的链路状态信息(带宽、延迟、利用率等)集成到第三层的协议数据单元中,从而简化和改进了第三层分组的交换过程。理论上,MPLS支持任何第二层和第三层协议。MPLS报头的位置介于第二层和第三层之间,可称为第2.5层。MPLS可以承载的报文通常是IP包,当然也可以直接承载以太帧、AAL5包,甚至ATM信元等。
|
|
|
|
MPLS的工作原理是:为每个IP数据包提供一个标签,并由此决定数据包的路径以及优先级。MPLS是一种可以在多种第二层媒体上进行标签交换的网络技术,这一技术结合了第二层的高速交换(硬件交换)和第三层的灵活路由处理的特点。
|
|
|
|
MPLS网络由边缘标签路由器(LER)和标签交换路由器(LSR)组成,LER构成MPLS网的接入部分,LSR构成MPLS网的核心部分。LER发起或终止标签交换路径(LSP)连接并完成传统IP数据包转发和标签转发功能。
|
|
|
入口LER完成三项工作:将数据分组映射到LSP上;将数据分组封装成标签分组;将标记分组从相应端口转发出去。出口LER终止LSP,并根据弹出的标签转发剩余的包。LSR只是根据交换表完成转发功能。这样所有复杂功能都在LER内完成,LSR只完成高速转发功能,如下图所示。
|
|
|
|
|
MPLS网络中各LSR通过专门标签分发协议(Label Distribution Protocol, LDP)交换报文,并找出相应的LSP。
|
|
|
|
|
(1)当IP数据包到达LER(标签边缘路由器)时,LER首先分析IP包头的信息。对于每一个FEC, LER根据标签信息库(LIB)为该IP数据包分配一个标签,并将使用该标签封装的数据包从LIB所规定的下一个接口发送出去。
|
|
|
(2)当带有标签的数据包到达MPLS网络内部LSR时,LSR提取局部标签,同时使用该标签到LIB查找输出标签和下一个接口,并使用输出标签代替数据包的输入标签后将新数据包从下一个接口发送出去。
|
|
|
(3)数据包到达MPLS域的另外一端,这时LER去掉封装的标签,仍然按照IP包的路由方式将数据包继续传送到目的地。
|
|
|