千家信息网

python如何通过netconf协议获取网元的数据

发表于:2025-02-14 作者:千家信息网编辑
千家信息网最后更新 2025年02月14日,小编给大家分享一下python如何通过netconf协议获取网元的数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对于网
千家信息网最后更新 2025年02月14日python如何通过netconf协议获取网元的数据

小编给大家分享一下python如何通过netconf协议获取网元的数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

对于网络运维(也就是网管)而言,统一管理网络中的设备是其最主要的需求,netconf协议就是为此而生的。使用netconf协议,我们可以通过交换机对网元(也就是网内的计算机单元)进行管理,提高网络运维的效率。

【原理介绍】

通过NETCONF,网管能够用可视化的界面统一管理网络中的设备,并且安全性高、可靠性强、扩展性强。如下图所示,网管与网络中的所有交换机之间建立NETCONF会话,用户即可在网管提供的可视化界面上对网络中的所有交换机进行统一的管理,提高网络运维效率。

网管通过NETCONF对设备进行管理组网图。

【开发流程介绍】

首先进行网元的配置开通netconf协议相关篇配置,然后编写python调用netconf模块

【网元配置】

登录ne40e的管理口,按照如下命令配置,配置说明参见上面图示中网元配置

system-viewaaalocal-user netconf001 password irreversible-cipher Root@123local-user netconf001 service-type sshlocal-user netconf001 user-group manage-ug ssh user netconf001ssh user netconf001 authentication-type passwordssh user netconf001 service-type allsnetconf server enable

默认netconf的端口是SSH端口22,也可以用如下命令修改为其他端口:

protocol inbound ssh port 830

【python代码示例】

建议使用第三方库ncclient实现netconf的调用:

1.安装ncclient:

pip install ncclient

2.Python引用ncclient:

from ncclient import manager

3.Python通过netconf的get能力获取网元的接口状态信息:

#建立连接conn = manager.connect(host="10.10.10.10", port=22,                                    username="netconf001", password="Root@123",                                    hostkey_verify=False,                                    device_params={'name': 'huawei'},                                    allow_agent=False,                                    look_for_keys=False)#设定获取端口的状态信息(down或者up)message = '''                                                                                                                                                                                                                                        '''#get调用ret = conn.get(("subtree", message ))#打印返回的信息print(ret)

4.返回信息参加如下样例,可以看到端口GigabitEthernet0/0/0是up:

                              GigabitEthernet0/0/0                      up            up                              

以上是"python如何通过netconf协议获取网元的数据"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0