770 likes | 897 Views
Mobil hálózatok és alkalmazásaik tehetséggondozó program. Dr. Bilicki Vilmos bilickiv @ inf.u-szeged.hu Szoftverfejlesztési Tanszék. Hálózati réteg. OSI – Hálózati réteg TCP/IP – Internet réteg Feladata: Hálózatok összekötése logikai útvonalak mentén Skálázható megoldás biztosítása
E N D
Mobil hálózatokésalkalmazásaiktehetséggondozó program Dr. Bilicki Vilmos bilickiv@inf.u-szeged.hu Szoftverfejlesztési Tanszék
Hálózati réteg • OSI – Hálózati réteg • TCP/IP – Internet réteg • Feladata: • Hálózatok összekötése logikai útvonalak mentén • Skálázható megoldás biztosítása • Címzési rendszer biztosítása • Ismertebb megoldások: • X.25, FrameRelay, ATM, … • IPv4 • IPv6 • IEEE világ után IETF világ
X.25 • ITU-T WAN szabvány (1970) • A sok hibával rendelkező vonalakon megbízható kommunkáció • Elemei: • Data Terminal Equipment (DTE) • Data CircuitTerminatingEquipment (DCE) • Packet-Switching Exchange (PSE)
Működése • DTE-DTE kommuikáció • Full-duplex • Erőforrás lefoglalás (hívás felépítés,…) • Működése: • Datagram • Virtuális áramkörök: • SwitchedVirtualCircuit (SVC) • PemanentVirtualCircuit (PVC) • X.121-es címek • Kihalóban van
IPv4 – TCP/IP Internet réteg • Kézbesítés: • Legjobb szándék szerint (Best effort), nincs garancia • Elemei • IP csomagok • TCP • UDP • ICMP • IGMP • … • Egyéb csomagok • ARP • RARP • IP címzés • Hierarchikus cím tartomány • A cím és a topológia és a cím tartomány együtt van definiálva • Forgalomirányítók • Tipikusan a csomag cél címe alapján hozzák meg döntéseiket • Minden csomagot külön kezelnek • Kommunikációs módok: • Pont – Pont (Unicast) • Üzenetszórás (Broadcast) • Többesküldés (Multicast)
IPv4 csomag felépítése • Fejléc • Verzió: 0100 • Fejléc hossz: min. 20 oktetmax. 24 oktet • Type of Service: Általában két részre osztják: • Precedencia (Prioritás) • TOS (Késleltetés, Sávszélesség, Megbízhatóság, Pénz) • Diffserv-nél használják • Csomag hossz: max 64K, tipikusan 1500 Byte • Azonosító (a darabolt csomag részek azonosítója) • Jelző zászlók: nem darabolható (MTU tesztelés), darab jön még • Time-to-Live: Hurkok kezelése, implementáció függő, tarceroute! • Protocol: ICMP, IGMP, TCP, UDP, RSVP, OSPF, … • Fejléc ellenőrző kód • Opciók: • Laza forrás forgalomirányítás • Szigorú forgalom irányítás • Útvonal naplózása • Időbélyeg rögzítés • Tartalom
Fragmentálás és összefűzés • MaximalTransfer Unit – MTU • Fejléc mezők • Az eredeti csomag azonosítása (ID bitek) • A darab csomag helyének azonosítása (8 bájtonként) • Ha egy darab elveszik, az egészkidobható!!!!
IPv4 címek • 32 bites címek • Minden eszköznek egyedi IP cím (elvileg -> NAT/PAT, Proxy,…) • Hierarchikus címzés • Hálózat cím - a hálózatot azonosítja • Host cím – a hálózatra kötött eszközt azonosítja az adott hálózaton belül • Ábrázolása: • Bináris (időnként jobban megérthető, valójában ezt látja a forgalomirányító) 100000000100000000100000000100000000 • Decimális (leggyakoribb) 128.128.128.128 • Hexadecimális (ritkán pl.: SNMP ábrázolás) 80:80:80:80
Cím tartományok • Cím osztályok • Első oktet szabály: • A 1000 – 0 - 127 • B 11xx – 128 -191 • C 1110 – 192 - 223 • A osztályú címek nagy hálózatoknak, B osztály címek közepes hálózatoknak, C osztályú címek kicsi hálózatoknak • Cím maszk (Addressmask) a hálózati és a host részt különíti el • Típusai: • A osztályú címek: 8 bit -> 255.0.0.0 = /8 • B osztályú címek: 16 bit -> 255.255.0.0 = /16 • C osztályú címek: 24 bit -> 255.255.255.0 = /24 • A cím és a maszk logikai és kapcsolata adja meg a hálózati címet
Alhálózat • Az előző felosztásban egy B osztályú cím esetében egy hálózaton 65000 eszköz lenne ez egy kicsit sok… • Alhálózatok segítségével lehet tovább osztani a nagy címtartományokat • A host részből is hozzácsapunk néhányat bitet a hálózati részhez • Alhálózati maszkkal határozzuk ezt meg (subnet mask) (hosszabb mint a hálózati maszk! További álatalánosítás osztály mentes címzés clasless) • IP cím: • Hálózat • Alhálózat • Host cím
IP cím osztályok • A,B,C,D,E osztályú címek • Foglalt címek: • Host rész 1 – broadcast • Host rész 0 – networkaddress • Privát cím tartományok
Forgalomirányító • Általában a cél IP cím és a forgalomirányító táblája alapján hozza meg döntéseit
ARP • Az IP cím nem elegendő a kommunikációhoz • Szükség van 2 rétegbeni címre is • Átjáró címe • A cél címe • AddressResolutionProtocol (ARP) • IP címhez keresünk MAC címet
ICMP • Internet ControlMessageProtocol • RFC 792, RFC 1700 • Faladata a hálózat menedzselése • Az ICMP üzenetek elvesztése nem jár újabb ICMP üzenetek kiküldésével • Típusai: • Hiba üzenetek • Kérdések • Válaszok • Gyakran használt ICMP üzenetek: • Echorequest – echoreply -> Ping • Echorequest – echoreply + TTL-> Traceroute
A cél elérhetetlen • Destination unreachable
IPv6 • Filozófiája: Az IPv4-en alapuló Internet nem lett volna ilyen sikeres, ha nem lett volna jó megoldás • Az IPv4-el kapcsolatos tapasztalatokat azonban beleépítették • Fix fejléc • Nincs fejléc ellenőrző összeg • Nincs ugrásonkénti darabolás • Probléma az IPv4-el: a cím tartomány kimerülőben van • IPv4 32 bites címtartomány • IPv6 128 bites címtartomány • Kommunikációs módok: • Unicast • Multiast • Anycast
IPv6 fejléc • 64 bites, fix méretű • Verzió (Version) - 0110 • Osztály (Class) – Forgalom típus • Folyam címke (Flow Label) – azonos elbánásmód • A tartalom hossza (Length of the payload) • 64k de van Jumbogramm opció • A következő fejléc típusa (Type of next header) • Maximális ugrásszám (Hop limit) • + opcionális fejlécek láncolt listaként
IPv6 opcionális fejlécek • Routing • Laza forrás forgalomirányítás • Szigorú forrás forgalomirányítás • Fragment • A host darabolja • A címzett összerakja • Authentication • Encryptedsecuritypayload • Destinationoptions • Csak a cél fogja feldolgozni • Tetszőleges információt hordozhat a jövőbeni bővíthetőség érdekében • Hop-by-Hop • Ugyanaz mint az előző csak minden ugrásnál feldolgozzák • Pl.: Jumbopayload
IPv6 címek • 128 bit • 8x16 bites hexa számként ábrázolják: • FEDC:BA94:7654:3210:FEDC:BA98:7654:3210 • A vezető nullák elhagyhatók: • FEDC:0094:0004:0000:000C:BA98:7654:3210 • FEDC:94:4:0:C:BA98:7654:3210 • A 16 bites nullákat tartalmazó részek kihagyhatóak ha egymás után vannak, max egy tömb hagyató ki: • FEDC:0000:0000:0000:000C:BA98:0000:3210 • FEDC::C:BA98:0000:3210 • Egyes IPv6-os címek IPv4-ből származnak ekkor megengedett: • 0:0:0:0:0:0:A00:1 • ::10.0.0.1 • Prefixek jelölése: • FEDB:ABCD:ABCD::/48 • FEDB:ABCD:AB00::/40
IPv6 Cím architektúra • draft-ietf-ipv6-addr-arch-v4-04.txt • A címek nem eszközhöz hanem interfészhez tartoznak • Cím modell: • Unicast egy interfészt jelöl, bármely unicast cím azonosítja az eszközt • Minden interfésznek rendelkeznie kell legalább egy link-local unicast címmel • Egy interfésznek több címe is lehet • Nem kötelelző a globalis egyedi cím használata • Anycast lehet bármely unicast
Unicast címek • Típusai: • Globális • Link local • Site local -> elavult nem használják a jövőben • Beágyazott IPv4 címet tartalmazó • Cím ismeret (TLA, NLA -> elavult)
Globális unicast cím • Felépítése: • A 000-val kezdődők kivételételével az intrefész ID 64 bit • 000-val kezdődők • IPv4 kompatibilis IPv6 címek • IPv6-ra képezett IPv4-os címek
Link local unicast cím • Formátuma: • Interfész ID: • EUI 64 • U bit: 1 – univerzális. 0 lokális • G bit: 1 – csoport, 0 egyedi
Multicast címek • Interfészek egy csoportját címezi meg • Nagyon gyakran használják IPv6-ban • IPv4 nehéz a hatókört beállítani (TTL …) • Pl.: FF02::1, FF02::2, FF05::2,FF05::101,…
IPv6 P&P – Plug and Play • Autoconfiguration • Állapotmentes (Stateless) • Állapotmentes DHCPv6 • DHCPv6 • Link local address (egy üzenetszórási tartomány) • FE80:0:0:0:XXXX:XXXX:XXXX:XXXX • Jól ismert prefix + egyedi címke (az adott linken) • Egyedi címke lehet, de nem kötelező: • EUI-64 azonosító. • Xerox Ethernet 48 –bit • IEEE Token ring, … -> EUI-64
Kötelező címek • Kliens • Saját Link-Local címe minden interfészén • Minden egyéb konfigurált unicast vagy anycast cím • A saját loopback címe • Minden-Csomóponttöbbesküldés csoport (All-Nodes) • Megszólított Csomópont többesküldés csoport a saját unicast címeihez (Solicited-NodeMulticastaddress) • A konfigurált többesküldési címek • Forgalomirányító • Minden a klienshez tartozó címet plusz: • Alhálózati forgaromirányító tetszőleges cím (subnetrouteranycastaddress) • Minden más tetszőleges cím melyre konfigurálva lett (allotheranycastaddress) • A minden forgalomirányító többesküldési címet (Allroutersmulticastaddress)
Gyorstárak • Szomszédok gyorstár (Neighbors cache) • Cél címek gyorstár (Destination cache) • Cél cím – Következő ugrás cím – Út MTU • Prefix lista • Prefix/élettartam • Alapértelmezett forgalomirányító lista
Szomszéd felderítés • NeighborDiscoveryfor IP version 6 (IPv6) (draft-ietf-ipv6-2461bis-05.txt ) • Feladata: • Második rétegbeni címek kiderítése (IPv4 ARP helyett) • Prefixek felderítése • Paraméterek felderítése (pl.: MTU) • Cím konfiguráció (Állapotmentes, Állapottartó) • Következő ugrás felderítése • Duplikált cím felderítése • A linkre csatlakozó forgalomirányítók felderítése (ICMP RouterDiscovery) • Nyomon követi az elérhető szomszédokat és a második rétegbeni cím változását • Forgalom átirányítás (ICMP redirect)
Szomszéd felderítés • Öt ICMP • RouterSolicitation • RouterAdvertisement • NeighborSolicitation • NeighborAdvertisement • Redirect • Jellemzőik: • HopCount = 255 • Az alábbi címeket használja: • all-nodesmulticastaddress (FF02::1) • all-routersmulticastaddress (FF02::2) • solicited-nodemulticastaddress (FF02::1:FFXX:XXXX) • link-local address (FE80::IntID) • unspecifiedaddress (::)
Második rétegbeni cím felderítése • IPv6-os címhez L2 cím , IPv4 ARP • Csak a linken lévő címekkel próbálkozik • Interfész inicializálás: • Allnodesmulticast csoport (FE02::1) • Solicitednodemulticast csoport (FF02::1:FFXX:XXXX) • Működése: • Kérés: • NodeSolicitation ICMP a Solicitednodemulticast csoportnak • Kötelező: • Forrás L2 cím • Cél L3 cím • Válasz: • NeighborAdvertisement • Proxy esetén O=0
Állapotmentes automatikus konfiguráció • Feladata: • Link-local cím gyártása • Globális cím gyártása • Duplikált cím ellenőrzés • Nem igényel konfigurálást a kliensen • Minimális konfigurálás a forgalomirányítón • Forgalomirányító nélkül is működik • Link local cím • Nem igényel szervert • Csak multicast képes linkeken működik: • Csoportok: • Allnodesmulticast csoport (FF02::1) • Allroutersmulticast csoport (FF02::2)
Cím duplikálás ellenőrzése • Node Solicitation ICMP a Solicited node multicast csoportnak (FF02::1:FFXX:XXXX) • Forrás IP :: • ICMP target az ellenőrizendő IP • Ha valaki magára ismer: • Neighbor Advertisement a FE02::1 csoportnak • Proxy esetén O=0
NAT • IP címek kimerülőben vannak • Cím újrahasznosítás • DHCP • Network Address Translation • RFC 1631(1994 – rövid távú megoldás!) • A csonk tartományokban a klienseknek csak nagyon kis része folytat kommunikációt a külvilággal (ez ma már nem feltétlenül igaz!) • Belül privát cím tartomány • Kívül publikus cím tartomány • A TCP csomag fejlécében módosítani kell az ellenőrző összeget • Egyes protokolloknál le ki kell cserélni a címeket • A többit majd meglátjuk
Cisco NAT • Külső (Inside) • Belső helyi (Inside local) - IL • Belső globális (Inside global) - IG • Belső (Outside) • Külső helyi (Outside local) -OL • Külső globális (Outside global) – OG • Cím transzlációs tábla • IL-IG • OL-OG • Statikus/Dinamikus
Port Address Translation • IP/port – IP/port • Elnevezések: • Cisco – Port Address Translation • Network Address and Port Translation NAPT • IP masquerading • IP overloading
NAT TCP Terhelés elosztás • Több különböző szerver ugyanazon az IP címen van meghirdetve • A NAT ezek között különböző algoritmus szerint osztja a forgalmat (replikált szerverek) • Hasonlít a DNS megoldáshoz csak jobb mert a host gyorstárazhatja a DNS bejegyzést • Csak az új TCP kapcsolatokra érvényes • Nem robosztus (a NAT nem tudja melyik szerver működk és melyik nem…)
NAT és Virtuális Szerverek • Több különböző szervert/szolgáltatást tud egy címen kiajánlani
NAT • Az Internetet független cím adminisztrációs zónákra osztja • Az Internet sikere egyszerűségében rejlik • Vég-Vég (egyes funkciók csak a végpontokon végezhetőek el) • Nincs kapcsolatonkénti információ (állapotmentes) • Csak a végpontok menedzselnek állapotot (skálázható) • Az új alkalmazások minden további nélkül használhatóak • A NAT ellentmond ezeknek az elveknek • Ha a NAT kiesik miden megszűnik • Ha újraindul, minden elveszik • A tűzfal is ellentmond, de az azért mert ez a feladata
A NAT előnyei • Az IP cím kiosztás független a szolgáltatótól (szolgáltató váltás) • Sokkal nagyobb cím tartományunk van mint amekkorát kaphatnánk • Csak az aktív csomópontoknak kell külső IP cím • A csomagszűrő tűzfalakhoz hasonlóan semmit sem enged be ami nincs megengedve
Problémák a NAT-tal • Nem illik az Internet flexibilis vég-vég modelljébe • Adott protokollokat ellehetetlenít • Egy meghibásodási pont • A Multihoming-ot megnehezíti • A Privát címek használata cég egyesüléseknél ,VPN-nél problémát okozhat • A NATP, RSIP problémákat okozhat a publikus szolgáltatások esetén • A beágyazott IP címet hordozó protokollok problémásak • Hamis biztonság érzetét keltheti
Tipikus NAT variációk • Teljes terelő (FullCone) • Minden kérésnél a belső cím/port ugyanarra a külső cím/port-ra van kötve • Külső host a külső címre küldve tud a belsővel kommunikálni • Szabályozott terelő (RestrictedCone) • Ugyanaz mint az előző, csak a külső alkalmazás csak akkor tud a belsővel kapcsolatba lépni, ha a belső ezt kezdeményezi • Port szabályozott terelő (Port RestrictedCone) • Ugyanaz mint az előző, csak portokra is vonatkozik • Szimmetrikus • A külső címzettől függő cím hozzárendelés • Csak a csomagot megkapó külső címzett tud UDP választ küldeni
Mobil IP • Mobil eszközök elterjedése • A mobilitás hatására hálózatváltás • Folyamatos munka • IP cím ellentmondás: • Hely azonosító • Globális azonosító • Mobile Internet Protocol – Mobile IP (IETF munkacsoport) • A magasabb rétegek felől elrejti a mobilitás tényét • Transparent and Interactive Networking
IP címzés • IPv4-v6 címek • Egyedi módon azonosítanak egy interfészt • Hálózati cím+host cím • A forgalomirányítás a hálózati cím alapján történik • CIDR • Az egy címtartományba tartozó címek összefogása • Forg. ir. tábla méret csökkentés • Hierarchikus címzés, topológia
Problémák • Az IP címnek két feladat van: • Egy interfész neve/címe • Az alhálózat helyét is megadja • Egy IP csomag csak egy forrás címet hordoz • A DNS névhez ugyan rendelhető több IP cím is de ez nincs benne az IP csomagban… • A hagyományos forgalomirányítással a mozgó host elérhetetelen
Definíciók • Home link – az eszköz IP címével rendelkező link (3.0.0.0/24) • Foreign link – Bármely más link amelynek a tartománya különbözik az eszköz IP címétől (4.0.0.0/24) • Mobilitás – az eszköz azon képessége, hogy megváltoztassa a kapcsolatát az egyik linkről a másikra. E művelet közben a kommunikáció folyamatos, az IP címe nem változik.
Megoldások I. • Eszköz specifikus forgalomirányítás • A forgalomirányító táblákat az eszköz címe szerint frissítjük • Nem hatékony, nem skálázható, … • IP cím váltás • A mobil eszköz a távoli link címét veszi fel • Ezt a DNS-ben regisztrálnia kell • A kommunikáció megszakad (TCP, …) • Nem a mobilitást, hanem a nomáditást oldja meg
Megoldások II. • Forrás specifikus forgalomirányítás • Laza forrás specifikus forgalomirányítással • A forrásnak meg kell tudnia a távoli link címét ami nem hagyományos funkció • L2 szintű mobilitás • Egyes L2 protokollok támogatják a mobilitást • Az eszköz nem hagyhatja el az IP álhálózat területét • Mobil IP • Az IP forgalomirányítás skálázható és biztonságos kiterjesztése
Mobil IP • Lehetővé teszi, hogy egy eszköz megtartsa a címét miközben egy idegen linkre vált • RFC 3344: http://tools.ietf.org/html/rfc3344 • http://tools.ietf.org/wg/mip4/ • http://tools.ietf.org/wg/mip6/
Mobil IP • Valójában két címe van • Egyik az eszköz eléréséhez (routing) • A másik az azonosításhoz • A hagyományos IP egy IP címet használ erre a két funkcióra • Mobil IP címek • Home address – az eszköz ismert IP címe • Home network (home link) – az eszköz ismert hálózata • Foreignnetwork (Foreign link ) – az eszköz jelenlegi tartózkodási helyéhez tartozó hálózat • Care-ofaddress - az eszköz felleléséhez szükséges IP cím