logo

Što je Transmission Control Protocol (TCP)?

TCP je skraćenica za Protokol kontrole prijenosa . To je protokol prijenosnog sloja koji olakšava prijenos paketa od izvora do odredišta. To je protokol orijentiran na povezivanje što znači da uspostavlja vezu prije komunikacije koja se odvija između računalnih uređaja u mreži. Ovaj se protokol koristi s IP protokolom, pa se zajedno nazivaju TCP/IP.

Glavna funkcija TCP-a je preuzimanje podataka iz aplikacijskog sloja. Zatim dijeli podatke u nekoliko paketa, označava te pakete brojevima i na kraju šalje te pakete na odredište. TCP će, s druge strane, ponovno sastaviti pakete i poslati ih aplikacijskom sloju. Kao što znamo da je TCP protokol orijentiran na povezivanje, tako da će veza ostati uspostavljena sve dok se ne završi komunikacija između pošiljatelja i primatelja.

kako pretvoriti iz int u string u Javi

Značajke TCP protokola

Sljedeće su značajke TCP protokola:

    Protokol transportnog sloja

TCP je protokol prijenosnog sloja jer se koristi za prijenos podataka od pošiljatelja do primatelja.

    Pouzdan

TCP je pouzdan protokol jer prati protok i mehanizam kontrole pogrešaka. Također podržava mehanizam potvrde, koji provjerava stanje i zvučni dolazak podataka. U mehanizmu potvrde, primatelj šalje pozitivnu ili negativnu potvrdu pošiljatelju tako da pošiljatelj može saznati je li paket podataka primljen ili ga treba ponovno poslati.

    Redoslijed podataka se održava

Ovaj protokol osigurava da podaci stignu do željenog primatelja istim redoslijedom kojim su poslani. Poreda i numerira svaki segment tako da ga TCP sloj na odredišnoj strani može ponovno sastaviti na temelju njihovog redoslijeda.

    Orijentiran na povezivanje

To je usluga orijentirana na povezivanje što znači da se razmjena podataka odvija tek nakon uspostave veze. Kada se prijenos podataka završi, veza će se prekinuti.

    Full duplex

To je full-duplex znači da se podaci mogu prenositi u oba smjera u isto vrijeme.

odaberite sql iz više tablica
    Orijentiran na tok

TCP je protokol orijentiran na tok jer omogućuje pošiljatelju slanje podataka u obliku toka bajtova, a također omogućuje primatelju da prihvati podatke u obliku toka bajtova. TCP stvara okruženje u kojem su i pošiljatelj i primatelj povezani zamišljenom cijevi poznatom kao virtualni krug. Ovaj virtualni krug prenosi tok bajtova preko interneta.

Potreba za protokolom kontrole transporta

U slojevitoj arhitekturi mrežnog modela cijeli zadatak je podijeljen na manje zadatke. Svaki zadatak je dodijeljen određenom sloju koji obrađuje zadatak. u TCP/IP model , pet slojeva su aplikacijski sloj, transportni sloj, mrežni sloj , sloj podatkovne veze i fizički sloj. Prijenosni sloj ima ključnu ulogu u pružanju komunikacije s kraja na kraj za izravne aplikacijske procese. Stvara 65 000 priključaka tako da se višestrukim aplikacijama može pristupiti u isto vrijeme. Uzima podatke s gornjeg sloja, te ih dijeli u manje pakete i zatim ih prenosi na mrežni sloj.

TCP

Rad TCP-a

U TCP-u, veza se uspostavlja korištenjem trosmjernog rukovanja. Klijent šalje segment sa svojim rednim brojem. Poslužitelj zauzvrat šalje svoj segment s vlastitim rednim brojem kao i niz potvrde, koji je za jedan veći od rednog broja klijenta. Kada klijent dobije potvrdu svog segmenta, tada potvrdu šalje poslužitelju. Na taj način se uspostavlja veza između klijenta i poslužitelja.

TCP

Prednosti TCP-a

  • Pruža pouzdanu uslugu usmjerenu na vezu, što znači da jamči isporuku podatkovnih paketa. Ako se podatkovni paket izgubi preko mreže, tada će TCP ponovno poslati izgubljene pakete.
  • Omogućuje mehanizam kontrole protoka pomoću protokola kliznog prozora.
  • Omogućuje otkrivanje pogrešaka korištenjem kontrolnog zbroja i kontrolu pogrešaka korištenjem Go Back ili ARP protokola.
  • Uklanja zagušenje korištenjem algoritma za izbjegavanje zagušenja mreže koji uključuje različite sheme kao što su aditivno povećanje/multiplikativno smanjenje (AIMD), spori početak i prozor zagušenja.

Nedostatak TCP-a

Povećava veliku količinu opterećenja jer svaki segment dobiva vlastito TCP zaglavlje, tako da fragmentacija od strane usmjerivača povećava opterećenje.

TCP format zaglavlja

TCP
    Izvorni port:Definira priključak aplikacije koja šalje podatke. Dakle, ovo polje sadrži adresu izvornog porta, koja je 16 bita.Odredišna luka:Definira port aplikacije na prijemnoj strani. Dakle, ovo polje sadrži adresu odredišnog porta, koja je 16 bita.Redni broj:Ovo polje sadrži redni broj bajtova podataka u određenoj sesiji.Broj potvrde:Kada je ACK zastavica postavljena, ona sadrži sljedeći redni broj podatkovnog bajta i radi kao potvrda za prethodno primljene podatke. Na primjer, ako primatelj primi segment broj 'x', tada odgovara 'x+1' kao broj potvrde.HLEN:Određuje duljinu zaglavlja naznačenu 4-bajtnim riječima u zaglavlju. Veličina zaglavlja je između 20 i 60 bajtova. Stoga bi vrijednost ovog polja bila između 5 i 15.Rezervirano:To je 4-bitno polje rezervirano za buduću upotrebu, a prema zadanim postavkama sva su postavljena na nulu.Zastave
    Postoji šest kontrolnih bitova ili zastavica:
      URG:Predstavlja hitnu uputu. Ako je postavljen, tada se podaci obrađuju hitno.ACK:Ako je ACK postavljen na 0, to znači da paket podataka ne sadrži potvrdu.PSH:Ako je ovo polje postavljeno, ono zahtijeva od prijemnog uređaja da proslijedi podatke primateljskoj aplikaciji bez njihovog spremanja u međuspremnik.RST:Ako je postavljen, tada se traži ponovno pokretanje veze.SYN:Koristi se za uspostavljanje veze između hostova.KRAJ:Koristi se za oslobađanje veze i neće doći do daljnje razmjene podataka.
    Veličina prozora
    To je 16-bitno polje. Sadrži veličinu podataka koju primatelj može prihvatiti. Ovo polje se koristi za kontrolu protoka između pošiljatelja i primatelja i također određuje količinu međuspremnika koju primatelj dodjeljuje za segment. Vrijednost ovog polja određuje primatelj.Kontrolni zbroj
    To je 16-bitno polje. Ovo polje nije obavezno u UDP-u, ali u slučaju TCP/IP-a ovo je polje obavezno.Hitno pokazivač
    To je pokazivač koji pokazuje na bajt hitnih podataka ako je zastavica URG postavljena na 1. Definira vrijednost koja će biti dodana sekvenci broja da bi se dobio redni broj zadnjeg hitnog bajta.Mogućnosti
    Pruža dodatne opcije. Neobavezno polje predstavljeno je u 32-bitnom obliku. Ako ovo polje sadrži podatke manje od 32 bita, potrebno je punjenje za dobivanje preostalih bitova.