0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是NETCONF

汽車電子技術(shù) ? 來源:碼農(nóng)與軟件時代 ? 作者:碼農(nóng)與軟件時代 ? 2023-02-14 14:57 ? 次閱讀

1. 問題的提出

在單機(jī)配置時代,網(wǎng)絡(luò)工程師通過命令行直接就搞定了;在網(wǎng)絡(luò)設(shè)備達(dá)到數(shù)十臺、數(shù)百臺時,而這些設(shè)備可能來自不同的廠商時,網(wǎng)絡(luò)工程師對網(wǎng)絡(luò)管理的窘境有頗多怨言。作為網(wǎng)絡(luò)工程師面臨的挑戰(zhàn)和壓力是什么?要維持上萬臺的設(shè)備、數(shù)十萬的部件和上千條線路。這么多的壓力終于在網(wǎng)管的用戶體驗吐槽大會上爆發(fā),提出了網(wǎng)絡(luò)管理中的14個問題:

(1).從操作員的角度來看,易用性是任何網(wǎng)絡(luò)管理技術(shù)的關(guān)鍵要求;

(2).必須明確區(qū)分配置數(shù)據(jù)、描述操作狀態(tài)的數(shù)據(jù)和統(tǒng)計數(shù)據(jù);

(3).需要能夠從設(shè)備中提取單獨(dú)的配置數(shù)據(jù)、操作狀態(tài)數(shù)據(jù)和統(tǒng)計數(shù)據(jù),并能夠在設(shè)備之間進(jìn)行比較;

(4).必須使操作員能夠集中于整個網(wǎng)絡(luò)的配置,而不是逐個設(shè)備配置;

(5).支持在多個設(shè)備上配置事務(wù),以簡化網(wǎng)絡(luò)配置管理;

(6).假定需要進(jìn)行配置 a和配置 b,應(yīng)該能夠生成從a到b所需的操作,以便使得狀態(tài)變化對網(wǎng)絡(luò)系統(tǒng)產(chǎn)生最小的影響。將配置更改所造成的影響降到最低是很重要的;

(7).備份和恢復(fù)配置的機(jī)制是操作人員需要的原始操作;

(8).為了在兩個配置之間確定變化以及這些配置是否一致,必須很容易地對配置進(jìn)行一致性檢查;

(9).基于文本的配置,如差異化和版本管理工具,如RCS或CVS,可以用來處理配置,這意味著設(shè)備不應(yīng)任意重新排序數(shù)據(jù),如訪問控制列表;

(10).網(wǎng)絡(luò)范圍的配置通常存儲在中央主數(shù)據(jù)庫中,并轉(zhuǎn)換成可被推送到設(shè)備的格式,通過生成CLI命令序列或?qū)⑼暾呐渲梦募扑偷皆O(shè)備上。沒有共同的數(shù)據(jù)庫模式……盡管各種操作符使用的模型可能非常相似;

(11).區(qū)分配置的分布和特定配置的激活是很重要的,設(shè)備應(yīng)該能夠容納多種配置; (12).基于角色的訪問控制模型和最小權(quán)限原則,其中只能為用戶提供執(zhí)行所需任務(wù)所需的最小訪問權(quán)限;

(13).可以跨設(shè)備對訪問控制列表進(jìn)行一致性檢查;

(14).SNMP訪問控制是面向數(shù)據(jù)的,而CLI訪問控制通常是面向命令(任務(wù))的。 因此,需要支持面向數(shù)據(jù)和面向任務(wù)的訪問控制。

2. 標(biāo)準(zhǔn)的制定

為解決上述的問題,歷經(jīng)多年的討論,最終產(chǎn)生了一系列的標(biāo)準(zhǔn):

(1).RFC4741- 4744 分別描述了NETCONF在三種不同的傳輸模式SOAP,BEEP和SSH下是如何工作的。

(2).2008 年7 月推出RFC5277,主要定義了NETCONF的事件通知機(jī)制,用于故障管理。

(3).2009 年5 月推出的RFC5539 描述了NETCONF如何保證傳輸層傳輸信息的安全機(jī)制,加強(qiáng)了NETCONF的安全體系。

(4).2010年,RFC 6020 為NETCONF的YANG建模語言。

(5).2010年,RFC 6021 通用YANG的數(shù)據(jù)類型。

(6).2011年6月,RFC6241定義NETCONF的安裝,操作和刪除網(wǎng)絡(luò)設(shè)備配置的機(jī)制。RFC6242更新了基于 SSH 的傳輸模式。NETCONF 協(xié)議是完全基于XML 之上的,所有的配置數(shù)據(jù)和協(xié)議消息都用XML 表示。

(7).2011年,RFC6244 使用NETCONF和YANG的網(wǎng)絡(luò)管理構(gòu)架。

總的來說,我們重點(diǎn)關(guān)注如下幾標(biāo)準(zhǔn):

① RFC6241定義NETCONF的安裝,操作和刪除網(wǎng)絡(luò)設(shè)備配置的機(jī)制。

②RFC6242更新了基于 SSH 的傳輸模式。NETCONF 協(xié)議是完全基于XML 之上的,所有的配置數(shù)據(jù)和協(xié)議消息都用XML 表示。

③RFC6020指出,YANG是一種數(shù)據(jù)模型語言(Data Modeling Language),用來描述NETCONF相關(guān)的網(wǎng)絡(luò)配置和網(wǎng)絡(luò)狀態(tài)的數(shù)據(jù)模型、RPC和Notification。

3. NETCONF基礎(chǔ)知識

NETCONF協(xié)議是網(wǎng)絡(luò)設(shè)備配置的標(biāo)準(zhǔn)協(xié)議,用來進(jìn)行網(wǎng)絡(luò)設(shè)備的配置管理、下發(fā)、更改等問題。它劃分為4層:安全傳輸層、消息層、操作層和內(nèi)容層。如下圖所示:

圖片

其中,傳輸層規(guī)定傳輸層必須使用TLS、SSH等帶有安全加密的通信協(xié)議,其中SSH是當(dāng)前應(yīng)用最多的傳輸層協(xié)議;消息層提供 RPC 接口,用于實現(xiàn)遠(yuǎn)程調(diào)用和通知;操作層定義了 edit-config、get-config、delete-config 和 copy-config 等9種操作,用戶也可以自定義RPC操作;內(nèi)容層描述了配置數(shù)據(jù)和通知數(shù)據(jù),但沒有標(biāo)準(zhǔn)化數(shù)據(jù)結(jié)構(gòu)模型,該模型由RFC 6020:YANG建模。YANG的信息存儲在NETCONF協(xié)議的3個標(biāo)準(zhǔn)概念配置數(shù)據(jù)庫,如下表所示:

類型 說明
Running: 運(yùn)行配置庫 目前在設(shè)備上運(yùn)行的生效配置
Candidate:備份配置庫 任何改變都不會馬上直接影響網(wǎng)絡(luò)設(shè)備
startup初始配置庫 網(wǎng)絡(luò)設(shè)備啟動時所加載的配置庫

①Client端發(fā)起hello消息到Server端并告知對NETCONF的支持能力;

②Server端發(fā)起hello消息到Client端并告知對NETCONF的支持能力,完成能力協(xié)

商;

③Client端發(fā)起rpc請求消息到Server端,進(jìn)行設(shè)備的配置請求;

元素封裝了從客戶端到服務(wù)器端的協(xié)議操作請求。

圖片

④Server端進(jìn)行操作并將應(yīng)答消息封裝到rpc-reply,回復(fù)給Client端。

元素消息是對消息的響應(yīng)。

![圖片](https://mmbiz.qpic.cn/mmbiz_png/prnpGufYiaQLFCAWDk1YTaHzd4Qdb0MeVkiaJVVnCktIpxbNxCTFrDk66eDzAehz51ffDfBkstgGcZyApVAPWMCQ/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)

NETCONF配置信息的開發(fā)較為簡單,即在代碼編寫“拼接XML字符串,調(diào)用rpc接口”的邏輯就可以了,感興趣的人員可以參考:

https://www.juniper.net/documentation/en_US/junos/topics/task/installation/netconf-java-toolkit-downloading-and-installing.html

4.YANG

NETCONF是網(wǎng)絡(luò)管理協(xié)議,分為安全傳輸層、消息層、操作層和內(nèi)容層等4層,而YANG是和NETCONF相伴而生的,可以對操作層和內(nèi)容層進(jìn)行建模。但為什么要用YANG呢?我們知道SNMP在請求端使用BER對操作請求和應(yīng)答進(jìn)行編碼,并在接收端使用BER進(jìn)行解碼。就BER編碼(Basic Encoding Rule)來說,其過程是將數(shù)據(jù)分成TLV三部分并按照TLV的順序?qū)?shù)據(jù)進(jìn)行編碼,生成字節(jié)流(T-Tag-類型標(biāo)識,L-Length-類型的長度,V-Value-數(shù)據(jù)內(nèi)容)。在這種情況下,每個字段出現(xiàn)的順序是預(yù)先約定的,其類型和長度是固定的,如果要在新增字段,則意味著協(xié)議兩端的編解碼都要進(jìn)行修改。而如果將本部分內(nèi)容通過一個文件來描述或者建模,協(xié)議兩端根據(jù)該文件進(jìn)行編解碼,則與具體的字段解耦了。所以,YANG建模語言就適時而生了(RFC6020:https://tools.ietf.org/html/rfc6020#page-11)。

現(xiàn)在腦補(bǔ)一個場景:需要配置數(shù)百上千臺設(shè)備,并且這些設(shè)備來自不同的廠商,那如何實現(xiàn)自動化配置呢?DevOps人員只需做如下步驟:

①構(gòu)建自動化配置基礎(chǔ)應(yīng)用程序;

②加載廠商設(shè)備的YANG文件;

③使用代碼生成工具將YANG文件轉(zhuǎn)化為公共代碼模板;

④根據(jù)業(yè)務(wù)場景編寫RPC和數(shù)據(jù)邏輯代碼;

⑤不同廠商重復(fù)步驟;

⑥部署自動化配置基礎(chǔ)應(yīng)用程序。

經(jīng)過這些步驟后,你需要做的就是“一鍵”下發(fā)配置,成百上千臺設(shè)備配置就搞定了。

5. NETCONF在SDN中的應(yīng)用

在現(xiàn)有的網(wǎng)絡(luò)中,NETCONF和YANG已有了較好的實踐。就軟件定義網(wǎng)絡(luò)而言,從OpenDaylight的架構(gòu)圖中,我們可以看到NETCONF即能做北向接口也能做南向接口。同時,不同廠商的控制器也支持NETCONF作為其接口協(xié)議。NETCONF作為出色的網(wǎng)絡(luò)管理協(xié)議,將繼續(xù)發(fā)揮其優(yōu)異的網(wǎng)絡(luò)配置作用。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    為什么移植LwIP到stm32會報錯?

    "stm32_eth.h"#include "stm32f107.h"#include "netconf.h"#include "lwip
    發(fā)表于 08-11 21:13

    SRv6技術(shù)課堂:SRv6概述 精選資料分享

    。在過去六年內(nèi)持續(xù)推動了SDN演進(jìn)的BGP/PCEP/Netconf/YANG的協(xié)議創(chuàng)新和標(biāo)準(zhǔn)化,當(dāng)前研究的重點(diǎn)包括SRv6、網(wǎng)絡(luò)智能、Telemetry、5G承載等。2019年當(dāng)選IETF互聯(lián)網(wǎng)架構(gòu)委員...
    發(fā)表于 07-29 06:21

    在LS1028ARDB中初始化netopeer2-server時出現(xiàn)了很多錯誤,求解答

    ietf-netconf-notifications@2012-02-06 模式失敗,來自該模塊的數(shù)據(jù)將不可用。 [INF]:從 sysrepo 加載架構(gòu)“ietf-netconf@2011-06-01”。 [INF]:Sysrepo 守護(hù)程序已啟動。 [錯誤
    發(fā)表于 06-08 06:40

    實用的Linux網(wǎng)絡(luò)配置工具netconf

    實用的Linux網(wǎng)絡(luò)配置工具netconf 很多用戶不使用Linux網(wǎng)絡(luò)的原因是配置的復(fù)雜性與困難性,下面的內(nèi)容介紹使用Linux下的GUI環(huán)境下的網(wǎng)絡(luò)配置工具netconf
    發(fā)表于 01-29 11:24 ?919次閱讀

    Ryu是什么Ryu開發(fā)文檔的詳細(xì)資料免費(fèi)下載

    Ryu 是一種基于軟件定義網(wǎng)絡(luò)的框架。Ryu 為軟件組件提供了定義良好的API,方便開發(fā)人員創(chuàng)建新的網(wǎng)絡(luò)管理和控制應(yīng)用程序。Ryu 支持各種協(xié)議來管理網(wǎng)絡(luò)設(shè)備, 如OpenFlow 、Netconf 、OF-config, 等。Ryu 完全是用Python 編寫的。
    發(fā)表于 12-18 19:09 ?6次下載
    Ryu是什么Ryu開發(fā)文檔的詳細(xì)資料免費(fèi)下載

    烽火5G前傳Open-WDM管控系統(tǒng)已達(dá)到業(yè)內(nèi)領(lǐng)先水平

    近日,烽火前傳半有源設(shè)備IA2000及控制器率先在中國移動完成了基于Netconf標(biāo)準(zhǔn)化協(xié)議的5G前傳管控系統(tǒng)測試,標(biāo)志著烽火5G前傳Open-WDM管控系統(tǒng)達(dá)到業(yè)內(nèi)領(lǐng)先水平,為實現(xiàn)區(qū)域內(nèi)多廠家前傳系統(tǒng)統(tǒng)一管控奠定了堅實的基礎(chǔ)。
    的頭像 發(fā)表于 12-06 08:59 ?1746次閱讀

    IP知識百科之什么是YANG

    YANG的定義與產(chǎn)生 YANG是一種數(shù)據(jù)建模語言,可以為NETCONF等協(xié)議的數(shù)據(jù)進(jìn)行定義與描述。YANG模型是對數(shù)據(jù)特征的抽象和表達(dá),在YANG模型文件中定義了數(shù)據(jù)的層次結(jié)構(gòu)、執(zhí)行數(shù)據(jù)的約束條件
    的頭像 發(fā)表于 11-19 10:25 ?6017次閱讀
    IP知識百科之什么是YANG

    Netconf for ATOM Atom的NETCONF測試插件

    ./oschina_soft/atom-netconf.zip
    發(fā)表于 05-19 09:08 ?3次下載
    <b class='flag-5'>Netconf</b> for ATOM Atom的<b class='flag-5'>NETCONF</b>測試插件

    什么是RESTCONF?

    Web應(yīng)用程序可以通過集成NETCONF協(xié)議庫,構(gòu)建NETCONF客戶端并向NETCONF服務(wù)端發(fā)送RPC消息
    的頭像 發(fā)表于 02-14 14:59 ?2362次閱讀
    什么是RESTCONF?

    OpenDaylight中的YANG

    YANG是和NETCONF相伴而生的,而NETCONF作為網(wǎng)絡(luò)管理協(xié)議,包含安全傳輸層、消息層、操作層和內(nèi)容層,其中內(nèi)容層沒有標(biāo)準(zhǔn)化,操作層允許自定義RPC,而這兩者的標(biāo)準(zhǔn)化建模就是由YANG來完成的。
    的頭像 發(fā)表于 02-14 15:10 ?1725次閱讀
    OpenDaylight中的YANG

    虹科干貨|如何通過NETCONF配置RELYUM TSN SWITCH

    RELYUMTSNSWITCHQ:通過NETCONF配置RELYUMTSNSWITCHA:參考用戶手冊7.2.2節(jié),這里將演示把文檔中的配置內(nèi)容通過RPC發(fā)送給網(wǎng)關(guān)。STEP1注意port必須使用830,username和
    的頭像 發(fā)表于 03-02 15:11 ?516次閱讀
    虹科干貨|如何通過<b class='flag-5'>NETCONF</b>配置RELYUM TSN SWITCH

    虹科干貨|如何通過NETCONF配置RELYUM TSN SWITCH

    以太網(wǎng)端口和1個內(nèi)部端口的TSN橋,可與市場上的其他產(chǎn)品互操作。RELYUMTSNSWITCHQ通過NETCONF配置RELYUMTSNSWITCHA參考用戶手冊7
    的頭像 發(fā)表于 03-03 10:10 ?453次閱讀
    虹科干貨|如何通過<b class='flag-5'>NETCONF</b>配置RELYUM TSN SWITCH

    虹科干貨|如何通過NETCONF配置RELYUM TSN SWITCH

    以太網(wǎng)端口和1個內(nèi)部端口的TSN橋,可與市場上的其他產(chǎn)品互操作。RELYUMTSNSWITCHQ通過NETCONF配置RELYUMTSNSWITCHA參考用戶手冊7
    的頭像 發(fā)表于 02-20 16:44 ?587次閱讀
    虹科干貨|如何通過<b class='flag-5'>NETCONF</b>配置RELYUM TSN SWITCH

    netconf協(xié)議是什么?netconf協(xié)議的優(yōu)點(diǎn)

    NETCONF(Network Configuration Protocol)是一種基于XML的網(wǎng)絡(luò)管理協(xié)議,提供了一套管理網(wǎng)絡(luò)設(shè)備的機(jī)制。用戶可以使用這套機(jī)制增加、修改、刪除網(wǎng)絡(luò)設(shè)備的配置,獲取
    的頭像 發(fā)表于 01-30 14:27 ?1907次閱讀

    美國ITC對NETCONF網(wǎng)絡(luò)設(shè)備啟動337調(diào)查

    此前,美國澤西市Optimum通信服務(wù)有限公司于2024年1月19日向ITC提交投訴,其主要觀點(diǎn)認(rèn)為,相關(guān)產(chǎn)品的出口、進(jìn)口以及在美銷售過程中存在侵權(quán)行為(涉嫌侵犯美國注冊專利號10,567,474、10,848,546)
    的頭像 發(fā)表于 02-28 16:46 ?943次閱讀