1、以太网交换机集群模式的设计与研究 摘要 :文章针对以太网交换机的可管理性的重要评价参数 ,在分析了商用以太网交换机工作原理与设计基础之上 ,设计并实现了面向以太网交换机的集群式管理方案 ,将二层交换机和三层交换机的集群管理无缝地结合在一起。这种集群管理方法以二层交换机的集群管理为基础 ,通过给三层交换机分不同的角色以及通过区域子分和设备抽象的概念 ,在保证集群系统的服务器性能的前提下提供了良好的集群管理特性。 下载 关健词 :以太网交换机 ;集群管理 ;主从服务器 中图分类号 :TP393.11 文献标识码 :A 文章编号 :1006-8937(2009)12-0019-02 1 集群管理系统
2、的体系结构 目前无论在城域网还是企业网中都广泛采用了以太网技术 ,而随着网络规模的增大 ,在网络边缘使用了大量的接入交换机。由于这些设备数量巨大 ,又需要逐一管理维护 ,使管理工作非常繁琐 ,同时为这些设备配置 IP地址 ,也将耗费大量的 IP 地址 ,在目前 IP 地址资源比较紧张的情况下无疑是一种浪费。 针对以上问题 ,集群管理提出了一个解决方法。集群是由一组交换机组成的一个集合 ,集群管理提供了一种自动收集设备拓扑的方法 ,并提供了集中、统一的维护 管理通道 ,并且一个集群只使用一个 IP 地址 ,从而简化了设备的管理并节约了 IP 地址。 一个支持集群管理的域中只有一台三层交换机 ,可
3、以有多台二层交换机 ,多台二层交换机直接或间接地连接到三层交换机上。本方案支持设备间的级连 ;每台服务器只能管理它所属的设备 ,网络拓扑结构如图 1 所示 ,其中 ,A为三层交换机 ,其他为二层交换机。 这个方案应用在一个相对较小的网络中 ,在这个网络中 ,三层交换机连接到整个网络的出口 ,二层交换机通过直接或间接方式与三层交换机相连。这个方案中 ,唯一的一台三层交换机承担整个网络的集群 管理任务 ,数量众多的二层交换机只是担任三层交换机的子设备 (或称为客户端 )。图 1为本方案管理设备的典型拓扑结构图。需作几点说明 : 图中 A 表示三层交换机 ,其他表示二层交换机 ,二层设备可以级联 ;
4、A 表示担当集群服务器的三层交换机 ,其他二层交换机表示被管理的客户端。 图中设备与设备之间、设备与服务器之间 ,以及服务器之间的连线仅仅表示为某种连接方式 ,下一级设备应通过上行端口与上一级设备或服务器相连。 理论上可支持很多级的级连 ,但是太多的清空下己失去意义 ,且最上一级设备将承受过大的负担 ,本方案控制为可支持 8 级级连。 图中级连的设备不区分类型 ,参加组网的交换机可能只有端口数目的不同 ,没有其他区别 ,不同端口数目的交换机可以互相级联 ,如 8 口的交换机下行可级连 8 口、 16 口或 24 口的交换机 ,其它也如此。 2 系统的服务器与设备 主从服务器。网络中有多于一台的
5、三层交换机时 ,由于这些三层交换机都有集群管理能力 ,所以必须通过某种方式使得其中的一台三层交换机担任服务器 ,其他的三层交换机担任从服务器。如图 1所示的网络中 ,三层交换机 A、 B、 C 都有担任服务器的能力 ,但是 A 担任服务 器时是最合适的。判断依据是要使得各个端口尽量分担集群管理报文的信息量 ,且管理时不需要经过太多的中间节点。如果 B担任服务器 ,虽然方案完全能正常工作 ,但当要管理设备 E 时 ,就需要经过中间节点 A、 C、 D,这些无关的节点参与 E 的管理 ,增加了系统的负担。对于三层交换机 ,在整个集群系统中可能担任两个角色 :主服务器 (SS MAIN SERVER
6、);从服务器 (SS SUB SERVER)。 在一个集群网络中 ,只有一台三层交换机是服务器 ,其他的三层交换机担任从服务器。当连接建立以后 ,从服务器会定时把自己的拓扑信息报告 给服务器 ;服务器收到此拓扑信息后更新自己的拓扑结构 ,并向从服务器发送确认报文。同时从服务器与下边所有的设备进行拓扑维护。 设备的关系。文章称相连接的设备的关系是连接关系。如图 1,与设备A 直接相连的设备 B 称为设备 A 的邻居。本方案能发现支持本方案的所有设备 (不识别用户主机、集线器设备 )。 为支持服务器维护拓扑结构 ,设备 A应知道它的那个端口连接了哪些设备 ,为了获取拓扑信息 ,需要知道邻居的端口号
7、、设备类型、版本等信息。下级设备将定时向上级设备发送消息 ,通告自己的 MAC 地址与接收端口号。上级设备 根据收到的信息构造邻居表。这样就可以在一台设备上获得直接与其相连的设备的拓扑信息当需要查询其拓扑时 ,可以递归查询每一个邻居表来获此服务器下端连接的交换机的拓扑信息。 3 核心数据 为了实现集群管理 ,需要在添加一系列数据结构来支撑这些关于集群管理的各个模块。在服务器端 ,主要有四个模块 ,即表示客户端的 “ 设备控制块 ”, 接收集群管理报文以便以后处理的 “ 接收队列 ”, 表示整个网络拓扑结构的数据结构 “ 拓扑 ”, 以及为实现模板化管理而加入的 “ 用户表 ” 。设备的连接控制
8、块是服务器端核心的数据结构 ,每一个登录服务 器的子设备在服务器中都通过这种类型的一个数据结构来表示 ,登录到服务器的所有设备的连接控制块形成一个双向链表 ,互相连接起来 ,系统中很多操作都是基于这个链表的。 当交换机收到一个新的 MAC帧时要判断这个帧的类型 ,若是集群管理报文 ,则交换芯片不根据这个帧的目的 MAC进行转发 ,而是直接送交 CPU。这时 CPU将把这个帧转发到集群管理模块进行处理。上层任务的对报文的处理和报文的接收是异步的 ,所以本方案把接收到的报文加入到一个队列 ,即接收队列 ,随后发送一个消息 ,通知上层处理接收到的报文 ,在此过程的任意时刻都可以 向接收队列中添加报文
9、。 当网络中新加入一个设备或断开一个设备时 ,拓扑结构将改变。拓扑结构与 LCB结构是一一对应的 ,每个 LCB对应一个节点。因此 ,拓扑结构随设备的登录或断开连接而变化 :当一个设备登录时 ,创建一个 LCB、添加一个拓扑节点 ;当设备退出时 ,释放相应 LCB 和节点。 服务器可以提供多个分组管理策略 ,对应与多个策略 ,服务器通过成为用户模板的数据结构来实现。这些结构组成用户表。用户表实现分组管理的策略 ,用户表由用户维护。 参考文献 : 彭涛 .交换机集群技术 J.现代通 信 ,2003,(4). 陈明 .网络设备教程 M.北京 :清华大学出版社 ,2004. 冯彬 ,李芳芳 .以太网交换机的工作原理