解讀python基于netconf協(xié)議獲取網(wǎng)元的數(shù)據(jù)
通過(guò)NETCONF,網(wǎng)管能夠用可視化的界面統(tǒng)一管理網(wǎng)絡(luò)中的設(shè)備,并且安全性高、可靠性強(qiáng)、擴(kuò)展性強(qiáng)。如下圖所示,網(wǎng)管與網(wǎng)絡(luò)中的所有交換機(jī)之間建立NETCONF會(huì)話,用戶即可在網(wǎng)管提供的可視化界面上對(duì)網(wǎng)絡(luò)中的所有交換機(jī)進(jìn)行統(tǒng)一的管理,提高網(wǎng)絡(luò)運(yùn)維效率。
網(wǎng)管通過(guò)NETCONF對(duì)設(shè)備進(jìn)行管理組網(wǎng)圖
首先進(jìn)行網(wǎng)元的配置開通netconf協(xié)議相關(guān)篇配置,然后編寫python調(diào)用netconf模塊:
登錄ne40e的管理口,按照如下命令配置,配置說(shuō)明參見上面圖示中網(wǎng)元配置
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
默認(rèn)netconf的端口是SSH端口22,也可以用如下命令修改為其他端口:
protocol inbound ssh port 830
【python代碼示例】建議使用第三方庫(kù)ncclient實(shí)現(xiàn)netconf的調(diào)用:
1.安裝ncclient:
pip install ncclient
2.Python引用ncclient:
from ncclient import manager
3.Python通過(guò)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- 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ò)自動(dòng)化開發(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的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. WML語(yǔ)言的基本情況2. 利用CSS制作3D動(dòng)畫3. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究4. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對(duì)象Application和Session)5. XML入門的常見問(wèn)題(四)6. jsp文件下載功能實(shí)現(xiàn)代碼7. asp與php中定時(shí)生成頁(yè)面的思路與代碼8. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)9. HTML5 Canvas繪制圖形從入門到精通10. CSS代碼檢查工具stylelint的使用方法詳解
