交换网络
交换网络
交换网络的由来
直连网络的可扩展性
- 直连网络本质上是一种广播网络,共享链路,可扩展性很差
- 结点数量、覆盖范围、性能受限
- 解决办法
- 分割网络,引入交换技术
- 交换,是允许互联链路以形成更大规模网络的机制
- 广播 \(\to\) 单播,更强的扩展性
- 通过交换机的互联,扩展结点数量、覆盖范围、性能
- 分割网络,引入交换技术
交换网络
- 设计目标
- 数据只朝向目的节点方向传送 (转发, Forward),引入交换结点
- 转发规则是网络自己学习生成的,不需要外界参与
- 交换网络的三个主要部分
- 数据帧转发
- 学习结点位置
- 生成树协议
网桥及数据帧转发
网桥
- 在数据链路层扩展局域网
- 解决共享介质的分组转发问题,扩展LAN的物理范围
- 工作方式
- 过滤(filtering)
- 根据帧的目的地址决定一个帧应该转发到某个端口还是丢弃
- 目的结点处于接收端口所连接的网段,丢弃
- 转发(forwarding)
- 根据帧的目的地址决定该将其导向哪个接口,将帧发送出去
- 基于转发表/转发数据库(FDB)实现
- 过滤(filtering)
- 网桥使各网段成为隔离开的碰撞域
- 连接异质链路
- 互连不同物理层、不同速率的局域网
- 消除碰撞、增加网络带宽
- 单个网段100Mbps,一个网桥能传输100n Mbsp (n为网桥端口数)
- 连接异质链路
数据帧转发
- 转发表/转发数据库(Forwarding DataBase, FDB)
- 存储目的MAC地址到(出)端口的映射关系
- 对每个数据帧,在FDB中查找目的MAC地址对应的端口号
- 若存在对应端口号,且与接收端口一致,丢弃(避免数据环路)
- 若存在对应端口号,且不同于接收端口,从该端口将数据转发(单播)
- 如果FDB中不存在对应条目,将该数据包从所有端口转发 (广播)
学习结点位置
每收一个新的数据帧,记录其源MAC地址和输入端口,将该映射关系写入FDB表
生成树协议
- 网络中存在冗余链路(提升网络健壮性等)
- 网络拓扑由树状结构变成图状结构
- 数据转发过程中,形成环路
- 解决办法
- 为网络中每对源目的节点分配唯一确定的一条路径
- 这些路径构成了一棵树 (生成树,Spanning Tree)
- 覆盖所有顶点的无环子图
生成树算法
- 选择一个网桥作生成树的根
- 如选一个最小序号的网桥
- 根网桥总在它所有端口上转发分组
- 其它结点确定根端口
- 每个网桥计算到根的最短路径,并记下路径经过它的哪个端口,将这个端口作为到根的优先路径
- 为每个局域网选指派网桥
- 指派网桥负责向根网桥转发帧(网桥之间通过算法确定)
- 网桥彼此之间交换配置消息,包括三部分内容
- 本网桥认定的根网桥的标识符
- 从本网桥到根网桥的距离,以跳数来衡量
- 正在发送信息的网桥的标识符
具体逻辑
初始时,每个网桥都认为自己是根,从每个端口发出配置信息
B3 (B3, 0, B3 )
B5 (B5, 0, B5 )
每个网桥收到配置消息时,确定是否优于自己的消息
- 是,则保留,跳数加1,转发(向消息接收端口以外的其它所有端口)
- 否则,丢弃
优于
- 根的标识符更小
- 根相同,但有更小的距离 (跳数)
- 根相同,跳数相同,发送者有更小的标识符
网桥端口状态
- Forwarding
- Blocking
- 由生成树算法阻断它,网中某个网桥有问题时,可以自动打开,重新开始生成树算法
- 某网桥故障时,下游网桥将不能接收到配置消息,在等待一指定时间后,它们重新宣布自己是根,根据生成树算法选出新的根和指派网桥
- 由生成树算法阻断它,网中某个网桥有问题时,可以自动打开,重新开始生成树算法
- Disabled
- 软件上关掉
多接口网桥——以太网交换机
- 以太网交换机(switch)
- 1990 年问世,可明显地提高局域网的性能
- 通常都有十几个接口,实质上是一个多接口的网桥
- 工作在数据链路层,常称为二层交换机
- 每个接口都直接与主机相连,并且一般都工作在全双工方式,主机独占带宽
- 能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据
- 使用专用的交换结构芯片,其交换速率较高
网桥的局限性
- 规模不能太大 (一般十几个LAN)
- 生成树算法是线性扩展的,没有为扩展局域网提供分层结构
- 网桥转发所有广播帧,容易造成广播风暴(广播在LAN较小时实用)
- 动态管理网络:限制广播范围、虚拟工作组、数据隔离…..
- 虚拟局域网 (Virtual Lan, VLAN)
虚拟局域网 (Virtual Lan, VLAN)
VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组
- 这些网段具有某些共同的需求
- 每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN
VLAN只是局域网给用户提供的一种服务,而并不是一种新型局域网
在以太网的帧格式中插入VLAN 标记(tag)
- 一个 4 字节的标识符,指明发送该帧的工作站属于哪一个VLAN
总结
- 连接方式
- 集线器 -> 交换机
- 数据传输方式
- 广播 -> 单播
- 链路共享机制
- 每个(全双工)链路只有两个节点,不需要CSMA/CD
- 拓扑特征
- 层次结构树
- 冗余链路的网络:生成树拓扑