Spolehlivost – nedílná a často opomíjená součást bezpečnosti
7. díl: Redundance – PRP – Parallel Redundancy Protocol
2/2017; Autor: Ing. Vilém Jordán, PCD, certifikovaný designer dle ČSN ISO /IEC 27001:2014
Druhým řešením řízení sítě s nulovým časem rekonfigurace sítě na záložní je PRP.
Na rozdíl od HSR je toto řešení nezávislé na topologii. Může tedy pracovat nejen v kruhu, ale v sítích se strukturou hvězdy, stromu atd. Každý uzel má opět dva porty, které mají stejnou MAC adresu i IP adresu. Každý z těchto portů je napojen do jedné ze dvou fyzicky oddělených paralelně fungujících sítí.
Dvě oddělené Ethernet sítě (LAN) podobné topologie pracují paralelně. Každý dvojnásobně připojený uzel s PRP (= DANP) má rozhraní pro každou LAN. Zdroj DANP odešle rámec současně do obou LAN. DANP cíl dostane při běžném provozu oba rámce a zahodí duplikát. Jednotlivě připojené zařízení (SAN) obdrží pouze jeden rámec. Pokud selže jedna LAN, cílové DANP pracuje s rámy z druhé LAN. Problém vznikne v případě SAN, která budou připojena způsobem dle předcházejícího obrázku. Pokud selže síť, ke které jsou tato SAN připojena, nemají náhradní zdroj informací.
Stejně jako u HSR je možné SAN připojit přes RedBox a tím vyřešit uvedený problém.
Akceptace a odstranění duplikátů
Každý uzel obdrží stejný rámec dvakrát, pokud pracují obě redundantní LAN bezchybně.
Teoreticky není třeba odstraňovat duplikáty na linkové vrstvě. Jakákoli komunikace nebo aplikační software musí být schopen vypořádat se s duplikáty. Přepínání sítí (např. 802.1D RSTP) může vygenerovat duplikáty. Většina aplikací pracuje nad TCP, který byl navržen tak, aby se duplikátů zbavil. Aplikace na UDP nebo L2 protokolech (publisher/subscriber), musí být schopny ignorovat duplikáty, protože jsou závislé na nespojované komunikaci.
PRP může fungovat bez filtrace duplikátů. Režim “ Duplicate Accept“, který se používá pro testování. Pro běžný provoz PRP používá režim „Duplicate Discard“, ve kterém duplikáty odstraňuje. Je to potřebné především pro řízení a kontrolu redundance.
Každý rámec je rozšířen o sequence counter, lane indicator, a size field and a suffix. To je vloženo do payload a pro normální provoz je tedy neviditelné. Odesílatel vloží stejnou hodnotu sequence counter do obou rámců dvojice a zvýší ji o jednu pro každý další poslaný rámec.
Přijímač sleduje sequence counter pro každý pro každý zdroj (dle MAC adresy). Rámec se stejným zdrojem a sequence counter přicházející z druhé LAN je ignorován. Pro dohled nad sítí udržuje každý uzel tabulku všech jiných uzlů v síti. To umožňuje detekovat absenci uzlů i chyby linek ve stejnou dobu.
Přijímač detekuje, zda je rámec zaslán dvojitě připojenému uzlu PRP nebo je odeslána samostatně připojenému uzlu bez redundance. Přijímač určuje PRP rámce pomocí PRP sufixu a velikosti datového pole. Pokud je v rámci PRP sufix a posledních 12 bitů rámce odpovídá velikosti payload, přijímač předpokládá, že jde o PRP rámec (kandidát na odstranění).
V rámci zaslanému jednotlivě připojenému uzlu je pravděpodobnost 228, že velikost pole odpovídá payload. Nicméně rámec nelze likvidovat, pokud druhý rámec přichází z druhé LAN ze stejného zdroje a s tím stejným pořadovým číslem a se správným identifikátorem linky. To není možné, protože jednotlivě připojený uzel je připojen pouze k jedné LAN (polovina PRP sítě).
Umístění PRP sufixu za payload umožňuje SAN (uzly, které neumí PRP – jednotlivě připojené uzly, jako jsou přenosné počítače apod.), aby akceptovali PRP rámce. Všechny jednotlivě připojené uzly ignorují oktety mezi payload a FCS, protože je považují za výplň – padding.
Z tohoto důvodu mají všechny protokoly postavené na vrstvě 2 samostatně pole (LT) s informací o velikosti payload a samostatně kontrolní součet FCS.
Do payload Ethernet rámců (L2) jsou na 3. vrstvě rozděleny a vloženy potřebná přenášená data doplněná o veškeré IP služební informace. Z pohledu L2 jde pouze o přenášená data. Zařízení pracující na L3 musí tato data z rámce přečíst, dekódovat a provést patřičné operace. S částí RCT (redundancy control trailer) je i nadále zacházeno jako s výplní (padding) a pohledu dekódování dat je ignorována.
PRP kontroluje nepřetržitě všechny linky. Aby se nespoléhalo pouze na cyklické zasílání dat aplikací, každý DANP pravidelně vysílá kontrolní rámec, který označuje jeho stav. Doba je cyklu kontrolních rámců může být poměrně dlouhá (několik vteřin), protože kontrolní rámec není potřebný pro přechod na záložní trasy, ale pouze pro kontrolu ne/existence redundance.
Změny v topologii jsou sdělovány přes SNMP nebo Link manager.
Switche jsou jednotlivá připojená zařízení a mají různé IP adresy v každé LAN, i když
jejich funkce může být stejná jako odpovídající Switch v druhé LAN. Každý uzel má PRP SNMP agenta ke sledování redundance.
PRP může řídit hlavní procesor zařízení, ale i co-procesor nebo FPGA síťového adapteru.
PRP – pozitiva a negativa
Pozitiva:
– nulová doba rekonfigurace na záložní trasu
– nezávislé na topologii
– aplikačně nezávislé, hodí se do všech sítí Ethernet
– používá standardní přepínače a nemodifikované protokoly (ARP, DHCP, TCP / IP, …)
– umožňuje připojení uzlů s jakýmkoliv portem jiného uzlu do jedné sítě (bez redundance)
– neporušuje nezávislost řízení jiných redundantních sítí
– monitoruje neustále redundanci obou aktivních LAN
– monitoruje aktuální topografie obou sítí (přes správu sítě / SNMP)
– kompatibilní s IEEE 1588v2 (PTPv2) – redundantní hodiny
– není potřeba speciálního hardware jako u HSR
Negativa:
– vyžaduje kompletní zdvojení sítě (to je cena za jakékoli řešení plné redundance)
– omezeno L2 broadcast doménou
– vyžaduje, aby jednotlivě připojené uzly, které potřebují komunikovat spolu navzájem, byly všechny ve stejné síti LAN (nebo připojeny přes „RedBox“)
– stojí režii čtyři bajty v Ethernet rámci
Zdroje:
Kirrmann H.: Parallel Redundancy Protocol an IEC standard for a seamless redundancy method applicable to hard-real time Industrial Ethernet, presentace ABB Corporate Research, Switzerland, 2011
Jordán V., Ondrák V.: Infrastruktura komunikačních systémů II., Kritické aplikace, Akademické nakladatelství CERM, s.r.o., 2015, ISBN 978-80-214-5240-4