1、理论简析:

以太网交换机的通信是基于端口的通信,其端口类型分为Trunk port(干道端口)、Access port(接入端口)、Hybird port(混合端口)三种。Access port一般用于交换机和用户PC主机相连,连接用户主机和交换机的链路称为接入链路(Access Link);而Trunk port一般用于连接交换机,通过Trunk port相连的链路称为干道链路。Hybird port可以连接交换机和用户主机,也可以连接交换机和交换机(暂不考虑Hybird port)。

其中Access和Trunk是比较常用的端口模式。

Access port只属于一个VLAN,Access链路上的数据帧是不带VLAN tag的帧(因为Access链路要么是PC->Access port,PC本身不会识别VLAN tag,所以PC->Access port是不会带VLAN tag的;要么是Access port->PC,由于出端口目标是明确的,不存在需要带VLAN Tag去区别VLAN,所以Access port->PC也是不需要带VLAN tag的)
而Trunk port可以属于多个VLAN,Trunk上的帧也是带tag的帧,目的就是为了区分不同的VLAN,实现不同交换机的同一VLAN间以及跨VLAN的数据通信。
③带VLAN tag的数据帧(802.1Q)格式如下所示(除去VLAN tag便是标准以太帧格式),其主要的字段是优先级和VLAN ID字段:

以下例(如图所示)来说明以太网数据帧在进入和离开Access、Trunl两种不同类型端口时,添加与剥离VLAN tag的步骤。

SW1和SW2各有三个端口,其端口类型与链路类型如图所示,SW1:port3和SW2:port3都是trunk port,SW1:port3属于一个VLAN,而SW2:port3属于两个VLAN。

入端口和出端口都是Access port:
①当A要给B发送消息,则A发送一个不带tag的数据帧(源MAC:A,目标MAC:B)到达SW1:port1;
②SW1:port1接收到不带tag的数据帧,根据port1所在所在VLAN(VLAN 1),进入交换机之后便加上VLAN tag,标识了该数据帧属于VLAN 1;
③在经过查找FDB表,知道了要将数据帧送给B则必须从SW1:port 2转发出去,但是SW1:port 2并不在VLAN 1中,所以该报文是不能直接由交换功能转发到SW1:port 2的,即B是不能直接通过二层转发收到来自A的数据帧的;
④那么直接通过FDB转发不行,该报文就不能转发成功了吗?当然不是,假设交换机具备三层功能,并且存在VLAN1~VLAN2的路径,数据帧通过解析出目标IP,借助三层转发表匹配出接口MAC并找到出接口对应端口,或者路由表(初次)找到下一跳的出接口,从而从目标端口SW1:port2转发出去到达B【注:在讲Trunk、Access、Hybrid端口类型时,是忽略三层转发功能的,仅从二层来讲,A发送的报文确实不能到达B】。

入端口和出端口都有Access port与Trunk port:
①当A要给C发送消息,同样A发送一个不带tag的数据帧(源MAC:A,目标MAC:C)到达SW1:port1;
②SW1:port1接收到不带tag的数据帧,根据port1所在所在VLAN(VLAN 1),进入交换机之后便加上VLAN tag,标识了该数据帧属于VLAN 1;
③经过查找FDB表,知道了要将数据帧送给C则必须从SW1:port 3转发出去,经过交换机内部交换芯片处理后到达SW1:port 3即将转发;
④由于SW1:port 3是Trunk端口,则先检查VLAN tag的VLAN ID是否等于PVID,检查不等于则直接发送【如果VID==PVID则剥离tag再转发】。
⑤SW2:port3接收到从Trunk link上收到的带VLAN tag的数据帧,先解析是否带VLAN tag【如果不带则加上tag信息,tag中的VLAN ID设为PVID】,如果带tag则判断,端口是否允许该tag所标识的VLAN数据进入,允许则进入交换机内部进行交换转发,不允许则丢弃;
⑥在交换机内部通过tag信息的标识,查找FDB表数据到达SW2:port1,由于SW2:port1是一个Access port,所以在数据转发前先将tag剥离掉,在转发给C,则C收到一个不带tag的来自A的数据帧。

由上面分析可知:
①凡是和PC打交道的数据帧都是不带VLAN tag的(因为VLAN是二层交换机的概念,不牵扯PC);
②凡是和进入交换机的数据帧都需要加上VLAN tag,以实现能够在交换机内部交换转发是能够识别不同VLAN;

2、搭建实验环境:

实验环境如下图所示:

两个接入层交换机Switch0和Switch1其FE0/1~FE0/24均设置为Access 口,且FE0/1~FE0/12均加入VLAN 1,而FE0/13~FE0/24均加入VLAN 2。因此各PC与Server所处VLAN就如图所示清晰明了:PC0、PC2、Server2处于VLAN1;PC1、PC3、Server3处于VLAN2;另外顶端的直接连接在Multilayer Switch0的FE0/1类型为Access port上的Server1属于VLAN3。

配置如下:

//Multilayer Switch0配置://配置gigabitEthernet 0/1为trunk口
Switch>enable
Switch#configure terminal
Switch(config)#interface gigabitEthernet 0/1
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit//配置gigabitEthernet 0/2为trunk口
Switch(config)#interface gigabitEthernet 0/2
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit
Switch(config)#//配置VLAN interface
Switch(config)#interface vlan 1
Switch(config-if)#ip address 192.168.10.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config)#interface vlan 2
Switch(config-if)#ip address 192.168.20.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config)#interface vlan 3
Switch(config-if)#ip address 128.255.240.1 255.255.0.0
Switch(config-if)#no shutdown //开启VLAN间路由
Switch(config)#ip routing
Switch(config)#exit
Switch#copy running-config start-config
//Switch0和Switch1配置一致:
Switch>enable
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.   //新建VLAN
Switch(config)#vlan 1
Switch(config-vlan)#exit
Switch(config)#vlan 2
Switch(config-vlan)#exit//指定fastEthernet 0/1 - fastEthernet 0/12端口属于VLAN1,且均是Access port
Switch(config)#interface range fastEthernet 0/1 - fastEthernet 0/12
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 1
Switch(config-if-range)#exit
//指定fastEthernet 0/13 - fastEthernet 0/24端口属于VLAN2,且均是Access port
Switch(config)#interface range fastEthernet 0/13 - fastEthernet 0/24
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 2
Switch(config-if-range)#exit//配置gigabitEthernet 0/1为trunk口
Switch(config)#interface gigabitEthernet 0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit
Switch(config)#exit
Switch#copy running-config startup-config
Switch#

测试步骤如下:
①在三台服务器上搭建我们的三个Web网站;
②开启三层交换机的ip routing功能,则任何一个主机可以访问任何一台服务器(由于trunk链路的存在,才可以实现跨交换机实现同一VLAN间通信);

③但是当关闭三层交换机的ip routing功能,则主机只能访问本VLAN内Server,不同VLAN的主机不能跨VLAN访问服务器(由于Trunk链路与路由二者均存在,才可以实现不同交换机上不同VLAN间的任意通信)。

通过上例,我们就可以明确Trunk 链路的实际作用了。

关于交换机端口的Trunk和Access模式的分析与验证相关推荐

  1. 修改交换机端口的速率和双工模式(用于自己查找使用方便)

    一.了解端口速率和双工模式 客户端接入交换机后,其转发速度在很大程度上取决于交换机端口的速率和双工模式. 端口速率 交换机端口的速率是指这个端口每秒能够转发的比特数参数的单位是bit/s. 双工模式 ...

  2. 路由交换技术-交换机vlan,trunk,access等配置,保证其连通性,telnet远程登陆配置,osf协议配置,默认路由。

    目的:现有一个园区网络,现需要配置使得划分出不同的VLAN,为了最后进行地址管理,保障每位用户可以上网 结构拓扑如下所示(今天本来是用华为设备或者华三的设备演示的,但是此时华三和华为的模拟器出现小问题 ...

  3. 华为交换机端口不配置access_华为交换机屏蔽端口号

    求助,华为交换机肿么屏蔽445端口 acl number 3000 rule 1 deny tcp destination-port eq 445 rule 5 deny udp destinatio ...

  4. 华为交换机端口不配置access_华为交换机如何配置端口组?华为交换机端口组-百度经验...

    创建端口组2,该组内端口都配置为access模式,且默认vlan为20,具体命令如下: [Huawei]port-group 2    [Huawei-port-group-2]group-membe ...

  5. 交换机端口加入VLAN的三种模式(access,trunk,hybrid)

    untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯: tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan t ...

  6. vlan与交换机端口模式Access,Hybrid,Trunk

    1 vlan简介     VLAN(Virtual Local Area Network)的中文名为"虚拟局域网".VLAN是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟 ...

  7. 华为交换机端口模式trunk⇌access互改

    华为交换机端口模式trunk⇌access互改 1.#trunk改为access# undo port trunk allow-pass vlan all port trunk allow-pass ...

  8. 华为新版交换机端口配置由TRUNK改为ACCESS

    在华为新版交换机端口配置由TRUNK改为ACCESS遇到的现象: 在接口模式下直接修改TRUNK,报错: [Quidway-GigabitEthernet0/0/7]port link-type ac ...

  9. 华为交换机的配置及:access、trunk、hybird端口详解

    今天我们来了解下华为交换机的配置,以及以太网的三种链路方式. 为了让大家更加清楚,每行代码都有解释. 一.华为交换机的基本配置 1.创建vlan: <Quidway> //用户视图,也就是 ...

  10. 网络技术(十一)交换机三种工作模式 hybrid 、trunk、access的深入研究

    目录 一.前言 二.基础知识 2.2  spanning tree--生成树 2.2.1使用场景: 2.2.2环路会引起的问题 2.2.3STP的作用 2.2.4BPDU报文 2.2.5生成树算法的步 ...

最新文章

  1. Oracle导入导出dmp文件
  2. educoder答案python玩转列表_2020大学mooc用Python玩转数据章节测验答案
  3. MySQL【付诸实践 01】Linux 环境 MySQL 数据库备份 shell 脚本(脚本源码及说明+定时任务配置+数据库恢复测试)粘贴可以
  4. MySQL5.7.17源码编译安装与配置
  5. 如何在构建docker镜像时执行SonarQube扫描.NET Core应用
  6. 《大话设计模式》笔记(1)——创建型模式
  7. 基础训练(一~五)题解
  8. 【Linux】常用命令之 awk 常用实例
  9. android listview 数据混乱,求解,listView里面嵌套listView数据显示混乱
  10. Cesium加载OSGB数据
  11. SIM868烧写自己MT2503开发的程序过程
  12. 使用freessl免费证书
  13. xp系统打不开vba服务器,xp系统打不开360安全卫士的解决方法
  14. 2110449-02-8,2110449-02-8巯基反应性PEG
  15. 次世代游戏建模这7问
  16. python权重是什么意思_在python带权重的列表中随机取值的方法
  17. 计算机蓝屏安全模式都启动不了,stop:0x00000074蓝屏无法进入安全模式无法开机 解决办法...
  18. 国外问卷调查工具操作教程
  19. 假信息正在伤害孩子!作为信息时代的原住民,孩子如何辨别信息真伪?
  20. Apollo Planning决策规划算法代码详细解析 (2):Scenario执行

热门文章

  1. 软件测试基础理论与测试方法
  2. mac 无法对计算机进行更改,解析深度技术win10 MAC不能修改的原因和解决成功的技巧...
  3. 自然语言处理实战:新闻文本分类(附代码)
  4. ArcGIS基础学习笔记之空间数据库管理工具ArcCatalog基础
  5. JUCE学习笔记06-音频输出基础(正弦波)
  6. DONET中常用的一些快捷键收集。
  7. 日常记账如何自定义设置收支类别及账户
  8. 日常开支记账,自动统计用它就够了
  9. 华为交换机命令基础入门学习,菜鸟也能看得懂!
  10. 股票python量化交易014-计算收益率