mrežepredavanjak3

19
TRANSPORTNI SLOJ Veza između aplikacija i mreže, po vertikali Komunikacija na 4. nivou između 2 hosta po horizontali Zadatak transportnog sloja je održavanje višestrukih komunikacija između aplikacija na obe strane Osnovne funkcije: -segmentacija i reasembliranje (pošiljaoc segmentira, prijemnik vraća u original) -multiplčeksiranje komunikacija (pošiljac identifikuje aplikacije koje šalju podatke, prijemnik prosleđuje podatke označenim aplikacijama) Dodatne funkcije: -uspostavljanje i održavanje komunikacione sesije -pouzdan prenos (izgubljeno/oštećeno se detektuje i opet šalje) -održavanje redosleda segmenata (prijemnik rekonstruiše originalan redosled) -kontrola toka Pouzdan prenos i redosled segmenata se radi pomoću rastućeg redosleda segmenata, funkcije: praćenje poslatih paketa, potvrda primljenih, retransmisija nepotvrđenih, posledica je dodatno opterećivanje transportnog sloja, utiče na performanse Nekima je bitniji pouzdan prenos (ftp, email, http), a nekima brzina (IP teleofnija, streaming) Protokoli: *UDP (User Datagram Protocol) - samo osnovne funkcije, connection-less, jednostavan, best-effort princip, VoIP, IP telefonija, Video streaming, DNS, TFTP, SNMP,... *TCP (Transition Control Protocol) - osnovne i dodatne funckije, connection oriented protokol, FTP, HTTP, HTTPS, email,... Portovi su identifikacija aplikacija na matičnom hostu, polje protocol u zaglavlju na 2/3 nivou identifikuje protokol 3/4 nivoa, a na 4. niovu se koristi polje port - celobrojna vrednost, 2B, aplikacije na različitom hostu imaju različite portove. Transportni sloj na osnovu broja porta prosleđuje podatke do odgovarajuće aplikacije, IANA ih dodeljuje. Primeri portova:

Upload: singidunum112

Post on 08-Jul-2016

221 views

Category:

Documents


1 download

DESCRIPTION

jhbkjnkjn

TRANSCRIPT

TRANSPORTNI SLOJ Veza između aplikacija i mreže, po vertikaliKomunikacija na 4. nivou između 2 hosta po horizontaliZadatak transportnog sloja je održavanje višestrukih komunikacija između aplikacija na obe straneOsnovne funkcije:

-segmentacija i reasembliranje (pošiljaoc segmentira, prijemnik vraća u original)-multiplčeksiranje komunikacija (pošiljac identifikuje aplikacije koje šalju podatke, prijemnik prosleđuje podatke označenim aplikacijama)

Dodatne funkcije:-uspostavljanje i održavanje komunikacione sesije-pouzdan prenos (izgubljeno/oštećeno se detektuje i opet šalje)-održavanje redosleda segmenata (prijemnik rekonstruiše originalan redosled)-kontrola toka

Pouzdan prenos i redosled segmenata se radi pomoću rastućeg redosleda segmenata, funkcije: praćenje poslatih paketa, potvrda primljenih, retransmisija nepotvrđenih, posledica je dodatno opterećivanje transportnog sloja, utiče na performanseNekima je bitniji pouzdan prenos (ftp, email, http), a nekima brzina (IP teleofnija, streaming)Protokoli:

*UDP (User Datagram Protocol) - samo osnovne funkcije, connection-less, jednostavan, best-effort princip, VoIP, IP telefonija, Video streaming, DNS, TFTP, SNMP,...*TCP (Transition Control Protocol) - osnovne i dodatne funckije, connection oriented protokol, FTP, HTTP, HTTPS, email,...

Portovi su identifikacija aplikacija na matičnom hostu, polje protocol u zaglavlju na 2/3 nivou identifikuje protokol 3/4 nivoa, a na 4. niovu se koristi polje port - celobrojna vrednost, 2B, aplikacije na različitom hostu imaju različite portove. Transportni sloj na osnovu broja porta prosleđuje podatke do odgovarajuće aplikacije, IANA ih dodeljuje.Primeri portova:*0-1023 well-known ports, serverske aplikacije*1024-49151 registered ports, serverske i klijentske aplikacije*49152-65535 private and/or dynamic ports, dinamički se dodeljuju klijentskim aplikacijama~TCP:

~21 FTP~23 Telnet~25 SMTP~110 POP3~80 HTTP~443 HTTPS

~UDP:~53 DNS~69 TFTP~161 SNMP~5004 RTP

Socket jedinstveno identifikovanje aplikacije na mreži, sastoji se iz IP adrese, transportnog protokola i broja porta

Serverske aplikacije su raspoložive na mreži za pristup od stran proizvoljnih klijenata, soket je IP adresa servera i unapred poznat TCU ili UDP port (prva dva opsega), dok klijentske aplikacije su pojedinačni procesi na strani korisnika koji iniciraju konekciju sa serverskim aplikacijama, soket je IP adresa klijenta i dinamički dodeljen TCU ili UDP port (drugi i treći opseg)Serverske stoje stalno na raspolaganju, klijenti znaju na koji server idu, zašto, koju aplikaciju koriste, moraju da znaju IP adresu servera i port aplikacije, klijenti moraju da imaju svoje portove i svoje IP, bira se slučajna vred za klijentske portove, moraju postojati da bi server znao kome da odgovoriNa aplikativnom i na četv, na aplikativnom: klijent-server (web, email, baze), aplikacije jedinstevno identifikovane preko socketa (IP addresu, protokol, port), svaka strana mora da ima svoj socket, sokceti su na četrvtom nivouServer zna koja mu aplikacija pristupa tako što sluša na portovima, kad dobije zahtev od aplikacije on prepozna IP i broj porta i zadrži jendu konekciju prema tom klijentu, drugi klijent kad se obrati stvori se druga konekcija, više kombinacija (prvo: mi sa više tabova)Bitno je da li se odvija komunikacija preko UDP ili TCP, zbog toga i to mora da je u socketu da bi se postigla jedinstvenostCilj transporta je da prenese aplikativne podatkeAplikativni podaci su proizvoljne dužine, deli se na više paketa (segmenata/datagrema) da ne bi zagušili saobraćaj, mora imati zaglavlje za podatke koje mu je viši sloj dodelio, prenosi se nižin slojevimaUDP oznaka 17, TCP 6 TCP TCP zaglavlje sadrži adresu na tom nivou, tj adrese izvorišnog i odredišnog porta (klijent >1023, slučajno dodeljen), dužinu zaglavlja, i polja flegova, window koliko se okteta šalje pre nego što se dobije potrvda, checksum proverava greške na nivou hedera tj komplement sume TCP hedera, TCP podatka i TCP pseudo hedera, TCP pseudo-heder (src dst IP adrese)Potvrda prenosa segmenata: kroz SEQ (sequnece number) i acknpowledgement da smo do određenog trenutka primili to i to, brojanje sekvence koja stalno raste, ona će da ukazuje na relativnu poziciju tog dela podataka koji se prenosi, on će da identifikuje tu količinu podataka, SEQ presdstavlja redni broj prvog bajta podataka koji se šalje, potvrđuje se slanjem ACK sa vrednošuću za 1 više (taj bajt je sledeći, sve do njega je uspešno primljeno), sprovodi se u oba smera nezavisno, neidentifikuju se paketi rednim brojevima već nizovi bajtovaKontrolni biti nose informacije o kontrolnim podacima:

SYN sinhronizacija brojne sekvence, oznaka da počinje prenos podatak, mora se označiti koji je sequnce number, ne mora biti 0,1ACK da bi se prihvatio ack kad se šalje, postavlja se ovaj flegFIN označavanje poslednjeg segmenta u sekvenci, zahtev za raskidanje komunikacije

USPOSTAVLjANjE KONEKCIJEUspostavlja se pre povezivanja u 3 koraka u 2 smera, odvojeno u boa smera, različite SEQ i ACK, u tri koraka, three-way handshake:Prvi korak: zahtev za uspostavljanje, inicijator slučajno bira vrednost za SEQ, i šalje paket sa SYN flegom i tim SEQ, da bi se označilo da je to taj SEQ od koga šaljemoDrugi korak:druga strana će da prepozna i potvrdi da je primila, poslaće ACK, postaviće ACK fleg i mora da inicira komunikaciju u drugom smeru, kao korak 1Treća strana: potrvdi prijem zahteva za komunikaciju, šalje svoj ACK

Rezultat uspostavljanje sesije u oba smeraKad se završi prenos, treba i raskinuti sesiju, može se raskinuti u oba smera nezavisno, po 2 koraka (šalje FIN flag u poslednjem paketu, druga strana potvrđuje prijem poslednjeg slanje ACK i tad je komunikacije završena, isto i za drugu stranu), ako nema paketa može se i u 3 koraka raskinutiKad se paket ne primi ili biva oštećen tada: ACK negativan ne postoji,, TCP za svaki poslati segment mora da drži tajmer u kom periodu treba da stigne ACK, ako ne stigne nema potvrde, i tada se vrši retransmisija, ako je stigao to je to, relativno brzo će stići ACK ako je stigao, minimalno vreme tajmera treba da je takvo da paket stigne da ode i da se vrati (RTT), različito je, prilagođava se tako što prati RTT, prati se prethodni RTT i nova vrednost:

RTT=a*old+(1-a)*new, a utiče koju ćemo istoriju više da gledamoTimeout=b*RTT, b faktor uvećanja

TCP ne šalje segment po segment nego ih pošalje par pa onda stižu ACK, čeka se potvrda, kad ne stigne vrši se retransmisija tog segmenta, u nadi da su ostali stigli i time se popunjava rupa u nizu primljenih, pravilo kod acknowlegdementa je da se potvrđuje samo poslednji primljeni u nizu (3,4,5 primimo i 7,8, neće se potvrditi 7 i 8), ne mogu se potvrditi sledeći ako imamo rupu. Može se desiti npr da šalje 1-10, 10-20, 20-30, mi kažemo da nismo primili 20, on opet to pošalje, ali mi sledeći put nećemo reći da šalje od 20og jer imamo 20-30 nego tražimo posle 30Kad imamo SEQ možemo da ispoštujemo redosled slanjaKontrola toka: da ne šaljemo prebrzo da se zaguši ili presporo ako može brže, postiže se Window mehanizmom, on pretstavlja veličinu podataka koju možemo da šaljemo, ukupan brpoj bajtova koji možemo da pošaljemo pre nego što ćemo dobiti potvrdu, kao neki odlazni bafer, čuvamo u prozoru dok ne dobije potvrdu da su primljeni, mogu se u njemu nalaziti i oni koje možemo poslati (ako ima prostora u prozoru), naziva se i sliding windowManji prozor više čekanja, sporije slanje, većio prozor, manje čeka brže šalje, sprovodi se nezavisno u svakom smeruMože da se dinamički uspostavlja veličina prozora, ako se neki izgubi, da se smanji prozor, a može i nek strana da traži smanjenje, to znači da se prebrzo šalju, ako nema grešaka možda može prozor postepeno da se povećavaKontrola zagušenja - dinamički se TCP prilagodi uslovima u mreži, da što više iskoristi a ne bude zagušen:

-slow start - ne znamo da li mreža može da podrži taj prozor, AW se uspostavlja na početku sesije, pošiljalac neće odmah da ga popuni, postepeno se povećava, tj. Popunjava, ne koristi se odmah AW nego da se inicijalno koristi CW, tj manja vrednost, poslaćemo 1 segment pa čekati potvrdu, kad stigne potvrda, povećavamo slanje segmenta za broj potvrda koliko nam je stiglo (1, 2, 4, 8, ...)-congestion avoidance - usporiti slanje kad dođe do gubitka paketa, pada na 1 veličina prozora, kreni u slow start ali ne idi do kraja nego do polovine prethodne vrednosti ssthresh, tu oko pola idemo sporije i linearno, globalni efekat je da se učestale greške kažnjavaju tako što postepeno povećavamo veličinu prozora, a ako ih nema povećavaće se svakako-fast retransmit - ack se šalje samo za pristigle segmente, kad god pristugnu mi šaljemo ack, a vrednost će biti ona koja označava samo u kontinuitetu pristigle (1,2,3 se pošalju, 1,2 potvrdimo, šaljemo 4, mi šaljemo ack opet 2, šalje 5 mi opet 2, ..), to je znak onome ko šalje (dobija stalno potvrdu za isti sregment) da je izostao neki segment, ali da su ostali stigli, ne moramo da čekamo timeout, već čim dobijemo par ack uradimo retransmisiju

-fast recovery - sprovodi se posle fast retransmit, ne sprovodi slow start, jedan je izgubljen a drugi su stizali, nije dramatična greška, nećemo toliko drastično smanjiti prozor, već ćemo ga smanjiti samo na pola i krenuti u linearni rast

Fast recovery se sprovodi u kombinaciji sa fast retransim tehnikom UDPSamo osnovne funkcije podržava, prenese podatke, multipleksira, da zna da segmentira i kome da vrati, ne uspotstavlja konekciju, ne prati pakete, nepouzdan, ali je brz i jednostavanZaglavlje samo 8B, src i dst port, dužina paketa (datagrama), checksum, provera greške ali ne i korekcijaU nekim aplikacijama bi TCP predstavio problemToleriše se manji gubitak paketa, da se ne naruši kašnjenje i džiter(mala varijacija kašnjenja)

JOŠ MALO O IP ADRESAMA Za svaki uređaj je potrebno definisati IP adresu, masku i default gateway da bi komunicirali sa uređajima u mreži i izašli na drugeNe možemo dodeliti bilo koju IP adresu, manuelno dolazi do grešaka, korisnici nisu uvek upoznati sa maskama itd., na laptopu se podesi već postojeća IP adresa, ..., zgodnije je koristiti tehnike i protokole da se dinamički dodele IP adresa , maska i DG, konfiguracija samo na serveru, smanjena mogućnost greške, podrška za mobilne korisnike, to ni ne bi moglo sa statičkom (wifi, dial up)Protokoli koji služe za ovu dodelu su RARP, BOOTP, DHCP RARPReverse ARP, ARP na osnovu IP daje MAC, RARP obrnuto, neki klijent zna svoju MAC ali ne zna IP, vraća mu se dodeljena IP adresaRetko se koriste, namenjeno diskless stranicamaProtokol trećeg nivoa, poruke se enkapsuliraju u drugi nivoFormat zaglavlja isti kao kod ARP, jedina razlika što je polje operation koje govori da li je ARP ili RARPDiskless uređaj po uključivanju zna svoju MAC i treba da traži odgovor, u serveru postoji mapa za svakog klijenta MAC adrese u IP adresu, ne zna ko je server ni kome se obraća, formira RARP request paket gde stavlja svoju MAC i šalje na broadcast (dst MAC na L2), svi uređaji primaju, prepoznaju da je RARP paket, ali samo onda uređaj koji ima definisanu funkciju RARP servera će odgovoriti, tako što iz RARP request prepozna ko traži, ode u tabelu mapiranja, u odgovoru postavi tu IP adresu u RARP reply, poslaće se na unicast MAC onome kome je taj pakt namenjenNe postavlja maske ni DG, zastareo BOOTPBOOTstrapNe znamo kome šaljemo, opet se šalje na broadcast, na serveru se moraju ručno definisati IP adrese koje su dodeljene MAC adresama (mapiranje), osim IP adrese se mogu poslati maska, DG i DNS server, komunikacija se odvija na aplikativnom nivou, tj. UDP transportni slojAplikativni protokol - mora imati definisane portove: 67 server, 68 klijentProces je kroz 2 koraka, u prvom klijent formira BOOT req poruku, sa MAC adresom, ona se enkapsulira u UDP poruku sa dest portom 67 (tu znamo da server sluša), ne znamo IP adresu servera, koristi se broadcast, isto i za MACSvi će primiti na L2 i L3 nivou, a samo će server na L4, jer on sluša na 67 portu, on će da prepozna koju MAC adresu, nađe u tabeli mapiranja i na osnovu toga formira BOOTP reply koji će se poslati klijentu, u taj paket se stavlja IP adresa, DG, može i IP adresa servera koji čuva npr OS odakle klijent može da butuje OS, ..., koristi se opet UDP za slanje, znamo koja je IP adresa klijenta ali ne može da je koristimo jer on ne zna, koristimo njegovu MAC, zato se u odgovoru ostavlja broadcast IP i MAC unicast da bi samo on dobio na L2, a da bi na L3 prihvatio i prosledio na L4  

DHCPProblem kod BOOTP je to što se statički dodeljuju IP na osnovu MAC, pa mora da se znaju svi uređaji, manuelno se konfiguriše za sve korisnike, ne možemo da imamo nepoznate korisnike preko wifi ili dial-up, mapiranje 1 na 1, nije primenljivo pogotovo za nepoznate korisnike čiji ukupan broj može biti veći nego što možemo da podržimoDynamic Host Configuration ProtocolKoristi se komunikacija na UDP nivou, na istim portovima kao kod BOOTP, mogu se poslati IP adrese, maska, DG, adresa DNS servera, naziv wWindows računara, ...Možemo imati više DHCP servera, to usložnjava sam protokol i komunikaciju, ali format poruka je sličan dosta BOOTP protokoluSprovodi se kroz 4 poruke:-prvi korak: klijent traži odgovor od servera, DHCP discovery, u nju upisuje svoju MAC adresu, pakuje na IP adresu na broadcast i na L2 na broadcast, svi je prime na L2 i L3 proslede na L4, samo je server ili više servera prepozna i procesira, tj. nastavi da odgovara, serveri ne moraju da znaju da i drugi serveri postoje, svaki nezavisno odgovara-drugi korak: DHCP offer, server nudi ponudu klijentu, postavlja se IP adresa, maska, DG, DNS i iz istog razloga se koristi broadcast na L3 i unicast na L2, rade svi DHCP serveri, nezavisno, klijent može dobiti više ovakvih poruka-treći korak: svi prime na L3, samo klijent na L4 prepozna i na L2 primi, on iz tog formata ekstrahuje podatke poslate, ako mu stigne više različitih poruka pravilo je da klijent prihvata prvu poruku, za nju traži dozvolu da koristi, formira DHCP request, tu IP adresu stavlja i traži dozvolu od servera da nastavi da je koristi, šalje se isto na broadcast IP i MAC, da bi svi serveri primili, jer u njoj klijent označava koju IP adresu koristi, svi serveri je dobiju, samo onaj koji mu je to ponudio šalje 4. poruku-četvrti korak: server koji je poslao ponudu šalje DHCP ack, šalje na MAC unicast ali i dalje na broadcast IP, drugi server označava tu IP adresu kao zauzetu, a onu koju mu je ponudio označava slobodnom i dalje NATNetwork Address TranslationTranslacija IP adresa - da se IP adrese iz jednog skupa adresa mapiraju uodređene IP adrese iz drugog skupa, natovanje, da bi se iz jednog IP domena videle u drugom, tipičan primer kad se koristi privatne IP adrese za neku organizaciju i želimo da omogućimo njihovu komuinikaciju sa ostatkom interneta, ali ne smemo tako da ih oglasimo na internet jer nisu jedinstvene, i internet serveri rade sa javnim adresamaSprovodi se na graničnom ruteru, jedinstvenoj izlaznoj tački stub mreže, tj. Na mestu gde se naša privatna mreža spaja sa javnomPrivatne IP su 10.0.0.0/8, 172.16.0.0/12 i 192.168.0.0/16 koje se zaista koriste u koorporacijskim mrežama, kad mrežni administratori žele da imaju kontrolu kome dodeljujuTermini:

*inside local addresses - lokalna mreža i privatne adrese u njoj*inside global address - privatna adresa se translira u ovu javnu IP adresu, dodeljena od strane provajdera*outside global address - javna adresa sa kojom se komunicira na internetu

Klijent ni ne zna da se i gde natovanje sprovodi, zna svoju IP adresu i javnu IP adresu sa kojom hoće da komunicira, dodatni posao za rutere

Vrste:-basic: 1-1, ne koristi se, nema uštede-overload: više inside u manji broj outside, problem pri uparivanju koji klijent je dobio koju IP, one nisu dovoljne i koiristi se kao dodatna informacija port na L4, sprovodi se mapiranje IP adrese i porta u globalnu IP adresu i port, ruteri pamte i portove i IP adrese, da bi znali za koga je paket-overlap: povezivanje 2 mreže sa istim privatnim adresama, spoje se dve mreže koje koristi isti adresni prostor, jedna mreža se mapira u npr 222 a druga u adrese 111, uvodi se termin outside local address (IP adresa hosta sa drugee strane mreže koja se vidi u unutrašnjoj inside mreži)

Najčešće se vrši mapiranje određenog broja adresa u samo jednu globalnu, ta vrsta se zove PAT (Port Address Translation), inside local adresa se preslikava u par (outside local adresa, source port), port identifikuje pakete sa kog su klijenta došli. Čak i ako imamo iste portove na jednoj strani koje trebaju da se natuju, ruter može i to da promeni (jer su te portove random dodelili klijent), jednom može zadržati a drugom dodeliti drugi, da bi se znalo koji je čiji paket, ruter posle zna gde natuje dolazni paket u koju IP adresu i port (koji će vratiti u onaj isti)Port forwarding: lako je promeniti portove za klijente, jer se oni dele slučajnim izborom, ali ako imamo u našoj NAT pivatnoj mreži da postavimo server koji treba da bude vidljiv server, klijenti spolja treba da znaju njegovu IP adresu (treba se postaviti dobar ruter da se samo ta adresu uvek mapira u istu, 1-1) a i serveri uvek slušaju na istom portu koji ne smemo da menjamo, mora se na ruteru na kom se vrši natovanje da se fiksira IP adresa i port, problem je kad imamo više istih servera iste namene (npr web koji sluša na 80), oni imaju iste IP adrese, ali isti port, zahtev se mora poslati samo jednom serveruNačini obavljanja NAT-a:

-statički uvek iste privatne mapiramo u iste globalne, primenjuje se kod unutrašnjih servera za koje je potrebno da su dostpuni uvek na istim adresama i za spoljne mreže (ili drugo rešenje, da im se dodele javne adrese koje su drugačije zaštićene i izdvojene u demilitarizovanu zonu)-dinamički granični ruter sam određuje inside global address i port iz konfigurisanog opsega adresa

Prednosti: veća sloboda u organizovanju adresnog prostora, lako se menja provajder, povećana sigurnost (niko spolja ne zna i ne može da pristupi određenim klijentima), manja potrošnja javnih IP adresa koje imaju ograničen brojMane: složenija konfiguracija, administracija, procesiranje na ruterima, povećava se kašnjenje, otežano je praćenje pritužbi sa interneta (hakeri, virusi,...)Tipično korišćenje: ne sprovodi se za sve računare, već samo pojedini servisi (proxy, email, web) i manji broj računara se posebno natuje ako za to postoji posebna potreba

DNS servis Funkcioniše na aplikativnom nivou, ima svoju namenu u pomoći kod korišćenja IP adresa, tj. mapiranje IP adresa u nazivePre su se nazivi svih računara čuvali u fajlu, tako što je čuvano mapiranje IP adresa i naziv, računari su jednom dnevno download-ovali taj fajlDefiniše hijearhiju nivoa, mapisa simbolička imena računara u IP i obrnuto, ...Koristi UDP i TCP na portu 53Jedinstvena logička struktura, ostvaruje se hijerarhijskom podelom u topologiji stabla, koren je " ", svaki poddomen čini čvor, poddomeni se odvajaju tačkama, po pravilu se stavlja i tačka na kraj koja označava odvajanje od korena koji je space i ne vidi seAko ne stavimo tačku na kraj naziva, implicitno se podrazumeva pun naziv domena ili naziv poddomena u zavisnosti od konfiguracijeNazivi računara su listovi u stablu, pripadaju određenom domenu, ispod njih se ne mogu staviti novi hostovi ili domeniJedan naziv razdvojen tačkama je labela max dužine 63, max dužina imena je 255, dozvoljeno _ -Poslednji element je Top Level Domain, ostalo su labele tj poddomeni, prvi može biti ime računara i ime poddomenawww.etf.bg.ac.rs i www.etf.rs su dva odvojena poddomena ali imaju istu definicijuTLD je prvo uveden za SAD (com. , edu. , gov., ...) posle je uvedeno za pojedinačne države (yu. , rs. , ...), kasnije su uvedeni i opštiStruktura stabla je zgodna i zbog podele ko je zadužen za koje podstablo, tj. Server koji ima definiciju tog domena i tih poddomena, to se naziva zona, obično je jedna zona jedan čvor (domen)Na vrhu hijerarhije su root DNS serveri, oni su fiksni i zna se koji su, 13 ih jeSvi podaci su definisani u Resource record, pridruženo čvoru ili listu, definišu se u zonama: domain_naim, time_to_live (koliko se smatra validnim u kešu, u sekundama, tipično 1 dan) claas (za internet je IN), type (tip RR), value (pridruženo RR) PRINCIP RADA:Primarni DNS server određuje se u odnosu na domen, tu je definisano RRSekundarni DNS server periodično preuzima definiciju domena od primarnog DNS servera, isto se određuje u odnosu na domen, ravnopravno i istovremeno radi kao i primarniAutoritativni DNS serveri imaju RR podatke za određene domene, primarni i svi sekundarni DNS serveri, određuje se u odnosu na domenTransfer zone: kopiranje podataka sa primarnog u sekundarniDelegacija zona: sa jednog čvora delegiramo kontrolu na druge DNS servereTopologija domena (hijerarhija) je potpuno nezavisna od topologije povezivanja u mreži (primarni server za bg.ac.rs ne mora biti u Beogradu)Osnovna potreba je da bi klijenti kad otkucaju naziv neki našli IP adresu. Mora da se definiše lokalni DNS server, na mestu gde se i IP adrese definišu (ručno, automatski)Kad ne znamo neki naziv, pitamo DNS servera da razreši taj naziv i da vrati IP adresuDNS obično komunicira sa drugim DNS serverima, pogledaće da li ima u svojoj bazi te podatke ili u kešu, pa onda ako nema pitati ostaleLokalni i alternativni DNS server na klijentu nije isto što i primarni i sekundarni

DNS Resolver je deo DNS softvera koji razrešuje imena, na strani klijenta traži informacije od lokalnog DNS, a na strani servera traži informacije od drugih DNS servera, autoritativnih za određene domene (primarni ili sekundarni), jednom dobijene informacije se keširaju na neko vremePostoji i caching-only DNS server koji nije autoritativan ni za jednu zonu već samo prikuplja i kešira informacije od drugih DNS, opslužuje lokalne klijente RAZREŠAVANjE IMENA:-iterativno: ako server nema u svojoj konfiguraciji ili kešu, on šalje upit root serveru koji mu kaže IP adresom određenog DNS koji je zadužen za TLD, može se ponoviti više puta za svaki poddoment u imenu, server koji je zadužen za domen (zonu) gde je dato ime vraća par (IP, ime), -rekurzivno: DNS prenosi ceo upit drugom DNS koji ga razrešava ako nema par u svojoj konfiguraciji ili kešu, taj drugi opet razrešava upit iterativno ili rekurzivno, zahtevno je i treba ga dozvoliti samo za lokalne klijenteLokalni server vraća odgovor klijentu u oba slučaja VRSTE PODATAKA:

*SOA start of authority recordOznača početak definicije fajla, navodi naziv primarnog DNS (informativno), email adresa DNS administratora (tačka umesto @) (informativno), serijski broj zona fajla (inkrementira se prilikom svake promene, da bi se znalo da je nova verzija, yyyymmddnn), refresh (kada sekundarni proverava da li ima nove verzije, ~3h), retry (ako je ne uspela prethodna provera kad pokušati opet), expire (koliko dugo se čuva zone učitan od primatnog DNS, ~1mesec), minimul TTL (koliko se recordi čuvaju u lokalnom keu drugih DNS)

*NS name server recordZa koji domen se definiše autoritativni DNS server, ne znamo odavde koji je primarni, nije bitan redosled, možemo uvesti novo ime sa DNS serverima koji su autoratitivni

*MX record mapira ime domena u mail servere na datom domenuDefiniše email server za tekuću ili poddomen

*A record mapira ime u IPv4 adresu*AAAA record mapira ime u IPv6 adresu *CNAME canonical name uvođenje alijasa za istu adresu*PTR record mapira IP u ime

Glue records ako se za poddmone navodi DNS server preko imena obavezno mora da bude i definisana i IP adresa tog DNS servera, jer ime servera sadrži poddomen koji taj server treba da razreži, predstavljaju redudantetne definicije, ali su neophodne da bi se od roditelja razrešilo INVERZNI DNS:Mapiranje IP adresa u nazive. Treba nam druga hijerarhija a isti sistem, ona će da mapira IP brojeve u imena, sprovodi se mapiranje koje u root-u ima in-addr.arpa i zati se stavljaju IP adrese kao domeni, u inverznom redosledu: 147.91.4.10 se mapira su 10.4.91.147.in-addr.arpa, koriste se PTR tipovi RR za definisanje // fali DNS alati

IPv6 – nova verzija IP protokola Treba da reši probleme, najveći problem je prezasićenost , za IPv4 se smatralo da je 32b dovoljno, nisu slutili da će biti eksponencijalni rast interneta, potrošene suAdresa je veća četiri puta, treba sve prilagoditi promeni IP adresaKarakteristike:

-veći adresni prostor-hijerarhijska struktura => efikasnije agragiranje mrežnih adresa, tj. Rutiranje-jednostavnije zagljavlje-fleksibilno zaglavlje sa nizom opcija-podrška za protokole rutiranja-podrška za autokonfiguraciju računara-podrška za bezbednost podataka sa IPSec implementacijom-poboljšana podrška za mobilne-ugrađena podrška za alokaciju resursa i kvalitet servisa-povećan broj multicast adresa

Problemi: nedovoljna podrška novih aplikacija, inertnost mrežnih administratora, mora se obezbediti prelazni režim FORMAT ZAGLAVLjA:

*prioritet 8b - saobraćaj je podeljen u klase*flow label/QoS management 20b - jedinstveno označava svaki tok između izvorišta i odredišta, ruteri rutiraju prvi paket, i ako se uspešno pošalje onda pošalje i ostale*payload length in bytes 16b - dužina polja sa podacima*next header 8b - identifikuje sledeće zaglavlje IPv6 sa dodatnim opcijama ili TCP/UDP, isto se tretiraju*time to live 8b*src address, dst address 128b - 16B, tj. 4 puta veće od IPv4

Izbačeno je header length, polja za fragmentaciju, zamenjeno service type i protocolIPv6 zaglavlje je manje i efikasnije, dodatne opcije se nalaze u dodatnim zaglavljima, pojavljuju se samo po potrebi, next header je tip sledećg zaglavlja, pretposlednji će ukazivati na TCP ili UDP.Ruting zagljavlje omogućava izvorištu da utiče na put kojim paket ide, definiše se sekvenca međutačaka (sekvencu adresa, ne moraju da budu uzastopne) i brojač (segment left) koliko je još međutačaka preostalo da se dostignuPrincip rada ruting zaglavlja: odredišna adresa normalno IPv6 paketa je prva adresa i sekvence, kad ruter prepozna sebe kao odredište a postojiruting zaglavlje, pogleda se vrednost brojača i adresa na toj poziciji od kraja se menja sa adresom u odredištu. Vodi ka prvom sledećem checkpointu FRAGMENTACIJA:Neekonomično, neophodna je i treba je minimizirati, dozvoljen je MTU od 1280okteta, sprovodi se na izvorištu a ne u usputnim tačkama, izvorište koristi MTU ili Path MTU Discovery (pronalazi najmanji MTU na celom putu i na osnovu toga radi fragmentaciju i dodaje fragment extension header)

Problem je što je rutiranje dinamičko i nije dobro da se javljaju česte promene putanja, ali se ovo retko dešavaAko ne može da prosledi paket, generiše ICMPv6 poruku izvorištu, ono sprovede Path MTU Discovery, fragmentira ga i učini veličinu paketa prilagodljivom prenosnom putuZaglavlje fragmentacije sadrži ID paketa, relativnu poziciju podatka (offest) i more fragments flag (da li slede dodatni fragmenti) IPv6 ADRESE:Dužine 16B (128b), pišu se u heksadekadnom obliku, postoji maska /nPodela u grupe po 4 heksadekadne cifre, svaka ta grupa je 2BSkraćeni oblik zapisa:

-izbaciti vodeće nule u grupama od 4 cifre (:00x => :x)-izbaciti samo jedan niz grupa sa nulama (:0:0:0: => samo dvotačke umesto grupe ::) (ali ne možemo to uvek raditi, jer ako ima na dva mesta ne znamo koliko nula ide gde, pa je pravilo da na samo jednom mestu možemo izostaviti nule)

Tipovi: (izbačen broadcast)*unicast - adrese koje se dodeljuju interfejsima:

**global unicast address - javne IP adrese, uvedena je hijerarhija, da se ne dodeljuju skroz proizvoljno (provajder/global routing prefix (3+45) +podmreža/subnet ID(16)+uređaj/interface ID), počinju sa 001, tj. opseg 2000::/3 celokupni global unicast domen**unique local address - za korišćenje u privatnim mrežava, opseg FD00::/8, ne smeju se oglašavati na internetu, to se reguliše konfiguracijom ruting protokola jer ruteri tehnički mogu da ih oglašavaju, FD (1111 1101) + GlobalID (40b)+Subnet (16b) = Subnet prefiks**link local address - namenjene samo za korišćenje na jednom L2 segmentu, ruteri ne prosleđuju pakete sa ovim adresama, opseg FE80::/10, format FE80+54 nule + interface ID (64b, EUI pravilo), automatski se postavlju

*multicast - zajednička koja identifikuje skup interfejsa koji tipično pripadaju različitim uređajima, paket poslat na nju biće prosleđen na sve interfejse određene tom adresom, može se koristiti za broadcast, da više uređaja sluša, opseg FF00::/8, FF+flag i scope (bb)+groupID (112b), FF02::/1 je multicast adresa svih uređaja na lokalnoj mreži*anycast - posebna adresa koja identifikuje više interfejsa koji pripadaju različitim uređajima, ali paket poslat na anycast stići će najbližem i samo jednom interfejsu koji poseduje tu adresu, najbliži interfejs je određen protokolom rutiranja i metrikom

Dodeljivanje host adresa: host deo iz IPv4 se zove sad interface IDEUI - 64 pravilo: jednoznačno treba da dodeli 64b nekom interfejsu na osnovu MAC adrese, njenih 6B se proširuje na 8B, podele se 6B na 3B levo i desno, između se ubace dva bajta FF i FE, uz uslov da sedmi bit prvog bajta bude 0 ako je MAC fizički upisana, a ako se logički menja, tj. administrator postavlja onda je 1 i ovde se to treba promeniti da taj bit bude 1Dodela IPv6 adresa:

-statički: konfigurisanje cele adrese, svih 128b ili samo mrežnog dela adrese 64b, dok se interface ID automatski dodeli po EUI 64-dinamički:

--statefull DHCPv6, po analogiji sa DHCP za IPv4, pamti kom uređaju je dodelio koju adresu

--stateless autoconfiguration - omogućava da se hostovi sami dogovore sa ruterima koju će IP da koriste, zato ima funkcija NDP (Neighbor Discovery Protocol=, uređaji automatski saznaju mrežni deo, a interface ID automatski se postavlja po EUI, NDP automatski dodeljuje i DG ali ne i DNS server

ICMPv6 iste funkcije za prenos kontrolnih informacija o greškama kao i za IPv4, sa dodatnim opcijama Multicast Listener Discovery (MLD)-zamenjuje protokol iz IPv4 i Neighbor Discovery Protocol (NDP) - mogućava razmenu podataka, automatsko konfigurisanje IP adresa, zamenjuje ARP i ICMPv4 porukeAutomatsko konfigurisanje IPv6 adrese i DG se vrši preko router discovery procesa, ruter će da bude odgovoran za dodeljivanje adresa, klijent ga pita preko router discovery router, šalje na multicast koji slušaju ruteri, on će da odgovori router advertisement koji slušaju svi klijent, odgovoriće koji je prefik mreže i koji je DG a klijent kad primi tu poruku router advertisement, zna kojoj mreži pripada a interface ID mu dodeli EUIDodela DNS servera: problem je što NDP ne dodeljuje DNS, zbog toga mora da se koristi ili DHCP ili d aručno dodeljujemo DNS, taj režim DHCP je stateless ne pamti kome je šta dao, samo obaveštava klijente o DNS servisima MEHANIZMI TRANZICIJE SA IPv4 na IPv6Rutiranje na IPv6 se zasniva na istom principu kao i rutiranje u IPv4, protokoli za IPv6 su nove verzije postojećih protokola rutiranja, isto se koristi longest-prefix matchProtokoli: RUPng, OSPFv3, IS-IS, Multiprotocol BGPIPv4 je i dalje dominantan i radi, a postoji i IPv6, mora postojati mehanizam koji će omogućiti komunikaciju između njih, zbog toga je i prelazak spor, dugotrajan i mukotrpan proces, ovi mehanizmi treba to da olakšaju. Najzastupljeniji slučaji:

*IPv4/IPv6 Dual stack - na svakom klijentu imamo i IPv4 i IPv6 instaliran softver, može jer su to različiti protokoli, a klijenti mogu da imaju različite protokole na L3 (0800 za v4 i 86dd za v6), viši slojevi mogu da koirste i aplikacije starije koji prepoznaju samo v4, i TCP i UDP koji su neizmenjeni (jedinstveni), a i novije aplikacije koje koriste v6*IPv6 Tunelovanje - kad imamo IPv4 od provajdera i našu IPv6 mrežu, na obe strane imamo rutere koji moraju na obe da budu zakačeni, treba da omogućimo da klijenti komuniciraju preko IPv6 na mreži koja je IPv4, tunelovanje predstavlja da dva rutera na dva udeljena kraja, sklope logičku vezu, tunel, bez obzira šta se fizički između njih nalazi, enkapsuliraju se svi paketi u IPv4, tada ruter koji ubacuje pakete u tunel će sebe postaviti kao src adresu a izlazak iz tunela kao dst, samo će to da prenesu i onda će se raspakovati i podaci se prenositi sa druge strane*Mehanizam translacije protokola - nešto slično NAT-u, radimo translaciju protokola, IPv4 se transliraju u IPv6, NAT-PT (Network Address Translation - Protocol Translation) imamo tačku koja vrši natovanje, neki rute, imamo klijente u v4 i v6 domenu, možemo imati DNS u jednom domenu a iz drugog ga koristiti, translacija iz v4 u v6 dodaje se određen prefiks, a zadržavaju poslednja 4 bajta, ne možemo koristiti opcije iz v6, ovo samo translira