Spring 2002CS 4611 Bevezetés Vázlat: Statisztikus multiplexelés Folyamatok közötti kommunikáció Hálózati architektúra A működés mértékszámai A megvalósítás kérdései
Spring 2002CS 4612 Alkotó elemek Csúcsok (nodes): PC, specialis célú hardware… –hosztok –kapcsolók (switches) Kapcsolódások (links): koax kábel, optikai szál… –pont-pont –többszörös kapcsolódás (multiple access) ■ ■ ■ (a) (b)
Spring 2002CS 4613 Kapcsolt Hálózatok –Két, vagy több csúcs, amelyeket linkek kapcsolnak össze –Két, vagy több hálózat, amelyeket csúcsok kapcsolnak össze A hálózat fogalma rekurzív módon definiálható:
Spring 2002CS 4614 Stratégiák Vonali kapcsolás: bit sorozatot szállít –eredeti telefon hálózat Csomagkapcsolás: üzeneteket tárol és továbbít –Internet
Spring 2002CS 4615 Címzés és forgalomirányítás Cím: bájt sorozat, amely azonosítja a csúcsot –rendszerint egyedi Forgalomirányítás: üzenet továbbításának folyamata a rendeltetési pont felé a cím alapján Címzési típusok: –Egyedi (unicast): a csúcsra jellemző –A hálózaton mindenkit felölelő csoportos (broadcast) –A hálózaton a csúcsok egy részhalmazát felölelő csoportos (multicast)
Spring 2002CS 4616 Multiplexelés Időosztásos Multiplexelés (TDM) Frekvenciaosztásos Multiplexelés (FDM)
Spring 2002CS 4617 Statisztikus Multiplexelés Igény szerinti időosztás A link ütemezése egyedi csomag szinten Különböző forrásból származó csomagok keverednek a linken A link eléréséért versengő csomagok bufferelése A buffer (queue) túlcsordulását torlódásnak nevezzük ■ ■ ■
Spring 2002CS 4618 Folyamatok közötti kommunikáció A hoszt - hoszt kapcsolódásra folyamat-folyamat kommunikációt épít. Funkcionálisan tökéletesíti a technológiák által nyújtott merev szolgáltatásokat az alkalmazási igények szerint.
Spring 2002CS 4619 Folyamatok közötti kommunikáció (IPC) Absztrakciói Kérés/Válasz modell –osztott file rendszerek –digitális könyvtárak (web) Folyam alapú modell –video: keretek folyama 1/4 NTSC = 352 x 240 pixels (352 x 240 x 24)/8=247.5KB 30 fps = 7500KBps = 60Mbps –video alkalmazások video igény szerint video konferenciák
Spring 2002CS Mi az ami meghibásodhat a hálózatokban? Bit szintű hibák (electrical interference) Csomag szintű hibák (torlódás miatt) Kapcsolat (link) és a csúcsok (node) hibái Csomagok késleltetést szenvednek (delay) Csomagok sorrendje felcserélődik a szállítás alatt Harmadik személy is hozzájut az információhoz
Spring 2002CS Rétegelés Absztrakció a bonyolultság elrejtésére Az absztrakció természetes módon vezet a rétegeléshez Alternatív absztrakciók az egyes szinteken
Spring 2002CS Protokollok A hálózati architektúra építő elemei Minden protokoll objektumnak két interfésze van: –szolgáltatás interfész: műveletek az adott protokollon –protokoll (peer-to-peer) interfész: üzenetek váltása az azonos szinten levő elemekkel A protokoll szónak több jelentése is van: –peer-to-peer interfész specifikációja –maga a modul, amely értelmezi az üzeneteket
Spring 2002CS Interfészek
Spring Protokoll Hierarchiák (Machinery) Protokoll gráf –A legtöbb peer-to-peer kommunikáció indirekt –A peer-to-peer csak a hardver szinten direkt Host 1Host 2 File application Digital library application Video application File application Digital library application Video application
Spring Protokoll Hierarchiák (folyt.) Multiplexelés (egyesítés) és Demultiplexelés (szétbontás) (demux key) Beskatulyázás (encapsulation) (fej/törzs) Host Application program Application program RRP Data HHP RRP HHP Application program Application program RRP Data HHP RRP Data
Spring 2002CS Internet Architektúra Internet Engineering Task Force (IETF) definiálja Homokóra szerű forma Alkalmazások és Alkalmazás Protokollok (FTP, HTTP) ■ ■ ■ FTP TCP UDP IP NET 1 2 n HTTPNVTFTP
Spring 2002CS ISO (International Organization for Standardization) Architektúra
Spring 2002CS Hálózati működés (Performance) Mértékszámai Sávszélesség (bandwidth) (throughput) –Időegység alatt átvitt/felvitt (transmitted) adat –Linkre, illetve végponttól végpontig vonatkoztatva –jelölés KB = 2 10 bytes Mbps = 10 6 bit másodpercenként (bits per second) Késleltetés (latency) (delay) –idő, amely az üzenetnek az A pontból a B pontba küldéséhez kell –egyirányú, ill. körbejárási idő (round-trip time) (RTT) –komponensei Latency = Propagation + Transmit + Queue Propagation = Distance / c Transmit = Size / Bandwidth
Spring 2002CS A sávszélesség és a késleltetés viszonya Feltételektől függ, hogy melyik a fontosabb –1-bájt átvitel: 1ms vagy 100ms késleltetés fontosabb, mint 1Mbps vagy 100Mbps sávszélesség –25MB átvitel: 1Mbps vagy 100Mbps sávszélesség fontosabb, mint 1ms vagy 100ms késleltetés Végtelen sávszélesség –RTT a domináns Throughput = TransferSize / TransferTime TransferTime = RTT + 1/Bandwidth x TransferSize –1-MB file 1-Gbps linkre olyan, mint 1-KB packet 1-Mbps linkre
Spring 2002CS A késleltetés és a sávszélesség szorzata adat a vonalon (“in flight” or “in the pipe”) gyakran az RTT-re számolják példa: 100ms x 45Mbps = 560KB
Spring 2002CS Socket alkalmazói programozó felület (application programming interface API) Socket létrehozása int socket(int domain, int type, int protocol) domain = PF_INET, PF_UNIX type = SOCK_STREAM, SOCK_DGRAM, SOCK_RAW Passzív megnyitás (szerver oldalon) int bind(int socket, struct sockaddr *addr, int addr_len) int listen(int socket, int backlog) int accept(int socket, struct sockaddr *addr, int addr_len)
Spring 2002CS Sockets (folyt.) Aktív megnyitás (kliens oldalon) int connect(int socket, struct sockaddr *addr, int addr_len) Üzenet küldése/fogadása int send(int socket, char *msg, int mlen, int flags) int recv(int socket, char *buf, int blen, int flags)
Spring 2002CS Protokoll - protokoll interfész Több szint konfigurálhatósága –Statikus, ill. kiterjeszthető Folyamat modell –Elkerüli a tartalmak (környezetek) közötti átkapcsolást Buffer modell –Elkerüli az adatok többszörös másolását