当前位置:网站首页>数通基础-二层交换原理
数通基础-二层交换原理
2022-07-26 10:00:00 【GALi_233】
MAC地址
MAC地址有48bit,通常被表示为十六进制格式。
MAC地址分为单播、组播及广播MAC地址三类。
单播MAC地址全球唯一,由 IEEE对这些地址进行管理和分配。
每个单播MAC地址由两部分组成,其中前24bit代表OUI(组织唯一标识),剩下的24位由厂商自己分配。
以太网二层交换机
主要功能
使得终端用户能够接入网络;
维护MAC地址表;
数据帧的转发及过滤;
二层环路避免及链路冗余性。
交换机转发数据帧
- 收到单播数据帧(mac地址表存在记录),根据mac地址表指定接口转发。
- 收到单播数据帧(mac地址表不存在记录),复制数据帧,在除收到数据帧以外的接口进行泛洪。
- 收到广播数据帧,在除收到数据帧以外的接口进行泛洪。
工作原理
PC1、PC2连接在同一台二层交换机上。
以太网中基于MAC地址通信。
初始情况下,交换机的MAC地址表是空的。
PC1发送数据帧给PC2(假设PC1已经知道了PC2的MAC地址)。
交换机在GE0/0/1口接收帧后,在MAC地址表中查询该帧的目的MAC地址。
MAC地址表中没有任何表项匹配该目的MAC地址,于是交换机将这个数据帧进行泛洪(将数据帧的拷贝从所有接口发送出去,除了接收该帧的接口)。
同时,交换机学习该帧的源MAC地址并创建MAC地址表项,将该MAC地址与接收该帧的GE0/0/1接口进行关联。连接在交换机其他接口的PC都会收到这个数据帧,但是它们会丢弃该数据帧,因为这并不是发送给它们的,PC2接收并处理这个帧。
现在PC2向PC1回复数据,数据帧发往交换机。交换机收到数据帧后,首先在MAC地址表中查询该帧的目的MAC地址,发现有一个匹配的表项,于是将数据帧从GE0/0/1接口转发出去。
VLAN
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。
不同的VLAN是不同的广播域,通常使用不同的IP网段。
可根据业务需求灵活的进行VLAN的规划。
不同的VLAN之间无法进行二层互访。
VLAN知识点小结
一个VLAN中所有设备都是在同一广播域内,不同的VLAN为不同的广播域。
VLAN之间互相隔离,广播不能跨越VLAN传播,因此不同VLAN之间的设备一般无法直接互访(二层互访),不同VLAN间需通过三层设备实现相互通信。
一个VLAN一般为一个逻辑子网。
VLAN中成员多基于交换机的端口分配,所谓的VLAN划分,通常指的是将交换机的接口添加到特定的VLAN中,从而该接口所连接的设备也即加入到了该VLAN。
VLAN是二层交换机的一个非常基本的工作机制。
交换机接口类型(Link-type)
Access
Access接口只能加入一个VLAN,该VLAN又被称为Access接口的缺省VLAN。
Access接口只发送无标记帧,且只接收无标记帧或打了缺省VLAN Tag的标记帧。
Access接口常用于连接PC、服务器或其他终端,或路由器等设备。
Access接口只能加入一个VLAN,该种类型的接口通常用于连接PC、服务器及路由器等设备。
Trunk
当一条链路需要承载多VLAN数据的时候,可将该链路配置为Trunk链路。
Trunk链路两端的接口是Trunk类型的接口。两端交换机需采用相同的干道协议。
Trunk链路一般见于交换机之间或交换机与路由器之间。
Trunk接口可以加入多个VLAN,可以收发多个VLAN的报文。一般用于交换机之间的互联接口,也用于交换机与以太网子接口对接。
Hybrid
Hybrid接口也可以收发多个VLAN的报文,而且可以指定该接口在发送特定VLAN的报文时是否携带Tag。
802.1q
IEEE 802.1q以及VLAN Tagging属于互联网下IEEE 802.1的标准规范,允许多个网桥(Bridge)在信息不被外泄的情况下公开的共享同一个实体网上。IEEE 802.1q-英文缩写写为dot1q,经常在实现以太网封装协议的架构下被提及。以下是打上VLAN Tag的数据帧
端口的缺省ID(PVID)
每个Access、Trunk及Hybrid的接口都有一个接口缺省VLAN-ID,称为PVID(Port Default VLAN ID),当接口接收到无标记帧时,为数据帧打上PVID。
对于Access类型的接口,PVID缺省为1,由于Access接口只能加入一个VLAN,因此PVID也即该接口所属的VLAN。
对于Trunk及Hybrid类型端口,PVID缺省也为1,这两种接口都允许多个VLAN数据帧通过,当接口收到无标记帧时,为数据帧打上PVID。
原始的以太网数据帧(或无标记帧、Untagged帧):指的是采用以太网封装的数据帧,例如普通PC或服务器网卡收发的数据帧。
802.1Q数据帧(或标记帧、携带VLAN Tag的数据帧、Tagged帧):指的是插入了802.1Q头部的以太网数据帧。
交换机的接口“接收帧”:
指的是数据帧从外部到达交换机的接口,并进入到交换机内部的过程。
交换机的接口“发送帧”:
指的是数据帧被交换机从其内部往接口外发送的过程。
Access接口
Access接口接收帧:
- 如果该帧不带tag,则接收帧并打上端口的PVID;
- •如果该帧携带tag,则当VLAN-ID与PVID相同时,接收该报文,否则丢弃。
Access接口发送帧:
- 剥离Tag,发出的帧为普通以太网帧(也即无标记帧)。
Trunk接口
Trunk接口接收帧:
- 若数据帧不带tag,则打上接口PVID,此时若PVID在允许通过的VLAN列表里,则接收该帧,否则丢弃。缺省时Trunk端口的PVID为1,而且VLAN1缺省就已经在allow-pass VLAN列表中。
- 若数据帧带tag,且其VLAN-ID在接口允许通过的VLAN-ID列表里,则接收该帧,否则丢弃。
Trunk接口发送帧:
若VLAN-ID与接口PVID相同,且该VLAN-ID在allow-pass VLAN列表中,则去掉Tag,发送数据帧。
若VLAN-ID与接口PVID不同,且该VLAN-ID在allow-pass VLAN列表中,则保持原有Tag,发送该带tag的数据帧(标记帧)。
Hybrid接口
Hybrid接口接收帧:
- 若数据帧不带tag,打上接口PVID,若PVID在允许通过的VLAN列表里,则接收该帧,否则丢弃。
- 若数据帧带tag,且VLAN-ID在接口允许通过的VLAN列表里,则接收该报文。否则丢弃该报文。
Hybrid接口发送帧:
- 若VLAN-ID在接口允许通过的VLAN列表里,则发送该帧。可以通过命令设置发送时是否携带Tag。
以下图表也可直观看出
VLAN基本配置
•在两台交换机上创建VLAN10及20。
•将连接PC的接口划入如图所示的VLAN。
•配置SW1-SW2之间的链路为trunk,使得相同VLAN内的用户能够跨交换机实现通信。
# 创建VLAN10及VLAN20:
[SW1] vlan batch 10 20
# 将GE0/0/1配置为access类型,并加入VLAN10:
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 10
# 将GE0/0/2配置为access类型,并加入VLAN20:
[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 20
# 创建VLAN10及VLAN20:
[SW2]vlan batch 10 20
# 将GE0/0/1配置为access类型,并加入VLAN10:
[SW2]interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1] port link-type access
[SW2-GigabitEthernet0/0/1] port default vlan 10
# 将GE0/0/2配置为access类型,并加入VLAN20:
[SW1]interface GigabitEthernet 0/0/2
[SW2-GigabitEthernet0/0/2] port link-type access
[SW2-GigabitEthernet0/0/2] port default vlan 20
配置Trunk链路,允许vlan10和vlan20流量通过
[SW1]interface GigabitEthernet 0/0/24
[SW1-GigabitEthernet0/0/24]port link-type trunk
[SW1-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20
[SW2]interface GigabitEthernet 0/0/24
[SW2-GigabitEthernet0/0/24]port link-type trunk
[SW2-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20
相同vlan间可通信,不同vlan不可通信
查看vlan信息
完成上述配置后,同属VLAN10的PC1及PC3即可相互通信;同属VLAN20的PC2及PC4亦可相互通信,我们将这种通信行为成为“二层通信”。然而不同VLAN的用户无法进行直接通信。
边栏推荐
- Solve NPM -v sudden failure and no response
- Application of Gauss elimination
- R language ggplot2 visualization: align the legend title to the middle of the legend box in ggplot2 (default left alignment, align legend title to middle of legend)
- 新公链Aptos何以拉满市场期待值?
- El table implements adding / deleting rows, and a parameter changes accordingly
- 论文笔记(SESSION-BASED RECOMMENDATIONS WITHRECURRENT NEURAL NETWORKS)
- Docker configuring MySQL Cluster
- Use of selectors
- spolicy请求案例
- 一种分布式深度学习编程新范式:Global Tensor
猜你喜欢
Applet record
Installation and use of cocoapods
Azkaban [basic knowledge 01] core concepts + features +web interface + Architecture +job type (you can get started with Azkaban workflow scheduling system in one article)
2021年山东省中职组“网络空间安全”B模块windows渗透(解析)
Matlab Simulink realizes fuzzy PID control of time-delay temperature control system of central air conditioning
Principle analysis and source code interpretation of service discovery
PMM (percona monitoring and management) installation record
面试突击68:为什么 TCP 需要 3 次握手?
服务器内存故障预测居然可以这样做!
[fluorescent character effect]
随机推荐
新公链Aptos何以拉满市场期待值?
Mysql5.7.25 master-slave replication (one-way)
Sqoop【环境搭建 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
Basic usage of protobuf
MQTT X CLI 正式发布:强大易用的 MQTT 5.0 命令行工具
In the same CONDA environment, install pytroch first and then tensorflow
[fluorescent character effect]
js 表格自动循环滚动,鼠标移入暂停
Solve the problem of storing cookies in IE7 & IE8
Installation and use of cocoapods
The use of MySQL in nodejs
Applet record
Interpretation of the standard of software programming level examination for teenagers_ second level
图解用户登录验证流程,写得太好了!
The problem of accessing certsrv after configuring ADCs
Solve proxyerror: CONDA cannot proceed due to an error in your proxy configuration
在.NET 6.0中配置WebHostBuilder
Mo team learning summary (II)
PMM (percona monitoring and management) installation record
时间序列异常检测