VLAN(Virtual Local Area Network)

虚拟局域网(VLAN,802.1Q)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样。VLAN是一种比较新的技术,工作在OSI(Open System Interconnect,开放式系统互联)参考模型的第2层和第3层,一个VLAN就是一个广播域。VLAN通常在交换机或路由器上实现,在以太网帧中增加VLAN标签来给以太网帧分类,具有相同VLAN标签的以太网帧在同一个广播域中传送。802.1Q定义的32位标签位于分组包头的目的地址与源地址之后,包括3个优先位用于标识802.1q交换、1个识别位用于可选的令牌环网的外部、12个虚拟局域网ID位用于标识虚拟局域网的成员资格、16位用于修改“Ether Type"帧。VLAN内部成员间的通信可通过第3层的路由器来完成的,用户可以自由地在网络中移动办公,不论他在何处接入交换网络,他都可以与VLAN内其他用户自如通讯。在计算机网络中,一个网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组。VLAN具有以下优点:

  • 网络设备的移动、添加和修改的管理开销减少。
  • 可以控制广播活动。
  • 可提高网络的安全性。

在共享网络中,一个物理的网段就是一个广播域;在交换网络中,广播域可以是由一组任意选定的MAC地址组成的虚拟网段,使得网络中工作组的划分可以突破共享网络中的地理位置限制,而完全根据管理功能来划分。

VLAN-VPN 隧道技术通过在运营商接入端为用户的私网报文封装外层VLAN Tag,使报文携带两层VLAN Tag 穿越公网;在公网中,报文只根据外层VLAN Tag(即公网VLAN Tag)进行传输,用户的私网VLAN Tag 则当作报文中的数据部分来进行传输。

物理网卡、子网卡(虚拟网卡)、VLAN网卡之间的区别

物理网卡:指实体网络接口设备,如系统中的eth0、eth1等就属于这一类。

子网卡(虚拟网卡、逻辑网卡、物理网卡别名):依赖于一块物理网卡而存在(不是实际存在的单体网络接口设备),拥有独立的IP地址和配置文件,可以作为网络接口在系统中出现,如系统中eth0:1就是物理网卡eth0的一张子网卡;但当所依赖的物理网卡不启用时(Down状态),子网卡也不能工作。为应用配置单独的(虚拟)IP地址,以达到主机与应用的分离,在应用切换与迁移过程中可以做到动态切换,此时创建一张虚拟网卡便可轻松实现该目的。

Ubuntu Kylin 16.04 LTS是以eno1来命名第一块物理网卡,别的Linux版本可能会以eth0来命名第一块物理网卡。
下边是创建物理网卡eno1的第一块逻辑网卡eno1:0的三种方法:

1)sudo ifconfig -v eno1:0 172.17.0.15/16

2)在/etc/network/interfaces尾部添加下列行:
     allow-hotplug eno1:0 #可通过ifup eno1:0手动启动,ifdown eno1:0手动关闭
     #auto eno1:0 #auto可以开机自启动
     iface eno1:0 inet static
     address 172.17.0.15/16
     # netmask 255.255.0.0
     # network 172.17.0.0
     # broadcast 172.17.255.255

3)sudo ip addr add 172.17.0.15/16 brd + dev eno1 label eno1:0
   #可参考 http://www.policyrouting.org/iproute2.doc.html#ss9.1.1
   #scope global --- the address is globally valid.
   #scope site --- (IPv6 only) address is site local, valid only inside this site.
   #scope link --- the address is link local, valid only on this device.
   #scope host --- the address is valid only inside this host.
If your kernel supports alias interfaces, you can specify them with eth0:0 for the 
first alias of eth0. You can use them to assign a second address. To delete an alias
interface use ifconfig eth0:0 down.

VLAN网卡:它也不是实际存在的网络接口设备,也可以作为网络接口在系统中出现,但没有自己的配置文件,如系统中的eth0.1是与物理网卡eth0关联的VLAN网卡。如果将一个物理网卡通过vconfig命令添加到多个VLAN当中去的话,就会有多个VLAN虚拟网卡出现,所产生的相关VLAN信息都保存在/proc/net/vlan/config这个临时文件中的,而没有独立的配置文件。

计算机基础理论知识梳理篇(三):VLAN与VLAN网卡相关概念的更多相关文章

  1. 计算机基础理论知识梳理篇(一):数据类型长度、内存页、IPC

    字长与数据类型长度 字长指CPU在同一时间能够处理二进制数据的位数,是由其外接数据总线(地址总线决定了CPU的寻址空间,如16位微型机的地址总线为20位,其可寻址空间为220 = 1MB)的条数决定的 ...

  2. Oracle知识梳理(三)操作篇:SQL基础操作汇总

    Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式:       CREATE TABLE  table_name ( col_ ...

  3. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  4. Go基础知识梳理(三)

    Go基础知识梳理(三) 结构 type Person struct { name string sex int } func main() { //推荐写法 person := Person{ nam ...

  5. JQuery基础知识梳理篇

    这周没事,优化线上项目,因为前端都在赶项目,我又若菜.于是前端数据展示也要自己来.看javascript看到吐,决定梳理一下Jquery基础知识.敲黑板) 闲扯结束,进入正题. 选择器 介绍 jque ...

  6. 【SQL】- 基础知识梳理(三) - SQL连接查询

    一.引言 有时为了得到一张报表的完整数据,需要从两个或更多的表中获取结果,这时就用到了"连接查询". 二.连接查询 连接查询的定义: 数据库中的表通过键将彼此联系起来,从而获取这些 ...

  7. c#基础知识梳理(三)

    上期回顾 - https://www.cnblogs.com/liu-jinxin/p/10824638.html 一.方法 一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块.每一个 C ...

  8. Salesforce LWC学习(二十六) 简单知识总结篇三

    首先本篇感谢长源edward老哥的大力帮助. 背景:我们在前端开发的时候,经常会用到输入框,并且对这个输入框设置 required或者其他的验证,当不满足条件时使用自定义的UI或者使用标准的 inpu ...

  9. android(eclipse)广播机制知识梳理(三)

    1:分类:   标准广播:没有先后顺序,无法被截断   有序广播:又先后顺序,可以截断 2:接收广播:首先进行注册,注册的方式有静态注册和动态注册.也就是在代码中注册和在AndroidManifest ...

随机推荐

  1. Linux 两台服务器之间传输文件和文件夹

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...

  2. JAVA9模块化详解(一)——模块化的定义

    JAVA9模块化详解 前言 java9已经出来有一段时间了,今天向大家介绍一下java9的一个重要特性--模块化.模块化系统的主要目的如下: 更可靠的配置,通过制定明确的类的依赖关系代替以前那种易错的 ...

  3. 使用python处理excle表格

    # -*- coding: utf-8 -*- import xlrd ########################### #通用功能,读取excel表格中所有数据 #返回一个包含所有单元格名和对 ...

  4. 为Android Studio设置HTTP代理

    大陆的墙非常厚非常高.初次安装Android Studio下载SDK等必然失败,设置代理方法例如以下: 1. 到android studio安装文件夹,打开bin文件夹.编辑idea.properti ...

  5. 关于一些常用的linux命令

    作为一个程序员了解linux系统还是很必要的,下面我为大家提供一些linux系统中比较常的命令 一.linux系统命令 1.Cd  进入指定目录 2.ls 显示当前目录下的文件 3.ls-a 显示所有 ...

  6. Winform开发框架中工作流模块之审批会签操作

    在前面介绍了框架中工作流的几个开发过程,本篇随笔重点介绍一下日常审批环节中的具体处理过程,从开始创建表单,以及各个审批.会签过程的流转过程,希望大家对其中流程的处理有一个大概的印象. 1.请假申请表单 ...

  7. 十三、 Spring Boot 启动加载数据 CommandLineRunner

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求. 为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来 ...

  8. 知乎APP---案例分析

    产品: 这次我选择用来做案例分析的是--知乎. 知乎可以说是中文互联网最大的知识社交平台,拥有认真.专业和友善的独特气氛,分享用户间彼此的专业知识.经验和见解.因而在日常生活中,我用知乎搜索答案的概率 ...

  9. 自学Zabbix3.8.1.1-可视化Visualisation-Graphs简单图表

    自学Zabbix3.8.1.1-可视化Visualisation-Graphs简单图表 Zabbix提供了一些简单的图表,用于可视化由项目收集的数据. 用户不需要进行配置工作来查看简单的图表.他们是由 ...

  10. Linux基础:用tcpdump抓包

    简介 网络数据包截获分析工具.支持针对网络层.协议.主机.网络或端口的过滤.并提供and.or.not等逻辑语句帮助去除无用的信息. tcpdump - dump traffic on a netwo ...