Számítógép rendszerek
1. óra
Számítógépes hálózatok, internet
Kis visszatekintés a Magyar nyelv és irodalom érettségire: a kommunikáció tényezői [...] A közlésfolyamat teljessége folyamatos vagy esetenként szerepcserét is feltételez, amikor a feladóból címzett, a vevőből pedig közlő válik. Bármelyik tényező hiánya sikertelenné teszi a kommunikációt. 1. Az információ feladója (közlője), aki beszél. 2. A vevő az, akihez beszélnek. 3. A közvetítő közeg (csatorna), az információ továbbításának eszköze: levegő, telefondrót, stb. 4. A közlemény vagy üzenet, a továbbított információ tárgya. 5. A kód, azaz a közleményt kifejező nyelvi vagy jelrendszer, és ennek elemei és szabályai, melyeket a résztvevők kölcsönösen ismernek. 6. A kontextus, azaz beszédhelyzet vagy szituáció a kommunikációs közeg, amelyben a közlemény megkapja a maga teljes jelentését.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
1/29
A kommunikáció és tényezői számítógépes hálózatok esetén 1. Szükséges egy fizikai eszköz, ami a jeleket továbbítja. Ennek alkotóelemei: • Egy közvetítő közeg, amiben a jel terjed, pl. rézkábel, levegő. • Egy egyezményes rendszer (eszközök és szabályok), ami a számítógépek által előállított bináris információt alkalmassá teszi a fenti közegben való továbbításra, és a továbbított jelet a fogadónál ismét bináris információvá alakítja. • Egy szabályrendszer a közvetítő közegen folyó kommunikáció lebonyolítására, az ütközések elkerülése végett, pl. ha két eszköz egyszerre akarna beszélni. 2. A fizikai kapcsolaton felül a kommunikáló számítógépek között szükséges egy logikai kapcsolat, aminek célja például a több csomagban megérkezett információk összeállítása, a hibásan megérkezett információ-csomagok újraküldetésének kezdeményezése, stb. 3. A logikai kapcsolaton felül szükséges hogy az egymással kommunikáló számítógépes programok olyan formátumban és olyan szabályok szerint küldjék egymásnak az információkat, hogy azokat kölcsönösen megértsék. (Hasonlóan, mint ahogy a felhasználók közötti adatcsere feltétele a kölcsönösen elfogadott fájlformátumok használata, pl. Worddel nehéz megnyitni egy OpenOffice dokumentumot.)
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
2/29
A kommunikáció és tényezői számítógépes hálózatok esetén • A számítógépek közötti kommunikáció mára már nagymértékben szabványosított (ITU-T, ISO, IEC, IEEE, IETF, és egyéb szervezetek). • A kommunikáció előbb felsorolt tényezőit általában rétegnek (layer) nevezik. • A kapcsolatokat megvalósító és irányító szabályokat protokolloknak (protocol) nevezik. Az előbb felsorolt három réteg a valóságot nagyon leegyszerűsíti. A valósághoz közelebb álló rétegeket rögzítenek például: • OSI referenciamodell (OSI = Open Systems Interconnection) ◦ az ISO és az ITU-T közös kezdeményezése a számítógépes hálózatok szabványosítására ◦ az OSI referenciamodell 1977 óta létezik ◦ tartalmát az ISO/IEC 7498-1:1994 szabvány és az ITU-T X.200 (11/93) ajánlás rögzíti • Internet protokollstruktúra ◦ az IETF RFC 1122 (1989) „kvázi-szabvány” rögzíti ◦ az OSI referenciamodellnél egyszerűbb rétegfelosztás ◦ elterjedt a TCP/IP megnevezés, de a valóságban a struktúra az IP-n és a TCP-n kívül még sok más protokollt is magában foglal
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
3/29
Az OSI referenciamodell és az internet protokollstruktrúra
OSI referenciamodell 7. 6. 5. 4. 3. 2. 1.
Alkalmazás Megjelenési Viszonylati Átviteli Hálózati Adatkapcsolati Fizikai
(Application) (Presentation) (Session) (Transport) (Network) (Data Link) (Physical)
Internet protokollstruktúra 4. Alkalmazás (Application) 3. Szállítási
(Transport)
2. Hálózati
(Internet)
1. Kapcsolati
(Link)
A továbbiakban az internet protokollstruktúrát, valamint az azt megvalósító eszközöket és protokollokat vesszük közelebbről szemügyre, néhány gyakorlati példán keresztül.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
4/29
1. példa: Fájlátvitel két számítógép között A feladat: az egyik számítógépről („A”) juttassunk át egy fájlt a másik számítógépre („B”). A megvalósítás lépései: 1. (Fizikai) kapcsolat kiépítése a két számítógép között. 2. Hálózati kapcsolat létrehozása a két számítógép között. 3. Alkalmazáskapcsolat létrehozása a két számítógép között. Esetünkben az internet protokollstruktúra a következő konkrét protokollokból fog állni: Internet réteg 4. Alkalmazás 3. Szállítási 2. Hálózati 1. Kapcsolati
Konkrét megvalósítás/protokoll FTP (File Transfer Potocol) TCP (Transmission Control Protocol) IP (Internet Protocol) Ethernet
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
5/29
Ethernet hálózatok • Az Ethernet jelenleg a helyi hálózatok (LAN: Local Area Network) legelterjedtebb formája. • Szabványosítása 1972-ben kezdődött, az IEEE 802.3 szabvány 1983-ban született meg. • Magában foglalja a fizikai rétegre, és a fizikai rétegen történő kommunikációra vonatkozó szabványokat. • Az internet protokollstruktúra 1. rétegét, a kapcsolati réteget valósítja meg. A legegyszerűbb Ethernet hálózat hozzávalói: • 2 db számítógép, egy-egy hálózati csatolóval (NIC: Network Interface Controller) • 2 db kábel (pl. 10BASE-T: csavart réz érpárok, kábelenként 2 db, RJ45 csatlakozókkal) • 1 db hálózati hub (ez a hálózati elem közvetít a két gép között) „A” hub „B”
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
6/29
Ethernet hálózatok: kábelek • A régebbi Ethernet hálózatok koaxiális kábeleket használtak (kb. mint a TV antennakábelek: 1 vezető kábel, szigetelő réteg, árnyékoló réteg, külső szigetelés). • Az árnyékolatlan csavart réz érpár (UTP: Unshielded Twisted Pair) szabványosítása 1987ben kezdődött (az IEEE 802.3 szabványsorozat keretein belül) az 1BASE5 kábelekkel, ezt követték 10BASE-T, 100BASE-TX, 1000BASE-T, és egyéb kábelszabványok (ezek az 1 Mbit/s, 10 Mbit/s, 100 Mbit/s, 1 Gbit/s sebességű kommunikációt támogatják). • Csatlakozók tekintetében ma az RJ45 csatlakozó elterjedt.
UTP kábel
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
RJ45 csatlakozó
7/29
Ethernet hálózatok: hálózati hubok • A hálózati hub az egyik legegyszerűbb hálózati eszköz. • Két vagy több Ethernet eszköz összekapcsolására szolgál. • Működése: minden adatot, amit valamelyik csatlakozóján (portján) keresztül fogad, továbbít az összes többi csatlakozójára (portjára).
4 portos hálózati hub
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
8/29
Ethernet hálózatok: protokoll • Az Ethernet hálózaton küldött adatcsomagokat kereteknek (frame) nevezik. • A hálózat működése alapvetően egyszerű: egyszerre csak egy számítógép „beszélhet”, amit egyszerre mindenki „hall”. • Minden keret tartalmazza a címzett gép egyedi azonosítóját (MAC címét), ami alapján a címzett gép kiválogatja a neki címzett kereteket (6 byte, pl. 00 E0 18 B1 B2 D9). • Ha egyszerre több számítógép akar beszélni, akkor ütközés (collision) történik. Az ilyen helyzetek feloldására alkalmazzák a CSMA/CD algoritmust. ◦ Ha egy gépnek mondanivalója van, megvárja, amíg mindenki más befejezi a beszédet. ◦ Ezután elküldi a keret első bitjét. ◦ Ha emiatt ütközés történt, abbahagyja az adatközlést, kibocsát egy „ütközést észleltem” jelzést, és egy véletlenszerűen meghatározott hosszúságú időtartamon át nem próbálkozik újra adatközléssel. Ezután újra próbálkozik a keret első bitjének elküldésével. ◦ Ha nem történt ütközés, az adatátvitel folytatódik a keret többi bitjével. • Nagyobb Ethernet hálózatokban az állandó ütközések miatti várakozások következtében az adatforgalom nagyon lelassulhat. Ennek megelőzésére olyan hálózati eszközöket kellett bevezetni, amik már rendelkeznek annyi intelligenciával, hogy az ütközéseket megpróbálják elkerülni: ezek a bridgek (más néven switchek). Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
9/29
Ethernet hálózatok: hálózati bridgek (switchek) • A bridgek megjelenésre a hubokhoz hasonlóak. • Folyamatosan gyűjtik az adatokat arról, hogy melyik portjukra mely MAC című eszközök csatlakoznak. • A keretek tartalmát elemezve azokat csak arra a portjukra továbbítják, amihez a címzett eszköz csatlakozik. • Ezzel jelentősen csökkentik az ütközések számát, és lehetővé teszik, hogy a hálózat különböző szegmensein a csatlakoztatott eszközök egyszerre kommunikáljanak.
Címzett: „B”
Címzett: „B”
„A” „B”
hub
„C” Ütközés!
„B” bridge
„C”
„D” Címzett: „C”
Ethernet hálózat hubbal Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
„A”
„D” Címzett: „C” Ethernet hálózat bridge-vel 10/29
Ethernet hálózatok: egy keret felépítése
„Keret Címzett Feladó Bevezetés kezdete” EtherType Adat MAC címe MAC címe jel 7× 6× 6× 2× 46 - 1500 × 10101011 10101010 8 bit 8 bit 8 bit 8 bit
CRC
Szünet
4× 8 bit
12 × 8 bit szün
Az EtherType mező megadja hogy milyen típusú adatcsomagot hordoz a keret, például: • 00001000 00000000: Internet Protocol, Version 4 • 10000110 11011101: Internet Protocol, Version 6 • 10000000 10011011: AppleTalk • stb. A CRC jelentése: Cyclic redundancy check. Ez egy ellenőrzőösszeg, amit a küldő és a fogadó fél is kiszámít az adatmező tartalma alapján. Ha a fogadó fél által számított és a küldő fél által a keretben megadott CRC megegyezik egymással, a fogadó fél elfogadja a keretet hibátlannak. Ha nem egyeznek, a keretet újra kell küldeni. Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
11/29
Ethernet hálózatok: fizikai réteg Hogyan viszünk át a kábelen egy logikai 1-et vagy 0-t? Például 10BASE-T esetében IEEE 802.3 Manchester-kódolással. • Feszültségek: alacsony -2,5 V, magas +2,5 V • Egy logikai 1-et egy alacsony → magas feszültségátmenet jelképez. • Egy logikai 0-t egy magas → alacsony feszültségátmenet jelképez. • Egy bit átvitelének időtartama 100 nanosec (=10-7 sec) → a hálózat nyers adatátviteli sebessége 10×106 bit/sec = 10 Mbit/sec.
+2,5 V -2,5 V
Manchester-kódolás
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
12/29
IP hálózatok Mint az előbb láttuk, egy Ethernet keret sokféle hálózati protokoll csomagjait szállíthatja. A mi esetünkben IP (Internet Protocoll) csomagokat fog szállítani. • Az IP-nek több változata is volt/van forgalomban, jelenleg a legelterjedtebb a 4. verzió (IPv4), és folyamatban van a 6. verzió (IPv6) bevezetése. • Az IETF RFC 791 (1981) „kvázi-szabvány” rögzíti részleteit, hadügyminisztérium MIL-STD-1777 számmal szabványosította.
az
amerikai
• Az internet protokollstruktúra 2. rétegét, a hálózati réteget valósítja meg. • Bármilyen csomagalapú hordozón (például az előbb tárgyalt Etherneten) keresztül használható. • Nem garantálja, hogy a küldött csomagok a címzetthez mind megérkeznek, csak egy példányban érkeznek meg, és megfelelő sorrendben érkeznek meg. Erről egy magasabb rétegben (3. réteg: szállítási réteg) működő protokollnak kell gondoskodnia. • Minimális garanciát vállal az egyes csomagok fejlécének sértetlenségére. • Az egyes kommunikáló felek IP címükkel azonosítják magukat. Ez egy 32 bit hosszúságú szám, amit 8 bitenként csoportosítva és tízes számrendszerbe átváltva is írhatunk, pl. 10011000 01000010 00000101 00001000 = 152.66.5.8
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
13/29
IP: egy csomag felépítése Verzió 4 bit Töredék kezdete 13 bit Opciók n × 8 bit
Fejléc hossza 4 bit
TOS 8 bit
TTL
Protokoll
8 bit
8 bit
Teljes hossz 16 bit Fejléc ellenőrzőösszeg 16 bit
Azonosító 16 bit
Zászlók 3 bit
Feladó IP címe
Címzett IP címe
32 bit
32 bit
Adat max. 65515 × 8 bit
Mint látható, egy IPv4 csomag hossza akár 65535 byte is lehet, míg az előzőekben bemutatott Ethernet keret maximum 1500 byte adatot képes hordozni. Sokszor ezért egy-egy IP csomagot több Ethernet keretbe kell széttördelni (fragmentálni). Az így széttördelt IP csomagokat a címzett számítógép állítja újból össze az azonosító, a zászlók, és a töredék kezdete mezőkben található adatok segítségével.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
14/29
IP: MAC címek és IP címek összehangolása Probléma: „A” gép szeretne kommunikálni „B” géppel. Tudja „B” IP címét, de nem tudja „B” MAC címét, ezért nem tudja vele felvenni a kapcsolatot. Megoldás: a címfeloldási protokoll (ARP: Address Resolution Protocol) • Speciális Ethernet keretek, amiket az FF FF FF FF FF FF MAC címre küldenek (broadcast cím), így minden csatlakoztatott eszköz megkapja. • A címfeloldás egy kérdés keretből, és egy arra kapott válasz keretből áll. Egy ilyen párbeszéd például: ◦ Kérdés: mi a MAC címe a 192.168.0.5 IP című gépnek? ◦ Válasz: a 192.168.0.5 IP című gép MAC címe 00 E0 18 B1 B2 D9. • Egyéb használatai: ◦ Egy, a hálózathoz újonnan csatlakozni szándékozó gép ellenőrzi, hogy az általa használni kívánt IP cím nem foglalt-e már. ◦ Egy, a hálózathoz újonnan csatlakozott gép bejelenti MAC és IP címét a többieknek. ◦ Stb.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
15/29
TCP adatfolyamok Tehát már van egy Ethernet hálózatunk, amin IP csomagok szaladgálnak számítógépről számítógépre. A különálló IP csomagokból a folyamatos adatfolyamok összeállítását (pl. hosszabb szöveges üzenetet) a TCP (Transmission Control Protocol) valósítja meg. • Az IP önmagában nem garantálja, hogy a küldőtől a címzetthez a csomagok sorrendben érkeznek meg, sőt azt sem garantálja hogy egyáltalán megérkeznek. • Az IP csomagok TCP csomagokat hordoznak, a TCP intézi az adatfolyamok folyamatossá tételét a számítógépen futó programok számára, kérelmezi az elveszett csomagok újraküldését, stb. • A TCP csomag fejlécei határozzák meg, hogy a címzett számítógépen melyik futó program hoz fognak eljutni az információk. • Az IETF RFC 973 (1981) „kvázi-szabvány” rögzíti részleteit. • Az internet protokollstruktúra 3. rétegét, a szállítási réteget valósítja meg. • Az alatta fekvő rétek általában IP, a két protokoll az idők folyamán szorosan összefonódott, innen jön a közkeletű „TCP/IP” elnevezés.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
16/29
TCP: egy csomag felépítése Küldő port
Címzett port
16 bit
16 bit
Jelzőzászlók
Ablakméret
8 bit
16 bit
Szekvencia sorszám 32 bit
Jóváhagyási sorszám 32 bit
Ellenőrző összeg 16 bit
Sürgős adatok sorszáma 16 bit
Fejléc mérete Használaton kívül 4 bit 0000 Opciók
Adat
n × 32 bit
A címzett port száma adja meg, hogy a címzett IP című számítógépen melyik TCP portra fog befutni a csomag. Ha a címzett gépen éppen egy program figyeli az adott TCP portot, akkor megtörténik a kapcsolat kiépítése, és folyamatos adatátvitel valósulhat meg a küldő és a fogadó programok között. Analógia: • IP cím → telefonszám • TCP port szám → mellék száma
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
17/29
FTP: fájl átviteli protokoll
Tehát már van egy Ethernet hálózatunk, amin IP csomagok szaladgálnak számítógépről számítógépre, amik folyamatos TCP adatfolyamokká állnak össze a fogadó gépen. Az egyik gépen futó kliens program (client) már tud utasításokat küldeni a másik gépen futó kiszolgáló programnak (host), amiket az értelmez és végrehajt.
• Szükséges tehát, hogy a két számítógépen futó programok beszéljenek valamilyen közös nyelvet, amivel megértetheti a kliens a kiszolgálóval, hogy pl. egy fájlt szeretne letölteni róla. • Az egyik legrégebbi ilyen fájlátvitelre kifejlesztett protokoll az FTP (File Transfer Protocoll), amit az IETF RFC 959 (1985) rögzít. • Az internet protokollstruktúra 4. rétegét, az alkalmazásréteget valósítja meg.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
18/29
FTP: példa egy fájl letöltésére a kiszolgálóról (I.) Kiszolgáló (IP címe: 192.168.0.5) Az FTP kiszolgáló program a 21-es TCP porton figyeli hogy mikor érkezik be új kapcsolat.
Kliens (IP címe: 192.168.0.103)
A kliens kapcsolatot kezdeményez a 192.168.0.5 IP című gép 21-es TCP portjára. A kiszolgáló fogadja a kapcsolatot. „220 192.168.0.5 FTP server ready” → ← „USER laky” Ellenőrzi hogy van-e „laky” nevű felhasználó a rendszerben. „331 Password required for laky” → ← „PASS xxxxxxxx” Ellenőrzi hogy stimmel-e a jelszó. „230 User laky logged in.” → ← „PASV” Figyelni kezdi a 195×256+149=50069 számú TCP portot. „227 Entering Passive Mode (192,168,0,5,195,149).” →
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
19/29
FTP: példa egy fájl letöltésére a kiszolgálóról (II.) Kapcsolatot kezdeményez a 192.168.0.5 IP című gép 50069-es TCP portjára. ← „TYPE I” „200 Type set to I.” → ← „RETR teszt.txt” „150 Opening BINARY mode data connection for 'teszt.txt' (2315 bytes).” → Az 50069 számú TCP porton keresztül elküldi a „teszt.txt” fájl tartalmát a kliensnek. A kiszolgáló 50069-es TCP portjáról fogadja a fájl tartalmát, és lementi a felhasználó által megadott könyvtárba „teszt.txt” néven. Befejeződött a fájl küldése. „226 Transfer complete.” → ← „QUIT” „221 Goodbye.” → Lezárja az 50069-es TCP portot és bontja a klienssel a kapcsolatot a 21-es TCP porton.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
20/29
1. példa: Fájlátvitel két számítógép között - VÉGE Összefoglalás: Internet réteg 4. Alkalmazás 3. Szállítási 2. Hálózati 1. Kapcsolati
Konkrét megvalósítás/protokoll FTP (File Transfer Potocol) TCP (Transmission Control Protocol) IP (Internet Protocol) Ethernet
Kérdés: nincsen ez túlbonyolítva? • Miért nem ültethetjük rá például az FTP-t közvetlenül az Ethernet keretekre? Elvileg lehetséges lenne, de mi történne, ha kicserélnénk a kapcsolati réteget Ethernetről valami másra (pl. modemes kapcsolat – PPP, mobiltelefonos kapcsolat – GPRS, vezeték nélküli hálózati kapcsolat – Wi-Fi, stb.)? Külön-külön FTP kiszolgáló és kliens programokat kellene írnunk minden változatra! • Miért nem ültethetjük rá például az FTP-t közvetlenül az IP csomagokra? Elvileg lehetséges lenne, de az IP csomagok megérkezési sorrendje (és egyáltalán megérkezése) bizonytalan. Az FTP-n kívül sok más alkalmazás igényelne még folyamatos adatkapcsolatot, azaz a csomagok újbóli sorba rendezését, hiányzó csomagok pótlásának elintézését, stb., és ezeket az eljárásokat külön-külön minden fejlesztőnek le kellene programoznia. Az operációs rendszer TCP/IP megvalósítása a szállítási réteget (TCP) készen kínálja, azt a programozóknak nem kell újra „feltalálniuk”, csak használniuk. Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
21/29
Extrém kapcsolati rétegek – pl. postagalamb 2001. április 28-án a Bergeni Linux-felhasználók Klubja megvalósította a postagalambokkal való IP-csomag továbbítást. • A végpontok távolsága kb. 5 km volt. • A kapcsolatot 9 csomagveszteség).
pingeléssel
PING 10.0.3.1 64 bytes from 64 bytes from 64 bytes from 64 bytes from
tesztelték,
amiből
(10.0.3.1): 56 data bytes 10.0.3.1: icmp_seq=0 ttl=255 10.0.3.1: icmp_seq=4 ttl=255 10.0.3.1: icmp_seq=2 ttl=255 10.0.3.1: icmp_seq=1 ttl=255
4-re
érkezett
time=6165731.1 time=3211900.8 time=5124922.8 time=6388671.9
válasz
(55%-os
ms ms ms ms
--- 10.0.3.1 ping statistics --9 packets transmitted, 4 packets received, 55% packet loss round-trip min/avg/max = 3211900.8/5222806.6/6388671.9 ms
• Az IP-csomag útja: nyomtatás → postagalamb → szkennelés → karakterfelismerés.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
22/29
2. példa: Hálózatok összekapcsolása Általánosan elterjedt jelölés: ha „A” és „B” a világ két különböző részén helyezkedik el, és kommunikálni szeretnének egymással, nincs más dolguk, minthogy keresztülküldjék IPcsomagjaikat az „INTERNET” feliratú óriási felhőn.
„A” INTERNET „B”
Ez szép, de mi van a felhőben? A felhőben szerte a világon elhelyezkedő, a legkülönbözőbb módon (Ethernet, bérelt vonal, víz alatti kábel, műholdas kapcsolat, mikrohullámú kapcsolat, stb.) összekötött, internetszolgáltatók vagy más szervezetek által üzemeltetett útválasztók (router) vannak.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
23/29
Útválasztók (routerek) Az interneten a kijelölt routerek autonóm rendszereket (Autonomous System) képviselnek. • Egy autonóm rendszer egy olyan rendszer, ami például saját IP cím tartománnyal rendelkezik. ◦ Például a BMENET (a Budapesti Műszaki és Gazdaságtudományi Egyetem IP hálózata) rendelkezik a 152.66.0.0/16, a 193.6.23.0/24 és a 193.224.185.0/24 címtartományok felett (azaz a 152.66.0.0 – 152.66.255.255 „B” osztályú, a 193.6.23.0 – 193.6.23.255 „C” osztályú, és a 193.224.185.0 – 193.224.185.255 „C” osztályú címtartományok felett). • Minden autonóm rendszer rendelkezik egy egyedi azonosítóval (ASN: Autonomous System Number), pl. a BMENET ASN-je 2547. • Az autonóm rendszerek nyilvántartják, hogy melyik más autonóm rendszereken keresztül érhetők el (AS Path), és ezt a tudást a BGP (Border Gateway Protocol, IETF RFC 4271) használatával egymásnak továbbadják. • Az autonóm rendszerek az interneten egy decentralizált hálózatot alkotnak: nincsenek központi routerek, egy új router csatlakozásakor az általa újonnan behozott AS Path információ routerről routerre terjed, míg a világszere a routerek meg nem ismerik az új jövevény elérhetőségét. • A routerek ezt az AS Path információt használják fel, hogy eldöntsék, az „A”-ból „B”-be tartó IP csomagokat melyik szomszédos routeren keresztül továbbítsák. Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
24/29
Konkrét példa az útválasztásra Otthonról, a T-xxxxxx internetszolgáltatóra csatlakozva szeretném elérni a BMENET hálózatában található gépemet. Hány útválasztón fognak keresztülmenni az IP-csomagok? A nyomozás eszköze a traceroute program, ami egy-egy IP-csomag útjának közbenső állomásait követi le. Ssz. 1. 2. 3. 4.
IP cím 84.2.157.168 145.236.238.216 81.183.245.5 81.183.245.6
5.
195.111.97.102
6. 7. 8.
152.66.0.125 152.66.0.90 152.66.5.67
AS (ASN)
Megjegyzés Otthoni IP címem
HTC (5483)
Hungarian Telecom Public Internet Access Provider
HBONE/HUNGARNET (1955) BMENET (2547)
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
Hungarian Academic and Research Network Budapest University of Technology and Economics Egyetemi gépem IP címe
25/29
Amikor a BGP csődöt mond...(I.) Egy példa: • 2008. február 25: Pakisztán elérhetetlenné akarja tenni a Youtube-t az ország internetezői számára. ◦ A Pakistan Telecom (AS 17557) elkezdi azt „híresztelni magáról” BGP-n, hogy a Youtube hálózatának egy része (AS 36561) elérhető rajta keresztül. ◦ A BGP-n keresztül szerte a világon elterjed, hogy létezik az 17557 → 36531 útvonal. ◦ Ez sok esetben rövidebb, mint a valódi útvonal, amin keresztül a Youtube IP forgalma bonyolódik, ezért szerte a világon elkezdik a Pakistan Telecom hálózatára irányítani a Youtube felé irányuló adatforgalmat. ◦ A Youtube 30 percen – 2 órán át elérhetetlen volt bizonyos szolgáltatóktól, amíg a Pakistan Telecom szolgáltatója el nem vágta ezt az útvonalat.
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
26/29
Amikor a BGP csődöt mond...(II.) Egy másik példa: • 2009. február 16: egy cseh internet-szolgáltató ki akarja egyensúlyozni a rajta keresztül menő forgalmat. ◦ A SuproNet (AS 47868) normális esetben közvetlen kapcsolatot ad meg BGP-n a CD-Telematikával (AS 25512): 47868 → 25512. ◦ Úgy döntöttek, hogy a CD-Telematika túl nagy forgalmat bonyolít rajtuk keresztül, ezért mesterségesen meghosszabbították az AS Patht, hogy a CD-Telematika inkább más útvonalakat válasszon helyettük: 47868 → 25512 → 25512 → 25512 → … → 25512. ◦ Ez bevett szokás a forgalom kiegyensúlyozására, de a SuproNet kicsit túlzásba esett: a teljes AS Path hossza meghaladta a 255 ASN-t, ami sok routert szoftverhiba miatt megbolondított, vagy egyszerűen lefagyasztott. ◦ Eredmény: előtte világszere 271175 AS-ből 1215 volt „instabil”, utána 12920, azaz az összes AS 4,8%-a, ami nagy mennyiségnek számít. Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
27/29
„Some people are surprised when networks fail. I'm surprised when they don't.” „Néhányan meglepődnek, ha a hálózatok nem működnek. Én akkor lepődöm meg, ha működnek.” Sam Halabi az „Internet Routing Architectures” c. könyvből
Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
28/29
Források, további olvasnivalók: • Benke Róbert: A kommunikációs folyamat tényezői, funkciói, ezek összefüggései kifejezésmóddal • Wikipedia (információk, képek forrása): ∘ http://en.wikipedia.org/wiki/Ethernet ∘ http://en.wikipedia.org/wiki/OSI_model ∘ http://en.wikipedia.org/wiki/Internet_Protocol_Suite ∘ http://en.wikipedia.org/wiki/Border_Gateway_Protocol ∘ stb. • Wikimedia Commons (egyes képek forrása) • Pakistan hijacks YouTube http://www.renesys.com/blog/2008/02/pakistan-hijacks-youtube-1.shtml
• Czech router "creativity" causes 'Net traffic chaos http://arstechnica.com/security/news/2009/02/czech-router-creativity-causes-net-traffic-chaos.ars
• Reckless Driving on the Internet http://www.renesys.com/blog/2009/02/the-flap-heard-around-the-worl.shtml
• A BIX (Budapest Internet Exchange) AS kapcsolatai más AS-ekkel („peer” fül) http://www.robtex.com/as/as5507.html Számítógép rendszerek, 1. óra: Számítógépes hálózatok, internet
29/29