
За повезане чланке које сам поделио о аутоматизацији мреже, погледајте каталог „НетДевОпс од нуле“
Последњих година, уз континуирани развој глобалне области рачунарства у облаку и континуирани раст пословања, мрежна технологија је такође наставила да се развија, а појавила се и СДН технологија. Од првобитне основне идеје о раздвајању прослеђивања и контроле засноване на Опенфлов-у, људи настављају да се шире. У проширењу СДН-а, људи тренутно могу постићи консензус да Опенфлов више није неопходан услов (али раздвајање прослеђивања и контроле је још увек основни услов), а програмирање мреже је полако постало један од важних критеријума за мерење СДН архитектуре.
Програмабилне операције традиционалне мрежне опреме су углавном засноване на ЦЛИ и СНМП протоколима. Било да се ради о скриптама или софтверу за управљање мрежом, сви су развијени на овој основи да би се постигла широка лепеза програмирања мреже о којој ћемо данас говорити. способности, чиме се остварује аутоматизација многих сценарија. Неки уређаји подржавају конфигурацију неких веб интерфејса и замену целокупне конфигурације путем кмл-а. Они су веома ретки и неће бити детаљно описани у овом чланку.
ЦЛИ
ЦЛИ (Интерфејс командне линије) остварује интеракцију човека и рачунара преко командне линије. То је неопходна вештина за мрежне раднике. Људи отварају софтвер ССХ или Телнет на уређају сваки дан, затим налепе конфигурацију, сачувају је и ступе на снагу. Једног дана, људи су се уморили од овакве врсте понављања и користили су програм за аутоматско генерисање конфигурационих скрипти, пријављивање на уређај у серијама и издавање конфигурација да би ступиле на снагу, остварујући аутоматизацију. Ово је метод који се може програмирати у мрежи. Хајде да причамо о предностима, које су веома у складу са људским размишљањима, идејама и постојећим техничким системима. Али на крају, овај приступ фаворизује људе у односу на мрежне уређаје. Има следеће недостатке:
-Постоје огромне разлике у командним сетовима између произвођача. Не само произвођачи, већ и различите верзије софтвера истог модела могу имати веома различите разлике.
- Програмери морају бити упознати са скупом команди и како да га користе. Постоје безбедносни ризици на нивоу конфигурације. На пример, покретом руке, порт који сам желео да отворим претворио се у затварање порта...
-Не постоје обавезни захтеви за протоколе за пренос (ССХ и Телнет), а постоје и безбедносни ризици у производњи.
-Процес парсирања и генерисања конфигурација је изузетно компликован. У многим случајевима написана редовна правила могу бити само бесконачно блиска „истини“, али не и читавој „истини“.
-Не постоји трансакција, и конфигурација може делимично да ступи на снагу, а део не.
-Не постоји аутоматизовани механизам инспекције и потпуно зависи од људи. На пример, желим да тестирам да ли је генерисана скрипта исправна. Постоји начин, али је веома тежак и често тешко спровести лако.
-Немам појма о моделирању података
ЦЛИ је увек начин интеракције човека и рачунара. Он може дати мрежи одређене могућности програмирања кроз програме, али на крају крајева, то није метод који је инхерентно мрежно програмибилан. Под тренутним таласом рачунарства у облаку и СДН-а, није погодан за масовну аутоматизовану примену у мрежи, а његова програмабилност је ограничена. Аутсајдерима је тешко да схвате потешкоћу развоја.
СНМП
СНМП (СНМП, Симпле Нетворк Манагемент Протоцол), овај протокол може подржати системе за управљање мрежом за праћење да ли уређаји повезани на мрежу имају било какву ситуацију која изазива пажњу менаџмента. Састоји се од скупа стандарда за управљање мрежом, укључујући протокол слоја апликације, шему базе података и скуп објеката података.
За део садржаја на Википедији истичемо управљање мрежом, надгледање и објекте података. Користи се за управљање мрежом, може се конфигурисати и сакупљати и углавном се користи за надгледање. Има моделирање података за структурирање неких модула, карактеристика и података о статусу мрежне опреме. Углавном се користи за системе управљања мрежом (углавном за надзор). Онда хајде да причамо о његовим недостацима:
-Лоша читљивост. Преферира "машину" у човековој машини. Није читљив када се користи, а подаци о моделовању такође нису читљиви. Користи надскуп од АСН.1.
-Безбедност је ограничена. Постоје три верзије: в1, в2ц и в3, а безбедност се побољшава у низу. Међутим, најчешћи је в2ц, који има ограничену сигурност. Верзија в3 је веома безбедна по дизајну, али није универзална. . .
-Не постоји механизам за прављење резервних копија, опоравак или враћање. Имамо и схов рун и друге методе за прављење резервне копије командне линије, али снмп. . .
-Врло мало пише. Читајте пуно, пишите мало, углавном се користи за праћење.
- Ставке података које се могу прикупити су ограничене, а конфигурација целог уређаја се не може добити. Много пута откријемо да можемо користити цли да га прикупимо, али не можемо користити снмп да га прикупимо.
-Постоји уско грло у перформансама. Горња граница прикупљених података је 64К, а грануларност прикупљања је превелика. У великим и сложеним мрежама то може потрајати неколико минута или дуже. Ово такође наглашава важну тачку. Наши захтеви за грануларност су такође веома строги. Много пута се надамо да ћемо сакупити саобраћај у луци сваких неколико секунди. У великим мрежама, мислим да је традиционални софтвер за управљање мрежом... Да проширимо још једну реченицу, тренутни метод је телеметрија (као што је гРПЦ) која може да постигне ниво микросекунде, а неки захтевају комбинацију софтвера и хардвера. Још није популарно, али у будућности мора бити тренд. Што се тиче тога када ће то доћи у будућности…
-Од свог рођења, СНМП се увелико користи у области надгледања мреже за добијање података за праћење. Недостатак и сложеност могућности конфигурације довели су до тога да се оне не користе у конфигурацији мреже. Мрежа која се може програмирати само за читање.
Нетцонф протокол и ИАНГ модел
Суочавајући се са следећом генерацијом мрежа, какви су нам протоколи за управљање мрежом потребни да бисмо боље реализовали програмабилност мреже и побољшали ниво аутоматизације?
ИЕТФ је предложио следеће идеје у РФЦ3535 2002. (у ствари их има 33. На основу онлајн информација и знања аутора, написао сам следеће идеје):
1. Постоји програмабилни интерфејс за мрежну конфигурацију
2. Иста конфигурација се може користити међу произвођачима и моделима
3. Потреба да се обједини језик моделирања са добром читљивошћу
4. Комплетна провера грешака и функције опоравка
5. Трансакциони
Ако имате идеју, само је спроведите. 2006. ИЕТФ је предложио Нетцонф протокол, који је решио проблеме које је покренуо РФЦ3535. Почетни Нетцонф је само одредио основни оквир и операције протокола и дефинисао решења која су узела у обзир неке проблеме РФЦ3535. Није предвиђао јединствен језик моделирања. Стога је опрема неких раних произвођача подржавала само неке основне операције Нетцонф-а и није користила обједињени доњи слој. Језик моделирања података.
РФЦ6020 је објављен 2010. године, предлажући језик моделирања ИАНГ модела и метод његовог комбиновања са НЕТЦОНФ-ом. Једна дефиниција је језик за моделирање података који обједињује основну логику ресурса између произвођача, а друга дефиниција је јединствени скуп команди за операције сваког произвођача над конфигурационим подацима и подацима о статусу. Инстанце података које креира ИАНГ модел су умотане у Нетцонф протокол. Пренос, ова два се комбинују један са другим да би се изградио нови сет универзалних мрежних програмабилних интерфејса за нову еру заснованих на ИАНГ моделу и вођених Нетцонф протоколом.
После 2016, Нетцонф протокол је блиско интегрисан са ИАНГ моделом и постао је популаран. До сада, када погледамо неке софтверске аспекте архитектуре СДН, чули смо ова два термина мање-више.
ИАНГ и Нетцонф, један је статичан, а други динамичан, баш као јин и јанг. Њих двојица су извели мрежни програмабилни свет следеће ере. (Када погледамо ИАНГ складиште на гитхуб-у, такође ћемо открити да је његова икона Таи Цхи, а веза између његовог имена и „Ианг“ донекле открива дизајнерске идеје оригиналног дизајнера).
Затим ћемо укратко говорити о ИАНГ моделу и Нетцонф протоколу. Хајде да прво разговарамо о језику за моделирање података ИАНГ да видимо како он описује дигиталног близанца овог мрежног света.
ИАНГ Модел
У документу РФЦ6020, почетно поглавље јасно каже, ИАНГ, језик за моделирање података за протокол мрежне конфигурације. То је скраћеница од Иет Анотхер Нект Генератион (Ианг) Дата Моделинг Лангуаге. То је језик моделирања који се користи за описивање мрежних концепата.
Подржава дефиниције листа, речника и још сложенијих структура података, подржава ограничења, набрајања, увоз референци, управљање верзијама и просторе имена. Због простора даћемо кратко објашњење. За детаљне информације можете погледати:
Може врло једноставно описати овај мрежни уређај на структурираном језику. На пример, за дефиницију порта:
Као професионално особље за рад и одржавање, са мало основа мреже и мало основа програмирања, можете релативно јасно разумети дефиницију порта. То је структура листе и може бити вишеструка. Један од његових атрибута је име интерфејса (такође кључ). , јединствени, непоновљиви), као и атрибут брзине и атрибут дуплекса, а оба су стрингови.
Многи атрибути мрежног уређаја су описани ИАНГ моделом, укључујући статус конфигурације и радни статус.
На овај начин, ИАНГ модел описује онлајн свет користећи структурирани језик. Ако сте заинтересовани, можете прочитати горњи интернет блог пост, који има веома детаљан опис.
Може се врло добро конвертовати у КСМЛ податке и умотати у Нетцонф протокол за пренос (објаснићемо то касније):

Истовремено, како би се изједначиле разлике између добављача, Опенцонфиг, на челу са Гуглом, је стандардизовао модел података. Са званичне веб странице видимо слоган „Управљање мрежом вођено од стране добављача, дизајнирано од стране корисника“, који су осмислили корисници и на више платформи. Мрежно програмирање засновано на заједничким добављачима, моделу (хајде да то прво преведемо на овај начин). Једноставно речено, то је да се моделирање између различитих произвођача учини исто, тако да када конфигуришете одређене податке, не морате да прегледате приватни јанг модел сваког произвођача један по један. Али Интернет увек има приватне протоколе, а различити произвођачи ће увек креирати нове и боље приватне протоколе за „боље корисничко искуство“ и „бољу пословну стратегију“ (ово је заиста првобитни грех произвођача мрежа). Слика приказује неке од најчешће коришћених имплементација опенцонфиг ианг модела.


Судећи по слици, мислим да их има доста, а уобичајене конфигурације су релативно комплетне. Али у пракси зависи од тога да ли произвођач подржава и ове јанг моделе. Неки уређаји виших верзија одређене теме су у основи подржани. Домаће још нисам ближе погледао.
Мреже не могу бити потпуно исте. За инжењера који се бави развојем рада и одржавања мреже, срећа је да може да постигне исти циљ!
опенцонфиг се може наћи на хттпс://гитхуб.цом/опенцонфиг/публиц/трее/мастер/релеасе/моделс
Приватне моделе јанга можете пронаћи на разним званичним веб локацијама.
Нетцонф протокол
После разговора о ианг моделу, хајде да причамо о Нетцонф протоколу. Јанг модел дефинише дигитални опис мрежног света, а Нетцонф дефинише аквизицију (добијање) и прилагођавање (конфигурисање) података.
Нетцонф инкапсулира податке света описане ианг моделом да би се реализовало управљање мрежним светом.

Ианг подаци се инкапсулирају у кмл, а затим се њима управља преко Нетцонф протокола. То је протокол са сјајном слојевитом идејом, која описује неке детаље протокола на хијерархијски начин. Погледајмо слику изнад.
-Пренос: Нетцонф се преноси преко ССХ протокола, оријентисан је на везу и има безбедносне гаранције.
- Порука: Упутите даљински позив мрежном уређају преко РПЦ-а, менаџер мреже издаје рпц захтев, а мрежни уређај наставља са рпц-одговором.
-Операција: Ово је душа Нетцонф-а. Подржава гет (подаци о конфигурацији и покретању), гет-цонфиг (добијање података о конфигурацији, а уређај може имати више података о конфигурацији, један покренут, један покретан, више кандидата), едит -цонфиг (конфигуришите параметре мрежног уређаја, подржава додавање, брисање и измена), делете-цонфиг, цопи-цонфиг (копирајте конфигурацију на одредиште, одредиште може бити фтп, датотека или покренута конфигурација, итд.), лоцк\унлоцк (закључајте конфигурацију да бисте спречили конфликте у конфигурацији или грешке узроковане вишепроцесне операције) и тако даље.
-Подаци: подаци су ианг подаци умотани у кмл. Као и порт који смо описали горе, структуриране податке је лако програмирати. Користи се за описивање података које треба конфигурисати, избрисати или добити.
Ово су четири слоја Нетцонф-а. Контролни крај и мрежни уређај комуницирају преко Нетцонф-а, преко традиционалног ссх протокола, користећи Нетцонф подсистем, а подразумевани порт је 830. Као што је приказано у наставку:

Ова слика показује интеракцију коришћењем сировог ссх-а, али у ствари ми имплементирамо овај процес кроз програмирање. Касније ћу вам демонстрирати метод имплементације програмирања.
Нетцонф конфигурише мрежне уређаје. Процес интеракције је отприлике следећи:

Ова слика је тако ниска, такође можете видети да сам је ја нацртао... Моје разумевање Нетцонф-а је као горе. Мислим да на Интернету има много слика које нису тачне и многа понашања агента сервера нису тачна. То је оно што интуитивно осећам када се пријавим на уређај, и наравно одговара један на један са званичном документацијом.
Можемо погледати неке Нетцонф примере:
Здраво, направи везу.

Видели смо неколико кључних речи, Нетцонф верзију, подржани ИАНГ модел, ИД сесије. У исто време, хелло означава у ком именском простору радимо. У овом случају, то је одговарајућа верзија Нетцонф-а.
Преузмите конфигурацију

Један параметар гет-цофиг-а је извор, где се добијају конфигурациони подаци (покретање, покретање или друго). Други параметар је филтер, односно који подаци се добијају из модела података који је описан којим јанг моделом. Ово одговара могућностима које је првобитно послао мрежни уређај. Ако успе, биће враћени одговарајући конфигурациони подаци.
Набавите конфигурационе или текуће податке

Слично гет-цонфиг, али оно што се добија је конфигурација покретања (лично разумевање) или покретање података. Филтер се може одредити.
Копирај конфигурацију

Операција копирања има два параметра, извор и одредиште. Успешан одговор је са ознаком ок.
Уредите конфигурацију

Када уређујете конфигурацију, наведите ставку података коју желите да уредите, именски простор могућности и одговарајућу ознаку. На пример, ово је за конфигурисање дхцп-а, који је описан ианг моделом хттп://таил-ф.цом/нс/екампле/дхцп.
Грациозно затворите сесију

То је ова врста поруке која се преноси напред-назад у ссх. Ми само издвајамо део поруке да бисмо свима олакшали разумевање.
Затим једноставно додајте неки садржај за референцу.
-Нетцонф је заснован на сесији, а сваки успех ће имати ИД сесије.
-Сваки захтев има ИД поруке, све док се постепено повећава
-Конфигурација података се може закључати, искључити и управљати кроз закључавање.
-Нетцонф је трансакцијски, а операције су или све имплементиране или ниједне. Истовремено, према документацији званичног сајта, ова трансакција је за конфигурацију Н мрежних уређаја, односно једнократни конфигурациони полиморфизам може да подржи трансакционалност. Али то још нисам урадио…
-Нетцонф подржава претплату. Што се тиче перформанси уређаја, ред величине је око 5 сесија. Могу се претплатити на одређену ставку података и уређај ће ме обавестити када се промени.
-Способност, овако ја то разумем. Мрежни уређај шаље верзију Нетцонф-а и ИАНГ модела, а контролни терминал шаље верзију Нетцонф-а. Тек када се верзија Нетцонф-а поклопи са њима, можемо наставити. Ово је мој интуитивни осећај. Сваки савет је добродошао.
-Операције као што је гет едит ће одредити податке које треба променити, а који се могу филтрирати помоћу филтера.
-цопи-цонфиг подржава копирање комплетног скупа конфигурација са неког места на неко друго. Негде може бити ФТП датотека, конфигурације покретања, покретања и кандидата на уређају.
-Нетцонф такође подржава верификацију конфигурације, користећи операцију валидације.
Овај чланак се и даље нада популаризацији науке и нећу улазити у детаље. Можете прочитати релевантне протоколе РФЦ-а, који заправо није много дугачак.
У пракси, на основу неког софтвера отвореног кода, као што је Питхон-ов нццлиент, можемо лако аутоматски конфигурисати мрежне уређаје и постићи програмирање мреже. Ово је мисија Нетцонф и ИАНГ модела.
Мрежно особље чита добро форматиране дефиниције ИАНГ модела и користи релевантне програмске језике за обављање програмабилних операција на мрежним уређајима на основу операција које дефинише Нетцонф. На овај начин се кује пут до програмирања мреже.
Хајде да проширимо и замислимо да је ИАНГ модел дефинисао структуру података мрежног уређаја. Можемо њиме управљати преко Нетцонф-а. Може ли се њиме управљати и преко других протокола?
Одговор је да. У ствари, многи други протоколи су изведени из Нетцонф-а, као што је РЕСТЦонф. Како је приказано испод,

ИАНГ модел (јавни и изворни) дефинише структуру података, изнад које се налазе нови протоколи за управљање мрежом, Нетцонф, РЕСТЦон, гРПЦ, итд. На овај начин можемо да управљамо мрежним уређајима преко РЕСТЦонф базираног на ХТТП РЕСТфул АПИ-ју, можемо да управљамо и мрежом уређаја преко Нетцонф-а заснованог на ССХ-у, или можемо да управљамо мрежним уређајима преко гРПЦ-а заснованог на ХТТП2.0. Сви су засновани на ИАНГ-у са добром структуром података. Моделирајте, напишите одговарајуће податке, инкапсулирајте их у кмл или јсон да бисте програмирали мрежне уређаје. Ово је будућност програмирања мреже. Да будемо прецизни, то је програм вођен моделом, програмирање мреже засновано на моделу. Мрежни инжењери се постепено фокусирају на параметре уређаја уместо на скуп команди и конфигуришу мрежне параметре читањем одговарајућег модела података.
На крају пишем, зашто да отварам овај јавни налог. Студирао сам информатику и технологију када сам био у школи. По уласку на радно место, бавио сам се радом мреже и одржавањем. Размишљајући о томе, разлог зашто сам био подељен у тимове може бити зато што сам био дипломирани студент на Институту за истраживање мрежних технологија (приручник смешно). Од самог почетка био сам укључен у мрежне операције. У каснијој фази рада и одржавања коришћени су алати за поједностављење рада и побољшање ефикасности на основу ЦЛИ. Касније су алати постепено развијени у БС-структуриране веб апликације. Стално су били изложени новим технологијама и наставили да обогаћују нове функције.
На срећу, ухватили су корак са развојем технологије отвореног кода и СДН-а, а ја сам постепено прешао на НетДевОпс рад и користио своје вештине програмирања да побољшам способности рада и одржавања тима. Такође сам уживао у писању ове линије кода. Како писање напредује, постепено се открива да би НетДевОпс требало да буде вештина коју би сваки мрежни инжењер требало да поседује у будућности (сви доливају уље на ватру), тако да могу да постигну и планирање на високом нивоу и брзу имплементацију. Осврћући се на неке информације на интернету, да будем искрен, у Кини је врло мало, а домаћа атмосфера није баш јака. Многи домаћи софтвери су базирани на старом ЦЛИ-у и снмп-у, а сви и даље користе текстуалне алате и ССХ алате за рад. Тако да се надам да јамогу научити друге како да пецају, поделим своје искуство (јаме) и вештине са више инжењера за рад и одржавање мреже, и дајем све од себе. Ксиао Цху је рекао да можете научити нешто да смањите своје радно оптерећење, а фокусирањем на далеку будућност, рад и одржавање домаће мреже могу заиста еволуирати ка аутоматизацији.
У будућности ћу снимити неке видео записе и написати неке чланке. Стварно је напорно писати документ. Можете се претплатити, прикупити, кликнути на лајк и гледати.
додатак: Нетцонф уобичајене операције

Дизајн ДВДМ ОТН решења и понуда трошкова, повежите се са мном, Тејлор Хуанг















































