Számítógép hálózatok Bevezetés és áttekintés Miért tanulunk a számítógép hálózatokról? Ezek mérnöki csodák! Skálázhatók, réteges protokollok, rengeteg alcím elég lesz majd megtanulni Ott vannak mindenütt körülöttünk! A mindennap használatos dolog technológiájának a magvát és a héját megérteni egy izgalmas dolog Átalakították a világot! Már a mi életünk során is kapitális társadalmi változásokat hozott magával. Mennyit tudunk már róluk? Internet: Példa Mennyit tudunk már arról, hogy mi történik, amikor egy hálózati alkalmazást használunk? Milyen elvárásaink vannak, hogy mit fogunk tanulni ezen az órán? Click -> az oldal letöltése Az oldal jöhet a helyi és a távoli számítógépről link: http://www.cnn.com Specifikáljuk - protocol (http) - location (www.cnn.com) Internet: Az erıforrás megkeresése Internet: Kapcsolat www.cnn.com a számítógép (és, alapértelmezésként az azon a számítógépen lévő állomány) neve A számítógépen futó alkalmazás egy hierarchikus címtárszolgáltatást (Domain Name System ) használ, hogy lefordítsa az ember számára olvasható címet címmé host cnn.com? cnn.com? local = a.b.c.d com = a.b.c.d A (http) protokoll létrehoz egy kapcsolatot (egy másik protokoll, a TCP révén) a munkaállomásunk és a cnn.com között, hogy átvigye az oldalt A kapcsolat egy bájt-sorozatként, hibamentesen viszi át az oldalt: flow control + error control Host connect OK get page page; close cnn.com 1
Internet: Végpont végpont Internet: Port címek A bájtsorozat végpontvégpont között sok vonalon és kapcsolóponton halad keresztül: routing (+ addressing) Ez az adatfolyamot mindkét végpont szabályozza: a hibás és hiányzó bájtok újraküldése; adatfolyam vezérlés HOST end-to-end pacing and error control routing CNN.COM Amikor egy szegmens a célba érkezik, az operációs rendszer a cél portcímet használja annak megállapítására, hogy melyik alkalmazáshoz továbbítsa. Ezt hívják demultiplexálásnak. A végponti munkaállomás aggódik a hibákért, a cél pedig nyugtatgatja: a cél nyugtákat (ACKs) küld A forrás ellenőrzi a veszteségeket Internet: Csomagok Internet: Bitek A hálózat csomagokba csoportosított bájtokat szállít A csomagok önhordozók és a forgalomirányítók dolgozzák fel őket egymás után HOST: B A B #, CRC bytes C CNN.COM: A B: to C Minden egyes csomóponti készülék a kereteket bitsorozatokként továbbítja Ezek az eszközök nem törődnek a bitek jelentésével 01011...011...110 Transmitter Physical Medium Receiver 01011...011...110 Optical Copper Wireless Internet: Megjegyzendı kulcs-pontok Internet : hogyan végzi a következıket: A feladatok elhatárolása Biteket küld a vonalon: transmitter/receiver [órajel, modulálás, ] Kereteket küld a csomópontok között [kertezés, hibafelismerés, ] Csomagokat küld a legjobb útvonalon [címzés, routing] Szegmenseket küld végponttól végpontig [torlódások észlelése, a hibás és hiányzó szermensek újraküldése, nyugták, időzítés lejárta] A név alapján megtalálja a cél -címet [DNS] Skálázhatóság A forgalomirányítók nem ismerik a teljes elérési utat A nevek és címek hierarchikus szervezésűek Címzés? Forgalomirányítás? Megbízható átvitel? Együttműködés? Erőforrás menedzselés? Szolgáltatás minőség? 2
Az Internet kulcskoncepciói Protokoll Rétegezett architektúra Csomagkapcsolás Elosztott, decentralizált vezérlés Nyílt rendszer (Open system) Protokoll Amennyiben két egyed kommunikálni kíván egymással, akkor meg kell állapodniuk a kicserélendő üzenetek várható sorrendjében és jelentésében. Kérniük kell egy időbeli ütemezést is Protokoll A protokoll határozza meg az egymással kommunikáló egyedek között kölcsönösen átküldött üzenetek formátumát és sorrendjét, továbbá azt is, hogy milyen tevékenységeket kell elvégezni akkor, amikor egy üzenetet fogadnak vagy továbbítanak. Rétegezett architektúra Az ember képes arra, hogy a protokollfeldolgozása során nagyfokú komplexitást kezeljen. Bizonytalanul definiált protokoll kezelése. Sok protokollt egyszerre. Hogyan képesek a számítógépek komplex protokollok kezelésére? Pontosan specifikált protokollok szükségesek. A komplikált feladatokat rétegekre dekomponálja, és ezek mindegyikének jól definiált feladata van. Rétegezett architektúra Rétegezett architektúra A részekre bontás tervezése: a bonyolult problémákat kisebb, jobban menedzselhető problémákra bontja. Moduláris tervezés: könnyen kiterjeszthető/módosítható. Implementálás: pontosan kezelendők a rétegek közötti illesztések. felhasználók Hálózat Alkalmazási Szállítási Internet Hálózat-elérési Web, e-mail, file transfer,... Végponttól végpontig terjedő átvitel, Megbízható átvitel, sorrendbe állítás, QOS,... A legjobb útvonal kiválasztása... Pont-pont kapcsolat, LANok,... 3
TCP/ protokoll készlet Légiforgalom Hálózat felhasználók Az utas induló-állomása Az utas cél-állomása Alkalmazási HTTP, SMTP, FTP, TELNET, DNS, Jegy (vásárlás) Jegy (panasz) Szállítási TCP, UDP. Csomag (beadás) Csomag (átvétel) Internet Kapu (beszállás) Kapu (érkezés) Hálózat-elérési Pont-pont kapcsolatok, LANok,... Kifutó (felszállás) Kifutó (leszállás) Repülőgép irányítás Protokoll készlet Protokoll beágyazás X felhasználó Y felhasználó X felhasználó Y felhasználó e-mail kliens SMTP e-mail szerver adat adat TCP fej fej fej fej driver/kártya IEEE 802.3 szabvány Pl. elektromos jelek driver/kártya driver/ kártya driver/ kártya Protokoll interfészek A beágyazási folyamat X felhasználó Y felhasználó e-mail client e-mail server fej s = open_socket(); socket_write(s, buffer); fej driver/kártya driver/ kártya 4
Csomagkapcsolás Egy kis internet A csomagok tartalmazzák a cél-címet A csomagnak nincsen előre elhatározott útvonala Minden közbülső csomóponti eszköz a csomagot egyre közelebb kapcsolja a céljához Scenario: Az A adatot küld a B-nek r1,e1 R W w,e5 V r3 r2,e2 b,e4 B a,e3 A Protokoll készlet: csomag-továbbítás Elosztott, decentralizált vezérlés A állomás Router R HTTP TCP ethernet link ethernet Router W link ethernet B állomás HTTP TCP ethernet Ahol csak lehet, dekomponáljuk a problémákat Példák: A világon sehol sincsen egy központi -cím adatbázis - Domain Name System A világon sehol sincsen egy központi forgalomirányítási táblázat Hierarchikus hálózatok hálózata a forgalomirányítást kis autonóm rendszerekben végzik Mindez lényeges a skálázhatóság szempontjából Nyílt rendszer (Open System) Internet szabványosítási folyamat Az alapvető Internet protokollokat nyílt szabványként publikálták A szabványok ingyenesen és készen elérhetők Ideális tanulási témák Internet Draft - bárki RFC - at discretion of RFC Editor Internet Standard Maturity Levels Proposed - IESG Draft - 2 independent, implementations Szabvány 5
Az Internetet hogyan is governed? We reject kings, presidents, and voting. We believe in rough consensus and running code Internet Engineering Task Force (IETF) Working groups Internet Engineering Steering Group (IESG) Internet Assigned Numbers Authority (IANA) Vége 6