EoMPLS between ASR9k and ME3750

前几天跟同事讨论了下关于ASR9k与ME3750通过Eompls互通的问题,发现ASR9k在实现上跟IOS有许多不同的地方,另外根据同事的总结,发现收益颇多,故把其中一部分整理出来(有一部分信息直接从同事的summary中拿过来的),以备日后复习。

Topology:
(access 1148)(non-ESport)ME3750(ESport)—–PW—–A9K(dot1q.1148)

3750 Config:

interface Vlan1148
no ip address
xconnect 2.2.2.2 23 encapsulation mpls pw-class cisco

pseudowire-class cisco
encapsulation mpls
interworking vlan

interface GigabitEthernet1/0/2
switchport access vlan 1148
switchport mode access
spanning-tree portfast

VLAN SVI 上起XCONNECT DATA层面可通要满足的条件
1: 连接PE的接口必须是ES-PORT (GigabitEthernet1/1/1 或 GigabitEthernet1/1/2)
intf connected to PW side must be ESport
2: 连接CE的接口必须是非ES-PORT :
intf connected to AC side must be non-ESport

A9K Config:

ASR9000-2#show run l2vpn
Fri Aug 16 08:33:16.978 UTC
l2vpn
router-id 2.2.2.2
pw-class cisco
  encapsulation mpls
   transport-mode vlan passthrough >>> 从4.1.x,配上后不插入dummy tag
  !
!
xconnect group Core
  p2p test1
   interface GigabitEthernet0/0/0/10.1148
   neighbor ipv4 3.3.3.3 pw-id 23
    pw-class cisco
   !
  !
! 
interface GigabitEthernet0/0/0/10.1148 l2transport
encapsulation dot1q 1148
!

Summary:

ME37默认封装是type4,ASR9k默认封装是typ5.
默认type肯定协商有问题,所以更改asr9k的封装类型,可以通过transport-mode vlan,改成type4,但是transport-mode有两种option,一种是加passthrough,另一种是不加passthrough,这两种option又有非常大的区别:
1. 加passthough的,直接看端口rewrite规则就可以了
2. 如果不加passthough:
AC—> PW,先操作AC下的REWRITE规则,然后再PUSH一个TAG 0到PW上;
PW—> AC,先POP ANY,POP第一层,再操作AC接口下REWRITE规则的SYMMETRIC规则

对于”transport-mode passthrough”这里有更详细的解释:

ASR9k and 7600 (when using EVC configuration) are so-called EFP platforms. This means that dot1q tag is not stripped off by default, but you have to use ‘rewrite’ commands like: “rewrite ingress tag pop 1 symmetric

In case of Type 4 pseudowire (Ethernet VLAN), if you strip off the tag with rewrite you’ll
be left without any tags. To facilitate this we add so-called ‘dummy tag‘.

transport-mode vlan passthrough‘ is special version of Type 4 PW, which doesn’t insert dummy tag. So, in this case in order to keep original dot1q tag, we should not use ‘rewrite’ command.

***封装是封装,数据是数据,两者不相干***
***只要两边type相同,协商就会up,不是说session up了,数据就会通,这还得再分析***

现在来分析下整个的数据转发过程:

先从37这边开始:
AC—> PW,默认数据带上dummy tag 1148放到PW上传送

到达ASR9K后:
PW—> AC,由于用了passthrough,所以不涉及dummy tag0,直接看AC接口rewrite,发现没有任何配置,所以数据会带着1148出去,端口默认是不会去check出方向的tag的,除非配置了ethernet egress-filter strict。

ASR9k回包:
AC—> PW,直接看端口的rewrite规则,这里没有rewrite,所以match后直接把带着tag(也是dummy tag)的数据放到PW上,传给37

到达37后:
PW—> AC,37同样没有rewrite,所以直接把这个带着tag的数据传出去

本文出自 Frank's Blog

版权声明:


本文链接:EoMPLS between ASR9k and ME3750
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接
你可以留言,或者trackback 从你的网站

留言哦

blonde teen swallows load.xxx videos