学习目标
数据流处理过程
单臂路由工作原理和网络部署
多层交换技术工作原理和网络部署

数据流分析基础
单臂路由实现方式
三层交换路由实现方式

数据流分析基础
二层交换机使用意义
以太网内部局域网组建,端口密度大
基于硬件芯片转发,政府效率高
工作在OSI第二层,转发二层数据
具体层级的数据头部针对
MAC地址表
基于MAC地址表实现二层数据查找转发
收到数据帧查看第二层数据头部提取目标MAC地址 找到对应捆绑的端口使用 交换机

路由器使用意义
多种类型接口,用于连接多个IP子网及多种链路,并实现其互联互通的网络设备
工作在OSI第三层,转发IP数据包
路由表
全局路由表,存储在路由器的内存中,用于指示路由器如何将IP数据包
转发至正确的目的地的信息表
先看MAC是不是发给自己的,如果不是,直接丢弃,如果是自己,剥离第二层,
看第三层目标IP 查看有无去往目标IP的路由
路由器和交换机的部署
交换机用在局域网内部,实现局域网内部通信
路由器放在网络边界 实现远距离互联 运营商专线申请
多个介质多个网段互联 实现广域网互联
同一个子网内如何实现访问,不同子网之间实现访问
同一子网内的访问,数据包封装的目标MAC地址直接为目标设备的MAC
不同网段 ARP广播 不能直接到达,路由器隔离广播 泛洪只能在本网段内部进行
封装的目标MAC地址为网关的MAC
目标PC或者网关的MAC地址可以通过ARP协议获得

单臂路由实现方式
vlan间互通需求
根据连接业务的特点要求实现研发vlan,办公vlan与服务器vlan间数据访问,
不允许研发vlan和办公vlan互访
旁挂的方式,将路由器旁挂到网络边上
三层交换机
所有的子网 所有的vlan必须通过路由器实行一次转发
dot1Q和子接口实现vlan间路由
trunk使得流量全部给路由器
子接口使得vlan区分开

拓扑
用路由器的fa0/1做网关

RT(config)#interface factEthernet 0/1
 RT(config-if)#ip address 10.1.1.1/24
 RT(config-if)#no shutdown
 RT(config)#interface fastEternet 0/1.10
 RT(config-subif)#encapsulation dot1Q 10
 RT(config-subif)#ip address 10.1.10.1/24
 RT(config)#interface fastEternet 0/1.11
 RT(config-subif)#encapsulation dot1Q 11
 RT(config-subif)#ip address 10.1.11.1/24
 RT(config)#interface fastEternet 0/1.11
 RT(config-subif)#encapsulation dot1Q 12
 RT(config-subif)#ip address 10.1.12.1/24SW(config)#interface fastEtheret 0/1
 SW(config-if)#switchport mode trunk

PC1 ping PC3的过程
与目标IP进行与预算(结果和子网掩码做对比)判断是否在同一个子网当中
显然PC1和PC3 在同一个子网当中
同一vlan 直接ARP 求得MAC地址 广播请求 单播回应
查数据帧的目标MAC 发送出去接受回来
PC1和PC3 直接访问同一个子网直接二层访问
PC1 ping PC4的过程
判断不在同一个网段
ARP,把数据丢给网关 用IP求MAC
用命令tracert 来追踪

三层交换路由实现方式
软转发路由器性能瓶颈
低端路由器基于软件转发,vlan间路由转发性能较低
高端路由器基于芯片转发,但价格太高
二层交换机基于芯片转发,但不能做三层转发
将二层交换机和低端路由器性能结合起来
三层交换技术发展历程
最早期三层交换机
二层交换机上插入一个路由器单板
二层交换和路由之间在设备内部使用trunk链路
转发原理和单臂路由类似。只是在路由器单板上表现的接口为interface
路由器处理性能比较低
第二代
中期TCAM
cache表
规划到硬件内部
以流为单位 流一般有多种 数据包 收到数据 处理方式交换 路由引擎内部查找 三层交换机
转发算法固化到芯片
数据流 多个数据包
交换引擎 路由引擎 同一个数据 引擎 元素是一样的
首包查路由表和ARP表形成32位路由表加入CACH额表 后续只需要查CACHe表
将路由器单板内存中的cache表下发的交换机硬件中的TCAM芯片中去转发
缺陷 占用大量内存存储cache表 网络数据流较大时 占用内存很大 CPU性能造成较大影响
现代
路由单层和二层交换实现整合
路由表也出现了CEF转发表
根据ARP表形成邻接表
根据邻接表和路由表形成了CEF表
直接将CEF表下发至TCAM芯片中去转发
数据包 转发是无需CPU干预,CPU只负责形成CEF表和下发至TCCAM
提升了设备的性能和稳定性
内部处理机制
三层交换机端口类型和配置
二层接口 转发引擎 路由引擎 三层接口
三层接口配置

SW1(config)#interface fastEthernet 0/21
 SW1(config-if)#no switchport
 SW1(config-if)#ip address 192.168.1.1 255.255.255.0
 SVI接口
 SW1(config)#interface vlan10
 SW1(config-if)#ip address 192.168.10.1 255.255.255.0
 查看路由信息
 show ip route


三层交换机 通过查看数据报文的目标MAC地址
SVI 直接给路由引擎
路由 直连路由
数据流处理体系
三层交换机配置
三层交换机网络部署

生成树技术
生成树背景
生成树关键参数计算算法 BPDU 开销 计算使用
根网桥和跟端口选举
指定端口选举
端口状态

生成树产生背景
单星型网络容易出现故障 可靠性较差
双星型网络午单故障点 可靠性较高
以太网环路的危害
广播风暴
广播报文泛洪 不停循环 (IP报文有TTL)
成指数增长,造成网络资源浪费
多重帧
PC1发送数据 PC2收到两份
MAC地址漂移
浪费交换机CPU处理资源 导致交换机资源浪费
未知数据帧 不断更改修订MAC地址列表 映射不断修改
生成树技术的使用意义
生成树技术思想
通过冗余链路来来消除网络中存在的环路 防环机制
发生故障时激活冗余链路

生成树关键参数计算
算法需要的参数
STP树状算法
通过交换机之间传递一种特殊的协议消息来确定网络的拓扑结构
协议消息中包含了足够的信息来保证
生成树算法
选择根端口
选择根网桥
选择指定端口
BPDU 网桥协议数据单元
通过交换机传递组播报文
配置BPDU 网络收敛时用于进行生成树计算 维护网络
TCN BPDU 拓扑变更通知 改变时发出 生成树计算

数据帧结构 交换机ID
字段 字节
网桥id
用于标识STP的交换机,在网络中唯一。由网桥优先级与MAC地址组成
网桥ID越小越优先 网桥
网桥优先级 2字节 默认是32768 按照4096的倍数配置 16位 2^16 32768
MAC 6字节 交换机背板的MAC
根网桥
网桥ID 最小的交换机称为根网桥 次之的位备份根网桥
后续其他角色选定的参照点 根网桥作为选择对比的参照点
次之的称为备份根网桥 其实是交换机修改自身数据
一旦根网桥down 备份根网桥替上
在本地当中修改
端口ID
端口标识 运行STP的交换机每个接口都具有一个端口ID
由端口优先级和接口编号组成,越小越优
的端口优先级0-240 16倍数修改 一般很少修改端口优先级
根路径开销
到达根网桥的路径开销的总和
路径开销是指单条链路的STP开销值,由相关标准指定,可以在交换机接口下手工修改
100 19 4 2
10 100 1000 10G
本地开销叠加 链路
根路径 链路开销之和
BPDU 数据帧抓包 看数据帧结构
根网桥 信息
网络稳定之后 所有的BPDU 的根网桥字段一样 收敛完成
发送网桥的ID
交换机发送结果 网桥ID
端口ID BPDU 采用十进制
生成树根网桥和根端口选举
端口角色
根网桥 端口角色的参照设备,网络中之哟一个根网桥
根端口 非根网桥交换机上距离根交换机最近的端口 只有一个
指定端口 每段链路有一个指定端口,用于向下游交换机发BPDU
阻塞端口 既不是根端口也不是指定端口的端口为阻塞端口 用于逻辑上阻塞数据 打破环路
选举根网桥
判定对象 在所有 交换机中
启用时假定自己是根网桥 BPDU 根网桥字段填写自己的网桥ID
接受其他交换机发出的BPDU 选择较小的添加到根网桥ID中
看BPDU的数据帧 收到之后查看 比较
交换比较
选举根端口
端口到根网桥路径开销最小
发送方网桥ID最小
接收端口ID最小
跟路径开销计算 交换机2 3 加上链路开销 不断叠加
生成树指定端口选举
每一个物理网段的不同端口之间选举出一个指定端口
判断条件
网桥到根网桥路径开销最小
发送方网桥ID
发送方端口ID
根网桥上所有的端口都是指定端口
收敛形成无环拓扑
数据转发路径
理解指定端口的使用意义 掌握指定端口的选择原则

生成树端口状态迁移
STP端口状态
端口角色 端口状态 端口行为
管理员手动关闭 disabled 不收不发BPDU 不收不发数据
非指定端口 非根端口 blocking 接受但不发送BPDU 不收不发不转发 不学习MAC地址
listening 接受并发送BPDU 不接受也不转发数据 不学习MAC
learning 接收并发送BPDU,不接收也不转发数据,进行地址学习
指定端口或根端口 forwarding 接收并发送BDU,接收并转发数据,学习MAC地址

STP端口状态迁移
STP端口状态迁移
指定端口 根端口
阻塞端口 很长时间收不到 上游 阻塞进侦听
阻塞20
侦听15
学习15
50S
转发延迟 最大允许七级串联 收到上游 发向下游
端口角色和端口状态
STP启动时,阻塞所有端口以防止环路所有端口都处于阻塞状态
刚启动完 交换机都认为是根网桥,所有端口搜是指定端口 迁移到侦听
算法选举出各端口角色 侦听状态完成
经过2个转发时延 进转发状态
故障切换 链路出现故障 直连链路故障检测
15秒侦听 15秒学习
中继式发送
非直连路 需要20+15+15
多出时间
端口状态 功能特征 故障恢复机制

生成树版本和配置
CST 公共生成树
没有基于VLAN的 造成链路资源浪费
不考虑vlan 单一的STP教程,占用资源最小
无法实现负载利用最大
PVST 每vlan生成树
STP PVST PBST+
基于每vlan
通过调整生成树根网桥调整里路
vlan的根分离
阻塞端口区分开
通过PVST
基于每vlan 不会造成链路资源浪费
最多维护64个无环vlan
标识基于每vlan
背板MAC 利用sys ID 两个字节 分成 12 vlan 4 网桥优先级只剩下4个所以 4096 的倍数
vlan10 优先级-vlan ID
网络收敛速度很慢
实时性要求较高的链路可能不可用
多个改良版本
IEEE和思科
RSTP 快速生成树 快速收敛机制 rapid 毫秒级的收敛
PVRSTP+ 每vlan快速生成树 基于每vlan 同时快速收敛
极大提高
MSTP 多实例生成树 快速收敛 效果分担
基于 实例 华三 华为 默认 MSTP
思科默认PVST+
多厂商兼容 最好 配置成MST 实现兼容

PVST+配置
 Switch(config)#spanning-tree vlan ?
 Switch(config)#spanning-tree vlan 10 root ?
 Switch(config)#spanning-tree vlan 10 root priority secondary
 Switch(config)#spanning-tree vlan 10 priority
 Switch(config-if)#spanning-tree vlan 10 cost
 Switch(config-if)#spanning-tree vlan 10 port-priority实践
每vlan的根网桥分离
 SW1(config)#spanning-tree vlan 10 priority 0
 SW1(config)#spanning-tree vlan 20 priority 4096
 SW2(config)#spanning-tree vlan 20 priority 0
 SW2(config)#spanning-tree vlan 10 priority 4096
 查看生成树状态
 SW1# show spanning-tree vlan 10
 交换机和vlan关系
 优先级 PVST 由优先级+vlan ID +mac
 角色
 forwarding