INFOKOMMUNIKÁCIÓS RENDSZEREK ÉS ALKALMAZÁSOK INTERNET Pašić Alija BME Távközlési és Médiainformatikai Tanszék MTA-BME Lendület Jövő Internet Kutatócsoport
2
Az Internet napjainkban
3
ALAPFOGALMAK Internet architektúra TCP/IP protokoll hierarchia Beágyazódás
4
Az Internet
Forrás: Kurose, James F., and Keith W. Ross. Computer networking: a top-down approach (6th edition), 2013
5
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
router
számítógép
szerver
mobil
lokális ISP
• Alkalmazások számára nyújtott
kommunikációs szolgáltatás:
regionális ISP
• Kapcsolat nélküli megbízhatatlan • Kapcsolat-orientált megbízható
céges hálózat
6
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
router
számítógép
szerver
mobil
lokális ISP
• Optika, réz, rádió, műhold • Adatátviteli sebesség =
regionális ISP
sávszélesség
• routerek: csomagokat (adat
darabkákat) továbbítanak céges hálózat
7
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 ISP
regionális ISP
céges hálózat
8
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
9
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
10
Internet – IP routerek Útvonalválasztók
11
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 • Minden kommunikációt az Interneten protokollok vezérelnek
12
Protokollok
13
INTERNET Hálózatok hálózata
14
A hálózatok hálózata • Lokális hálózatok kialakulása után felmerült, az igény és
az öltet, hogy ezeket a hálózatokat össze kéne kötni. • 1972-1983: Internetworking – hálózatok összekapcsolása
• Vint Cerf and Bob Kahn internetworking alapelvei: • Minimalizmus, autonómia – nem szükséges a hálózatok összekapcsolásához a hálózat belső működését megváltoztatni, • Gyakorlatilag a mai Internet architektúráját határozták
meg.
15
Internet – Hálózatok hálózata Csomagok több hálózaton haladnak keresztül (tracert)
local ISP
Tier 3 ISP
local local ISP ISP Tier-2 ISP
local ISP
Tier-2 ISP
Tier 1 ISP NAP
Tier 1 ISP Tier-2 ISP local local ISP ISP
Tier 1 ISP Tier-2 ISP local ISP
Tier-2 ISP local ISP
16
Internet – Autonóm rendszerek (AS) AS hierarchia
• AS - azonos elv szerint működő eszközök, közös
felügyeIet (ISP-Internet Service Provider) • Minden 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
17
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 ISP 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
18
Internet – Tier 1 ISP-k Hierarchiában legfelső hálózatok (Tier1)
• Lazán hierarchikus • középpontban: “Tier-1” ISPs (Internet Service Provider) (pl., MCI, 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 ISP
Tier 1 ISP
NAP
Tier 1 ISP
Tier-1 szolgáltatók publikus hálózat hozzáférési pontokon (NAPs) is kapcsolódhatnak
19
Internet – Tier 1 ISP-k Legnagyobb AS-ek és az őket felügyelő ISP-k
• Egy ISP több AS-t is felügyelhet
Forrás: http://asrank.caida.org
20
Internet – Tier 1 ISP-k Sprint amerikai gerinchálózata DS3 (45 Mbps) OC3 (155 Mbps) OC12 (622 Mbps) OC48 (2.4 Gbps)
Seattle Tacoma
Stockton San Jose
Cheyenne Kansas City
New York Pennsauken Relay Wash. DC
Chicago Roachdale
Anaheim Atlanta Fort Worth Orlando
21
Internet – Tier 2 ISP-k Kisebb (gyakran regionális) ISP-k
• Egy vagy több tier-1 ISP-hez kapcsolódnak, esetleg
más tier-2 ISP-khez
Tier-2 ISP • Tier-2 ISP-k Tier-2 ISP fizetnek a tier-1 Tier 1 ISP ISP-knek, hogy NAP hozzáférjenek az Internet többi részéhez (tranzit) • tier-2 ISP vásárlója Tier 1 ISP Tier 1 ISP (customer) a tier-1 szolgáltatónak Tier-2 ISP Tier-2 ISP (provider)
Tier-2 ISP-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 ISP
22
Internet – Tier 3 ISP-k Helyi és Tier 3 ISP-k
• Utolsó hop (“hozzáférési”) hálózat (a végpontokhoz
legközelebb) local ISP Helyi és tier- 3 ISP-k vásárlói magasabb tier ISP-knek, hogy összekacsolják őket az Internet többi részével (tranzit)
Tier 3 ISP
local ISP
Tier-2 ISP
local ISP
local ISP Tier-2 ISP
Tier 1 ISP
Tier 1 ISP local ISP
Tier-2 ISP local ISP
NAP
Tier 1 ISP Tier-2 ISP local ISP
Tier-2 ISP local ISP
23
Megoldandó 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/
24
Internet – Protokollok Egyszerű SMTP (Simple Mail Transfer Protokol) protokoll • • • • • • • • • • • • • • •
S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM:
S: 250 [email protected]... Sender ok C: RCPT TO: S: 250 [email protected] ... 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 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection
25
Régeges reprezentáció • Hálózatot rétegesen szokták reprezentálni (Protokoll
hierarchia vagy OSI modell) • Miért jó, komplex folyamatokat így reprezentálni ? • Repülőút példája.
Forrás: Kurose, James F., and Keith W. Ross. Computer networking: a top-down approach (6th edition), 2013
26
Régeges reprezentáció
Forrás: Kurose, James F., and Keith W. Ross. Computer networking: a top-down approach (6th edition), 2013
27
Internet – Protokoll hierarchia Mié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
alkalmazási szállítási hálózati
• Modularizá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)
adatkapcs. fizikai
• Pl.: egy eljárás megváltoztatása nincs
hatással a rendszer többi részére
28
Internet – Protokoll hierarchia TCP/IP protocol stack • Alkalmazási réteg: hálózati
alkalmazások támogatása • FTP, SMTP, HTTP
• Szállítási réteg: végpont-végpont
közötti adatátvitel
alkalmazási szállítási
• 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
hálózati adatkapcs.
• 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ó
fizikai
29
Internet – Beágyazódás Encapsulation – Minden réteg hozzáadja a saját fejlécét üzenet szegmens H t csomag H H n t keret Hl Hn Ht
M M M M
alkalmazási forráscsomópont transzport hálózati adatkapcsolati fizikai M
Hl Hn Ht
adatkapcs fizikai
M
Hl Hn Ht
kapcsoló
M Ht
M
Hn Ht
M
Hl Hn Ht
M
célcsomópont
Hn Ht
M
alkalmazási transzport hálózati adatkapcsolati fizikai
Hl Hn Ht
M
hálózati adatkapcs fizikai
Hn Ht
M
Hl Hn Ht
M
IP útvonalválasztó
30
alkalmazási szállítási hálózati adatkapcs. fizikai
ALKALMAZÁSI RÉTEG Folyamatok kommunikációja Transzport követelmények a szállítási réteg felé Domain Name System
31
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
application transport network data link physical
• Pl.: Web szerver szoftver
kommunikál a böngészővel
• Maghálózat nem futtat
felhasználói alkalmazás kódot • A végberendezéseken történő application transport network data link physical
alkalmazás fejlesztés gyors fejlődést és elterjedést tesz lehetővé.
application transport network data link physical
32
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
33
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
Végkészülék vagy szerver
Végkészülék vagy szerver
process
Alkalmazás fejlesztő vezérli
process socket
socket TCP bufferekkel, változók
• De honnan tudja, hol van az
a másik folyamat?
TCP bufferekkel, változók
Internet
Operációs rendszer vezérli
IP cím azonosítja a hosztot, a port szám azonosítja a hoszton belül a folyamatot! Pl. HTTP: 80, SMTP: 25, SSH: 22
34
Domain Name System (DNS) IP cím és nevek közötti hozzárendelésért felelős • Internet hoszt, router azonosító: • IP cím (jelenleg 32 bit, de IPv6 már 128 bit hosszú) – a csomagok címzésére használjuk • Név: www.lendulet.tmit.bme.hu – az emberek által használt azonosító • Domain Name System: • Név / IP cím fordítás • A végberendezés, routerek, név szerverek kommunikálnak annak érdekében,
hogy feloldják a neveket • Maghálózati funkció, de alkalmazási rétegben implementálva (tartsuk a
komplexitást a hálózat szélein!) • További szolgáltatások: • Végberendezések alternatív néven történő hivatkozása (aliasing), e-mail
szerverek altervatív néven történő hivatkozása, terhelés megosztás, stb. • Elosztott adatbázis (név szerverek) a különböző neveknek megfelelő
hierarchiába rendezve • Nem centralizált, mert: single point of failure, a forgalom intenzitás nagy lenne,
karbantarthatóság… egyszerűen nem skálázódna!
35
Domain Name System (DNS) Elosztott, hierarchikus adatbázis Root DNS Servers
com DNS servers yahoo.com amazon.com DNS servers DNS servers
org DNS servers pbs.org DNS servers
edu DNS servers poly.edu umass.edu DNS serversDNS servers
• A kliens a www.lendulet.tmit.bme.hu címet keresi (első ötlet) • Megkérdez egy root szervert, hogy hol találja a .hu DNS szervert • Megkérdezi a .hu szervert, hogy hol találja a bme.hu DNS szervert • Megkérdezi a bme.hu szervert, hogy hol találja a tmit.bme.hu DNS szervert • Végül megkérdezi a tmit.bme.hu szervert, hogy mi a lendulet.tmit.bme.hu szerver gép IP címe
36
Domain Name System (DNS) Helyi név szerverek (a végberendezés hálózatában!) • Nem tartoznak szigorúan a hierarhiához • Minden ISP (Internet szolgáltató) van (akárcsak cégeknek, egyetemeknek, stb.) • Más néven ők az elsődleges név szerverek “default name server” • Amikor egy végberendezés címfeloldást kér a DNS
rendszertől, akkor a kérését a helyi DNS szervernek küldi • Továbbító pontként (proxy) viselkedik, és továbbítja a kérést a
hierarchiába
37
Domain Name System (DNS) Hiteles (szerver hálózatában!) és top level domain név szerverek • Authoritative (hiteles) DNS szerverek: • Cégek DNS szerverei • Hiteles végberendezés – IP cím megfeleltetéseket tartalmazza a cég
web, e-mail, stb. szervereinek • Mind az adott cég, mind pedig a hálózat szolgáltató nyújthatja
• Top-level domain (TLD) szerverek • A com, org, net, edu, etc, és minden top-level ország domain nevéért felelősek, pl.: uk, fr, ca, jp. • „Network solutions „ tartja karban a com TLD szervereket • „Educause” az edu TLD szervereket • Stb.
38
Domain Name System (DNS) Root név szerverek a Verisign, Dulles, VA c Cogent, Herndon, VA (also Los Angeles) d U Maryland College Park, MD k RIPE London (also Amsterdam, Frankfurt) g US DoD Vienna, VA i Autonomica, Stockholm (plus 3 other locations) h ARL Aberdeen, MD j Verisign, ( 11 locations)
m WIDE Tokyo e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations)
világszerte 13 root szerver b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA
• A végberendezés a helyi név szervert keresi, a helyi név
szerverek pedig kapcsolatba lépnek a root szerverrel, ha nem tudnak egy nevet feloldani • Root név szerver: • Felkeresi a hiteles név szervert ha a megfeleltetést nem ismeri • Elkéri a címfeloldást (rekurzív lekérdezés) • Visszaküldi a megfeleltetés a helyi név szervernek
39
DNS példa - iteratív lekérdezés (hogy van ez) A cis.poly.edu a gaia.cs.umass.edu IP címét szeretné tudni root DNS szerver
2 3
TLD DNS szerver 4
•
5 helyi DNS szerver dns.poly.edu
1
6
7
8
A megkérdezett szerver a következő megkérdezendő szerver nevét adja vissza • „Nem ismerem azt a címet, de kérdezd őt”
authoritative DNS szerver dns.cs.umass.edu
Kérő végberendezés cis.poly.edu gaia.cs.umass.edu
40
DNS példa – rekurzív lekérdezés A cis.poly.edu a gaia.cs.umass.edu IP címét szeretné tudni root DNS server
2
3 7
6 TLD DNS server
local DNS server dns.poly.edu
1
5
4
8 authoritative DNS server dns.cs.umass.edu
requesting host cis.poly.edu gaia.cs.umass.edu
•
A névfeloldást a megkérdezett név szerverre bízza
41
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 • Má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 • Má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 MBps minimális sávszélesség szükséges
42
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
43
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
application transport network data link physical network data link physical
network data link physical
network data link physical
network data link physical
network data link physical application transport network data link physical
• 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
44
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: • Megbízhatatlan adattovábbítás a küldő és fogadó folyamatok között • NEM 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: • Megbí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 • NEM biztosít: időzítés, minimális sávszélesség garancia
45
TCP kapcsolat menedzsment Háromutas kézfogás (three-way handshake) • 1. lépés: a kliens SYN
szegmenst küld a szervernek
Kliens
• inicializálja a sorszámot (SEQ) • nem tartalmaz adatot
• 2. lépés: szerver megkapja
a SYN szegmenst, SYN/ACK szegmenssel válaszol
Szerver SYN
SEQ # 1,000 Window 8,760 bytes Max segment 1,460 bytes SYN(ACK)
• szerver lefoglalja a buffert
SEQ # 3,000 ACK # 1,001 Window 8,760 bytes Max segment 1,460 bytes
• inicializájla a szerver oldali
sorszámot (SEQ) • 3. lépés: kliens megkapja a
ACK # 3001
ACK
SYN/ACK szegmenst, ACK szegmenssel válaszol • adatot tartalmazhat
46
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
47
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
application transport network data link physical
network data link physical
network data link physical
• 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!!!
network data link physical
network data link physical
network data link physical
application transport network data link physical
48
Hálózati szinten egyetlen protokoll
• Csak egy protokoll az Internet
szinten (Internet Protocol, IP) • Megbí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
network data link physical
network data link physical
• Skálázódási gondokhoz vezethet
Hálózati réteg – Az IP homokóra
network data link physical
49
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
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.3.27
223.1.1.3
• Egy routernek tipikusan több
interfésze van • A hosztnak átlalában egy
223.1.3.2
223.1.3.1
interfész • Minden interfész saját IP címmel rendelkezik 223.1.1.1 = 11011111 00000001 00000001 00000001 223
1
1
1
50
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) • Mi 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. Minden 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.1.3
223.1.2.9
223.1.3.27
223.1.2.2
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
51
Ú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ó algoritmus Lokális továbbítási tábla Fejléc érték Kimenő link 0100 0101 0111 1001
3 2 2 1
Ú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
Fejlécben lévő érték 0111
1 3 2
fizikai hossza • Megbízhatóság • Késleltetés • Üzleti érdekek alapján (policy routing)
52
Ú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
53
Ú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) • Minden router minden általa ismert prefixre kiválasztja a legjobb útvonalat • A legjobb útvonal next-hop-ját letölti a FIBbe
54
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 fa adatstruktúra (gyors keresést és jó tömöríthetőséget biztosít) 32
Prefix hossza
• •
Leghosszabban illeszkedő prefix 128.9.176.0/24
24
Default router bejegyzés 128.9.16.0/21 128.9.172.0/21 142.12.0.0/19 128.9.0.0/16 65.0.0.0/8 0.0.0.0/0
8
0
128.9.16.14
232-1
55
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)
56
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
• Modellezé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”
57
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) • MAC címeket alkalmazza a keret fejlécben a forrás és cél azonosítására (nem az IP címet!) • Megbí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 • Megfelelő 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
58
Adatkapcsolati réteg Ethernet (MAC) címek • MAC (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 MAC cím (a legtöbb LAN esetén) az adapter ROM-ba égetve 1A-2F-BB-76-09-AD
Broadcast cím = FF-FF-FF-FF-FF-FF
71-65-F7-2B-08-53
LAN (vezetékes v. vezeték nélküli)
= adapter, a LAN-on minden adapternek egyedi LAN címe 58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
59
Address Resolution Protocol (ARP) Hogyan határozzuk meg a vevő MAC címét, ha csak az IP címét ismerjük?
• Minden IP csomópont (végberendezés, router) a LAN-on
rendelkezik ARP táblával • ARP tábla: IP/MAC cím párok néhány LAN csphoz • < IP address; MAC address; TTL>
237.196.7.78
• TTL (Time To Live): lejárati idő
1A-2F-BB-76-09-AD
237.196.7.23 • A kommunikálni akar B-vel • B címe nincs az ARP táblában LAN • Broadcast ARP kérés B IP címével • Cél MAC cím= FF-FF-FF-FF-FF-FF, 71-65-F7-2B-08-53 mindenki megkapja a LAN-on • B válaszol a saját MAC címével A-nak
237.196.7.14
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
237.196.7.88
60
Border Gateway Protocol (BGP) Policy (üzleti preferencia) alapú útvonalválasztás BGP Frissítések vétele
Az attribútum Értékek alapján
Bemeneti policyk Legjobb út alkalmazása kiválasztása
Utak szűrése & Attribútumok állítása
BGP Frissítések hirdetése Legjobb út tábla
Legjobb utakhoz Tartozó tábla Bejegyzések mentése IP Továbbítási tábla
Kimeneti policyk alkalmazása
Utak szűrése & Attribútumok állítása