首先对交换与路由做以对比理解:
路由技术处理的是不同网段之间的通信;
交换技术是处理同一网段内的通信;
路由器是三层网络设备;
交换机,网桥是二层设备;
路由器基于路由表转发;
交换机基于MAC地址表转发;
交换机的基本工作原理:
1.交换机基于原MAC地址学习,与端口匹配。
2.基于目标MAC地址转发。
3.数据过滤。
4.防环----STP协议,生成树协议;
MAC地址表:三元素 VLAN 端口 MAC地址
MAC地址学习有存活时间:如果一个设备在存活时间内有消息,mac地址表更新时间;
ARP协议:
产生原因:知道局域网另一设备IP不知MAC地址,故封装发送正向ARP包请求MAC地址,对方回应应答ARP回复MAC地址。
封装:二层分装的包。
发送方式:洪泛(类似与路由器的广播)。
正向ARP(通过对方的IP地址请求对方MAC地址)
反向ARP(通过MAC地址请求对方的IP地址,情况较少见)
无故ARP 免费ARP (目标IP是自己,MCA是全F,请求自己MAC,此种ARP作用查询是否有相同IP);
正向ARP包请求MAC地址
对方回应应答ARP回复MAC地址
需要洪泛的数据帧:
1.全F的数据帧。
2. 01-00-5E的组播数据帧。
3.未知单波(MAC地址表中没有查询到的);
VLAN(虚拟局域网)技术:
VLAN使用VLAN ID进行标识
VLAN ID 范围1—4094(0——4095 0和4095被保留)
一个VLAN=一个广播域=一个独立网段
VLAN1位默认VLAN,所有接口默认在此VLAN
生成树引入
为了保证交换网络高可用性,在交换机之间使用冗余链路,由于网络中的泛洪机制可能造成二层的桥接环路,会导致
1.广播风暴 2.Mac地址表的不稳定 3.数据帧的重复拷贝
解决思路: 打破交换网络中的环路(针对交换网络的所有环路中,关闭其中的某个接口)
生成树协议: spanning tree protocol , STP ,所有的生成树协议都在通过发送比较信息进行选举,找到环路中应该被关闭的接口(接口阻塞)。
发送的比较的信息称为BPDU,网桥协议数据单元。
生成树的类型:
STP(标准生成树,又称为802.1D)
RSTP(快速生成树,又称为802.1W)
MSTP(多生成树协议,又称为802.1S)
802.1D :标准生成树
Message type: 代表着BPDU 的类型 (0X00 配置 0X80 拓扑TC)
Flags :标记位,在802.1D 中,标识BPDU 是拓扑变更还是拓扑变更确认BPDU
Root ID :根标识符,用于标记一颗树的树根。与根网桥的BID 一致。
Bridge ID :网桥标识符, BID , 用于标识本设备在本生成树的唯一性。
Port ID :端口标识符, PID ,用于标识设备上某接口的唯一性。
Cost of path : 路径开销。在华为设备中,称作 root path cost (RPC)根路径开销。
hello时间: 默认为2s ,BPDU 发送的间隔。
Max-age : 最大时间,可以理解为hello包的超时时间。默认时间为20s
Forward delay : 转发延时,状态切换时间,默认为15s
Message age :在思科中默认为300s,就是对应的MAC地址条目的老化时间;华为中,代表着该BPDU传递的跳数(默认值为0,每经过一台交换机 值+1)
Max-hop :默认为20 ,收到BPDU之后 将message age中的时间与max-hop进行比较,若小于,则正常使用该BPDU ,若大于,则忽略BPDU。
BID: 使用8字节构成,组成方式: BID优先级字段(4个bit)+扩展系统ID(12个bit)+Mac地址(6个字节)
BID 的使用: 1.比较BID 优先级 2.比较MAC地址
BID优先级: 4位,默认值为32768 ,范围0-65535(实际范围0-61440),越小越优。BID优先级单位4096.调整BID优先级时 值必须为4096的倍数。
扩展系统ID: 8位,在802.1D和802.1W 无意义,在802.1S中有用的
Mac地址: 为交换机 背板地址池中所有MAC地址中最小的,MAC地址越小越优。
PID:端口标识符 2个字节构成,组成部分:PID优先级(4个bit构成)+端口标识符(12个bit构成)
使用方法:1.比较PID优先级 2.Port number
PID优先级:默认值为128,范围0-255(实际范围0-240),单位16
Port number :标识唯一性
RPC:根路径开销
COST: 开销值
不同带宽的链路使用不同的cost (该cost值是内部编码的),非线性过程。
端口角色:
1.根端口 (RP),存在于非根网桥之上,一个非根网桥仅有一个,用于接收来自于根的BPDU
2.指定端口(DP),在一条链路中有且仅有一个,用于转发BPDU
3.阻塞端口(NDP)被逡辑上关闭的接口
端口状态:
1.disable ---关闭状态 1.关闭生成树协议 2.接口物理关闭
2.blocking---阻塞状态 ,不能发送BPDU ,可以接收BPDU ,不能发送和接收数据
3.listening ---监听状态,可以发送并接收BPDU,不能发送和接收数据;(进行生成树选丼的)
4.learning ---学习状态,可以发送并接收BPDU,不能发送和接收数据;(学习MAC地址表)---目的:限制未知单播帧的泛洪
5.forwarding---转发状态,可以发送并接收 BPDU和数据
802.1D生成树收敛时间:30s或50s
生成树选举:
1.选举根网桥
(标识一颗树,在一个生成树中有且仅有一个)选举规则: 最小的BID(先比较BID优先级,再比较MAC地址)
2.选举端口角色
选举根端口:
1.接口最小的开销值(RPC+PC)2.最小的BID(发送方的) 3.最小的PID(发送方的)
选举指定端口:
1.本设备根端口的最小开销值 2.最小的BID(本交换机)3.最小的PID(本设备)
802.1D总结:
1.收敛时间较慢(30s或50s)
2.不支持负载分担
3.不支持上行链路加速
端口状态:
Discarding ---丢弃状态( disable blocking listening ),可以发送并接收BPDU,但是不能发送接收数据
Learning ---学习状态
Forwarding---转发状态
端口角色:
根端口
指定端口
替代端口:阻塞,同一个交换机上使用阻塞端口替代根端口(替换时间0s,相当于自动集成uplink-fast)
备份端口:阻塞,同一个交换机上针对同一条链路备份指定端口
(备份端口切换时间30s,因为出现备份端口一定存在hub,hub是半双工的,不能使用802.1W的机制。)
生成树的弹性(特性):
1.portfast (边缘端口)
2.uplink fast (上行链路加速 )
3.backbone fast (骨干链路加速)
4.BPDU 防护
思科中BPDU guard 华为 BPDU ----若启用了BPDU防护的接口收到BPDU ,则会导致接口 down(error-down)
默认在华为BPDU 防护只能全局设置,并且仅仅针对边缘端口
在思科中BPDU guard 可以针对接口也可以针对全局
5.BPDU-fitter BPDU 过滤 ,开启之后,该接口不发送也不接收BPDU信息,若接收到了BPDU ,则直接忽略
可以全局启用也可以接口启用,全局启用同样仅仅针对边缘端口,接口启用无所谓全局做法:
6.root-protection 根防护
一般建议在连接新交换机的接口上启用,若该接口收到了优质根的BPDU信息,则接口进入discarding
7.loop-protection 环路防护
防止当出现单向链路故障时,导致生成树出现转发环路,所以可以在阻塞端口上启用loop-protection ,使阻塞接口可以发送BPDU ,进行链路双向检测