számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · page 5...

12
Page 1 Számítógép-hálózatok és internet eszközök Lukovszki Tamás diái alapján készítette: Erdélyi Viktor Bevezetés internet felépítése (kliens, ISP, backbone...) rétegszerkezet haszna a felsőbb rétegek az alsó rétegek segítségével végzik el a feladataikat adatok burkolása Rétegmodellek TCP/IP (host-to-network, Internet, szállítói, felhasználói) ISO/OSI (fizikai, adatkapcsolati, hálózati, szállítói, ülés (session), prezentációs, felhasználói) Tanenbaum hibrid modellje (fizikai, adatkapcsolati, hálózati, szállítói, felhasználói) Egyéb Információ (szép idő), adat (28 °C), szignál (áram a hőmérő szenzorban) Unicast, multicast, broadcast LAN, MAN, WAN vezetékes és vezeték nélküli hálózatok (WLAN) kliens-szerver architektúra kommunikáció socket API segítségével select() működése TCP („telefonhívás”) vs UDP („postai levél”) TCP server: socket-bind-listen-accept-(send/recv)-close TCP client: socket-connect-( send/recv)-close UDP server: socket-bind-(sendto/recvfrom) UDP client: socket-( sendto/recvfrom)-close Fizikai réteg A fizikai réteg definiál mechanikus, elektronikus, funkcionális és procedurális tulajdonságokat egy fizikai kapcsolat felépítéséhez, fenntartásához és befejezéséhez. A rossz vétel okai: elnyelődés (küldő energiája osztva a vételi energiával) frekvencia elvesztése frekvenciafüggő elnyelődés közeg által okozott fáziseltolás, torzulás (fáziseltolódás nagysága a frekvenciától függ)

Upload: others

Post on 26-Oct-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 1

Számítógép-hálózatok és internet eszközök

Lukovszki Tamás diái alapján készítette: Erdélyi Viktor

Bevezetés

internet felépítése (kliens, ISP, backbone...)

rétegszerkezet haszna

a felsőbb rétegek az alsó rétegek segítségével végzik el a feladataikat

adatok burkolása

Rétegmodellek

TCP/IP (host-to-network, Internet, szállítói, felhasználói)

ISO/OSI (fizikai, adatkapcsolati, hálózati, szállítói, ülés (session), prezentációs, felhasználói)

Tanenbaum hibrid modellje (fizikai, adatkapcsolati, hálózati, szállítói, felhasználói)

Egyéb

Információ (szép idő), adat (28 °C), szignál (áram a hőmérő szenzorban)

Unicast, multicast, broadcast

LAN, MAN, WAN

vezetékes és vezeték nélküli hálózatok (WLAN)

kliens-szerver architektúra – kommunikáció socket API segítségével

select() működése

TCP („telefonhívás”) vs UDP („postai levél”)

TCP server: socket-bind-listen-accept-(send/recv)-close

TCP client: socket-connect-( send/recv)-close

UDP server: socket-bind-(sendto/recvfrom)

UDP client: socket-( sendto/recvfrom)-close

Fizikai réteg

A fizikai réteg definiál mechanikus, elektronikus, funkcionális és procedurális tulajdonságokat egy fizikai kapcsolat

felépítéséhez, fenntartásához és befejezéséhez.

A rossz vétel okai:

elnyelődés (küldő energiája osztva a vételi energiával)

frekvencia elvesztése

frekvenciafüggő elnyelődés

közeg által okozott fáziseltolás, torzulás (fáziseltolódás nagysága a frekvenciától függ)

Page 2: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 2

zaj

Elméleti korlátok

Nyquist-tétel

egy sáv által korlátos, folytonos szignál rekonstruálásához legalább kétszer akkora mintavételi frekvencia

szükséges, mint a szignál maximális frekvenciája.

maximális szimbólumráta 2 H baud

maximális adatráta 2 H (log_2)V bit/s

DE: nem veszi figyelembe a zajt

Shannon-tétel

max adatráta 𝐻 log2(1 +𝑆

𝑁) bit/s

H a sávszélesség, S a jel erőssége, N a zaj erőssége (nem dB!)

De: létező kódolások nem érik el az elméleti korlátokat

Órajel-szinkronizáció

probléma a szinkronizáció elvesztésekor (pl. az egyik végpont órája gyorsabban jár)

Megoldások:

o explicit órajel

o kritikus időpontokban (pl. szimbólum vagy blokk kezdetén)

o önütemező kódok használata (pl. Manchester)

Alapsáv, szélessáv

Alapsáv: közvetlen szignálátvitel (minden frekvencián)

Szélessáv: széles frekvenciatartományban kerülnek átvitelre az adatok

o vivőhullám, moduláció

o a közeg ideális frekvenciáira lehet koncentrálni

Moduláció

Analóg vs. digitális szignál

amplitúdó-moduláció, on/off keying

frekvencia-moduláció, frekvencia-eltolás-keying (FSK)

fázis-moduláció, fázoseltolás-keying (PSK) – QPSK

QAM-16: amplitúdó- és fázis-moduláció egyben

Bithiba-gyakoriság (hibásan fogadott bitek részaránya)

függ a szignál és a zaj erősségétől, az átviteli sebességtől és a felhasznált módszertől

𝐵𝐸𝑅 𝑆𝑁𝑅 = 0.5 ∙ 𝑒−𝑆𝑁𝑅

Analóg vs. digitális átvitel

Analóg: forráskódolás, csatornakódolás, fizikai átvitel

Digitális: forráskódolás, csatornakódolás, moduláció, fizikai átvitel

Átviteli médiumok

Vezetékes

o twisted pair

o koaxiális

Page 3: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 3

o üvegszál

Vezeték nélküli

o rádióhullám

o mikorhullám

o infravörös

o fényhullám

A médium többszörös használata

tér-multiplexálás

frekvencia-multiplexálás

idő-multiplexálás

hullámhossz-multiplexálás

kód-multiplexálás (pl. ortogonális chip kódok)

Adatkapcsolati réteg

Az adatkapcsolati réteg feladatai:

Szolgáltatásokat rendelkezésre bocsátani a hálózati rétegnek

Keretek (frames)

Hibafelügyelet

Folyamfelügyelet (flow control)

Hibafelismerés és javítás

Hibajavító kódok

Hibafelismerő kódok

Elemi adatkapcsolati protokollok

Simplex protokoll nyugtákkal

Csúszó ablak (sliding window)

o 1-Bit-Sliding Window (alternáló bit)

o „Go Back N“

o „Selective Repeat“, negatív ACK-k

Hibafelügyelet

Keretek eleje és vége

hosszinformációval

byte stuffing (FLAG byte + ESC)

bit stuffing

kód megsértése által (nem megengedett kombináció jelzi a keret elejét/végét)

Hibafelügyelet

Hibafelismerés

Hibajavítás

Előre

Utólag

Page 4: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 4

Redundancia

paritásbit

Hamming-távolság (d bit meghibásodásának felismeréséhez d+1, javításához 2d+1 Hamming-távolság

szükséges)

𝑆 ⊆ 0,1 𝑛 a kódkönyv

kódok rátája: 𝑅𝑆 =log 2 |𝑆|

𝑛 (n bit hosszú kódokkal)

kódok távolsága: 𝛿𝑆 =𝑑(𝑆)

𝑛

jó kódoknak a rátája és a távolsága is nagy

CRC

modulo 2 polinomaritmetika

Átviteli protokollok

egyszerű szimplex protokoll nyugtákkal

o problémák:

A felső réteg gyorsabban küldi a csomagokat, mint ahogy a nyugták megérkeznek

Mi történik, ha nyugták elvesznek

alternáló bit protokoll (0-s és 1-es sorszám, 0-s után csak 1-est hajlandó fogadni)

csúszó ablak protokoll (Go-back-N, selective repeat)

piggybacking (hátizsák technika, visszafelé menő adatcsomagba az ACK-t)

Medium Access Control

Statikus multiplexálás

probléma: löketszerű forgalom („bursty traffic”) esetén nagy késés

Dinamikus multiplexálás

modellek: folytonos időmodell vs slotted time, carrier sensing

feldolgozandó terhelés: „G” – ha >1: túlterhelés

hatékonyság mérése:

o átvitel

o késés

o fairness

Page 5: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 5

Lehetséges protokollok

kollízió alapú protokollok

o ALOHA (amint kész a csomag, küldi)

o Slotted ALOHA

o CSMA (Carrier Sense Multiple Access) – non-persistent, 1-persistent, p-persistent

o CSMA/CD (Collision Detection) – 𝑇𝑔𝑒𝑛 ≥ 2𝑑 (d a max propagációs késés)

o véltelen várakozási idő: binary exponential backoff (ha ütközés van, 2x-esére növeljük az időt, ha

sikeres, alapértékre állítjuk)

versenymentes protokollok

o statikus időmultiplexálás (problémás)

o bitmap protokoll (rövid statikus foglalás-slotok, mindenki a saját slotjában jelezheti ha küldeni akar)

korlátozott versenyű protokollok

o adaptív fabejárási protokoll: az állomásokat bináris ID-k reprezentálják, minden csomópont a fa egy

levelének felel meg

o tesztel egy csomópontot (minden részfabeli csomópont küld), és ha csomagütközés van, akkor

teszteli a bal, majd a jobb oldali részfát.

Ethernet

Ethernet, Fast Ethernet, Gigabit Ethernet, CSMA/CD, binary exponential backoff

WLAN

Új problémák:

CSMA/CA (Carrier Sense Multiple Access, Collision Avoidance)

o Virtual Carrier Sensing: NAV (Network Allocation Vector) – a frame-ben benne van, mennyi időre

foglalná le a csatornát, aki ezt hallja, az addig nem küld.

o RTS (Ready To Send), CTS (Clear To Send) – ha a CTS-t megkapta, nem lesz ütközés

o elkerüli a rejtett kollíziókat

LAN-ok összekapcsolása

Fizikai rétegben: repeater, hub („multiline repeater”)

Adatkapcsolati rétegben: switch, bridge

o backward learning: XY-nak szóló adatot oda kell küldeni ahonnan XY feladójú adat jött, ha még nem

jött, akkor flood

Page 6: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 6

o köröket okozhat, megoldás: feszítőfa, spanning tree protocol (STP)

Hálózati rétegben: router

felsőbb rétegekben: transport/application gateway

Hálózati réteg

Feladatai:

útvonal-információk felépítése (route detection)

csomagok továbbítása (packet forwarding)

Egyéb

Internet Protocol (IP)

Routing tábla, felépítése (az is benne van, hogy melyik interface-en kell küldeni)

TTL mező (time-to-live)

Statikus routing

A routing-táblát manuálisan építjük fel

Kis és statikus LAN-ok esetén értelmes

Dinamikus routing

A routing-tábla felépítése és aktualizálása automatizált

Centalizált algoritmus, pl. Link State (OSPF)

o Egy/minden állomásnak ismerni kell minden információt

Decentrális algoritmus, pl. Distance Vector (RIP)

o minden routeren lokálisan dolgozik, lokális információkkal

Algoritmusok

Dijkstra, Bellman-Ford

Distance Vector Routing Protocol: elosztott Bellman-Ford-ot használ

o Count-to-infinity probléma: C kiesik, de A „tud egy utat” C-be (igaz, B-n keresztül), és ezt el is mondja

B-nek.

Page 7: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 7

Hierarchikus routing

Problémák nagy hálózatok esetén:

o Link State-nél túl sok tárolandó információ

o DistanceVector-nál ciklusok, lassú konvergencia

Autonóm rendszerek (AS, Autonomous System)

o külön routing az AS-en belül, és azok között

Inter-AS routing: BGP (Border Gateway Protocol – Path Vector protokoll, teljes útvonalakat használ)

IP címzés

IPv4 osztály alapú címzés, és problémái, subnetting

oszály nélküli címzés (CIDR, Classless Inter Domain Routing)

netmask fogalma (megadja, a 32 bites IP-ből hány bit azonosítja a hálózatot, és hány a hostot)

Address Resolution Protocol (ARP)

IP cím MAC címre fordítása

Broadcast a LAN-ban, lekérdezni azt, hogy melyik állomáshoz tartozik az adott IP cím

Csak az a csomópont válaszol, amelyhez az IP tartozik, a MAC címmel

A router akkor a csomagot oda ki tudja szállítani

IPv6

sokkal több lehetséges IP cím (128 bit)

autokonfiguráció

biztonság

quality of service (QoS)

multicast

DHCP (Dynamic Host Configuration Protocol)

IP címek automatikus kiosztása

o Kézi hozzárendelés (hozzákötni a MAC címhez, pl. szervereknél)

o Automatikus hozzárendelés (fix hozzárendelés, de nem előre beállított)

o Dinamikus hozzárendelés (újrakiosztás lehetséges)

DNS

hostnevek feloldása IP címre

Iteratív lekérdezés:

o A megkérdezett szerver annyi információt ad a válaszban, amit ő maga tud

o Pl. annak a szervernek a nevét, akit meg kell kérdezni

Rekurzív lekérdezés:

o A megkérdezett szerver rekurzívan „kideríti” a hiányzó információt

o A lokális szerverek tipikusan rekurzív lekérdezési módban dolgoznak

o Root vagy távoli szerverek iteratívban

DNS cache

dinamikus dns (pl. DynDNS)

reverse lookup (9.161.181.157.in-addr.arpa)

Multicast

Alkalmazásai:

o Real time Streaming,

o Web-cache update,

o IPTV,

Page 8: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 8

o Multi-player játékok

o Telefon-, Videokonferencia (all-to-all multicast)

Módszerek:

o Multicast-via-unicast

o Multicast fák

forrás alapú (source-based): minden forrástól külön fa a fogadókhoz

osztott fa (shared tree): ugyanazt a fát használja a csoport minden tagja

o source-based tree (forrás alapú fa): küldőnként egy fa

legrövidebb utak fája

utak megfordítása (reverse path forwarding)

o group-shared tree: a csoport ugyanazt a fát használja

Steiner fa

center-based trees

tunneling (multicast routerek kommunikációja unicast közbenső routereken keresztül)

Scenariok (PIM, Protocol Independent Multicast):

o Sűrű:

A csoport tagjai sűrűn helyezkednek el egymáshoz közel

Sávszélesség bőven rendelkezésre áll

A routereknél feltételezzük a csoport tagságot, addig amíg a router explicit „prune” üzenetet

nem küld

Sávszélességet és a nem-csoport-routerek erőforrását pazarolja

o Ritka:

A hálózatok száma, melyek tartalmaznak csoport tagot, összehasonlítva a kapcsolódó

hálózatok számával, alacsony

A csoport tagjai nagy távolságra szétszórtak

Sávszélesség nem áll olyan bőségesen rendelkezésre

Amíg a router nem kapcsolódik explicit, addig nincs csoport tagsság

Sávszélességet és a nem-csoport-routerek erőforrását konzervatívan használja

Congestion Control

o lavina-jelenség

o Követelmények: nagy átvitel (throughput), kis késés (delay)

o Eszközei:

A kapacitás megnövelése

Erőforrás-foglalás és hozzáférés-szabályzás

A terhelés csökkentése és szabályzása

o Helye: hoston vagy routeren

o router: törölheti a csomagot, csomagvesztés implicit visszajelzést ad a küldőnek

o proaktív módszer: lefojtó csomagok (tovább növelheti a terhelést), helyette figyelmeztető bitek

küldése

o Random Early Detection

Page 9: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 9

Circuit switching (telefonvonal) vs. packet switching (internet)

Szállítói réteg

Kapcsolat nélküli vagy kapcsolat orientált (connectionless/connection oriented)

Megbízható vagy nem megbízható (reliable/unreliable)

„Best effort” vagy „Quality of Service”

Hibafelügyelet

Torlódás-felügyelet (congestion control) vagy torlódás felügyelet nélkül

Multiplexálás

o lehetőség több végpontra egy végrendszeren (host)

o Több interakciós modell támogatása: Byte-áram, üzenetek, „Remote Procedure Call“

o A hálózati réteg az adatokat kontroll nélkül továbbítja a szállítói rétegnek

o A szállítói rétegnek az adatokat különböző felhasználásokhoz kell hozzárendelni: pl. Web, Mail, FTP,

ssh, ...

o TCP/UDP ezt port-szám alapján teszi, pl. port 80 a Web-szerverhez

TCP (transmission control protocol)

Megbízható adatfolyamot hoz létre két végpont között

A felhasználói réteg adatáramát csomagokra osztja

A másik oldal a csomagok fogadásától nyugtákat küld (Acknowledgment)

UDP (user datagram protocol)

Egyszerű nem megbízható szolgáltatás csomagok küldésére

Az inputot egy datagrammá alakítja

A felhasználói réteg határozza meg a csomag méretét

A csomagokat a hálózati réteg által küldi

Routing nincs: végpont-végpont protokollok

Page 10: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 10

TCP kapcsolat-felépítés

TCP kapcsolat-lezárás

Congestion Control

Retransmission Timeout (RTO)

binary exponential backoff szerint, ha túl későn jön nyugta (RTT, round trip time-hoz viszonyítva)

Nagle algoritmusa

Cél:

o kis csomagok időben egymáshoz közel kerüljenek kiszállításra

o sok adat esetén nagy csomagok előnyben részesüljenek

Algoritmus:

o Kis csomagok nem kerülnek addig küldésre, amíg nyugták hiányoznak (egy csomag kicsi, ha az

adathossz < MSS)

o Ha a korábban küldött csomag nyugtája megérkezik, küldi a következőt

Önmagát ütemező: Gyors kapcsolat = sok kis csomag

Improves performance by allowing several small packets to be combined together into a single, larger packet

for more efficient transmission. While this improves overall performance and reduces TCP/IP overhead, it

may briefly delay transmission of smaller packets.

Sliding window

fogadó ablak >= congestion window (aktuálisan használt küldői ablak)

Page 11: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 11

slow start

Fast Retransmit (TCP Tahoe): 3 duplicate ACK esetén újraküldi az elveszettnek tekintett csomagot, és

egyidejűleg slow start

Fast Recovery (TCP Reno):

o fast retransmit után

o minden további nyugta tovább növeli a rátát

o ha az újraküldött csomag ACK-ja megérkezik, cwnd:=ssthresh

AIMD: additive increase, multiplicative decrease

Szempontok

fairness

hatékonyság

Biztonság

Biztonsági célok

Bizalmaság (confidentiality):

o Csak egy előre meghatározott publikum tudja írni vagy olvasni az átvitt vagy tárolt adatokat

o A résztvevők azonosságának a bizalmassága: Anonimitás

Adatintegritás (data integrity)

o Adatok megváltoztatása kideríthető legyen

o Az adatok szerzője felismerhető legyen

Felelős hozzárendelhetősége (accountability)

o Minden kommunikációs eseményhez hozzárendelhető legyen annak okozója

Rendelkezésre állás (availability)

o A szolgáltatások elérhetők legyenek és helyesen működjenek

Kontrollált hozzáférés (controlled access)

o A szolgáltatásokat és az információkat csak autorizált felhasználók érjék el

Módszerek

kriptográfia

tűzfalak

Titkosítási módszerek

Szimmetrikus titkosítás

ugyanazzal a kulccsal kell kódolni és dekódolni

Caesar-kód, DES, AES

Hash-függvények

szövegből csinál fix hosszú hash értéket

nehezen vagy egyáltalán nem lehet a hash-ből visszakövetkeztetni az eredeti szövegre

SHA-1, MD5

Aszimmetrikus titkosítás

publikus és privát kulcs

publikussal kódolni, priváttal dekódolni, így csak az tudja dekódolni akinek megvan a privát, ideális esetben

csak a fogadó

RSA, Diffie-Hellman, PGP

Page 12: Számítógép-hálózatok és internet eszközöke1m%edt%f3g%e9pes+h%e1l%f3... · Page 5 Lehetséges protokollok kollízió alapú protokollok o ALOHA (amint kész a csomag, küldi)

Page 12

Digitális aláírás

a szövegből kiszámít egy hash-t, és a privát kulcsával lekódolja, a szöveggel együtt elküldi

a fogadó a publikus kulccsal visszakódolja, és összehasonlítja a fogadott szöveg hash-ével

ha egyezik, nyert

Egyéb fogalmak

proxy

NAT, PAT

portforwarding

DMZ

Felhasználói réteg

FTP

HTTP, HTTPS, TLS, SSL

e-mail (POP, SMTP, IMAP)

XML

Egyebek

Webcache, HTTP mirrors – fontos kérdés: a másolatok szinkronban tartása

loadbalancing

PageRank

Peer-to-peer hálózatok