孙 德 俊
(南京审计大学实验中心,南京 211815)
能提供高容量与服务质量保证的网络已成为各国研网基础建置项目[1],而在完成实验平台的架设后,为了便于通道的配置,亦开始研发通讯控制层系统.
UCLP(User-Controlled LightPath)系统为加拿大CANARIE 与思科公司所赞助研发,由四个软件团队分别开发:University of Waterloo、Communications Research Centre of Ottawa University、University of Quebec a Montreal与Carleton University.传统上通道建立为由管理者检视是否有足够的系统频宽后,再经设定设备上的线路交换以将可用频宽串联成为点对点的通道;通过UCLP软件的授权功能,管理者可以将网络频宽预先保留给使用者,再由使用者操作UCLP界面自行决定要串联的频宽,以建立适用的通道.目前UCLP为唯一运用于实际网络上的系统,加上CANARIE于各国推广,几乎已成为配置通道的标准.智能亦与CANARIE自2004年开始合作进行将SONET版本修改为适用于SDH 技术系统,并于智能网络上完成UCLP系统之建置[2].
DRAGON(Dynamic Resource Allocation viaGMPLS Optical Networks)DRAGON[3-4]为美国国家科学基金会所补助的计划,为配合Internet2 的HOPI(The Hybrid Optical and Packet Infrastructure)计划的一环,HOPI为将Abiliene IP/MPLS网络与NLR网络进行连结,建立一混合型的新型态网络架构,DRAGON之目标为在HOPI 架构中配置点对点连线,以GMPLS技术为基础,设计出统一的应用程序界面(Application Programming Interface)供撰写e-Science程序开发者使用;建置网络资源代理人(Network Aware Resource Broker)以解决跨网域(inter-domain)的连线建立问题;对于非GMPLS之设备,以虚拟标签交换路由器(VirtualLabel Switched Router)来协助配置标签交换路径(Label Switched Path)[3].
JRA3-BoD(Bandwidth on Demand)GEANT为结合26个欧洲研网的大型合作网络计划,包含了许多的整合研究计划(Joint ResearchActivity),随选频宽BoD计划即为整合研究计划之一[4],旨在设计出一套自动控制系统,可建立跨越不同网域、不同网络层(包括第三层IP网络第二层网络与网络)的点对点通道.
图1为采用所示整合IP与网络的单一骨干架构,各个虚拟网络或专线服务均由底层的通道构成,在频宽使用上具有更大的弹性[5].在规划上以四个主节点间的STM-64线路为主,并各自以STM-64连结到所属GigaPOP,为考虑故障备援需求,各GigaPOP 间各以STM-16 或STM-64 线路互连,提高网络存活性(survivability)构建新一代SDH和DWDM 整合实验平台.
图1 网络实验室
本实验环境使用与智能网络骨干设备相同的CISCO ONS15454 交换器.CISCO ONS 15454可同时使用操作于SDH模式与DWDM模式.在实验室中的交换器除了SDH之外,并安排Next-Generation SDH与DWDM卡版,可供不同网络需求规划出适用的架构.实验室架构图如图2所示,包含有五个机柜,分别放置以下机器:四部CISCO ONS15454、三部CISCO 7609路由器、两部RPM电源管理器和HP服务器.并将四部CISCO ONS15454规划成三个节点[6],分别是节点A、节点B、节点C,其中节点A有两个机柜,分别是shelf A和shelf A2.shelf A安装DWDM卡版,shelf A2安装SDH卡版,节点B和节点C 各有一个机柜,同时安装SDH 和DWDM卡版.
网络架构图网络拓朴图如图2所示,四部CISCO ONS15454组成的三个节点,节点A、B、C,其下均各自介接一部CISCO 7609 路由器.实体线路为A─B 和A─C 两条暗纤(dark fiber).在于此DWDM网络上切割A─B、A─C和B─C 三条10G SDH 线路,以STM-64 线路连接A─B、A─C 和B─C 成为环状SDH拓朴[7].CISCO 7609路由器以GE线路介接于环状节点下,形成IP和网络的混合架构.
图2 网络实验室网络拓朴图
2.1TL1
Transaction Language 1(TL1)为传统电信设备的标准控制语言界面.在制订TL1之前,各家电信设备商都有各自的控制语言,彼此互不相通.1984 年,Bellcore(现Telcordia)以Z.300 标准为基础,定义了一套人机互通的控制语言界面TL1,便于管理各种电信设备[8].由于Telcordia 以TL1作为设备管理的通讯协定,各家设备商均主动在设备上开发TL1控制界面,TL1遂成为电信设备控制语言的统一标准.除了传统电信设备支援TL1 协定外,新的设备如通讯设备上也多提供TL1界面供管理人员进行开发.TL1通过Telnet session传递ASCII-Based的命令至设备,还可以ASCII格式读取设备目前的组态信息,协助运营系统能够有效管理网络设备及其资源.TL1是目前北美主要控制电信网络的协定,也是电信行业最广泛使用的管理协定之一.它管理了世界上数量众多的宽带网络设备,正在不断广泛应用,成为通讯设备的一项管理标准.
由于TL1为最广泛使用的管理协定之一,不用额外花费即可开发管理能.如加拿大研究网络CANARIE所赞助的UCLPv2计划,就是以TL1为工具,开发网络上的通道管理系统.目前荷兰研究网络SURFNet赞助了一项TL1Toolkit的开发计划,提供一个较高阶层的应用程序界面,让控制层程序开发更为容易.TL1登出等程序,将繁杂的TL1语法包装成容易使用的API,有助于运营人员开发相关网管功能.本论文即以此TL1 Toolkit为工具,开发设备上的通道控制系统[9].
CORBA(Common Object Request BrokerArchitecture)为OMG(Object Management Group)在1991年提出之分散式物件导向工作环境规格.OMG是一个由会员赞助而成立的非营利组织,其目的在推广物件导向(Object-Oriented)的观念及使用并致力于加强软件的可携性(portability)、再利用性(reusability)以及互通性(interoperability).该组织会员包括了厂商、学术单位及用户.CORBA发展的原因是为了解决企业的计算机系统在整合各种平台和作业系统时,能够有一种一致的标准让这些不同的平台、作业系统、以及程序语言可以互相沟通的技术[10].OMG在CORBA定义了IDL(Interface Define Language),可以让程序撰写者利用各种不同语言撰写管理程序,管理程序通过与ORB(Object Request Broker)沟通管理相关设备设定.ORB是连结服务器和用户端的一组服务,能中介客户端与服务器端之间的沟通,让CORBA的运作更加方便.ORB实作了一些特定服务,例如命名服务让客户端可以简单取得服务器物件的相关信息、交易服务可确保程序间沟通的一致性、安全服务可以确保已授权的程序进行相关存取动作,这些服务的实作处理掉繁杂的细节,让程序间沟通更容易.目前一般设备亦提供CORBA 界面供管理人员开发相关控制程序使用,如CISCO的设备管理软件CTM(Cisco Transport Manager)即使用CORBA界面开发而成.但CORBA中的ORB套件需付费才可取得[11],一般开发人员需额外购置相关ORB套件才能使用相关IDL定义档来开发相关网管程序.
本系统以Linux 为开发平台,主要利PHP程序语言所开发,结合Shell Script 控制TL1 Toolkit的Perl模块,后端数据库使用MySQL Database储存相关资料.
测试架构包含网络实验室中三个SDH节点A、B、C,彼此间以STM64 channel连接,如图3所示,在基本的点对点连线实验中,B 与C包含了Ethernet 卡板,其余介接点皆以OC192XFP 或是OC192LR卡板互连,网络管控服务器则以频带外(Out-of-Band)线路通过TL1界面与ONS连线[12],并将通道状态记录并更新于数据库中.
在管控程序启动之时,服务器会读取设定档以进行初始化程序,在使用者提出连线建立需求后,管理界面query Node通道设定实时信息,计算出目前系统各节点可用之卡版埠号与各线路可配置之频宽,接着利用PHP script做最短路径算法将欲建立的通道更新至数据库,同时通过TL1 Toolkit设定通道所经ONS的开关,最后将结果回传资料给使用者[13-16].
图3 测试系统架构图
上述建立连线流程如图4所示,详细步骤如下:
1)利用TL1 Toolkit至每个Node Query 实时状态,找出每个Node上面的slot、port及channel数之使用状态;
2)依据使用者需求建立连线信息.
①初始化检查,检查目前使用资源是否足够及显示网络拓扑;
②自动依据要求的channel,找寻Link上是否有足够的频宽.
3)执行最短路径算法;
4)找出Free LPO channel并通过TL1-Toolkit做Cross Connect;
5)同步数据库.
图4 建立连线流程架构图
根据网络资源管理与分配的概念,可以将各资源(如实体连线、网络交换器设备、界面卡等)利用程序语言将其物件化,再与数据库搭配做储存管理与配置,以实现自动通道配置与管理的技术.数据库设计方面,我们依据资源设备信息和性质,设计了相关的资料表与栏位.以下逐一说明各资料表与栏位明细,表1为纪录网络拓墣环境中所有“链结”的信息,包含每一条链结上目前已经建立的Virtual Circuit.
表1 Topology(Link)Table
表2为纪录网络拓扑环境中所有“节点”的信息,包含每个节点所相邻的各个节点,以及是否为边界(下车:Drop)节点.
表2 Topology(Node)Table
表3为建立LPO,并纪录每一条在链结上建立的VC使用状况.
表3 Link Status Table
表4为纪录每一次使用者建立连线的需求,包括Request Number,来源到结束的节点,所分配的LPO Number.表5代表RO资源建立的相关信息.
表4 Request Table
表5 Resource Table
表6为TL1所记载卡版的相关信息.
表6 Card Table
在网络实验室设备上,我们建立了一个测试环境,模拟故障绕径之功能.如图5所示,假设Node B 与Node A 之间,有一条STM64线路提供服务,Node B 另有一备援STM64 连线,可通过Node C连接到Node A,以Node A另一片GE卡板作为备援连线.
图5 测试方案示意图
在系统中在B-A建立一条名称为”Test_B-A”的STM-4连线,模拟提供服务的连线,并在B-C间建立一条名称为”Test_B-C”的STM-4连线,以检验系统是否能自动侦测寻找可用频宽来建立备援连线.由系统的查询界面,可以看到Node B上的设定信息,在Cross connection处可见已设定好的两条Cross connections,见图6.
图6 Node B设备信息查询结果
当线路B-A间发生障碍时,我们只需在系统界面上,执行建立连线的指令,系统即会执行以下步骤,见图7.
图7 连线建立界面
图7首先利用TL1 Toolkit到各设备查询及时状态,将每个Node之间的可用资源同步至数据库,由于我们已将B-A连线拆除,同步之后数据库已无B-A之连线资源可供使用,检查目前资源是否能满足使用者连线需求,由于查询仍有BC-A连线,连线需求可满足.检查B-C、C-A连线中,是否仍有足够频宽可供使用由于B-C上目前仅有一条STM-4被使用,C-A上无LightPath占用频宽,频宽需求可满足.执行最短路径算法,程序中以{0}(1)(2)代表NodeA、NodeB、NodeC.因B-A间最短路径已拆除,故最短路径演算结果为(1)(2)(0).找出FreeLPO,利用TL1 Toolkit 至各设备将Crossconnect建立起来.程序会判断Node B上原先Test B-A 连线已不存在[17-21],先拆除此条Crossconnection,再寻找B-C-A 间可用频宽,由于channel1-4 已被Test_B-C 使用,故利用channel 5-8建立备援连线.最后程序会将资料同步至数据库,并将所建立之备援连线名称显示在网页上.如图8所示,连线建立完成后,再登入查询界面,即可看出Node B上的Cross connection信息已更新,原先建立的Test_B-A连线已被移除,并利用可用channel 5-8建立一个名为”Req1-0-95”的备援连线,证明故障自动绕径功能可正常运作.虽目前系统可完成自动绕径之功能,但是对于故障异常的发生,仍须通过人工判断以触发此故障绕径工作,未来若能结合网管信息,根据故障发生的讯息,针对受影响连线进行自动绕径,将能大幅提升运营的效率并减少运营人力的使用.
图8 Node B设备信息查询结果
目前各国在网络领域研发均以通讯层为重心,预期的未来在网络实体环境运作成熟后,还会遇到维护和运营时管理问题.智能网络实验室的开发让学研界能在混合网络中进行相关研究,提升国内学术研究的能量.未来若能结合设备告警与错误辨识系统,撷取来自管理层的网络告警讯息,配合本系统控制设备,自动将受影响的通道以动态重建的方式进行修复,将大幅提升智能网络的可用率及稳定性,并减少人力,提高维护运营的效率.