缔冠期刊网

一种基于LLDP的链路层拓扑发现系统的开发实现

2022-06-09

庞振源

(中国电子科技集团公司第二十研究所,陕西 西安 710068)

【摘 要】LLDP(Link Layer Discovery Protocol,链路层发现协议)是一种标准的、公开的链路层网络拓扑信息交换协议,目前已经得到了主流网络设备商的支持。LLDP协议自身已经实现了链路层的拓扑发现功能,是该问题的理想解决方案。从网络运维人员的日常需求出发,基于LLDP开发了一个轻量级的拓扑发现系统,并详细介绍了系统的实现过程,为基于LLDP的应用程序的实现提供参考。

教育期刊网 http://www.jyqkw.com
关键词 拓扑发现;LLDP;轻量级

0 引言

数据链路层网络拓扑是指以太网络中,以交换机为主的网络节点之间在数据链路层的连接关系,它反映了网络节点之间真实的物理连接拓扑。在网络运维工作中,内网拓扑结构的核实与确认是一个常见且重要的问题,因为它与故障定位、网络安全防护息息相关。思科公司最早推出了思科发现协议[1](Cisco Discovery Protocol,CDP),然而它是内置在网络设备内部的私有协议,与其它平台不具备兼容性;基于交换机地址转发表的拓扑发现技术[2]解决了兼容性问题,然而这种技术算法非常复杂,且要求采集到的数据具有一定的完整性。链路层连接协议(Link Layer Discovery Protocol, LLDP)的发布意味着这个问题已经得到解决。LLDP的功能与CDP类似,拓扑关系的识别和维护由协议来实现,应用程序只需对拓扑信息进行提取即可;而且LLDP是公开的标准化的协议,不存在兼容性问题。

1 LLDP分析

LLDP提供了一种标准的拓扑沟通机制,可以将本端设备的的主要能力、管理地址、设备标识、接口标识等信息按照TLV(Type/Length/Value,类型/长度/值)的结构进行组织,并封装在以太网帧中发布给邻居设备。所有设备在收到这些信息后将其以标准MIB(Management Information Base,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。LLDP的框架结构如图1所示[3]。

由图1可见,PTOPO MIB、Entity MIB、Interface MIB以及Other MIB这四个MIB 库分别对应物理拓扑MIB、实体MIB、接口MIB 和其他MIB。LLDP 模块通过与设备上的这些MIB的交互来更新自己的LLDP local system MIB库以及自己定义的 LLDP扩展MIB,然后通过 LLDP帧将自己的相关信息通过连接到远端设备的接口,发送给远端设备。

同时,它接收远端设备发来的LLDP 帧来更新 LLDP remote system MIB库。通过更新和维护这个 MIB 库,设备就知道自己邻接设备的信息,包括本地端口、连接的对端设备的接口、对端接口MAC 地址等等。

2 系统分析与设计

2.1 需求分析

网络管理员在日常工作中经常会遇到这样的问题:内网的整体框架、网络设备台账都是已知的,只需要对局部的详细拓扑进行快速的核实确认。在极少数网络环境发生较大变更的情况下,在网络设备台账、网络整体架构等基础信息都不完整时,也需要对拓扑结构、设备台账等信息进行提取和整理。

因此,网络管理员需要这样一种网络拓扑发现系统:在指定了网络设备IP时,它能够快速、灵活地进行拓扑关系提取和展现;而在仅给出IP地址区间时,它能够对网络中的设备类型进行识别,发现网络拓扑,并整理出设备与主机的台账。

2.2 系统架构

系统的整体架构如图2所示。

系统分为展现层、逻辑层和数据层。数据层与网络设备进行交互,采集原始数据;逻辑层是系统的核心层,它对原始数据进行运算处理,得到拓扑信息;展现层以图形化的方式对拓扑关系进行表达。

2.3 数据结构

系统的主要数据结构可归纳为表1。

拓扑关系(L2Link)包含4个要素:本地IP、本地接口和对端IP、对端接口,它由逻辑层对LLDP数据进行计算处理得到。另外,系统还需要几个全局列表。IP/设备名映射表(ipNameMap)用于根据设备名查找设备IP。系统输入(input)是用户输入的一系列IP或子网地址列表。有效IP地址列表(validIpList)是由输入计算得到的有效的IP地址列表;在线IP地址列表(onlineIpList)是对有效IP地址列表进行轮询Ping操作后得到,通过这个环节可以剔除掉未使用的IP;交换机列表(switchList)和主机列表(hostList)是系统的输出。

系统需要从网络设备中提取的原始数据可归纳如表2所示。

LLDP信息的定义位于LLDP MIB中的lldpRemTable,这些字段描述了对端设备的信息。测试表明,思科和华为交换机对于lldpRemPortId字段的实现与字段名称存在歧义,该值默认为接口的名称,如果该接口配置了别名,则取值为别名。

接口信息的定义位于IF-MIB, 它描述了接口的名称、别名等信息。

端口信息的定义位于Q-Bridge-MIB,该字段揭示了物理端口号与接口之间的映射关系。

设备信息的定义位于RFC1213- MIB,定义了设备的名称和服务能力。需说明的是,sysName即设备名称,值取决于网络设备的配置。sysServices值标识了该设备工作在网络体系的哪一层。具体算法为:以0为初始值,对于网络体系的每一层L,如果提供该层的服务,那么总值就要加上2^(L-1),比如,某设备提供数据链路层服务,那么总值要加上2;如果同时提供网络层服务,那么再加上4。如果同时提供网络层和应用层服务,那么它是计算机。根据此方法可确定网络节点的类型。

2.4 实现算法

算法的输入为一个IP地址列表,其中每个IP可附加斜杠和子网掩码表示网络地址。

算法的输出为一个交换机列表、一个主机列表和图形化的拓扑结构。

完整的实现算法可组织为以下过程:

(1)对输入进行解析,将网络地址转换为有效IP,最终得到一个有效IP地址列表。

(2)遍历有效IP地址列表,进行Ping操作,得到在线IP地址列表。

(3)遍历在线IP地址列表,采集系统数据,分析设备类型,得到交换机列表、主机列表。

(4)遍历交换机列表,采集接口数据以及LLDP数据。

(5)遍历交换机列表,提取LLDP数据,得到本地IP/本地端口<->对端接口/对端设备名称的关系;根据对端设备名称匹配对端设备IP;根据本地端口匹配本地接口名称。至此,得到本设备上的所有拓扑关系。

(6)遍历交换机列表,遍历交换机的拓扑信息列表,在图形用户接口上进行生动直观的网络拓扑展现。

3 系统实现

3.1 开发环境

Java是纯面向对象的编程语言,语法简单,易于开发。它具有卓越的通用性、高效性、平台移植性和安全性[4],我们选择Java进行开发。

SNMP4J是面向Java平台的企业级开发库,我们使用它实现底层的协议操作,提高开发效率。

JUNG是一个开源软件包,它提供了一种公共和可扩展的框架来实现数据的建模[5],我们使用它来绘制网络拓扑图。

3.2 开发过程

系统的关键实现过程如下所示。

首选,系统对用户输入进行分析,得到得到交换机列表和主机列表,然后遍历交换机列表,读取分析拓扑信息,最后进行图形化展示。

最终效果如图3所示。可见,系统能够以生动直观的形式对交换机之间的拓扑关系进行展现。

4 总结

本文针对网络管理员的日常运维需求,基于LLDP实现了一个链路层拓扑发现系统,它能够对指定的网络设备进行拓扑发现,具有快速、轻量级的特性;另外,在网络信息未知的情况下,只需要给出IP网段地址,系统即可进行网络设备和网络拓扑的探测。LLDP的出现标志着链路层网络拓扑的发现在技术上已经不存在问题,目前LLDP已经得到了主流厂商的兼容并逐渐普及开来,该问题的彻底解决只剩下时间问题。

教育期刊网 http://www.jyqkw.com
参考文献

[1]CISCO. Cisco Discovery Protocol Version 2 [EB/OL]. http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/cdp/configuration/15-mt/cdp-15-mt-book/nm-cdp-disco,2015-3-21.

[2]庞振源.网络节点状态监测系统的研究与实现[D].西安:长安大学,2012:7-9.

[3]HUAWEI. LLDP技术白皮书[EB/OL].http://enterprise.huawei.com/ilink/cnenterprise/download/HW_197516,2012-10-31.

[4]Horstmann Gay S. Java核心技术[M].北京:电子工业出版社,2011:2-3.

[5]开源中国社区. Jung [EB/OL]. http://www.oschina.net/p/jung/,2014-10-31.

[责任编辑:汤静]

论文中心更多

期刊百科
期刊投稿 期刊知识 期刊审稿 核心期刊目录 录用通知 期刊版面费 投稿期刊推荐 学术问答
基础教育
小学语文 中学语文 小学数学 中学数学 小学英语 中学英语 物理教学 化学教学 生物教学 政治教学 历史教学 地理教学 科学教学 音乐教学 美术教学 体育教学 信息技术 班主任管理 校长管理 幼教 教育管理 微课教学 作文教学 德育教学 教学设计
医学论文
内科医学 外科医学 预防医学 妇科医学 检测医学 眼科医学 临床医学 药学论文 口腔医学 中西医 中医学 外科 护理 基础医学 急救医学 老年医学 医学实验 儿科医学 神经医学 兽医学 肿瘤医学 综合医学
职业教育
教育学原理 电影文学教育 学前教育 教育学管理 高等教育学 教育技术学 职业技术教育 成人教育学 特殊教育学 教育心理学 家庭教育 教育毕业 中专中职教育 教学设计 国学教育 学术研究 大学教育
药学卫生
社区门诊 医药学 医患关系 医院管理 疾病预防 保健医学 公共卫生 医学教育
文科论文
农业经济 工商管理毕业 会计毕业 行政管理 法律毕业 市场营销 经济毕业 汉语言文学 财务管理 物流管理 人力资源 旅游管理 国际贸易 物业管理 新闻学 企业管理 金融银行 社会科学 食品安全 办公档案 审计学 税务税收学 外国文学 哲学
理科论文
机电毕业 土木工程 计算机毕业 电气毕业 建筑毕业 电子商务 工程毕业 设计毕业 机械制造 汽车毕业 园林毕业 农学毕业 数控毕业 软件技术 水利工程 环境生态 畜牧渔业 化工毕业 科技创新 石油矿藏
论文格式
开题报告 论文题目 摘要关键词 目录提纲 论文致谢 参考文献 附录其他 论文答辩
职业论文
教育论文 经济论文 科技论文 财会论文 管理论文 医学论文 法学论文 文学论文 工业论文 建筑论文 农业论文 水利论文 计算机论文 社科论文 机械论文 生态环境 中西文化

先发表后付款 不成功可退款

权威机构认证 专注期刊10余年 1000余家杂志社长期合作

缔冠期刊网

首页 网站地图 返回顶部
Copyright © 1998- 缔冠期刊网