一.数据链路层
(1)核心设备:交换机
作用:地址学习(Mac)、帧的转发和过滤、环路防环(生成树)
地址学习通过Arp协议(前面讲过)将ip转化为mac地址
当交换机收到一个不在Mac地址表里的帧时会进行泛洪处理(路由器丢弃)
(2)生成树
作用:在冗余的线路上防止环路
端口状态:
阻塞(blocking)
侦听(listening)
学习(learning)
转发(forwarding)
其中阻塞到侦听的时间间隔为最大时间(max-time):0-20秒;侦听到学习以及学习到转发的时间间隔为转发延时(forwarding delay):15秒x2
生成树的选举过程:(个人总结详细百度)
1.选取根桥---拥有最小桥ID的交换机称为根桥(根桥端口全为指定端口)
2.每个非根桥选取一个根端口---到达根花费最小的端口称为根端口,若花费相同有发送者的桥ID决定,如果发送者的桥ID相同,则有发送者的端口ID决定,越小越优先(都是越小越优先)
3.每个物理网段选取一个指定端口---在物理网段上到达根花费最小的交换机成为这个网段的指定网桥,若花费相同,拥有最小桥ID的交换机成为指定网桥,位于指定网桥上的端口,成为该网段的指定端口。
下图蓝色为指定端口,紫色为根端口,其余全部为阻塞端口,数字端口id,每个网段花费相同
仿真实验:
由图可知R1为根桥
设置R3为根网桥
spanning-tree vlan 1 priority 0 // 设置根端口(优先级为0就是根端口)
R1,R2
spanning-tree vlan 1 priority 4096 (其余所有都要配置)
验证配置成功
其他配置
sw1(config)#int f0/1
sw1(config-if)#spanning-tree vlan 1 port-priority 144 //修改端口优先级
sw1(config)#int f0/1
Switch(config-if)#spanning-tree vlan 1 cost 39 //更改花费值//修改端口花费值
通过上述生成树选举规则修改端口优先级和花费值也可对生成树进行调整
华为:
查看每一个switch发现lsw3为根网桥(所有端口都为指定端口)
修改lsw1为根网桥
[SWI]stp priority 0 (数值需要设定为4096的倍数)
R2,R3:
[SW]stp priority 4096
修改端口花费值
[Huawei-GigabitEthernet0/0/2]stp cost 1
修改端口优先级
[Huawei-GigabitEthernet0/0/2]stp port priority 0
二.Vlan
二层以太网通过vlan隔离广播域
vlan是虚拟局域网
一个vlan就是一个广播域,一个逻辑网段(子网)
划分vlan可以对网络进行有效分段,增强灵活性和安全性
TRUNK(中继链路)用于非终端与非终端之间 ,access用于非终端与终端之间
仿真实验:
先进行基础ip配置(同一网段不需要网关)
sw1,sw2
Switch(config)#int f0/3
Switch(config-if)#switchport trunk encapsulation dot1q //设置trunk模式
Switch(config-if)#switchport mode trunk //接口为trunk默认允许所有vlan
Switch(config)#vlan 10
Switch(config-vlan)#vlan 20 //创建两个vlan
Switch(config-vlan)#int f0/1
Switch(config-if)#switchport mode access //设置为access模式
Switch(config-if)#switchport access vlan 10//将这个接口划分给vlan10
Switch(config-if)#int f0/2
Switch(config-if)#sw
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
验证:不同vlan无法直接通信 相同vlan之间可以直接通信
华为:
port link-type access
port default vlan 10 //将这个接口划分给vlan10
port link-type trunk
port trunk allow-pass vlan all //这个接口允许所有vlan通过
三.三层交换
使不同vlan之间可以通信(核心就是给vlan配置上网关)
网关:不同网段到达不同网段的大门
仿真实验:
vlan ip 就是终端网关(vlan可以看作一个接口)
启动三层交换机的路由功能
SW1(config)#ip routing
配置svi接口
SW1(config)#int vlan 10
SW1(config-if)#ip add 10.1.1.1 255.255.255.0
SW1(config)#int vlan 20
SW1(config-if)#ip add 10.1.2.1 255.255.255.0
验证:通过三层交换实现不同vlan互通
华为:
华为一定是vlanif
interface Vlanif 10 //一定是if这样才是给下层接口配置ip的
ip address 1.1.1.254 255.255.255.0 //给vlan 10 局域网背上网关
四:单臂路由(使用子网空口模拟vlan)
不使用三层交换机一个二层一个路由器
思科:
SW1(config)#vlan 10
SW1(config-vlan)#vlan 20
SW1(config-vlan)#exit
SW1(config)#int f0/1
SW1(config-if)#sw mo ac
SW1(config-if)#sw ac vl 10
SW1(config-if)#int f0/2
SW1(config-if)#sw mo ac
SW1(config-if)#sw ac vl 20
SW1(config-if)#int f0/3
SW1(config-if)#sw mo tr
R1(config)#int g0/0
R1(config-if)#no sh
R1(config)#int g0/0.100
R1(config-subif)#encapsulation dot1q 10 //将这个接口划分给vlan 10
R1(config-subif)#ip add 10.1.1.1 255.255.255.0
R1(config-subif)#exit
R1(config)#int g0/0.200
R1(config-subif)#enca dot 20
R1(config-subif)#ip add 10.1.2.1 255.255.255.0
华为:
int g 0/0/0.10 int g 0/0/0.20 //将0/0/0接口分成两份 分别对应一个vlan
[Huawei-GigabitEthernet0/0/0.10]dot1q termination vid 10 //将这条路给vlan10
arp broadcast enable // 允许广播
ip address 2.2.2.254 255.255.255.0 //再给这条路配上ip