PB156 - POCITACOVE SITE Eva Hladka ================================================== 19.02.2013 12:06:57 - lession I. - poznamky jsou doplnenim prednaskovych slidu, existuje pouze castecna duplikace Organisace - zaznamy k disposici - zkouska na konci - 7. 5. odpadne prednaska - dekanske volno, slavnostni den uni - posledni prednaska 14. 5. (mozna predtermin) Literatura - Kurose: Computer Networking - elektronicka verze 6. vydani - top-down (app -> fyzicka vrstva - Satrapa P.: IPv6, sdruzeni NIC.CZ, 2008 Zaklady - prvni sit v CR Bitnet jaro 1990 pro studenty - pouzivany na sdileni dat, zdroju - ucastnici: prijmajici, vysilajici - propustnost provozni site Prg-Brno je 40 Mbitps Vlastnosti siti - delivery (spravny prijemce) - accuracy (neposkozena data) - timeliness (vcasne doruceni) Prenosova media - vodena - pevna sit - nevodena - u nas vzduch Protokol - system komunikace (sada pravidel), aby si komunikujici strany rozumely Parametry site - vlastnosti site mezi ucastniky Ztratovost - prijemce se s tim vyrovnava preposilanim (neni moc dobre pro multimedia), pro nektere app jista ztratovost akceptovatelna (do urovne presnosti vnimani cloveka (5 % video)) Zpozdeni - fyzicke vlastnosti media - RTT - zpozdeni obousmerneho prenosu: doba cesty dat k prijemci a zpet Rozptyl - rozptyl zpozdeni - dulezity pro multimedialni app pracujici v real-time Idealni vs. realne site - idealni ma jen end2end vlastnosti (tedy zadna struktura, zadne zpozdeni) - transparetnost pro uzivatele a app - idealni ma neomezenou propustnost, nulove ztraty, zpozdeni, poskozeni packetu, zachovava poradi packetu (realna sit ne, protoze je to distribuovany system a ne vsechny packety jedne zpravy musi nutne jit stejnou cestou) Pozadavky na site (distribuovane) Efektivita - snaha o idealni vyuziti site - zaplneni na 100 % neni idealni, protoze provoz ma peaky (vyuziti site) - max. prumerne 30% vytizeni Spravedlnost - nutno resit prioritu dat (videohovor vs. email: email se muze zpozdit, hovor ne) Decentralisovana sprava - nemozno zjistit aktualni stav site, aby bylo mozno system ridit - pocet uzlu soucasne site vyssi nez pocet neuronu v mozku - nutna funkce bez centralni spravy - sit se musi adaptovat na novy stav (prechod zarizeni na jinou wifi -> musi se data poslat jinam) Muxing/demuxing - vyuzivani soucasnych struktur vicenasobne (misto vykopani optik a nasazeni novych) - na jednom vlakne vice ruznych vlnovych frekvenci svetla -> vice signalu - demultiplexing: rozdeleni signalu na konci linky na jednotlive puvodni signaly Rizeni toku dat - kvuli neplynulemu provozu nutnost ridit tok dat tak, aby nedoslo k zahlceni - e.g. pri posilani dat z rychlejsi linky na pomalejsi, bez rizeni by dochazelo k "pretlaku" na pomalejsi lince - harmonisace mnozstvi dat, ktere jsou prvky site schopny prenaset Pristupy vystavby siti Spojovane site - mezi uzly se pri kazde komunikaci ustavi pevne spojeni (analog. telefonni sit) - spojeni bud pevne nebo na zadost, ktera byla vyslana (spojovatelky v ustredne) - v kazdem okamziku je znamy stav site - vyhoda: zname parametry site, kvalita sluzby automaticky splnena - nevyhoda: spatne skalovani, vyuziti site Nespojovane site - e.g. Internet - data rozdelena do packetu, jez samostatne putuji siti a jsou smerovany vnitrnimi prvky site - ruzne cesty pri stejne adrese (!zachovani poradi prvku) - pri mensi propustnosti site mohou packety byt fragmentovany (rozdeleny) - vyhoda: neni treba resit stav site a kdo s kym si posila data, dobra skalovatelnost a vyuziti linek - nevyhoda: kvalita sluzeb tezko resitelna Implementace funkcionality End-to-End - abstrakce toho, co je mezi vysilacem a prijmacem - operace app by mely byt provadeny co nejblize koncum, zatez vnitrni site na minimu Hop-by-Hop - "krok za krokem" - opakovani fcionality na kazdem 2bodovem spoji - vhodny pro real-time app Sitove modely - zaslani zpravy je rozdeleno na nekolik casti, vysledkem prenost zpravy od vysilace k prijmaci ISO/OSI model - ISO - organisace - OSI - jmeno modelu navrzeneho ISO organisaci - 7 vrstev - nerovnomerne rozdelena dulezitost - vrstvy abstrakce funkcionality - packety dostavaji v jednotlivych vrstvach hlavicky (head) (a ocasky (tail)), ktere zajistuji odbaveni packetu - ridici informace vrstev Aplikacni vrstva - preda data cloveku Presentacni - representace dat jednotnou formou (e.g. rep. cisel) - ruzne architektury = ruzne rep. - TCP/IP ma i s rel. vrstvou v app vrstve Relacni - spravuje ustavena spojeni Transportni - zajistuje doruceni dat - protokoly TCP a UDP TCP -zajistuje spolehlive doruceni a v puvodnim poradi UDP - app si musi resit poradi a spolehlivost. sama - porty Sitova - adresace a doruceni dat mezi uzly - hledani vhodne cesty (ktera je efektivni z jisteho pohledu - delka, zatizenost siti) - momentalne IPv4 a IPv6, dosly volne adresy, prechod k v6 je velmi problematicky, protoze SW to nepodporuje a v4 a v6 vedle sebe nemohou fungovat bez problemu Vrstva datoveho spoje - rizeni pristupu sdileneho media - system kdo kdy bude vysilat, aby se to na busu nepromichalo - mac adresy (kazdy vyrobce dostava svuj pool, z nichz prideluje) Fyzicka - kodovani dat do signalu, prenaseni bitu TCP/IP - 4 vrstvy ================================================== lesson II. missing ================================================== 05.03.2013 12:00:57 - lesson III. Rizeni pristupu k mediu (MAC) - koordinace stanic - poslouchat na sdilenem mediu mohou vsichni, ale vysilat muze jenom jeden - protokoly rizeni pristupu - nerizeny pristup - kolize se resi az nastanou - rizeny pristup - snaha eliminovat kolize ruznymi technikami - multiplexove orientovany pristup - multiplex z vrstvy L1 do L2 (?) - FDMA (frekvencni multiplexing), TDMA (casovy multiplexing) Protokoly rizeneho pristupu Aloha - na Hawaii radiove spojeni ostrovu - stanice vysila, kdyz ma pripraveny ramec - detekce kolize neprijeti/prijeti acknoledgementu ve spravnem case - zasilani znova, kazda stanice po kolizi nahodnou dobu ceka a pak vysila, aby nedoslo znova k synchronni kolizi - neefektivni CSMA/CD - upravena Aloha - stanice vysila pouze, kdyz je klid v mediu (detekce klidu poslouchanim) - kolise mohou stejne nastat, nutno resit - nepouzitelne pro nevodena media CSMA/CA - upravena Aloha - obchazi kolise - pro nevodena media MAC protokoly rizeneho pristupu a. stanice smi vysilat, jen pokud dostane svoleni od ridici stanice b. reservace - casove intervaly vysilani (rozvrh) c. vyzyvani - centralni stanice vybira stanici, ktera bude vysila d. predavani tokenu - stanice, ktera jej ma, muze vysilat - nektere protokoly jsou zamerene napriklad na setreni energie (sensory v lese na detekci pozaru) L2 site LAN site - topologie = fyzicke usporadani stanic v siti - bus (sbernice), kruh, hvezda, ..., mash - kazdy spojen s kazdym - kolizni domena = stanice, ktere sdileji prenosove medium; vysilaji-li soucasne, dojde ke kolizi a znehodnoceni signalu Bus topology - kolizni domena tvorena vsemi stanice - rizeni pristupu pres CSMA/CD - nachylnost k defektum - levna a nenarocna instalace, velmi narocne na provoz (fyzicke poruseni velmi snadne) ------------------------------IMG001 o o o o //stanice | | | | ------------------ //bus ------------------------------IMGEND Ring topology - rizeni pristupu pres tokeny - nachylnost k defektum Star topology - centralni prvek - hub/switch/bridge - vypadne-li jedna stanice, ostatni mohou dal fungovat - narocnejsi instalace - kolizni domena zavisi na propojovacim bode - hub: L1 zarizeni, k.dom. vsechny stanice - bridge/switch: L2 zarizeni, k.dom pouze dve sousedni stanice Budovani L2 siti Bridge (mustek) - centr. prvek - transparentni propojeni siti - prochazi jim vsechen provoz, ale neprenasi kolize (oddeluje sdilena media) Switch - bridge s vice porty - v L2 nutno adresovat - MAC adresy - backward learning algorithm - bridge se uci, kde jsou stanice, naslouchanim mediu - cte zdrojove adresy a pak posila ramce dle zdrojove adresy - ramce - zakladni datova jednotka ? - lze vytvorit sit s cykly - pro eliminaci distribuovany Spanning Tree Algorithm pro vypocet kostry - nevhodne pro velke site (velikost prepinaci tabulky switche) --> ukazalo se byt vhodne smerovani Distribuovany Spanning Tree Algorithm - cil algoritmu: nepouzivat nektere porty mustku tak, aby se zabranilo cyklu - kostra: graf, ktery je souvisly, kde jsou spojene vsechny vrcholy a neobsahuje cyklus - *strom* - kazdy mustek - perodicke zpravy - - kazdy bridge pri prijeti teto zpravy od souseda upravuje svou definici nejlepsi cesty (vzdalenost od korene apod) - viz presentace (54/56 "2. Fyzicka vrstva") 1. vybere se korenovy mustek 2. na kazdem mustku korenovy port 3. vybrani neaktivnich portu - nutno definovat koren - po zapnuti se vsechny oznaci za korenove, pak se zvoli podle nejnizsi hodnoty, na kazdem dalsim mustku se vybira korenovy port (nejkratsi cesta ke korenovemu mustku), pokud maji stejnou "cenu", voli se podle nizsiho identifikatoru - ... Rekapitulace L2 - hlavni cil - zajisteni prenosu ramcu mezi dvema uzly, ktere jsou propojeny sdil. prenos. mediem a maji MAC - vrstva musi zajistit spolehlivost provozu - ochrana prijmajiciho uzlu proti zahlceni - rizeni pristupu k mediu - zakladni stavebni prvky L2 siti - switche a bridge L3 - Sitova vrstva - internetworking - logicke propojovani lokalnich siti do vetsich celku (e.g. Internet) - iluze uniformniho prostredi - poskytuje sluzby vrstve transportni a prijma sluzby od vrtsvy transportni - od L2 prijima segmenty a tranformuje je do packetu - fragmentace - rozdeleni packetu na vice casti podle kapacity site (jak maximalne velky muze datagram, ktery projde po danem mediu, byt) - ve spolupraci s L4 prenasi packety mezi uzly - multicast - vysilani z 1 bodu do vice bodu - adresace - adresy jedinecne pro celou sit - mapovani adres - z/do fyzicke vrstvy (address resolution) - ARP, RARP protokoly - smerovani - hledani nejvhodnejsi cesty - zakladni monitoring stavy site Internetworking - internet - propojeni vice siti (--> e.g. Internet) - duvodem rozdeleni segmentu (zmenseni koliznich domen apod.) - bezpecnost (lepsi kontrola) - zvetseni dosahu poskytovanych sluzeb (e-mail, VoIP, ...) - propojovaci zarizeni: - L1: repeater - L2: switch/bridge/... - L3: router - L4: gateway (brana) Modely zajisteni sit. sluzeb Prepinani okruhu (circuit switching) - ustaveni fyzickeho pripojovani, spojovana sit Prepinani packetu (packet switching) - pakety zasilany virtualnimi kanaly, na zacatku prenosu ustavena cesta a vsechny packety cestuji stejnou (predikovatelnou) cestou - spojovana sluzba, obvykle vyuzivana mobilnimi operatory Datagramovy pristup - nespojovana sluzba - kazdy packet obslouzen nezavisle na ostatnich - packet je posilan tak, aby se stale priblizoval cilove adrese - Internet - metriky na smerovacich, jak zjistovat, kam packet poslat: vzdalenost do cile, propustnost siti, ... - packety mohou byt posilany ruznymi cestami ================================================== 12.03.2013 12:02:30 - lesson IV. Adresace na L3 - pozadavek jednoznacne identifikace kazdeho zarizeni (rozhrani, pokud ma zarizeni vice rozhrani) v cele siti (napr. Internetu) - nutno pridelovat adresy systematicky (kvuli smerovani - zarizeno IP adresou (32bit pro IPv4, 128bit pro IPv6) IPv4 - typy adres - 32bit (4byte) adresy - unicastove: identifikuji jedno sitove rozhrani - broadcastove: zasilani dat vsem moznym prijemcum v LAN - pokud je sit propojena busem, budou prijemci shodni s kolisni domenou, jakmile je tam hub, posila se vic stanicim nez ktere jsou na kolisni domene - all-hosts broadcast - zdrojova adresa je unicastova - multicast - adresovani prijemcu, kteri projevi zajem - zdrojova adresa je unicastova Pridelovani adres Classful adresing - prvni metoda adresace - adresni prostor rozdeleny do trid Casti adresy - NetID - cast adresy identifikujici sit, lze vyuzit pro smerovani - HostID - identifikace jedinecneho uzlu v siti Problemy Classful Adressing - nedostatecna granularita - napr. organisace, ktera portrebuje 270 adres dostane tridu B s 65536 - spousta adres lezelo ladem Reseni problemu Classful adressing - pridelovani vice mensich trid - znamenalo zvetsovani smerovacich tabulek, coz linearne zpomaluje doruceni packetu - subnetting - rozdeleni site na podsite, ktere se jevi jako jedna sit, identifikace na hranicnim smerovaci (lokalne je rozdelen velky smerovaci prostor na mensi) - supernetting - opak subnettingu - agreguje vice IP adres v jednu samostatnou - lze pouzit pouze u sousednich sit. adres - ?? Maska site/podsite - subnetting i supernetting vyzaduji identifikaci bitu identifikujicich sit - subnetting - jen na hranicnich smerovacich - supernetting - na vsech smerovacic - adresa site = IP adresa uzlu && maska site Classless adressing - nahrazuje puvodni classful adressing - adresy pridelovani podle CIDR bloku - zavisle na poskytovateli - vnejsi smerovace pracuje podle adresy CIDR bloku - poskytovatel pak rozdeluje adresy sveho bloku, smeruje uvnitr NAT - Network Adress Translation - skryvani siti za prekladacem adres, na vne se to jevi jako jedna IP - vedlejsi efekty: ochrana site, obtizna prace s vnitrnimi sitemi - kdyz jdou data ven, je nutno prepsat adresu zdroje adresou NATU - pri inbound data nutno prepsat cilovou adresu z adresy NATu na adresu lokalni - podle prekladovych tabulek - pri odeslani si zaznamenava kam posilame, odpoved je jasna - pokud je prvni provoz z vnejska, velmi komplikovane IPv6 - 128 bitu / 16 bytu (32 hex cislic) - 2^128 ~ 5e28 adres pro kazdeho obyvatele Zeme - adresa je velmi dlouha, hlavicka se zavedla minimalisticka, rozsirujici informace budou doplnovany podle nutnosti (ne jako u IPv4, kde je porad vsechno) - primarni motivace bylo vycerpavani adres a chybejici featurky (podpora real-time aplikaci) - IPv6 ma impementovano spoustu veci, ex-post snaha je implementovat i do IPv4 Zkracovani zapisu - 16 bytu v packetech je jenom adresa - zakladni hlavicka 40 B - uvodni nuly ze zapisu kazde skupiny lze vynechat - lze vynechat *prave jednu* sekvenci nulovych skupin FDCE:0:0:0:BBFF:0:FFFF -> FDCE::BBFF:0:FFFF - strkturu adres definuje RFC 3587 (http://cs.wikipedia.org/wiki/Request_for_Comments) - globalni smerovaci prefix ~ adresa podsite: 48 bitu - adresa podsite 16 bitu - pouze classless adresace - CIDR notace Typy IPv6 adres - unicastove - multicastove - anycast - skupina prijemcu, data se doruci jednomu jedinemu clenovi, ktery je nejblize - broadcast nahrazen multicastovymi skupinami Interakce L3 s L2 - ARP protokol zjisti mac adresu na zaklade IP adresy Internet Protocol - nejrozsirenejsi protokol na sitove vrstve - cilem doprava datagramu pres smerovace - host-to-host delivery - datagramovy pristup k prepinani packetu, nespojovana komunikace - poskytuje best-effort sluzbu (nespolehlivou) - podpurne protokoly (ICMP - Internet Control Message Protocol (zjistovani stavu site, posila zpravy mezi sitovymi zarizeni pro spravnou fci), IGMP (internet group message protocol, pro podporu multicastu)) - podpora nestd fci - IPv4 - 1981 - RFC 791 - IPv6 - 1998 - RFC 3587 - zakladni jednotkou datagram - po pruchodu packetu smerovacem je nutno udelat znova CRC -> zpozdeni ================================================== 19.03.2013 12:04:20 - lesson V prednasejici Tomas Rebok IPv6 - pokracovani - podpora real-time aplikaci - vetsi podpora zabezpeceni prenasenych dat Flow label - parametry provozu se zadefinovaly na zacatku komunikace, pak se podle flow label vlastnosti kopiruji - volby presunuty do rozsirenych hlavicek Bezpecnost - sifrovani - autentisace - overitelnost, ze packet pochazi odtud, odkud rika - dve rozsirujici hlavicky v IPv6, v IPv4 rozsirenim protokolu (dalsi protokoly) - AH (auth header) - overovani pravosti - ESP (encapsulating security payload) - autentisace + sifrovani - dva rezimy ochrany - transportni: bezpecnostni data primo do datagramu - tunelujici: vytvori novy datagram, do ktereho prida puvodni packet - pouziti ve VPN - pro sifrovani nutno udrzovat klice (sdilene tajemstvi) - security associations (SA) - virtualni spojeni dvou pocitacu... Podpora mobility - domaci adresa (home adress) - nemenna adresa v domaci siti - docasna adresa (care-of adress) - adresa, kterou jsme dostali nekde na cesta - home agent - preposle dotaz na domaci adresu na docasnou - provadi se na routeru - lze optimalisovat (prvni komunikace jde pres domaciho agenta, zbytek uz muze jit primo) Podpora autokonfigurace - automaticke nastaveni adres (clienta) - v IPv4 zadna, pozdejsi implementace DHCP - zarizeni si vyzada IP adresu a dostane ji - v IPv6 - stavova - na DHCP serveru se nastavi, ze pool adres je volny a prichozi dostava adresy - v siti musi bezet server (odpovida na dotazy) - ekvivalent IPv4 DHCP - bezstaova - v siti neni zadny daemon, resi to smerovace - nove zarizeni po prichodu vysle multicast zpravu "hele ja jsem tu novy", router odpovi "tahle sit ma prefix takovy, pouziva se prefixace takova" - na to nutno zkonstruovat adresu - vezme se prefix a pribali se mac adresa a pod tou adresou vystupuje bud docasne (nez mu router da adresu) nebo trvale Fragmentace packetu - v IPv4 se packet rozdeli, kdyz je packet moc velky na nejakou sit - zbytecne to pretezuje vnitrni smerovace - v IPv6 se na zacatku komunikace posilaji zpravy Path MTU Discovery pro zjisteni nejmensi maximalni velikost packetu (MTU) -> fragmentuje to odesilatel, defragmentuje cilovy - problem s dynamickymi cestami - path mtu discovery se musi opakovat Podpurne protokoly - IPv4: IGMP, ICMP, ARP, RARP - IPv6: ICMPv6 - zahrnuje vsechny funkce protokolu IPv4 Mechanismy prechodu z IPv4 na IPv6 - dvoji zasobnik - stanice podporuji oba protokoly - tezko se implementuje - tunelovani - zabaleni IPv6 packetu do IPv4 (kdyz mezilehla sit nepodporuje IPv6) - nutno fragmentovat -> zatizeni, rychlost - translatory - preklad datagramu - vezme si z hlavicky informace a udela z toho IPv4 hlavicku L4 - sitova vrstva - smerovani 1. nalezeni cest pro packet ze zdoje k cili 2. mechanismus samotneho prenosu - staticke (topologie site), dynamicke (podle metrik zateze site apod.) - sit = graf: uzel = smerovac, linky = hrany, ohodnoceni = cena komunikace, cilem je minimalni cesta v grafu - v ramci Internetu se pouziva stejna metrika pro vsechny linky, hleda se minimalni pocet hopu k cili (zdrojem problemu jsou routery) - kazdy router resi jenom sve vlastni sousedy, protoze mapa Internetu je velmi slozita a meni se - routing vs. forwarding - predn. L4 - slide 16/84 Smerovaci tabulky - ukazatele, co delat s packetem (info o next hopu apod.) - vyhledaani v tabulkach je netrivialni, protoze jsou velke - default - posli to [nekam], pokud zaznam neni Staticke smerovani - pro male site - rucne editovane tabulky Dynamicke smerovani - autozjistovani stavu site - muze se najednou zmenit cesta -> !poradi doruceni Centralisovane rizeni - centralni aktualisovani tabulek - spatne skaluje - pri vypadku to vypadne cele Isolovane smerovani - pro smerovani na L3 se nepouzivaji, ale na P2P se pouziva Nahodna prochazka - nahodnostni princip - robustni, spolehlive (kupodivu) Hot potatoe - posle se do linky s nejkratsi forntou Flooding - jelikoz uzel nevi nic o okoli, posle to vsem - zatez site, obrovska robustnost Backward learning - uceni podle prichozich packetu - ad hoc site, wireless sensor networks Distribuovane smerovani - vyuziva se na L3 - vyhody: - postihne lokalni okoli smerovacu dostatecne presne - robustnost - v pripade vypadku/kompromitace jsou algoritmy schopny se s tim vyrovnat - smerovace si posilaji informace o tom, jak sit vypada ================================================== 26.03.2013 12:00:36 - lesson VI Daikstruv algoritmu Routing - pokracovani - globalni znalost site je nemozna, protoze je to velky distribuovany system - lokalni znalost musi byt relevantni -> distribuovane smerovaci systemy - muze nastat konflikt lokalni a globalni znalosti (-> cykly, ...) Smerovaci algoritmy - zajistuji vytvareni+udrzbu tabulek a doruceni dat - rozdeleni dle okamziku rozhodovani - pri vytvoreni okruhu - pri doruceni dat - dle mista rozhodovani - centralisovane alg. - 1 uzel - distribuovane alg. - kazdy uzel - smerovaci protokol - pravidla komunikace Pozadavky na smerovaci alg. - spravnost (spolehlivost) - jednoduchost - musi odbavit spoustu dat -> musi byt rychly, pri komplikovanosti se zvysuje moznost chyby - efektivita, skalovatelnost - smerovace si vymenuji zpravy o lokalnim okoli, coz je cista rezie - musi toho byt malo (max. ~5 % provozu) - kompromis mezi presnosti znalosti site a mnozstvim rezie - nutnost malych smerovacich tabulek - robustnost, stabilita - musi se vyporadat s kompromitaci uzlu (vysila spatne informace kvuli vlastni chybe, utoku) - spravedlnost - aby vsechny packety byly odbaveny stejne - optimalnost - vyhodnocovani cesty podle metrik - v nekterych protokolech se od toho upousti, protoze napr. provideri maji ruzne politiky, ze nechteji smerovat nekterou siti - nejjednodussi - minimalisace poctu hopu Distribuovane smerovani Distance vector (DV) - Bellman-Forduv algoritmus - celkem casto vyuzivany - sousedni smerovace si pravidelne kopiruji sve tabulky - pri prichodu nove tabulky smerovac porovna tabulky a zvysi svoji verzi tabulky - metrika je pocet hopu - posila velke tabulky malo smerovacum - "vsechny informace pouze svym sousedum" - smerovace si cesty udrzuje v usporadanych trojicich - cilova sit, adresa nasl. smerovace, vzdalenost do cilove site Algoritmus - predpoklad: kazdy router zna jen cestu a cenu cesty k cili - cil: v kazdem smerovaci tabulka pro kazdy cil - idea: rekni sousedum predstavu smerovaci tabulky - init: - sousede: znama cena - distance vektor: = (== 1) - ostatni: nekonecno (u starych protokolu == 16 z hist. duvodu) - aktualisace: pokud najde lepsi cestu k cili nez nekonecno, vymeni to - k aktualnimu stavu konverguje DV pomerne pomalu, protoze zmeny se propaguji v siti pomalu - muze snadno nastat cykleni, pokud nastane necekana zmena (nedostupna sit) - reseni - deleni horizontu: smerovac nesdeluje cestu zpet uzlu, od ktereho se ji dozvedel --> zrychleni konvergence - na slozitych topologiich se tezko rozhoduje, kdo komu co smi sdelovat DV IV. - protocol RIP I. - RIPv1 - RFC 1058 - velmi stary - RIPv2 - RFC 1723 - pridava napr. autentisaci smerovacich informaci - vzdycky se smeruje k sitim (u vsech algoritmu) - site se ident. pomoci CIDR - metrika jsou hopy, prenos packetu mezi smerovaci == delka 1, nekonecno 16 - periodicka vymena informaci (a 30 sec), pouziva se i pro zjisteni, jestli soused jeste zije, timeout 180 sekund - pouziti: male site, stabilni linky - nevhodny pro redundantni site - router prijme tabulku, inkrementuje ji (protoze doslo k dalsimu hopu), inkrementuje svou starou tabulku a podle algoritmu updatuje (if count(hops) stejny -> !change; if (count(hops) mensi -> change; if count(hops) vetsi -> !change) Link State (LS) - smerovace si zasilaji pouze nfo o stavu linek v bezprostrednim okoli - kompletni nfo o topologii - po prichodu informace se pocita nejkratsi cesta - celkem mala tabulka se posila vsem - "informace o svych sousedech vsem" - vyuziva se Dijkstruv algoritmus - testuje se pouze dosazitelnost sousedu - vyhoda: rychla konvergence -> vhodne pro rozsahle site, robustnost - kazdy si tabulky pocita sam, tzn. ze nelze jako DV podvrhnout chybne tabulky - nevyhoda: slozitejsi algoritmus (vetsi HW naroky), trpi na oscilace Algoritmus - na zacatku kazdy router zna cestu a jeji cenu pouze k sousedum - na konci zna smerovaci tab. pro kazdy cil - siri se topologie, vlastni cestu si kazdy router pocita sam 1. faze: broadcast informace o svych sousedech 2. faze: pocitani vzdalenosti podle dijkstrova alg. - obsah links state packetu: id uzlu, cena, ... - kazdy smerovac packety posila dal vyjma toho, kdo mu je poslal (-> flood) Dijkstruv algoritmus - hleda nejkratsi cesty - slide 4. Sitova vrstva - 37/84 - hrany musi mit nezapornou cenu (kvuli cykleni) - zdrojovy uzel - ten router, ktery si to pocita LS IV. - protokol OSPF - Open Shortest Path First - metrikou cena <1,65535>, kazde rozhrani smerovace - prirazuje se automaticky, odvozuje se ze sirky pasma : 1M / bandwith[b/s] - moznost cislo rucne menit kvuli politikam - stary, rozsiren o autentisaci, smerovaci oblasti (dalsi uroven hierachie), load-balancing (kdyz vice cest ma stejnou cenu, aby nevybiral furt stejnou cestu) Hierarchie smerovani - Internet je prilis velky na to, aby mohly DV a LS algoritmy fungovat -> rozdeleni informaci, ktere routery maji - nektere routery maji lokalni info + vi, komu data poslat, kdyz maji jit ven -> nejakou router zase ma globalni informace, posle to podobnemu jinemu smerovaci jinde, ktery zase ma lokalni informace na cilove strane - v pocatcich male site - kazdy uzel znal cely internet, tabulky prilis rostly - existuji 2 typy uzlu: interni, hranicni - pokud by hranicni mely znat cely Inernet, stale neunosne Hierarchicke cleneni Internetu Brany - na nejvyssi urovni jedina paterni sit - brany v pateri znaji cely Internet, dalsi brany znaji nizsi urovne zase - stromova struktura - ukazala se byt nevhodna, protoze ruzni vlastnici, nutnost jednotnych algoritmu pocitani, jednotnych metrik, ... Autonomni systemy - vzajemne propojene site spadajicich pod spolecnou spravu - tvoji autonomni system, za ktery odpovida provozovatel - mezi systemu nutnost jednotneho predavani ridicich informaci - uvnitr si to kazdy muze delat jak chce - snizena smerovaci rezie, zjednoduseni spravy site - "sprava jednotitlivych internetu ruznymi organizacemi" - prestala se plest efektivita a politika - uvnitr site efektivita, vne site spis politika - autonomni systemy == domeny - kazde domene prirazen 16bit ident.: ASN (autonomous system number) (RFC 1930) - prirazuje ICANN - deli se podle zpusobu, jak je pripojen do site - Stub AS: pripojen jen k dalsimu jednomu systemu, neni pruchozi - Multihomed a Transit AS - pripojeny k vice jinym systemum - M: pripojen k min. dvema dalsim, ale neni pruchozi - T: je pruchozi Autonomni systemu - smerovani - intradomenove - pod kontrolou spravce systemu, IGP - interior gateway protocols (napr. RP, OSPF) - interni smerovace znaji cesty do vsech podsiti - hranicni smerovace zverejnuji interni cesty, aplikuji smerovaci pravidla (?) - jadro site... - interdomenove - mezi AS - exterior gateway protocols (napr. EGP, BGP-4) - border-gateways musi zvladat spolupraci interniho a externiho routingu ================================================== 02.04.2013 12:02:10 - lesson VII Autonomni systemy - pokracovani - hranicni smerovace - zverejnuji interni cesty - jadro smerovace - smerovace musi znat cesty ke vsem sitim (?) - uvnitr site se resi pouze vykon, politiky se resit nemusi BGP - Border Gateway Protocol - navrzen kvuli podpore komplexnejsich topologii (redundance, vyporada se s cykly) - vyuziva Path Vector - obdoba DV - umoznuje popsat cestu od jednoho AS k druhemu - preference kratsich cest, ale primarne se resi politika - nevyuziva metriku (vyuziva, ale az uplne na konci) - podporuje definice pravidel - uziva TCP (vetsina ostatnich UDP) - CIDR - agregace cest Multicast routing - IP Multicast - vytvoren v cca 1984 Steve Dieringem (?) - skupinova komunikace - skupiny nejsou rigidni, pocet clenu neustale fluktuuje (aka real-life) - v tehle dobe paterni site jednotky az desitky Mbit/s, prenos multimedii byl velmi obtizny - puvodne dvoubodova komunikace se meni na vicebodovou -> nutno zajistit replikaci dat a jejich doruceni - multicast Mbone - casti site, ktere multicast umi (nebo backbone? snad ne...) - pokud casti site multicast neumi, lze ho simulovat na vyssich vrstvach - v multicastu producent dat vysila jednu kopii dat a dava jim adresu skupiny (v unicastu se musi rovnou data vysilat replikovane) - sit sama rozhoduji o tom, kde je data nutno replikovat -> zatez site je podstatne nizsi nez u stejneho ukonu v unicastu - po kazde lince jde vzdycky jen jedna kopie Komunikujici strany Vysilajici - kazdy muze vysilat, pokud zna adresu skupiny - nemusi byt clenem skupiny (aka prijimajici) Prijimajici - 0 az x, kdokoliv se muze pridat/opustit (pokud skupina neni uzavrena) - prijimajici muze byt ve vic skupinach soucasne Historicke pristupy [prez.: 4. Sitova vrstva - 76/84] Source-based Tree - zkladatel periodicky oznamuje existenci skupiny - pokud nejsou koncove body, orezavaji se vetve - velka rezie Core-based Tree - multicast byl uzitecny v dobe, kdy byly uzke linky, pro videokonference L4 - Transportni vrstva - sitova vrstva L3 neumoznuje identifikovat aplikaci - potreba identifikovat nejen uzly, ale i jednotlive app - L3 neresi defekty site - poradi packetu, cykly, ztraty packetu - L4 zavadi end-to-end sluzby - poskytuje sluzby L3 - prijma data od applikaci, transformuje je do segmentu a predava je nize - prpadne zajistuje spolehlivost prenosu - umi simulovat komunikaci process-to-process - iluse fyzickeho propojeni - nejnizsi vrstva, ktera poskytuje end-to-end sluzby - headers generovane na odesilateli se rozbaluji pouze u prijemce Sluzby [Pocitacove site L4 - 10/35] - adresace Spojovane, nespojovane sluzby - virtualni spojeni, .. - mimo ne vyvinuta i rada hybridu - jsou app, kterym nevadi nektere problemy - spousta sluzeb mezi UDP a TCP (protoze zajisteni spojovane sluzby ma rezii) ================================================== 09.04.2013 11:58:29 - lesson VIII [chybi] ================================================== 16.04.2013 11:58:59 - lesson IX Kvalita sluzby (QoS) - vsechny sitove toky v TCP/IP protokolu jsou obhospodarovany ekvivalentne - TCP/IP se brani zahazovani packetu, protoze to je zajistena sluzba - Best-Effort - pokud ma sit kapacitu, prenese, pokud ne, neprenese, zadna data nemaji prioritu Motivace pro QoS - nektere aplikace vyzaduji urcite parametry prenosu (real-time, citlivost na poradi packetu, rychlost) - multimedialni prenosy - nekde zpozdeni vadi (videokonference), nekde ne (zaznam, kde muzeme pouzit buffer) Spokojenost - sluzba je kvalitni, kdyz je uzivatel spokojeny a nepozna, ze se data prenaseji - lidske smysly jsou nepresne - pohodlnost se nahradi pozadovane parametry - spolehlivost (reliability) - pomer plne spolehlivosti a tolerance ztrat - zpozdeni (latency) - zalezi na app, e-mail nepotrebuje resit zpozdeni - rozptyl zpozdeni (jitter) - u streamovane hudby - prenosova kapacita (bandwith) - vlastni linky na kratsich linkach neprizpivaji ke zpozdeni a ztratam dat, zpusobuji to obvykle aktivni prvky Garance QoS - scheduling - planovani - traffic shaping - formovani/omezovani toky - condestion avoidance - predchazeni zahlceni - musi se implementovat na vice vrstvach Scheduling - obsluha I/O front - fronty jsou zasadni, kdyz se to blbe udela, dela to na siti divny veci - zakladni pristupy: FIFO - first in first out - nejjednodussi usporadani, 1 fronta, obsluha packetu podle poradi - nema podporu priority, neumoznuje zajistit kvalitu sluzby - implicitne zvyhodnuje velke packety Reseni a: queuing - nekolik front podle priorit, nemuze fungovat, protoze prioritni fronty by sezraly veskerou kapacitu - starvation packetu nizich priorit b: wieghted fair queuing - jako /a/, fronty jsou obsluhovany stridave (zakladni cas, ktery se nasobi podle priority) Traffic Shaping - [6. Kvalita sluzby - 15/31] - leaky bucket - zahazuje packety, ktere se do nej nevejdou, znevyhodnuje necinne proudy - token bucket - do kyble pribyvaji tokeny, pokud jsou v kybliku tokeny, muzou se prenaset data - kombinace - co udela, kdyz dam nejdriv leaky, pak token bucket - jak bude vypadat proud Congestion Avoidance - std chovani front - kdyz se zaplni fronta, data se zahazuji - muze zacit oscilace Random Early Detection - RED - zaplni-li se roura do urcite miry, smerovac zacne zahazovat nahodne vybranych toku - nedochazi k sync zaplneni, okno prenosu klesne jen nekterym, ne vsem - toky pro zahozeni se vybiraji bez ohledu na to, co obsahuje - proto modifikace na WRED Weighted Random Early Detection - WRED - packety s vyssi prioritou se zahazuji mene casto Kvalita sluzby v Internetu Integrovane sluzby (Integrated Services) - app uzavira kontrakt se siti: 1. app odesila sve pozadavky na sit 2. admition control: sit si overi, zda muze poskytnout kapacity (CPU time, volna kapacita, ...) tak, ze obejde vnitrni prvky, kterych se to tyka 3. pokud je spojeni odmitnuto, app muze prehodnotit pozadavky 4. if prijato, sit obejde vsechny prvky a oznami jim, kolik si maji reservovat - nevyhoda - je nutno udrzovat stav site na vnitrnich prvcich, to na paternich sitich neni mozne udrzet; jde to proti duchu Internetu, blbe skaluje, ... - vyhoda - reservuje se to, co si app vyzada a ne vic Rozlisovane sluzby (Differentiated Services) - typy aplikaci predstavuji tridy - ne vzdy je potreba vedet presne pozadavky - app oznacuje packet znackou, do ktere tridy patri - nejsou treba reservacni protokoly a udrzovani stavu site - IPv4: Type of Service; IPv6: Traffic Class - dobre skaluje, ale muzou byt problemy s efektivitou, ale odpovida to duchu Internetu (nestavova nespojovana sit) L5 - Relacni vrstva - tenka vrsta (aka zbytecna, mohla byt na L4) - relace = dialog - TCP ma zarodek relace, ale je to transportni protokol, nikoliv relacni - L5 zajistuje spojeni mezi koncovymi body - spojeni ridi koncovi ucastnici, zadne vnitrni prvky nejsou - spojeni plne duplexni (komunikace probiha obema smery), simplexni (~ jednim smerem), poloduplexni (predava se token a prepinaji se smery) - synchronisace (checkpointing) - kontrolni body, kam az se uspesne provedla operace - kontrolni body hlavni, vedlejsi - k checkpointum, ktere jsou pred poslednim hlavnim chckpnt, se nelze vratit - v TCP/IP modelu neni L5 uplatnena, nektere sluzby jsou nabizeny na transportni urovni L6 - Prezentacni vrstva - tenka vrstva - konverse dat, aby se vsechny prvky v siti domluvily stejne (odlisnosti kvuli ruznych architekturam a jejich odlisne vnitrni representace dat) - pristupy konverse dat: kazdy s kazdym, mezinorma - L6 predpoklada spolecny mezitvar - ASN.1 norma - app predava data + jejich popis v ASN.1 - L6 muze zajistovat take sifrovaci a kompresni mechanismy - TCP/IP nema L6, nechava jeji ukoly na app ================================================== 23.04.2013 12:03:08 - lesson X prednasejici: Tomas Rebok L7 - Aplikacni vrstva - aplikace - sluzby pro uzivatele - aplikace jsou hlavni smysl poc. siti - aplikacni protokoly - jak komunikuji aplikace - aplikace spolu komunikuji pomoci socketu - identifikator, ktery poskytuje zakladni informace o komunikujici aplikaci - u UDP sluzeb (nespojovanych) se komunikuje pres well-known port, muze komunikovat jen jedna app at a time - u spojovanych sluzeb (TCP) se well-known port pouziva pouze na ustaveni komunikace, dale se komunikuje pres ephemeral port; muze komunikovat vice app DNS - domain name service - v zacatcich Internetu lokalni host soubory, neslo udrzovat ================================================== 30.04.2013 12:06:35 - lesson XI SMTP - Elektronicka posta - Simple Mail Transfer Protocol - struktura zpravy: - obalka (envelope) - adresa odesilatele, prijemce, dalsi nfo - vlastni zprava - hlavicky - predmet, definice odesilatele, .. - telo zpravy - zprava se dorucuje podle toho, co je v obalce, ale podobne nfo se opakuje v hlavicce - SMTP protokol je stary, umi prenaset standardne jen text v 7bitovem ASCII kodovani - pozdeji navrzen doplnkovy protokol MIME (multipurpuse internet mail protokol) - MIME odchyti vse, co neumi SMTP prenest, prekoduje to do 7bit ASCII kodu, da to SMTP protokolu a na druhe strane vice-versa - MIME samotne nemuze fungovat bez SMTP - MIME hlavicka je mezi hlavickou a telem zpravy - obsahuje verzi MIME, typ obsahu, kodovani, id zpravy a popis zpravy - dorucovani zpravy probiha 3fazove - (1) sender -> TPC spojeni na port 25 -> (2) local mail server -> target mail server -> (3) reciever's client, spojeni iniciovano protokoly POP3/IMAP4 - cilovy postovni server muze odmitnou zpravu, napriklad proto, ze ma zdrojovy server na blacklistu (spam protection) POP3 - Post Office Protocol - vyuziva TCP protokol, port 110 - client se musi autentisovat - zpravy mohou na serveru zustavat, nebo byt mazany (podle politiky serveru) - nepodporuje nahlednuti do schranky pred stazenim mailu, neumoznuje organisaci posty na serveru, etc - proto vyvinut protokol IMAP - 3 % spamu uspeji - vyplati se to, protoze odesilatel nenese naklady FTP - File Tranfer Protocol - ustavuje dve spojeni - port 21: ridici a je udrzeno po celou dobu prenosu - port 20: datove, pro kazdy soubor se otevira zvlast - dulezite udat typ souboru, jinak se to posere Bezpecnost siti - bezpecna sit by mela zajistovat: - AAA Authentification (autentizace) - overeni identity uzivatele, "kdo jsem" Autorization (autorizace) - co muzu Accounting (uctovani) - sledovani vyuzivani sluzeb uzivateli - planovani vyuziti, spravu, ... Confidentiality (duvernost) - ochrana prenasenych dat Integrity (integrita) - ochrana pred neautorizovanym modifikovanim Non-repudation (nepopiratelnost) - zajisteni dukaznosti odeslani a prijeti (pokud by to chteli casem poprit)