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

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

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

 

下面看另一种方法:

    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口直接交换。

一个VLAN配置的实际例子的更多相关文章

  1. centos6 一个vlan配置多ip地址

    添加vlan [root@localhost network-scripts]# vconfig add eth1 109 配置文件,此处配置了vlan109使用子接口进行多ip配置: [root@l ...

  2. 虚拟局域网Vlan配置实战

    VLAN 的基本概念 Access 类型的接口 Trunk 类型的接口 接口类型小结 以太网交换机的二层接口类型 Access口接收帧 Access口发送帧 Trunk口接收帧 Trunk口发送帧 H ...

  3. CISCO动态VLAN配置

    一.基于VMPS的动态VLAN配置实例 网络中VLAN实现分为静态 VLAN和动态VLAN.静态VLAN又被称为是基于端口的VLAN.顾名思义,就是明确指定各端口属于哪个VLAN的设定方法,交换机中某 ...

  4. CISCO3560 VLAN配置实例

    1.注意事项 1.1.交换机启动需要大约4-5分钟: 1.2.网线插入交换机接口从黄变为绿需要大约1-2分钟,即进入正常工作模式: 1.3.建议使用XP系统进行操作,2003默认没有安装超级终端,需要 ...

  5. 一个简单的iBatis入门例子

    一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. 2.创建类Person.java package com.ibeats;import ...

  6. Magento网站如何添加一个可配置产品

    有的产品,比如服装,同一件衣服有S.M.L.XL.XXL等尺码供客户选择,或者有多种颜色可以供客户选择,Magento中管这种有选项供客户选择的产品叫做可配置产品 (Configurable Prod ...

  7. 在H3C交换机上开通一个VLAN并且开通一个端口ping通它

    <H3C>system-view System View: return to User View with Ctrl+Z. [H3C]interface vlan-interface 2 ...

  8. [daily][dpdk] 网卡offload识别包类型;如何模拟环境构造一个vlan包

    第一部分 硬件识别包类型 网卡,是可以识别包类型的.在dpdk的API中.识别完之后,存在这个结构里: struct rte_mbuf { ...... union { uint32_t packet ...

  9. PCIe扫盲——一个Memory Read操作的例子

    连载目录篇:http://blog.chinaaet.com/justlxy/p/5100053251 前面的一系列文章简要地介绍了PCIe总线的结构.事务层.数据链路层和物理层.下面我们用一个简单地 ...

随机推荐

  1. HBase(二)CentOS7.5搭建HBase1.2.6HA集群

    一.安装前提 1.HBase 依赖于 HDFS 做底层的数据存储 2.HBase 依赖于 MapReduce 做数据计算 3.HBase 依赖于 ZooKeeper 做服务协调 4.HBase源码是j ...

  2. 解决Linux中文显示乱码的问题

    1.直接执行 export LC_ALL=zh_CN.UTF8 #linux服务器中文显示乱码,但配置文件设置是中文的.解决办法 2.修改文件 修改/etc/sysconfig/i18n文件,确认信息 ...

  3. 使用 Web 服务 为 ECS Linux 实例配置网站及绑定域名

    Nginx 服务绑定域名 https://help.aliyun.com/knowledge_detail/41091.html?spm=a2c4e.11155515.0.0.4lvCpF 以 YUM ...

  4. mysql 存储过程详解

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  5. CodeForces 140C New Year Snowmen(堆)

    题面 CodeForces 题解 因为要保证两两不同,所以不能单纯的开堆来维护,堆维护一个二元组,个数为第一关键字,编号为第二关键字,对于一个相同的颜色,统计一下这个颜色的个数再用堆来维护就好了. # ...

  6. Here is a 10-line template that can solve most 'substring' problems子字符串问题的模板

    转载自leetcode评论区:https://discuss.leetcode.com/topic/30941/here-is-a-10-line-template-that-can-solve-mo ...

  7. python opencv3 特征提取与描述 DoG SIFT hessian surf

    git:https://github.com/linyi0604/Computer-Vision DoG和SIFT特征提取与描述 # coding:utf-8 import cv2 # 读取图片 im ...

  8. 概率论中常见分布总结以及python的scipy库使用:两点分布、二项分布、几何分布、泊松分布、均匀分布、指数分布、正态分布

    概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布. 离散概率分布也称为概率质量函数(probability mass function).离散概率分布的例子有 ...

  9. Django Q对象

    使用Q 对象进行复杂的查询¶ filter() 等方法中的关键字参数查询都是一起进行“AND” 的. 如果你需要执行更复杂的查询(例如OR 语句),你可以使用Q 对象. Q 对象 (django.db ...

  10. 汉化 的 空指针 bug

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha nulljava.lang.NullPointerException at com.an ...