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. mysql忘记root密码,修改mysql密码

    1.修改mysql配置文件  vim /etc/my.cnf #编辑文件 找到[mysqld],在下面添加一行 skip-grant  :wq #保存退出 service mysqld restart ...

  2. 关于CaciiEZ端口流量阀值报警的设置

    作者:邓聪聪 环境:CactiEZ v10.1 为了更高效的发现问题,在非工作期间,公司的网络可能会出现一些故障,为了及时解决问题,所以做了一个流量监控,并以邮件的方式发送流量异常的端口,以便及时了解 ...

  3. document.execCommand()的用法小记

    项目中遇到金额输入框限制只能输入数字,输入特殊字符或者字母汉字时间隔不到1秒内容就会自动清空.跟正则纠缠多年的我初次见到,很是神奇-.- 代码实现: <input type="text ...

  4. 基于OpenSSL自建CA和颁发SSL证书

    关于SSL/TLS介绍见文章 SSL/TLS原理详解.关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 . openssl是一个开源程序的套件.这个套件有三个 ...

  5. 023_nginx跨域问题

    什么是跨域? 使用js获取数据时,涉及到的两个url只要协议.域名.端口有任何一个不同,都被当作是不同的域,相互访问就会有跨域问题.例如客户端的域名是www.redis.com.cn,而请求的域名是w ...

  6. C/C++中如何在main()函数之前执行一条语句?

    在C语言中,如果使用GCC的话,可以通过attribute关键字声明constructor和destructor(C语言中如何在main函数开始前执行函数) #include <stdio.h& ...

  7. 解决:Gitlab的developer角色的人没有push权限无法提交(转)

    问题 几位同事合作搞一些东西,打算在Gitlab上建一个仓库,然后协同开发.建好仓库后,将其他几位同事添加进来,角色分配为Developer. 之后提交初始代码到master分支后,他们用source ...

  8. Django 中间件 请求前

    中间件: class TestMiddleware(object): """中间件类""" def __init__(self): &quo ...

  9. 自定义admin(self_admin)

    admin.site.register(models.UserInfo)admin.site.register(models.Book,Book_admin)######当下面注册的这个表里面没有这个 ...

  10. python多线程中锁的概念

    1 2 3 4 5 6 7 8 mutex = threading.Lock() #锁的使用 #创建锁 mutex = threading.Lock() #锁定 mutex.acquire([time ...