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)uit
Z 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 table
zkontrolujeme, ž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
cb
to je(c)onfigure (b)ackup
Uzamkneme 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 0P
povely(r)estore ART table
a(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)rt
aktivuje 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
TO
je porovnána s parametrem(b)ase
v rozsahu nulových hodnot parametruMAS(K)
, po bitech. Pokud je shodná, je adresaIPdest
vytvořena maskováním.Z vlastní IP adresy CU je použita část, kde
MAS(K)
obsahuje nuly. Z MORSE adresyTO
je 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)ase
nuly.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 adresyTO
určí adresaIPdest
.Není-li adresa
TO
v tabulce, použije sedefault gw
z 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 Parametrem
write(E)nable:OFF
můžeme zakázat automatické vyplňováníArt
tabulky, 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)PArt
aktivuje 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
MyIP
paket opatřený cílovou adresouIPdest
.Adresa MORSE dst je hledána v těchto krocích:
Art
Podle adresy
IPdest
se hledá v tabulce(I)PArt
položkagw
, která se použije jako adresa destination v síti MORSE.Maska
Není-li
IPdest
nalezena v levém sloupci tabulky(I)PArt
, pak se provede porovnání adresy(b)ase
z menu IP-M-IP aIPdest
př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
Morsedst
určena jako moje MORSE adresaMyMorse
maskovaná bitově inverzní hodnotou(m)ask
doplněná oIPdst
maskovanou(m)ask
tedyMorsedst = (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 04
Default gw
Není-li podmínka splněna nebo je
(m)ask = 00000000
, pak se použije adresadefault gw
z 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 00
IP 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
Morsedst
a současně IP adresuCUadrIP
je 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 04
Není-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)Art
odliš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
gw
je 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
src
adest
. Po průchodu MAS obsahuje adresu IP, č. portu a src MORSE adresu.Poznámka Parametrem
write(e)nable:OFF
můž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
MorseDst
přichází z aplikace (démona) běžící na adreseIPAddr
a portuAppPort
.Z položek
AppPort
aIPAddr
je sestavena položkagw
, která je hledána vArt
tabulce. 14 LSB zIPAddr
tvoří 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á
gw
je použita k nalezení příslušné položkydest
v Art tabulce. Tatodest
se stane adresousource
MORSE 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 adresysrc
adst
.
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
gw
tabulky Arthledá se ve sloupci
dest
adresa00000000
, které odpovídá položkagw
, například22B86420
, kde22B8
je zvolené standardní číslo portu a6420
je dolní polovina IP adresy aplikace. Tato dvojice00000000 22B86420
musí být umístěna na konci Art tak, aby dvojice podle bodu 3, např.:
744901BB 22B86420
ležela nad ní.
Tato položka
22B86420
je pak vyhledána ve sloupcigw
a k ní příslušná položka ve sloupcidest
744901BB
se pak stane MORSE adresousource
v 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.