背景很简单,和一般的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. 通过okhttp3下载文件实现APP版本更新

    原文:https://blog.csdn.net/qq_34261214/article/details/77124729 概况 思路是这样的,首先在服务器上把已经签名打包的apk放上去,还有一份TX ...

  2. 多线程-TaskExecutor-使用Demo

    BasicExecute.java package com.jef.executeTest; public abstract class BasicExecute extends Thread { @ ...

  3. java异常查看利器之使用 jvmti 的Callback_JVMTI_EVENT_EXCEPTION 事件查看异常

    阅读本文前需要了解什么是jvmti,jvmti全称称之为 JVM Tool Interface,有关jvmti更详细的知识,本文不再详细列出.大家可以借助百度来了解有关它更为详尽的内容. 在开源文件大 ...

  4. Caffe训练AlexNet网络模型——问题一

    训练AlexNet网络时,出现Check failed:datum_height >= crop_size (size vs. 227)错误,具体如下图所示: 根据提示,问题是crop_size ...

  5. UWP入门——应用数据和设置

    数据有两个基本的分类,应用数据和用户数据,而用户数据则为由用户拥有的数据,如文档,音乐或电子邮件等,下面将大致的介绍一下应用数据的基本操作. 应用数据:应用数据包含APP的状态信息(如运行时状态,用户 ...

  6. Wannafly挑战赛9 A - 找一找

    链接:https://www.nowcoder.com/acm/contest/71/A来源:牛客网 题目描述 给定n个正整数,请找出其中有多少个数x满足:在这n个数中存在数y=kx,其中k为大于1的 ...

  7. CSS 显示或隐藏子元素

    很多时候我们仅仅只是想让鼠标移动入某个元素,然后显示出某个元素. 大多数博客的标题或内容都是:使用CSS实现鼠标悬停在一行上,显示某些元素 很遗憾,这是错误的,鼠标悬停后,尽管CSS标准中有定义此种方 ...

  8. 安恒月赛WP

    一月 一叶飘零大佬的WP:安恒月赛一月 二进制部分:zjgcjy大佬的WP reverse1更容易理解的一种解法 pwn1详解 二月 一叶飘零WP 二进制部分: reverse Pwn 三月 ...

  9. 机器学习之路:python支持向量机回归SVR 预测波士顿地区房价

    python3 学习使用api 支持向量机的两种核函数模型进行预测 git: https://github.com/linyi0604/MachineLearning from sklearn.dat ...

  10. centOS7.4服务器 yum安装 搭建lamp环境

    // 红色加粗是linux命令 安装gcc和gcc-c++ yum -y install gcc gcc-c++ yum list httpd* 安装apche yum -y install http ...