笔记 : OLT Vlan QinQ vlan 透传 组播 等诸多概念

2,570 阅读13分钟

问题堆栈:不知道vlan在olt内到底起到什么作用?

  1. OLT 服务端口需要设置user vlan和vlan?
  2. vlan只要设置为透传,但是不知道为什么必须设置?
  3. vlan是为了传递服务,T-CONT也承载服务,到底怎么样的承载服务?
  4. 查一查Qing(其实是QinQ,dot1q in dot1q )你就知道了?

note help.ubnt.com/hc/en-us/ar…

QinQ is an amendment to the IEEE 802.1Q specification that provides the capability for multiple VLAN tags to be inserted into a single Ethernet frame.

note 1: What is the difference between the CVLAN & SVLAN?

When you look at the data packet from KOLKATA 加尔各答branch, it can be noticed that the generated packet has Vlan Tag (VLAN-100). This packet is also called as CVLAN traffic (Customer VLAN traffic). So the tagged information (VLAN-100) is called as CVLAN.

SVLAN is nothing but the ISP has their own number of vlans configured in the network. Customer traffic will be transmitted over those vlans, In our case, CVLAN-100 traffic will be transmitted over SVLAN-1000. So the packet penetrating thru ISP network will be having two vlans SVLAN & CVLAN (Double Tagging).

Yes,

This is the QinQ concept, dot1q tagging into dot1q. The customer vlans are getting carried over a vlan of the provider. Used alot in situations where the customer rents a full layer 2 link between sites (dark fiber).

It is programmed into the header of ethernet, 1 vlan ID can hold another 4096 vlan headers.

The inner tag or inner tags are set by the customer, so the vlans that span the customer network. Also known as the Customer Tag or cVLAN.

The outer tag is set by the provider: It is also referred as a Service Vlan or Provider vlan or sVLAN. This vlan will carry the customer vlan’s to the required locations.

note:blog.51cto.com/liuqun/2045…

基本概念: 1.端口发送指交换机内部往外发送 2.数据帧在交换机内部处理时,均带vlan tag 3.端口打标或去标(tag或untag)是对端口输出而言

以太网端口有三种链路类型:Access、Hybrid和Trunk。

  1. Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;
  2. Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;
  3. Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

先要向大家阐明端口的缺省VLAN这个概念:

  1. Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;
  2. Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1 当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口。当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。
  3. 注:对于华为交换机缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan

交换机接口出入数据处理过程如下:

  1. Acess端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃
  2. Acess端口发报文:将报文的VLAN信息剥离,直接发送出去。
  3. trunk端口收报文:收到一个报文,判断是否有VLAN信息:如果有,判断该trunk端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃;如果没有VLAN信息则打上端口的PVID,并进行交换转发。
  4. trunk端口发报文:比较将要发送报文的VLAN信息和端口的PVID,如果不相等则直接发送。如果两者相等则剥离VLAN信息,再发送
  5. hybrid端口收报文:收到一个报文,判断是否有VLAN信息:如果有,则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃;如果没有则打上端口的PVID,并进行交换转发。
  6. hybrid端口发报文:1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag) 2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送。    note: blog.51cto.com/sutomy/9239…

交换机中,“透传”有两种理解:

1、直接透传

就是某个数据包在两个直连链路的两个端口间传输,数据包的VLAN标记没有发生任何变化。如两个直连的Trunk口,两个端口的PVID都是vlan1,VLAN2的数据包从Trunk口A发送出来,被另一端的Trunk口B接收,收发之间,VLAN 2的数据包无任何改变。

2、间接透传

就是数据包在两个直连端口链路间传输时,在两个端口收发时,数据包的VLAN标签会发生改变,但是最终数据包的VLAN还是没变。 如两个直连的Trunk口,两个端口的PVID都是vlan1,VLAN1的数据包从Trunk口A发送出来,此时被剥除VLAN1的信息,被另一端的Trunk口B接收,此时又被添加VLAN 1的信息。收发之间,VLAN2的数据包先是被剥离VLAN信息,然后在接收端又被打上原先的VLAN1信息。

不管是哪种方式透传,透传的结果都是数据包的最终VLAN信息在经历端口收发后,都不改变。

note:使用vlan克服组播导致的性能问题 zhuanlan.zhihu.com/p/19710842

光猫: 电信的华为HG8120C EPON。双以太网口,一个供WAN(internet)用,一个供IPTV用 Netgear WNDR3700v4: 某东上299特价时入的,刷了DD-WRT,主路由,PPPoE拨号,DHCP server,二楼的wifi接入覆盖。 WAN口连到光猫的internet网口 一个LAN口连到光猫的IPTV网口 一个LAN口连到客厅的TPLink WR1041N 其余LAN口接PC等等 TPLink WR1041N: 刷的OpenWRT,客厅的wifi覆盖和LAN接入。 一个LAN口接到WNDR3700v4 一个LAN接电信的IPTV机顶盒 其余LAN口接NAS,电视和小米盒子 数一数是不是有五个LAN口?因为我只需要WR1041N作为纯粹的千兆交换机和无线AP,所以在OpenWRT里把WAN口也配置成普通的LAN口了。 关于我家这个略为奇葩的配置,在我另一篇blog《终于解决IPTV影响wifi性能的问题》里有提到过,只是设备稍有变化。IPTV机顶盒本来需要单独一根网线连光猫,但从光猫到客厅只有一条千兆网线,我又不想用无线桥接或者电力猫,所以IPTV和客厅的其他网络设备必须共用一条网线。

因为我们这里电信的IPTV使用PPPoE认证,所以我这样的拓朴事实上能够基本正常工作——上面提到的blog里解释了一些细节。对了,这种接法用WNDR3700v4的官方固件行不通,WAN连接会直接断了。WNDR3700v4刷DDWRT,以及原来用Linksys EA2700都可以工作。

长话短说,虽然能工作,但因为IPTV的数据是向组播地址广播,在我家网络里造成的直接影响就是——只要看IPTV直播节目,视频流会同时在三个WiFi AP(WNDR3700v4的2.4G + 5G, WR1041N的2.4G)上广播,严重影响家里其他无线终端的网络性能。比如一个高清CCTV5,就是10Mbps的数据流同时在三个AP上广播,蔚为壮观。

以前我的主路由是Linksys EA2700,当时还没有第三方固件,我的解决办法是在WR1041N上打开IGMP snooping,至少能解决一个WiFi AP的广播。最近把EA2700换成了3700v4,就准备刷上OpenWRT或DDWRT,一劳永逸的用VLAN解决IPTV的问题。

思路很简单,在WR1041N上把连接IPTV的网口划到一个VLAN(记编号为m),连接3700v4的LAN口作为trunk port,其余设备用的LAN口划到另一个VLAN(记编号为n) 。类似的,在3700v4上把连接光猫的LAN口划到VLAN m,连接WR1041N的LAN口作为trunk port,其他LAN口划为VLAN n。

简单的解释:

HG8120C的两个网口实际上是同一块网卡,电信的缺省配置是把LAN1来的以太网包(来自我路由器的WAN口)打上VLAN 1398的tag,把LAN2来的以太网包(来自我的IPTV)打上43的tag,然后从同一个出口送向网络侧。1398和43分别是我这里的电信光纤宽带所用的数据与IPTV的VLAN配置,在HG8120C的网络配置里可以看到。当然你得先搞到telecomadmin的密码——办法可以google到。 除了按网口区分数据,HG8120C也支持按用户侧的VLAN来区分。如果我主动把路由器WAN口出来的数据打上VLAN tag M,把IPTV出来的数据打上VLAN tag N,再在HG8120C上配置用户侧VLAN M对应网络侧VLAN 1398,用户侧VLAN N对应网络侧VLAN 43,这样只需要一条网线连接路由的WAN口和光猫的LAN口,就可以同时承载上网数据和IPTV了。 不过,这意味着上网和电视要共享100M的带宽(HG8120C的网口都是100M)。我目前的套餐是22M上网,而IPTV的高清频道最多需要10M,所以这对我不是问题。

note:www.jmqy.com/19216811jin…

在OLT设备上,不同的业务用不同的VLAN隔离和区分,通过识别不同的VLANID进行流分类,将不同的业务流量设置不同的CoS(802.1p)来进行标记,同时,根据需要可针对上网业务流量进行带宽、队列和调度处理,以VOD业务得到足够的带宽,并得到优先处理。

上网业务的带宽是通过BRAS来控制的,一般情况下不需要在OLT上进行流量监管(CAR)和排队、调度,只在当OLT下接入的用户较多,超过了单个PON口的能力的时候来关键业务(如VOD)优先转发时使用。如果OLT的某个PON口长时间出现拥塞情况,就要考虑增加PON端口数量,或者增加OLT设备了。

在NGB的三网融合业务场景下,用户的上网业务、IPTV/VoD业务和VoIP业务等各种业务对网络的要求各不相同。为了便于QoS和安全策略的部署,必须在接入网将业务进行区分。

通常可以通过如下几种方式来做VLAN规划:

(1)PSPV,即每业务每VLAN,主要有以下特点:同一EPON/OLT端口下的所有用户的同一业务在同一VLAN内;需要在用户侧部署可划分VLAN的家庭网关(如使用多端口EoC终端或者支持VLAN的STB)。对局端交换机而言,PSPV使得用户业务分别属于不同的VLAN,包括上网VLAN、VoIPVLAN、VoDVLAN和BTVVLAN(组播VLAN,对于采用纯IP组网的NGB接入网,直播的IP视频典型通过组播技术实现)。这种VLAN划分方式简单明了,占用VLAN资源少,但由于同一业务不同用户都划分到同一个VLAN中,因此无法识别用户信息,实际意义不大。

(2)PUPSPV即每用户每业务一个VLAN,主要特点如下:每个用户的每种业务一个VLAN(BTV业务除外,所有BTV业务共用组播VLAN);需要在用户侧部署可划分VLAN的家庭网关;EPON/OLT或汇聚交换机启动灵活QinQ功能进行业务分类。适用于各层设备支持足够数量VLAN的网络。PUPSPV对于同一业务的不同用户通过VLAN进行细分。PUPSPV的最大好处在于可以通过VLAN精确识别用户,例如对于需要精细化计费的业务(如上网业务)可以通过标识用户物理避免资费流失。这种VLAN划分方式对于网络要求相对较高。

(3)混合组网。混合组网是PSPV和PUPSPV的综合,主要特点如下:Internet业务采用PUPSPV,IPTV/VoD和VoIP业务则采用PSPV;需要在用户侧部署可划分VLAN的家庭网关;EPONOLT或汇聚交换机启动基于VLAN的灵活QinQ进行业务分类。混合组网对于需要精细计费的上网业务采用PUPSPV,而对于目前采用包月计费的IPTV/VoD等业务采用PSPV方式。在运营商规模开展IPTV/VoD业务时推荐采用这种VLAN划分方式。

(4)PUPV即每用户一个VLAN,主要特点是:多类业务共用一个用户VLAN;用户侧无需部署家庭网关;汇聚端局启动基于流的灵活QinQ打不同外层标签,例如PC采用PPPoE、STB采用IPoE,这些终端都通过一个VLAN上行,可以根据PPPoE和IPoE报文不同的协议号作为QinQ的分流依据;又如根据报文的目的IP地址分流:对于相同源IP地址,相同报文封装的不同的业务应用报文,比如PC上的SoftPhone产生的报文,需要根据报文的目的IP地址实施灵活QinQ进行业务分流。适用于用户侧无法部署家庭网关组网。

无论采用PUPSPV或者混合组网方式,在用户侧都需要实现对不同业务的VLAN隔离,一般是通过在用户侧部署家庭网关(HomeGateway)设备实现的。广电运营商通过EoC来实现宽带和VOD业务同时接入时,家庭的EoC终端应支持VLAN,以实现业务的隔离。

4.2利用灵活QinQ技术实现业务分流

由于城域网内宽带上网/VOD/专网等业务可能分别在不同BRAS/SR上处理,因此有必要在城域网汇聚层进行业务分流。通过灵活QinQ功能可以很好实现业务分流。对于上网业务而言,由于是PUPSPV模式,可以用两层标签来做用户标识(内层标签标识用户,外层标签标识业务和用户),这样可以实现用户的精细化管理,避免用户漫游造成资费流失。而对于VOD业务,可以用外层标签来标识业务,也可以不打外层标签。  可以通过灵活QinQ方式实现多种灵活的分流方案,例如:基于灵活QinQ的VLAN部署需要广电接入网的EPON+EoC网络支持灵活QinQ功能,并且需要相应的业务路由器(SR)来终结接入和控制VOD业务。此时,BRAS和SR作为业务控制层设备终结各业务VLAN,并作为QoS策略控制点和MPLSPE设备。随着广电网络向大规模全业务网络演进,将来接入网的组网部署可以向这种方式演进。