欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解讀python基于netconf協(xié)議獲取網(wǎng)元的數(shù)據(jù)

 更新時間:2021年05月18日 11:18:29   作者:華為云開發(fā)者社區(qū)  
大多數(shù)企業(yè)都需要網(wǎng)絡(luò)支撐企業(yè)的ICT運(yùn)行,針對企業(yè)網(wǎng)絡(luò)中的網(wǎng)元設(shè)備(包括交換機(jī),路由器,防火墻等),很多企業(yè)希望根據(jù)自身的業(yè)務(wù)特點(diǎn)定制網(wǎng)絡(luò)管理,如下就以華為的NE40E網(wǎng)元為例,說明如何通過python基于netconf協(xié)議實(shí)現(xiàn)對于網(wǎng)元配置數(shù)據(jù)的獲取。

【原理介紹】

通過NETCONF,網(wǎng)管能夠用可視化的界面統(tǒng)一管理網(wǎng)絡(luò)中的設(shè)備,并且安全性高、可靠性強(qiáng)、擴(kuò)展性強(qiáng)。如下圖所示,網(wǎng)管與網(wǎng)絡(luò)中的所有交換機(jī)之間建立NETCONF會話,用戶即可在網(wǎng)管提供的可視化界面上對網(wǎng)絡(luò)中的所有交換機(jī)進(jìn)行統(tǒng)一的管理,提高網(wǎng)絡(luò)運(yùn)維效率。

網(wǎng)管通過NETCONF對設(shè)備進(jìn)行管理組網(wǎng)圖

【開發(fā)流程介紹】

首先進(jìn)行網(wǎng)元的配置開通netconf協(xié)議相關(guān)篇配置,然后編寫python調(diào)用netconf模塊:

【網(wǎng)元配置】

登錄ne40e的管理口,按照如下命令配置,配置說明參見上面圖示中網(wǎng)元配置

system-view
aaa
local-user netconf001 password irreversible-cipher Root@123
local-user netconf001 service-type ssh
local-user netconf001 user-group manage-ug 
ssh user netconf001
ssh user netconf001 authentication-type password
ssh user netconf001 service-type all
snetconf server enable

默認(rèn)netconf的端口是SSH端口22,也可以用如下命令修改為其他端口:

protocol inbound ssh port 830

【python代碼示例】

建議使用第三方庫ncclient實(shí)現(xiàn)netconf的調(diào)用:

1.安裝ncclient:

pip install ncclient

2.Python引用ncclient:

from ncclient import manager

3.Python通過netconf的get能力獲取網(wǎng)元的接口狀態(tài)信息:

#建立連接
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)
#設(shè)定獲取端口的狀態(tài)信息(down或者up)
message = '''<ifm xmlns="http://www.huawei.com/netconf/vrp" content-version="1.0" format-version="1.0">
                  <interfaces>
                      <interface>
                          <ifName/>
                          <ifDynamicInfo>
                              <ifPhyStatus/>
                              <ifLinkStatus/>
                          </ifDynamicInfo>
                      </interface>
                  </interfaces>
              </ifm>'''
#get調(diào)用
ret = conn.get(("subtree", message ))
#打印返回的信息
print(ret)

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

<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply message-id="urn:uuid:ec1e9c29-5ff6-4582-8880-e887ceb8c512" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <data>
    <ifm xmlns="http://www.huawei.com/netconf/vrp" format-version="1.0" content-version="1.0">
      <interfaces>
        <interface>
          <ifName>GigabitEthernet0/0/0</ifName>
          <ifDynamicInfo>
            <ifPhyStatus>up</ifPhyStatus>
            <ifLinkStatus>up</ifLinkStatus>
          </ifDynamicInfo>
        </interface>
      </interfaces>
    </ifm>
  </data>
</rpc-reply>

【總結(jié)】

基于以上流程和華為ne40的netconf功能介紹,可以實(shí)現(xiàn)配置獲取,配置下發(fā)等相關(guān)操作,用于企業(yè)網(wǎng)絡(luò)自動化開發(fā)。

ne40e的netconf相關(guān)資料參見鏈接:https://support.huawei.com/hedex/hdx.do?lib=EDOC1100168803AZJ11174&docid=EDOC1100168803&lang=zh&v=03&tocLib=EDOC1100168803AZJ11174&tocV=03&id=ZH-CN_CONCEPT_0139427194&tocURL=resources%2525252Fsoftware%2525252Fnev8r10_vrpv8r16%2525252Fuser%2525252Fvrp%2525252Ffeature_0003993139.html&p=t&fe=1&ui=3&keyword=netconf%2525252525u539f%2525252525u7406

以上就是解讀python基于netconf協(xié)議獲取網(wǎng)元的數(shù)據(jù)的詳細(xì)內(nèi)容,更多關(guān)于python的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Matplotlib控制坐標(biāo)軸刻度間距與標(biāo)簽實(shí)例代碼

    Matplotlib控制坐標(biāo)軸刻度間距與標(biāo)簽實(shí)例代碼

    在matplotlib中,記號是圖形兩個軸上的小標(biāo)記,到目前為止,我們讓matplotlib處理軸圖例上記號的位置,下面這篇文章主要給大家介紹了關(guān)于Matplotlib控制坐標(biāo)軸刻度間距與標(biāo)簽的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 詳解Windows下PyCharm安裝Numpy包及無法安裝問題解決方案

    詳解Windows下PyCharm安裝Numpy包及無法安裝問題解決方案

    這篇文章主要介紹了詳解Windows下PyCharm安裝Numpy包及無法安裝問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 最新評論