Ki jan pwotokòl PIM la ap travay

Pwotokòl PIM la se yon seri pwotokòl pou transmèt multicast nan yon rezo ant routeurs. Relasyon katye yo bati menm jan ak nan ka pwotokòl routage dinamik. PIMv2 voye mesaj Hello chak 30 segonn nan adrès multidiffusion rezève 224.0.0.13 (All-PIM-Routers). Mesaj la gen Timer kenbe - anjeneral egal a 3.5 * Hello Timer, se sa ki, 105 segonn pa default.
Ki jan pwotokòl PIM la ap travay
PIM sèvi ak de mòd fonksyònman prensipal yo - mòd dans ak sparse. Ann kòmanse ak mòd dans.
Pyebwa distribisyon ki baze sou sous.
Mòd dans-mòd se konseye pou itilize nan ka a nan yon gwo kantite kliyan nan diferan gwoup multicast. Lè yon routeur resevwa trafik multicast, premye bagay li fè se tcheke li pou règ RPF la. RPF - yo itilize règ sa a pou tcheke sous yon multidiffusion ak yon tab routage unicast. Li nesesè ke trafik la rive nan koòdone dèyè ki lame sa a kache dapre vèsyon an nan tab la routage unicast. Mekanis sa a rezoud pwoblèm nan nan yon bouk ki fèt pandan transmisyon multicast.
Ki jan pwotokòl PIM la ap travay
R3 pral rekonèt sous la multidiffusion (Sous IP) nan mesaj la multidiffusion epi tcheke de koule yo soti nan R1 ak R2 lè l sèvi avèk tab unicast li yo. Kouran ki soti nan koòdone ki pwente sou tab la (R1 a R3) yo pral transmèt pi lwen, epi kouran ki soti nan R2 yo pral tonbe, paske yo nan lòd yo ale nan sous la multicast, ou bezwen voye pake atravè S0/1.
Kesyon an se, sa k ap pase si ou gen de wout ekivalan ak menm metrik la? Nan ka sa a, routeur la pral chwazi pwochen hop la nan wout sa yo. Nenpòt moun ki gen adrès IP ki pi wo a genyen. Si ou bezwen chanje konpòtman sa a, ou ka itilize ECMP. Plis detay isit la.
Apre w fin tcheke règ RPF la, routeur la voye yon pake multidiffusion bay tout vwazen PIM li yo, eksepte pou youn nan men yo te resevwa pake a. Lòt routeurs PIM repete pwosesis sa a. Chemen ke yon pake multicast te pran soti nan sous la nan benefisyè final yo fòme yon pye bwa ki rele pyebwa distribisyon ki baze sou sous, pyebwa ki pi kout chemen (SPT), pyebwa sous. Twa non diferan, chwazi nenpòt youn.
Ki jan yo rezoud pwoblèm nan ke kèk routeurs pa t bay moute sou kèk kouran multicast epi pa gen okenn moun ki voye l 'bay, men routeur la en voye li ba li. Mekanis nan Prune te envante pou sa.
Koupe Mesaj.
Par egzanp, R2 pou kontinyen anvoy en multicast kot R3, menm si R3, dapre sa RPF, i drop li. Poukisa chaje chanèl la? R3 voye yon PIM Koupe Mesaj epi R2, lè li resevwa mesaj sa a, pral retire koòdone S0/1 nan lis koòdone sortan pou koule sa a, lis entèfas kote trafik sa a ta dwe voye.

Sa ki anba la a se yon definisyon pi fòmèl nan yon mesaj PIM Prune:
Mesaj PIM Prune voye pa yon sèl routeur nan yon dezyèm routeur pou lakòz dezyèm routeur la retire lyen sou ki Prune a resevwa nan men yon SPT patikilye (S, G).

Apre li fin resevwa mesaj Prune a, R2 mete revèy Prune a 3 minit. Apre twa minit, li pral kòmanse voye trafik ankò jiskaske li resevwa yon lòt mesaj Prune. Sa a se nan PIMv1.
Ak nan PIMv2 yo te ajoute yon revèy rafrechi Eta (60 segonn pa default). Osito ke yo voye yon mesaj Prune soti nan R3, revèy sa a kòmanse sou R3. Lè revèy sa a ekspirasyon, R3 pral voye yon mesaj Eta Refresh, ki pral reset 3 minit Koupe Timer sou R2 pou gwoup sa a.
Rezon pou voye yon mesaj Prune:

  • Lè yon pake multicast echwe chèk RPF la.
  • Lè pa gen okenn kliyan ki konekte lokalman ki te mande yon gwoup multidiffusion (IGMP Join) epi pa gen okenn vwazen PIM yo ka voye trafik multicast (Non-prune Interface).

Mesaj grèf.
Ann imajine ke R3 pa t 'vle trafik soti nan R2, voye Prune ak resevwa yon multicast soti nan R1. Men toudenkou, kanal ant R1-R3 tonbe epi R3 te rete san multicast. Ou ka tann 3 minit jiskaske Koupe Timer sou R2 ekspire. 3 minit se yon long rete tann, se konsa yo pa rete tann, ou bezwen voye yon mesaj ki pral imedyatman pote koòdone S0/1 sa a nan R2 soti nan eta a koupe. Mesaj sa a pral yon mesaj grèf. Apre li fin resevwa mesaj Graft la, R2 pral reponn ak yon Graft-ACK.
Koupe Override.
Ki jan pwotokòl PIM la ap travay
Ann gade dyagram sa a. R1 difize multidifizyon nan yon segman ak de routeur. R3 resevwa epi difize trafik, R2 resevwa, men pa gen pèsonn pou difize trafik. Li voye yon mesaj Prune bay R1 nan segman sa a. R1 ta dwe retire Fa0/0 nan lis la epi sispann emisyon nan segman sa a, men kisa ki pral rive R3? Ak R3 se nan menm segman an, tou resevwa mesaj sa a soti nan Prune ak konprann trajedi a nan sitiyasyon an. Anvan R1 sispann difize, li mete yon revèy 3 segonn epi li pral sispann difize apre 3 segonn. 3 segonn - sa a se egzakteman konbyen tan R3 genyen pou yo pa pèdi multicast li. Se poutèt sa, R3 voye yon mesaj Pim Join pou gwoup sa a pi vit posib, epi R1 pa panse ankò pou yo sispann emisyon. About Join mesaj anba a.
Afime mesaj.
Ki jan pwotokòl PIM la ap travay
Ann imajine sitiyasyon sa a: de routeurs difize sou yon rezo an menm tan. Yo resevwa menm kouran ki soti nan sous la, epi tou de difize li nan menm rezo a dèyè koòdone e0. Se poutèt sa, yo bezwen detèmine ki moun ki pral youn ak sèl difizyon pou rezo sa a. Assert mesaj yo itilize pou sa. Lè R2 ak R3 detekte repetisyon trafik multicast, se sa ki, R2 ak R3 resevwa yon multicast ke yo menm yo difize, routeurs yo konprann ke gen yon bagay ki mal isit la. Nan ka sa a, routeurs yo voye mesaj Assert, ki gen ladan Distans Administratif ak metrik wout ak ki jwenn sous multicast la - 10.1.1.10. Gayan an detèmine jan sa a:

  1. Youn nan ak pi ba AD.
  2. Si AD yo egal, lè sa a ki moun ki gen metrik ki pi ba a.
  3. Si gen egalite isit la, Lè sa a, youn nan ki gen IP ki pi wo a nan rezo a kote yo emèt multicast sa a.

Gayan vòt sa a vin Routeur Deziyen an. Pim Hello yo itilize tou pou chwazi DR. Nan kòmansman atik la, yo te montre mesaj PIM Hello a, ou ka wè jaden DR la. Moun ki gen adrès IP ki pi wo sou lyen sa a genyen.
Siy itil:
Ki jan pwotokòl PIM la ap travay
Tablo MROUTE.
Apre yon premye gade nan ki jan pwotokòl PIM la ap travay, nou bezwen konprann ki jan yo travay ak yon tab routage multicast. Tablo mroute la estoke enfòmasyon sou ki kouran yo te mande nan men kliyan yo ak ki kouran ki ap koule soti nan sèvè multicast.
Pa egzanp, lè yo resevwa yon Rapò sou manm IGMP oswa PIM Join sou kèk koòdone, yo ajoute yon dosye ki kalite ( *, G ) nan tablo rout la:
Ki jan pwotokòl PIM la ap travay
Antre sa a vle di ke yo te resevwa yon demann trafik ak adrès 238.38.38.38. Drapo DC a vle di ke multidiffusion a pral opere nan mòd dans ak C vle di ke moun k ap resevwa a se dirèkteman konekte ak routeur la, se sa ki, routeur la te resevwa Rapò manm IGMP ak PIM Join.
Si gen yon dosye nan kalite (S, G) sa vle di ke nou gen yon kouran multicast:
Ki jan pwotokòl PIM la ap travay
Nan jaden S la - 192.168.1.11, nou te anrejistre adrès IP sous la multidiffusion, li se sa a ki pral tcheke pa règ la RPF. Si gen pwoblèm, premye bagay ou bezwen fè se tcheke tab la unicast pou wout la nan sous la. Nan jaden an Entèfas fèk ap rantre, endike koòdone nan ki multicast la resevwa. Nan yon tab routage unicast, wout la nan sous la dwe refere a koòdone ki espesifye isit la. Entèfas sòtan an presize kote yo pral redireksyon multidiffusion la. Si li vid, Lè sa a, routeur la pa te resevwa okenn demann pou trafik sa a. Ou ka jwenn plis enfòmasyon sou tout drapo yo isit la.
PIM Rase-mòd.
Estrateji a nan mòd sparse se opoze a nan mòd dans. Lè Sparse-mode resevwa trafik multidiffusion, li pral sèlman voye trafik atravè koòdone sa yo kote te gen demann pou koule sa a, pou egzanp Pim Join oswa IGMP Rapò mesaj ki mande trafik sa a.
Eleman ki sanble pou SM ak DM:

  • Relasyon katye yo bati menm jan ak nan PIM DM.
  • Règ RPF la ap mache.
  • Seleksyon DR a sanble.
  • Mekanis an nan Koupe Overrides ak Assert mesaj yo sanble.

Pou kontwole ki moun, ki kote ak ki kalite trafik multidiffusion ki nesesè sou rezo a, yon sant enfòmasyon komen nesesè. Sant nou an pral Rendezvous Point (RP). Nenpòt moun ki vle yon kalite trafik multicast oswa yon moun te kòmanse resevwa trafik multicast soti nan sous la, Lè sa a, li voye li nan RP.
Lè RP a resevwa trafik multicast, li pral voye li bay routeurs sa yo ki te deja mande trafik sa a.
Ki jan pwotokòl PIM la ap travay
Ann imajine yon topoloji kote RP se R3. Le pli vit ke R1 resevwa trafik soti nan S1, li encapsule pake multicast sa a nan yon mesaj unicast PIM Register epi voye li bay RP. Ki jan li fè konnen ki moun ki RP a? Nan ka sa a, li se konfigirasyon estatik, epi nou pral pale sou konfigirasyon RP dinamik pita.

ip pim rp-address 3.3.3.3

RP pral gade - èske te gen enfòmasyon nan men yon moun ki ta renmen resevwa trafik sa a? Ann sipoze li pa t '. Lè sa a, RP pral voye R1 yon mesaj PIM Register-Stop, ki vle di ke pèsonn pa bezwen multicast sa a, enskripsyon yo refize. R1 pa pral voye multicast. Men, lame sous multicast la pral voye li, pou ke R1, apre li fin resevwa Register-Stop, pral kòmanse yon revèy Register-Suppression ki egal a 60 segonn. 5 segonn anvan revèy sa a ekspire, R1 pral voye yon mesaj Rejis vid ak yon ti Rejis-Nil (ki vle di, san yon pake multidiffusion ankapsule) nan direksyon RP. RP, nan vire, pral aji tankou sa a:

  • Si pa te gen okenn moun k ap resevwa, lè sa a li pral reponn ak yon mesaj Enskri-Stop.
  • Si moun k ap resevwa yo parèt, li p ap reponn li nan okenn fason. R1, li pa te resevwa yon refi pou anrejistre nan 5 segonn, pral kontan epi voye yon mesaj Anrejistre ak yon multicast encapsulé bay RP.

Nou sanble yo te kalkile ki jan multicast rive nan RP, kounye a ann eseye reponn kesyon an sou ki jan RP delivre trafik bay moun k ap resevwa yo. Isit la li nesesè prezante yon nouvo konsèp - pye bwa rasin-chemen (RPT). RPT se yon pye bwa ki anrasinen nan RP, k ap grandi nan direksyon pou moun k ap resevwa yo, branch sou chak routeur PIM-SM. RP kreye li nan resevwa mesaj PIM Join epi ajoute yon nouvo branch nan pye bwa a. Se konsa, chak routeur en fè sa. Règ jeneral la sanble sa a:

  • Lè yon routeur PIM-SM resevwa yon mesaj PIM Join sou nenpòt koòdone ki pa koòdone dèyè ki RP a kache, li ajoute yon nouvo branch nan pye bwa a.
  • Yo ajoute yon branch tou lè routeur PIM-SM resevwa yon Rapò sou manm IGMP nan men yon lame ki konekte dirèkteman.

Ann imajine ke nou gen yon kliyan multicast sou routeur R5 pou gwoup 228.8.8.8. Le pli vit ke R5 resevwa Rapò manm IGMP nan men animatè a, R5 voye yon PIM Join nan direksyon RP a, epi li menm ajoute yon koòdone nan pye bwa a ki gade nan lame a. Apre sa, R4 resevwa PIM Join soti nan R5, ajoute koòdone Gi0/1 nan pye bwa a epi voye PIM Join nan direksyon RP. Finalman, RP ( R3 ) resevwa PIM Join epi ajoute Gi0/0 nan pye bwa a. Kidonk, moun k ap resevwa multidifizyon an anrejistre. Nou ap konstwi yon pye bwa ak rasin R3-Gi0/0 → R4-Gi0/1 → R5-Gi0/0.
Apre sa, yo pral voye yon PIM Join nan R1 ak R1 ap kòmanse voye trafik multicast. Li enpòtan pou sonje ke si animatè a te mande trafik anvan emisyon multidifizyon an te kòmanse, Lè sa a, RP pa pral voye PIM Join epi li pa pral voye anyen nan R1 ditou.
Si toudenkou pandan y ap voye yon multidifizyon, lame a sispann vle resevwa li, le pli vit ke RP resevwa yon PIM Prune sou koòdone Gi0/0 a, li pral imedyatman voye yon PIM Register-Stop dirèkteman nan R1, ak Lè sa a, yon PIM Prune. mesaj atravè koòdone Gi0/1 la. Yo voye PIM Register-Stop atravè unicast nan adrès kote Rejis PIM la soti.
Kòm nou te di pi bonè, le pli vit ke yon routeur voye yon PIM Join nan yon lòt, pou egzanp R5 a R4, Lè sa a, yon dosye yo ajoute nan R4:
Ki jan pwotokòl PIM la ap travay
Epi yo kòmanse yon revèy ke R5 dwe toujou ap reset revèy sa a PIM Join mesaj toujou ap, sinon R4 yo pral eskli nan lis la sortan. R5 ap voye chak 60 mesaj PIM Join.
Chanjman Tree ki pi kout.
Nou pral ajoute yon koòdone ant R1 ak R5 epi wè ki jan trafik ap koule ak topoloji sa a.
Ki jan pwotokòl PIM la ap travay
Ann sipoze ke trafik yo te voye ak resevwa dapre ansyen konplo R1-R2-R3-R4-R5, epi isit la nou konekte ak konfigirasyon koòdone ant R1 ak R5.
Premye a tout, nou dwe rebati tab routage unicast sou R5 e kounye a, rezo 192.168.1.0/24 la rive nan koòdone R5 Gi0/2. Koulye a, R5, k ap resevwa multicast sou koòdone Gi0/1, konprann ke règ RPF la pa satisfè e li ta pi lojik pou resevwa multicast sou Gi0/2. Li ta dwe dekonekte nan RPT epi bati yon pye bwa ki pi kout ki rele Pyebwa ki pi kout (SPT). Pou fè sa, li voye PIM Join nan R0 jiska Gi2/1 epi R1 kòmanse voye yon multicast tou nan Gi0/2. Koulye a, R5 bezwen dezabòne nan RPT pou yo pa resevwa de kopi. Pou fè sa, li voye Prune yon mesaj ki endike adrès IP sous la epi mete yon ti jan espesyal - RPT-bit. Sa vle di ke ou pa bezwen voye m trafik, mwen gen yon pi bon pye bwa isit la. RP voye mesaj PIM Prune tou bay R1, men li pa voye yon mesaj Register-Stop. Yon lòt karakteristik: kounye a R5 pral kontinyèlman voye PIM Prune nan RP, kòm R1 kontinye voye PIM Register nan RP chak minit. Jiskaske pa gen okenn nouvo moun ki vle trafik sa a, RP pral refize li. R5 fè RP konnen li kontinye resevwa multicast atravè SPT.
Rechèch RP dinamik.
Auto-RP.

Teknoloji sa a se pwopriyete Cisco epi li pa patikilyèman popilè, men li toujou vivan. Operasyon Auto-RP konsiste de de etap prensipal:
1) RP voye mesaj RP-Anonse nan adrès rezève a - 224.0.1.39, deklare tèt li RP swa pou tout moun oswa pou gwoup espesifik. Se mesaj sa a voye chak minit.
2) Yon ajan kat RP obligatwa, ki pral voye mesaj RP-Discovery ki endike pou ki gwoup ki RP ta dwe koute. Li soti nan mesaj sa a ke routeurs PIM regilye yo pral detèmine RP a pou tèt yo. Ajan kat la ka swa routeur RP tèt li oswa yon routeur PIM apa. Yo voye RP-Discovery nan adrès 224.0.1.40 ak yon revèy yon minit.
Ann gade nan pwosesis la an plis detay:
Ann konfigirasyon R3 kòm RP:

ip pim voye-rp-anonse loopback 0 dimansyon 10

R2 kòm ajan kat:

ip pim send-rp-discovery loopback 0 dimansyon 10

Ak sou tout lòt nou pral atann RP atravè Auto-RP:

ip pim autorp koute

Yon fwa nou konfigirasyon R3, li pral kòmanse voye RP-Announce:
Ki jan pwotokòl PIM la ap travay
Ak R2, apre yo fin mete ajan kat la, ap kòmanse tann pou mesaj RP-Announcer. Se sèlman lè li jwenn omwen yon RP li pral kòmanse voye RP-Discovery:
Ki jan pwotokòl PIM la ap travay
Nan fason sa a, le pli vit ke routeurs regilye (PIM RP Koute) resevwa mesaj sa a, yo pral konnen ki kote yo chèche pou RP a.
Youn nan pwoblèm prensipal yo ak Auto-RP se ke yo nan lòd yo resevwa mesaj RP-Announce ak RP-Discovery, ou bezwen voye PIM Join nan adrès 224.0.1.39-40, epi yo nan lòd yo voye, ou bezwen konnen ki kote a. RP sitiye. Pwoblèm poul ak ze klasik. Pou rezoud pwoblèm sa a, PIM Sparse-Danse-Mode te envante. Si routeur la pa konnen RP, Lè sa a, li opere nan Dans-mòd; si li fè sa, Lè sa a, nan Sparse-mòd. Lè PIM Sparse-mòd ak kòmandman pou koute ip pim autorp yo configuré sou interfaces routeurs regilye yo, routeur la pral opere nan mòd Dense sèlman pou multicasting dirèkteman nan pwotokòl Auto-RP (224.0.1.39-40).
BootStrap Routeur (BSR).
Fonksyon sa a travay menm jan ak Auto-RP. Chak RP voye yon mesaj bay ajan kat la, ki kolekte enfòmasyon kat epi li di tout lòt routeurs. Ann dekri pwosesis la menm jan ak Auto-RP:
1) Yon fwa nou konfigirasyon R3 kòm yon kandida yo dwe RP, ak lòd la:

ip pim rp-candidate loopback 0

Lè sa a, R3 pa pral fè anyen; nan lòd yo kòmanse voye mesaj espesyal, li premye bezwen jwenn yon ajan kat. Kidonk, nou ale nan dezyèm etap la.
2) Konfigure R2 kòm yon ajan kat:

ip pim bsr-candidate loopback 0

R2 kòmanse voye mesaj PIM Bootstrap, kote li endike tèt li kòm yon ajan kat:
Ki jan pwotokòl PIM la ap travay
Yo voye mesaj sa a nan adrès 224.0.013, ki pwotokòl PIM la itilize tou pou lòt mesaj li yo. Li voye yo nan tout direksyon ak Se poutèt sa pa gen okenn pwoblèm poul ak ze tankou te gen nan Auto-RP.
3) Le pli vit ke RP a resevwa yon mesaj nan routeur BSR la, li pral imedyatman voye yon mesaj unicast nan adrès routeur BSR la:
Ki jan pwotokòl PIM la ap travay
Apre sa, BSR a, li te resevwa enfòmasyon sou RP yo, pral voye yo pa multidifizyon nan adrès 224.0.0.13, ki se koute pa tout routeurs PIM. Se poutèt sa, yon analogue nan lòd la ip pim autorp koute pou routeurs regilye pa nan BSR.
Anycast RP ak Multicast Source Discovery Protocol (MSDP).
Auto-RP ak BSR pèmèt nou distribye chay la sou RP jan sa a: Chak gwoup multicast gen yon sèl RP aktif. Li p ap posib pou distribye chaj la pou yon gwoup multidiffusion sou plizyè RP. MSDP fè sa nan bay routeurs RP menm adrès IP ak yon mask 255.255.255.255. MSDP aprann enfòmasyon lè l sèvi avèk youn nan metòd yo: estatik, Auto-RP oswa BSR.
Ki jan pwotokòl PIM la ap travay
Nan foto a nou gen yon konfigirasyon Auto-RP ak MSDP. Tou de RP yo configuré ak adrès IP 172.16.1.1/32 sou koòdone Loopback 1 epi yo itilize pou tout gwoup yo. Avèk RP-Announce, tou de routeurs anonse tèt yo lè yo refere a adrès sa a. Ajan kat Auto-RP a, li resevwa enfòmasyon an, voye RP-Discovery sou RP a ak adrès 172.16.1.1/32. Nou di routeurs sou rezo a 172.16.1.1/32 lè l sèvi avèk IGP ak, kòmsadwa. Kidonk, routeurs PIM mande oswa anrejistre koule soti nan RP ki espesifye kòm pwochen hop la sou wout la nan rezo a 172.16.1.1/32. Pwotokòl MSDP nan tèt li fèt pou RP yo tèt yo fè echanj mesaj sou enfòmasyon multicast.
Konsidere topoloji sa a:
Ki jan pwotokòl PIM la ap travay
Switch6 difize trafik nan adrès 238.38.38.38 e jiskaprezan sèlman RP-R1 konnen sou li. Switch7 ak Switch8 te mande gwoup sa a. Routè R5 ak R4 pral voye PIM Join nan R1 ak R3, respektivman. Poukisa? Wout pou rive 13.13.13.13 pou R5 ap fè referans ak R1 lè l sèvi avèk metrik IGP, menm jan ak pou R4.
RP-R1 konnen sou kouran an epi yo pral kòmanse difize li nan direksyon R5, men R4 pa konnen anyen sou li, paske R1 pa pral tou senpleman voye li. Se poutèt sa, MSDP nesesè. Nou konfigirasyon li sou R1 ak R5:

ip msdp peer 3.3.3.3 konekte-sous Loopback1 sou R1

ip msdp peer 1.1.1.1 konekte-sous Loopback3 sou R3

Yo pral ogmante yon sesyon youn ak lòt epi lè yo resevwa nenpòt koule yo pral rapòte li bay vwazen RP yo.
Le pli vit ke RP-R1 resevwa yon kouran soti nan Switch6, li pral imedyatman voye yon mesaj unicast MSDP Sous-Aktif, ki pral gen enfòmasyon tankou (S, G) - enfòmasyon sou sous la ak destinasyon nan multicast la. Kounye a ke RP-R3 konnen ke yon sous tankou Switch6, lè li resevwa yon demann nan men R4 pou koule sa a, li pral voye PIM Join nan direksyon Switch6, gide pa tab la routage. An konsekans, R1 te resevwa yon PIM Join konsa ap kòmanse voye trafik nan direksyon RP-R3.
MSDP kouri sou TCP, RP yo voye youn ak lòt mesaj keepalive pou tcheke liveness. Revèy la se 60 segonn.
Fonksyon divize kanmarad MSDP nan diferan domèn rete klè, paske mesaj Keepalive ak SA pa endike manm nan nenpòt domèn. Epitou, nan topoloji sa a, nou teste yon konfigirasyon ki endike diferan domèn - pa te gen okenn diferans nan pèfòmans.
Si yon moun ka klarifye, mwen ta kontan li li nan kòmantè yo.

Sous: www.habr.com

Add nouvo kòmantè