RTP i RTCP: protokoli za IP telefoniju. Struktura zaglavlja segmenta TCP protokola. Analiza izvješća pošiljatelja i primatelja

05.11.2019 Vijesti

U moderni svijet informacije se šire u sekundi. Vijest se tek pojavila, a sekundu kasnije već je dostupna na nekim stranicama na internetu. Internet se smatra jednim od najkorisnijih razvoja ljudskog uma. Kako biste uživali u svim pogodnostima koje internet pruža, morate se spojiti na ovu mrežu.

Malo ljudi zna da jednostavan proces posjećivanja web stranica uključuje složen sustav radnji, nevidljiv korisniku. Svaki klik na vezu aktivira stotine različitih računalnih operacija u srcu računala. To uključuje slanje zahtjeva, primanje odgovora i još mnogo toga. Za svaku radnju na mreži odgovorni su takozvani TCP/IP protokoli. Što su oni?

Svaki internetski protokol TCP/IP radi na vlastitoj razini. Drugim riječima, svatko radi svoje. Cijela obitelj TCP/IP protokola obavlja ogromnu količinu posla istovremeno. A korisnik u ovom trenutku vidi samo svijetle slike i duge retke teksta.

Pojam stoga protokola

TCP/IP protokolni stog je organizirani skup osnovnih mrežnih protokola, koji je hijerarhijski podijeljen na četiri razine i predstavlja sustav za transportnu distribuciju paketa preko računalne mreže.

TCP/IP je najpoznatiji skup mrežnih protokola koji se koristi u ovaj trenutak. Načela TCP/IP skupa primjenjuju se i na lokalne i na šire mreže.

Načela korištenja adresa u protokolnom stogu

TCP/IP mrežni protokol protokola opisuje staze i smjerove u kojima se paketi šalju. Ovo je glavna zadaća čitavog stoga, koja se izvodi na četiri razine koje međusobno djeluju pomoću zapisanog algoritma. Kako bi se osiguralo da je paket poslan ispravno i isporučen točno do točke koja ga je zatražila, uvedeno je i standardizirano IP adresiranje. To je bilo zbog sljedećih zadataka:

  • Adrese različite vrste, moraju se dogovoriti. Na primjer, pretvaranje domene web stranice u IP adresu poslužitelja i natrag, ili pretvaranje naziva hosta u adresu i natrag. Na taj način postaje moguće pristupiti točki ne samo korištenjem IP adrese, već i njezinim intuitivnim imenom.
  • Adrese moraju biti jedinstvene. To je zato što u nekim posebnim slučajevima paket mora doseći samo jednu određenu točku.
  • Potreba za konfiguriranjem lokalnih mreža.

U malim mrežama gdje se koristi nekoliko desetaka čvorova, svi ovi zadaci se izvode jednostavno, koristeći najjednostavnija rješenja: sastavljanje tablice koja opisuje vlasništvo nad strojem i njegovu odgovarajuću IP adresu, ili možete ručno distribuirati IP adrese svim mrežnim adapterima. Međutim, za velike mreže s tisuću ili dvije tisuće strojeva zadatak ručnog izdavanja adresa ne čini se toliko izvedivim.

Zato je izmišljen poseban pristup za TCP/IP mreže, koje su postale razlikovna značajka stog protokola. Uveden je koncept skalabilnosti.

Slojevi skupa TCP/IP protokola

Ovdje postoji određena hijerarhija. TCP/IP protokol protokola ima četiri sloja, od kojih svaki rukuje vlastitim skupom protokola:

Aplikacijski sloj: kreiran da korisniku omogući interakciju s mrežom. Na ovoj razini se obrađuje sve što korisnik vidi i radi. Sloj omogućuje korisniku pristup različitim mrežnim uslugama, na primjer: pristup bazama podataka, mogućnost čitanja popisa datoteka i njihovo otvaranje, slanje e-poruke ili otvaranje web stranice. Zajedno s korisničkim podacima i akcijama, na ovoj se razini prenose servisne informacije.

Transportni sloj: Ovo je čisti mehanizam prijenosa paketa. Na ovoj razini uopće nije bitan sadržaj paketa niti njegova pripadnost nekoj akciji. Na ovoj razini važna je samo adresa čvora s kojega je paket poslan i adresa čvora na koji bi paket trebao biti isporučen. U pravilu, veličina fragmenata koji se prenose različitim protokolima može se mijenjati, stoga se na ovoj razini blokovi informacija mogu podijeliti na izlazu i sastaviti u jednu cjelinu na odredištu. To uzrokuje mogući gubitak podataka ako u trenutku prijenosa sljedećeg fragmenta dođe do kratkotrajnog prekida veze.

Prijenosni sloj uključuje mnoge protokole, koji su podijeljeni u klase, od onih najjednostavnijih, koji jednostavno prenose podatke, do onih složenih, koji su opremljeni funkcionalnošću potvrde primitka, odnosno ponovnog traženja bloka podataka koji nedostaje.

Ova razina pruža višu (aplikacijsku) razinu s dvije vrste usluga:

  • Omogućuje zajamčenu isporuku korištenjem TCP protokola.
  • Isporučuje putem UDP-a kad god je to moguće .

Kako bi se osigurala zajamčena isporuka, veza se uspostavlja prema TCP protokolu, koji omogućuje numeriranje paketa na izlazu i potvrdu na ulazu. Numeriranje paketa i potvrda prijema je takozvana servisna informacija. Ovaj protokol podržava prijenos u "Duplex" načinu rada. Osim toga, zahvaljujući dobro promišljenim propisima protokola, smatra se vrlo pouzdanim.

UDP protokol namijenjen je trenucima kada nije moguće konfigurirati prijenos putem TCP protokola ili morate štedjeti na segmentu mrežnog prijenosa podataka. Također, UDP protokol može komunicirati s protokolima više razine kako bi se povećala pouzdanost prijenosa paketa.

Mrežni sloj ili "Internetski sloj": osnovni sloj za cijeli TCP/IP model. Glavna funkcionalnost ovog sloja identična je istoimenom sloju u OSI modelu i opisuje kretanje paketa u složenoj mreži koja se sastoji od nekoliko manjih podmreža. Povezuje susjedne slojeve TCP/IP protokola.

Mrežni sloj je sloj povezivanja između višeg transportnog sloja i niže razine mrežnih sučelja. Mrežni sloj koristi protokole koji primaju zahtjev od transportnog sloja, te putem reguliranog adresiranja prosljeđuju obrađen zahtjev protokolu mrežnog sučelja, naznačujući na koju adresu poslati podatke.

Na ovoj razini koriste se sljedeći TCP/IP mrežni protokoli: ICMP, IP, RIP, OSPF. Glavni i najpopularniji na mrežnoj razini je, naravno, IP (Internet Protocol). Njegov glavni zadatak je prijenos paketa s jednog usmjerivača na drugi dok jedinica podataka ne dosegne mrežno sučelje odredišnog čvora. IP protokol je postavljen ne samo na hostove, već i na mrežnu opremu: usmjerivače i upravljane sklopke. IP protokol radi na principu najboljeg truda, nezajamčene isporuke. To jest, nema potrebe za uspostavljanjem veze unaprijed za slanje paketa. Ova opcija dovodi do uštede prometa i vremena na kretanju nepotrebnih servisnih paketa. Paket se usmjerava prema svom odredištu, a moguće je da čvor ostane nedostupan. U tom slučaju vraća se poruka o pogrešci.

Razina mrežnog sučelja: je odgovoran za osiguravanje da podmreže s različitim tehnologijama mogu međusobno komunicirati i prenositi informacije na isti način. To se postiže u dva jednostavna koraka:

  • Kodiranje paketa u međumrežnu podatkovnu jedinicu.
  • Pretvara informacije o odredištu u potrebne standarde podmreže i šalje jedinicu podataka.

Ovaj nam pristup omogućuje stalno proširenje broja podržanih mrežnih tehnologija. Čim se pojavi nova tehnologija, odmah se uklapa u skup TCP/IP protokola i omogućuje mrežama sa starijim tehnologijama prijenos podataka u mreže izgrađene korištenjem naprednijih tehnologija. modernim standardima i načine.

Jedinice prenesenih podataka

Tijekom postojanja takvog fenomena kao što su TCP/IP protokoli, uspostavljeni su standardni pojmovi za jedinice prenesenih podataka. Podaci tijekom prijenosa mogu biti fragmentirani na različite načine, ovisno o tehnologijama koje koristi odredišna mreža.

Da bismo imali predodžbu o tome što se događa s podacima i u kojem trenutku, bilo je potrebno osmisliti sljedeću terminologiju:

  • Tok podataka- podaci koji na transportni sloj stižu iz protokola višeg aplikacijskog sloja.
  • Segment je fragment podataka na koji je tok podijeljen prema standardima TCP protokola.
  • Datagram(posebno nepismeni ljudi to izgovaraju kao “Datagram”) - jedinice podataka koje se dobivaju dijeljenjem toka pomoću protokola bez povezivanja (UDP).
  • Plastična vrećica- jedinica podataka proizvedena putem IP protokola.
  • TCP/IP protokoli pakiraju IP pakete u blokove podataka koji se prenose preko složenih mreža, tzv. osoblje ili okviri.

Vrste adresa steka TCP/IP protokola

Svaki TCP/IP protokol za prijenos podataka koristi jednu od sljedećih vrsta adresa za identifikaciju hostova:

  • Lokalne (hardverske) adrese.
  • Mrežne adrese (IP adrese).
  • Imena domena.

Lokalne adrese (MAC adrese) - koriste se u većini tehnologija lokalnih mreža za identifikaciju mrežnih sučelja. Kada govorimo o TCP/IP-u, riječ lokalno označava sučelje koje ne radi u složenoj mreži, već unutar zasebne podmreže. Na primjer, podmreža sučelja spojenog na Internet bit će lokalna, a internetska mreža bit će kompozitna. Lokalna mreža može se izgraditi na bilo kojoj tehnologiji, a bez obzira na to, s gledišta kompozitne mreže, stroj koji se nalazi u zasebno namjenskoj podmreži nazivat će se lokalnim. Dakle, kada paket uđe u lokalnu mrežu, njegova IP adresa se povezuje s lokalnom adresom, a paket se šalje na MAC adresu mrežnog sučelja.

Mrežne adrese (IP adrese). TCP/IP tehnologija pruža vlastito globalno adresiranje čvorova za rješavanje jednostavnog problema - kombiniranje mreža sa različite tehnologije u jednu veliku strukturu prijenosa podataka. IP adresiranje potpuno je neovisno o tehnologiji koja se koristi na lokalnoj mreži, ali IP adresa omogućuje mrežnom sučelju da predstavlja stroj na složenoj mreži.

Kao rezultat, razvijen je sustav u kojem se hostovima dodjeljuju IP adresa i podmrežna maska. Subnet maska ​​pokazuje koliko je bitova dodijeljeno broju mreže, a koliko broju hosta. IP adresa se sastoji od 32 bita, podijeljenih u blokove od 8 bita.

Kada se paket odašilje, dodjeljuje mu se informacija o broju mreže i broju čvora na koji se paket treba poslati. Prvo usmjerivač proslijedi paket na željenu podmrežu, a zatim se izabere host koji ga čeka. Ovaj proces provodi protokol za rješavanje adresa (ARP).

Adresama domena na TCP/IP mrežama upravlja posebno dizajniran sustav naziva domena (DNS). Da biste to učinili, postoje poslužitelji koji spajaju naziv domene, predstavljen kao niz teksta, s IP adresom i šalju paket u skladu s globalnim adresiranjem. Ne postoji podudarnost između naziva računala i IP adrese, pa da bi se naziv domene pretvorio u IP adresu, uređaj koji šalje mora pristupiti tablici usmjeravanja koja je stvorena na DNS poslužitelju. Na primjer, upisujemo adresu stranice u preglednik, DNS poslužitelj je spaja s IP adresom poslužitelja na kojem se stranica nalazi, a preglednik čita informacije i prima odgovor.

Osim interneta, moguće je izdati računala imena domena. Time je proces rada na lokalnoj mreži pojednostavljen. Nema potrebe pamtiti sve IP adrese. Umjesto toga, svakom računalu možete dati bilo koje ime i koristiti ga.

IP adresa. Format. Komponente. Maska podmreže

IP adresa je 32-bitni broj, koji se u tradicionalnom prikazu piše kao brojevi od 1 do 255, odvojeni točkama.

Vrsta IP adrese u različitim formatima snimanja:

  • Decimalna IP adresa: 192.168.0.10.
  • Binarni oblik iste IP adrese: 11000000.10101000.00000000.00001010.
  • Snimanje adrese u heksadecimalni sustav oznaka: C0.A8.00.0A.

U unosu nema razdjelnika između ID mreže i broja točke, ali ih računalo može razdvojiti. Postoje tri načina za to:

  1. Fiksna granica. Ovom se metodom cijela adresa uvjetno dijeli na dva dijela fiksne duljine, bajt po bajt. Dakle, ako damo jedan bajt za broj mreže, tada ćemo dobiti 2 8 mreža od po 2 24 čvora. Ako se granica pomakne još jedan bajt udesno, tada će biti više mreža - 2 16, a manje čvorova - 2 16. Danas se pristup smatra zastarjelim i ne koristi se.
  2. Maska podmreže. Maska je uparena s IP adresom. Maska ima niz vrijednosti "1" u onim bitovima koji su dodijeljeni broju mreže i određeni broj nula na onim mjestima IP adrese koja su dodijeljena broju čvora. Granica između jedinica i nula u maski je granica između ID-a mreže i ID-a glavnog računala u IP adresi.
  3. Metoda adresnih klasa. Metoda kompromisa. Prilikom njegove uporabe korisnik ne može odabrati veličinu mreže, već postoji pet klasa - A, B, C, D, E. Tri klase - A, B i C - namijenjene su različitim mrežama, a D i E su rezervirane za mreže posebne namjene . U sustavu klasa, svaka klasa ima vlastitu granicu broja mreže i ID čvora.

Klase IP adresa

DO klasa A To uključuje mreže u kojima je mreža identificirana prvim bajtom, a preostala tri su broj čvora. Sve IP adrese koje imaju vrijednost prvog bajta od 1 do 126 u svom rasponu su mreže klase A. Postoji jako malo mreža klase A u količini, ali svaka od njih može imati do 2 24 točke.

Klasa B- mreže u kojima su dva najveća bita jednaka 10. U njima je 16 bita dodijeljeno za broj mreže i identifikator točke. Kao rezultat toga, ispada da se broj mreža klase B kvantitativno razlikuje od broja mreža klase A, ali one imaju manji broj čvorova - do 65 536 (2 16) jedinica.

Na mrežama klasa C- postoji vrlo malo čvorova - 2 8 u svakom, ali je broj mreža ogroman, zbog činjenice da identifikator mreže u takvim strukturama zauzima tri bajta.

mreže klasa D- već pripadaju posebnim mrežama. Počinje nizom 1110 i naziva se multicast adresa. Sučelja s adresama klase A, B i C mogu biti dio grupe i primati, uz pojedinačnu adresu, i grupnu adresu.

Adrese klasa E- u rezervi za budućnost. Takve adrese počinju nizom 11110. Najvjerojatnije će se te adrese koristiti kao grupne adrese kada na globalnoj mreži bude manjkalo IP adresa.

Postavljanje TCP/IP protokola

Postavljanje TCP/IP protokola dostupno je na svim operativnim sustavima. To su Linux, CentOS, Mac OS X, Free BSD, Windows 7. TCP/IP protokol zahtijeva samo mrežni adapter. Naravno, operacijski sustavi za poslužitelje mogu više. TCP/IP protokol vrlo je široko konfiguriran korištenjem usluga poslužitelja. IP adrese na običnim stolnim računalima postavljaju se u postavkama mrežne veze. Tamo konfigurirate mrežnu adresu, gateway - IP adresu točke koja ima pristup globalnoj mreži, te adrese točaka na kojima se nalazi DNS poslužitelj.

TCP/IP internetski protokol može se konfigurirati ručno. Iako to nije uvijek potrebno. Parametre TCP/IP protokola možete primati automatski s dinamičke distribucijske adrese poslužitelja. Ova se metoda koristi u velikim korporativnim mrežama. Na DHCP poslužitelju možete mapirati lokalnu adresu u mrežnu adresu, a čim se stroj s danom IP adresom pojavi na mreži, poslužitelj će mu odmah dati unaprijed pripremljenu IP adresu. Taj se proces naziva rezervacija.

TCP/IP protokol za rješavanje adresa

Jedini način da se uspostavi odnos između MAC adrese i IP adrese je održavanje tablice. Ako postoji tablica usmjeravanja, svako mrežno sučelje zna svoje adrese (lokalne i mrežne), no postavlja se pitanje kako pravilno organizirati razmjenu paketa između čvorova koristeći TCP/IP 4 protokol.

Zašto je izumljen protokol za razlučivanje adresa (ARP)? Kako bi se povezala TCP/IP obitelj protokola i drugi sustavi adresiranja. Tablica ARP mapiranja stvara se na svakom čvoru i popunjava anketiranjem cijele mreže. To se događa svaki put kada se računalo isključi.

ARP tablica

Ovako izgleda primjer kompajlirane ARP tablice.

Transmission Control Protocol (TCP) omogućuje pouzdan prijenos podataka u IP okruženju. TCP pripada transportnom sloju referentni model OSI (sloj 4). TCP pruža usluge kao što su strujanje podaci, pouzdanost, učinkovita kontrola protoka, dupleksiranje i multipleksiranje.

Prilikom strujanja podataka, TCP prenosi nestrukturirani tok bajtova identificiranih sekvencijskim brojevima. Ova je usluga korisna za aplikacije jer ne moraju razbijati podatke u blokove prije nego što ih pošalju preko TCP-a. TCP grupira bajtove u segmente i prosljeđuje ih sloju IP protokola za prosljeđivanje.

Pouzdanost TCP-a osigurana je prijenosom paketa preko internetske mreže s kraja na kraj, usmjeren na vezu. To se postiže sređivanjem bajtova pomoću brojeva potvrde prijenosa, koje primatelj koristi za određivanje koji bajt treba stići sljedeći. Bajtovi koji ne dobiju potvrdu unutar određenog vremena ponovno se prenose. TCP-ov robustan mehanizam omogućuje uređajima da rukuju izgubljenim, odgođenim, dupliciranim i pogrešno pročitanim paketima. Mehanizam vremenskog ograničenja omogućuje uređajima da prepoznaju izgubljene pakete i zatraže njihov ponovni prijenos.

TCP pruža učinkovitu kontrolu protoka. Prilikom slanja potvrda izvoru podataka, TCP proces primatelj specificira najveći redni broj koji može prihvatiti bez prekoračenja internih međuspremnika.

U full-duplex modu, TCP proces može istovremeno prosljeđivati ​​i primati pakete.

Konačno, TCP multipleksiranje znači prijenos višestrukih razgovora višeg sloja istovremeno preko jedne veze.

Uspostavljanje TCP veze

Da bi koristili pouzdane transportne usluge, TCP hostovi moraju međusobno uspostaviti sesije orijentirane na vezu. Veza se uspostavlja pomoću mehanizma koji se naziva trosmjerno rukovanje.

Ovaj mehanizam sinkronizira obje strane veze, dopuštajući im da se dogovore oko početnih sekvencijskih brojeva. Također osigurava da su obje strane spremne za prijenos podataka i da je svaka strana svjesna spremnosti druge strane. Ovo je neophodno kako bi se izbjeglo slanje ili ponovno slanje paketa tijekom postavljanja sesije ili nakon završetka sesije.

Svaki čvor nasumično odabire redni broj kako bi pratio primljene i odaslane bajtove toka. Mehanizam sinkronizacije u tri stupnja tada radi na sljedeći način.

Prvi čvor (čvor A) inicira vezu slanjem paketa s početnim rednim brojem i SYN bitom koji označava zahtjev za povezivanjem. Drugi čvor (čvor B) prima SYN, zapisuje redni broj X i odgovara potvrdom SYN (zajedno s ACK = X + 1). Čvor B specificira vlastiti redni broj (SEQ = Y). Zatim, ako je ACK 20, to znači da je čvor primio bajtove od 0 do 19 i čeka sljedeći bajt 20. Ova se tehnologija naziva potvrda prijenosa. Čvor A tada potvrđuje primitak svih bajtova koje je poslao čvor B s potvrdom prijenosa, označavajući sljedeći bajt koji čvor A očekuje primiti (ACK = Y + 1). Nakon toga može započeti prijenos podataka.

Potvrda i ponovno slanje

Jednostavan transportni protokol može osigurati pouzdanost i tehnologiju kontrole toka u kojoj izvorni čvor šalje paket, pokreće mjerač vremena i čeka potvrdu prije slanja novog paketa. Ako se potvrda ne primi nakon isteka vremena, čvor ponovno šalje paket. Ta se tehnologija naziva pozitivnom potvrdom i ponovnim slanjem (PAR).

Dodjeljivanjem sekvencijskog broja svakom paketu, PAR omogućuje čvorovima da prate pakete koji su izgubljeni ili duplicirani zbog mrežnih kašnjenja i preuranjenih ponovnih prijenosa. Redni brojevi se šalju natrag kao obavijesti mogućnosti praćenja potvrde.

Međutim, PAR je neučinkovita upotreba propusnosti jer čvor mora čekati potvrdu prije slanja novog paketa i stoga se paketi mogu prenositi samo jedan za drugim.

TCP klizni prozor

TCP-ov klizni prozor koristi propusnost mreže učinkovitije od PAR-a jer omogućuje hostovima da pošalju više bajtova ili paketa bez čekanja na potvrdu.

U TCP-u, primateljski čvor određuje trenutnu veličinu prozora svakog paketa. Budući da se podaci prenose kao tok bajtova preko TCP veze, veličine prozora također su izražene u bajtovima. Dakle, prozor predstavlja broj bajtova podataka koje pošiljatelj može poslati prije čekanja potvrde. Početne veličine prozora određene su kada je veza konfigurirana, ali se mogu mijenjati kako se prenose podaci kontrole protoka. Na primjer, veličina prozora nula znači da nema prijenosa podataka.

Pretpostavimo da TCP pošiljatelj treba poslati klizni prozor niza bajtova (numeriranih od 1 do 10) primatelju s veličinom prozora 5. Pošiljatelj postavlja prvih 5 bajtova u prozor, šalje ih sve odjednom i čeka za priznanje.

Primatelj odgovara ACK-om od 6, označavajući da je primio bajtove od 1 do 5 i čeka bajt 6. U istom paketu, primatelj označava da je veličina njegovog prozora 5. Pošiljatelj pomiče klizni prozor za 5 bajtova na desno i šalje bajtove od 6 do 10. Primatelj odgovara ACK-om od 11, što znači da očekuje bajt 11. U ovom paketu, primatelj može naznačiti da je veličina njegovog prozora 0 (jer su, na primjer, njegovi interni međuspremnici puni ). Tada pošiljatelj neće moći poslati više bajtova sve dok primatelj ne pošalje drugi paket s veličinom prozora različitom od nule.

Format TCP paketa

Polja i puni format TCP paketa prikazani su na sl. 35.10.

Riža. 35.10. Format TCP paketa

Opis polja TCP paketa

Slijedi opis polja TCP paketa prikazanog na sl. 35.10.

Izvorišna luka i odredišna luka. Točke u kojima izvorni i odredišni procesi više razine prihvaćaju TCP usluge.

Serijski broj. Obično je to broj dodijeljen prvom bajtu podataka u trenutnoj poruci. Prilikom uspostavljanja veze, također se može koristiti za označavanje izvornog sekvencijskog broja u nadolazećem prijenosu.

Broj potvrde. Redni broj sljedećeg bajta podataka koji primatelj očekuje primiti.

Pomak podataka. Broj 32-bitnih riječi u TCP zaglavlju.

rezerva. Područje rezervirano za buduću upotrebu.

Zastave. Razne kontrolne informacije, uključujući bitove SYN i ACK koji se koriste za uspostavljanje veze i bit FIN za prekid veze.

Prozor. Veličina prijamnog prozora primatelja (veličina međuspremnika za dolazne podatke).

Kontrolna svota. Označava je li zaglavlje oštećeno tijekom prijenosa.

Indikator hitnosti. Pokazuje na prvi bajt hitnih podataka u paketu.

Mogućnosti. Razni Dodatne mogućnosti TCP.

Podaci. Informacije na najvišoj razini.

Književnost:

Internetworking Technology Handbook, 4. izdanje. : Per. s engleskog - M.: Izdavačka kuća "William", 2005. - 1040 str.: ilustr. - Paral. sjenica. Engleski

1. TCP protokol obitelji TCP/IP

TCP je jedan od najčešće korištenih protokola prijenosnog sloja. IP je bez veze. Jednostavno prenosi datagram od čvora do čvora, a ako se dogodi bilo kakva povreda, jednostavno se odbacuje, a pošiljatelj se o tome obavještava ICMP porukom. TCP je odgovoran za provjeru primljenih podataka i ponovno slanje podataka koji ne stignu do primatelja. Nadzire isporuku podataka preko IP protokola.
Glavna funkcija TCP je isporuka poruka bez gubitaka. Da bi se to postiglo, najprije se uspostavlja veza između aplikacije koja šalje i aplikacije koja prima, čime se osigurava pouzdana isporuka datagrama. TCP je taj koji ponovno šalje oštećeni ili izgubljeni paket.
TCP regulira prijenos podataka s aplikacijskog sloja na mrežni sloj i natrag. TCP mora biti odgovoran za poštivanje prioriteta i zaštitu podataka, za ukidanje aplikacije za više visoka razina, čekanje datagrama, za obradu grešaka na nižim razinama. za održavanje tablica stanja za sve tokove u samom TCP-u i na drugim razinama. Odvajanje svih ovih funkcija u zaseban sloj oslobađa programere aplikacija rješavanja problema kontrole protoka i osiguravanja pouzdanosti prijenosa podataka. Bez TCP-a, gore navedene funkcije morale bi biti implementirane u svaki aplikacijski program.
TCP je protokol orijentiran na povezivanje koji omogućuje prijenos podataka s kraja na kraj od stroja pošiljatelja do stroja primatelja. Budući da koristi vezu, primatelj koji prima datagram mora o tome obavijestiti pošiljatelja. Izraz virtualni kanal obično se koristi za označavanje da stroj pošiljatelj i stroj primatelj razmjenjuju poruke, od kojih su većina potvrde primitka ili kodovi grešaka.
TCP prima tok bajtova i sastavlja ga u pakete, koji se također nazivaju segmentima, dodavanjem zaglavlja na početak segmenata. Zaglavlje sadrži kontrolni zbroj i redni broj paketa podataka. Duljinu segmenta obično određuje TCP ili je odabire administrator sustava. (U većini slučajeva duljine TCP segmenta i duljine IP datagrama nemaju nikakve veze jedna s drugom.)
Proces uspostavljanja veze počinje prijenosom zahtjeva za povezivanje sa stroja koji šalje na stroj koji prima. Zahtjev sadrži broj koji se naziva broj utičnice. Kao odgovor, primateljska aplikacija šalje svoj broj utičnice. Brojevi utičnica pošiljatelja i primatelja jedinstveno identificiraju vezu između aplikacija.
Nakon što je veza uspostavljena, TCP počinje slati segmente poruke IP modulu, koji svaki od njih pretvara u jedan ili više datagrama. Ove se operacije izvode bez uključivanja TCP-a. Nakon prolaska kroz mrežu od stroja pošiljatelja do stroja primatelja, datagrami stižu na IP sloj potonjeg. Od njih prikuplja poslani segment i šalje ga TCP-u. S druge strane, poruka iz TCP-a dolazi do aplikacije primatelja putem korištenog protokola sloja aplikacije.
Ako se poruka sastoji od nekoliko TCP segmenata (ne treba ih brkati s IP datagramima), TCP na prijemnom stroju sastavlja je na temelju rednih brojeva segmenata pohranjenih u zaglavlju. Ako je segment izgubljen ili oštećen (otkriven kontrolnim zbrojem u zaglavlju segmenta), poruka se šalje pošiljatelju koja sadrži redni broj pogrešnog ili izgubljenog segmenta. U tom slučaju pošiljatelj ponovno šalje segment.
Ako se poruka sastoji od samo jednog TCP segmenta, tada nakon usporedbe primljenih i izračunatih kontrolnih zbrojeva, TCP softver na prijemnom stroju šalje potvrdu primitka (ACK) pošiljatelju. Izdavanje potvrde kao odgovor na primljeni segment naziva se potvrda.
Kao i kod većine protokola orijentiranih na povezivanje, mjerači vremena igraju važnu ulogu u TCP-u. Poruka se smatra nepotpunom ako se potvrda ne primi u navedenom roku čekanja. Time se smanjuje vrijeme čekanja na potvrdu u slučaju gubitka podataka. U tom slučaju se odgovarajući segmenti obično ponovno prenose.
TCP ne daje potvrdu ako segment stigne neispravan. Gubitak segmenta otkriva se pomoću mjerača vremena za ponovni prijenos: ako se potvrda za segment ne primi na vrijeme, smatra se izgubljenim i ponovno se šalje.
Međutim, korištenje mjerača vremena predstavlja niz problema. Prema TCP protokolu, potvrda o primitku primljenog segmenta izdaje se tek nakon primitka svih prethodno poslanih segmenata iste poruke. Drugim riječima, potvrdom se potvrđuje primitak svih prethodno poslanih segmenata poruke. Budući da se segmenti isporučuju prijemnom stroju nasumičnim redoslijedom, izdavanje potvrde može biti odgođeno dok se ne primi cijela poruka, što zauzvrat može rezultirati ponovnim prijenosom ispravno primljenih segmenata.
Ponovno isporučene kopije segmenata poslane zbog isteka vremena prijema odbacuju se softver stroj za primanje. U tom slučaju se pošiljatelju ne šalje obavijest, jer mu je samo važno znati da je segment primljen.
U stroju koji šalje, podaci koje TCP softver primi od aplikacijskog sloja akumuliraju se u međuspremniku. Trenutak u kojem se pakiraju u segment obično se određuje na TCP razini. Podaci iz međuspremnika također se mogu poslati hitno na zahtjev procesa sloja aplikacije. Ova se operacija naziva potiskivanje. Njegova uporaba uzrokovana je postavljanjem posebne oznake u zaglavlju protokola aplikacijskog sloja.

2. Priključci i utičnice

Aplikacija koja koristi TCP (ili UDP) jedinstveno je identificirana brojem koji se naziva broj priključka. U načelu, brojevi priključaka mogu se birati proizvoljno, ali kako bi se olakšala interoperabilnost između različitih implementacija TCP softvera, usvojene su konvencije za brojeve priključaka koji se dodjeljuju određenim uslugama.
Obično se dodjeljuju portovi između 0 i 255 procesi sustava, a priključci iznad 255 su prilagođeni. Na Internetu, dodjelom priključaka upravlja Internet Assigned Numbers Authority (IANA). Popis brojeva priključaka za internetske usluge može se pronaći u odgovarajućem operativnom prijedlogu (RFC). Izvode iz njega donosimo u tablici. Priključci 0 i 255 su rezervirani.

Bilo koji komunikacijski kanal u TCP sloju jedinstveno je identificiran s dva broja, ova kombinacija se naziva utičnica. Utičnica je određena IP adresom stroja i brojem porta koji koristi TCP softver. U vezi je svaki stroj jedinstveno identificiran IP adresom, a svaki pokrenuti proces identificiran je priključkom, tako da je veza između dva / procesa jedinstveno identificirana utičnicom.

3. TCP mjerači vremena

Tajmeri su potrebni kako bi se izbjegla prekomjerna kašnjenja i stanja čekanja. Oni olakšavaju zaobilaženje nekih podvodne stijene prilikom prijenosa podataka. O ulozi različitih mjerača vremena koje koristi TCP u prijenosu podataka raspravlja se u sljedećim odjeljcima.
Mjerač vremena za ponovni prijenos. Mjerač vremena za ponovni prijenos mjeri vrijeme čekanja na potvrdu za poslani segment (timeout za ponovni prijenos, RTO). Ovaj se parametar postavlja na temelju vrste mreže i brzine isporuke poruka. Ako potvrda ne stigne na vrijeme, segment se ponovno šalje, a razdoblje ponovnog slanja se eksponencijalno povećava. To se ponavlja nekoliko puta sve dok razdoblje ponovnog slanja ne dosegne određeno određeno ograničenje, nakon čega se procesu koji se poslužuje izdaje poruka o pogrešci.
Početno vrijeme čekanja primitka postavlja se mjerenjem vremena između slanja segmenta i primanja računa za njega. Ova vrijednost se naziva vrijeme dvostrukog prolaza. Očekivana vrijednost (odnosno prosjek) izmjerenih vrijednosti naziva se izglađeno vrijeme dvostrukog prolaza. Izračunava se pomoću formule i može se povećati kako bi se uzela u obzir neočekivana kašnjenja.
Odgoda vremena. Primatelj može primati segmente čak i nakon prekida veze. Tihi mjerač vremena sprječava novozatvorene portove da se ponovno otvore pristiglim segmentima. Trajanje odgode obično je postavljeno na dvostruki maksimalni životni vijek segmenta (ovo je isto kao vrijednost polja životnog vijeka u zaglavlju IP datagrama). Odgoda može biti do 30 sekundi. Kao odgovor na svaki segment koji stigne tijekom tog razdoblja, šalje se poruka o pogrešci.
Odbrojavanje zahtjeva. Perzistentni mjerač vremena predviđen je za prilično rijedak slučaj kada primatelj, nakon što je obustavio prijenos podataka slanjem segmenta s nultom veličinom prozora, pošalje poruku svom ravnopravnom uređaju da nastavi s radom, ali ga on ne primi. Za nastavak prijenosa, pošiljatelj šalje zahtjeve s jednim bajtom podataka u vremenskom razdoblju. Kao odgovor na njih prima segmente u kojima je naznačena veličina prozora. Ako je veličina prozora nula, odredište je i dalje zauzeto, a ako nije, onda je spremno za primanje korisnih informacija, nakon čega se prijenos podataka nastavlja. Razdoblje ponavljanja zahtjeva određeno je mjeračem vremena zahtjeva.
Nadzorni mjerač vremena i mjerač vremena za odspajanje. Ovi mjerači vremena dizajnirani su za provjeru veze. Keep-alive timer uzrokuje povremeno izdavanje segmenata bez podatkovnog polja, a idle timer specificira maksimalno vrijeme čekanja na odgovor. Nakon tog razdoblja veza se smatra prekinutom.
Tipično, razdoblje nadzornog mjerača vremena postavljeno je na sloju aplikacije, njegove vrijednosti leže između 5 i 45 sekundi. Maksimalno vrijeme čekanja obično je postavljeno na 360 sekundi.

4. TCP podatkovni segmenti

TCP komunicira s temeljnim slojem preko IP protokola i s aplikativnim slojem iznad koristeći servisne primitive. Osim toga, mora komunicirati s TCP softverom na drugim strojevima. Za posljednju zadaću koriste se blokovi podataka protokola koji se u TCP jeziku nazivaju segmentima. Zaglavlje segmenta sastoji se od sljedećih polja:
Izvorni port, 16-bitno polje koje identificira lokalni izvorni port (obično korisnički proces sloja aplikacije).
Odredišni priključak, 16-bitno polje koje označava broj odredišnog priključka
Položaj segmenta (redni broj). Polje sadrži redni broj j prvog bajta segmentnih podataka u poruci.
Očekuje se prvi bajt (broj potvrde). 1 se koristi kada segment služi kao potvrda (ACK oznaka = 1). Sadrži niz/redni broj prvog očekivanog bajta. Svi bajtovi poruke s nižim sekvencijskim brojevima smatraju se potvrđenima.
Pomak podataka. Duljina naslova, mjerena u 32 riječi. Služi kao pokazivač na početak podatkovnog polja.
Rezervirano. Još se ne koristi i mora se resetirati. Veličina polja je 6 bita.
Zastave. U stanju 1 oni znače sljedeće.
URG zastava. Polje hitnosti podataka podliježe obradi. ACK zastavica. Segment služi kao potvrda.
PSH zastava. Segment mora biti prvi "gurnut" - poslan.
RST zastava. Segment služi kao zahtjev za postavljanje početnih parametara veze.
SYN zastavica. Segment služi za sinkronizaciju brojača prenesenih podataka prilikom uspostavljanja veze.
FIN zastava. Označava da je posljednji bajt poruke poslan. ASCII ekvivalent oznake kraja prijenosa (EOT).
Veličina prozora. Označava koliko je bajtova primatelj spreman prihvatiti.
Kontrolni zbroj, 16-bitni kontrolni zbroj definiran za podatkovni blok koji se sastoji od pseudo-zaglavlja i samog segmenta, 96-bitnog pseudo-zaglavlja, prethodi TCP zaglavlju i kreira se u postupku izračuna kontrolnog zbroja. Pseudo-zaglavlje sadrži IP adresu pošiljatelja, IP adresu primatelja, identifikator protokola i duljinu segmenta. Ovi parametri se prosljeđuju IP-u kada se segment šalje i koristi ih IP protokol kada se primi. Procedura za izračunavanje kontrolne sume oduzima dosta vremena.
Hitno pokazivač. Koristi se kada je zastavica URG=1. Predstavlja pomak u odnosu na redni broj u zaglavlju. Posebna obrada hitnih podataka vrši se na aplikacijskom sloju, a ne na TCP sloju.
Mogućnosti. Poput istoimenog polja u IP zaglavlju, svaka opcija sadrži vlastiti broj (jedan bajt), duljinu u bajtovima i vrijednost. Trenutno postoje samo tri opcije:
O - Kraj popisa opcija;
1 - Nema operacija;
2 - Maksimalna veličina segmenta.
Padding. Proširuje zaglavlje na cijeli broj 32-bitnih riječi.
Nakon zaglavlja slijedi podatkovno polje čija duljina nije fiksna. S opcijom Maksimalna veličina segmenta, TCP softver primatelja može odabrati odgovarajuću veličinu međuspremnika podataka.

5. TCP veza

Komunikacija preko TCP protokola regulirana je brojnim pravilima. Postupci uspostave veze i prijenosa korisna informacija a završeci veze obično se prikazuju konačnim automatima. (TCP je protokol vođen stanjem i stoga njegove operacije ovise o stanjima zastavica ili sličnih struktura.) Umjesto toga koristit ću jednostavni sklopovi interakcije.
Postoje dvije opcije za uspostavljanje veze: stvarno povezivanje i prihvaćanje veze. Prije pokretanja veze morate inicijalizirati i pokrenuti WSA - Windows Socket Architecture. Izvršimo funkciju za ovo
1. WSAStartup(wVersionRequested, lpWSAData): Integer;

Gdje:
wVersionRequested - potreban broj verzije za pokretanje aplikacije. U našem slučaju ovaj bi parametar trebao biti jednak $0101.
lpWSAData - struktura u kojoj WSA konektor vraća: broj verzije, opis, status, maksimalan iznos konektori utičnica, informacije o programerima itd. Ova nam struktura nije bitna.
Kod pogreške koji se pojavio u slučaju neuspješnog izvođenja bilo koje funkcije vezane uz socket konektore može se dobiti pomoću funkcije WSAGetLastError. Dešifriranje ovih kodova nalazi se u datoteci sock.hlp uključenoj u distribuciju Delphija.

Mogućnost povezivanja
Prije spajanja konektora, utičnica, morate stvoriti funkciju utičnice konektora
2. Utičnica (af, vrsta, protokol) : Integer;

Gdje:
af je familija adresa, u našem slučaju af:= PF_INET.
type - vrsta socket konektora (SOCK_STREAM, temeljen na obitelji TCP adresa i orijentiran na veze, i SOCK_DGRAM, temeljen na obitelji UDP adresa i radi bez veza (koristimo SOCK_STREAM, jer je pouzdaniji)).
protokol - parametar koji definira neke značajke protokola, u našem slučaju - 0.
Nakon izvršenja, funkcija vraća Integer vrijednost, koja je pokazivač na novu utičnicu. Zatim trebate postaviti opcije strukture TSockAddrIn koja sadrži podatke o vezi. Ova struktura ima mnogo polja, ali nas zanimaju samo tri od njih:
sin_family - sadrži ime obitelji adrese. Ova opcija je slična af.
sin_port - broj adrese porta preko kojeg se odvija komunikacija sa socket konektorom. Adresa priključka mora biti veća od 1024 jer su manje vrijednosti rezervirane za postojeće aplikacije. Broj porta mora biti naveden u takozvanom mrežnom formatu, kada visoki bajtovi idu na niske adrese. Ovo se razlikuje od pohrane usvojene u x86 (Intel) arhitekturi, tako da je potrebno pretvoriti pomoću funkcije htons() iz formata ove arhitekture u mrežni (htons je kratica za Host To Network, Short (tj. 16-bitni). )). Obrnuti prijevod može se izvršiti pomoću funkcije ntohs().
sin_addr - ovo polje ima potpolje s_addr: integer, kojemu moramo dodijeliti vrijednost funkcije inet_addr(iAddr). Ova funkcija pretvara niz IP adrese u 4-bajtni broj, tj. iAddr je adresa računala koje želimo kontaktirati. Adresu možete dobiti pokretanjem na željenom računalu NETSTAT naredba-r. Adresa također mora biti u mrežnom formatu, ali funkcija inet_addr() već vraća rezultat u mrežnom formatu i u ovom slučaju nije potrebna konverzija. Ako to treba učiniti, tada se mogu koristiti funkcije htonl() i ntohl(). Napomena: Prilikom prijenosa podataka u binarnom formatu preko mreže, vodite računa o različitom tumačenju reda bajtova riječi na različitim arhitekturama i pretvorite podatke u mrežni format.
Sada kada smo ispunili strukturu adrese, izvršavamo funkciju
3. Connect(Sock, SA, SASize): Integer;

Gdje:


SASize - SA veličina.
Ako je SOCKET_ERROR vraćena kao rezultat izvršavanja Connect, tada je funkcija izvršena netočno. (Pogledajte primjer) U suprotnom, vraća se 0.
Nakon uspostavljanja veze, možete koristiti funkcije za primanje i slanje podataka, kao što su recv, send.
Funkcija povezivanja putem API-ja šalje poruku upravljačkom programu TCP protokola, koji zauzvrat šalje inicijalizacijski paket odredišnom računalu putem protokola niže razine za uspostavljanje veze. Funkcija završava kada se uspostavi veza.
4. Recv(Sock, Buf, BufSize, Flags) : Integer;

Gdje:
Sock je rezultat izvršavanja funkcije Socket.
Buf - međuspremnik u koji će ići primljeni podaci.
BufSize - veličina međuspremnika.
Zastave – zastave. Može biti MSG_PEEK ili MSG_OOB. Postavimo ovo polje na 0.

5. Pošalji(Sock, Buf, BufSize, Flags) : Integer;

Gdje:
Sock je rezultat izvršavanja funkcije Socket.
Buf - međuspremnik poslanih podataka.
BufSize - veličina međuspremnika.
Zastave – zastave. Jednako je 0.
Ako nije došlo do pogreške, vraća se broj primljenih bajtova; ako je veza ispravno zatvorena, 0; u suprotnom, ako je veza zatvorena, vraća se negativan broj.
Za prekid veze koristite funkciju
6. CloseSocket(Sock) : Integer;

Gdje:
Sock je rezultat izvršavanja funkcije Socket.

Opcija "Prihvati vezu"
Druga mogućnost za uspostavljanje veze je prihvaćanje. Općenito govoreći, u svakoj konekciji moraju postojati obje mogućnosti - povezivanje i primanje konekcije (jedno računalo je poslužitelj, obavlja prihvat, drugo je klijent, inicira prihvat). Procedura inicijalizacije poslužitelja je ista kao i za klijenta, s razlikom da:
Umjesto adrese drugog računala, unosimo svoju adresu ili “0.0.0.0” u strukturu TSockAddrIn kako bismo prihvatili sve dolazne veze.
umjesto Connect "a izvršavamo funkcije:
7. Bind(Sock, SA, SASize) : Integer;

Gdje:
Sock je rezultat izvršavanja funkcije Socket.
SA je struktura TSockAddrIn koju smo ispunili.
SASize - njegova veličina.
Ako nije došlo do pogreške, vraća se 0, inače SOCKET_ERROR.
Ova funkcija povezuje naš konektor utičnice s adresom koju navedemo.
8. Listen(Sock, Backlog) : Integer;

Gdje:
Sock je rezultat izvršavanja funkcije Socket.
Backlog - maksimalna veličina reda čekanja veza.
Ako nije došlo do pogreške, vraća se 0, inače SOCKET_ERROR.
Ova funkcija postavlja konektor utičnice u mod slušanja kanala.
9. Accept(Sock, SA, SASize) : Integer;

Gdje:
Sock je rezultat izvršavanja funkcije Socket.
SA je struktura TSockAddrIn koju smo ispunili.
SASize - SA veličina.
Ako je SOCKET_ERROR vraćena kao rezultat izvršavanja Accept, tada je funkcija izvršena netočno. (Pogledajte primjer) U suprotnom, vraća se 0.
Nakon uspostavljanja veze, možete koristiti funkcije za primanje i slanje podataka, kao što su recv, send. Funkcija završava kada se uspostavi veza.

Nakon spajanja
Nakon što se povežete, možete početi razmjenjivati ​​informacije koristeći gore navedene funkcije primanja i slanja. Također možete dodati da su utičnice konektori klasificirani kao zaključavanje i bez zaključavanja. Prvi čekaju kraj operacije, drugi ne čekaju.
Za postavljanje konektora utičnica u stanje bez blokiranja, upotrijebite funkciju:
ioctlsocket(Sock, CMD, Value) : Integer;

Gdje:
Sock je rezultat izvršavanja funkcije Socket.
CMD je naredba za upravljanje socket konektorom (u našem primjeru to je konstanta FIONBIO).
Vrijednost - njegova vrijednost 0 - uključeno, 1 - isključeno.
Ako nije došlo do pogreške, vraća se 0, inače SOCKET_ERROR.
Kada radite izravno sa socket konektorima, nećete uvijek primiti na primatelju točan broj bajtova koje ste poslali i nakon nekog vremena morate "čitati" bajtove sa socket konektora. To se objašnjava principom organiziranja streaming utičnica, koje se u ovom slučaju percipiraju kao datoteke. Moguće je, međutim, onemogućiti NAGLE algoritam, koji kontrolira razbijanje poruka u datagrame, pomoću sljedeće funkcije:
setockopt(Sock, Level, Parameter, PChar(Value), ValueSize) : Integer;

Gdje:
Sock je rezultat izvršavanja funkcije Socket.
Razina - timska razina.
Parametar je naredba za upravljanje konektorom sa socketom (u našem primjeru konstanta TCP_NODELAY).
Vrijednost - njegova vrijednost (0 - uključeno, 1 - isključeno).
ValueSize - veličina vrijednosti.
Ako nije došlo do pogreške, vraća se 0, inače SOCKET_ERROR.
Adresu dopisnika možete odrediti iz strukture TSockAddrIn nakon izvršavanja naredbe accept (vidi gore) ili pomoću funkcije getpeername (vidi Delphi sock.hlp).
Naziv računala možete odrediti prema adresi pomoću funkcije GetHostByAddr (pogledajte Delphi sock.hlp).

TCP (Transmission Control Protocol) – protokol kontrole prijenosa. Kako bi se osigurala pouzdana isporuka podataka na razini transportnog protokola, aplikacije koriste TCP protokol, koji provjerava jesu li podaci isporučeni preko mreže traženim redoslijedom. TCP je pouzdan protokol za strujanje koji zahtijeva stvaranje logičkih veza. TCP-ova pouzdanost osigurana je njegovim mehanizmom potvrde i ponovnog slanja. Kada koristite ovaj mehanizam, podaci će se ponovno slati dok ne dobiju potvrdu od sustava primatelja da su podaci uspješno poslani.

Svaki paket sadrži kontrolni zbroj, putem kojeg primatelj utvrđuje cjelovitost podataka. Ako je paket primljen netaknut, primatelj šalje potvrdu izvoru. Oštećene pakete primatelj jednostavno ignorira. Nakon određenog vremena pošiljatelj ponovno šalje pakete za koje nije primljena potvrda.

Razmotrimo proces takozvanog "rukovanja" - uspostavljanje TCP veze. Sa strane klijenta šalje se paket s postavljenom zastavom SYN - to znači pokretanje TCP sesije. U ovoj fazi, glavno računalo će generirati izvorni port i odredišni port (izvorni port se odabire nasumično iz raspona 1024 - 655535). Odredišni port ovisi o specifičnoj usluzi (http – 80, ftp – 21, pop3 – 110).

Kada je paket primljen, poslužitelj, ako mu ne smeta veza, šalje paket odgovora sa SYN i ACK bitovima. ACK – znači bit potvrde. Također u TCP zaglavlju, poslužitelj generira proizvoljan redni broj i dodaje jedan broju potvrde.

Na kraju, host šalje paket kojim potvrđuje primitak podataka od poslužitelja, kao i sam prvi blok podataka.

Zaglavlje TCP protokola sadrži polje pod nazivom Sequence Number, koje sadrži broj određenog niza. Tu je i polje Acknowledgment Number, koje označava potvrdu paketa s ovim brojem. Redni broj i broj potvrde koriste se za očuvanje redoslijeda podataka. Ali točnije, redni broj je točka izvješćivanja za sustav numeriranja bajtova. Iz sigurnosnih razloga, ISN bi trebao biti nasumični broj. Broj potvrde koristi se za potvrdu prijema i kontrolu protoka. Potvrda govori izvoru koliko je podataka primljeno i koliko još podataka odredište može prihvatiti. Broj potvrde je redni broj sljedećeg bajta koji očekuje primatelj.

Polje veličine sustava Windows sadrži broj bajtova koje odredište može prihvatiti. Prozor je pokazatelj izvoru da može nastaviti slati segmente ako je ukupni broj prenesenih bajtova manji od prozora odredišnog bajta. Odredište kontrolira izvorni tok bajtova promjenom veličine prozora. Nulti prozor upućuje pošiljatelja da prekine slanje dok se ne primi vrijednost prozora različita od nule.

Polja Izvorni port, Odredišni port – izvorni port, odredišni port. UGR,

Polja UGR, ACK, PSH, RST, SYN. FIN – kontrolni bitovi:

  • UGR – indikator hitnosti, pokazuje prioritet TCP paketa
  • ACK – potvrda, označava ovaj paket kao potvrdu prijema
  • PSH – push, gura podatke u redu čekanja iz međuspremnika
  • RST – reset, resetira TCP vezu po završetku ili nakon prekida
  • SYN – sinkronizacija, sinkronizira vezu
  • FIN – završetak, završava prijenos podataka

Donja slika prikazuje TCP protok podataka s početnim rednim brojem nula. Odredište je primilo i potvrdilo primitak 2000 bajtova, tako da je trenutni ACK broj 2001. Osim toga, odredište ima mogućnost prihvatiti još 6000 bajtova i stoga prikazuje prozor s vrijednošću od 6000. Izvor šalje 2000 bajtova segment s rednim brojem SN = 4001. Za bajtove 2001 i naknadne potvrde još nisu primljene, ali izvor nastavlja slati podatke dok se resursi prozora ne potroše. Ako u trenutku kada je prozor ispunjen izvorom nije primljena potvrda za već poslane podatke, nakon određenog vremenskog intervala izvor ponovno šalje podatke, počevši od prvog nepotvrđenog bajta.

Ova metoda jamči pouzdanu dostavu podataka do primatelja. Osim toga, TCP je odgovoran za isporuku podataka primljenih s IP-a odgovarajućoj aplikaciji. Aplikacija kojoj su podaci namijenjeni identificirana je 16-bitnim brojem, brojem priključka. Vrijednosti izvornog i odredišnog porta nalaze se u TCP zaglavlju. Ispravna komunikacija s aplikacijskim slojem važna je komponenta funkcionalnosti usluga transportnog sloja.

Zatvaranje TCP veze uključuje oslobađanje memorije dodijeljene međuspremnicima i varijablama, a može ga pokrenuti bilo koja strana. Klijentski proces izdaje naredbu za zatvaranje veze, što uzrokuje da TCP klijent pošalje poseban segment. U zaglavlju ovog segmenta, FIN zastavica je postavljena na 1. Nakon što primi ovaj segment, poslužitelj to potvrđuje. Poslužitelj tada šalje klijentu posljednji segment u kojem je FIN bit također postavljen na 1; zauzvrat, primitak ovog segmenta potvrđuje klijent. Nakon toga se oslobađaju svi resursi veze na obje strane.


Pretplatite se na naše

Poglavlje 6

Prošlost, sadašnjost

i budućnost TCP/IP protokola

Nakon što pročitate ovo poglavlje i završite praktične vježbe, moći ćete:

· ispričati priču o nastanku TCP/IP-a;

· objasniti principe rada TCP i IP protokola, kao i načine korištenja UDP protokola umjesto TCP-a;

· govoriti o IP adresiranju i razumjeti kako ga implementirati u lokalne i globalne mreže;

· govoriti o novom IP protokolu verzije 6 i njegovoj namjeni;

· raspravljati o načinima korištenja aplikacijskih protokola uključenih u TCP/IP skup;

· razumjeti svrhu aplikacijskih protokola TCP/IP steka;

· povezati TCP/IP implementaciju s OSI referentnim modelom.

Kada računala komuniciraju putem interneta, koriste protokol kontrole prijenosa/internetski protokol (TCP/IP) kao jezik komunikacije. Također, TCP/IP protokoli naširoko se koriste u većini srednjih i velikih mreža. Ovi protokoli podržavaju mreže temeljene na Novell NetWare, UNIX i Windows platformama, posebno mreže u nastajanju i mreže koje koriste aplikacije klijent-poslužitelj ili web-bazirane aplikacije. Široka primjena, dokazane tehnologije i proširivost čine TCP/IP dobrim izborom za većinu projekata koji međusobno djeluju između lokalnih i globalne mreže. Čak i u male mreže implementacija TCP/IP-a može biti ključna za budući razvoj mreže.

Ovo poglavlje će detaljno pokriti TCP/IP protokole, uključujući opise TCP i IP paketa i metode IP adresiranja. Također ćete naučiti o alternativi TCP-u - User Datagram Protocol (UDP), koji se koristi kada potvrda prenesenih podataka nije toliko važna kao brzina i nisko opterećenje mreže. U poglavlju se raspravlja najnovija verzija IP protokol, nazvan IPv6, uspoređuje se sa svojim prethodnikom, IPv4. Osim toga, opisuje aplikacijske protokole uključene u TCP/IP stack i namijenjene za oponašanje terminala za prijenos datoteka i poruka e-pošte, pretvaranje i dodjeljivanje IP adresa, kao i za upravljanje mrežom. Konačno, naučit ćete kako se TCP/IP arhitektura odnosi na OSI referentni model.

Kratka povijest TCP/IP skupa

U kasnim 1960-ima, ARPA je radila na tome da ARPANET učini dostupnim uobičajena uporaba, omogućujući računalima na sveučilištima, istraživačkim institucijama i Ministarstvu obrane da komuniciraju preko globalne mreže. Jedna od značajnih prepreka u postizanju ovog cilja bila je činjenica da su proizvođači računala imali vlastite standarde, a proizvođači su informacije o principima svojih sustava štitili kao poslovnu tajnu.

Prvi pokušaj stvaranja načina interakcije između različitih računala napravilo je nekoliko sveučilišta, koja su razvila mrežni protokol tzv. Mreža Kontrolirati Protokol (NCP) i omogućio je glavnim računalima različitih tvrtki, uključujući DEC i IBM, razmjenu informacija. NCP je bio jednostavan protokol koji je omogućavao različitim vrstama DEC i IBM računala da se umreže i pokreću aplikacije preko mreže u kojoj su hostovi geografski udaljeni jedni od drugih. Na primjer, jedna od primjena NCP protokola bila je prijenos datoteka između računala. Ovo je bio dobar početak, ali NCP protokol nije mogao osigurati dovoljno pouzdan prijenos podataka, pa je ARPA pokrenula projekt njegove modernizacije. Protokol koji je razvijen bio je zapravo kombinacija dvaju protokola - Prijenos Kontrolirati Protokol (TCP) I Internet Protokol (IP) čija se imena obično skraćuju na TCP/IP.

Bilješka

NCP se još uvijek koristi na starijim DEC i IBM mrežama, iako ga je vrlo teško konfigurirati. Ovaj protokol stvara veliko opterećenje procesora jer sadrži određenu razinu mrežne komunikacije koju TCP ne koristi.

Pažnja

IBM koristi akronim NCP za svoj program kontrole mreže. Ovaj program je aplikacija koja radi na rubnom procesoru (malom računalu) ili SNA pristupniku koji je povezan s glavnim računalom, pružajući potonja prilika mrežne interakcije.

Osnove TCP/IP snopa

TCP protokol, opisan u RFC 793, izvorno je dizajniran za komunikaciju od točke do točke između računala na istoj mreži, dok je IP protokol (RFC 791) namijenjen pružanju komunikacije između računala povezanih na različite mreže ili mreže širokog područja . Ubrzo nakon predstavljanja, oba su protokola kombinirana kao TCP/IP stog za korištenje u popularnim operativnim sustavima Berkeley UNIX i ugrađena su u DEC-ov sustav virtualne memorije (VMS, sada OpenVMS) i višestruku virtualnu pohranu (MVS, sada OpenMVS) IBM.

Od svog uvođenja ranih 1970-ih, TCP/IP stog je naširoko korišten u mrežama u različite zemlje mir. Implementiran je za PC-kompatibilna računala, UNIX radne stanice, miniračunala, Macintosh računala i mrežne uređaje koji povezuju klijente i hostove. TCP/IP omogućuje tisućama javnih i komercijalnih mreža internetsku vezu koju mogu koristiti milijuni ljudi.

TCP/IP je slojeviti skup protokola koji je sličan, ali ne i ekvivalent OSI slojevima protokola. TCP/IP stog sadrži oko stotinu standardiziranih protokola koji osiguravaju pouzdan i učinkovit prijenos podataka između sustava. Osnovni protokoli u TCP/IP skupu su sljedeći:

· Transmission Control Protocol (TCP);

· Protokol korisničkog datagrama (UDP);

· Internetski protokol (IP).

O svakom od ovih protokola detaljno se govori u sljedećim odjeljcima.

Rad protokolaTCP

TCP je transportni protokol koji se koristi za uspostavljanje podatkovnih sesija između aplikacijskih procesa koje pokreću mrežni klijenti. TCP je dizajniran za pouzdanu isporuku podataka osiguravajući točan prijem okvira i kontrolirajući protok podataka. Kako bi riješio te probleme, protokol predviđa naručivanje okvira i potvrdu njihova primitka.

Dva uređaja koji komuniciraju određuju broj sekvence za svaki okvir koji se prenosi, a ovaj broj je zapisan u zaglavlju TCP okvira. Broj sekvence ne samo da označava lokaciju okvira u sljedećim okvirima, već također označava duljinu podataka sadržanih u taj okvir. Nakon primitka okvira, primateljski čvor provjerava redni broj kako bi osigurao da je primio ispravan okvir ispravnim redoslijedom. Ako odredišni čvor primi okvir, on šalje potvrdu čvoru koji šalje. Paket potvrde ne samo da označava uspješan prijem okvira, već također sadrži redni broj sljedećeg okvira za koji prijemni čvor čeka na prijenos.

Poziva se broj bajtova podataka prenesenih u okviru klizna prozor (klizni prozor), budući da se taj broj može povećavati ili smanjivati ​​u procesu razmjene informacija međusobnim dogovorom između čvorova u interakciji. Veličina kliznog prozora određena je dinamički čvorovima, uzimajući u obzir dva čimbenika:

· trenutni mrežni promet;

Profitne zadruge (u vlasništvu zaposlenika)

Edukativni

Vlada

Organizacije za registraciju imena domena

Organizacije stvorene prema međunarodnim ugovorima

Muzej

Domene za osobnu upotrebu

Davatelji mrežnih usluga

Neprofitna

Profesionalni (na primjer, udruženja liječnika, računovođa ili odvjetnika)

Tablica 6.4. DMS imena domena

Tablica 6.5. Predloženi globalni nazivi domena najviše razine (TLD)

Razrešivači imenaDNSi prostore imena

DNS usluga zahtijeva razlučivače imena domene na svakom klijentu, kao i poslužitelj naziva domene instaliran na jednom ili više računala. Podrška za DNS poslužitelje imenski prostor(namespace) za poduzeće i implementirati mehanizam za razlučivanje naziva računala i domena u IP adrese, kao i obrnutu konverziju. Prostor imena je logično područje mreže koje sadrži popis imenovanih objekata (kao što su računala) i omogućuje razlučivanje imena.

Korištenje zona

DNS poslužitelji održavaju tablice informacija koje povezuju imena računala ili domena s IP adresama. Ove tablice pridružene su particijama DNS poslužitelja tzv zonama i koji sadrži zapise o resursima. Svaka zona je tablica (datoteka zone ili baza podataka zone) zapisa resursa različitih vrsta (na primjer, zapisa koji pridružuju poslužitelje domene uslugama koje se izvode na tim poslužiteljima). Ostali zapisi resursa povezuju imena računala i IP adrese.

Zona koja pridružuje imena računala odgovarajućim JH adresama naziva se zona pretraživanja unaprijed. Ova zona sadrži zapise imena računala koji se nazivaju zapisi adresa. Svaki poslužitelj i klijent na IP mreži mora imati zapis adrese koji omogućuje njegovo pronalaženje koristeći DNS. Na primjer, ako je DNS poslužitelj nazvan NetAdmin i ima adresu 129.70.10.1, tada zona pretraživanja povezuje ime NetAdmin s adresom 129.70.10.1. Za IPv4, zapis glavnog računala naziva se zapis resursa adrese glavnog računala (A). Za protokol IPv6 takav se zapis naziva zapis resursa adrese glavnog računala (tip AAAA) (zapis resursa IPv6 adrese glavnog računala (AAAA)).

Bilješka

Prilikom instaliranja usluge imenika (npr. Aktivni direktorij) morate imati barem jedan DNS poslužitelj na svojoj mreži jer je ova usluga dio prostora imena koji se koristi za pohranu informacija o mrežnim objektima (kao što su računala, pisači i dijeljenja). Za ažuriranje ovih informacija, imenička usluga mora komunicirati s DNS poslužiteljem.

U drugoj zoni tzv zona obrnutog pretraživanja(zona obrnutog pretraživanja) pohranjuju se zapisi resursa pokazivača (kao što jePTR) (pokazivački (PTR) zapis resursa), koji povezuju IP adrese s imenima hostova. Zone obrnutog pretraživanja ne koriste se tako često kao zone traženja unaprijed, ali se ne bi trebale stvarati u slučajevima kada mrežna komunikacija zahtijeva da IP adresa bude povezana s imenom računala (na primjer, za nadzor mreže pomoću IP-a -adrese).

UlogeDNS- poslužitelji

Obično DNS poslužitelj na mreži igra jednu od dvije uloge: može djelovati kao primarni DNS poslužitelj ili može djelovati kao sekundarni DNS poslužitelj. GlavniDNS-poslužitelj(primarni DNS poslužitelj) smatra se poslužitelj koji je odgovoran za određenu zonu te se stoga naziva autoritativnim poslužiteljem za tu zonu. Na primjer, ako je izravna zona traženja za domenu DD kreirana na određenom DNS poslužitelju prvi put, tada zapis resursa početka zone (SOA) (početak autoritetnog (SOA) zapisa resursa), identificiranje ovaj poslužitelj kao mjerodavni DNS poslužitelj za domenu. To znači da se sve promjene zone (kao što je kreiranje zapisa resursa adrese hosta (Tip A)) moraju izvesti na ovom poslužitelju.

U sredini i velike mreže obično instaliraju jedan ili više rezervnih DNS poslužitelja, tzv. (u odnosu na glavni DNS) dodatni, ili sekundarni DNS- poslužitelji(sekundarni DNS poslužitelj). Sekundarni DNS poslužitelj sadrži kopiju datoteke zone pohranjenu na primarnom DNS poslužitelju, dok ovaj primjerak ne može se koristiti za administrativne zadatke. Za ažuriranje kopije, zona se prenosi preko mreže. Tijekom prosljeđivanja zone, sadržaj zone se prenosi s primarnog DNS poslužitelja na sekundarni DNS poslužitelj.

Dodatni DNS poslužitelji obavljaju tri važna zadatka. Prvo, omogućuju vam da dobijete kopiju podataka glavnog DNS poslužitelja u slučaju kvara poslužitelja. Drugo, omogućuju vam raspodjelu opterećenja DNS usluge (dopuštajući pristup zapisima zajedničkih resursa) između primarnog i sekundarnog DNS poslužitelja. Balansiranje opterećenja znači da ako primarni DNS poslužitelj ne može razriješiti ime zbog zagušenja, drugi zahtjev za razrješenjem imena može obraditi sekundarni DNS poslužitelj, što rezultira bržim odgovorima na zahtjeve klijenata. Treće, dodatni DNS poslužitelji mogu se postaviti u različita područja mreže (na primjer, u različite podmreže ili na geografski udaljenim mjestima), što rezultira smanjenim opterećenjem pojedinih dijelova mreže.

Savjet

Kako bi se osigurala tolerancija na pogreške u srednjim i velikim mrežama, preporuča se stvoriti barem jedan dodatni ONS poslužitelj u svakoj podmreži koja se razlikuje od podmreže u kojoj se nalazi glavni DNS poslužitelj.

Da biste se upoznali sa zonama, zapisima o resursima početka zone (SOA) i drugim informacijama pohranjenim na DNS poslužitelju, ispunite vježbu 6-8.

StandardiDNS

Mjerodavni poslužitelji obično podržavaju dva DNS standarda: zapise resursa usluge i DNS Dynamic Update Protocol. Zapis resursausluge (vrstaSVR) Zapis resursa usluge (SVR RR) opisan je u RFC 2052 i vrsta je DNS zapisa koji omogućuje DNS-u da prepozna različite poslužitelje i odredi lokaciju uobičajeno korištenih TCP/IP usluga koje se izvode na određenim poslužiteljima. SRV zapisi omogućuju DNS poslužitelju da generira popis mrežnih poslužitelja koji pružaju TCP/IP usluge. Ovi unosi također izvješćuju o protokolima koje ti poslužitelji podržavaju i omogućuju vam da odredite preferirani poslužitelj za određenu uslugu. Format zapisa SRV sadrži informacije o vrsti usluge koja se izvodi na poslužitelju, nazivu domene koju poslužuje taj poslužitelj i protokolu koji poslužitelj koristi.

Protokol dinamičkog ažuriranjaDNS(DNS dynamic update protocol) opisan je u RFC 2136, uz njegovu pomoć možete automatski ažurirati informacije na 1 DNS poslužitelju. Primjer bi bila radna stanica ispod Windows kontrola XP Professional ažurira svoju IP adresu dobivenu od DHCP poslužitelj. Protokol za dinamičko ažuriranje DNS-a može mrežnom administratoru uštedjeti mnogo vremena, budući da neće morati ručno registrirati svaku novu radnu stanicu ili registrirati računalo svaki put kada istekne zakupljena IP adresa prilikom primanja nove adrese.

Savjet

Na mreži na kojoj radi Microsoft Active Directory, SRV zapisi omogućuju radnim stanicama da brzo pronađu najbliži poslužitelj za provjeru autentičnosti zahtjeva za prijavu na mrežu. To vam omogućuje smanjenje nepotrebnog mrežnog prometa.

Protokol dinamičke konfiguracije glavnog računala (DHCP)

Protokol Dinamičan Domaćin Konfiguracija Protokol (DHCP) (Dynamic Host Configuration Protocol) omogućuje vam automatsko dodjeljivanje 1P adresa na mreži pomoću DHCP poslužitelja. Kada novo računalo Kada se računalo konfigurirano za rad s DHCP-om spoji na mrežu, ono kontaktira DHCP poslužitelj, koji računalu dodjeljuje (iznajmljuje) IP adresu, prenoseći je putem DHCP protokola. Trajanje najma postavlja mrežni administrator na DHCP poslužitelju. Na primjer, razdoblje najma za stolno računalo može varirati od nekoliko dana do nekoliko tjedana (budući da je računalo stalno povezano s mrežom). Razdoblje najma prijenosnog računala može varirati od nekoliko sati do jednog dana (od laptopčesto se isključuje iz mreže ili se seli u druge dijelove mreže). Naposljetku, glavno računalo ili poslužitelj mogu iznajmiti adresu zauvijek jer se njihova adresa nikada ne mijenja.

Savjet

Da biste pojednostavili mrežnu administraciju, instalirajte međusobno kompatibilne DNS poslužitelji i DHCP, koji podržavaju DNS Dynamic Update Protocol. Ovo jamči automatsko ažuriranje DNS zone s DHCP poslužiteljem ili DHCP klijentima i oslobađa administratora od potrebe da to radi ručno.

Protokol za rješavanje adresa(ARP)

U većini slučajeva, da bi poslao paket primatelju, pošiljatelj mora znati i IP adresu i MAC adresu. Na primjer, kod multicastinga koriste se obje adrese (IP i MAC). Ove adrese ne odgovaraju mojoj i imaju različite formate(decimala s točkama i heksadecimala).

Adresa Rezolucija Protokol (ARP) (Address Resolution Protocol) omogućuje čvoru pošiljatelju dobivanje MAC adresa odabranog čvora primatelja prije slanja paketa. Ako izvorni čvor treba određenu MAC adresu, tada šalje ARP okvir emitiranja koji sadrži vlastitu MAC adresu i IP adresu željenog primajućeg čvora. Prijemni čvor šalje natrag ARP paket odgovora koji sadrži njegovu MAC adresu.

Podržavajući protokol je Obrnuto Adresa Rezolucija Protokol (RARP) (Reverse Name Resolution Protocol) pomoću kojeg mrežno računalo može odrediti vlastitu IP adresu. Na primjer, RARP koriste radne stanice bez diska, koje ne mogu saznati svoje adrese osim slanjem RARP zahtjeva svom glavnom poslužitelju. Osim toga, neke aplikacije koriste RARP za određivanje IP adrese računala na kojem se izvode.

Jednostavni mrežni protokol za upravljanje (SNMP)

Jednostavan Mreža Upravljanje Protokol (SNMP) (Simple Network Management Protocol) mrežnim administratorima omogućuje kontinuirani nadzor mrežne aktivnosti. SNMP je razvijen 1980-ih kako bi TCP/IP stogu pružio alternativni mehanizam za OSI standard upravljanja mrežom. Uobičajen Upravljanje Sučelje Protokol (CMIP) (Common Control Information Protocol).

Iako je SNMP stvoren za TCP/IP stog, on slijedi OSI referentni model. Većina proizvođača odlučila je koristiti SNMP radije nego CMIP, zbog velike popularnosti TCP/IP protokola, kao i zbog jednostavnosti SNMP-a. SNMP protokol podržava mnogo stotina mrežnih uređaja, uključujući poslužitelji datoteka, kartice mrežni adapteri, usmjerivači, repetitori, mostovi, preklopnici i čvorišta. Za usporedbu, CMIP koristi IBM u nekim token ring mrežama, ali ga nema u mnogim drugim mrežama.

PrednostiSNMP

Važna prednost SNMP-a je što radi neovisno o mreži, tj. nije mu potrebna dvosmjerna veza s drugim mrežnim objektima na razini protokola. Ovo omogućuje SNMP-u da analizira mrežnu aktivnost, kao što je otkrivanje nepotpunih paketa i praćenje emitiranja, a da na njega ne utječu pogrešne informacije koje bi mogle doći s neispravnog čvora. Za usporedbu, CMIP se povezuje s mrežnim čvorovima na razini protokola, što znači da njegova sposobnost otkrivanja problema ovisi o zdravlju nekog čvora koji bi mogao biti neispravan.

Još jedna prednost SNMP-a je da se funkcije nadzora izvode na nekoj stanici za upravljanje mrežom. U tome se SNMP razlikuje od CMIP protokola, za koji su upravljačke funkcije raspoređene između pojedinačnih mrežnih čvorova, koji su ujedno i objekti nadzora. Osim toga, SN. MP zahtijeva manje RAM memorija nego CMIP. CMIP zahtijeva do 1,5 MB memorije na svakom čvoru koji se ispituje, dok SNMP zahtijeva samo 64 KB.

Vrste čvorova koje koristi protokolSNMP

SNMP protokol nudi dvije vrste čvorova: stanicu za upravljanje mrežom (NMS) i mrežne agente. Stanica za upravljanje mrežom nadzire mrežne uređaje koji podržavaju SNMP. Ovi uređaji pokreću agentski softver koji komunicira sa stanicom. Većina uređaja povezanih s moderne mreže, su agenti. To uključuje usmjerivače, repetitore, čvorišta, preklopnike, mostove, osobnih računala(preko svojih mrežnih adaptera), ispisnih poslužitelja, pristupnih poslužitelja i neprekidnih izvora napajanja.

Pomoću konzole na stanici za upravljanje mrežom možete slati naredbe mrežnim uređajima i dobiti podatke o izvedbi (statistiku). Stanica za upravljanje mrežom može konstruirati blok dijagram cijele mreže. Ako se novi uređaj pojavi na mreži, stanica ga može odmah otkriti. Softver stanice za upravljanje mrežom mogu otkriti kada je agent isključen ili ne radi ispravno. Ikona agenta može se pojaviti u drugoj boji na dijagramu toka ili se može oglasiti alarm. Tipično, programi stanica za upravljanje mrežom imaju grafički korisničko sučelje i s njima je vrlo lako raditi.

Mnogi softverski paketi stanica za upravljanje mrežom mogu pružiti grafička očitanja brojila koja prikazuju iskorištenost mreže, protok paketa i druge statistike. Kada se pojavi greška, grafički simboli vam pomažu razumjeti ozbiljnost problema i prepoznati vrstu agenta koji nije uspio. Neki paketi imaju sučelja za programiranje aplikacija (API) koja vam omogućuju interakciju sa softverom i programiranje specifičnih zadataka pomoću jednostavan jezik(npr. Visual Basic).

Svaki mrežni agent pohranjuje informacijska baza, koji sadrži broj poslanih ili primljenih paketa, broj grešaka u paketu i druge podatke. Ova baza podataka naziva se baza podataka o upravljanju (MIB). Stanica za upravljanje mrežom ima mnogo naredbi koje vam omogućuju pristup i upravljanje podacima u ovoj bazi podataka. Takve se naredbe šalju korištenjem OSI-kompatibilnih jedinica podataka protokola (PDU) i sadrže vrstu poruke (na primjer, dohvati zahtjev, dohvati sljedeći zahtjev, dohvati sljedeći zahtjev, dohvati odgovor, postavi zahtjev i zamku sustava). Rezultirajući podaci omogućuju vam da utvrdite je li uređaj uključen i postoje li problemi s mrežom. Stanica za upravljanje mrežom čak vam omogućuje daljinsko ponovno pokretanje uređaja. Poruke između stanice i agenta prenose se preko UDP protokola, paketima se dodaje SNMP zaglavlje. SNMP korisni teret sadrži grupno ime(ime zajednice), što je lozinka zajednička stanici za upravljanje mrežom i agentu.

Baza podataka o upravljačkim informacijama pohranjuje informacije o mrežnim objektima (kao što su radne stanice, poslužitelji, mostovi, usmjerivači, čvorišta i repetitori). Glavni skup varijabli sadržanih u ovoj bazi podataka prikazan je u tablici. 6.6. MIB tablica izvorno je opisana u standardu Management Information Base-I. Ovaj standard definira informacije o uređaju i mnoge povezane varijable. MIB standarde razvila je Internet Engineering Task Force (IETF).

Tablica 6.6. Varijable baze kontrolnih informacija (MlU)

VarijableMIB

Svrha

Grupa za prevođenje adresa

Pretvara mrežne adrese u podmrežne adrese ili fizičke adrese

Skupina protokola elektroničkog pristupnika elektronički uređaji)

Pruža informacije o hostovima na istom segmentu kao i mrežni agent

Grupa sučelja

Prati broj mrežnih adaptera i broj podmreža

Skupina protokola internetske kontrolne poruke

Prikuplja podatke o količini. poruke poslane i primljene od strane agenta

Grupa internetskih protokola

Prati broj prihvaćenih ulaznih datagrama i broj odbijenih datagrama

SNMP grupa

Prikuplja podatke o pozivima u MIB bazu

Grupa sustava

Sadrži informacije o mrežnom agentu

Skupina protokola upravljanja prijenosom

Pruža informacije o TCP vezama na mreži, uključujući podatke o adresi i isteku vremena

Grupa protokola korisničkog datagrama

Pruža informacije o agentu za slušanje s kojim stanica za upravljanje mrežom trenutno komunicira

Novi, poboljšani standard MIB-II opisuje dodatne sigurnosne značajke, podršku za token ring mreže i sučelja velike brzine te podršku za telekomunikacijska sučelja. Standard MIB-II prihvatili su mnogi proizvođači mrežne opreme.

Nove značajke protokolaSNMPv2

Prva verzija SNMP protokola imala je neke nedostatke, koji su ispravljeni u drugoj verziji, nazvanoj SNMPv2. Možda je najveći nedostatak SNMP-a nedostatak sigurnosnih mehanizama. Kada koristite SNMP, stanica za upravljanje mrežom šalje naziv grupe nekriptiran i, ako se presretne, ova se lozinka može koristiti za pristup važnim naredbama za upravljanje mrežom. Kao rezultat takvog curenja, napadač može daljinski promijeniti postavke usmjerivača ili čvorišta i diskreditirati sigurnost mreže.

SNMPv2 omogućuje šifriranje imena grupe, poboljšano rukovanje pogreškama i interoperabilnost s mnogim protokolima. Također podržava IPX i AppleTalk. Osim toga, SNMPv2 omogućuje brži prijenos informacija i omogućuje dohvaćanje više podataka iz MIB-II u isto vrijeme.

Praćenje pomoću protokoliSNMPISNMPv2

Protokoli SNMP i SNMPv2 mogu se koristiti za upravljanje bilo kojom mrežom: lokalnom, globalnom i mješovitom. Postoji mnogo alata i programski paketi za nadzor mreže koji koriste SNMP i SNMPv2. To uključuje programe Sniffer tvrtke Network Associates (vidi www. njuškalo. com) i Network Monitor od Microsofta (pogledajte www.).

Važan alat usklađen sa SNMP-om koji se koristi za nadzor lokalne mreže, povezan putem globalnih mreža, standard je razvijen početkom 1990-ih Daljinski Mreža Praćenje (RMON) (daljinski nadzor mreže). RMON ne koristi samo SNMP protokol, već koristi i posebnu bazu podataka za daljinski nadzor pod nazivom RMON MIB-II. Ova baza podataka omogućuje udaljenim mrežnim čvorovima prikupljanje mrežne statistike gotovo bilo gdje na lokalnoj ili globalnoj mreži. Ovi udaljeni čvorovi su agenti ili sonde. Informacije koje primaju agenti mogu se prenijeti nekoj kontrolnoj stanici koja ih unosi u bazu podataka. Trenutno su RMON MIB-II standardi prilagođeni mrežama FDDI, Ethernet i Token Ring.

Ostali aplikacijski protokoli TCP/IP skupa

Postoje i drugi protokoli ili aplikacijski programi, uključeni u TCP/IP stack - Pojednostavljuju rad internetskih usluga, prijenos podataka multimedijskih aplikacija, upravljanje mrežom i rješavanje problema. Ovi dodatni protokoli i aplikacije navedeni su u tablici. 6.7.

Tablica 6.7. TCP/IP Stack aplikacije i protokoli

Protokol odnprimjena

Opis

Aplikacija koja omogućuje korisniku TCP/IP skupa da pronađe FTP stranice koje sadrže informacije o određenoj temi

Bootstrap protokol (BOOTP)

Protokol koji koriste radne stanice bez diska za određivanje njihove IP adrese i za komunikaciju s poslužiteljem s kojeg se datoteke kopiraju operacijski sustav potrebno za preuzimanje ovih postaja

Distance Vector Multicast Routing Protocol (DVMRP)

Protokol višesmjernog usmjeravanja koji se koristi zajedno s RIP-om za određivanje koji su hostovi pretplaćeni na višestruko slanje određenih multimedijskih aplikacija (vidi poglavlje 10)

Pomoću ovog uslužnog programa korisnik mreže može odrediti koji su drugi korisnici i hostovi aktivni na mreži

Aplikacija koja nudi popis tema iz kojih korisnici mogu pristupiti drugom izborniku ili tekstualne datoteke(na primjer, u datoteku koja sadrži popis telefona). Gopher usluge danas su rijetke jer su ih prvenstveno zamijenili web poslužitelji

Protokol za prijenos hiperteksta (HTTP)

Protokol za prijenos HTML dokumenti(Hypertext Markup Language) putem interneta na temelju zahtjeva web preglednika; ovi dokumenti mogu sadržavati audio i video datoteke, kao i slike i grafike

Internet Group Management Protocol (IGMP)

Protokol koji omogućuje prijenos višestrukih paketa do njihovih primatelja i usmjerivača. Određuje koje radne stanice pripadaju određenoj multicast grupi (cm.poglavlje 10)

Multicast Open Shortest Path First Protocol (MOSPF)

Multicast protokol usmjeravanja za određivanje najkraće rute od izvora do odredišta za multicast prijenose

Otvoreni protokol najkraćeg puta prvi (OSPF)

Protokol koji koriste usmjerivači za razmjenu podataka tablice usmjeravanja i za procjenu mrežnih ruta prilikom prijenosa podataka na temelju određenih kriterija (kao što je cijena rute)

Uslužni program koji omogućuje mrežnom čvoru da komunicira s drugim čvorom na istoj ili udaljenoj mreži i utvrđuje komunicira li navedeni čvor s njim i odgovara li na zahtjeve. Mrežni administrator može koristiti uslužni program ping za brzu provjeru veza s globalnom mrežom kontaktiranjem nekog udaljenog računala

Protokol u stvarnom vremenu (RIP)

Ovaj se protokol koristi za učinkovito upravljanje multicast multicastom u stvarnom vremenu koji se koristi za video konferencije ili slične multimedijske aplikacije. (vidi poglavlje 10)

Protokol za kontrolu prijenosa u stvarnom vremenu (RTCP)

Omogućuje vam upravljanje mrežnim prometom, što olakšava korištenje multimedijskih aplikacija u stvarnom vremenu (vidi poglavlje 10)

Protokol rezervacije resursa (RSVP)

Protokol koji omogućuje dodjelu mrežnih resursa određenim aplikacijama (na primjer, rezerviranje propusnosti za multimedijske aplikacije) (vidi poglavlje 10)

Protokol informacija o usmjeravanju (RIP)

Pomoću ovog protokola usmjerivači međusobno prenose sadržaj tablica usmjeravanja i određuju najmanji broj releja od jednog mrežnog čvora do drugog

Jednostavni mrežni protokol za upravljanje (SNMP)

Protokol koji prikuplja mrežnu statistiku pohranjuje te podatke u bazu podataka

Traceroute (tracert)

Aplikacija koja korisniku omogućuje određivanje broja releja između dva mrežna čvora

U vježbama 6-9 i 6-10 možete vježbati korištenje naredbe ping, a u vježbama 6-11 i 6-12 naučit ćete kako koristiti naredbe tracert i ping za određivanje broja releja s jedne točke na mreže na drugu.

Usporedba TCP/IP arhitekture stoga i referentnog modelaOSI

Kao što je prikazano na sl. 6.11, komponente TCP/IP skupa o kojima se govori u ovom poglavlju odgovaraju slojevima OSI referentnog modela. Kako se TCP/IP skup razvija, njegove komponente sve više slijede OSI model. Na primjer, na fizičkom sloju i sloju podatkovne veze, TCP/IP stog je kompatibilan s Ethernet mreže, Token Ring, FDDI i ATM, kao i token bus mreže. Na Fizička razina TCP/IP stog podržava koaksijalni, upletena parica i optičkih vlakana, kao i bežične komunikacije. Osim toga, na sloju podatkovne veze, stog je kompatibilan sa standardom IEEE 802.2 za kontrolu logičke veze i MAC adresiranje.

Ekvivalent mrežnom sloju u TCP/IP stogu je IP protokol. Sljedeća razina kompatibilnosti je prijenosni sloj; oba protokola – TCP i UDP – mogu raditi na ovoj razini. Gornji slojevi OSI modela predstavljeni su TCP/IP aplikacijskim protokolima. Na primjer, Telnet protokol radi na razini koja je ekvivalentna sloju sesije, dok SMTP i FTP protokoli rade na razinama sličnim OSI reprezentativnom i aplikacijskom sloju.

Sažetak

· TCP/IP je najčešće korišteni mrežni protokol na svijetu. To je osnova za Internet i omogućuje milijunima računala i poslužitelja diljem planeta da međusobno komuniciraju. TCP protokol dizajniran je za pouzdan prijenos podataka uspostavljanjem veza između čvorova i korištenjem signala za potvrdu da su paketi primljeni.

· UDP protokol je alternativa TCP-u. Zbog činjenice da veze između čvorova nisu uspostavljene, generira manje dodatnih informacija, ali je manje pouzdan od TCP-a. IP protokol se koristi za prijenos paketa do prijemnih čvorova u lokalnim i globalnim mrežama. Ima metode adresiranja za identifikaciju čvora i mreže na kojoj se nalazi. Najnovija verzija IP je IPv6 protokol koji ima prošireni format adrese koji mu omogućuje pokrivanje velikog broja novih mrežnih adresa i čvorova koji se pojavljuju zbog brzog rasta Interneta i raznih mreža.

· Za pouzdanu dostavu paketa, svaka IP adresa mora biti jedinstvena. Metode IP adresiranja koriste se za identifikaciju određenog računala i mreže kojoj pripada.

· Važno je razumjeti da je glavna svrha IPv6 protokola osigurati logičan prijelaz s IPv4 tako da aplikacije i mrežni uređaji sposobni nositi se s novim zahtjevima kako se pojavljuju

· Zapravo, TCP/IP je hrpa protokola i aplikacija koje pružaju važne mogućnosti. Telnet protokol koristi se za povezivanje radnih stanica s glavnim računalima (pri čemu radne stanice djeluju kao terminali). FTP je protokol koji milijuni korisnika svakodnevno koriste za preuzimanje datoteka s Interneta. SMTP protokol pruža usluge pošte, a DNS razrješava imena računala u njihove IP adrese. DHCP protokol automatski dodjeljuje IP adrese mrežnim računalima. SNMP je važan za mreže jer može prikupljati informacije o performansama mreže i može se koristiti za rješavanje problema. ARP omogućuje računalima ili uređajima da odrede MAC adresu drugog računala ili uređaja.

· Broj internetskih programa, lokalnih i globalnih mrežnih aplikacija, kao i njihove mogućnosti nastavljaju rasti. TCP/IP je odigrao važnu ulogu u razvoju mreža i bit će važan iu budućnosti. Kako se broj mrežnih korisnika i mrežnih aplikacija povećava, a propusnost mreže raste, TCP/IP protokol će vjerojatno pretrpjeti značajne izmjene, posebice jer sve više korisnika koristi internetsku televiziju, glasovne tehnologije i IP mreže. i multimediju

· Treba napomenuti da su kako se TCP/IP protokol razvijao, neke njegove komponente postale konzistentnije s OSI referentnim modelom.