{"id":35973,"date":"2019-10-31T22:08:54","date_gmt":"2019-10-31T19:08:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/avtomatizatsiya-dlya-samyh-malenkih-chast-pervaya-kotoraya-posle-nulevoj-virtualizatsiya-seti\/"},"modified":"2019-10-31T22:08:54","modified_gmt":"2019-10-31T19:08:54","slug":"avtomatizatsiya-dlya-samyh-malenkih-chast-pervaya-kotoraya-posle-nulevoj-virtualizatsiya-seti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-pervaya-kotoraya-posle-nulevoj-virtualizatsiya-seti","title":{"rendered":"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/453516\/\">den f\u00f6reg\u00e5ende utg\u00e5van<\/a><\/noindex> Jag har beskrivit en ram f\u00f6r n\u00e4tverksautomation. M\u00e5nga har kommenterat att den h\u00e4r f\u00f6rsta ansatsen till problemet redan har klargjort vissa fr\u00e5gor. Och det gl\u00e4djer mig mycket, f\u00f6r v\u00e5rt m\u00e5l i cykeln \u00e4r inte att bara t\u00e4cka Ansible med Python-skript, utan att bygga ett system.<\/p>\n<p>Den h\u00e4r ramen s\u00e4tter ordning p\u00e5 hur vi ska hantera fr\u00e5gan.<br \/>\nOch n\u00e4tverksvirtualisering, som detta avsnitt handlar om, passar inte riktigt in i temat ADMS d\u00e4r vi behandlar automation. <\/p>\n<p>Men l\u00e5t oss titta p\u00e5 det ur ett annat perspektiv.<\/p>\n<p>M\u00e5nga tj\u00e4nster anv\u00e4nder redan l\u00e4nge ett och samma n\u00e4tverk. F\u00f6r en teleoperat\u00f6r handlar det om 2G, 3G, LTE, bredbandsinternet och B2B, exempelvis. I fallet med datacenter: uppkoppling f\u00f6r olika kunder, internet, blocklagring, objektlagring.<\/p>\n<p>Och alla tj\u00e4nster kr\u00e4ver isolering fr\u00e5n varandra. S\u00e5 overlay-n\u00e4tverk kom till.<\/p>\n<p>Och alla tj\u00e4nster vill inte v\u00e4nta p\u00e5 att en m\u00e4nniska ska st\u00e4lla in dem manuellt. S\u00e5 orkestratorer och SDN kom till.<\/p>\n<p>Den f\u00f6rsta ansatsen till systematisk n\u00e4tverksautomation, eller snarare en del av den, har l\u00e4nge gjorts och implementerats p\u00e5 m\u00e5nga st\u00e4llen: VMWare, OpenStack, Google Compute Cloud, AWS, Facebook.<\/p>\n<p>Det \u00e4r det vi ska granska idag. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/1\/kdpv.jpg\"><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/e0bf73b7b71c383c5526da48a6f6b776.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Inneh\u00e5ll<\/h1>\n<p><\/p>\n<ul>\n<li><b>Orsaker<\/b><\/li>\n<li><b>Terminologi<\/b><\/li>\n<li><b>Underlay \u2014 fysisk n\u00e4tverk<\/b><\/li>\n<li><b>Overlay \u2014 virtuell n\u00e4tverk<\/b>\n<ul>\n<li>Overlay \u0441 ToR&#8217;a<\/li>\n<li>Overlay fr\u00e5n v\u00e4rd<\/li>\n<li>Exempel med Tungsten Fabric\n<ul>\n<li>Kommunikation inom en fysisk maskin<\/li>\n<li>Kommunikation mellan VM:s bel\u00e4gna p\u00e5 olika fysiska maskiner<\/li>\n<li>Utg\u00e5ng till den yttre v\u00e4rlden<\/li>\n<\/ul>\n<p>\n <\/li>\n<\/ul>\n<p>\n <\/li>\n<li><b>FAQ<\/b><\/li>\n<li><b>Slutsats<\/b><\/li>\n<li><b>Nyttiga l\u00e4nkar<\/b><\/li>\n<\/ul>\n<p><\/p>\n<h1>Orsaker<\/h1>\n<p>\nOch eftersom vi talar om detta, b\u00f6r vi n\u00e4mna f\u00f6ruts\u00e4ttningarna f\u00f6r n\u00e4tverksvirtualisering. Egentligen b\u00f6rjade denna process inte ig\u00e5r. <\/p>\n<p>Du har kanske h\u00f6rt flera g\u00e5nger att n\u00e4tverket alltid har varit den mest tr\u00f6ga delen av vilket system som helst. Och det \u00e4r sant i alla avseenden. N\u00e4tverket \u00e4r basen som allt vilar p\u00e5, och att g\u00f6ra f\u00f6r\u00e4ndringar p\u00e5 det \u00e4r ganska sv\u00e5rt \u2014 tj\u00e4nster t\u00e5l inte att n\u00e4tverket \u00e4r nere. Ofta kan avvecklingen av en nod p\u00e5verka en stor del av applikationerna och p\u00e5verka m\u00e5nga kunder. Delvis d\u00e4rf\u00f6r kan n\u00e4tverksteamet motst\u00e5 alla f\u00f6r\u00e4ndringar \u2014 f\u00f6r just nu fungerar det p\u00e5 n\u00e5got s\u00e4tt (<i>vi kanske inte ens vet hur<\/i>), och nu m\u00e5ste n\u00e5got nytt st\u00e4llas in, och det \u00e4r oklart hur det kommer att p\u00e5verka n\u00e4tverket.<\/p>\n<p>F\u00f6r att slippa v\u00e4nta p\u00e5 att n\u00e4tverksadministrat\u00f6rer ska st\u00e4lla in VLAN och f\u00f6r att slippa specificera tj\u00e4nster p\u00e5 varje nod i n\u00e4tverket, kom m\u00e4nniskor p\u00e5 att anv\u00e4nda overlays \u2014 \u00f6verlagrade n\u00e4tverk \u2014 av vilka det finns ett stort antal: GRE, IPinIP, MPLS, MPLS L2\/L3VPN, VXLAN, GENEVE, MPLSoverUDP, MPLSoverGRE etc.<\/p>\n<p>Deras attraktion ligger i tv\u00e5 enkla saker:<\/p>\n<ul>\n<li>Endast slutnoderna konfigureras \u2014 transitnoderna beh\u00f6ver man inte r\u00f6ra. Detta p\u00e5skyndar processen avsev\u00e4rt och ibland m\u00f6jligg\u00f6r det att helt utesluta avdelningen f\u00f6r n\u00e4tverksinfrastruktur fr\u00e5n processen att inf\u00f6ra nya tj\u00e4nster.<\/li>\n<li>Belastningen d\u00f6ljs djupt inne i rubrikerna \u2014 transitnoderna beh\u00f6ver inte veta n\u00e5got om den, om adressering p\u00e5 v\u00e4rdarna, rutterna i det \u00f6verlagrade n\u00e4tverket. Det betyder att man beh\u00f6ver lagra mindre information i tabellerna, vilket g\u00f6r att man kan v\u00e4lja enklare\/billigare enheter.<\/li>\n<\/ul>\n<p>\nI detta n\u00e5got ofullst\u00e4ndiga avsnitt planerar jag inte att g\u00e5 igenom alla m\u00f6jliga teknologier, utan snarare beskriva ramverket f\u00f6r hur \u00f6verlagrade n\u00e4tverk fungerar i datacenter.<\/p>\n<p>Hela serien kommer att beskriva ett datacenter som best\u00e5r av rader av enhetliga sk\u00e5p, d\u00e4r likadan serverutrustning \u00e4r installerad. <\/p>\n<p>P\u00e5 denna utrustning k\u00f6rs virtuella maskiner\/kontainrar\/serverl\u00f6sningar som implementerar tj\u00e4nster.<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/a6863eb2804a298304d1e93daecf90d9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h1>Terminologi<\/h1>\n<p>\nI cykeln <b>servern<\/b> kommer jag att kalla programmet som implementerar serverdelen av klient-serverkommunikationen.<\/p>\n<p>De fysiska maskinerna i sk\u00e5pen kallar vi servrar <b>inte<\/b> kommer vi att.<\/p>\n<p><b>Den fysiska maskinen<\/b> \u00e4r en x86-dator som \u00e4r installerad i ett sk\u00e5p. Den mest anv\u00e4nda termen <b>v\u00e4rd<\/b>. \u0422\u0430\u043a \u0438 \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0435\u0451 &#171;<b>maskin<\/b>&#187; \u0438\u043b\u0438 <b>v\u00e4rd<\/b>.<\/p>\n<p><b>Hypervisor<\/b> \u2014 en applikation som k\u00f6rs p\u00e5 den fysiska maskinen och emulerar de fysiska resurserna d\u00e4r virtuella maskiner k\u00f6rs. I litteraturen och p\u00e5 n\u00e4tet anv\u00e4nds ibland ordet \"hypervisor\" som en synonym till \"v\u00e4rd\".<\/p>\n<p><b>Virtuell maskin<\/b> \u2014 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043f\u043e\u0432\u0435\u0440\u0445 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430. \u0414\u043b\u044f \u043d\u0430\u0441 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0432\u0430\u0436\u043d\u043e, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u043b\u0438 \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u0411\u0443\u0434\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e &#171;<b>VM<\/b>\u00ab<\/p>\n<p><b>Tenants<\/b> \u00e4r ett brett begrepp som jag i denna artikel definierar som en separat tj\u00e4nst eller en separat kund.<\/p>\n<p><b>Multitenans<\/b> eller multihyra \u2014 anv\u00e4ndning av samma applikation av olika kunder\/tj\u00e4nster. I detta fall uppn\u00e5s isoleringen mellan kunderna genom applikationens arkitektur, inte genom separat k\u00f6rda instanser.<\/p>\n<p><b>ToR \u2014 Top of the Rack-switch<\/b> \u2014 en rackmonterad switch som alla fysiska maskiner \u00e4r anslutna till.<\/p>\n<blockquote><p> F\u00f6rutom ToR-topologin praktiserar olika leverant\u00f6rer End of Row (EoR) eller Middle of Row (\u00e4ven om det senare \u00e4r en s\u00e4llsynthet och jag har inte st\u00f6tt p\u00e5 akronymen MoR).\n<\/p><\/blockquote>\n<p> <b>Underlay-n\u00e4tverk<\/b> eller underliggande n\u00e4tverk \u2014 den fysiska n\u00e4tverksinfrastrukturen: switches, routrar, kablar.<\/p>\n<p><b>Overlay-n\u00e4tverk<\/b> eller \u00f6versiktsn\u00e4tverk \u2014 ett virtuellt n\u00e4tverk av tunnlar som fungerar ovanp\u00e5 den fysiska infrastrukturen.<\/p>\n<p><b>L3-fabrik eller IP-fabrik<\/b> \u2014 en fantastisk uppfinning som g\u00f6r att man slipper repetera STP under intervjuer och inte beh\u00f6ver l\u00e4ra sig TRILL. En koncept d\u00e4r hela n\u00e4tverket \u00e4nda upp till accessniv\u00e5n \u00e4r uteslutande L3, utan VLAN och d\u00e4rmed enorma, uttdragna broadcast-dom\u00e4ner. Vi kommer att utforska ursprunget till termen 'fabrik' i n\u00e4sta del.<\/p>\n<p><b>SDN<\/b> \u2014 Software Defined Network. Knappast beh\u00f6ver n\u00e5gon presentation. En metod f\u00f6r n\u00e4tverksf\u00f6rvaltning d\u00e4r f\u00f6r\u00e4ndringar i n\u00e4tverket g\u00f6rs av programvara snarare \u00e4n m\u00e4nsklig hand. Betyder vanligtvis att kontrollplanet placeras utanf\u00f6r de slutliga n\u00e4tverksenheterna p\u00e5 en controller.<\/p>\n<p><b>NFV<\/b> \u2014 Network Function Virtualization \u2014 virtualisering av n\u00e4tverksenheter, vilket inneb\u00e4r att vissa n\u00e4tverksfunktioner kan k\u00f6ras i form av virtuella maskiner eller containrar f\u00f6r att p\u00e5skynda implementeringen av nya tj\u00e4nster, organisera Service Chaining och f\u00f6renkla horisontell skalbarhet.<\/p>\n<p><b>VNF<\/b> \u2014 Virtual Network Function. En specifik virtuell enhet: router, switch, brandv\u00e4gg, NAT, IPS\/IDS m.m.<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/971b6a28a9caab5f3a7067ce4d25749c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<blockquote><p> Jag f\u00f6renklar medvetet beskrivningen till en specifik implementation f\u00f6r att inte f\u00f6rvirra l\u00e4saren f\u00f6r mycket. F\u00f6r en mer djupg\u00e5ende l\u00e4sning h\u00e4nvisar jag till sektionen <noindex><a rel=\"nofollow\" href=\"#LINKS\">L\u00e4nkar<\/a><\/noindex>. Dessutom lovar Roma Gorge, som kritiserar denna artikel f\u00f6r felaktigheter, att skriva en separat utg\u00e5va om virtualiseringsteknologier f\u00f6r servrar och n\u00e4tverk med st\u00f6rre fokus p\u00e5 detaljer.<\/p><\/blockquote>\n<p>Majoriteten av dagens n\u00e4tverk kan tydligt delas in i tv\u00e5 delar: <\/p>\n<p><b>Underlay<\/b> \u2014 det fysiska n\u00e4tverket med en stabil konfiguration.<br \/>\n<b>Overlay<\/b> \u2014 en abstraktion ovanf\u00f6r Underlay f\u00f6r att isolera tenants. <\/p>\n<p>Detta g\u00e4ller b\u00e5de f\u00f6r datacenter (som vi kommer att granska i denna artikel) och f\u00f6r ISP (som vi inte kommer att granska, eftersom det redan har behandlats i <noindex><a rel=\"nofollow\" href=\"https:\/\/linkmeup.ru\/sdsm\">SDN<\/a><\/noindex>). Med f\u00f6retagsn\u00e4tverk \u00e4r situationen givetvis n\u00e5got annorlunda. <\/p>\n<p>Bild med fokus p\u00e5 n\u00e4tverket:<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/7b7dabc6d9f3b87c598346bf9195d568.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h1>Underlay<\/h1>\n<p>\nUnderlay \u00e4r ett fysiskt n\u00e4tverk: h\u00e5rdvaruswitchar och kablar. Enheter i underlayet vet hur de ska n\u00e5 de fysiska maskinerna.<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/776a77a3821fe79a7323947e0bdf67e8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet bygger p\u00e5 standardprotokoll och teknologier. Inte minst eftersom h\u00e5rdvaruenheterna fortfarande k\u00f6r p\u00e5 propriet\u00e4r programvara, som inte till\u00e5ter programmering av chip eller implementering av egna protokoll, vilket kr\u00e4ver kompatibilitet med andra leverant\u00f6rer och standardisering.<\/p>\n<blockquote><p>Men n\u00e5gon som Google kan till\u00e5ta sig att utveckla egna switchar och avst\u00e5 fr\u00e5n allm\u00e4nt accepterade protokoll. Men LAN_DC \u00e4r inte Google.\n<\/p><\/blockquote>\n<p> Underlay \u00e4ndras relativt s\u00e4llan, eftersom dess uppgift \u00e4r att ge grundl\u00e4ggande IP-koppling mellan fysiska maskiner. Underlayet vet ingenting om de tj\u00e4nster, kunder eller hyresg\u00e4ster som k\u00f6rs ovanp\u00e5 det; det beh\u00f6ver bara leverera paket fr\u00e5n en maskin till en annan.<br \/>\nEn Underlay kan se ut s\u00e5 h\u00e4r: <\/p>\n<ul>\n<li>IPv4+OSPF<\/li>\n<li>IPv6+ISIS+BGP+L3VPN<\/li>\n<li>L2+TRILL<\/li>\n<li>L2+STP<\/li>\n<\/ul>\n<p>\n\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f Underlay&#8217;\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c: CLI\/GUI\/NETCONF.<\/p>\n<p>Manuellt, med skript, propriet\u00e4ra verktyg.<\/p>\n<p>Mer om underlayen kommer att behandlas i n\u00e4sta artikel i serien.<\/p>\n<p><\/p>\n<h1>Overlay<\/h1>\n<p>\nOverlay \u00e4r ett virtuellt n\u00e4tverk av tunnlar som str\u00e4cker sig \u00f6ver Underlay, och den g\u00f6r det m\u00f6jligt f\u00f6r VM:ar fr\u00e5n en kund att kommunicera med varandra samtidigt som den erbjuder isolering fr\u00e5n andra kunder.<\/p>\n<p>Kundens data inkapslas i vissa tunneleringshuvuden f\u00f6r att skickas genom det gemensamma n\u00e4tverket.<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/3060bc4913c55c21b785083fbe0b603b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nS\u00e5 VM:ar fr\u00e5n en kund (av en tj\u00e4nst) kan kommunicera med varandra via Overlay, utan att veta vilken v\u00e4g paketen faktiskt tar. <\/p>\n<p>En Overlay kan se ut s\u00e5 h\u00e4r, som jag n\u00e4mnde tidigare:<\/p>\n<ul>\n<li>GRE-tunnel<\/li>\n<li>VXLAN<\/li>\n<li>EVPN<\/li>\n<li>L3VPN<\/li>\n<li>GENEVE<\/li>\n<\/ul>\n<p>\nOverlay&#8217;\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u0421 \u043d\u0435\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f, Control Plane \u0438 Data Plane \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u0435\u0439 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0427\u0443\u0442\u044c <noindex><a rel=\"nofollow\" href=\"#TF\">nedan<\/a><\/noindex> titta n\u00e4rmare p\u00e5 detta med exempel.<\/p>\n<p><b>Ja, det \u00e4r SDN i sin renaste form. <\/b><\/p>\n<p>Det finns tv\u00e5 principiellt olika angreppss\u00e4tt f\u00f6r att organisera ett Overlay-n\u00e4tverk:<\/p>\n<ol>\n<li>Overlay \u0441 ToR&#8217;a<\/li>\n<li>Overlay fr\u00e5n v\u00e4rd<\/li>\n<\/ol>\n<h2>Overlay \u0441 ToR&#8217;a<\/h2>\n<p>\nOverlay kan b\u00f6rja vid en accessswitch (ToR) som st\u00e5r i ett rack, som det g\u00f6rs exempelvis i en VXLAN-fabrik. <\/p>\n<p>Detta \u00e4r en tidtestad mekanism i ISP-n\u00e4t och alla leverant\u00f6rer av n\u00e4tverksutrustning st\u00f6djer det.<\/p>\n<p>Men i det h\u00e4r fallet m\u00e5ste ToR-switchar kunna separera olika tj\u00e4nster, och n\u00e4tverksadministrat\u00f6ren m\u00e5ste i viss utstr\u00e4ckning samarbeta med administrat\u00f6rerna f\u00f6r virtuella maskiner och g\u00f6ra \u00e4ndringar (\u00e4ven automatiskt) i enhetens konfiguration.<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/9a5fe4d4a0cbb7e5c3bbac82527c6a6a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nH\u00e4r h\u00e4nvisar jag l\u00e4saren till artikeln om <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/344326\/\">VxLAN p\u00e5 Habr\u00e9<\/a><\/noindex> v\u00e5r gamla v\u00e4n <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/bormoglotx\/\">@bormoglotx<\/a><\/noindex>.<br \/>\nI denna <noindex><a rel=\"nofollow\" href=\"https:\/\/www.enog.org\/wp-content\/uploads\/presentations\/enog-16\/18-Scaleway-P14-fabric-ENOG16.pdf\">presentationen fr\u00e5n ENOG<\/a><\/noindex> d\u00e4r metoderna f\u00f6r att bygga ett datacenter-n\u00e4t med en EVPN VXLAN-fabrik beskrivs i detalj. <\/p>\n<p>F\u00f6r en mer djupg\u00e5ende f\u00f6rst\u00e5else kan man l\u00e4sa Cisco-boken <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cisco.com\/c\/dam\/en\/us\/td\/docs\/switches\/datacenter\/nexus9000\/sw\/vxlan_evpn\/VXLAN_EVPN.pdf\">A Modern, Open, and Scalable Fabric: VXLAN EVPN<\/a><\/noindex>.<\/p>\n<blockquote><p> \u0417\u0430\u043c\u0435\u0447\u0443, \u0447\u0442\u043e VXLAN \u2014 \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u043e\u0434 \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u0438 \u0438 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u0446\u0438\u044f \u0442\u0443\u043d\u043d\u0435\u043b\u0435\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0435 \u043d\u0430 ToR&#8217;\u0435, \u0430 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435, \u043a\u0430\u043a \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 OpenStack&#8217;\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440.<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e, VXLAN-\u0444\u0430\u0431\u0440\u0438\u043a\u0430, \u0433\u0434\u0435 overlay \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043d\u0430 ToR&#8217;\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0443\u0441\u0442\u043e\u044f\u0432\u0448\u0438\u0445\u0441\u044f \u0434\u0438\u0437\u0430\u0439\u043d\u043e\u0432 \u043e\u0432\u0435\u0440\u043b\u0435\u0439\u043d\u043e\u0439 \u0441\u0435\u0442\u0438.\n<\/p><\/blockquote>\n<p><\/p>\n<h2>Overlay fr\u00e5n v\u00e4rd<\/h2>\n<p>\nEn annan metod \u00e4r att b\u00f6rja och terminera tunnlar p\u00e5 slutliga v\u00e4rdar.<br \/>\nI s\u00e5 fall f\u00f6rblir n\u00e4tverket (Underlay) s\u00e5 enkelt och statiskt som m\u00f6jligt.<br \/>\nOch v\u00e4rden g\u00f6r sj\u00e4lv alla n\u00f6dv\u00e4ndiga inkapslingar.<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/c9c2971369d1b3e5f026d6844afeb67f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00f6r detta kr\u00e4vs det sj\u00e4lvklart att ett speciellt program k\u00f6rs p\u00e5 v\u00e4rdarna, men det \u00e4r v\u00e4rt det. <\/p>\n<p>F\u00f6r det f\u00f6rsta \u00e4r det enklare att k\u00f6ra klienten p\u00e5 en Linux-maskin eller, ska vi s\u00e4ga, - \u00f6verhuvudtaget m\u00f6jligt - medan man f\u00f6rmodligen m\u00e5ste anv\u00e4nda propriet\u00e4ra SDN-l\u00f6sningar p\u00e5 switchen, vilket motverkar id\u00e9n om flera leverant\u00f6rer.<\/p>\n<p>\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, ToR-\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c, \u043a\u0430\u043a \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f Control Plane&#8217;\u0430, \u0442\u0430\u043a \u0438 Data Plane&#8217;\u0430. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u2014 \u0441 SDN-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u0435\u043c\u0443 \u0442\u043e\u0433\u0434\u0430 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0435\u0442\u0438\/ARP&#8217;\u044b \u0432\u0441\u0435\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u2014 \u0442\u043e\u0436\u0435 \u2014 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u0442\u044c IP-\u0430\u0434\u0440\u0435\u0441 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0447\u0442\u043e \u043a\u0440\u0430\u0442\u043d\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438\/\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>\nI ADSMs serie v\u00e4ljer jag metoden av overlay fr\u00e5n v\u00e4rden - h\u00e4r kommer vi endast att prata om den och vi kommer inte att \u00e5terkomma till VXLAN-fabriken.<\/p>\n<p>\n\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445. \u0418 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0434\u043e\u043f\u044b\u0442\u043d\u043e\u0433\u043e \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0451\u043c OpenSource&#8217;\u043d\u0443\u044e SDN \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 OpenContrail, \u043d\u044b\u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0443\u044e \u043a\u0430\u043a <noindex><a rel=\"nofollow\" href=\"https:\/\/tungsten.io\">Tungsten Fabric<\/a><\/noindex>.<\/p>\n<blockquote><p> I slutet av artikeln kommer jag att ge n\u00e5gra tankar om analogin med OpenFlow och OpenvSwitch.\n<\/p><\/blockquote>\n<p><\/p>\n<h2>Exempel med Tungsten Fabric<\/h2>\n<p>\nP\u00e5 varje fysisk maskin finns det <b>vRouter<\/b> \u2014 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u043d\u0430\u0435\u0442 \u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u043a \u043d\u0435\u043c\u0443 \u0441\u0435\u0442\u044f\u0445 \u0438 \u043a\u0430\u043a\u0438\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u043e\u043d\u0438 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u2014 \u043f\u043e \u0441\u0443\u0442\u0438 \u2014 PE-\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043e\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (\u0447\u0438\u0442\u0430\u0439 VRF). \u0418 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e vRouter \u0434\u0435\u043b\u0430\u0435\u0442 Overlay&#8217;\u043d\u043e\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p>Lite mer information om vRouter \u2014 i slutet av artikeln.<\/p>\n<p>\u041a\u0430\u0436\u0434\u0430\u044f \u0412\u041c, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0435, \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u0442\u0441\u044f \u0441 vRouter&#8217;\u043e\u043c \u044d\u0442\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0447\u0435\u0440\u0435\u0437 <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/TUN\/TAP\">TAP-gr\u00e4nssnittet<\/a><\/noindex>.<\/p>\n<p><b>TAP<\/b> \u2014 Terminal Access Point \u2014 ett virtuellt gr\u00e4nssnitt i Linux-k\u00e4rnan som m\u00f6jligg\u00f6r n\u00e4tverksinteraktion.<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/a6fa1b4370ba4e787303ae647a28f5ed.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0415\u0441\u043b\u0438 \u0437\u0430 vRouter&#8217;\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0442\u0435\u0439, \u0442\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u0442\u0441\u044f IP-\u0430\u0434\u0440\u0435\u0441 \u2014 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0448\u043b\u044e\u0437\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<br \/>\nAlla n\u00e4tverk f\u00f6r en kund placeras i en <b>VRF<\/b> (en tabell), olika \u2014 i olika.<br \/>\n<i>Jag kommer att p\u00e5peka h\u00e4r att inte allt \u00e4r s\u00e5 enkelt, och jag skickar den nyfikna l\u00e4saren till slutet av artikeln.<\/i>.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b vRouter&#8217;\u044b \u043c\u043e\u0433\u043b\u0438 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c, \u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0412\u041c, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u0437\u0430 \u043d\u0438\u043c\u0438, \u043e\u043d\u0438 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 <b>SDN-kontrollern<\/b>.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/1\/sdn-controller.png\"><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/8b133e10582dbde9c0670ad98c1840de.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>F\u00f6r att ta sig ut i den verkliga v\u00e4rlden finns det en utg\u00e5ngspunkt fr\u00e5n matrisen \u2014 en gateway f\u00f6r det virtuella n\u00e4tverket. <b>VNGW<\/b> \u2014 Virtual Network GateWay (<i>termen \u00e4r min<\/i>).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/1\/vngw.png\"><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/9ac4d084d9b58b7ed1bc2c0ed6d06059.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>\nNu l\u00e5t oss titta p\u00e5 exempel p\u00e5 kommunikationer \u2014 och d\u00e5 blir det tydligt.<\/p>\n<p><\/p>\n<h3>Kommunikation inom en fysisk maskin<\/h3>\n<p>\nVM0 vill skicka ett paket till VM2. Anta tills vidare att detta \u00e4r VM f\u00f6r en och samma kund.<\/p>\n<h4>Data Plane<\/h4>\n<p><\/p>\n<ol>\n<li>VM-0 har en standardrutt till sitt gr\u00e4nssnitt eth0. Paketet skickas dit.<br \/>\n Detta gr\u00e4nssnitt eth0 \u00e4r faktiskt virtuell kopplat till den virtuella routern vRouter via TAP-gr\u00e4nssnittet tap0.<\/li>\n<li>vRouter analyserar p\u00e5 vilket gr\u00e4nssnitt paketet kom, allts\u00e5 till vilken kund (VRF) det h\u00f6r, och j\u00e4mf\u00f6r mottagarens adress med routingtabellen f\u00f6r den kunden.<\/li>\n<li>\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u044d\u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435 \u0437\u0430 \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u043e\u0440\u0442\u043e\u043c, vRouter \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0432 \u043d\u0435\u0433\u043e \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u2014 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430 vRouter&#8217;\u0435 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c ARP-\u0437\u0430\u043f\u0438\u0441\u044c. <\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/a42da3f48a3f538eb92c1908d9d66921.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u041f\u0430\u043a\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0435\u0442\u044c \u2014 \u043e\u043d \u0441\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 vRouter&#8217;\u0430.<\/p>\n<p><\/p>\n<h4>Control Plane<\/h4>\n<p>\nHypervisorn meddelar den virtuella maskinen vid start:<\/p>\n<ul>\n<li>Den egna IP-adressen.<\/li>\n<li>\u041c\u0430\u0440\u0448\u0440\u0443\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u2014 \u0447\u0435\u0440\u0435\u0437 IP-\u0430\u0434\u0440\u0435\u0441 vRouter&#8217;\u0430 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0435\u0442\u0438.<\/li>\n<\/ul>\n<p>\nvRouter&#8217;\u0443 \u0447\u0435\u0440\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 API \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442:<\/p>\n<ul>\n<li>Att ett virtuellt gr\u00e4nssnitt m\u00e5ste skapas.<\/li>\n<li>Vilken Virtual Network som den (VM) beh\u00f6ver skapa.<\/li>\n<li>Vilken VRF den (VN) ska kopplas till.<\/li>\n<li>ARP-posten f\u00f6r denna VM anger vilken interface dess IP-adress \u00e4r kopplad till och vilken MAC-adress den \u00e4r kopplad till.<\/li>\n<\/ul>\n<p><\/p>\n<blockquote><p> \u00c5terigen har den faktiska interaktionsproceduren f\u00f6renklats f\u00f6r att underl\u00e4tta f\u00f6rst\u00e5elsen av konceptet.\n<\/p><\/blockquote>\n<p> <img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/593d7ad41782e882a88732b475bf91cb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nS\u00e5 alla VMs fr\u00e5n en klient p\u00e5 denna maskin ser vRouter som direkt anslutna n\u00e4tverk och kan routa mellan dem sj\u00e4lva.<\/p>\n<p>\n\u0410 \u0432\u043e\u0442 VM0 \u0438 VM1 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u0440\u0430\u0437\u043d\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 vRouter&#8217;\u0430.<\/p>\n<p>Om de kan kommunicera direkt beror p\u00e5 inst\u00e4llningarna f\u00f6r vRouter och n\u00e4tverksdesignen.<br \/>\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0412\u041c \u043e\u0431\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430, \u0438\u043b\u0438 NAT \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c vRouter&#8217;\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u043f\u0440\u044f\u043c\u0443\u044e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 vRouter.<\/p>\n<p>I motsatt fall kan adresseringsutrymmen korsa varandra \u2013 man m\u00e5ste g\u00e5 genom en NAT-server f\u00f6r att f\u00e5 en offentlig adress \u2013 det liknar att g\u00e5 ut till externa n\u00e4tverk, som beskrivs nedan.<\/p>\n<h3>Kommunikation mellan VM:s bel\u00e4gna p\u00e5 olika fysiska maskiner<\/h3>\n<p><\/p>\n<h4>Data Plane<\/h4>\n<p><\/p>\n<ol>\n<li>Det b\u00f6rjar exakt likadant: VM-0 skickar ett paket till adressaten VM-7 (172.17.3.2) via sin standard.<\/li>\n<li>vRouter tar emot det och ser denna g\u00e5ng att adressaten \u00e4r p\u00e5 en annan maskin och \u00e4r tillg\u00e4nglig via Tunnel Tunnel0.<\/li>\n<li>F\u00f6rst l\u00e4gger den till ett MPLS-m\u00e4rke som identifierar den avl\u00e4gsna interfacet, s\u00e5 att vRouter kan avg\u00f6ra vart detta paket ska plats utan ytterligare \u00e5tg\u00e4rder.\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/1\/inter-hv-dp.png\"><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/1e159049376e2bf458b8c6cb5878cc17.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex>\n <\/li>\n<li>F\u00f6r Tunnel0 \u00e4r k\u00e4llan 10.0.0.2, mottagaren: 10.0.1.2.<br \/>\n vRouter l\u00e4gger till GRE (eller UDP) rubriker och en ny IP till det ursprungliga paketet.<\/li>\n<li>I vRouter routing-tabellen finns det en standardrutt via adress ToR1 10.0.0.1. Dit skickar det.\n<p> <img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/8cb98a8ec43d202259acf6a1fcaeb3ee.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n \n <\/li>\n<li>ToR1 som en del av Underlay-n\u00e4tverket vet (till exempel via OSPF) hur man n\u00e5r 10.0.1.2, och skickar paketet via rutten. Observera att ECMP inkluderas h\u00e4r. P\u00e5 illustrationen finns det tv\u00e5 next-hop, och olika fl\u00f6den kommer att distribueras i dem baserat p\u00e5 hash. I en verklig fabrik skulle det snarare vara 4 next-hop.\n<p>Vid detta tillf\u00e4lle beh\u00f6ver det inte veta vad som finns under den externa IP-rubriken. S\u00e5ledes kan ett paket under IP praktiskt taget vara ett lager av IPv6 \u00f6ver MPLS \u00f6ver Ethernet \u00f6ver MPLS \u00f6ver GRE \u00f6ver \u00f6ver \u00f6ver GRE.<\/li>\n<li>D\u00e4rf\u00f6r tar vRouter p\u00e5 mottagarsidan bort GRE och f\u00f6rst\u00e5r genom MPLS-m\u00e4rket vilken interface detta paket ska \u00f6verf\u00f6ras till, tar is\u00e4r det och skickar det i sitt ursprungliga skick till mottagaren.<\/li>\n<\/ol>\n<h4>Control Plane<\/h4>\n<p>\nN\u00e4r en maskin startar sker allt som beskrivits tidigare.<\/p>\n<p>Och dessutom det f\u00f6ljande:<\/p>\n<ul>\n<li>F\u00f6r varje kund tilldelar vRouter en MPLS-tagg. Detta \u00e4r en tj\u00e4nstetagg f\u00f6r L3VPN som kunderna kommer att separeras efter inom en och samma fysiska maskin.<br \/>\n<blockquote><p> \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 MPLS-\u043c\u0435\u0442\u043a\u0430 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f vRouter&#8217;\u043e\u043c \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u2014 \u0432\u0435\u0434\u044c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u0447\u0442\u043e \u043c\u0430\u0448\u0438\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043c\u0430\u0448\u0438\u043d\u0430\u043c \u0437\u0430 \u0442\u0435\u043c \u0436\u0435 vRouter&#8217;\u043e\u043c \u0438 \u044d\u0442\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u0442\u0430\u043a. \n <\/p><\/blockquote>\n<\/li>\n<li>vRouter uppr\u00e4ttar en anslutning till SDN-kontrollern via BGP-protokollet (eller n\u00e5got liknande \u2014 i fallet TF \u00e4r det XMPP 0_o).<\/li>\n<li>Genom denna session informerar vRouter SDN-kontrollern om v\u00e4garna till de anslutna n\u00e4ten:\n<ul>\n<li>N\u00e4tverksadress<\/li>\n<li>Inkapseringsmetod (MPLSoGRE, MPLSoUDP, VXLAN)<\/li>\n<li>Kundens MPLS-tagg<\/li>\n<li>Sin egen IP-adress som next hop<\/li>\n<\/ul>\n<p>\n <\/li>\n<li>SDN-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b \u043e\u0442\u043e \u0432\u0441\u0435\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 vRouter&#8217;\u043e\u0432, \u0438 \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u043c. \u0422\u043e \u0435\u0441\u0442\u044c \u043e\u043d \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 Route Reflector&#8217;\u043e\u043c.<\/li>\n<\/ul>\n<p>\nSamma sak sker i motsatt riktning.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/1\/inter-hv-cp.png\"><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/feef9181133f3a50a5cb21aa7ba16dc0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Overlay kan \u00e4ndras vilken minut som helst. S\u00e5 h\u00e4r g\u00e5r det till i offentliga moln, n\u00e4r kunder regelbundet startar och stoppar sina virtuella maskiner.<\/p>\n<p>Den centrala kontrollern tar hand om all komplexitet kring att uppr\u00e4tth\u00e5lla konfigurationen och kontrollen av switching\/routing-tabeller p\u00e5 vRouter.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0433\u0440\u0443\u0431\u043e, \u0442\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0437\u0430\u043f\u0438\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c\u0438 vRouter&#8217;\u0430\u043c\u0438 \u043f\u043e BGP (\u0438\u043b\u0438 \u043f\u043e\u0445\u043e\u0436\u0435\u043c\u0443 \u043d\u0430 \u043d\u0435\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443) \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e. BGP, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 Address-Family \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u0438 <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc4023\">MPLS-in-GRE<\/a><\/noindex> eller <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc7510\">MPLS-in-UDP<\/a><\/noindex>.<\/p>\n<p>Samtidigt \u00e4ndras under inget omst\u00e4ndighet konfigurationen av Underlay-n\u00e4tverket, vilket f\u00f6r \u00f6vrigt \u00e4r mycket sv\u00e5rare att automatisera, men enklare att bryta med en klumpig handling.<\/p>\n<h3>Utg\u00e5ng till den yttre v\u00e4rlden<\/h3>\n<p>\nN\u00e5gonstans m\u00e5ste simuleringen ta slut, och man m\u00e5ste g\u00e5 fr\u00e5n den virtuella v\u00e4rlden till den verkliga. Och d\u00e5 beh\u00f6vs en gateway-taxa.<\/p>\n<p>Tv\u00e5 tillv\u00e4gag\u00e5ngss\u00e4tt anv\u00e4nds:<\/p>\n<ol>\n<li>En h\u00e5rdvarurouter installeras.<\/li>\n<li>En typ av appliance startas som utf\u00f6r routerfunktioner (ja, efter SDN m\u00f6ter vi \u00e4ven VNF). L\u00e5t oss kalla det en virtuell gateway.<\/li>\n<\/ol>\n<p><\/p>\n<blockquote><p> F\u00f6rdelen med det andra tillv\u00e4gag\u00e5ngss\u00e4ttet \u00e4r den billiga horisontella skalbarheten \u2014 om man inte har tillr\u00e4ckligt med kapacitet \u2014 startade man ytterligare en virtuell maskin med en gateway. P\u00e5 vilken fysisk maskin som helst, utan behov av att leta efter lediga rack, enheter, str\u00f6muttag, k\u00f6pa sj\u00e4lva h\u00e5rdvaran, transportera den, installera den, koppla upp den, konfigurera den, och sedan \u00e4ven byta ut trasiga komponenter.<\/p>\n<p>Nackdelarna med en virtuell gateway \u00e4r att en fysisk router \u00e4r avsev\u00e4rt mer kraftfull \u00e4n en flertr\u00e5dig virtuell maskin, och dess mjukvara, som \u00e4r anpassad till sin h\u00e5rdvarubas, fungerar betydligt stabilare (<i>nej<\/i>). Det \u00e4r ocks\u00e5 sv\u00e5rt att f\u00f6rneka att det programvaru-h\u00e5rdvarukomplexet bara fungerar, vilket kr\u00e4ver endast konfiguration, medan start och underh\u00e5ll av en virtuell gateway \u00e4r en uppgift f\u00f6r skickliga ingenj\u00f6rer.\n<\/p><\/blockquote>\n<p> Med en fot ser gatewayen in i det virtuella Overlay-n\u00e4tverket, som en vanlig virtuell maskin, och kan interagera med alla andra VM. Samtidigt kan den terminera n\u00e4tverk f\u00f6r alla kunder och d\u00e4rmed utf\u00f6ra routing mellan dem.<\/p>\n<p>Med den andra foten blickar gatewayen mot det anslutna n\u00e4tverket och vet hur den ska n\u00e5 internet.<\/p>\n<p><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/552fa0428ff8dd3aed76091a86a72109.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4>Data Plane<\/h4>\n<p>\nProcessen ser allts\u00e5 ut s\u00e5 h\u00e4r: <\/p>\n<ol>\n<li>VM-0, som har standarden i samma vRouter, skickar ett paket med adressaten i den externa v\u00e4rlden (185.147.83.177) till gr\u00e4nssnittet eth0.<\/li>\n<li>vRouter tar emot detta paket och g\u00f6r en look-up p\u00e5 destinationsadressen i routingtabeln \u2014 den hittar standardrutt genom gateway VNGW1 via Tunnel 1. <br \/>\n Den ser ocks\u00e5 att detta \u00e4r en GRE-tunnel med SIP 10.0.0.2 och DIP 10.0.255.2, och att den f\u00f6rst m\u00e5ste tilldela MPLS-m\u00e4rket f\u00f6r denna kund, vilket VNGW1 f\u00f6rv\u00e4ntar sig.\n <\/li>\n<li>vRouter packar det ursprungliga paketet med MPLS, GRE och ny IP-header och skickar det till adressen ToR1 10.0.0.1 som standard.<\/li>\n<li>Underliggande n\u00e4tverk levererar paketet till gateway VNGW1.<\/li>\n<li>Gateway VNGW1 tar bort tunnelinghuvuden GRE och MPLS, ser destinationsadressen, konsulterar sin routingtabel och inser att den \u00e4r riktad mot internet \u2014 vilket inneb\u00e4r genom Full View eller Default. Vid behov utf\u00f6r den NAT-\u00f6vers\u00e4ttning.<\/li>\n<li>Fr\u00e5n VNGW kan det finnas ett vanligt IP-n\u00e4t, vilket \u00e4r osannolikt.<br \/>\n Det kan finnas ett klassiskt MPLS-n\u00e4t (IGP+LDP\/Rsvp TE), det kan ocks\u00e5 vara en \u00e5terkoppling fr\u00e5n BGP LU eller en GRE-tunnel fr\u00e5n VNGW till gr\u00e4nsen genom IP-n\u00e4tverket.<br \/>\n Hur som helst utf\u00f6r VNGW1 n\u00f6dv\u00e4ndiga inkapslingar och skickar det ursprungliga paketet mot gr\u00e4nsen.<\/li>\n<\/ol>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/1\/outside-dp.png\"><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/a66e490c75f8220349398af814d4ebf2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Trafiken i den motsatta riktningen g\u00e5r igenom samma steg i omv\u00e4nd ordning. <\/p>\n<ol>\n<li>Gr\u00e4nsens router levererar paketet till VNGW1.<\/li>\n<li>Den tar bort inkapslingen, ser p\u00e5 mottagaradressen och ser att den \u00e4r tillg\u00e4nglig via tunneln Tunnel1 (MPLSoGRE eller MPLSoUDP).<\/li>\n<li>D\u00e4rf\u00f6r f\u00e4ster den en MPLS-m\u00e4rkning, GRE\/UDP-header och ny IP och skickar den till sin ToR3 10.0.255.1.<br \/>\n \u0410\u0434\u0440\u0435\u0441 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0443\u043d\u043d\u0435\u043b\u044f \u2014 IP-\u0430\u0434\u0440\u0435\u0441 vRouter&#8217;\u0430, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u0442\u043e\u0438\u0442 \u0446\u0435\u043b\u0435\u0432\u0430\u044f \u0412\u041c \u2014 10.0.0.2.<\/li>\n<li>\u0410\u043d\u0434\u0435\u0440\u043b\u0435\u0439\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0434\u043e \u043d\u0443\u0436\u043d\u043e\u0433\u043e vRouter&#8217;\u0430. <\/li>\n<li>M\u00e5l-vRouter\u2019n tar bort GRE\/UDP, identifierar gr\u00e4nssnittet efter MPLS-m\u00e4rket och skickar det r\u00e5 IP-paketet till sitt TAP-gr\u00e4nssnitt som \u00e4r kopplat till eth0-VM:n.<\/li>\n<\/ol>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/1\/outside-dp-reverse.png\"><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/ba6748694a822fc04f4e872658d1fbbb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<h4>Control Plane<\/h4>\n<p>\nVNGW1 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 BGP-\u0441\u043e\u0441\u0435\u0434\u0441\u0442\u0432\u043e \u0441 SDN-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432\u0441\u044e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u0445: \u0437\u0430 \u043a\u0430\u043a\u0438\u043c IP-\u0430\u0434\u0440\u0435\u0441\u043e\u043c (vRouter&#8217;\u043e\u043c) \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u043a\u043e\u0439 \u043a\u043b\u0438\u0435\u043d\u0442, \u0438 \u043a\u0430\u043a\u043e\u0439 MPLS-\u043c\u0435\u0442\u043a\u043e\u0439 \u043e\u043d \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043e\u043d \u0441\u0430\u043c SDN-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u0441 \u043c\u0435\u0442\u043a\u043e\u0439 \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044f \u0441\u0435\u0431\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 nexthop&#8217;\u0430. \u0410 \u0434\u0430\u043b\u044c\u0448\u0435 \u044d\u0442\u043e\u0442 \u0434\u0435\u0444\u043e\u043b\u0442 \u043f\u0440\u0438\u0435\u0437\u0436\u0430\u0435\u0442 \u043d\u0430 vRouter&#8217;\u044b.<\/p>\n<p>P\u00e5 VNGW brukar aggregationen av rutter eller NAT-\u00f6vers\u00e4ttning ske.<\/p>\n<p>\u0418 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0432 \u0441\u0435\u0441\u0441\u0438\u044e \u0441 \u0431\u043e\u0440\u0434\u0435\u0440\u0430\u043c\u0438 \u0438\u043b\u0438 Route Reflector&#8217;\u0430\u043c\u0438 \u043e\u043d \u043e\u0442\u0434\u0430\u0451\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442. \u0410 \u043e\u0442 \u043d\u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u043b\u0438 Full-View, \u0438\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u0435\u0449\u0451.<\/p>\n<p>N\u00e4r det g\u00e4ller inkapsling och trafik\u00f6verf\u00f6ring skiljer sig VNGW inte fr\u00e5n vRouter. <br \/>\n\u0415\u0441\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c, \u0442\u043e \u043a VNGW \u0438 vRouter&#8217;\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u044b, \u0444\u0435\u0440\u043c\u044b \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0438\u043b\u0438 \u043e\u0431\u043e\u0433\u0430\u0449\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430, IPS \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>\u0418 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f VRF \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u043d\u043e\u043d\u0441\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u0435\u0442\u043b\u044f\u0442\u044c \u0442\u0430\u043a, \u043a\u0430\u043a \u0432\u0430\u043c \u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Service Chaining&#8217;\u043e\u043c.<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u0438 \u0442\u0443\u0442 SDN-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0432 \u0440\u043e\u043b\u0438 Route-Reflector&#8217;\u0430 \u043c\u0435\u0436\u0434\u0443 VNGW, vRouter&#8217;\u0430\u043c\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438.<\/p>\n<p>Men i praktiken ger kontrollern ocks\u00e5 information om ACL och PBR (Policy Based Routing), vilket g\u00f6r att specifika trafikfl\u00f6den f\u00f6ljer andra v\u00e4gar \u00e4n vad rutten f\u00f6reskriver.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/1\/outside-cp.png\"><img decoding=\"async\" alt=\"Automatisering f\u00f6r de minsta. Del ett (som kommer efter noll). Virtualisering av n\u00e4tverk\" src=\"\/wp-content\/uploads\/2019\/07\/dbba5a93d64edf56dc9c2b82311c5a11.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h1>FAQ<\/h1>\n<p><b>Varf\u00f6r kommenterar du alltid GRE\/UDP?<\/b><\/p>\n<p>Egentligen \u00e4r detta specifikt f\u00f6r Tungsten Fabric \u2014 man kan helt ignorera det.<\/p>\n<p>\u041d\u043e \u0435\u0441\u043b\u0438 \u0431\u0440\u0430\u0442\u044c, \u0442\u043e \u0441\u0430\u043c TF, \u0435\u0449\u0451 \u0431\u0443\u0434\u0443\u0447\u0438 OpenContrail&#8217;\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b \u043e\u0431\u0435 \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u0438: MPLS in GRE \u0438 MPLS in UDP. <\/p>\n<p>UDP \u00e4r bra eftersom det i Source Port i dess header mycket enkelt kan koda en hash-funktion fr\u00e5n ursprungliga IP+Proto+Port, vilket m\u00f6jligg\u00f6r lastbalansering. <\/p>\n<p>Tyv\u00e4rr, i fallet med GRE finns det bara externa IP- och GRE-headerar som \u00e4r desamma f\u00f6r hela den inkapslade trafiken, och det talas inte om lastbalansering \u2014 f\u00e5 kan se s\u00e5 djupt in i paketet.<\/p>\n<p>Tidigare var routrar, om de kunde hantera dynamiska tunnlar, bara begr\u00e4nsade till MPLSoGRE, och har nyligen l\u00e4rt sig MPLSoUDP. D\u00e4rf\u00f6r m\u00e5ste vi alltid n\u00e4mna m\u00f6jligheten till tv\u00e5 olika inkapslingar.<\/p>\n<p>F\u00f6r r\u00e4ttvisans skull b\u00f6r det n\u00e4mnas att TF faktiskt ocks\u00e5 st\u00f6djer L2-koppling med hj\u00e4lp av VXLAN.<\/p>\n<p>\n<b>Du lovade att dra paralleller med OpenFlow.<\/b><br \/>\n\u041e\u043d\u0438 \u0438 \u043f\u0440\u0430\u0432\u0434\u0430 \u043d\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f. vSwitch \u0432 \u0442\u043e\u043c \u0436\u0435 OpenStack&#8217;\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u0432\u0435\u0449\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f VXLAN, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e, \u043a\u0441\u0442\u0430\u0442\u0438, \u0442\u043e\u0436\u0435 UDP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a.<\/p>\n<p>\u0412 Data Plane \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f Control Plane. Tungsten Fabric \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 XMPP \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u0445 \u043d\u0430 vRouter, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f, \u043a\u0430\u043a \u0432 OpenStack&#8217;\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 Openflow.<\/p>\n<p>\n<b>Kan vi f\u00e5 veta lite mer om vRouter?<\/b><br \/>\nDet delas upp i tv\u00e5 delar: vRouter Agent och vRouter Forwarder.<\/p>\n<p>Den f\u00f6rsta k\u00f6rs i User Space av v\u00e4rdoperativsystemet och kommunicerar med SDN-kontrollern genom att utbyta information om rutter, VRF och ACL.<\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 Data Plane \u2014 \u043e\u0431\u044b\u0447\u043d\u043e \u0432 Kernel Space, \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0438 \u043d\u0430 SmartNIC&#8217;\u0430\u0445 \u2014 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043a\u0430\u0440\u0442\u0430\u0445 \u0441 CPU \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u043c \u0447\u0438\u043f\u043e\u043c \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043d\u044f\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441 CPU \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0430 \u0441\u0435\u0442\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0439. <\/p>\n<p>Det finns ocks\u00e5 ett scenario d\u00e4r vRouter \u00e4r en DPDK-applikation i User Space. <\/p>\n<p>vRouter Agent skickar inst\u00e4llningarna till vRouter Forwarder.<\/p>\n<p>\n<b>Vad \u00e4r ett Virtual Network?<\/b><br \/>\nJag n\u00e4mnde i b\u00f6rjan av artikeln om VRF, att varje tenant kopplas till sin egen VRF. Och om detta var tillr\u00e4ckligt f\u00f6r en grundl\u00e4ggande f\u00f6rst\u00e5else av hur overlay-n\u00e4tverket fungerar, s\u00e5 beh\u00f6vs det f\u00f6rtydliganden vid n\u00e4sta iteration.<\/p>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e \u0432 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c Virtual Network (\u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u044d\u0442\u043e \u0438\u043c\u0435\u043d\u0435\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c) \u0432\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432\/\u0442\u0435\u043d\u0430\u043d\u0442\u043e\u0432\/\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u2014 \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0435\u0431\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0449\u044c. \u0410 \u044d\u0442\u043e\u0442 Virtual Network \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u043e\u0434\u0438\u043d \u0442\u0435\u043d\u0430\u043d\u0442, \u0432 \u0434\u0440\u0443\u0433\u043e\u0439, \u0432 \u0434\u0432\u0430, \u0434\u0430 \u0445\u043e\u0442\u044c \u043a\u0443\u0434\u0430. \u0422\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f Service Chaining, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u043d\u043e\u0434\u044b \u0432 \u043d\u0443\u0436\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0438 \u043f\u0440\u0438\u0432\u0437\u044f\u0432\u0430\u044f Virtual Network&#8217;\u0438.<\/p>\n<p>D\u00e4rf\u00f6r finns det ingen direkt motsvarighet mellan Virtual Network och en tenant.<\/p>\n<h1>Slutsats<\/h1>\n<p>\nDetta \u00e4r en ganska ytlig beskrivning av hur ett virtuellt n\u00e4tverk fungerar med overlay fr\u00e5n en v\u00e4rd och SDN-kontroller. Men oavsett vilken virtualiseringsplattform du v\u00e4ljer idag, kommer den att fungera p\u00e5 ett liknande s\u00e4tt, oavsett om det \u00e4r VMWare, ACI, OpenStack, CloudStack, Tungsten Fabric eller Juniper Contrail. De kommer att skilja sig \u00e5t i typerna av inkapslingar och rubriker, protokoll f\u00f6r att leverera information till slutliga n\u00e4tverksenheter, men principen f\u00f6r ett programvarukonfigurerat overlay-n\u00e4tverk som arbetar ovanp\u00e5 ett relativt enkelt och statiskt underliggande n\u00e4tverk f\u00f6rblir densamma.<br \/>\nMan kan s\u00e4ga att omr\u00e5dena f\u00f6r att skapa privata moln idag har SDN baserat p\u00e5 overlay-n\u00e4tverk vunnit. Men detta inneb\u00e4r inte att OpenFlow inte har en plats i den moderna v\u00e4rlden - det anv\u00e4nds i OpenStack och i samma VMWare NSX, och s\u00e5vitt jag vet anv\u00e4nds det av Google f\u00f6r att konfigurera det underliggande n\u00e4tverket.<\/p>\n<p>Lite l\u00e4ngre ner har jag lagt l\u00e4nkar till mer detaljerat material, om du vill f\u00f6rdjupa dig i \u00e4mnet. <\/p>\n<p>Och vad h\u00e4nder med v\u00e5rt Underlay? <\/p>\n<p>\u0410 \u0432 \u043e\u0431\u0449\u0435\u043c-\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e. \u041e\u043d \u0432\u0441\u044e \u0434\u043e\u0440\u043e\u0433\u0443 \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0441\u044f. \u0412\u0441\u0451, \u0447\u0442\u043e \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0432\u0435\u0440\u043b\u0435\u044f \u0441 \u0445\u043e\u0441\u0442\u0430 \u2014 \u044d\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b \u0438 ARP&#8217;\u044b \u043f\u043e \u043c\u0435\u0440\u0435 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u044f vRouter\/VNGW \u0438 \u0442\u0430\u0441\u043a\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438.<\/p>\n<p>L\u00e5t oss formulera en lista \u00f6ver krav p\u00e5 Underlay-n\u00e4tverket.<\/p>\n<ol>\n<li>B\u00f6r kunna hantera n\u00e5got routingprotokoll, i v\u00e5r situation - BGP.<\/li>\n<li>Ha h\u00f6g bandbredd, helst utan \u00f6verbelastning, s\u00e5 att paket inte g\u00e5r f\u00f6rlorade p\u00e5 grund av \u00f6verbelastning.<\/li>\n<li>St\u00f6dja ECMP - en oundg\u00e4nglig del av fabriken.<\/li>\n<li>Kunna s\u00e4kerst\u00e4lla QoS, inklusive invecklade funktioner som ECN.<\/li>\n<li>St\u00f6dja NETCONF - en f\u00f6rberedelse f\u00f6r framtiden.<\/li>\n<\/ol>\n<p>\nJag har \u00e4gnat mycket lite tid \u00e5t hur Underlay-n\u00e4tverket fungerar h\u00e4r. Det beror p\u00e5 att jag senare i serien faktiskt kommer att fokusera p\u00e5 det, medan Overlay kommer att ber\u00f6ras endast i f\u00f6rbig\u00e5ende.<\/p>\n<p>Uppenbarligen begr\u00e4nsar jag oss alla genom att anv\u00e4nda ett datacenter-n\u00e4tverk byggt p\u00e5 Clos-fabriken med ren IP-routing och overlay fr\u00e5n v\u00e4rden som exempel.<\/p>\n<p>Men jag \u00e4r s\u00e4ker p\u00e5 att vilket n\u00e4tverk som helst med en design kan beskrivas i formella termer och automatiseras. Bara att jag h\u00e4r str\u00e4var efter att f\u00f6rst\u00e5 metoder f\u00f6r automatisering, snarare \u00e4n att f\u00f6rvirra alla genom att l\u00f6sa problemet i allm\u00e4nna termer.<\/p>\n<p>Inom ramen f\u00f6r ADSM planerar jag och Roman Gorge att publicera ett separat avsnitt om virtualisering av datorkraft och dess samverkan med n\u00e4tverksvirtualisering. H\u00e5ll er uppkopplade.<\/p>\n<p><\/p>\n<h1>Nyttiga l\u00e4nkar<\/h1>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/tungstenfabric.github.io\/website\/\">Tungsten Fabric Arkitektur<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/Kr6WIYPts8I?t=3157\">about:cloud<\/a><\/noindex>. 6 timmar om Yandex.Cloud, d\u00e4r den virtuella n\u00e4tverkstekniken p\u00e5 TF ocks\u00e5 ber\u00f6rs.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.openvswitch.org\/en\/latest\/intro\/what-is-ovs\/\">Vad \u00e4r Open vSwitch?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/344326\/\">Introduktion till VxLAN<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc7348\">RFC 7348. Virtual eXtensible Local Area Network (VXLAN): En ram f\u00f6r \u00f6verlagring av virtualiserade lager 2-n\u00e4tverk \u00f6ver lager 3-n\u00e4tverk.<br \/>\n <\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.enog.org\/wp-content\/uploads\/presentations\/enog-16\/18-Scaleway-P14-fabric-ENOG16.pdf\">Scaleways tillv\u00e4gag\u00e5ngss\u00e4tt f\u00f6r VXLAN EVPN Fabric<\/a><\/noindex>. H\u00e4r beskrivs hela datacentret, inklusive Underlay, Overlay, tillv\u00e4gag\u00e5ngss\u00e4tt f\u00f6r multi-homing och hantering.<\/li>\n<\/ul>\n<p><\/p>\n<h5>Tack<\/h5>\n<p><\/p>\n<ul>\n<li><noindex>Roman Gorge<\/noindex> \u2014 den tidigare programledaren f\u00f6r podcasten linkmeup, och nu expert inom molnplattformar. Tack f\u00f6r kommentarer och redigeringar. Vi ser fram emot hans djupg\u00e5ende artikel om virtualisering inom en snar framtid.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.alexander-shalimov.com\">Alexander Shalimov<\/a><\/noindex> \u2014 min kollega och expert inom utveckling av virtuella n\u00e4tverk. Tack f\u00f6r kommentarer och redigeringar.<\/li>\n<li><noindex>Valentin Sinitsyn<\/noindex> \u2014 min kollega och expert inom Tungsten Fabric. Tack f\u00f6r kommentarer och redigeringar.<\/li>\n<li><noindex>Artyom Chernobay<\/noindex> \u2014 illustrat\u00f6r f\u00f6r linkmeup. Tack f\u00f6r produktionsst\u00f6det.<\/li>\n<li>Alexander Limonov. Tack f\u00f6r memes \"automato\".<\/li>\n<\/ul>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458622\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u043e \u043e\u0442\u0437\u044b\u0432\u0430\u043c \u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043b\u044e\u0434\u0435\u0439 \u0434\u0430\u0436\u0435 \u044d\u0442\u043e\u0442 \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u0443\u0436\u0435 \u0440\u0430\u0437\u043b\u043e\u0436\u0438\u043b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u043f\u043e\u043b\u043e\u0447\u043a\u0430\u043c. \u0418 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u0435\u043d\u044f \u0440\u0430\u0434\u0443\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430\u0448\u0430 \u0446\u0435\u043b\u044c \u0432 \u0446\u0438\u043a\u043b\u0435 \u2014 \u043d\u0435 \u043e\u0431\u043c\u0430\u0437\u0430\u0442\u044c \u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u0438\u043c\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438 \u0430\u043d\u0437\u0438\u0431\u043b\u044c, \u0430 \u0432\u044b\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u042d\u0442\u043e\u0442 \u0436\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0437\u0430\u0434\u0430\u0451\u0442 \u043f\u043e\u0440\u044f\u0434\u043e\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26892,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35973","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-pervaya-kotoraya-posle-nulevoj-virtualizatsiya-seti\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0414\u043b\u044f \u0421\u0430\u043c\u044b\u0445 \u041c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445. \u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0441\u043b\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439). \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-pervaya-kotoraya-posle-nulevoj-virtualizatsiya-seti\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:08:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:08:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Automation F\u00f6r De Minsta. Del ett (som kommer efter nollan). N\u00e4tverksvirtualisering | ProHoster","description":"I det f\u00f6reg\u00e5ende avsnittet beskrev jag ramverket f\u00f6r n\u00e4tverksautomation.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-pervaya-kotoraya-posle-nulevoj-virtualizatsiya-seti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0414\u043b\u044f \u0421\u0430\u043c\u044b\u0445 \u041c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445. \u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0441\u043b\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439). \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435\u0442\u0438 | ProHoster","og:description":"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-pervaya-kotoraya-posle-nulevoj-virtualizatsiya-seti","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:08:54+00:00","article:modified_time":"2019-10-31T19:08:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35973","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 01:28:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:53:30","updated":"2026-01-22 01:28:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/35973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=35973"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/35973\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/26892"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=35973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=35973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=35973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}