Asymmetric route
Summary
Assimetric route is formed typically, when in a network more router works. These can be in HA mode or connect different networks. We are talking about an asymmetric route if an host start a session via one router - typically via default router - , but the answer arrive via the other router.
There is no problem in WAN environment, in fact this is an advantage, because the one of base feature of IP network that there are several route between A and B point, what the routers choose dynamically.
In LAN environment the problem is that on L2 the answer arrives from other mac address, the communication was heading for. The man in the middle attack may cause this anyway, therefore the devices and protocols do not support the asymmetric route. Furthermore the asymmetric route sensitivity of an device depend on level of IP stack implementation too.
In a route table of a device can be only one (active) default route, therefore to avoid the problems and anomalies caused by asymmetric route the network topology must be logically and / or physically organized to the all network and services can be accessible via one default gateway.
The below article shows cases of the asymmetric route and possible methods of avoidance.
Multiple gateways
In this case difference networks are available behind the routers.
The asymmetric route can be eliminated with next methods in such a case.
Static route
bélyegkép|Multiple gateways & static route Az alapértelmezett átjáró mellett az operációs rendszereken lehetőség van statikus route-ok felvételére. A pédában az 1. router az alapértelmezett átjáró, a 2. router felé pedig statikus route-ot veszünk fel. Így a tárgyi host tudni fogja, hogy bizonyos hálózatok felé más irányba kell küldeni a csomagokat, mint az alapértelmezett átjáró.
Statikus route hozzáadása windowson:
route -p add 192.168.2.0 MASK 255.255.255.0 192.168.0.2
Statikus route hozzáadása linuxon:
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.0.2 dev eth0
vagy
ip route add 192.168.2.0/24 via 192.168.0.2 dev eth0
A módszer hátránya nyilvánvaló, sok host esetében sok manuális beállítás, illetve ha változik a hálózati konfiguráció, manuálisan kell lekövetni a változást is. Csak egy-két host esetében érdemes használni, például ha egy szervert el kell érni a 2. router mögötti hálózatból.
Statikus route terjesztése DHCP[1] -vel
A módszer lényege ugyanaz, mint a statikus route-nál, azzal a különbséggel, hogy a DHCP-n keresztül kapják meg a statikus route beállításokat a hostok. Így a konfiguráció rugalmassá és egyszerűvé válik.
A DHCP 33 (host), 121 (network) és 249 (Microsoft) opciója szolgáltatja a statikus route-okat, de hogy a host értelmezi e azokat, az már DHCP kliens implementáció kérdése. A magasabb szintű IP eszközök jellemzően kezelik (pl.: operációs rendszerek), de az egyszerűbbek már nem feltétlen (pl.: nyomtatók). Ezért ha a hálózat minden elemének minden esetben tudni kell kommunikálni a 2. hálózattal, akkor ez a módszer sem megfelelő.
Policy based routing
bélyegkép|Multiple gateways & policy based route Nincs más hátra, mint megváltoztatni a hálózati topológiát.
Az 1. routeren van egy statikus route a 2. router felé. Ez adott, hiszen az aszimmetrikus route létrejöttéhez is kell.
A 2. routernek viszont megmondjuk, hogy minden esetben az 1. routernek küldje a tárgyi hálózatba irányuló forgalmat, annak ellenére, hogy az eszköznek van interfésze (connected route) ebben a hálózatban. Ez ellenkezik az alap routing logikával, ezét kell felvenni rá egy szabályt.
Hogy egy router milyen beállításokkal képes ilyen működésre, illetve hogy képes e, az gyártó és típus kérdése, új eszköz integráció előtt mindenképpen tájékozódni kell róla.
Hátránya, hogy minden kereszt-hálózati forgalom (LAN 1 <-> LAN 2) megjelenik a LAN hálózatban. Sok hálózat összekötésére nem alkalmas. Jellemzően kényszerűségből választják ezt a módszert, ha valamely okból az egyéb megoldások nem használhatóak.
Helyes L3 topológia
bélyegkép|Right topology, one gateway in a networkA végső megoldás az, ha úgy szervezzük a hálózatot, hogy valóban csak egy átjáró (router) legyen egy alhálózatban. Az alhálózatok routerekkel, a routerek pedig dedikált interfészekkel és technikai alhálózatokkal kommunikáljanak egymással. Mindig erre kell törekedni, amennyiben nincs kizáró ok.
HA[2] router
bélyegkép|HA routers Ekkor a router-ek mögött ugyanazok a hálózatok érhetőek el. (vagy különbözőek, de ugyanaz a céljuk. pl.: redundáns ISP) Ez esetben azért helyezünk két routert a hálózatba, mert azt szeretnénk, hogy ha az egyik meghibásodik vagy egyéb más ok miatt nem tudja ellátni a feladatát, akkor a másik végezze el azt.
Egy alhálózatban nem lehet két eszköznek ugyanaz az IP címe. Tehát a két routernek különböző IP címe lesz, amiből csak az egyik lehet az alapértelmezett átjáró. Ezért HA átálláskor, ha a passzív router még elérhető a kliensek számára, akkor létrejön az aszimmetrikus route, ha pedig nem elérhető, akkor hiába működik a másik, a kliensek erről nem tudnak, így funkcionálisan nem fog működni a HA router cluster.
A megoldás valamely FHRP[3] protokoll, amit arra fejlesztettek ki, hogy két eszköz eldöntse éppen melyik használjon egy közös IP címet. Ha az egyik kiesik, a másik automatikusan felveszi azt, és folytatja a munkát vele.
A kliensek L2 szinten ARP[4] protokollon értesülnek a változásról, L3 szinten (számukra) nem történik változás a hálózatban.
Hogy a router milyen FHRP protokollt támogat, illetve hogy támogat e, az szintén gyártó és típus függő.