Platí pro verze software 505 a vyšší.
Menu CNI (interface mezi kanálem a nódem) je identické pro všechny typy kanálů. Jeho popis je v kapitole 26 – „Přiřazení nódů ke kanálům“
Připomínáme, že např. provoz IP-M-IP a Morse Aplikační Server využívá user výstup, M-IP-M jde přes retranslační výstup, viz. dále.
Vnější podoba menu:
Channel to Node Interface:
retranslation | user lim
id N A t m | N A t Base m sec brc S e
(0) 0 NO AR | 1 MASK 00000000/08 ON OFF NONE
de(f)ault (r)ead (w)rite
(I)nit (S)ync
(q)uitZ MORSE main menu napiš Ehe Enter Enter
Ethernet: (e)nable:ON (s)peed:auto bps (p)romiscuous mode:OFF d(u)plex:auto (T)imer init level:0s Eth. adr(H)i:0002h Eth. adr(M)i:A953h Eth. adr(L)o:73B7h (R)XQ depth:16 R(X)Q count:16 (z)Status phy Restart (i)nit level:FEC (d)sc: 5810 de(f)ault (r)ead (w)rite (I)nit (S)ync (q)uit >>
Doporučuje se použít v tomto menu defaultní hodnoty. Ostatní jsou používány k servisním a vývojovým účelům.
Význam položek:
| Ethernet (e)nable |
|
| (s)peed:auto bps | — volba rychlosti Ethernetu
|
| (p)romiscuous mode |
|
| Full (d)uplex |
|
| (T)imer:0s | — interval vysílání testovacích paketů modulu Ethernet
|
| Eth. adr(H)i: 0002h | |
| Eth.adr(M)i: A958h | — střední část adresy |
| Eth.adr(L)o: 41E9h | — dolní část adresy |
| (R)XQ depth: 16 | — hloubka fronty RXQ pro přenos paketů z modulu Ethernet do CU, volitelné v rozsahu 1 až 32 |
| R(X)Q count: 16 | — počet bufferů, které operativně používá modul ethernet při své činnosti, volitelné 1 až 32 |
| (z)Status phy | — pro vývojové účely |
Z MORSE main menu napiš EPe Enter Enter.
Internet Protocol: Eid| ip address | net mask | gw | (0) C0A80009 192.168.0.9 FFFFFF00 255.255.255.0 00000000 0.0.0.0 de(f)ault (r)ead (w)rite (I)nit (S)ync (q)uit
Pokračuj: 0 Enter
Internet Protocol: (i)p adr:C0A80009h (g)ateway adr:00000000h (n)et mask:FFFFFF00h (G):0000 AR(P) parameters parame(t)ers (I)nit (W)rite (q)uit
Význam položek:
| (i)p adr: C0A80009h | – adresa modulu Ethernet v síti IP |
| (g)ateway adr: 00000000h | – IP adresa brány do cizích sítí |
| (n)et mask: FFFFFF00h | – maska definující adresní prostor vlastní sítě IP |
| (G):0000 | – debugging level (0–16) |
| AR(P) parameters | – parametry pro ARP komunikaci: Stiskni |
ARP: (A)RP ttl:30s A(R)P timeout:50ms proxy arp (m)ode:NORMAL Proxy Arp (B)ase:00000010 Proxy Arp (M)ask:000000F0 (p)rint ARP table (c)lean ARP table (s)ave ARP table (r)estore ARP table ipg(W) restart (q)uit
| (A)RP ttl: 30s | — doba platnosti ARP záznamu | |||
| A(R)P timeout: 50ms | — timeout pro odpověď ARP | |||
| proxy arp (m)ode | — tři následující parametry určují, na které dotazy ARP req bude kanál Ethernet odpovídat.
Více v příkladech v manuálu Jak na MORSE 3. | |||
| (p)rint ARP | — výpis aktuální tabulky | |||
| (c)lean ARP | — smaže tabulku | |||
| (s)ave ARP | — uloží tabulku ARP do paměti NVHeap | |||
| r)estore ARP | — přečte tabulku ARP z paměti NVHeap | |||
| ipg(W) restart | — restartuje protokol ipgw |
Uzamykání tabulky ARP (od fw 10.0.94.0)
Tabulka ARP se dynamicky mění. Po výměně rámců ARP REQ, ARP REP je
do tabulky doplněna nová položka nebo je obnoven její záznam o době
platnosti, po vypršení životnosti je záznam odstraněn. Tuto dynamiku je
možno vypnout uzamčením tabulky povelem proxy arp
(m)ode:...LOCK. Pro uzamčení je nutno použít analogickou verzi
proxy arp mode, např. pro NORMAL použijeme NORMAL LOCK. Pak protokol
Ethernet komunikuje pouze s IP adresami obsaženými v uzamčené
tabulce ARP. Odpovídá pouze na ARP REQ z adres obsažených
v tabulce a staré záznamy z tabulky ARP neodstraňuje. Tím je
zamezeno přenosu rámců z neznámých IP adres. Postup při
uzamčení:
Provedeme standardní konfiguraci kanálu Eth, např. v mode NORMAL.
Pomocí
(p)rint ARP tablezkontrolujeme, že všechny potřebné záznamy v tabulce byly vytvořeny.Uložíme tabulku do paměti NVHeap povelem
EPe 0Ps. Stav tabulky ARP v okamžiku uložení je rozhodující pro provoz ve stavu LOCK.Zálohujeme záznam v paměti NVHeap do paměti Flash povelem
cbto je(c)onfigure (b)ackupUzamkneme tabulku ARP povelem např. NORMAL LOCK:
EPe 0PmN,(q)uit,(I)nit,(W)rite. Tím je do tabulky přenesen stav z paměti NVHeap.Zkontrolujeme obsah uzamčené tabulky ARP povelem
EPe 0Pp, tabulka musí obsahovat záznamy pro všechny účastníky budoucí komunikace. Na místě doby platnosti záznamu je nula.Tento postup provedeme podle potřeby i na dalších CU na rozhraní MORSE – IP.
Další manipulace s tabulkou:
Tabulka nesmí být uzamknuta dříve, než je uložena povelem
(s)ave ARP table. Jinak dojde k zablokování komunikace na ethernetu buď ihned nebo po restartu CU.Načtení uložené tabulky se provede při inicializaci stavu
proxy arp (m)ode:LOCK, tedy i při startu v režimu LOCK.Při startu s vybitou zálohovací baterií se konfigurace (včetně ARP tabulky) obnoví z paměti flash, proto je potřebné provést backup povelem
cb.Stav tabulky uložené v NVHeap lze zjistit v menu
EPe 0Ppovely(r)estore ART tablea(p)rint ART table.
Přehled chování uzamčené tabulky ARP:
Jsou vypnuty timeouty a záznamy se neodmazávají.
Při odesílání rámce do sítě ethernet se nevysílá ARP. Rámce lze odesílat pouze na IP adresy obsažené v tabulce.
Přijetí rámce ze sítě ethernet je možné pouze od adres, které vyhovují kombinaci IP a MAC obsažené v tabulce. Ostatní rámce se zahodí.
Protokol ethernet odpovídá pouze na ty dotazy ARP REQ, jejichž IP a MAC jsou již obsaženy v tabulce.
Protokol ethernet nezapisuje nové položky do tabulky.
Při výměně hw u některého z účastníků komunikace se komunikace s ním přeruší (změna MAC adresy).
Přehledné znázornění popsaných procesů:
Příklad výpisu aktuální (neuzamčené) tabulky ARP:
ARP cache: IP Ether time 00 192.168.068.017 0010:6076:8351 19 01 192.168.068.016 0021:7093:d178 22
Výpis obsahuje IP a Ethernetovou adresu stanice, se kterou byl
vyměněn ARP paket a zbývající čas platnosti tohoto záznamu, viz
(A)RP ttl.
Příklad výpisu uzamčené tabulky ARP:
ARP cache: IP Ether time 00 192.168.068.017 0010:6076:8351 0 01 192.168.068.016 0021:7093:d178 0
| Poznámka | |
|---|---|
Pro uzamykání ARP tabulky je nutno použít Setr verze 10.0.94.0 a vyšší. |
Pokračování poslední položkou
tabulky EPe 0:
| parame(t)ers | — nastavení dalších parametrů |
Napiš t Enter
INTERNET PROTOCOL GATEWAY:
M-IP-M:
(A)rt:0; write (E)nable:ON
(b)ase:00000000 MAS(K):00000000 s(h)ift:0000 ->set Security off!
(r)epeats:0000 Sec(u)rity:ON (t)imeout:0 (p)roxy timeout:0s
(f)rag size:400bytes (g)lue (append) up to:0packets
IP-M-IP:
(I)PArt:0
b(a)se:00000000 (m)ask:00000000
IP(F)rag. size:552
MAS:
(s)Art:0; write (e)nable:ON
(B)ase:00000000 (M)ask:00000000
BEWARE! IF YOU CHANGE CONTENT OF THE ART TABLE,
YOU SHOULD RESTART (INIT) THIS PROTOCOL!
(P)inger (S)tatus
Firewall (T)ype:0000 A(d)dress:00000000 Mas(k):00000000
Unix Time:
e(n)able:OFF per(i)od:0s
time (H)ost:00000000
(q)uit
>>Před popisem směrování (gateway) si ukážeme povely (P)inger a Firewall:
ICMP ping: (t)arget:00000000h 0.0.0.0 pe(r)iod:1000ms p(a)ttern:DEDAh si(z)e:100 (s)tart r(e)port sto(p) (q)uit >>
Povelem (s)tart lze poslat ping
paket ICMP na IP adresu (t)arget a testovat tak
komunikaci.
| (t)arget: C0A80001h 192.168.0.1 | — cílová IP adresa |
| pe(r)iod: 5000 | — perioda opakování paketů [ms] |
| p(a)ttern: DEDAh | — vysílané hexa znaky |
| si(z)e: 100 | — celková délka vysílaného paketu |
| (s)tart | — start vysílání paketů |
| r(e)port | — zpráva o vysílání a příjmu |
| sto(p) | — konec vysílání |
IP rámce multicast
Menu Firewall umožňuje zpracovat IP rámce multicast:
Firewall (T)ype:0000 A(d)dress:00000000 Mas(k):00000000
| (T)ype |
|
V režimu 3 - mcast jsou některé přijaté IP rámce
šířeny dále jako MORSE broadcast pakety. Tyto IP rámce jsou vybírány
podle své adresy IP dest pomocí parametrů
A(d)dress a Mas(k), například:
A(d)dress:C0A821FF Mas(k):FFFFFFFF
nebo
A(d)dress:000021FF Mas(k):0000FFFF
Koncové CU musí mít nastaven parametr (T)ype:3,
parametry A(d)dress a Mas(k) jsou prázdné, viz
příklad v manuálu Jak na
MORSE 3. Všechny CU na trase MORSE musí mít správně nastaveny
parametry v menu Broadcast.
Povely ve skupině (S)tatus se používají pro servisní
účely.
Povely skupiny Unix Time umožňují získávání údaje
času z PC Unix.
Pro lepší orientaci v popisu směrování zde uvedeme znovu hlavní související menu včetně tabulek Art:
Etp: (i)p adr:C0A80009h (g)ateway adr:00000000h (n)et mask:FFFFFF00h (G):0000 AR(P) parameters parame(t)ers ...
INTERNET PROTOCOL GATEWAY:
M-IP-M:
(A)rt:0; write (E)nable:ON
(b)ase:00000000 MAS(K):00000000 s(h)ift:0000 ->set Security off!
(r)epeats:0000 Sec(u)rity:ON (t)imeout:0 (p)roxy timeout:0s
(f)rag size:400bytes (g)lue (append) up to:0packets
IP-M-IP:
(I)PArt:0
b(a)se:00000000 (m)ask:00000000
IP(F)rag. size:552
MAS:
(s)Art:0; write (e)nable:ON
(B)ase:00000000 (M)ask:00000000
BEWARE! IF YOU CHANGE CONTENT OF THE ART TABLE,
YOU SHOULD RESTART (INIT) THIS PROTOCOL!
(P)inger (S)tatus
Firewall (T)ype:0000 A(d)dress:00000000 Mas(k):00000000
...ART No 1: items: 3 default gw: C0A80F00 dest: gw: 6990508E C0A80F05 69905091 C0A80F06 69905094 C0A80F07 ART No 2: items: 2 default gw: 693A0000 dest: gw: C0A8050E 6932000E C0A80506 693A000D ART No 3: items: 3 default gw: 00000000 dest: gw: 690F9002 22B8711D 690F9042 22B85024 690F9043 22B80A01
Retranslace paketů ze sítě MORSE přes síť IP opět do sítě MORSE.
Konfigurace
na Net výstup nódu je připojen Eth
na retranslační výstup ethernetu je připojen nód
nenulový obsah (1–4) parametru
(A)rtaktivuje režim M–IP–M
Postup zpracování:
Ze sítě MORSE přichází paket s MORSE adresou
TO.Převod adres maskou
MORSE adresa
TOje porovnána s parametrem(b)asev rozsahu nulových hodnot parametruMAS(K), po bitech. Pokud je shodná, je adresaIPdestvytvořena maskováním.Z vlastní IP adresy CU je použita část, kde
MAS(K)obsahuje nuly. Z MORSE adresyTOje použita část, kdeMAS(K)obsahuje jedničky. Výsledná adresa IPdest je zpracována podle kroku 4.Na bitech, kde jsou v
MAS(K)jedničky, musí být v(b)asenuly.Pro převod adres maskou musí být nastaveno
Sec(u)rity:OFF.Převod adres Art tabulkou
Pokud nebyly splněny podmínky pro převod adresy maskou, je použita tabulka Art.
V tabulce
(A)rt, která přísluší k M–IP–M, se podle MORSE adresyTOurčí adresaIPdest.Není-li adresa
TOv tabulce, použije sedefault gwz této tabulky.Podle cílové IP adresy je určeno další směrování v síti IP pomocí parametrů z první části menu
Etp:Je-li splněna podmínka
(IPdest & (n)et mask) = ((i)p adr & (n)et mask)tedy je-li IPdest shodná s vlastní IP v rozsahu jedničkových hodnot (n)et mask, pak je paket odeslán na cílovou IP adresu. Není-li podmínka splněna, pak je paket odeslán na adresu
(g)ateway adr.MORSE paket je doplněn o hlavičku IP a odeslán do sítě IP. Mohou být využity parametry:
(r)epeats:0005 — max. počet opakování při průchodu přes IP
(t)imeout:100 — timeout (ms) pro čekání na ACK v IP
(p)roxy timeout: 0 s 10 a více – interval vysílání identifikačních paketů přes proxy server
0 – vypnuto
(f)rag size: 400 bytes — min. nastavitelná hodnota je 200, doporučeno 400 až 1400 – max. velikost paketu do IP, větší budou rozděleny, viz níže
(g)lue (append) up to: 0 packets — ve vývoji, vložit hodnotu 0 – max. počet připojitelných paketů
Paket putuje podle pravidel sítě IP.
Na výstupu ze sítě IP je odstraněna hlavička IP a paket je podán do sítě MORSE, kde pokračuje podle routingu MORSE.
![[Poznámka]](/images/radost/images/icons/note.png)
Poznámka Parametrem
write(E)nable:OFFmůžeme zakázat automatické vyplňováníArttabulky, které nastává v některých režimech.
Převod adres
maskou s vypnutým potvrzováním Sec(u)rity:OFF
dovoluje využít neomezený počet adres a využívá lépe přenosovou
kapacitu IP kanálu. Zabezpečení, pokud je potřebné, je nutno řešit na
jiných komunikačních vrstvách. Fragmentace zde nepracuje, doporučená
hodnota je (f)rag size: 1400 bytes, což je max. velikost
přenášeného paketu.
Převod adres tabulkou Art je
omezeno na cca 100 adres, přenosovou kapacitu IP kanálu využívá
z menší části. Při volbě Sec(u)rity:ON probíhá
fragmentace paketu na části podle parametru (f)rag size: 1400
bytes. Při volbě Sec(u)rity:OFF fragmentace
nepracuje, doporučená hodnota je (f)rag size: 1400 bytes,
což je max. velikost přenášeného paketu.
Retranslace paketů ze sítě IP přes síť MORSE opět do sítě IP.
Konfigurace:
na user výstup nódu je připojen Eth
na user výstup ethernetu je připojen nód
nenulový obsah (1–4) parametru
(I)PArtaktivuje režim IP–M–IP
Zpracování paketu probíhá v těchto krocích:
Ze sítě IP přichází na moji adresu
MyIPpaket opatřený cílovou adresouIPdest.Adresa MORSE dst je hledána v těchto krocích:
Art
Podle adresy
IPdestse hledá v tabulce(I)PArtpoložkagw, která se použije jako adresa destination v síti MORSE.Maska
Není-li
IPdestnalezena v levém sloupci tabulky(I)PArt, pak se provede porovnání adresy(b)asez menu IP-M-IP aIPdestpři použití bitově inverzní hodnoty(m)ask, tedy((b)ase & ~(m)ask) = (IPdest & ~(m)ask).Pokud je tato podmínka splněna, pak je cílová adresa MORSE
Morsedsturčena jako moje MORSE adresaMyMorsemaskovaná bitově inverzní hodnotou(m)askdoplněná oIPdstmaskovanou(m)asktedyMorsedst = (MyMorse & ~(m)ask) | (IPdst & (m)ask)Příklad 1:
MyIP 192.168.15.128 C0 A8 0F 80 IPdst 192.168.15.04 C0 A8 0F 04 (m)ask 0xFF 00 00 00 FF podmínka splněna MyMorse 69 0F 90 43 Morsedst >> 69 0F 90 04Default gw
Není-li podmínka splněna nebo je
(m)ask = 00000000, pak se použije adresadefault gwz tabulky(I)PArt.Příklad 2:
MyIP 192.168.15.128 C0 A8 0F 80 IPdst 192.168.05.06 C0 A8 05 06 (m)ask 0xFF 00 00 00 FF podmínka nesplněna ART1 default gw 69 3A 00 00 Morsedst >> 69 3A 00 00IP paket je doplněn o hlavičku MORSE a odeslán do sítě MORSE na adresu destination.
Paket projde sítí podle routingu MORSE.
Na výstupu ze sítě MORSE v CU, která má MORSE adresu
Morsedsta současně IP adresuCUadrIPje odstraněna hlavička MORSE.Podle cílové IP adresy je určeno další směrování v síti IP pomocí parametrů z menu
EPe0:Je-li splněna podmínka
(IPdest & (n)et mask) = (CUadrIP & (n)et mask), pak je paket odeslán na cílovou IP adresu.Příklad 3:
CUadrIP C0 A8 0F 20 IPdst paketu C0 A8 0F 04 (n)et mask FF FF FF 00 podmínka splněna paket odeslán na IP C0 A8 0F 04Není-li podmínka splněna, pak je paket odeslán na IP adresu
(g)ateway adr.Příklad 4:
CUadrIP C0 A8 0F 20 IPdst paketu C0 A8 10 04 (n)et mask FF FF FF 00 podmínka nesplněna (g)ateway adr C0 A8 0F 00 paket odeslán na IP C0 A8 0F 00
Používá se pro odesílání paketů z a do prostředí MORSE přes MORSE Aplikační Server do sítě IP:
Konfigurace:
na user výstup nódu je připojen Eth
na user výstup ethernetu je připojen nód
parametr
(s)Artodlišný od nuly nebo odoff(od fw 10.0.18.0) aktivuje režim MAS
Průchod paketu ze sítě MORSE přes MAS do IP
Ze sítě Morse přichází paket s cílovou MORSE adresou MasMorse, která přísluší aplikačnímu serveru.
Zkontroluje se, zda vyhovuje podmínce
(MasMorse & ~(M)ask) = ((B)ase & ~(M)ask)Pokud ano, pak je paket zpracován v Morse Application Serveru, pokud ne, pak je zpracován v
IP–M–IP. Další podmínkou zpracování v Morse App. Serveru je typ paketu uživatelský(user_data 0x09, prot_data 0x0A), nikoli retranslační.V tabulce (s)Art, která přísluší k Morse App. Server , se podle cílové Morse adresy najde položka gw, která je zpracována takto:
Dolní polovina položky
gwje použita jako dolní polovina výsledné IP adresy v délce 14 bitů zprava. 15. a 16. bit je použit k jiným účelům. Horní polovina IP adresy je doplněna z vlastní IP adresy CU.Horní polovina položky
gw(zpravidla22B8 hex) je převedena na (dec), zde8888, a stává se číslem portu UDP.
Paket je odeslán na takto vytvořenou IP adresu a UDP port.
Paket přicházející do MAS (Morse Appl. Server) obsahuje Morse adresy
srcadest. Po průchodu MAS obsahuje adresu IP, č. portu a src MORSE adresu.![[Poznámka]](/images/radost/images/icons/note.png)
Poznámka Parametrem
write(e)nable:OFFmůžeme zakázat automatické vyplňování Art tabulky, které nastává v některých režimech.
Vyslání paketu z IP aplikace přes MAS do sítě MORSE
Paket s cílovou Morse adresou
MorseDstpřichází z aplikace (démona) běžící na adreseIPAddra portuAppPort.Z položek
AppPortaIPAddrje sestavena položkagw, která je hledána vArttabulce. 14 LSB zIPAddrtvoří pravou částgw, 15. bit je 1 pro broadcast, 16. bit je nulový pro manuálně tvořenou Art, bity 17 až 32 jsou převzaty zAppPort.Takto vytvořená
gwje použita k nalezení příslušné položkydestv Art tabulce. Tatodestse stane adresousourceMORSE paketu, který je vyslán do sítě MORSE.Jetliže tedy vysílá aplikace zprávu zpět přes MAS do sítě MORSE, pak obsahuje IP adresu aplikace, číslo UDP portu a adresu
MORSE dst. Po zpracování v MAS obsahuje MORSE adresysrcadst.
Defaultní MORSE adresa pro směr IP —> MORSE
Pro fw 570 a vyšší.
Paket odesílaný z aplikace přes MAS do sítě MORSE nemá v některých případech předem určené číslo portu. Proto je možno definovat pro aplikaci defaultní MORSE adresu, která je v Art tabulce vyhledána ve třech krocích:
Po neúspěšném hledání ve sloupci
gwtabulky Arthledá se ve sloupci
destadresa00000000, které odpovídá položkagw, například22B86420, kde22B8je zvolené standardní číslo portu a6420je dolní polovina IP adresy aplikace. Tato dvojice00000000 22B86420musí být umístěna na konci Art tak, aby dvojice podle bodu 3, např.:
744901BB 22B86420ležela nad ní.
Tato položka
22B86420je pak vyhledána ve sloupcigwa k ní příslušná položka ve sloupcidest744901BBse pak stane MORSE adresousourcev odesílaném paketu.
Volba Art tabulky v režimu MAS
Ve starších fw volíme Art tabulku zápisem čísla 1 až 4 do
parametru (s)Art:, hodnota 0 vypíná režim MAS.
Od fw 10.0.18.0 volíme z nabídky:
sArt (f) off ...režim MAS vypnutý (1) ART1 ...Art1 (2) ART2 ...Art2 (3) ART3 ...Art3 (4) ART4 ...Art4 (9) ART9 ...MRouter zapisuje do souboru, ne do Art tabulky (s) single address ...jediná připojená IP adresa, viz níže
Režim single address je určen pro komunikaci s jedinou IP adresou, která je o 1 vyšší než adresa CU zapsaná v EPe. Komunikace probíhá mezi porty 8888dec a 8888dec. Příklad konfigurace:
Internet Protocol: Eid| ip address | net mask | gw | (0) C0A801E7 192.168.1.231 FFFFFF00 255.255.255.0 00000000 0.0.0.0 MAS: (s)Art:single address; write (e)nable:ON (B)ase:690F5600 (M)ask:00000000
Pro připojení PC s adresou 192.168.1.232 použijeme povel:
setr.exe -pIP192.168.1.231 -pw690f5600 -pm8888
Volba single address je vhodná pro komunikaci PC-CU pomocí protokolu SLIP.
Formát rámců MAS a UDP je popsán v dokumentu Formát UDP datagramu IPGW pro Morse.
