定义
二层隧道协议第三版L2TPv3(Layer Two Tunneling Protocol - Version 3)是一种二层隧道技术,可以透传多种二层报文(如PPP、Ethernet、HDLC、ATM等),运用于用户侧的二层接入链路在分组交换网络中透明传递。
目前仅支持透传以太报文(除BPDU报文)且用户侧接入端口仅支持VLANIF、WAN和子接口。
目的
用户需要在分支和总部或者分支之间建立二层连接时,可以通过部署VLL(Virtual Leased Line)来实现,但是VLL的部署成本太高。通过L2TPv3提供二层连接,只做以太二层透传,不用对现有的IP网络做升级改造,从而节省运营商网络建设投资,使各企业可以享受到更低费用的服务。
L2TPv3原理介绍
介绍L2TPv3实现原理。
如图1所示,企业分支局域网之间想通过IP网络进行二层数据通信,在企业出口网关处配置了L2TPv3功能。
相关概念
- LCCE
控制连接终点LCCE(L2TP Control Connection Endpoint):L2TP控制连接隧道任意一端的L2TP节点。它既可以是LAC,也可以是LNS。取决于在数据链路层还是在网络层处理隧道帧。若在数据链路层处理隧道帧,则LCCE是LAC;若在网络层处理隧道帧,则LCCE是LNS。
- PW
伪线PW(Pseudowire):一条从本地AC接口到对端AC接口之间的虚拟的、直接相连的数据通道,能够完成用户的二层数据透明传输。每个L2TPv3会话对应一条PW。
- AC接口
AC接口:连接用户侧设备的接口,用于接收和发送用户侧流量。在本手册内,只支持接入VLANIF接口、三层WAN物理接口和子接口(不支持灵活QinQ模式)。
- PW接口
PW接口:连接对端LCCE的接口,用于LCCE接收和发送L2TPv3协议报文和网络侧数据报文。
- 静态隧道:
静态隧道是指直接通过命令行配置指定本端和对端的参数,不需要经过报文协商过程就直接进行数据转发。
一个接口下只有一个隧道,一个隧道只支持一个会话。不同的接口下可以配置多个隧道。
工作过程
如图1所示,将企业分支A网关设备部署为LCCE1,企业分支B网关设备部署为LCCE2,LCCE1和LCCE2之间建立L2TPv3隧道。
- 企业分支机构在LCCE设备上全局使能L2TPv3功能。
- 在LCCE设备上创建Tunnel接口。配置隧道封装协议为L2TPv3、隧道工作模式为静态,设置隧道源地址和目的地址以及Session ID等其他参数。
两端设备的配置需要保持一致,否则隧道建立失败。
- 在LCCE设备上将AC接口和Tunnel接口绑定。
- 流量经过AC接口,通过Tunnel转发到对端设备。
L2TPv3报文格式
企业分支发送的报文经L2TPv3封装后的报文格式,如图2所示。
L2TPv3报文封装
如图3所示,企业分支A发送报文到企业分支B,有以下过程:
- 分支A向分支B发送数据报文。
- LCCE1收到报文之后根据AC口VLAN封装规则对报文进行处理。然后根据AC口查隧道封装表,在报文二层头上直接封装L2TPv3头,查路由表后从隧道接口发送出去。
- LCCE2接收到报文后查路由表并判断是否是L2TPv3报文。若是L2TPv3报文则查隧道解封装表,校验对端LCCE1配置与本端LCCE2配置是否一致,合法的话剥掉L2TPv3头。剥掉L2TPv3头的报文从AC口,根据VLAN封装规则处理后发送给分支B;若不是L2TPv3报文或者配置不一致则丢弃报文。
业务接入方式
两分支机构处于不同的VLAN需要互通,可以采用以下几种接入L2TPv3的方式:
- 整端口接入L2TPv3隧道:当AC口为WAN口时,即在AC口配置Link-bridge命令将AC口和Tunnel绑定。L2TPv3隧道可以透传不带Tag,带一层Tag或者带两层Tag的二层报文。
- 终结一层Tag接入L2TPv3隧道:对AC接口下的子接口接收到的带有一层或两层Tag的报文,子接口剥除报文的最外层Tag,报文封装L2TPv3报文头后进入L2TPv3隧道;对从AC接口下的子接口发出的报文,子接口添加一层Tag再发送出去。
- 当接受到的报文带有一层Tag,剥掉报文Tag就是C-Tag终结方式。
- 当接受到的报文带有两层Tag,剥掉报文最外层Tag就是S-Tag终结方式。
- 终结两层Tag接入L2TPv3隧道:对AC接口下的子接口接收到的带有两层Tag的报文,子接口剥掉两层Tag(S-Tag和C-Tag),报文封装L2TPv3报文头后进入L2TPv3隧道;对从AC接口下的子接口发出的报文,子接口添加两层Tag(S-Tag和C-Tag)再发送出去。