欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

一个VLAN配置的实际例子

程序员文章站 2024-01-16 23:21:58
一个VLAN配置的实际例子   背景很简单,和一般的eth-switch通过VLAN做成路由的方式一样。       首先看一种硬件效率较高的方...

一个VLAN配置的实际例子

 

背景很简单,和一般的eth-switch通过VLAN做成路由的方式一样。

 

    首先看一种硬件效率较高的方法:

 

一个VLAN配置的实际例子

 

Port1~4作为access口,同时在硬件上作为用户模式,即从PC发往这些端口的数据包,是不带VLAN-tag的,SW硬件接收到后,会根据内部的vlan配置,若目的是同一个vlan的其他PC,则直接转发;若要发往CPU,则硬件自动为它们打上tag,然后交由Kernel的vlan设备。同样,由Kernel下发的数据包是带tag的(因为是由vlan设备发出的),最后硬件根据tag找到对应的port后,剥去tag,发往PC。

Port5作为trunk口,同时在硬件上作为传输模式,(作为WAN口)即外部PC发给它的包是要带tag的(会有多种tag),然后硬件查看是否是发往同一个vlan的其它port的,是则直接转发,否则,直接传输给CPU的Kernel的vlan设备。Kernel下发的带tag的数据包,也直接发往PC。这里的PC一般是外部的ISP,它们对哪些应用(如PPP、TR069等)用什么VID有自己的要求,当然也能识别各种vlan-tag。

 

这种方法的一个缺点是,WAN口(port5)的vid不能和LAN口重合,即LAN口用了哪些vid,WAN口就不能再用了,这对ISP来说是不利的。

 

下面看另一种方法:

 

一个VLAN配置的实际例子

 

    LAN口的方式不变,WAN口(port5)不再作为trunk口,而是和LAN口一样,作为access口,且硬件上采用用户模式。

 

    不同的是,它在Kernel采用两层vlan的方式。这就允许ISP发给SW的数据包可以*带仍和vid的tag,SW硬件上会自动给数据包加上vid5(该port在SW内的vlan标示)的tag,然后交给Kernel,Kernel中的eth2.5首先剥掉vid5-tag,再根据二层vid交给相应的二层vlan设备来处理。

 

    这样做的优点就是ISP的vid不再有限制。

 

    但缺点也很明显,首先效率降低,因为大部分工作要通过Kernel软件来完成;其次,WAN作为access口,不可能再和LAN口直接交换。