交换原理
交换机的工作原理
交换机最基本的工作是处理OSI的第二层数据链路层的消息。
工作原理是根据MAC地址表在二层交换数据
交换数据的方式:
- 泛洪:从一个接口收到的数据,会从其余所有接口上发出。
1. 交换机收到广播或者组播流量
2. 交换机收到单播流量,但是单播流量的目的MAC在MAC地址表查找不到对应表项时,也会泛洪,此时称为未知单播泛洪 - 转发:从一个接口收到的数据,只从另外一个接口上发出。交换机正常工作时,都是执行的转发行为。
- 丢弃:从一个接口收到的数据,不从任何接口上发出。在交换机执行避免环路的功能时。
MAC地址表怎么来,以及MAC地址表如何帮助转发:
交换机的初始状态MAC地址表为空。
MAC地址表有两种方式生成:
1.手工配置,静态方式。
2.自动学习,动态方式。表项是有老化时间的,300S。
交换机三大基本功能:
- 学习地址:自动学习数据帧的源MAC地址,用于构建MAC地址表项。
- 转发数据:根据MAC地址表使用数据帧的目的MAC地址查找转发。
- 避免环路:
使用交换机连接设备时,需要注意链路两端的接口的双工模式以及速率大小保持一致,大多数情况自动协商即可。
VLAN概念
将网络规模逐渐增大时,会带来以下问题:
1.维护不方便
2.故障域过大
3.广播域过大
4.安全性问题
。。。。
可以用路由器解决广播域过大的问题,但是使用路由器会增加额外的硬件成本,而且在大量主机的情况下可能导致网络结构变得比较复杂。
所以就采用纯二层技术VLAN即虚拟局域网来解决广播域过大的问题。
虚拟局域网?
逻辑划分的局域网,突破物理位置的限制,比如不同的交换机,不同的机架,不同的机房,不同的建筑,甚至是不同的国家!
VLAN技术
VLAN应该如何划分呢?
华为交换机比较常见的接口类型有三类:
- access,允许最多一个VLAN tag的流量通过。
1.PVID 用于确定哪个VLAN可能通过接口 - trunk,允许所有VLAN tag的流量通过,默认华为交换机只允许VLAN1通过。
1.PVID 当PVID的VLAN流量通过Trunk接口,trunk接口会将此流量的VLAN Tag进行拆除
2.trunk vlan list,此列表决定trunk接口允许哪些VLAN流量通过 - hybrid,既可以当作access接口,同时也可以当作trunk接口来用,称为混杂接口。
用于主机在同一个网段,但是在不同VLAN时,互联使用,比如上图需求为,VLAN2、VLAN3都可以和VLAN100通信,但是VLAN2和VLAN3无法通信
第一步,主机A发出的流量无标记,SWA的G0/0/2接收时,希望变成VLAN2的流量
[SWA-GigabitEthernet0/0/2]port hybrid pvid vlan 2
第二步,数据将从SWA的G0/0/1出去,并且保留标记VLAN2。
[SWA-GigabitEthernet0/0/1]port hybrid tagged vlan 2
第三步,数据将在SWB的G0/0/1接收,需要接收VLAN2标记的流量
[SWB-GigabitEthernet0/0/1]port hybrid tagged vlan 2
第四步,数据将从SWB的G0/0/2出去,并且拆除标记VLAN2。
[SWB-GigabitEthernet0/0/2]port hybrid untagged vlan 2
第五步,服务器收到数据后,进行回包,发送无流量标记至SWB,希望变成VLAN100的流量
[SWB-GigabitEthernet0/0/2]port hybrid pvid vlan 100
第六步:流量将从SWB的G0/0/1发出,需要保留VLAN100的标记。
[SWB-GigabitEthernet0/0/1]port hybrid tagged vlan 100
第七步:流量将从SWA的G0/0/1接收,需要接收带有VLAN100标记的流量。
[SWA-GigabitEthernet0/0/1]port hybrid tagged vlan 100
第八步:流量从SWA的G0/0/2发出,希望拆除标记VLAN100。
[SWA-GigabitEthernet0/0/2]port hybrid untagged vlan 100
以上八步配置完成后,可以实现效果主机A和服务器通信。
但是VLAN2如果还有其他的主机,则VLAN2内部不可通信,如果VLAN100内还有其它的服务器,则VLAN100内部不可通信。
如果希望VLAN2和VLAN100内部能通信,则需要在在对应的接口上拆除对应的tag
[SWA-GigabitEthernet0/0/2]port hybrid untagged vlan 2 100
[SWB-GigabitEthernet0/0/2]port hybrid untagged vlan 2 100
在配置上述两条命令后,VLAN2内部可以通信,VLAN100内部可以通信,VLAN2和VLAN100也能通信。
如果希望VLAN2内部通信,VLAN3内部通信,VLAN100内部通信,VLAN2和VLAN100以及VLAN3和VLAN100能够通信,但是VLAN2和VLAN3不能通信,只需要将上述命令中的VLAN2改成VLAN3,配置到对应接口即可。
PVID是什么?
PVID指的是交换机接口默认支持的VLANID。
交换机使用802.1Q协议(dot1Q)来对流量进行打标,用来区分不同VLAN的流量。
VLANID字段一共有12b,最大支持0-4095,因为0和4095保留,所以能够使用的VLAN范围为1-4094。
交换机默认存在一个VLAN,即VLAN1,所以所有的接口默认都是属于VLAN1的。
实验
实验一
PC1/PC2/PC3/PC4如图配置IP地址,具体过程略
LSW1配置参考
1.创建VLAN
[LSW1]vlan 10
[LSW1-vlan10]quit
[LSW1]vlan 20
[LSW1-vlan20]quit
(或者使用下列命令[LSW2]vlan batch 10 20)
2.配置access接口
[LSW1-GigabitEthernet0/0/1]port link-type access //配置接口模式为access
[LSW1-GigabitEthernet0/0/1]port default vlan 10 //更改接口的PVID
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 20
LSW2的配置和LSW1的配置基本一样,只是接口统一略有不同,配置步骤略。
做完以后会发现不通:
因为生成树任何g0/0/3和g0/0/4接口之间出现环路,则将其中一组接口阻塞掉,会导致某个VLAN不通。
解决方法:
LSW1/LSW2
stp disable
检查结果:
PC1和PC4的连通性
PC2和PC3的连通性
实验二:
需求和实验一需求一致,除了交换机互连部分配置不一样,其余配置均相同。
LSW1/LSW2
[LSW2]int g0/0/24
[LSW2-GigabitEthernet0/0/24]port link-type trunk
[LSW2-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20
总结
以VLAN10的流量举例,分析流量在网络中的打标情况:
一开始PC1发出无标记流量,经过g0/0/1接口,会打上标记10。
从g0/0/24接口发出,保留标记10,
LSW2的G0/0/24收到,保留标记10,转发至其余的VLAN10接口,也就是G0/0/2,
从G0/0/2接口发出,拆除标记10,流量重新变为无标记被PC4处理
-
access
- 接收无标记流量时,会将PVID作为TAG给流量打上。
- 发送流量时,拆除对应的PVID的tag。
-
trunk(trunk链路要求两边的PVID一致)
- 发送有标记流量时,首先判断此标记是否存在于trunk vlan list中,如果不存在,直接丢弃。如果存在,则判断此标记是否为PVID,如果为PVID,则拆除标记发出。反之,保留标记发出。
- 接收有标记流量时,首先判断此标记是否存在于trunk vlan list中,如果不存在,直接丢弃。如果存在,转发至对应VLAN的接口即可。
-
PPT上的理解
- access用于连接主机
- trunk用于连接交换机。
-
更好的理解:
- 如果希望接口可以通过多个VLAN的流量,则使用trunk。
- 如果希望接口通过一个VLAN的流量,则使用access或者trunk。