tl;dr
今天與同事交流舟肉,提到了一個(gè)特別有意思的問(wèn)題修噪,有了SNMP(可以做設(shè)備配置,而且兼容的廠商還足夠多)路媚,為什么還需要NETCONF黄琼?值得思考,所以整理出這個(gè)文章整慎,從發(fā)展的歷程以及各階段面臨的問(wèn)題分析原因脏款。
通信協(xié)議變遷
SNMP最早由IETF在20世紀(jì)80年代晚期(1980s)開(kāi)發(fā)围苫,一直被用來(lái)做為網(wǎng)絡(luò)設(shè)備的監(jiān)控(如告警、性能管理)撤师,并不用來(lái)做配置剂府。
性能管理后來(lái)也不用SNMP了,是因?yàn)榫W(wǎng)絡(luò)設(shè)備的處理數(shù)據(jù)量越來(lái)越大剃盾,設(shè)備就需要一些更輕量級(jí)的的協(xié)議來(lái)專(zhuān)注于對(duì)設(shè)備性能進(jìn)行統(tǒng)計(jì)分析腺占,Cisco最早提出的Netflow來(lái)解決這個(gè)問(wèn)題,并最終行成標(biāo)準(zhǔn)痒谴。
隨著網(wǎng)絡(luò)設(shè)備數(shù)量的增加衰伯,網(wǎng)絡(luò)管理員也越來(lái)越需要批量對(duì)設(shè)備的管理,這時(shí)候主要的手段是CLI Sciprt闰歪,因?yàn)楫吘惯@個(gè)是人類(lèi)可以讀懂的嚎研,方便操作。不像SNMP是BER編碼的库倘。而且,核心問(wèn)題是很多設(shè)備廠家提供的SNMP MIB庫(kù)也不能實(shí)現(xiàn)完全的設(shè)備配置论矾。
SNMP不能實(shí)現(xiàn)完全設(shè)備管理教翩,CLI大家也慢慢發(fā)現(xiàn)可用性也不太好,因?yàn)槠洳淮_定性贪壳,輸出內(nèi)容可讀性饱亿、可處理性也不高。這時(shí)候急需一套新的配置協(xié)議闰靴,Juniper最早提出來(lái)的基于XML的管理方案彪笼,并提交給IETF,并最終推動(dòng)于2013年5月行成了現(xiàn)在的NETCONF協(xié)議蚂且。
數(shù)據(jù)編碼語(yǔ)言變遷
數(shù)據(jù)編碼語(yǔ)言作用:
Data model: Describes the data, its constraints. A.k.a., Schema E.g., address may consist of street, state, zip within 50 states. 1 Brookings Dr., Saint Louis, MO 63130 is an instance.
SNMP的編碼語(yǔ)言(Data Modeling Language)是SMI(Structure of Management Information)配猫,SMI是基于ASN.1構(gòu)建的,主版本是SMIv2杏死。20世紀(jì)90年代末泵肄,SMIng被提出,用于將編碼語(yǔ)言與SNMP協(xié)議解耦淑翼,讓SMIng可以更容易的學(xué)習(xí)腐巢,以及更方便的被Parsor程序讀取。但SMIng后來(lái)沒(méi)有在IETF成功發(fā)展玄括。
NETCONF協(xié)議誕生后冯丙,也同樣需要一個(gè)編碼語(yǔ)言,IETF NETMOD小組基于SMIng構(gòu)建了YANG遭京,使用XML建立數(shù)據(jù)模型胃惜。
YANG全稱(chēng):Yet Another Next Generation data modeling language
YANG使用XML做為其數(shù)據(jù)模型风宁,但是我們?cè)趯?xiě)YANG的描述時(shí),是采用一種比較容易讀寫(xiě)的方式蛹疯。在數(shù)據(jù)傳輸前戒财,其需要通過(guò)轉(zhuǎn)換成YIN Module的XML語(yǔ)言(無(wú)損轉(zhuǎn)換),才能被程序開(kāi)發(fā)者廣泛的編程調(diào)用捺弦。
參考URL: