INFOKOUNIKÁCIÓS RENDSZEREK ENEDZSENTJE INTERNET Dr. Babarczi Péter egyetemi adjunktus BE Távközlési és édiainformatikai Tanszék TA-BE Lendület Jövő Internet Kutatócsoport 2 Az Internet napjainkban
3 ALAPFOGALAK Internet architektúra TCP/IP protokoll hierarchia Beágyazódás 4 Internet - Szolgáltatások Kommunikációs infrastruktúra Elosztott alkalmazások megjelenését teszi lehetővé: Web, email, játékok, e- kereskedelem, fájl megosztás Alkalmazások számára nyújtott kommunikációs szolgáltatás: Kapcsolat nélküli megbízhatatlan Kapcsolat-orientált megbízható router számítógép szerver mobil lokális regionális céges hálózat
5 Internet - Építőkövek több millió számítási kapacitás összeköttetése: host = végberendezés futó hálózati alkalmazások kommunikációs linkek Optika, réz, rádió, műhold Adatátviteli sebesség = sávszélesség routerek: csomagokat (adat darabkákat) továbbítanak router számítógép szerver mobil lokális regionális céges hálózat 6 Internet - Építőkövek protokollok vezérlik az üzenetek küldését és fogadását Pl., TCP, IP, HTTP, FTP, PPP Internet: hálózatok hálózata Lazán hierarchikus a telefonhálózathoz képest Publikus Internet vs privát intranet Internet szabványok RFC: Request for comments IETF: Internet Engineering Task Force router számítógép szerver mobil lokális regionális céges hálózat
7 Internet - Protokollok a protokoll meghatározza az üzenetek formáját, küldésének és vételének sorrendjét a kommunikációs entitások között, azok átvitelekor és vételekor végrehajtandó operációkat Emberi protokollok: mennyi az idő? szeretnék kérdezni valamit kezdeményezés meghatározott üzenetek valamilyen válaszreakció az üzenet vételekor Hálózati protokollok: Emberek helyett gépek inden kommunikációt az Interneten protokollok vezérelnek 8 Internet Protokollok Egyszerű STP (Simple ail Transfer Protokol) protokoll S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: AIL FRO: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 essage accepted for delivery C: QUIT S: 221 hamburger.edu closing connection
9 Internet A hálózat széle (edge) Végkészülékek közötti kommunikációs módok Végkészülék (host): Alkalmazásokat futtat pl. Web, email a hálózat szélén Kliens/szerver modell: A kliens host kéri és fogadja a mindig on-line szerver szolgáltatásait pl. Web böngésző/szerver; email kliens/szerver Peer-to-peer modell: minimális (vagy nincs) szerver kommunikációs Pl. Skype 10 Internet A hálózat belseje (core) Gerinchálózat Összekötött routerek szövevényes hálózata az alap kérdés: hogyan továbbítsuk az adatot a hálózaton keresztül? áramkörkapcsolás: hívásonként hozzárendelt áramkör csomagkapcsolás: az adatot feldarabolva küldjük át a hálózaton
11 Internet IP routerek Útvonalválasztók 12 Internet Protokoll hierarchia TCP/IP protocol stack Alkalmazási réteg: hálózati alkalmazások támogatása FTP, STP, HTTP Szállítási réteg: végpont-végpont közötti adatátvitel TCP, UDP Hálózati réteg: üzenetek továbbítása a forrás és cél routerek között IP, útvonalválasztó algoritmusok Adatkapcsolati réteg: adatok továbbítása szomszédos hálózati elemek között PPP, Ethernet Fizikai réteg: a bitek a vezetéken, moduláció alkalmazási szállítási hálózati adatkapcs. fizikai
13 Internet Protokoll hierarchia iért réteges szerkezet? Komplex rendszerek kezelése: explicit struktúra könnyebbé teszi a komplex rendszer alkotóelemeinek azonosítását, azok közötti kapcsolatok felderítését Érvek a réteges referencia modell mellett odularizáció megkönnyíti a karbantartást, illetve a rendszer frissítését A réteg szolgáltatásának (annak implementációjának) megváltozása nem észrevehető a rendszer többi eleme számára (pl. szekrény fiókja kicserélhető a szekrény kicserélése nélkül) Pl.: egy eljárás megváltoztatása nincs hatással a rendszer többi részére alkalmazási szállítási hálózati adatkapcs. fizikai Internet Beágyazódás Encapsulation inden réteg hozzáadja a saját fejlécét üzenet szegmens H t csomag H n H t keret H l H n H t alkalmazási transzport hálózati adatkapcsolati fizikai forráscsomópont 14 H l H n H t adatkapcs H l H n H t fizikai kapcsoló H t H n H t H l H n H t célcsomópont alkalmazási transzport hálózati adatkapcsolati fizikai H n H t H l H n H t hálózati adatkapcs fizikai H n H t H l H n H t IP útvonalválasztó
15 alkalmazási szállítási hálózati adatkapcs. fizikai ALKALAZÁSI RÉTEG Folyamatok kommunikációja Transzport követelmények a szállítási réteg felé 16 Hálózati alkalmazások Programok készítése Különböző végberendezéseken futnak Hálózaton keresztül kommunikálnak Pl.: Web szerver szoftver kommunikál a böngészővel aghálózat nem futtat felhasználói alkalmazás kódot A végberendezéseken történő alkalmazás fejlesztés gyors fejlődést és elterjedést tesz lehetővé. application transport application transport application transport
17 Hálózati kommunikáció Folyamatok (process) kommunikálnak Folyamat: végberendezésen futó program Azonos végberendezésen belül két folyamat egymással közvetlenül kommunikál (az operációs rendszer által meghatározott módon). Különböző végberendezéseken futó folyamatok üzenetekkel kommunikálnak Kliens folyamatok kezdeményezik a kommunikációt. Szerver folyamatok várják, hogy kapcsolódjanak hozzájuk. Peer-to-peer architektúra Az alkalmazások mind szerver, mind kliens folyamatokat futtatnak 18 Hálózati kommunikáció Csatlakozókon (socket) keresztül, port szám alapján A folyamatok a socketeken keresztül küldenek / fogadnak üzeneteket Socket ajtó analógia A küldő folyamat az ajtón keresztül kilöki az üzenetet A küldő folyamat függ az ajtó túloldalán lévő szállítási folyamattól, amely eljuttatja az üzenetet a fogadó folyamatához De honnan tudja, hol van az a másik folyamat? Végkészülék vagy szerver process socket TCP bufferekkel, változók Alkalmazás fejlesztő vezérli Internet Operációs rendszer vezérli Végkészülék vagy szerver process socket TCP bufferekkel, változók IP cím azonosítja a hosztot, a port szám azonosítja a hoszton belül a folyamatot! Pl. HTTP: 80, STP: 25, SSH: 22
Hálózati kommunikáció Transzport (szállítási) réteg szolgáltatás követelmények Adatvesztés Néhány alkalmazás (pl. audio) bizonyos veszteséget képes tolerálni ás alkalmazások (pl. fájl átvitel) 100% megbízható átvitelt kíván Időzítés Néhány alkalmazás (pl. Internet telefónia, interaktív játékok) kis késleltetés igényelnek, hogy hatékonyak legyenek Sávszélesség A multimédia alkalmazások számára minimális sávszélességet kell biztosítanunk, hogy élvezhetőek legyenek ás elasztikus alkalmazások a rendelkezésükre álló sávszélességet használják Alkalmazás példák: Web/e-mail: adatvesztés nem lehet, nincs időzítés követelmény, elasztikus Valós idejű audio/video: vesztés tűrő, max. kb. 100 msec késleltetés engedhető meg, kb. 1 Bps minimális sávszélesség szükséges 19 20 alkalmazási szállítási hálózati adatkapcs. fizikai SZÁLLÍTÁSI RÉTEG Szállítási réteg feladatai TCP kapcsolatfelépítés
21 Szállítási réteg feladatai Logikai kommunikációt valósít meg a különböző végberendezésken futó alkalmazás folyamatok között Szállítási protokollok a végberendezéseken futnak Adó oldal: feldarabolja az alkalmazás üzeneteit szegmensekbe, és átadja a hálózati rétegnek Vevő oldal: újra összeállítja a szegmenseket üzenetekké, és átadja az alkalmazás rétegnek Több különböző szállítási rétegbeli protokoll az Interneten (a szállítási követelményeknek megfelelően): TCP és UDP application transport application transport 22 Szállítási réteg által nyújtott szolgáltatások TCP (Transmission Control Protocol) és UDP (User Datagram Protocol) UDP (datagram) szolgáltatás: egbízhatatlan adattovábbítás a küldő és fogadó folyamatok között NE biztosít: kapcsolat felépítést, megbízhatóságot, folyamvezérlést, torlódás vezérlést, időzítést, vagy sávszélesség garanciát Akkor minek is? Gyors, állapotmentes, kis szegmens fejléc, olyan gyorsan önti az adatokat, ahogy tudja TCP szolgáltatás: egbízható átvitel a küldő és fogadó folyamatok között Kapcsolat orientált: kapcsolat felépítés szükséges a kliens és szerver folyamatok között Folyam vezérlés (flow control): a küldő nem fogja elárasztani a vevőt Torlódás vezérlés (congestion control): visszafogja az adót, ha a hálózat túlterhelt NE biztosít: időzítés, minimális sávszélesség garancia
TCP kapcsolat menedzsment Háromutas kézfogás (three-way handshake) 1. lépés: a kliens SYN szegmenst küld a szervernek inicializálja a sorszámot (SEQ) nem tartalmaz adatot 2. lépés: szerver megkapja a SYN szegmenst, SYN/ACK szegmenssel válaszol szerver lefoglalja a buffert inicializájla a szerver oldali sorszámot (SEQ) 3. lépés: kliens megkapja a SYN/ACK szegmenst, ACK szegmenssel válaszol adatot tartalmazhat Kliens SYN SEQ # 1,000 Window 8,760 bytes ax segment 1,460 bytes SYN(ACK) 23 Szerver SEQ # 3,000 ACK # 1,001 Window 8,760 bytes ax segment 1,460 bytes ACK # 3001 ACK 24 alkalmazási szállítási hálózati adatkapcs. fizikai HÁLÓZATI RÉTEG Hálózati réteg feladatai IP címek felépítése, csomagtovábbítási döntés Útvonalválasztó algoritmusok szerepe
25 Hálózati réteg feladatai Logikai kommunikáció az adó gép és a vevő végberendezése között Adó oldal: beágyazza a szegmenst csomagokba Vevő oldal: átadja az összeállított szegmenseket a szállítási rétegnek Hálózati réteg protokollok minden végberendezésbe és útvonalválasztóban IP útvonalválasztók (router) megvizsgálják minden áthaladó IP csomag fejlécét!!! Skálázódási gondokhoz vezethet application transport application transport 26 Hálózati réteg Az IP homokóra Hálózati szinten egyetlen protokoll Csak egy protokoll az Internet szinten (Internet Protocol, IP) egbízhatatlan kommunikációs szolgáltatás ( best effort ) Telefon hálózat: buta terminálok, intelligens hálózat Internet: buta hálózat, intelligens terminálok (Vint Cerf és Bob Kahn alapelvei) IP cím a végpontokat azonosítja 152.66.244.224 = lendulet.tmit.bme.hu DNS címfordítás a név-cím párok feloldásra
IP címek felépítése Interfészek azonosítása IPv4 cím: 32-bit hosszú router/végberendezés interfész azonosító interfész: a router / végberendezés és a fizikai link közötti kapcsolat Egy routernek tipikusan több interfésze van A hosztnak átlalában egy interfész inden interfész saját IP címmel rendelkezik 223.1.1.1 27 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 28 IP címek felépítése Alhálózat azonosítása (prefix) IP cím: Alhálózati rész (prefix) (nagy helyiértékű bitek) Végberendezés rész (alacsony helyiértékű bitek) i az az alhálózat? Készülék interfészek azonos alhálózati résszel az IP címben Fizikailag képesek egymást elérni routerek közbeiktatása nélkül Az alhálózatok meghatározásához válasszuk le az interfészeket a routerektől, melyek izolált szigeteket hoznak létre. inden sziget egy alhálózat lesz. 223.1.1.0/24 223.1.2.0/24 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 subnet 223.1.3.1 223.1.3.2 223.1.3.0/24 Három alhálózatból álló hálózat Alhálózati maszk (pl.: /24): az IP cím alhálózati részének hosszát határozza meg
Útvonalválasztás és csomagtovábbítás Csomagtovábbítás (forwarding): a csomagot a router megfelelő bemenetéről a megfelelő kimenetére továbbítja Lokális továbbítási tábla (forwarding information base, FIB) alapján Útvonalválasztás (routing): a csomagok adótól vevőig való útját határozza meg Cél: minimális költségű útvonal megtalálása, ahol a költség Hop-ok száma Link adminisztratív költsége vagy fizikai hossza egbízhatóság Késleltetés Üzleti érdekek alapján (policy routing) Útvonalválasztó algoritmus Lokális továbbítási tábla Fejléc érték Kimenő link 0100 0101 0111 1001 Fejlécben lévő érték 0111 3 2 2 1 3 2 1 29 30 Útvonalválasztó algoritmusok osztályozása Statikus vagy dinamikus statikus: kézi bejegyzések, sosem frissül automatikusan dinamikus: a routerek megosztják a hálózati topológiára vonatkozó információt (továbbítási tábla automatikus készítése ezek alapján) Elosztott vagy központosított elosztott: a routerek topológialeírókat cserélnek és egyenként állítanak FIBet központosított: dedikált szerver (routeszerver, SDN controller) állítja a FIBeket Egyutas vagy többutas single path: minden célállomáshoz egy utat ismer a router multi-path: több út van letárolva egy-egy célállomáshoz Egyszintű vagy hierarchikus flat: globális tudás, minden router ismer mindenkit a hálózatban hierarchikus: ha a cél hálózaton kívül, routerek az alapértelmezet átjáróhoz továbbítódnak Hop-by-hop vagy forrás útvonalválasztás hop-by-hop: a routerek csak arról döntenek melyik legyen a következő hop Source routing: a teljes útvonalat a forrás határozza meg Intra- vagy inter-domain Inter-domain: tartományok (AS-ek) közötti Intra-domain: tartományon belüli
31 Útvonalválasztó algoritmusok osztályozása Internet: dinamikus, elosztott, egyutas, hierarchikus Út-vektor alapú vagy link-állapot alapú Link-állapot alapú minden router teljes hálózati képet lát, ebben futtat Dijkstra algoritmust tartományon belül legrövidebb út (Internet intra-domain routing) Út-vektor nincs globális topológia információ, csak adott cél felé vezető (pl. legrövidebb) úton melyik a következő interfész tartományok közötti útvonalválasztás (Internet inter-domain routing) Dinamikus elosztott útvonalválasztás menete Szomszédos routerek felfedezik egymást A routerek megosztják egymás közt a topológiával vagy a lehetséges útvonalakkal kapcsolatos információikat (routing state) A hálózatleíró információkat a szomszédos routerek folyamatosan frissítik (így egy elosztott routing state adatbázist fenntartva) inden router minden általa ismert prefixre kiválasztja a legjobb útvonalat A legjobb útvonal next-hop-ját letölti a FIBbe 32 IP továbbítási (forwarding) döntés Longest prefix match Találd meg a célcímre leghosszabban illeszkedő prefixet Küldd ki az adott prefixhez bejegyzett interfészen (útvonalválasztó algoritmus segítségével meghatározva) Prefix hossza 32 24 8 Leghosszabban illeszkedő prefix 65.0.0.0/8 128.9.176.0/24 128.9.16.0/21 128.9.172.0/21 128.9.0.0/16 142.12.0.0/19 0.0.0.0/0 Default router bejegyzés 0 128.9.16.14 2 32-1
33 alkalmazási szállítási hálózati adatkapcs. fizikai ADATKAPCSOLATI RÉTEG Adatkapcsolati réteg feladatai, szolgáltatások Címfeloldás (Address Resolution Protocol) 34 Adatkapcsolati réteg feladatai Az adatkapcsolati réteg feladata, hogy a kereteket továbbítsa szomszédos csomópontok között Keretekbe ágyazza a csomagokat odellezési terminológia: Végberendezések és routerek csomópontok A kommunikációs csatornák (linkek) melyek szomszédos csomópontokat kötnek össze az útvonal mentén Vezetékes, vezetéknélküli, LAN, stb. link
Adatkapcsolati réteg által nyújtott szolgáltatások Keretezés, link hozzáférés Beágyazza a csomagot a keretbe, fejlécet (farok részt) ad hozzá Közeghozzáférés (osztott közeg esetén) AC címeket alkalmazza a keret fejlécben a forrás és cél azonosítására (nem az IP címet!) egbízható átvitel szomszédos csomópontok között Szállítási réteghez hasonlóan Ritkán alkalmazzák kis vesztésű linkeken (optika, csavart érpár) Vezetéknélküli linkek: nagy vesztési arány Folyam vezérlés egfelelő adási távolság szomszédos adó és vevő csomópontok között Hiba detektálás Hibák keletkezhetnek zaj, illetve jel torzulás miatt A vevő detektálja, ha hiba történt, értesíti az adót, hogy adja újra Hiba javítás A vevő azonosítja és javítja a hibás bite(ke)t Half-duplex és full-duplex Half-duplex átvitel esetén is mindkét végpont adhat, de nem azonos időben 35 Adatkapcsolati réteg Ethernet (AC) címek AC (vagy LAN vagy fizikai vagy Ethernet) cím: Keretek továbbítása egy interfésztől egy másik fizikai összeköttetésben (azonos alhálózatban) lévő interfészhez 48 bites AC cím (a legtöbb LAN esetén) az adapter RO-ba égetve 36 71-65-F7-2B-08-53 LAN (vezetékes v. vezeték nélküli) 1A-2F-BB-76-09-AD 58-23-D7-FA-20-B0 Broadcast cím = FF-FF-FF-FF-FF-FF = adapter, a LAN-on minden adapternek egyedi LAN címe 0C-C4-11-6F-E3-98
37 Address Resolution Protocol (ARP) Hogyan határozzuk meg a vevő AC címét, ha csak az IP címét ismerjük? inden IP csomópont (végberendezés, router) a LAN-on rendelkezik ARP táblával ARP tábla: IP/AC cím párok néhány LAN csphoz < IP address; AC address; TTL> TTL (Time To Live): lejárati idő A kommunikálni akar B-vel B címe nincs az ARP táblában Broadcast ARP kérés B IP címével Cél AC cím= FF-FF-FF-FF-FF-FF, mindenki megkapja a LAN-on 237.196.7.23 B válaszol a saját AC címével A-nak 71-65-F7-2B-08-53 237.196.7.88 LAN 237.196.7.78 1A-2F-BB-76-09-AD 237.196.7.14 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 38 INTERNET Hálózatok hálózata
39 Internet Hálózatok hálózata Csomagok több hálózaton haladnak keresztül (tracert) Tier 3 Tier-2 Tier-2 Tier 1 NAP Tier 1 Tier-2 Tier 1 Tier-2 Tier-2 40 Internet Autonóm rendszerek (AS) AS hierarchia AS - azonos elv szerint működő eszközök, közös felügyeiet (-Internet Service Provider) inden azonos szintű AS egyenlő, de vannak AS-ek, melyek egyenlőbbek Különböző szerepű AS-ek: content, transit, eyeball Forrás: http://asrank.caida.org
41 Internet Autonóm rendszerek (AS) AS-ek közötti útvonalválasztás path-vektor alapon (Border Gateway Protocol) Útválasztási preferencia (routing policy): egy AS-AS szintű üzleti stratégiájának leképezése útválasztási szabályokra A bonyolult útválasztási preferenciák kifejezéséhez hatékony útválasztási protokoll szükséges (BGP) Két AS tipikusan vagy tranzit vagy peer kapcsolatot hoz létre tranzit: globális internet-hozzáférés pénzért peer: ingyen adatcsere a két szolgáltató és azok összes előfizetője között 42 Internet Tier 1 -k Hierarchiában legfelső hálózatok (Tier1) Lazán hierarchikus középpontban: Tier-1 s (Internet Service Provider) (pl., CI, Sprint, AT&T, Cable and Wireless), nemzeti/nemzetközi lefedettség Egymást egyenlőnek tekintik Tier-1 szolgáltatók társ (peer) összekötteté seket valósítanak meg (privát) Tier 1 NAP Tier 1 Tier 1 Tier-1 szolgáltatók publikus hálózat hozzáférési pontokon (NAPs) is kapcsolódhatnak
43 Internet Tier 1 -k Legnagyobb AS-ek és az őket felügyelő -k Egy több AS-t is felügyelhet Forrás: http://asrank.caida.org 44 Internet Tier 1 -k Sprint amerikai gerinchálózata Seattle Tacoma DS3 (45 bps) OC3 (155 bps) OC12 (622 bps) OC48 (2.4 Gbps) Stockton San Jose Cheyenne Kansas City Chicago Roachdale New York Pennsauken Relay Wash. DC Anaheim Fort Worth Atlanta Orlando
Internet Tier 2 -k Kisebb (gyakran regionális) -k Egy vagy több tier-1 -hez kapcsolódnak, esetleg más tier-2 -khez 45 Tier-2 -k Tier-2 fizetnek a tier-1 -knek, hogy hozzáférjenek az Internet többi részéhez (tranzit) tier-2 vásárlója (customer) a tier-1 szolgáltatónak Tier-2 (provider) Tier 1 Tier 1 Tier-2 NAP Tier 1 Tier-2 Tier-2 -k privát módon egymás között is összeköttetés létesíthetnek (peer), vagy a NAP-pal is Tier-2 Internet Tier 3 -k Helyi és Tier 3 -k Utolsó hop ( hozzáférési ) hálózat (a végpontokhoz legközelebb) Helyi és tier- 3 -k vásárlói magasabb tier -knek, hogy összekacsolják őket az Internet többi részével (tranzit) Tier 3 Tier 1 Tier-2 Tier-2 Tier 1 Tier-2 NAP Tier 1 Tier-2 46 Tier-2
47 egoldandó problémák Jövő Internet kutatásoknak többek között ezekre kell választ adniuk Best effort rendszer: http://www.cnet.com/news/how-pakistan-knocked-youtube-offlineand-how-to-make-sure-it-never-happens-again/ Skálázhatósági problémák: http://index.hu/tech/2014/08/15/megint_betelt_az_internet/ Folyamatos fenyegetések: http://index.hu/tudomany/2014/08/18/a_capak_megtamadtak_az_in ternetet/