Umrežavanje

Koji su koraci u TCP rukovanju?

Koji su koraci u TCP rukovanju?

TCP ili protokol za kontrolu prijenosa standardni je protokol transportnog sloja koji Internet koristi za prijenos podataka. Zahtjev za komentarom (RFC) 793 definira TCP kao pouzdan protokol usmjeren na povezivanje. Budući da je orijentiran na vezu, prije prijenosa podataka potrebno je uspostaviti put ili vezu. TCP koristi trosmjerni mehanizam rukovanja za uspostavljanje veze između dva uređaja. U ovom ćemo priručniku vidjeti kako funkcionira trosmjerni mehanizam rukovanja. Pogledajmo prvo probleme s dvosmjernim modelom rukovanja.

Problemi s dvosmjernim modelom rukovanja

Dvosmjerni model rukovanja nije uspio zbog starog problema s duplikatom paketa. Pretpostavimo da stari duplikat paketa stigne na poslužiteljski stroj. Ovaj stari paket stigao je iz prethodno zatvorene veze i sadrži sekvencijski broj 'z'. U neko vrijeme tijekom nove veze, poslužitelj prihvaća paket s rednim brojem 'z'. Kad primi ovaj stari paket s istim rednim brojem 'z', nesvjesno prihvaća taj stari paket i odbacuje stvarni paket s nove veze.

U gornjem slučaju, ako se veza između klijenta i poslužitelja ne odvija, dolazak starog dupliciranog paketa zahtjeva za povezivanje i dalje stvara probleme. Ako poslužitelj primi takav paket, odgovorit će mu SYN + ACK paketom. Klijent će ispustiti ovaj paket jer se nije namjeravao povezati. Ali poslužitelj će ući u stanje mrtve točke, čekajući da klijent pošalje podatke.

Drugi je problem u tome što ako domaćin C pošalje zahtjev za povezivanje poslužitelju lažnim predstavljanjem klijenta, poslužitelj će klijentu odgovoriti ACK-om. Klijent će odbaciti ovaj 'ACK' paket i reći poslužitelju da prekine vezu. Tijekom ovog intervala događaja, domaćin C može pokrenuti lažni napad slanjem puno paketa.

Trosmjerni model rukovanja u TCP / IP-u

Trosmjerni model rukovanja vrlo je važan. Ako ga ne upotrijebimo i ne počnemo izravno slati podatke, aplikacija koja prima može početi primati dvostruke pakete. Napadač može dobiti priliku za pokretanje napada (poput DDoS-a) između veze. Trosmjerni postupak rukovanja započinje jedan stroj, a druga strana reagira na njega. Sljedeća konvencija koristi se za objašnjenje ovog postupka:

„Ako web mjesto primi paket s rednim brojem 'x', odgovorit će ACK brojem 'x + 1'."

Sažeti ćemo korake izvedene u trosmjernom rukovanju između klijentskog stroja i poslužiteljskog stroja:

Korak 1. U prvom rukovanju klijent šalje paket poslužitelja SYN veze sa slučajnim početnim rednim brojem ('x') na poslužitelj.

Korak 2. U drugom rukovanju, poslužitelj odgovara SYN paketom koji ima slučajni sekvencijski broj ('y') i ACK paketom sa sekvencijskim brojem ('x + 1') da potvrdi poslani početni sekvencijski broj ('x') od strane klijenta.

3. korak. U trećem rukovanju, klijent će poslati ACK paket sa sekvencijskim brojem ('y + 1') na poslužitelj za potvrdu SYN ('y') paketa koji je poslao poslužitelj.

4. korak. Oba kraja su sada sinkronizirana i mogu započeti prijenos podataka samostalno. [1]

TCP postupak trosmjernog rukovanja i dalje vrijedi ako obje strane istodobno započnu postupak inicijalizacije. U takvoj situaciji, svaki stroj, nakon slanja paketa "SYN", primit će segment "SYN" bez potvrde. Ako stari duplikat paketa "SYN" stigne na prijamnik, prijemniku se može činiti da se istodobno odvija postupak pokretanja veze. Za uklanjanje ove dvosmislenosti možemo koristiti pakete "reset".

Prekid TCP veze

Svaka od dviju strana može prekinuti TCP vezu. U tu svrhu bilo koja strana može poslati TCP segment s postavljenim bitom FIN. To će značiti da strana koja šalje više nema podataka za slanje. Primajuća strana će prepoznati ovaj FIN paket slanjem paketa potvrde. Ovo će zatvoriti vezu s jedne strane (strane pošiljatelja). Sada će primatelj istim koracima prekinuti vezu u njegovo ime. Ovo će u potpunosti zatvoriti vezu.

Problemi s trosmjernim modelom rukovanja

U slučaju da se ACK s klijenta na poslužitelj izgubi ili blokira u trećoj fazi rukovanja, klijent neće biti svjestan ove situacije. Klijent će pretpostaviti da je veza uspostavljena i počet će slati podatke. Poslužitelj još uvijek čeka ACK, koji je već bio izgubljen, pa će odbaciti podatke primljene od klijenta. [2]

Zaključak

U ovom smo vodiču saznali o postupcima TCP povezivanja pomoću trosmjernog rukovanja. Također smo vidjeli problem dvostrukih paketa povezanih s dvosmjernim postupkom rukovanja i kako je riješen trosmjernim modelom rukovanja. Mnogi su istraživači pridonijeli raznim istraživačkim radovima za poboljšanje trosmjernog modela rukovanja i prevladavanje problema povezanih s njim.

Reference

  1. Hsu, F., Hwang, Y., Tsai, C., Cai, W., Lee, C., & Chang, K. (2016.). TRAP: Trosmjerni poslužitelj rukovanja za uspostavljanje TCP veze. Primijenjene znanosti, 6 (11), 358. https: // doi.org / 10.3390 / app6110358
  1. Qin-Min Ma, Shou-Yin Liu, Xiao-jun Wen. (2016.). TCP protokol za trosmjerno rukovanje temeljen na kvantnom zapletu. Journal of Computers, 27 (3), 33-40, doi: 10.3966/199115592016102703004
Kako promijeniti pokazivač miša i veličinu, boju i shemu pokazivača na sustavu Windows 10
Pokazivač i pokazivač miša u sustavu Windows 10 vrlo su važni aspekti operativnog sustava. To se može reći i za druge operativne sustave, tako da u is...
Besplatni i otvoreni kodni pokretački programi za razvoj Linux igara
Ovaj će članak pokriti popis besplatnih i open source pokretačkih igara koje se mogu koristiti za razvoj 2D i 3D igara na Linuxu. Brojni su takvi moto...
Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...