{"id":115,"date":"2009-01-27T22:26:56","date_gmt":"2009-01-27T21:26:56","guid":{"rendered":""},"modified":"2019-01-31T12:51:30","modified_gmt":"2019-01-31T11:51:30","slug":"6-ip-cez-atm-ip-over-atm","status":"publish","type":"post","link":"https:\/\/nil.uniza.sk\/en\/6-ip-cez-atm-ip-over-atm\/","title":{"rendered":"6 IP cez ATM (IP over ATM)"},"content":{"rendered":"<h1>6 IP cez ATM (IP over ATM)<\/h1>\n<p>V <b>IP cez ATM<\/b> v Linuxe s\u00fa podporovan\u00e9 Classical IP over ATM (<b>CLIP<\/b>, definovan\u00e9 v dokumente RFC1577), LAN Emulation (<b>LANE<\/b> verzia 1 a verzia 2) a Multi-Protocol over ATM (<b>MPOA<\/b>, iba klient).<\/p>\n<p><a name=\"s61\">&nbsp;<\/a><\/p>\n<h2>6.1 Classical IP over ATM &#8211; CLIP<\/h2>\n<p>Aby mohol be\u017ea\u0165 protokol IP cez protokol ATM je nutn\u00e9 zabezpe\u010di\u0165 mapovanie ATM adries na IP adresy. Situ\u00e1cia je obdobn\u00e1 ako pri mapovan\u00ed MAC adresy sie\u0165ovej karty v sieti Ethernet na IP adresu. Mapovanie ATM adries na IP  adresy zabezpe\u010duje <b>ATMARP<\/b>. ATMARP je v Linuxe implementovan\u00fd ako user space d\u00e9mon, ktor\u00fd je pou\u017eit\u00fd na generovanie a odpovedanie na ARP dopyty. S\u00fa\u010dasn\u00e1 \u010das\u0165 obsluhy v kerneli udr\u017euje mal\u00fa prekladov\u00fa tabu\u013eku obsahuj\u00facu \u010diasto\u010dn\u00e9 inform\u00e1cie potrebn\u00e9 na obsluhu ARP po\u017eiadaviek.<\/p>\n<p>ATMARP protokol je pod\u013ea \u0161pecifik\u00e1cie dokumentov <b>RFC1577<\/b> a <b>RFC1755<\/b> implementovan\u00fd ako user space d\u00e9mon v programe <b>atmarpd<\/b>. Pred spusten\u00edm atmarpd mus\u00ed u\u017e be\u017ea\u0165 signaliza\u010dn\u00fd d\u00e9mon <b>atmsigd<\/b> a mus\u00ed by\u0165 spr\u00e1vne nakonfigurovan\u00e1 ATM adresa bu\u010f ru\u010dne n\u00e1strojom <b>atmaddr<\/b> alebo automaticky pou\u017eit\u00edm d\u00e9mona <b>ilmid<\/b>, implementuj\u00faceho protokol ILMI.<\/p>\n<p>ATMARP po\u017eiadavky s\u00fa kernelom (pou\u017eit\u00edm relat\u00edvne jednoduch\u00e9ho protokolu)  zasielan\u00e9 ATMARP d\u00e9monu, ktor\u00fd udr\u017euje kontakt so sie\u0165ou.<\/p>\n<p><b>Atmarpd<\/b> m\u00f4\u017ee fungova\u0165 aj ako ATMARP klient alebo ako ATMARP server. Tie\u017e podporuje mo\u017enos\u0165 pridelenia jedn\u00e9mu ATM rozhraniu viacer\u00fdch ATM adries.<\/p>\n<p><b>Atmarpd<\/b> nem\u00e1 svoj konfigura\u010dn\u00fd s\u00fabor. Po spusten\u00ed je konfigurovan\u00fd n\u00e1strojom <b>atmarp<\/b> prilo\u017eenom v bal\u00edku ATM Tools. Ak je zapnut\u00e9 vypisovanie ladiacich spr\u00e1v (debugging messages), tak po ka\u017edej zmene ATMARP tabu\u013eky je tabu\u013eka zap\u00edsan\u00e1 do s\u00faboru <b>\/var\/run\/atmarpd.table<\/b> (vo\u013ebou -D je mo\u017en\u00e9 zmeni\u0165 adres\u00e1r do ktor\u00e9ho je tabu\u013eka zapisovan\u00e1). Vypisovanie ATMARP tabu\u013eky po ka\u017edej zmene je ve\u013emi pr\u00edjemn\u00e9 pri experimentovan\u00ed a sna\u017een\u00ed sa o lep\u0161ie pochopenie  problematiky IP cez ATM.<\/p>\n<p>Ak pri spusten\u00ed atmarpd nebe\u017e\u00ed signaliza\u010dn\u00fd d\u00e9mon, podpora spojen\u00ed SVC bude vypnut\u00e1.<\/p>\n<p>Niektor\u00e9 prep\u00edna\u010de pr\u00edkazov\u00e9ho riadku pop\u00ed\u0161eme tu, ostatn\u00e9 si vyh\u013eadajte v pr\u00edslu\u0161nej manu\u00e1lovej str\u00e1nke atmarpd(8)<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre><b>-b<\/b>\n        Po inicializ\u00e1cii proces pobe\u017e\u00ed na pozad\u00ed.\n        \n<b>-d<\/b>\n        Povol\u00ed v\u00fdpisy ladiacich spr\u00e1v. Norm\u00e1lne je atmarpd\n        relat\u00edvne tich\u00fd.\n        \n<b>-l logov\u00fd_s\u00fabor<\/b>\n        Diagnostick\u00e9 v\u00fdpisy b\u00fad\u00fa zapisovan\u00e9 do \u0161pecifikovan\u00e9ho\n        logov\u00e9ho s\u00faboru. \u0160peci\u00e1lne meno s\u00faboru <b>syslog<\/b> pou\u017eite\n        na presmerovanie v\u00fdpisov do syst\u00e9mov\u00e9ho loggera.\n        \n<b>-m<\/b>\n        Zapne spl\u00fdvanie pr\u00edch\u00e1dzaj\u00facich spojen\u00ed, ak je u\u017e adresa\n        zn\u00e1ma. Prich\u00e1dzaj\u00face spojenie pre ktor\u00e9 nebola prijat\u00e1\n        InARP odozva, ale ktor\u00e9 prich\u00e1dza z adresy u\u017e zap\u00edsanej v\n        ATMARP tabu\u013eke, je automaticky pridan\u00e9 do tejto polo\u017eky.\n        Toto prepoklad\u00e1 mapovanie 1:1 medzi IP adresou a ATM \n        adresou zap\u00edsanou v ATMARP. Norm\u00e1lne tento predpoklad\n        nie je zabezpe\u010den\u00fd \u010do mnohokr\u00e1t vy\u00fas\u0165uje do zostavovania\n        duplicitn\u00fdch spojen\u00ed. \u0160pecifik\u00e1cia RFC1577 v\u0161ak vy\u017eaduje aby\n        ATMARP server v\u017edy poslal InARP v\u00fdzvu na prich\u00e1dzaj\u00face \n        spojenie. Spl\u00fdvanie prich\u00e1dzaj\u00facich spojen\u00ed v tomto oh\u013eade\n        vlastne poru\u0161uje RFC1577.\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Polo\u017eky ATMARP tabu\u013eky s\u00fa pr\u00edstupn\u00e9 na \u010d\u00edtanie cez s\u00fabor <b>\/proc\/net\/atm\/arp<\/b>.<\/p>\n<p>Pr\u00edklad spustenia <b>atmarpd<\/b><\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@yamir \/]# atmarpd -b -l syslog\n[root@yamir \/]#\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Pr\u00edkaz spust\u00ed atmarpd na pozad\u00ed a v\u00fdpisy a hl\u00e1senia predmeruje do syst\u00e9mov\u00e9ho loggera.<\/p>\n<p>Program <b>atmarp<\/b> je n\u00e1stroj na konfigurovanie ATMARP d\u00e9mona. Potom ako u\u017e be\u017eia podporn\u00e9 programy atmsigd, ilmid a atmarpd prist\u00fapime k vytvoreniu ATM rozhrania a konfigur\u00e1cii rozhrania programom <b>ifconfig<\/b> ako ukazuje pr\u00edklad<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@yamir \/]# atmarp -c atm1\n[root@yamir \/]# ifconfig atm1 192.168.3.1 netmask 255.255.255.0 up\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Programom atmarp sme vytvorili nov\u00e9 ATM rozhranie <b>atm1<\/b> a programom ifconfig sme mu pridelili adresu <b>192.168.3.1<\/b>.<\/p>\n<p>Ak bud\u00fa vyu\u017e\u00edvan\u00e9 len PVC spojenia, m\u00f4\u017eu by\u0165 vytvoren\u00e9 pr\u00edkazom ako<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@yamir \/]# atmarp -s 192.168.2.54 1.0.39\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Vytvorili sme z\u00e1znam v tabu\u013eke ATMARP, ktor\u00fd zabezpe\u010d\u00ed, \u017ee pakety ur\u010den\u00e9 po\u010d\u00edta\u010du vlastniacemu rozhranie s IP adresou 192.168.2.54 bud\u00fa na ATM switch odoslan\u00e9 cez rozhranie atm1 s VPI 0 a VCI 39. Je zrejm\u00e9, \u017ee smerovanie k  po\u010d\u00edta\u010du s adresou 192.168.2.54 a PVC 0.39 musia by\u0165 nakonfigurovan\u00e9 i  na ATM switchi.<\/p>\n<p>Ak je za pr\u00edkazom \u0161pecifikovan\u00e9 k\u013e\u00fa\u010dov\u00e9 slovo null, je po\u017eit\u00e9 <b>NULL<\/b>ov\u00e9  zaobalenie (encapsulation). Pripom\u00ednam, \u017ee ARP vy\u017eaduje <b>LLC\/SNAP<\/b> zaobalenie. <b>NULL<\/b>ov\u00e9 zaobalenie m\u00f4\u017ee by\u0165 preto pou\u017eit\u00e9 len pre spojenia PVC.<\/p>\n<p>Pre vyu\u017eitie SVC spojen\u00ed je potrebn\u00e1 \u010fal\u0161ia konfigur\u00e1cia. Ak po\u010d\u00edta\u010d vystupuje ako ATMARP server, nepotrebuje \u017eiadnu pr\u00eddavn\u00fa konfigur\u00e1ciu. Inak mus\u00ed by\u0165 ATM adresa ATMARP servera zap\u00edsan\u00e1 v ATMARP tabu\u013eke. Toto dosiahneme pr\u00edkazom <b>atmarp<\/b> ako ukazuje pr\u00edklad<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@fedor tmp]# atmarp -s 192.168.3.0 \\\n&gt; 47.0005.80FFE1000000F20F3877.0020485B547A.00 \\\n&gt; arpsrv\n[root@fedor tmp]#\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>V pr\u00edklade sme pridali do ATMARP tabu\u013eky polo\u017eku identifikuj\u00facu ATM adresu ATMARP servera, ktor\u00fd zabezpe\u010duje preklad adries pre podsie\u0165 192.168.3.0.  Pripomeniem, \u017ee namiesto adresy m\u00f4\u017eeme pou\u017ei\u0165 meno, ktor\u00e9 sme si \u0161pecifikovali  v s\u00fabore <b>\/etc\/hosts.atm<\/b>. V\u0161etky polo\u017eky tabu\u013eky ATMARP vyp\u00ed\u0161eme pr\u00edkazom <b>atmarp -a<\/b> alebo si ich prezreme priamo v s\u00fabore <b>\/proc\/net\/atm\/arp<\/b>.<\/p>\n<p>Pr\u00edklad<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@atmrouter root]# atmarp -a\n----- Itf 0 (192.168.3.1, netmask 255.255.255.0) -----\nDefault QOS: ubr,aal5:max_sdu=9188\nIP 192.168.3.100, state VALID, addr windos, flags 0x8&lt;PUBL&gt;\n  windos (passive)\n    QOS: ubr,aal5:max_pcr=353207,max_sdu=9188\n    Send buffer: 2048\n  windos (passive)\n    QOS: ubr,aal5:max_pcr=353207,max_sdu=9188\n    Send buffer: 2048\n----- Unknown incoming connections -----\n----- Incoming unidirectional connections -----\n----- End of dump -----\n[root@atmrouter root]#\n[root@atmrouter root]# ifconfig\natm0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00\n-00-00-00-00-00-00\n          inet addr:192.168.3.1  Mask:255.255.255.0\n          UP RUNNING  MTU:9180  Metric:1\n          RX packets:0 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:100\n          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)\n\nlo        Link encap:Local Loopback\n          inet addr:127.0.0.1  Mask:255.0.0.0\n          UP LOOPBACK RUNNING  MTU:16436  Metric:1\n          RX packets:4 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:0\n\n[root@atmrouter root]#\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Po nakonfigurovan\u00ed CLIP (Classical IP over ATM) m\u00f4\u017eeme prev\u00e1dzkoka\u0165 na  vybudovanej sieti aplik\u00e1cie pou\u017e\u00edvaj\u00face protokol IP bez nutnosti nov\u00e9ho kompilovania alebo konfigurovania. Programy vlastne ani nevedia, \u017ee be\u017eia cez ATM.<\/p>\n<p>Nakoniec trochu testovania. Cez ATM s r\u00fdchlos\u0165ou 155 Mbps som dosiahol pri ve\u013ekosti IP paketu 9180 bajtov r\u00fdchlos\u0165 pribli\u017ene 110 Mbps. R\u00fdchlos\u0165 som meral len od oka &#8211; flood pingom a pribli\u017en\u00fa r\u00fdchlos\u0165 som vypo\u010d\u00edtal  na kalkula\u010dke.<\/p>\n<p><a name=\"s62\">&nbsp;<\/a><\/p>\n<h2>6.2 LAN emul\u00e1cia (LAN emulation)<\/h2>\n<p>Okrem Classical IP over ATM, m\u00f4\u017ee by\u0165 prenos IP cez ATM zabezpe\u010den\u00fd technikou LAN Emulation (LANE). LANE emuluje charakteristiky be\u017enej LAN siete ako napr. podpora broadcast vysielania a pod.<\/p>\n<p>Bal\u00edk <b>LANE<\/b> obsahuje 4 programy<\/p>\n<ul>\n<li>lecs &#8211; LAN Emulation Configuration Server d\u00e9mon<\/li>\n<li>bus &#8211; Broadcast and Unknown Server d\u00e9mon<\/li>\n<li>les &#8211; LAN Emulation Server d\u00e9mon<\/li>\n<li>zeppelin &#8211; ATM LAN Emulation klient d\u00e9mon (LED) Zeppelin<\/li>\n<\/ul>\n<p>Ak ste LAN emul\u00e1ciu zakompilovali do kernelu Linux ako modul, je protrebn\u00e9 ho pred pr\u00e1cou s ELAN nahra\u0165 ako ukazuje nasledovn\u00fd pr\u00edklad. Modul sa skompiloval do s\u00faboru <b>lec.o<\/b><\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@atmrouter \/]# modprobe lec\n[root@atmrouter \/]#\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a name=\"s621\">&nbsp;<\/a><\/p>\n<h3>6.2.1 Lecs &#8211; LANE Configuration Server<\/h3>\n<p>Program <b>lecs<\/b> implementuje LANE konfigura\u010dn\u00fd server, z ktor\u00e9ho LANE klienti z\u00edskavaj\u00fa nastavenie ako adresu LANE servera, typ ELAN, n\u00e1zov ELAN, maxim\u00e1lmu ve\u013ekos\u0165 paketu a in\u00e9. Lecs m\u00f4\u017ee definova\u0165 aj tzv. default ELAN &#8211; prednastaven\u00fa ELAN, kde sa LANE klient pripoj\u00ed ak ne\u0161pecifikuje n\u00e1zov ELAN, kam sa chce pripoji\u0165. Nie je strikne vy\u017eadovan\u00e9 aby pre ka\u017ed\u00fa ELAN existoval aj LANE konfigura\u010dn\u00fd server. Ak konfigura\u010dn\u00fd server nebe\u017e\u00ed, nastavenia, ktor\u00e9 by norm\u00e1lne klient z\u00edskaval od LANE konfigura\u010dn\u00e9ho servera mu m\u00f4\u017eeme zada\u0165 ru\u010dne na pr\u00edkazovom riadku.<\/p>\n<p>Pr\u00edklad konfigura\u010dn\u00e9ho s\u00faboru pre <b>lecs<\/b> \u0161tandartne ulo\u017een\u00e9ho v s\u00fabore <b>\/usr\/local\/etc\/lecs.conf<\/b> je<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre># Na\u0161a ATM adresa mus\u00ed by\u0165 pred v\u0161etk\u00fdmi ostatn\u00fdmi \n# ELAN nastaveniami.\n470023000000030300010002010020ea000ae905\n\n# Meno ELAN je vn\u00fatri hranat\u00fdch z\u00e1tvoriek.\n# Ni\u017e\u0161ie uveden\u00e9 parametre s\u00fa pre ELAN typu Ethernet\n[tut-lane1]\n\n# ATM adresa LANE servera pre ELAN 'tut-lane1'\nLES:=470023000000030300010002010020ea000ae901\n\n# 802_5 = TokenRing, 802_3 = Ethernet\nType:=802_3\n\n# 1515, 4544, 9234 alebo 18190 (1516 = Ethernet)\nMax_Frame:=1516\n\n# ATM adresy po\u010d\u00edta\u010dov, ktor\u00fdm umo\u017en\u00edme vyu\u017e\u00edva\u0165 t\u00fato ELAN.\n# Znak 'x' alebo 'X' je divok\u00e1 karta.\n470023000000030300010002010020ea0005aax0\n470023000000030000010002010020ea0005bx00\n47.002300000003030001000201.00603E2FDX23.00\n470023000000030300010002010020ea000Xxx00\n\n# ELAN 'tut-lane1' bude default ELAN\nDEFAULT\n\n# \u010eal\u0161ia defin\u00edcia ELAN\n[asdf]\nLES= 470023000000030300010002010020ea000ae902\nType=Ethernet\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Pravidl\u00e1 pre vyh\u013ead\u00e1vanie ELAN defin\u00edci\u00ed ako i ostatn\u00e9 konfigura\u010dn\u00e9 mo\u017enosti programu <b>lecs<\/b> n\u00e1jdete v manu\u00e1lovej str\u00e1nke lecs(8).<\/p>\n<p>Pr\u00edklad spustenia <b>lecs<\/b><\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@yamir \/root]# lecs -f \/usr\/local\/etc\/lecs.conf 2&gt;&amp;1 | \/usr\/bin\/logger &amp;\n[1] 5461\n[root@yamir \/root]#\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Spustili sme <b>lecs<\/b> s konfigur\u00e1ciou v konfigura\u010dnom s\u00fabore \/usr\/local\/etc\/lecs.conf. \u0160tandartn\u00fd v\u00fdstup stdout aj chybov\u00fd v\u00fdstup stderr bud\u00fa presmerovan\u00e9 do syst\u00e9mov\u00e9ho loggera.<\/p>\n<p><a name=\"s622\">&nbsp;<\/a><\/p>\n<h3>6.2.2 Bus &#8211; Broadcast and Unknown Server a les &#8211; LANE Server<\/h3>\n<p><b>Les<\/b> vykov\u00e1va riadiacu koordin\u00e1ciu pre emulovan\u00e9 LAN siete. LANE klienti si u servera registruj\u00fa svoje MAC adresy a\/alebo smerovacie deskriptory, ktor\u00e9 predstavuj\u00fa. Nesk\u00f4r sa na tieto inform\u00e1cie dopytuj\u00fa, ke\u010f chc\u00fa prelo\u017ei\u0165 MAC adresy alebo smerovacie dekriptory do ATM adries. Ostatn\u00e9 kontroln\u00e9 spr\u00e1vy, ktor\u00e9 si posielaj\u00fa medzi sebou ELAN klienti v ELAN sieti s\u00fa tie\u017e zasielan\u00e9 LANE serveru. Les rozpo\u0161le tieto spr\u00e1vy pomocou riadiaceho distribu\u010dn\u00e9ho VCC, ktor\u00fd maj\u00fa ustaven\u00fd v\u0161etci ELAN klienti.<\/p>\n<p><b>Bus<\/b> manipuluje s d\u00e1tami poslam\u00fdmi klientmi na tzv. broadcast a multicast MAC adresy a s niektor\u00fdmi d\u00e1tami smerovan\u00fdmi na unicast adresy. LANE klient m\u00e1  mo\u017enos\u0165 posla\u0165 d\u00e1ta smerovan\u00e9 na nejak\u00fa unicast adresu cez server BUS e\u0161te predt\u00fdm ne\u017e bola rozpoznan\u00e1 cie\u013eov\u00e1 ATM adresa a e\u0161te predt\u00fdm ako bol nadviazan\u00fd priamy d\u00e1tov\u00fd komunika\u010dn\u00fd kan\u00e1l.<\/p>\n<p>Servery <b>les<\/b> a <b>bus<\/b> maj\u00fa spolo\u010dn\u00fa konfigur\u00e1ciu. Uvedieme teraz pr\u00edklad takejto konfigur\u00e1cie a spustenia slu\u017eieb les a bus. Ostatn\u00e9 konfigura\u010dn\u00e9 mo\u017enosti oboch serverov z\u00edskate z manu\u00e1lov\u00fdch str\u00e1nok les(8) a bus(8).<\/p>\n<p>Pr\u00edklad konfigur\u00e1cie serverov <b>les<\/b> a <b>bus<\/b><\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[main]\nmemdebug=True\ndebug=True\n\n[load]\nmemdebug=True\ndebug=True\n\n[conn]\nmemdebug=True\ndebug=True\n\n# S1 - ATM adresa LANE servera\nS1=:47:00:23:00:00:00:03:03:00:01:00:02:01:00:20:ea:00:0a:e9:01\n\n# S2 - Typ ELAN\nS2=\"802.3\"\n\n# S3 - Maximum Frame Size\nS3=1516\n\n# S4 - Join Timeout, \u010cas po ktor\u00fd \u010dak\u00e1 LES na LE_JOIN_REQUEST predt\u00fdm ako \n# ukon\u010d\u00ed spojenie.\nS4=15\n\n# S5 - Maximum Frame Age, V s\u00fa\u010dasnosti nevyu\u017eit\u00e9.\nS5=6\n\n# S6 - BUS ATM adresa\nS6=:47:00:23:00:00:00:03:03:00:01:00:02:01:00:20:ea:00:0a:e9:02\n# S6 - M\u00f4\u017ee by\u0165 aj PVC\n#S6=0,0,170\n\nELANNAME=\"tut-lane2\"\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Ak pl\u00e1nujete aby na jednom po\u010d\u00edta\u010di be\u017ealo viacero d\u00e9monov na obsluhu LANE  prostredia, mus\u00edte pre ka\u017ed\u00fd \u0161pecifikova\u0165 in\u00fa lok\u00e1lnu ATM adresu. Je to kv\u00f4li tomu, \u017ee LANE d\u00e9mony pou\u017e\u00edvaj\u00fa rovnak\u00e9 <b>SAP<\/b>y (Service Access Points) a potrebuj\u00fa r\u00f4zne ATM adresy aby mohli rozozn\u00e1va\u0165 medzi r\u00f4znymi spojeniami.<\/p>\n<p><a name=\"s623\">&nbsp;<\/a><\/p>\n<h3>6.2.3 LANE klient &#8211; zeppelin<\/h3>\n<p>LANE klient je entita koncovej stanice, ktor\u00e1 zabezpe\u010duje rozposielanie d\u00e1t, rozpozn\u00e1vanie adries a ostan\u00e9 riadiace funkcie. Na komunik\u00e1ciu s ostatn\u00fdmi komponetmi ELAN siete pou\u017e\u00edva <b>LUNI<\/b> rozhranie. Zabezpe\u010duje vy\u0161\u0161ie protokolov\u00e9 vrstvy a API zhodn\u00e9 s IEEE 802.3\/Ethernet a IEEE 802.5\/Token Ring LAN.<\/p>\n<p>Technol\u00f3gia LANE je nez\u00e1visl\u00e1 od technol\u00f3gie CLIP. Podobne ako CLIP, pozost\u00e1va z \u010dasti user space d\u00e9mona a z \u010dasti implementovanej v kerneli obsahuj\u00facej <b>LANE ARP<\/b> tabu\u013eku. Zeppelin tie\u017e riadi oper\u00e1cie v LANE ARP tabu\u013eke.<\/p>\n<p>Pred spusten\u00edm klienta <b>zeppelin<\/b> musia be\u017ea\u0165 <b>atmsigd<\/b> a <b>ilmid<\/b>. Ke\u010f sa zeppelin spust\u00ed, kernel vytvor\u00ed nov\u00e9 rozhranie, ktor\u00e9 je potom nastaven\u00e9 pr\u00edkazom <b>ifconfig<\/b>.<\/p>\n<p>Niektor\u00e9 d\u00f4le\u017eit\u00e9 parametre n\u00e1stroja <b>zeppelin<\/b> si uvedieme priamo tu, ostatn\u00e9 vo\u013eby n\u00e1jdete v manu\u00e1lovej str\u00e1nke zeppelin(8)<\/p>\n<p>Syntax pr\u00edkazu<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>zeppelin [-c LECS_address | -s LES_address] [-e esi] \n         [-n VLAN_name] [-m mesg_mask] \n         [-l listen_address | selector] [-i interface_number] \n         [-I physical_interface_number] \n         [-t 1516|1580|4544|9234|18190] [-1 ]\n         [-2] [-p] [-F logfile] [-f Fore_specific_name]\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Niektor\u00e9 vybran\u00e9 parametre s\u00fa<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre><b>-c lecs_adresa<\/b>\n        ATM adresa LANE konfigura\u010dn\u00e9ho servera. Ak nie je \u0161pecifikovan\u00e1,\n        je pou\u017eit\u00fd tzv. well-known server.\n        \n<b>-n meno_elan<\/b>\n        Meno ELAN do ktorej za\u0161leme \u017eiadosti o pripojenie.\n\n<b>-1<\/b>\n        Zeppelin pobe\u017e\u00ed ako LANE klient verzia 1.\n        \n<b>-2<\/b>\n        Zeppelin pobe\u017e\u00ed ako LANE klient verzia 2. T\u00e1to vo\u013eba je potrebn\u00e1\n        pre MPOA.\n\n<b>-F logov\u00fd_s\u00fabor<\/b>\n        S\u00fabor do ktor\u00e9ho bude zeppelin posiela\u0165 spr\u00e1vy a chybov\u00e9 hl\u00e1senia\n        namiesto prednastaven\u00e9ho strerr chybov\u00e9ho v\u00fdstupu. Ak pou\u017eijete\n        ako n\u00e1zov s\u00faboru \u0161peci\u00e1lne meno <b>syslog<\/b>, v\u00fdstup bude\n        presmerovan\u00fd do syst\u00e9mov\u00e9ho loggera.\n        \n<b>-f fore_runner_popiska<\/b>\n        Ak pou\u017e\u00edvate ATM switch firmy <b>Fore Systems<\/b>, m\u00f4\u017eete\n        \u0161pecifikova\u0165 popisku, ktor\u00e1 sa zobraz\u00ed ak na ATM switchi\n        v pr\u00edkazovom m\u00f3de zad\u00e1te pr\u00edkaz <b>conf lane les show advanced<\/b>.\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u010cas\u0165 LEC implementovan\u00e1 v kerneli podporuje 40+8 LEC rozhran\u00ed na jednej stanici. Emulovan\u00e9 rozhrania typu <b>Ethernet<\/b> s\u00fa \u010d\u00edslovan\u00e9 od <b>lec0<\/b> do <b>lec39<\/b>. Emulovan\u00e9 rozhrania typu <b>Token Ring<\/b> s\u00fa \u010d\u00edslovan\u00e9 od <b>lec40<\/b> do <b>lec47<\/b>.<\/p>\n<p>Pr\u00edklad<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@atmrouter \/]# zeppelin -n tut-lane1 -2 -F syslog -f slavco &amp;\n[1] 24875\n[root@atmrouter \/]# ifconfig lec0 192.168.1.1 netmask 255.255.255.0 up\n[root@atmrouter \/]# ifconfig\nlec0      Link encap:Ethernet  HWaddr 00:20:48:5B:54:7A\n          inet addr:192.168.1.1  Bcast:192.168.1.255\n                  Mask:255.255.255.0\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\n          RX packets:8 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:100\n          RX bytes:766 (766.0 b)  TX bytes:62 (62.0 b)\n\nlo        Link encap:Local Loopback\n          inet addr:127.0.0.1  Mask:255.0.0.0\n          UP LOOPBACK RUNNING  MTU:16436  Metric:1\n          RX packets:0 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:0\n          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)\n\n[root@atmrouter \/]# \n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Ako vidno, pripojili sme sa do ELAN <b>tut-lane1<\/b> protokolom LANE verzia 2. D\u00e9mon <b>zeppelin<\/b> ostal be\u017ea\u0165 na pozad\u00ed a v\u0161etky spr\u00e1vy boli presmerovan\u00e9 do syst\u00e9mov\u00e9ho loggera. Potom sme programom <b>ifconfig<\/b> nakonfigurovali rozhranie, ktor\u00e9 kernel vytvoril spusten\u00edm programu zeppelin a pridelili mu IP adresu 192.168.1.1. Teraz u\u017e m\u00f4\u017eeme spokojne pingova\u0165 sie\u0165 a uk\u00e1za\u0165 si klientov pripojen\u00fdch do ELAN <b>tut-lane1<\/b>.<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@atmrouter \/]# ping -b 192.168.1.0\nWARNING: pinging broadcast address\nPING 192.168.1.0 (192.168.1.0) from 192.168.1.1 : 56(84) bytes of data.\nWarning: time of day goes back, taking countermeasures.\n64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=537 usec\n64 bytes from 192.168.1.15: icmp_seq=0 ttl=255 time=904.105 msec (DUP!)\n64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=80 usec\n64 bytes from 192.168.1.15: icmp_seq=1 ttl=255 time=3.727 msec (DUP!)\n64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=93 usec\n64 bytes from 192.168.1.15: icmp_seq=2 ttl=255 time=3.227 msec (DUP!)\n64 bytes from 192.168.1.1: icmp_seq=3 ttl=255 time=89 usec\n64 bytes from 192.168.1.15: icmp_seq=3 ttl=255 time=3.224 msec (DUP!)\n\n--- 192.168.1.0 ping statistics ---\n4 packets transmitted, 4 packets received, +4 duplicates, 0% packet loss\nround-trip min\/avg\/max\/mdev = 0.080\/114.385\/904.105\/298.489 ms\n[root@atmrouter \/]# \n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Z pignu vid\u00edme, \u017ee n\u00e1m funguje aj broadcast vysielanie. Na na\u0161e v\u00fdzvy n\u00e1m okrem n\u00e1s odpovedal aj Fore Runner switch ktor\u00fd m\u00e1 v tejto ELAN IP adresu 192.168.1.15.<\/p>\n<p>Pri nakonfigurovan\u00ed rozhrania <b>lec0<\/b> kernel vyp\u00edsal hl\u00e1senie<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>Apr 25 13:53:49 atmrouter zeppelin: main.c: foreId :'slavco'\nApr 25 13:53:49 atmrouter zeppelin: main.c: Our ATM address: \natmrouter.fri.utc.sk\n\nApr 25 13:53:49 atmrouter kernel: lec.c: Sep  6 2001 17:30:24 initialized\nApr 25 13:53:49 atmrouter kernel: lec0: Initialized!\nApr 25 13:53:49 atmrouter kernel: atm_connect (TX: cl 1,bw 0--1,sdu 1516; \nRX: cl 1,bw 0-0,sdu 1516,AAL 5)\nApr 25 13:53:49 atmrouter kernel: atm_connect (TX: cl 1,bw 0--1,sdu 1516; \nRX: cl 1,bw 0-0,sdu 1516,AAL 5)\nApr 25 13:53:49 atmrouter kernel: atm_connect (TX: cl 0,bw 0-0,sdu 1516; \nRX: cl 1,bw 0-353207,sdu 1516,AAL 5)\nApr 25 13:53:49 atmrouter kernel: atm_connect (TX: cl 1,bw 0--1,sdu 1516; \nRX: cl 1,bw 0-0,sdu 1516,AAL 5)\nApr 25 13:53:49 atmrouter kernel: atm_connect (TX: cl 0,bw 0-0,sdu 1516; \nRX: cl 1,bw 0-353207,sdu 1516,AAL 5)\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Stav a obsah <b>LANE ARP<\/b> tabu\u013eky mo\u017eno prezera\u0165 cez s\u00fabor <b>\/proc\/net\/atm\/lec<\/b> s\u00faborov\u00e9ho syst\u00e9mu <b>proc<\/b>. Pre ka\u017ed\u00fa polo\u017eku s\u00fa zaznamenan\u00e9 MAC adresa, ATM adresa a status. Ak m\u00e1 polo\u017eka nejak\u00e9 akt\u00edvne spojenia, s\u00fa tu zaznamenan\u00e9 tie\u017e identifik\u00e1tory t\u00fdchto spojen\u00ed.<\/p>\n<p>Napr\u00edklad<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>Itf  MAC          ATM destination                          Status     \n       Flags VPI\/VCI Recv VPI\/VCI\nlec0 ffffffffffff 47000580ffe1000000f20f38770020480f3877f0 ESI_FORWARD\n_DIRECT 0002  0 509\nlec0 ffffffffffff 47000580ffe1000000f20f38770020480f3877f0 ESI_UNKNOWN\n        0000               0 510\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a name=\"s63\">&nbsp;<\/a><\/p>\n<h2>6.3 MPOA &#8211; Multi-Protocol over ATM<\/h2>\n<p>Linux <b>MPOA klient<\/b> implementovan\u00fd v d\u00e9mone <b>mpcd<\/b> pokra\u010duje v trad\u00edcii rozdelenia probl\u00e9mu na user space d\u00e9mon a kernel space \u010das\u0165. User space d\u00e9mon sprac\u00fava riadiace r\u00e1mce, k\u00fdm \u010das\u0165 implementovan\u00e1 v kerneli udr\u017eiava <b>ingress<\/b> a <b>egress<\/b> (cache) vyrovn\u00e1vacie pam\u00e4te a zabezpe\u010duje rozposielanie paketov.<\/p>\n<p>Ak ste podporu MPOA zakompilovali do kernelu Linux ako modul, je protrebn\u00e9 ho pred pr\u00e1cou s MPOA nahra\u0165 ako ukazuje nasledovn\u00fd pr\u00edklad. Modul sa skompiloval do s\u00faboru <b>mpoa.o<\/b><\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@atmrouter \/]# modprobe mpoa\n[root@atmrouter \/]#\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Syntax d\u00e9mona <b>mpcd<\/b> je<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>mpcd [-s Control ATM address] [-l Data ATM address] \n     [-c MPS control ATM address] [-i Interface number]\n     [-m MPS MAC address ] [-L LEC address [-n ELAN name]\n     [-C LECS Address]]\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Parametre a vo\u013eby n\u00e1jdete v manu\u00e1lovej str\u00e1nke mpcd(8).<\/p>\n<p>Pred spusten\u00edm <b>mpcd<\/b> u\u017e musia be\u017ea\u0165 d\u00e9mony atmsigd a ilmid. Ke\u010f\u017ee MPOA sleduje toky d\u00e1t v IP vrstve generovan\u00e9 ELAN sie\u0165ami, mus\u00ed be\u017ea\u0165 aj d\u00e9mon <b>zeppelin<\/b>. Poradie, v ktorom mus\u00edme zapn\u00fa\u0165 d\u00e9mony zeppelin a mpcd nie je striktne  stanoven\u00e9. V be\u017eiacom syst\u00e9me m\u00f4\u017eete teda hociktor\u00fd z d\u00e9monov re\u0161tarn\u00fa\u0165 bez potreby re\u0161tartovania druh\u00e9ho z nich. Naj\u013eah\u0161ia cesta ako vypn\u00fa\u0165 MPOA je zabi\u0165 (kill) be\u017eiaci proces mpcd.<\/p>\n<p>Pr\u00edklad<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@yamir \/root]# zeppelin &amp;\n[1] 5478\n[root@yamir \/root]# ifconfig lec0 10.1.1.42 netmask 255.255.255.0 \\\n&gt; broadcast 10.1.1.255 up\n[root@yamir \/root]# mpcd -s mybox1 -l mybox2 &amp;\n[2] 5524\n[root@yamir \/root]# zeppelin -i 2 -l mybox3 -n myelan -p &amp;\n[3] 5525\n[root@yamir \/root]# ifconfig lec2 10.1.2.42 netmask 255.255.255.0 \\\n&gt; broadcast 10.1.2.255 up\n[root@yamir \/root]# mpcd -i 2 -s mybox4 -l mybox5 &amp;\n[4] 5531\n[root@yamir \/root]#\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>MPOA d\u00e9mon po\u017eaduje dve r\u00f4zne lok\u00e1lne ATM adresy, ktor\u00e9 pou\u017eije na ustavenie spojenia a prenos d\u00e1t, a na riadenie spojen\u00ed. ATM adresy m\u00f4\u017eu by\u0165 rovnak\u00e9 ak\u00e9 sme pou\u017eili pre d\u00e9mon zeppelin ale musia by\u0165 r\u00f4zne od t\u00fdch, ktor\u00e9 sme pou\u017eili pre ostatn\u00e9 be\u017eiace MPOA d\u00e9mony.<\/p>\n<p>\u0160tandartne mpcd nevy\u017eaduje konfigura\u010dn\u00e9 \u00fadaje od LANE konfigura\u010dn\u00e9ho servera. Potrebn\u00e9 prep\u00edna\u010de na pr\u00edkazovom riadku a pr\u00edklad po\u017eitia LECS je uk\u00e1zan\u00fd v pr\u00edklade prilo\u017eenom v manu\u00e1li k mpcd(8).<\/p>\n<p>Polo\u017eky MPOA <b>ingress<\/b> a <b>egress<\/b> (cache) vyrovn\u00e1vac\u00edch pam\u00e4t\u00ed m\u00f4\u017eete sledova\u0165 cez s\u00fabor <b>\/proc\/net\/atm\/mpc<\/b>.<\/p>\n<p>Linux MPOA tie\u017e podporuje triedu slu\u017eieb CBR pre skratkov\u00e9 ELAN SVC spojenia namiesto prednastavenej triedy slu\u017eieb UBR. QOS parametre bud\u00facich skratkov\u00fdch spojen\u00ed MPOA m\u00f4\u017eu by\u0165 nastavovan\u00e9 a pozme\u0148ovan\u00e9 cez u\u017e spom\u00ednan\u00fd s\u00fabor <b>\/proc\/net\/atm\/mpc<\/b>.<\/p>\n<p>Pr\u00edklad<\/p>\n<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"cmds\">\n<tbody>\n<tr>\n<td>\n<pre>[root@yamir \/root]# echo \"add 130.230.54.146 tx=80000,1600 rx=tx\" \\\n&gt; &gt; \/proc\/net\/atm\/mpc # generate enough traffic to trigger a shortcut\n[root@yamir \/root]# cat \/proc\/net\/atm\/mpc\nQoS entries for shortcuts:\nIP address\n  TX:max_pcr pcr     min_pcr max_cdv max_sdu\n  RX:max_pcr pcr     min_pcr max_cdv max_sdu\n130.230.54.146\n     80000   0       0       0       1600\n     80000   0       0       0       1600\n\nInterface 2:\n\nIngress Entries:\nIP address      State     Holding time  Packets fwded  VPI VCI\n130.230.4.3     invalid   1160          0\n130.230.54.146  resolved  542           151            0   109\n...\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Nadviazali sme skratkov\u00e9 spojenie (<b>shortcut connection<\/b>) k IP adrese  130.230.54.146 s parametrami ako vidno z pr\u00edkladu. Na internete mo\u017eno n\u00e1js\u0165 patche roz\u0161iruj\u00face detekciu tokov na pln\u00fa podporu tokov cez vrstvu 4. Toky cez vrstvu 4 predstavuj\u00fa tok aplik\u00e1cia-aplik\u00e1cia, s\u00fa identifikovan\u00e9 p\u00e4ticou (protokol, lok\u00e1lna adresa, lok\u00e1lny port, vzdialen\u00e1 adresa, vzdialen\u00fd port). Patche s\u00fa pr\u00edstupn\u00e9 na <a href=\"ftp:\/\/sunsite.tut.fi\/pub\/Local\/linux-atm\/mpoa\"> ftp:\/\/sunsite.tut.fi\/pub\/Local\/linux-atm\/mpoa<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<h1>6 IP cez ATM (IP over ATM)<\/h1>\n<p>V <b>IP cez ATM<\/b> v Linuxe s&uacute; podporovan&eacute; Classical IP over ATM (<b>CLIP<\/b>, definovan&eacute; v dokumente RFC1577), LAN Emulation (<b>LANE<\/b> verzia 1 a verzia 2) a Multi-Protocol over ATM (<b>MPOA<\/b>, iba klient).<\/p>","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[178],"tags":[],"class_list":["post-115","post","type-post","status-publish","format-standard","hentry","category-atm-en"],"taxonomy_info":{"category":[{"value":178,"label":"ATM"}]},"featured_image_src_large":false,"author_info":{"display_name":"palo73","author_link":"https:\/\/nil.uniza.sk\/en\/author\/palo73\/"},"comment_info":0,"category_info":[{"term_id":178,"name":"ATM","slug":"atm-en","term_group":0,"term_taxonomy_id":429,"taxonomy":"category","description":"","parent":0,"count":23,"filter":"raw","cat_ID":178,"category_count":23,"category_description":"","cat_name":"ATM","category_nicename":"atm-en","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/posts\/115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/comments?post=115"}],"version-history":[{"count":0,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/posts\/115\/revisions"}],"wp:attachment":[{"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/media?parent=115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/categories?post=115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/tags?post=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}