1
交换机就是做数据的转发,交换机转发的依据是MAC地址表,(路由器转发的依据是路由表)
交换机的MAC地址表里写着MAC地址 interface VLANID 。
交换机处理的是数据帧。
不管是静态路由还是动态路由,路由表是通过路由协议来完成的,而MAC地址表是通过 学习 而来的。
交换机的原理就是四个动作:转发 学习 泛洪 老化 。
详细如下:
交换机转发数据帧,转发的依据是MAC地址表。
那MAC地址表如何形成呢?通过学习 泛洪 两个动作完成。
那MAC地址表如何维护呢?是通过老化时间。老化时间为5分钟。如果5分钟内收不到某一MAC地址,就把该MAC地址删除掉。
MAC地址表是占内存占空间的,如果不老化的话,会产生很多条很多条,使交换机的转发速度越来越慢。
有一种攻击:
用一个软件模拟的发数据帧给交换机,源MAC地址不停的变,一分种变N多次,这样交换机就得不停的学习,持续一段时间后,交换机的内存就不够用了,这样交换机就死机了。这是攻击的一种。但老化时间无法防止这种攻击。
三层口是处理数据包的(可以理解为七层模型中的第三层,有包头),可以设置IP,路由器的接口可以设置IP,
但交换机的口是二层口(可以理解为七层模型中的第二层),是转发数据帧的,可不能设置IP。
交换机就跟电脑一样,只能设置一个IP。
物理局域网 LAN Local Area Network
虚拟局域网 VLAN Virtual Local Area Network
把一物理局域网划分为虚拟局域网两种方法式:
根据端口划分,是静态VLAN 两个动作 ,建立VLAN,把接口加入VLAN
根据MAC地址划分,是动态VLAN(动态VLAN是很复杂的,只探讨静态VLAN)
VLAN 1是默认VLAN ,也叫本征VLAN,意思是代表交换机本身
你对VLAN 1设置的东西就是对交换机本身设置的
你对VLAN 1设置的IP,就是对交换机本身设置的IP
2
两交换机之间的虚拟局域网VLAN如何通信? 配置中继链路(trunk)
原理:
让两交换机上的一条链路承载多个VLAN的信息,即允许通过多个VLAN。
即成为中继链路就可以承载多个VLAN信息。
而成为中继链路的前提是两交换机的端口进行协商。
只有协商的结果是中继才能承载,不是中继就承载不了。
而协商的结果是由协商模式决定的。
有五种模式
access 无论如何协商都成不了中继链路
trunk 一定要成为中继
auto 自动,无所谓 两端都是auto成不了中继
desirable 期望,期望成为中继
不协商模式 这个忽略
以上四种模式都会发一种协商数据帧DTP,每30秒发一次。
DTP就是动态trunk协议
成为中继链路数据帧都流过来之后,对方的交换机怎么知道这个数据帧属于VLAN几呢 ?
在trunk接口上打标签,一端打标签,另一端拆标签。
打标签就是重新封装
封装有两种(encapsulation)
IEEE 802.1q #是数字1 全球通用的
ISL #是思科独有
IEEE 802.1q是如何封装的?
目标MAC 源MAC tag type/length data fcs
6 6 4 2 46-1500 4 字节
tag标签是4个字节,32位,其中只有12位代表vlan id
2的12次方是4096
所以vlan编号的范围是0-4095 0是开头,4095是结尾,开头和结尾都不用。
所以是1-4094,又因为1是本征VLAN
所以
2-1000 #是人为可用的
1001-1005 #保留的 每个交换机都有 令牌环网 光纤网用的
1006-1024 #内置的 科研用
1025-4094 #人为可用的
如果要创建大于1000的VLAN号,需要把VTP的模式改为透明模式。
ISL的封装
head 目标MAC 源MAC type/length data fcs crc
头 26 6 6 2 46-1500 4 4 字节
head头26字节,其中只有15位表示vlan id.
在29系列的交换机上,只支持802.1q的封装,封装命令不需要敲,因为根本没有封装命令,默认就是802.1q封装,
在3系列以上的交换机上,支持两种封装 如果不封装,switchport mode trunk 命令敲不上,会报错。
真实设备的所有口默认期望模式,模拟器的所有口默认自动模式。
3
背景:
形成物理环路就会发生广播风暴,每个交换机都在不停的更新MAC地址表,CPU很忙,交换机不停的闪烁,这很正常说明在转发数据,如果不闪了一直亮,说明交换机死机了。
那如何解决呢?
把物理环路逻辑的断开,即把一个口逻辑的阻塞掉,然后就不是一个环路了。这就是生成树协议。
生成树协议(STP spanning tree protocol):
将物理环路中的某个接口逻辑的阻塞。防止广播风暴。不用敲任何的命令,自动阻塞
生成树原理详解:
如何选根桥?
每台交换机在启动的时候会向外发送一个称为BPDU的数据帧,该帧中包含的其中一项是该交换机(网桥)的ID号,称为BridgeID(BID).
BID由两部分组成:
网桥的优先级(默认为32768)和该网桥的MAC地址。
最终比较BID,最小的BID为根桥交换机(root bridge switch)
当根桥选出来之后,只有根桥交换机每2秒产生一次BPDU,其它非桥交换机只转发BPDU。
如何选根端口?
每个非根桥上有一个根端口(root port),在每台非根桥上选一个接口为根端口
1 比较到根网桥整个路径的开销最小
开销与带宽有关,以下是人为规定的
10M/s 开销为100;
100M/s 开销为19
1G/s 开销为4;
10G/s 开销为 2
2 比较对端网桥/直连网桥较小的BID
3 比较较小的PORT ID
PORT ID 也由两部分组成:
PORT优先级 PORT编号
注意:portid是比较BPDU出接口的
如何选指定端口(dp)?
在每个网段上选一个接口为指定端口 (designate port)
1 根桥上的所有端口都是指定端口
2 比较到达根桥路径开销最小的
3 比较较小的BID
4 比较较小的PORTID
5 剩下的口就是阻塞的
4
一个VLAN会有一个环,有多少个VLAN就有多少个环,一个VLAN就有一个根。
手动修改优先级,就可以指定谁是根。且修改优先级的时候也只能改某个VLAN的优先级。
如果三层和二层之间某根线断掉了,二层交换机要绕弯路才能找到根,这样就降低了速度。
所以,我们可以在三层的两个交换机之间连接两根网线做链路捆绑,把两根聚合成一根,这样,不仅带宽提高了,提升了速度,还去掉了环路。
5
路由器的物理接口上配子接口
6
一个设备即有路由器功能又有交换机的功能
7
切换网关用的,在系统上叫群集 ,故障转移 HA高可用;在设备上叫路由热备。
有两种技术,一种是全球通用的vrrp 一种是思科独有的HSRP 都是切换网关用的,
8
HSRP