交换机基础
基本概念
局域网交换机是一种基于MAC地址识别,完成转发数据帧功能的网络连接设备。它工作在数据链路层,根据进入端口数据帧中的MAC地址进行数据帧的过滤和转发。交换机作为汇聚中心,能将多台数据终端设备连接在一起,构成星状结构的网络。
基本功能
建立和维护一个表示MAC地址与交换机端口对应关系的交换表。
在发送节点和接收节点之间建立一条虚连接(即从源端口到目的端口之间建立虚连接)。
完成数据帧的转发或过滤。
交换表的内容
命令:
大型交换机:
show ip route
小型交换机:
show mac-address-table
交换机的交换方式
交换模式的分类
静态交换:由人工完成端口之间传输通道的建立。
动态交换:依据目的MAC地址查询交换表,根据表中给出的输出端口临时建立传输通道,传输通道在一个数据帧传送完成后自动断开。
动态交换模式
存储转发:接收完整数据帧后进行校验,然后转发。
直通交换:快速转发,但分为两种方式:
快速转发交换:检测到目的地址后立即转发。
碎片丢弃交换:过滤掉小于64字节的冲突碎片后转发。
三种主要交换模式
快速转发交换模式:
原理:接收数据帧的前14个字节(包括目的地址)后立即转发。
优点:端口交换时间短、时延小、交换速度快。
缺点:不能进行检错纠错、速度匹配和流量控制,可靠性较差。
适用场景:小型交换机。
碎片丢弃交换模式:
原理:过滤掉小于64字节的冲突碎片,只转发大于64字节的数据帧。
优点:过滤冲突碎片,提高网络传输效率和带宽利用率。
缺点:无法完全避免错误数据帧的传输。
存储转发交换模式:
原理:接收完整数据帧后进行循环冗余校验(CRC),校验无误后再转发。
优点:可靠性高,能有效改善网络性能,支持不同速率端口的协同工作。
缺点:数据处理延时较大,交换速度相对较慢。
虚拟局域网技术(VLAN)
VLAN的配置和删除
Cisco IOS系统(35系列)
建立VLAN:
bash复制
Switch-3528-TEST# vlan data
Switch-3528-TEST(vlan)# vlan <Vlan_ID> name <Vlan_name>
示例:
bash复制
Switch-3528-TEST(vlan)# vlan 100 name vlanwork
删除VLAN:
bash复制
Switch-3528-TEST(vlan)# no vlan <Vlan_ID>
Catalyst OS(65系列)
建立VLAN:
bash复制
Switch-6509-TEST>(enable) set vlan <vlan_ID> name <vlan_name>
示例:
bash复制
Switch-6509-TEST>(enable) set vlan 100 name vlan100
删除VLAN:
bash复制
Switch-6509-TEST>(enable) clear vlan <vlan_num>
示例:
bash复制
Switch-6509-TEST>(enable) clear vlan 100
VLAN Trunk的配置
Cisco IOS系统(35系列)
进入端口配置模式:
bash复制
Switch-3528-TEST# configure terminal
Switch-3528-TEST(config)# int f0/24
配置VLAN Trunk模式:
bash复制
Switch-3528-TEST(config-if)# switchport mode trunk
封装VLAN协议:
802.1q封装:
bash复制
Switch-3528-TEST(config-if)# switchport trunk encapsulation dot1q
ISL封装:
bash复制
Switch-3528-TEST(config-if)# switchport trunk encapsulation isl
自动协商:
bash复制
Switch-3528-TEST(config-if)# switchport trunk encapsulation negotiate
允许通过的VLAN:
bash复制
Switch-3528-TEST(config-if)# switchport trunk allowed vlan 1-10
不允许通过的VLAN:
bash复制
Switch-3528-TEST(config-if)# switchport trunk allowed vlan except 11-20
Catalyst OS(65系列)
配置VLAN Trunk模式并封装协议:
bash复制
Switch-6509-TEST>(enable) set trunk <mod/port> on dot1q
允许通过的VLAN:
bash复制
Switch-6509-TEST>(enable) set trunk <mod/port> vlan <vlan_id>
不允许通过的VLAN:
bash复制
Switch-6509-TEST>(enable) clear trunk <mod/port> <vlan_id>