Přenos paketů se zabezpečuje tak, že přijímající strana paket zkontroluje a odešle potvrzení (acknowledge = ACK) o bezchybném přijetí každého paketu. Vysílající strana po obdržení této zprávy považuje přenos za ukončený. Pokud dostane zprávu NAK o chybném přenosu nebo nedostane ACK do určené doby (timeout), vyšle paket znovu a toto vysílání případně opakuje až do vyčerpání určeného počtu opakování (repeat).
Zabezpečení přenosu (security) se provádí samostatně na každém úseku trasy. Samostatně je zabezpečen přenos paketu mezi uživatelským zařízením a portem SCC (podle vlastností použitého protokolu) a samostatně přenos na jednotlivých úsecích trasy MORSE.
Kontrola bezchybnosti přeneseného paketu se provádí tak, že vysílající strana provede s paketem stanovené matematické operace, výsledek připojí na konec paketu a pak paket i s kontrolním součtem odešle. Přijímající strana provede s paketem tytéž operace a porovná svůj výsledek s obdrženým kontrolním součtem. Pokud součty souhlasí, je vysoká pravděpodobnost, že při přenosu nedošlo k chybě a je odesláno hlášení ACK.
Uživatelský kanál
Přenos mezi uživatelským zařízením a kanálem SCC je zabezpečen podle použitého protokolu. Některý protokol zabezpečení neprovádí (async.link) a proto je vhodný jen pro linky, které jsou již samy velmi spolehlivé, některé protokoly umožňují ve svých parametrech zabezpečení zapnout nebo vypnout (RDS), některé provádí zabezpečení vždy (MARS-A). Pro zdárný přenos musí být na obou koncích sériové linky tytéž protokoly se stejným nastavením parametrů.
Síťový a linkový kanál MORSE
Pokud kanál SCC přijme paket od vnějšího zařízení, upraví jej do
jednotného formátu pro síť MORSE. Ten obsahuje mimo jiné bajt
packet type
s bitem security , podle kterého se
aktivuje systém zabezpečeného přenosu v každém kroku sítí
MORSE.
Kanál SCC se přitom chová podle parametru sec
v menu SIe
, který může nabýt hodnot ON,
OFF, user.
Tyto se nastavují v menu
SIe1u
kombinací parametrů user se(c)
a
(s)ecurity.
Channel to Node Interface: retranslation | user+service lim id N A t m | N A t Base m sec brc S e (0) 0 NO AR | 1 NO AR usr OFF NONE (1) 0 NO AR | 2 MASK 00000000/08 ON OFF NONE (2) 0 NO AR | 1 MASK 00000000/08 OFF OFF NONE (3) 0 NO AR | 0 MASK 00000000/08 usr OFF NONE
Účinek parametru sec
na nastavení typu paketu:
parametr security bit security SIe1uc SIe1us SIe v typu paketu user se(c): (s)ecurity: sec OFF ON ON zapnuto ON OFF OFF OFF vypnuto OFF ON OFF/ON usr podle packet type v příchozím paketu
V posledním případě, kdy je v SIe nastaveno
usr
, se zabezpečení výsledného paketu řídí podle typu příchozího
paketu. Parametr SIe1us
zde nemá význam:
security bit: příchozí paket výsledný paket ON ON OFF OFF není obsažen ON
Důležité | |
---|---|
Změna nastavení default: do verze fw 721 byl parametr SIe sec = ON od verze fw 723 je parametr SIe sec = usr |
Takto vytvořený bit security
v typu paketu
(viditelný v monitoringu iMS
a iMF
) pak
zapíná zabezpečení při rádiovém přenosu, jehož opakovací parametry jsou
nastaveny v menu FPe
v odstavci ACK.
RF channels: Access |ACK |coding |Mobile id a del l num TO|fix var rep P hT|mod typ|base mask center per (0) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF (1) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF (2) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF (3) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF (4) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF
Timeout
je nastaven součtem
fix+(0až3)var[ms]
, kde (0až3)
je náhodné číslo,
které zajišťuje, aby se opakovaně vzájemně neblokovalo vysílání ze dvou
stanic. Maximální počet opakování je určen parametrem rep
.
Pro ilustraci je možno použít následující konfiguraci:
Nód 690F1240
nám
simuluje uživatelské zařízení nazývané zde terminál, které předává
pakety do nódu MORSE sítě 690F1241
(CU = Communication
Unit).
Terminál
Z menu its
je vyslán do nódu 40 povel, aby nód
vygeneroval paket a odeslal jej na cílovou adresou 40. Nód tak
učiní a při následném řešení routingu odešle tento paket na svůj
výstup user
, protože cílová adresa je shodná s jeho
vlastní adresou.
Paket je předán do portu SCC2, kde je nastaven převod adres tabulkou Art1, který cílovou adresu 40 změní na 45. V menu SPe je nastaven protokol RDS, jehož parametry umožňují vyzkoušet několik variant zabezpečení.
CU – Communication Unit
Paket opatřený nyní cílovou adresou 45 je předán kříženou
asynchronní linkou do portu SCC1. Vstupující paket sledujeme v bodě
A monitoringem SCC1. Zde je sestaven paket MORSE a je opatřen
typem paketu podle parametru SIe1u sec. Výsledný paket předávaný
v bodě B do nódu 690F1241
sledujeme monitoringem
nódu.
Z nódu je paket odeslán kanálem RFC na adresu 45, která však není v dosahu a proto nepřichází ACK. Můžeme tedy sledovat v bodě C funkci opakovaného vysílání v monitoringu RFC.
V terminálu i v CU je použit protokol RDS v jehož parametrech je nastaveno:
(a):1000ms – timeout
(r):1 – počet opakování
(m) – tvar kontrolního součtu
(c) – zapnutí funkce ACK
Pomocí parametrů (m) a (c) modelujeme různé situace:
Terminál generuje pakety s jiným kontrolním součtem než který očekává CU, ACK terminálu je vypnuto.
Terminál: Communication unit: Parametry SCC2 Parametry SCC1 RDS parameters: RDS parameters: (a):1000 (r):1 (m):0000 (a):1000 (r):1 (m):FFFF (c) :OFF (c) :OFF
Monitoring na straně CU:
>> 13:55:08.222 rx;i 7 | S01 4445 0200 AAAA 00
SCC1 v CU paket přijal, podle kontrolního součtu jej vyhodnotil jako vadný a proto z něj nevytvořil paket MORSE a neposlal jej dále do nódu.
Terminál opět generuje pakety s nesprávným kontrolním součtem ale očekává ACK.
Terminál: Communication unit: Parametry SCC2 Parametry SCC1 RDS parameters: RDS parameters: (a):1000 (r):1 (m):0000 (a):1000 (r):1 (m):FFFF (c) :ON (c) :OFF
Monitoring:
>> 14:02:58.074 rx;i 7 | S01 4445 0200 AAAA 00 14:02:59.078 rx;i 7 | S01 4445 0200 AAAA 00
SCC1 v CU paket vyhodnotil jako vadný ale nemá povoleno vysílání ACK, proto terminálu neposílá ani ACK ani zamítnutí NAK. Terminál tedy po uplynutí timeoutu 1000 ms vysílání 1x opakuje, je nastaveno (r):1.
Terminál generuje paket se stejným kontrolním součtem jaký
očekává CU. Parametr SIe sec
v CU je nastaven na
OFF.
Terminál: Communication unit: Parametry SCC2 Parametry SCC1 RDS parameters: RDS parameters: (a):1000 (r):1 (m):FFFF (a):1000 (r):1 (m):FFFF (c) :ON (c) :ON
Nastavení SIe sec pro SCC1 je OFF:
Channel to Node Interface: retranslation | user+service lim id N A t m | N A t Base m sec brc S e (0) 0 NO AR | 1 NO AR usr OFF NONE (1) 0 NO AR | 1 NO AR OFF OFF NONE (2) 0 NO AR | 1 MASK 00000000/08 usr OFF NONE (3) 0 NO AR | 0 MASK 00000000/08 usr OFF NONE
Monitoring:
>> 15:13:24.257 rx;i 7 | S01 4445 0200 AAAA 21 15:13:24.257 tx 1 | S01 06 15:13:24.257| |690F1245 690F1241|S01I OUT 2||09 0user AAAA 15:13:24.257|690F1245 690F1241|690F1245 690F1241|01D RFTX 2 09 4dat AAAA
Na přijatý paket vyslal SCC1 potvrzení ACK = 06, proto již
terminál neopakuje vysílání. SCC1 z úspěšně zkontrolovaného paketu
vytvořil paket MORSE. Podle parametru sec=OFF v menu SIe je
paketu určen typ 09, jak je vidět z monitoringu výstupu
z S01 do nódu 690F1241
. Typ 09 obsahuje informaci,
že paket je předáván sítí MORSE nezabezpečeně. RF kanál tedy vyslal
paket na adresu 690F1245
a přestože od ní nedostal ACK, nedošlo k opakovanému
vysílání.
Z monitoringu je také patrno, že při vytvoření paketu MORSE
v SCC1 byla z původního paketu převzata data AAAA, ze
zkrácené adresy 45 byla vytvořena adresa MORSE 690F1245
. Ostatní části původního
paketu, která bude možno opět rekonstruovat v SCC na výstupu ze
sítě MORSE, se rádiovým kanálem nepřenášejí.
Parametry linkového spoje terminálu i CU zůstávají stejné jako v předchozím případě, tentokrát je nastaven v SCC1 v menu SIe parametr sec=ON.
V menu FPe jsou nastaveny parametry pro opakování na kanálu RFC1 takto fix=600, var=400, rep=2:
RF channels: Access |ACK |coding |Mobile id a del l num TO|fix var rep P hT|mod typ|base mask center per (0) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF (1) NORMAL 16 16 4 10| 600 400 2 30|REP DBL|OFF (2) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF (3) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF (4) NORMAL 16 16 4 10| 600 400 5 30|REP DBL|OFF
Monitoring:
>> 15:34:26.742 rx;i 7 | S01 4445 0200 AAAA 21 15:34:26.742| |690F1245 690F1241|S01I OUT 2||89 0user AAAA 15:34:26.742 tx 1 | S01 06 15:34:26.742|690F1245 690F1241|690F1245 690F1241|020 RFTX 2 89 7dat AAAA 15:34:28.563|690F1245 690F1241|690F1245 690F1241|020 RFTX d 2 C9r7dat AAAA 15:34:29.993|690F1245 690F1241|690F1245 690F1241|020 RFTX d 2 C9r7dat AAAA
Z bezchybného paketu, který přišel po lince do SCC1, zde
byl vytvořen paket MORSE. Podle parametru sec=ON byl mu určen typ 89
(zabezpečený) a takto byl přijat nódem 690F124
1. Nód jej vyslal přes kanál
RFC a protože nepřišla odpověď, byl podle parametru rep ještě 2x
opakován.
Stejný efekt by měla hodnota parametru sec = usr
v menu SIe, protože paketu, který ve svém protokolu
neobsahuje informaci security se přiděluje v SCC typ zabezpečený.
Pokud by však byl na portu použit například protokol MARS-A, který
i na sériové lince přenáší informaci o typu paketu, řídil by se
podle ní i typ paketu MORSE přidělený v SCC1.
Do sestavy byla doplněna CU 690F1245
, která na RFC přijme paket
a odešle potvrzení:
>> 09:24:49.702 rx;i 7 | S01 4445 0200 AAAA 21 09:24:49.702| |690F1245 690F1241|S01I OUT 2||89 0user AAAA 09:24:49.703 tx 1 | S01 06 09:24:49.703|690F1245 690F1241|690F1245 690F1241|022 RFTX 2 89 1dat AAAA 09:24:49.743|690F1241 690F1245| |022*31~ 96 0*06 ack
Z monitoringu je vidět, jak na paket 4445 0200 AAAA
21
přijatý z terminálu bylo odesláno potvrzení
06
. Paket byl upraven do tvaru MORSE s typem
89
a předán do nódu. Odtud byl vyslán RF kanálem na
adresu 690F1245
a bylo přijato ACK z této adresy. Tím byla vyplněna úloha
nódu 690F1241
a další zabezpečené předání paketu je již věcí následujících
nódů.