各个 AS内部运行 IGPLDP以及 MPLS,PE与 ASBR上都需要创建实例,PE与 ASBR建立 VPNv4邻居关系,而 ASBR间建立 IGP或者 BGP的 IPv4邻居关系。需要保证 PE1与ASBR1,PE2与 ASBR2的 RT值相同。
ASBR间是普通的 IPv4 IGP或者 BGP邻居,传递的路由是 IPv4路由,所以数据转发的时候是不带标签转发的,互联接口也不用开启 MPLS;可以把 ASBR理解为一个 PE设备,它是以实例路由的方式传递给对端 ASBR的,所以它传递路由是 DN位和 tag也会置位,所以 ASBR间需要取消防环机制。从对端 ASBR收到的路由会放入实例路由表下,然后再次变为 VPNv4路由传递给本 AS的 PE设备。数据转发的时候不带标签转发,收到数据包先查实例的 FIB表。
PE与 ASBR是 IGBP的 VPNv4邻居关系,它们之间传递的路由是 VPNv4路由。
OptionA的问题有两个方面:
(1)ASBR 既要负责路由传递又要负责数据转发,性能开销大;
(2)ASBR的接口需要绑定实例,一个实例只能承载一个 site的路由,如果两个 AS间有多个 site需要互访,则 ASBR上需要配置多个实例,并绑定多个接口,需要占用的接口多,用一条线路则需要配置子接口。
问题:跨域 VPNoptionB需要配置些什么?ASBR之间是什么关系?接口需要开启MPLS吗?LDP呢?PE与 ASBR之间什么关系?ASBR之间传递的什么路由?传递给对端ASBR的是VPNv4 路由还是IPv4路由?需要携带私网标签吗?私网标签是自己分发的还是 PE分发的?对端 ASBR收到传递给 PE时,私网标签需要重新分发吗?数据包转发时,PE与 ASBR之间几层标签?ASBR之间呢?PE有没有去往对端PE的路由?公网标签有吗?optionB有什么弊端?
各个 AS内部运行 IGPLDP以及 MPLS,PE上需要创建实例,PE与 ASBR建立 VPNv4邻居关系,而 ASBR间也需要建立 VPNv4邻居关系。PE1与 PE2上的 RT值相同。
ASBR之间需要建立 EBGP VPNv4邻居,PE1传递 VPNv4路由给 ASBR1,而 ASBR1重新分发私网标签,然后传递给 ASBR2,ASBR2也重新分发标签再传递给 PE2。所以 ASBR间传递带标签的 VPNv4路由,接口需要开启 MPLS,但是不需要开启 LDP,LDP是用来分发标签的,现在私网标签是由 MP-BGP分发的,而公网标签在 AS间是不用分发的,两个AS间也不用传递公网路由。
数据转发的时候,PE的私网标签来自本 AS的 ASBR,所以分装私网后需要转发给本 AS的 ASBR,而因为中间有 P设备不识别私网标签,所以需要封装一次公网标签用于转发到 ASBR上。PE至 ASBR的路径有两层标签,到了 ASBR后剥离公网标签,替换为对端 ASBR分发的私网标签转发至对端 ASBR,它们之间没有 P设备,不用再封装公网标签,所以一层标签即可。
AS间不用传递公网路由,自然也没有公网标签。
OptionB的弊端主要在于,ASBR上既要传递路由还需要负责数据转发,性能压力大
问题:跨域 VPNoptionC方案一没有 RR的场景,PE上需要配置些什么?ASBR上呢?有 RR的场景又是怎么样呢?换成方案二呢?ASBR之间是什么关系?接口需要开启MPLS吗?LDP呢?PE与RR之间什么关系?PE上有对端PE的路由吗?有对端PE的公网标签吗?方案一中谁分发的?方案二中谁分发的?什么协议分发的?数据包转发的时候,方案一 ASBR之间几层标签?方案二 ASBR之间几层标签?PE与 ASBR之间呢?数据包访问的时候,有 RR场景,下一跳是 RR还是对端 PE?是对端 RR还是本端 RR?怎么防止走次优路径?下一跳不变的命令需要配置多少次?RR一般都是旁挂在网络中的?为什么?
方案一中,在没有 RR的场景下,各个 AS内部运行 IGP LDP以及 MPLS,PE上需要创建实例,PE先与 ASBR建立 BGPIPv4邻居关系,而 ASBR间也需要建立 IPv4邻居关系,用于传递 PE间的 loopback公网路由,为后期 PE间建立 VPNv4邻居做准备,而 PE间直接传递 VPNv4路由,所以 PE1与 PE2上的 RT值相同。 ASBR间在传递公网路由的时候,需要携带公网标签,所以接口需要开启 MPLS,但不用开启 MPLS LDP,此时 ASBR间分发公网标签也是使用 MP-BGP。对端 ASBR收到带标签的公网路由,重新分发标签然后传递给 PE。
数据转发的时候,先封装对端 PE传递过来的路由及私网标签,然后再封装去往对端 PE的公网标签,由本端 ASBR分发的,最后再封装去往本端 ASBR的公网标签,一共三层标签。 转发到 ASBR时弹出最外层标签,根据第二层标签转发至对端 ASBR,对端 ASBR再根据此层标签转发至 PE。PE收到弹出第二层标签,最后根据私网标签转发至实例中。
有 RR的场景下,PE和 ASBR都与 RR建立 IPv4的 BGP邻居关系,ASBR间也建立IPv4邻居关系,用于传递 PE的 loopback公网路由。传递路由的时候保持下一跳不变,则数据转发流程跟无 RR场景一致。如果没有敲下一跳不变的命令,则 RR2上路由下一跳为 RR1,PE2上路由下一跳则为 RR2,所以一次路由传递需要在两个 RR上都配置下一跳不变的命令,来回则需要配置四次。RR旁挂网络的原因主要由于 RR是负责路由传递的,不需要负责数据转发,如果再负责数据转发则性能压力大。
方案二中,在没有 RR的场景下,各个 AS内部运行 IGP LDP以及 MPLS,PE上需要创建实例,PE与 ASBR间不用再建立 BGPIPv4邻居关系,而 ASBR间需要建立 IPv4邻居关系,用于传递 PE间的 loopback公网路由,为后期 PE间建立 VPNv4邻居做准备,而 PE间直接传递 VPNv4路由,所以 PE1与 PE2上的 RT值相同。
ASBR间在传递公网路由的时候,需要携带公网标签,所以接口需要开启 MPLS,但不用开启 MPLS LDP,此时 ASBR间分发公网标签也是使用 MP-BGP。对端 ASBR收到带标签的公网路由,引入进 IGP协议中,然后逐跳传递至 PE2,并且传递过程中 LDP也逐跳分发公网标签。
数据转发的时候,先封装对端 PE传递过来的路由及私网标签,然后再封装去往对端 PE的公网标签,由本端 P设备分发的,然后就能转发出去。
转发到 ASBR时根据第外层标签转发至对端 ASBR,对端 ASBR再根据此层标签转发至 PE。PE收到弹出第外层标签,最后根据私网标签转发至实例中。