Mrežni sloj

Zadužen je za usmeravanje paketa kroz mrežu. Takođe je odgovoran za kontrolu i upravljanje porukama, kao i za rukovanje grupama (eng. multicasting). Neki protokoli aplikacionog sloja su:

IPv4 . 32-bitni broj podeljen u 4 okteta. Kompjuter čita niz bitova, a ljudi obično zapisuju decimalno oktete razdvojene tačkama: 147.91.8.6 definisano je pet klasa IP adresa (označene od A do E) i svakoj klasi dodeljen je opseg adresa:
Pojedine mreže se identifikuju svojim NetworkID-ovima, a administratori tih mreža unutar mreže dodeljuju HostID pojedinim računarima. Razlog za podelu na klase, gde je polje HostID različite širine, je što postoje manje ili veće mreže, tako da se ne troše uzalud adrese pošto ih ima ograničeno mnogo (232). Klasa D je rezervisana za prenos poruke velikom broju računara istovremeno (multicasting tehnika). Klasa E je rezervisana za buduća proširenja.

IPv6 Internet protokol verzija 6 je protokol sloja mreže, naslednik internet protokola vrezije 4 (IPv4), osmišljen od strane IETFa (engl. Internet Engineering Task Force). U IPv6, novi (ali ne još široko korišćen) standardni internet protokol, gde su adrese 128 bita široke, što bi, čak i sa velikim dodelama netblokova, trebalo da zadovolji blisku budućnost. Teoretski, postojalo bi tačno 2128, ili 3.403×1038 unikatnih adresa domaćinskih interfejsa. Kada bi zemlja bila sačinjena kompletno od zrna peska od 1cm³, onda bi mogla da se dodeli jedinstvena adresa svakom zrnu u 300 miliona planeta veličine zemlje. Ovaj veliki prostor za adrese će biti retko popunjen, što omogućava da se ponovo kodira više informacija za rutovanje u same adrese.
IPv6 adrese su dugačke 128 bita. Adrese se dodeljuju pojedinačnim interfejsima na čvorovima, a ne čvorovima lično. Pojedinačni interfejs može da ima višestruku unicast adresu. Bilo koja od unicast adresa povezana sa čvornim interfejsom može biti iskorišćena kako bi jedinstveno predstavila taj čvor. Kombinacija dugih adresa i višestrukih adresa po interfejsu omogućava efikasnije rutiranje u odnosu na IPv4. U IPv4, adresa generalno nema konstrukciju koja pomaže rutiranju i zbog toga ruter mora da vodi veliku tabelu putanja rutiranja. Duže internet adrese dozvoljavaju veliki broj adresa od strane hijerarhija mreža, dobavljača pristupa, geografije,preduzeća itd. Takav broj bi trebalo da učini da tabele rutiranja budu manje, a pregled tabela brži. Dopuštanje višestrukih adresa po interfejsu bi trenalo da obezbedi pretplatniku koji koristi višestruke dobavljače pristupa po istom interfejsu da ima odvojenu adresnu gomilu kod svakog dobavljača. IPv6 dozvoljava tri tipa adresa:

  • Unicast: Identifikator za jedan interfejs. Paket poslat unicast adresi se isporučuje interfejsu koji je identifikovan tom adresom.
  • Anycast: Identifikator za set interfejsa (koji pripadaju različitim čvorovima). Paket poslat anycast adresi se isporučuje nekom od interfejsa koji je identifikovan tom adresom (nejbližem, gledajući po protokolu rutiranja).

  • Multicast: Identifikator za set interfejsa (koji pripadaju različitim čvorovima). Paket poslat multicast adresi se isporučuje svim interfejsima koji su identifikovani tom adresom.

    ARP (engl. Address Resolution Protocol) je protokol trećeg sloja OSI referentnog modela, definiše metode nalaženja fizičke adrese korisnika na osnovu poznate mrežne adrese. S`obzirom na najširu upotrebu internet protokola kao protkola adresiranja sloja mreže i etherneta kao protokola najniža dva sloja, ARP ima najširu primenu pri mapiranju MAC adrese sa IP adresom.

    CMP (engl. Internet Control Messageing Protocol) je protokol sloja mreže koji obezbeđuje pojedine mehanizme oglašavanja. U suštini, ICMP obezbeđuje povratnu spregu u vezi problema u komunikaciji u okruženju. Primeri upotrebe ICMP-a su kada paket ne može da stigne do odredišta, ruter nema dovoljnu veličinu bafera da bi ga prosledio (korisnik da bi ga primio) ili kada ruter može da uputi poruku da postoji kraća ruta. U većini slučajeva, ICMP poruka se šalje kao odgovor na paket, bilo od strane rutera koji se nalazi na putu datagrama ili od strane hosta koji je odredište.
    Iako je ICMP na istom sloju kao i IP u TCP/IP arhitekturi, on je ustvari korisnik IP-a. ICMP poruka se prvo napravi pa se onda predaje IP-u koji spaja poruku sa IP zaglavljem i onda prenosi rezultujući paket na već uobičajeni način. Iz razloga što se ICMP poruke šalju kao IP paketi, njihova isporuka nije garantovana niti je njihovo korišćenje pouzdano.

  • Transportni sloj

    Odgovoran je za kontrolu toka između dva krajnja računara (eng. host). Ovaj sloj je dužan da informaciju koju prima od aplikacije segmentira (paketizira) i prosleđuje je mrežnom sloju. U suprotnom smeru, transportni sloj sklapa pakete koje prima od mrežnog nivo i tako dobijenu informaciju prosleđuje aplikaciji. Neki protokoli aplikacionog sloja su:

    UDP (engl. User Datagram Protocol) je jednostavan protokol koji obezbeđuje osnovne funkcije transportnog sloja OSI modela. Definisao ga je Dejvid Patrik Rid 1980. godine, opisan je u RFC dokumentu pod brojem 768.UDP se koristi za razmenu paketa poruka („datagrama“) između računara. Za razliku od protokola TCP, ovaj protokol ne podrazumeva stalnu vezu nego se paketi „bacaju“ odredišnom računaru, bez održavanja veze i provere grešaka. Na taj način, ovaj protokol ne garantuje isporuku paketa niti isti redosled isporuke paketa kao pri slanju. Zbog ovih osobina UDP protokol je brz i koristi se za aplikacije kojima je važna brzina a prispeće paketa i održavanje redosleda nije od velike važnosti, koristi ga veliki broj aplikacija, naročito multimedijalne aplikacije poput internet telefonije i video konferencije. Koriste ga protokoli RTP, VoIP, DNS, serveri za računarske igre itd.

    TCP (engl. Transmition control protocol) je protokol koji pripada sloju 4 OSI referentnog modela, ima za ulogu da obezbezbedi pouzdan transfer podataka u IP okruženju. Između ostalih servisa koje nudi, neki su: pouzdanost, efikasna kontrola toka podataka, operisanje u ful-dupleksu (istovremeno slanje i primanje podataka) i multipleksiranje koje omogućava istovremen rad niza procesa sa viših slojeva putem jedne konekcije. TCP vrši transver podataka kao nestrukturisan niz bajtova koji se identifikuju sekvencom. Ovaj protokol grupiše bajtove u segmente dodeli im broj sekvence, aplikacijama dodeli broj porta i prosledi ih IP protokolu.

    TCP obezbeđuje pouzdanost tako što pokrene algoritmi koji pre razmene podataka prvo uspostave konekciju između korisnika, a potom obezbeđuje i niz mehanizama kao što je slanje ACK broja. Strana koja prima podatke šalje broj sekvence bajta koje je primio, u slučaju da destinacija ne pošalje ACK da je primio određenu sekvencu bajtova u određenom vremenskom intervalu ona biva naknadno ponovo poslata. Mehanizmi pouzdanosti kod TCP-a omogućuju uređajima da se nose sa gubitcima, kašnjenjima, dupliciranjem ili pogrešnim isčitavanjem paketa. Time-out mehanizam omogućuje uređaju da detektuje izgubljene pakete i da zahteva njihovu ponovnu transimsiju.

    Aplikaconi sloj

    Obezbeđuje zajedničku spregu preko koje korisničke aplikacije komuniciraju sa donjim slojevima. Dakle, obezbeđuje spregu (eng. interface) između aplikacija i mreže. Neki protokoli aplikacionog sloja su:

    HTTP je protokol za komunikaciju između servera i klijenta, koji funkcioniše po principu zahtev/odgovor. HTTP klijent, koji je najčešće veb pregledač, inicira prenos podataka nakon što uspostavi TCP/IP vezu s udaljenim veb serverom na određenom portu.
    Server konstantno osluškuje zahteve na određenom mrežnom komunikacijskom portu (tipično port 80), čekajući da se klijent poveže i pošalje svoj zahtev. Zahtev se sastoji od osnovne HTTP komande (čija je sintaksa propisana standardom i koja se sastoji od naziva komande, imena traženog dokumenta i verzije podržanog HTTP-a) i zaglavlja koje se sastoji od određenog broja redova teksta koji pobliže određuju aspekte zahteva.
    Zahtev klijenta se obrađuje na serveru i, u zavisnosti od ispravnosti zahteva i mogućnosti zadovoljavanja istog, klijentu se šalje odgovarajući odgovor. Odgovor se sastoji od izveštaja o statusu zahteva (koji se sastoji od trocifrenog koda i kratkog deskriptivnog teksta statusa, npr. 200 ОК) i od konkretnog odgovora, ukoliko je zahtev moguće zadovoljiti. Odgovor se sastoji od zaglavlja, koje je iste sintakse kao i zaglavlje zahteva i daje osnovne podatke o prirodi odgovora, i od eventualnog konkretnog sadržaja koji se tražio u zahtevu. U zavisnosti od verzije HTTP protokola kao i od zaglavlja zahteva, veza se može nakon toga prekinuti, a može se ista veza iskoristiti za slanje novog zahteva, radi uštede vremena.

    FTP ( engl. File transfer protocol – protokol za prenos datoteka) je najčešće korišćen protokol za prenos podataka između dva računara na mreži. FTP koristi TCP/IP za mrežnu komunikaciju, što omogućava da bude pouzdan i sesijski orijentisan. FTP veza se uspostavlja na zahtjev klijentskog računara prema serverskom računaru. Klijentski računar mora da posjeduje program koji implementira FTP protokol (tzv. FTP klijent), a serverski računar mora da posjeduje program koji prihvata konekcije na standardnom FTP portu i takođe razumije komande protokola FTP (tzv. FTP server ili FTP demon). Kada se veza uspostavi, klijentski program šalje korisničke komande serverskom programu, koji ih obavlja i šalje odgovor. Taj odgovor može biti poruka da je komanda uspiješno obavljena, datoteka koja je zahtijevana ili poruka o grešci.
    FTP sesija se zapravo sastoji od dvije sesije: sesije za transfer (DTP – engl. Data Transfer Process) i kontrolne sesije (PI – engl. Protocol Interpreter). Kontrolna sesija se pokreće prva i šalje zahtjev za uspostavljanje veze udaljenom računaru. Nakon provjere identiteta i uspostavljanja dvosmijerne veze, klijent je u mogućnosti da šalje komande za obavljanje različitih zadataka. Uspostavljanje TCP/IP veze se vrši sa porta izabranog metodom slučajnog izbora, a port na kojem FTP server očekuje konekcije je po standardu uvijek 21.
    Kada klijent napravi zahtjev za prenos podataka, tada se aktivira sesija za transfer koja vrši sam prenos. Za to vrijeme kontrolna sesija mora ostati aktivna kako bi se komande i poruke mogle razmjenjivati između klijentskog i serverskog računara.

    SMTP (engl. Simple Mail Transfer Protocol) predstavlja osnovni protokol sloja aplikacija za elektronsku poštu, koji koristi uslugu pouzdanog transfera podataka protokola TCP. Protokol SMTP je definisan dokumentom RFC 2821. Iako originalni dokumetn SMTP RFC datira iz 1982. sam protokol se pojavio znatno ranije i znatno je stariji od HTTP protokola. Kao i većina drugih protokola aplikacijskog sloja ima klijentsku i serversku stranu (koja se izvršava na serveru za elektronsku poštu onoga koji šalje i druga strana koja se izvršava na serveru). Kada server salje poruku drugim serverima, on preuzima ulogu SMTP klijenta, a kad prima poruke ponaša se kao SMTP server.
    Opšte je prisutan na Internetu, budući da poseduje izuzetne osobine, iako mnogi smatraju da ima i arhaičnosti. SMTP ograničava tela svih poruka na sedmobitni ASCII, što razvojem multimedijalnih sadržaja dovodi do problema, budući da binarni mutimedijalni podaci moraju da se kodiraju u ASCII, da bi se preneli protokolom SMTP, posle čega se poruka ponovo dekodira.
    Klijentska strana na portu 25 uspostavlja TCP konekciju sa serverskom stranom, ukoliko ne je ne uspostavi, pokušava ponovo. Nakon uspostavljanja konekcije prelazi se na proces sinhronizacije aplikacijskog sloja, tokom koje SMTP klijent navodi adresu pošiljaoca, posle čega počinje slanje poruke, oslanjajući se na uslugu pouzdanog transfera podataka protokola TCP .
    Ukoliko ima još poruka postupak se ponavlja, ukoliko nema, prekida se konekcija.

    TCP/IP podela

    TCP / IP (eng. Transmission Control Protocol / Internet Protocol) jedan je od naj-korišćenijih protokola koje koriste skoro sve računarske mreže koje su na internetu. Koristi se i u lokalnim mrežama za prenos podataka između računara ili servera. Takođe ovaj protokol omogućava konekciju različitih operativnih sistema ili različitih vrsta računara, servera ili ostalih perifernih uređaja kao što su štampači. Ovo je protokol na kojem se zasniva internet. TCP/IP je slojevit protokol, kao i svi drugi mrežni protokoli. Sloj je podsistem unutar steka sa zadatim odgovornostima. TCP/IP protokol stek je arhitektura sa 4 sloja, nasuprot ISO OSI koji ima 7 slojeva. Osnovni slojevi su:

  • Aplikaconi sloj
  • HTTP; SMTP; FTP; SSH; IRC; SNP; SIP….

  • Transportni sloj
  • TCP; UDP; SCTP; RTP; DCCP….

  • Mrežni sloj
  • IPv4; IPv6; ARP; ICMP…..

  • Sloj kanala Eternet
  • 802.11a/b/g WiFi; Token ring; EDDI…

    slika

    ISO OSI model

  • Da bi se razumeo Internet mora se razumeti TCP/IP, a da bi se razumeo TCP/IP mora se razumeti ISO OSI. Nedostatak prvih mreža sa komutacijom paketa je bio što su samo čvorovi istog proizvođača mogli međusobno da komuniciraju. Rešenje je ponuđeno u obliku ISO OSI referentnog modela. Model je napravljen u obliku slojevite arhitekture. Svaki sloj ima sopstvene obaveze. OSI je hijerarhijska I modularna arhitektura (na slici). Postoje sdam osnovnih slojeva i to:
    • ISO OSI

      1. Sloj aplikacije (eng. application layer); Sloj aplikacije obezbeđuje API (Application Programming Interface) za korisničku aplikaciju. Drugim rečima, ovaj sloj preuzima odgovornost za mrežne detalje, tako da korisnička aplikacija ne mora da brine o njima.
      Primeri korisničkih aplikacija su: usluga prenosa datoteka, usluga štampanja, usluga elektronske pošte, konzole za upravljanje mrežom, procesi klijent-server, itd.
      2. Sloj predstavljanja (eng. presentation layer); Obezbeđuje standarde kodiranja. Odgovoran je za pregovaranje između aplikacije I ostatka protokol steka. On obezbeđuje funkcije za prevođenje i konverziju pomoću kojih se podaci mogu uspešno razmenjivati. Npr. aplikacija na PC-u šalje podatke u ASCII obliku. Sloj predstavljanja pretvara ASCII u standardni mrežni oblik (ASN.1) i šalje ga ostatku protokol steka. Na prijemnoj strani, sloj predstavljanja prima podatke u standardnom mrežnom obliku, koji je generički za ostatak steka, i pretvara ih u ASCII.
      3. Sloj veze (eng. session layer); Obezbeđuje komunikacioni kanal između računara. Ovi komunikacioni kanali se nazivaju sesijama.
      Primeri protokola sloja veze su: RPC (Remote Procedure Call), Apple Talk i NFS (Network File Sistem).
      4. Transportni sloj (eng. transport layer); Upravlja prenosom podataka preko mreže. Tj. obezbeđuje mehanizme kontrole toka da bi obezbedio integritet podataka između čvorova. Ovaj mehanizam potvrđuje prijem svakog segmenta podataka i ispravan redosled segmenata. Sve ukupno, odgovornost ovog sloja je da segmentira podatke koje prima od sloja veze i upućuje ih mrežnom sloju. U suprotnom smeru on sklapa segmente koje prima.
      Primeri protokola ovog sloja su TCP i UDP (User Datagram Protocol).
      5. Mrežni sloj (eng. network layer); Obezbeđuje adresiranje krajnjih računara. Adresiranje se zasniva na usmeravanju informacije između krajnjih računara preko mreže. Drugim rečima, rukuje prenosom i saobraćajem između krajnjih računara. Takođe, obezbeđuje razrešenje adresa za segmente koje prosleđuju objekti sloja kanala (eng. data link layer).
      6. Sloj kanala (eng. data link layer); Definiše kako se pristupa podacima iz fizičkog medijuma. Formatira informaciju u okvire (eng. frames), koje prosleđuje na gore. U obrnutom smeru, informaciju od gore pretvara u niz bita koje prosleđuje fizičkom sloju. Koristi koncept fizičkog adresiranja (tzv. MAC adresa) da bi identifikovao pojedine fizičke uređaje.
      Neki primeri protokola ovog nivoa su ARP (Address Resolution Protocol) i RARP (Reverse Address Resolution Protocol).
      7. Fizički sloj (eng. physical layer); Rukuje fizičkim detaljima slanja i prijema bita preko fizičkog kanala. Obično je kanal napravljen od vodova, kao što je upredena parica ili optičko vlakno. Može koristiti i bežične medije, kao što su infracrveni ili radio talasi. Može podržavati različite topologije, kao što su zvezda, prsten ili magistrala.
      Jedan primer ovog sloja je Ethernet standard.

    Internet Protokol (ukratko)

      Šta je protokol? – konvencija ili standard koji kontroliše ili omogućava povezivanje,
      komuniciranje i prenos podataka između dve računarske krajnje tačke. Protokol može
      biti realizovan hardverski, softverski ili u kombinaciji ova dva. Protokoli specifikuju
      sledeće stvari:
  • Detekcija fizičke povezanosti (žične ili bezžične), ili postojanje druge krajnje tačke
  • Handshaking „rukovanje“
  • Dogovor o različitim parametrima konekcije
  • Kako započeti i završiti poruku
  • Format poruke
  • Šta raditi sa pogrešno primljenim ili pogrešno formatiranim porukama (detekcija i korekcija greške)
  • Kako detektovati neočekivano gubljenje konekcije i šta uraditi u tom slučaju
  • Završetak konekcije
    1. U računarskom svetu protokol označava skup pravila koja određuju kako dva programa mogu da komuniciraju. Računari komuniciraju tako što razmenjuju određeni set poruka, a protokol određuje formate tih poruka. Protokoli omogućuju i razmenu podataka između različitih vrsta računara, npr. PC-a i Mac-a, i to bez obzira na njihove različitosti.
      Kada se misli na internet protokole postoji nekoliko protokola koji se koriste:

    1) Modemski protokoli, tj standardi koji određuju način i brzinu povezivanja modema.
    2) Protokoli za serijsku kominikaciju između vašeg računara i internet posrednika (SLIP-serial line internet protocol , PPP-point to point protocol). Danas se načešće koristi PPP protokol.
    3) TCP/IP protokol koji vam omogućava komunikaciju između dva ili više računara.
    4) Protokoli za svaku od internet usluga i to : HTTP – (eng. Hyper-Text Transfer Protocol) za Worl Wide Web; FTP – (eng. File Transfer Protocol) za prenos datoteka; SMTP – (eng. Small Mail Transfer Protocol) za prenos email poruka; NNTP – (eng. Network News Transfer Protocol) za prenos news poruka; Telnet – za rad na udaljenim serverima / računarima.