https://blog.csdn.net/standmyground/article/details/3933364

大家知道,交换机会把广播报文(目的mac地址全1的报文)和未知单播报文从所有端口转发出去(除了报文的接收端口),这就是广播。(对未知多播报文如何处理呢,我不知道,应该也会广播出去,这是一个遗留问题,哪位同学知道的请教教我哈)。一般交换机会发送很多广播报文,如果按照上面的处理方法,势必会影响整个网络的通信。vlan就是为了划分广播域而产生的。划分vlan之后,广播只在一个vlan内进行,这就大大减少了广播报文对网络性能的影响。

交换机的端口加入vlan有三种方式,分别是access、trunk和hybrid。

1、access端口只能加入一个vlan,一般用来连接交换机和pc,也可以连接交换机和交换机。

2、trunk端口可以加入多个vlan,就是说可以允许多个vlan的报文通过。trunk端口有一个默认vlan,如果收到的报文没有vlan ID,就把这个报文当做默认vlan的报文处理。trunk口一般用于连接两台交换机,这样可以只用一条trunk连接实现多个vlan的扩展(因为trunk允许多个vlan的数据通过,如果用access口,那么一个vlan就要一条连接,多个vlan要多个连接,而交换机的接口是有限的)。对于trunk口发送出去的报文,只有默认vlan的报文不带vlan ID,其它vlan的报文都要带vlan ID(要不然,对端的交换机不知道该报文属于哪个vlan,无法处理,也就不能实现vlan跨交换机扩展了)。简而言之,trunk端口的设计目的就是通过一条连接实现多个vlan的跨交换机扩展。

3、trunk端口是hybrid端口的特例,就是说hybrid端口可以实现比trunk端口更多的功能。hybrid端口可以加入多个vlan,并可以设置该vlan的报文通过该端口发送是是否带vlan ID(trunk端口不能设置,只有默认vlan的报文不带vlan ID进行发送)。通过下面的两个例子(转载的),大家应该可以看出hybrid端口的设计目的。

例一:『配置环境参数』
1.        PC1、PC2和PC3分别连接到二层交换机SwitchA的端口E0/1 、E0/2和 E0/3,端口分属于VLAN10、20和30,服务器连接到端口G2/1,属于VLAN100。
2.        PC1的IP地址为10.1.1.1/24,PC2的IP地址为10.1.1.2/24,PC3的IP地址为10.1.1.3/24,服务器的IP地址为10.1.1.254/24。

『组网需求』

1.        PC1和PC2之间可以互访;

2.        PC1和PC3之间可以互访;

3.        PC1、PC2和PC3都可以访问服务器;

4.        其余的PC间访问均禁止。

【SwitchA相关配置】

1.        创建(进入)VLAN10,将E0/1加入到VLAN10
[SwitchA]vlan 10
[SwitchA-vlan10]port Ethernet 0/1

2.        创建(进入)VLAN20,将E0/2加入到VLAN20
[SwitchA]vlan 20
[SwitchA-vlan20]port Ethernet 0/2

3.        创建(进入)VLAN30,将E0/3加入到VLAN30
[SwitchA]vlan 30
[SwitchA-vlan30]port Ethernet 0/3

4.        创建(进入)VLAN100,将G2/1加入到VLAN100
[SwitchA]vlan 100
[SwitchA-vlan100]port GigabitEthernet 2/1

5.        配置端口E0/1为Hybrid端口,能够接收VLAN20、30和100发过来的报文
[SwitchA]interface Ethernet 0/1
[SwitchA-Ethernet0/1]port link-type hybrid
[SwitchA-Ethernet0/1]port hybrid vlan 20 30 100 untagged

6.        配置端口E0/2为Hybrid端口,能够接收VLAN10和100发过来的报文
[SwitchA]interface Ethernet 0/2
[SwitchA-Ethernet0/2]port link-type hybrid
[SwitchA-Ethernet0/2]port hybrid vlan 10 100 untagged

7.        配置端口E0/3为Hybrid端口,能够接收VLAN10和100发过来的报文
[SwitchA]interface Ethernet 0/3
[SwitchA-Ethernet0/3]port link-type hybrid
[SwitchA-Ethernet0/3]port hybrid vlan 10 100 untagged

8.        配置端口G2/1为Hybrid端口,能够接收VLAN10、20和30发过来的报文
[SwitchA]interface GigabitEthernet 2/1
[SwitchA-GigabitEthernet2/1]port link-type hybrid
[SwitchA-GigabitEthernet2/1]port hybrid vlan 10 20 30 untagged

例二:『配置环境参数』
1.        PC1、PC2和PC3分别连接到二层交换机SwitchA的端口E0/1 、E0/2和 E0/3,端口分属于VLAN10、20和30;PC4和PC5分别连接到二层交换机SwitchB的端口E0/1和E0/2,端口分属于VLAN10和20;

2.        SwitchA通过端口G2/1,连接到SwitchB的端口G1/1;SwitchA的端口G2/1和SwitchB的端口G1/1均不是Trunk端口;

3.        PC1的IP地址为10.1.1.1/24,PC2的IP地址为10.1.1.2/24,PC3的IP地址为10.1.1.3/24,PC4的IP地址为10.1.1.4/24,PC5的IP地址为10.1.1.5/24。

『组网需求』

1.        PC1和PC3之间可以互访;

2.        PC2和PC3之间可以互访;

3.        PC1和PC4之间可以互访;

4.        PC2和PC5之间可以互访;

5.        其余PC之间均禁止互相访问。

【SwitchA相关配置】

1.        创建(进入)VLAN10,将E0/1加入到VLAN10
[SwitchA]vlan 10
[SwitchA-vlan10]port Ethernet 0/1

2.        创建(进入)VLAN20,将E0/2加入到VLAN20
[SwitchA]vlan 20
[SwitchA-vlan20]port Ethernet 0/2

3.        创建(进入)VLAN30,将E0/3加入到VLAN30
[SwitchA]vlan 30
[SwitchA-vlan30]port Ethernet 0/3

4.        配置端口E0/1为Hybrid端口,能够接收VLAN30发过来的报文
[SwitchA]interface Ethernet 0/1
[SwitchA-Ethernet0/1]port link-type hybrid
[SwitchA-Ethernet0/1]port hybrid vlan 30 untagged

5.        配置端口E0/2为Hybrid端口,能够接收VLAN30发过来的报文
[SwitchA]interface Ethernet 0/2
[SwitchA-Ethernet0/2]port link-type hybrid
[SwitchA-Ethernet0/2]port hybrid vlan 30 untagged

6.        配置端口E0/3为Hybrid端口,能够接收VLAN10和20发过来的报文
[SwitchA]interface Ethernet 0/3
[SwitchA-Ethernet0/3]port link-type hybrid
[SwitchA-Ethernet0/3]port hybrid vlan 10 20 untagged

7.        配置端口G2/1为Hybrid端口,能够接收并透传VLAN10和20发过来的报文
[SwitchA]interface GigabitEthernet 2/1
[SwitchA-GigabitEthernet2/1]port link-type hybrid
[SwitchA-GigabitEthernet2/1]port hybrid vlan 10 20 tagged

【SwitchB相关配置】

1.        创建(进入)VLAN10,将E0/1加入到VLAN10
[SwitchA]vlan 10
[SwitchA-vlan10]port Ethernet 0/1

2.        创建(进入)VLAN20,将E0/2加入到VLAN20
[SwitchA]vlan 20
[SwitchA-vlan20]port Ethernet 0/2

3.        配置端口G1/1为Hybrid端口,能够接收并透传VLAN10和20发过来的报文
[SwitchA]interface GigabitEthernet 2/1
[SwitchA-GigabitEthernet2/1]port link-type hybrid
[SwitchA-GigabitEthernet2/1]port hybrid vlan 10 20 tagged

【补充说明】

对于Hybrid端口来说,可以同时属于多个VLAN。这些VLAN分别是该Hybrid端口的PVID,以及手工配置的”untagged”及”tagged”方式的VLAN。一定要注意对应端口的VLAN配置,保证报文能够被端口进行正常的收发处理。

利用Hybrid端口的特性――一个端口可以属于多个不同的VLAN,来完成分属不同VLAN内的同网段PC机的访问需求。

此应用在二层网络中,对相同网段的主机进行访问权限的控制。

我总结的hybrid端口的设计目的是——实现不同vlan之间的互通,这个功能通过access和trunk口是实现不了的。
---------------------
作者:务远
来源:CSDN
原文:https://blog.csdn.net/standmyground/article/details/3933364
版权声明:本文为博主原创文章,转载请附上博文链接!

交换机的vlan文章的更多相关文章

  1. Cisco SG300系列交换机划分VLan与普通路由器连接配置

    思科SG300系列三层交换机是针对中小企业设计的一款产品,Marvell 主控和128M Ram,最大支持52个千兆RJ45端口和2个SFP端口,因公司业务需求,最近也进行了解和配置,具体型号为 SG ...

  2. 跨交换机相同vlan内的通信(trunk模式)

    当一个公司的小型局域网内部,处于不同楼层的主机处在同一个虚拟局域网内,连接到不同的交换机上,这时候就需要相同虚拟局域网内部的主机进行跨交换机进行通信. 通过设置交换机之间相连接的端口开启trunk模式 ...

  3. 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校

        上一次,我们通过宿舍联网打魔兽的需求,认识了如何通过物理层和链路层组建一个宿舍局域网.今天,让我们切换到稍微复杂点的场景,办公室.     在这个场景里,就不像在宿舍那样,搞几根网线,拉一拉, ...

  4. 交换机基础配置之跨交换机划分vlan

    我们以上面的拓扑图来进行实验 四台pc机都在同一网段 pc1和pc2在同一台交换机上 pc3和pc4在同一台交换机上 现在我们实验的目的就是将pc1和pc3划分到同一vlan pc2和pc4划分到同一 ...

  5. 让VMware ESXi虚拟交换机支持VLAN

    眼下虚拟化应用比較广泛,通常情况下.一台物理主机在安装VMware ESXi或Hyper-V虚拟机软件后.能够在一台物理主机上创建多个虚拟机,而且创建的每一个虚拟机能够像原来的物理一样对外提供服务,这 ...

  6. 网络协议 4 - 交换机与 VLAN

    上一次,我们通过公司需求,认识了如何通过物理层和链路层组建一个公司局域网.今天,我们切换到复杂点的办公室场景.     在这个场景里,就不像在大学教室那样,搞几根网线,拉一拉,扯一扯就可以了.一个办公 ...

  7. 网络协议 4 - 交换机与 VLAN:拓扑结构

    上一次,我们通过宿舍联网打魔兽的需求,认识了如何通过物理层和链路层组建一个宿舍局域网.今天,让我们切换到稍微复杂点的场景,办公室.     在这个场景里,就不像在宿舍那样,搞几根网线,拉一拉,扯一扯就 ...

  8. Cisco思科模拟器交换机划分VLAN 入门详解 - 精简归纳

    Cisco思科模拟器交换机划分VLAN 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 24 转载请注明出处!️ 附: 交流方式: ️ ️ ️ QQ: 1846334075 We ...

  9. 第6讲 | 交换机与VLAN:办公室太复杂,我要回学校

    第6讲 | 交换机与VLAN:办公室太复杂,我要回学校 拓扑结构是怎么形成的? 一个交换机肯定不够用,需要多台交换机,交换机之间连接起来,就形成一个稍微复杂的拓扑结构. 如何解决常见的环路问题? 包转 ...

随机推荐

  1. pyinstaller 打包exe可执行文件

    Python打包EXE方法之一 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 使用pi ...

  2. Python运维开发基础01-语法基础【转】

    开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...

  3. 关于VC工程编译不过去这件事

    刚开始接触VC的时候,很大一部分时间是在对付编译链接错误,因为经验不足的原因,这些编译链接总让人很沮丧.比如: 1.fatal error LNK1104: 无法打开文件“LIBC.lib”错误 这个 ...

  4. Navicat for MySQL连接mysql数据库时提示错误:Can't connect to MySQL server (10060)

    导致些问题可能有以下几个原因: 1.网络不通: 2.服务未启动: 3.防火墙端口未开放: a)首先确认mysql配置正确,并正确开启 service mysqld start; 设置mysql远程连接 ...

  5. 【转】细说new与malloc的10点区别

    1.申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存.自由存储区是C++基于new操作符的一个抽象概念,凡是通过new ...

  6. python批量解析域名a记录

    #encoding:utf-8 import requests import json import dns.resolver import sys reload(sys) sys.setdefaul ...

  7. centos7.4_x86_64安装grafana5.2.1并安装常用zabbix插件

    获取并安装grafana5.2.1# wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.1-1. ...

  8. 转载:UML学习(二)-----类图(silent)

    原文:http://www.cnblogs.com/huiy/p/8552607.html 1.什么是类图 类图(Class diagram)主要用于描述系统的结构化设计.类图也是最常用的UML图,用 ...

  9. linux shell中 if else以及大于、小于、等于逻辑表达式

    在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下,方便需要的朋友 比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示 ...

  10. 【原创】Linux基础之命令行浏览器links

    有时服务器环境受限,比如在内网环境不能暴露端口从外网访问,用curl看html代码比较累,这时可以使用命令行浏览器来查看相关页面 links 官方:http://links.twibright.com ...