l2vpn标签转发表
㈠ 路由器使用转发信息库和临接表时用于作出交换决策所采用的数据包转发方法是什么
交换机(Switch)是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。交换机分为:二层交换机,三层交换机或是更高层的交换机。三层交换机同样可以有路由的功能,而且比低端路由器的转发速率更快。它的主要特点是:一次路由,多次转发。
路由器(Router)亦称选径器,是在网络层实现互连的设备。它比网桥更加复杂,也具有更大的灵活性。路由器有更强的异种网互连能力,连接对象包括局域网和广域网。过去路由器多用于广域网,由于路由器性能有了很大提高,价格下降到与网桥接近,因此在局域网互连中也越来越多地使用路由器。路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。路由器有两大典型功能,即数据通道功能和控制功能。数据通道功能包括转发决定、背板转发以及输出链路调度等,一般由特定的硬件来完成;控制功能一般用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等。
就路由器与交换机来说,主要区别体现在以下几个方面:
(1)工作层次不同
最初的的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可以得到更多的协议信息,路由器可以做出更加智能的转发决策。
(2)数据转发所依据的对象不同
交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。
(3)传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域
由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。
(4)路由器提供了防火墙的服务
路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。
交换机一般用于LAN-LAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。路由器用于WAN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。相比较而言,路由器的功能较交换机要强大,但速度相对也慢,价格昂贵,第三层交换机既有交换机线速转发报文能力,又有路由器良好的控制功能,因此得以广泛应用。
(5)总之,可以这么认为,交换机在具体的城域网中往往扮演着VLAN透传的角色,就是桥。而路由器默认的是不支持二层的,路由器的每一个端口都是一个独立的广播域和冲突域,而交换机是只有一个广播域和端口数量的冲突域,在二层交换机上存在MAC表,三层交换机上存在路由表.MAC.ARP表,在路由器上存在路由表和arp表。比如当一个路由器上有一个2层的vlan100和另外一个路由器上的3层vlan100对接的时候,是不通的,这时候我们需要借助L2VPN技术来进行互通,比较流行的就是VPLS技术。
㈡ 二层网络如何标识MPLS分组
MPLS分组本来就是二层的,最早是在路由器上的应用,把逐跳的IP包转成二层的MPLS LSP,前者是IP地址查询路由表,后者是看MPLS的标签查找MPLS标签转发表;后来有了MPLS-TP,MPLS就完全与三层脱钩了,由于二层没有路由协议了,因此一般是通过网管来配置路径,二层的MPLS具体设备就是PTN设备;当然也还是有路由器上的基于IP/MPLS的二层LSP。PTN很多特性类似传输设备(是传输和数据的结合),而路由器则是纯数据设备。
㈢ MPLS VPN RD RT MP-BGP谁能把这些关系给顺一下
BGP MPLS VPN基本原理,及跨域VPN,一分钟了解下
原创华亿网络2020-03-04 13:16:52
一、基本原理
1、私网标签分配
在 BGP/MPLS IP VPN 中,PE 通过 MP-BGP 发布私网路由给骨干网的其他相关的 PE 前,需
要为私网路由分配 MPLS 标签(私网标签)。当数据包在骨干网传输时,携带私网标签。
PE 上分配私网标签的方法有如下两种:
1)、基于路由的 MPLS 标签分配:为 VPN 路由表的每一条路由分配一个标签(one
label per route)。这种方式的缺点是:当路由数量比较多时,设备入标签映射表
ILM(Incoming Label Map)需要维护的表项也会增多,从而提高了对设备容量的
要求。
2)、基于 VPN 实例的 MPLS 标签分配:为整个 VPN 实例分配一个标签,该 VPN 实例里
的所有路由都共享一个标签。使用这种分配方法的好处是节约了标签。
2、私网路由交叉
两台 PE 之间通过 MP-BGP 传播的路由是 VPNv4 路由。当接收到 VPNv4 路由,PE 先进行
如下处理:
1)、 检查其下一跳是否可达。如果下一跳不可达,该路由被丢弃。
2)、 对于 RR 发送过来的 VPNv4 路由,如果收到的路由中 cluster_list 包含自己的
cluster_id,则丢弃这条路由。
3)、 进行 BGP 的路由策略过滤,如果不通过,则丢弃该路由。
之后,PE 把没有丢弃的路由与本地的各个 VPN 实例的 Import Target 属性匹配。VPNv4 路
由与本地 VPN 实例的 Import VPN-Target 进行匹配的过程称为私网路由交叉。
(3)l2vpn标签转发表扩展阅读:
公网隧道迭代
为了将私网流量通过公网传递到另一端,需要有一条公网隧道承载这个私网流量。因此私
网路由交叉完成后,需要根据目的 IPv4 前缀进行路由迭代,查找合适的隧道(本地交叉的
路由除外);只有隧道迭代成功,该路由才被放入对应的 VPN 实例路由表。将路由迭代到
相应的隧道的过程叫做隧道迭代。
隧道迭代成功后,保留该隧道的标识符(Tunnel ID),供后续转发报文时使用。Tunnel ID
用于唯一标识一条隧道。VPN 报文转发时根据 Tunnel ID 查找对应的隧道,然后从隧道上
发送出去。
私网路由的选择规则
经过路由交叉和隧道迭代的路由并不是全部被放入 VPN 实例路由表。从本地 CE 收到的路
由和本地交叉路由也不是全部被放入 VPN 实例路由表。
对于到同一目的地址的多条路由,如果不进行路由的负载分担,按如下规则选择其中的一
条:
1)、 同时存在直接从 CE 收到的路由和交叉成功后的同一目的地址路由,则优选从 CE
收到的路由。
2)、 同时存在本地交叉路由和从其他 PE 接收并交叉成功后的同一目的地址路由,则优
选本地交叉路由。
㈣ 比较l2vpn和l3vpn。。比较l2vpn和传统的2层交换技术如atm fr 。。从成本,速度,保密,qos 等等方面比较。
参考答案: 学会忘记,善忘是一件好事。
㈤ mpls 依靠标签转发穿越IBGP路由黑洞 怎么做到的中间路由器无对应FEC,怎么产生标签
R1---(R2---R3---R4)--R5
|__EBGP__|_____IBGP______|__EBGP_|
12.0/24 23.0/24 34.0/24 45.0/24
R2-R4是MPLS域
在R2和R4上重分布直连面向EBGP邻居的接口
使用R1和R5上的loopback1做为internet路由
r1#sh ip b
BGP table version is 7, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 0.0.0.0 0 32768 i
*> 55.55.55.55/32 192.168.12.2 0 1 3 i
*> 192.168.12.0 192.168.12.2 0 0 1 ?
*> 192.168.45.0 192.168.12.2 0 1 ?
r5#sh ip b
BGP table version is 7, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 192.168.45.4 0 1 2 i
*> 55.55.55.55/32 0.0.0.0 0 32768 i
*> 192.168.12.0 192.168.45.4 0 1 ?
*> 192.168.45.0 192.168.45.4 0 0 1 ?
-------------------------------
r2# sh ip b
BGP table version is 5, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 192.168.12.1 0 0 2 i
*>i55.55.55.55/32 192.168.45.5 0 100 0 3 i
*> 192.168.12.0 0.0.0.0 0 32768 ?
*>i192.168.45.0 4.4.4.4 0 100 0 ?
r2#sh ip route
4.0.0.0/32 is subnetted, 1 subnets
O 4.4.4.4 [110/129] via 192.168.23.3, 01:26:32, Serial2/0
r2查找路由表,发现i55.55.55.55/32是一条bgp路由,而mpls不会为从bgp收到的路由分配标签,它再次查找,发现 i55.55.55.55/32的下一跳地址是192.168.45.5,同理,再次查找路由表,终于发现4.4.4.4是一条IGP路由,正好R3给4.4.4.4分配了一个301的标签给R2,这时候,最无耻的事情发生了,R2将这个标签到CEF表里面关于到55.55.55.55和192.168.45.0/24,的压入标签里面,也就是所有从192.168.45.5收到的bgp路由都有这种行为,如下所示:
r2#show ip cef detail
4.4.4.4/32, version 10, epoch 0, cached adjacency to Serial2/0
0 packets, 0 bytes
tag informationset, shared
local tag: 201
fast tag rewrite with Se2/0, point2point, tags imposed: {301}
via 192.168.23.3, Serial2/0, 1 dependency
next hop 192.168.23.3, Serial2/0
valid cached adjacency
tag rewrite with Se2/0, point2point, tags imposed: {301}
55.55.55.55/32, version 19, epoch 0, cached adjacency to Serial2/0
0 packets, 0 bytes
tag information from 4.4.4.4/32, shared
local tag: 201
fast tag rewrite with Se2/0, point2point, tags imposed: {301}
via 192.168.45.5, 0 dependencies, recursive
next hop 192.168.23.3, Serial2/0 via 192.168.45.0/24
valid cached adjacency
tag rewrite with Se2/0, point2point, tags imposed: {301}
192.168.45.0/24, version 18, epoch 0, cached adjacency to Serial2/0
0 packets, 0 bytes
tag information from 4.4.4.4/32, shared
local tag: 201
fast tag rewrite with Se2/0, point2point, tags imposed: {301}
via 4.4.4.4, 1 dependency, recursive
next hop 192.168.23.3, Serial2/0 via 4.4.4.4/32
valid cached adjacency
tag rewrite with Se2/0, point2point, tags imposed: {301}
------------------------------------
路由器不会对从bgp收到的路由分配标签,所以在这里看不到55.55.55.55/32的标签绑定
r2#sho tag tdp bind
tib entry: 2.2.2.2/32, rev 4
local binding: tag: imp-null
remote binding: tsr: 3.3.3.3:0, tag: 300
tib entry: 3.3.3.3/32, rev 6
local binding: tag: 200
remote binding: tsr: 3.3.3.3:0, tag: imp-null
tib entry: 4.4.4.4/32, rev 8
local binding: tag: 201
remote binding: tsr: 3.3.3.3:0, tag: 301
tib entry: 192.168.12.0/24, rev 2
local binding: tag: imp-null
tib entry: 192.168.23.0/24, rev 10
local binding: tag: imp-null
remote binding: tsr: 3.3.3.3:0, tag: imp-null
tib entry: 192.168.34.0/24, rev 12
local binding: tag: 202
remote binding: tsr: 3.3.3.3:0, tag: imp-null
当R3收到带有301标签的mpls packet的时候,根据自己的标签转发表,进行次末跳弹出,下一跳是4.4.4.4/32,而4.4.4.4/32已经具有internet路由,所以它可以正常转发
r3#show tag-switching forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
300 Pop tag 2.2.2.2/32 4061 Se2/0 point2point
301 Pop tag 4.4.4.4/32 4457 Se1/0 point2point
而这时候,在R3上不存在55.55.55.55/32路由
r3#sh ip rou
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/65] via 192.168.23.2, 00:28:23, Serial2/0
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
4.0.0.0/32 is subnetted, 1 subnets
O 4.4.4.4 [110/65] via 192.168.34.4, 00:28:23, Serial1/0
C 192.168.23.0/24 is directly connected, Serial2/0
C 192.168.34.0/24 is directly connected, Serial1/0
㈥ 路由器中的转发表保存了什么信息
1.路由表
路由信息最终要存储在用于路由器的主机或者专业路由器上,存放这些信息的地方称为路由表。其中包含三元素:目标地址,掩码,下一跳。
1.1.查询路由表的开销
有人认为查询路由表是一件和交换机查询MAC地址一样的事,那就大错特错了,查询MAC地址/端口对是一种固定的数据查找,MAC地址都是固定的48字节,而IP地址呢,自从CIDR出现以后,地址成了“无类”的了,因此任意位的掩码都能成为正确的掩码,另外,聪明的管理员想出了路由汇聚,这些家伙将负担转嫁给了系统的实现者,从而系统实现者必须实现“最长掩码”匹配,既然掩码是不固定的,因此查询就是不固定的,这是很麻烦的事。
2.转发表
数据包到达路由器的时候,要根据“指示”前往特定的端口,类似交换机的地址信息表,路由器上存放这个“指示”的地方叫做转发表
3.两个表的关系
3.1.联系
转发表直接作用于数据包,而路由表是转发表生成的依据,转发表通过路由表生成。一个特定的进程可以通过使用路由表中的信息,加上自身的主机方面的信息-比如网卡等信息-加以综合,得到一张转发表。路由信息和主机是没有任何关系的,它只描述网络链路状态和方向。
3.2.区别
两表存储的信息是不同的,路由表只存储三元素-目标,掩码,下一跳;而转发表存储更详细的信息,比如输出端口信息,比如标记信息等。转发表描述了主机方面的信息,在主机内部将一个数据包从一个端口导向另一端口,而路由表描述网络信息,将数据包从一个机器导向另一机器。
4.误区
当前很多人都懂一个系统的实现,这些人不外乎3类,第一类精通linux内核,第二类精通Cisco设备的配置,第三类精通Windows网络编程以及NDIS。三类人一般的交集很少,因此大部分熟悉Linux内核的人都不会去区分路由表和转发表,因为Linux内核本身就不区分这两个表,每到一个数据包都会查路由表(当然前面还有一个缓存...但这不是转发表);因此熟悉Cisco的家伙会认为两个表是一定要区分的,否则MPLS怎么实现?熟悉Windows核心的人呢?可能并不关心这些,因为Windows几乎不用于路由器。
5.区分二表的好处之实例
MPLS是区分路由表和转发表的一个明显的例子,首先声明,MPLS是一个网络,而不是运行特定协议的一个节点。在MPLS中,完全通过标签进行数据包转发,在MPLS网络可用于数据业务之前(中间也可以通过标签分发协议动态调整),MPLS转发表就建好了,它的表项包含三元素:来源数据自带标签/转发到的端口/转发出去携带的标签。这个表项是通过路由表建立的,我们将之视为转发表。实现MPLS需要在入口路由器上为数据包单独打上一个标签,这样直到出去MPLS网络,数据包就可以快速被转发了,省去了直接查询路由表的开销。
㈦ 转发表和路由表的区别
1.路由表
路由信息最终要存储在用于路由器的主机或者专业路由器上,存放这些信息的地方称为路由表。其中包含三元素:目标地址,掩码,下一跳。
1.1.查询路由表的开销
有人认为查询路由表是一件和交换机查询MAC地址一样的事,那就大错特错了,查询MAC地址/端口对是一种固定的数据查找,MAC地址都是固定的48字节,而IP地址呢,自从CIDR出现以后,地址成了“无类”的了,因此任意位的掩码都能成为正确的掩码,另外,聪明的管理员想出了路由汇聚,这些家伙将负担转嫁给了系统的实现者,从而系统实现者必须实现“最长掩码”匹配,既然掩码是不固定的,因此查询就是不固定的,这是很麻烦的事。
2.转发表
数据包到达路由器的时候,要根据“指示”前往特定的端口,类似交换机的地址信息表,路由器上存放这个“指示”的地方叫做转发表
3.两个表的关系
3.1.联系
转发表直接作用于数据包,而路由表是转发表生成的依据,转发表通过路由表生成。一个特定的进程可以通过使用路由表中的信息,加上自身的主机方面的信息-比如网卡等信息-加以综合,得到一张转发表。路由信息和主机是没有任何关系的,它只描述网络链路状态和方向。
3.2.区别
两表存储的信息是不同的,路由表只存储三元素-目标,掩码,下一跳;而转发表存储更详细的信息,比如输出端口信息,比如标记信息等。转发表描述了主机方面的信息,在主机内部将一个数据包从一个端口导向另一端口,而路由表描述网络信息,将数据包从一个机器导向另一机器。
4.误区
当前很多人都懂一个系统的实现,这些人不外乎3类,第一类精通linux内核,第二类精通Cisco设备的配置,第三类精通Windows网络编程以及NDIS。三类人一般的交集很少,因此大部分熟悉Linux内核的人都不会去区分路由表和转发表,因为Linux内核本身就不区分这两个表,每到一个数据包都会查路由表(当然前面还有一个缓存...但这不是转发表);因此熟悉Cisco的家伙会认为两个表是一定要区分的,否则MPLS怎么实现?熟悉Windows核心的人呢?可能并不关心这些,因为Windows几乎不用于路由器。
5.区分二表的好处之实例
MPLS是区分路由表和转发表的一个明显的例子,首先声明,MPLS是一个网络,而不是运行特定协议的一个节点。在MPLS中,完全通过标签进行数据包转发,在MPLS网络可用于数据业务之前(中间也可以通过标签分发协议动态调整),MPLS转发表就建好了,它的表项包含三元素:来源数据自带标签/转发到的端口/转发出去携带的标签。这个表项是通过路由表建立的,我们将之视为转发表。实现MPLS需要在入口路由器上为数据包单独打上一个标签,这样直到出去MPLS网络,数据包就可以快速被转发了,省去了直接查询路由表的开销。