前言
数据链路层设备主要是网卡和交换机,认识交换机是认识后续上层协议的基础,本文将详细介绍交换机的工作原理和相关的命令。
帧数据结构
在认识交换机之前,我们需要了解一下数据帧,数据帧是网络通信的基础,其结构如图所示:
由上图可知,一个数据帧包含如下部分:
目标MAC:目标机器的网卡地址
源MAC:发送端机器网卡地址
类型:指定上层协议的类型。由于上层协议众多,所以在处理数据的时候必须设置该字段,标识数据交付哪个协议处理。例如,字段为 0x0800 时,表示将数据交付给IP协议,0x0806为ARP协议。
MTU值:也叫最大传输单元,由上层的协议和数据构成。当需要发送的数据较大时如5000kb,由于数据帧最大只能传输1500字节,需要4帧才能发送完该数据
校验码:也叫帧尾,检测该帧传输过程中是否出现差错,占4个字。接收方计算机会和发送方的帧尾数据做比较。如果两个值不相同,则表示传输过程中发生了数据丢失或改变。这时,就需要重新传输这一帧。
问:MAC地址是什么呢?
答:MAC地址也叫物理地址,全球唯一,为6个字节,作用是当网卡接收到一个数据帧时,首先会检查该帧的目的地址,是否与当前网卡的物理地址相同,如果相同,就会进一步处理;如果不同,则直接丢弃。
问:为什么会有MTU值?一次传输不是更好吗?
答:早期数据在网络传输过程中受到很多因素(比如雷电)的干扰,数据传输过程中可能存在丢失或者错误的现象,一但数据传输错误,那么错误的数据需要重新传,设置MTU值是为了减少错误重传的数据量
交换机端口
以前的时候网络速度慢,交换机端口的传输速度也设计的慢,随着网络速度的改善,交换机的端口传输速度也随之提升。但是为了兼容以前的传输速度慢的设备,交换机发展至今有多种传输速度。常见网络速度和表示如下:
E字母表示 10Mb
F字母表示 100Mb
G字母表示 1000Mb
Te字母表示 10000Mb
交换机端口表示:F0/1
F表示速度
0模块号
1表示接口号
问:传输速度不同的交换机和网卡如何通信?
答:交换机接口速率会自适应,不同设备之间会取相互间最大的传输速度进行通信
问:交换机为什么会有模块号的概念
答:有的交换机支持可插拔,用于扩展接口数量,才有了模块的概念
交换机工作原理
结合上图我们来看下交换机的工作原理:
现做出如下假设,三个小圆圈表示局域网内的三台网络设备,IP地址分别为10.0.0.1、10.0.0.2、10.0.0.3;MAC地址分别为AA、BB、CC(简写,实际长度为6个字节)。长方形表示AA设备向CC设备通信时准备发送的数据帧。
- AA设备将数据发送至交换机1;
- 交换机1解析数据帧,获取帧中的源MAC地址,检查自身的MAC地址表是否有AA设备源MAC地址,如果有进行下一步;如果没有,则将F0/1接口和AA这个MAC地址记录到地址表中;
- 交换机1获取目标MAC,检查自身的MAC地址表是否有CC这个MAC地址,如果MAC地址表中有CC地址,则将数据直接单播发送给连接CC设备的F0/3这个地址。如果MAC地址表中没有CC地址,则广播(即每个交换机端口都发送一份数据帧)
- MAC地址不是CC的设备会忽略收到的数据帧,而MAC为的CC设备会接受数据帧,进行下一步处理。
上面交换机工作流程中提到了一个非常重要的概念MAC地址表,表里面的内容格式和数据如图所示:
Vlan:用来隔离虚拟局域网的
Mac Address:网卡的MAC地址
Type:标识MAC地址和交换机接口的关联关系是怎样获取的,DYNAMIC标识是动态获取的,管理型交换机可以直接绑定MAC地址和交换机接口的关联关系
Ports:交换机的插口或者说接口
问:MAC地址表中数据是否一直保存不删除呢?
答:MAC地址表数据有一个老化时间的概念,默认是300秒,即交换机接口300秒没有接受到数据,MAC地址表就会删除该接口的数据
交换机工作模式和对应的命令
注:以下部分交换机常用命令摘自网络:
工作模式:
1)用户模式:
switch>
可以查看交换机的基本简单信息,且不能做任何修改配置!
2)特权模式
switch> enable
switch#>
可以查看所有配置,且不能修改配置,但可以做测试、保存、初始化等操作
3)全局配置模式
switch# congigure terminal
switch(config)#
默认不能查看配置!
可以修改配置,且全局生效!
4)接口配置模式:
switch(config)#interface f0/1
switch(config-if)#
默认不能查看配置!
可以修改配置,且只对该接口生效!
5)console口/线/控制台配置模式:
switch(config)#line console 0
默认不能查看配置!
可以修改配置,且对console口生效!
备注:
1、第一次配置网络设备,需使用console线
2、在PC上需要使用”超级终端“或其他软件。
命令:
exit 退出一级
end 直接退到特权模式
使用?可代替一个字符(不记得命令全称)
支持tab补全键
配置主机名:
conf t(命令缩写形式,等价于congigure terminal)
hostname 折设备名
设置用户密码:
line co 0
password 密码
login(重新登录测试)
exit
快捷键:
ctrl+u : 快速删除光标前所有字符
ctrl+a : 快速定位光标到行首
ctrl+e : 快速定位光标到行尾
保存配置步骤:
en
copy running-config startup-config
或
write
交换机开机动作:
先去硬盘中查找startup-config配置文件是否存在:
如果不存在,内存中创建新的running-config配置文件
如果存在,则复制到内存中并改名为running-config
查看running-config配置文件:
en
show running-config
查看startup-config配置文件:
en
show startup-config
重启设备:
en
reload
配置特权密码:
conf t
enable password 密码(明文)
enable secret 密码 (密文)
查看MAC地址表:show mac-address-table
查看接口状态列表:
show ip int brief
show ip int b
手工关闭接口:
int f0/x
shutdown
exit
手工开启接口:
int f0/x
no shutdown
exit
do的用法:
其他模式加do空格可以强制使用特权模式的命令
如:
do sh run
do sh ip int b
do wr
删除配置:
1)在哪配置的,就在哪删!
2)命令前加no 空格
3)原命令中有参数,并且参数具有唯一性,则删除时不需要加参数
如:
conf t
hostname sw1
conf t
no hostname
清空/擦除/初始化配置:
en
erase start-config
为3层端口 配置IP:(用于远程控制交换机)
int f0/0
ip add 10.1.1.254 255.255.255.0
no shutdown
开启远程控制:
conf t
line vty 0 4
transport input telnet/ssh/none/all
password 密码
login
exit
conf t
hostname r1
ip domain-name r1.qf.com
crypto key generate rsa //生产密钥对
line vty 0 4
transport input telnet/ssh/none/all
login local
exit
username xx password 123.com
为交换机配置管理IP:
conf t
int vlan 1
ip add 10.1.1.253 255.255.255.0
no shut
为交换机配置默认网关
目的:可跨网段管理
conf t
ip defaut-gateway 10.1.1.254
关闭自动解析功能:
conf t
no ip domain-lookup
结束语
本篇博客详细的阐述了交换机的工作原理和命令,和交换机相关的网络安全比如说ARP攻击,DHCP攻击等等,请参考单独的ARP和DHCP入门与安全博客
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。