Gaur, TCPn arreta jarriz hasiko gara. Geruzatzeari buruzko kapituluan lehenago, puntu garrantzitsu bat aipatu genuen. Sare geruzan eta behean, host to host konexioei buruzkoa da gehiago, hau da, zure ordenagailuak jakin behar du non dagoen beste ordenagailu bat konektatzeko. Hala ere, sare bateko komunikazioa askotan prozesuen arteko komunikazioa da, makinen arteko komunikazioa baino. Hori dela eta, TCP protokoloak ataka kontzeptua aurkezten du. Ataka prozesu bakar batek okupa dezake, eta horrek host desberdinetan exekutatzen diren aplikazio prozesuen arteko komunikazio zuzena ahalbidetzen du.
Garraio geruzaren zeregina aplikazio-prozesuen arteko komunikazio-zerbitzu zuzenak eskaintzea da, ostalari desberdinetan exekutatzen direnak, beraz, mutur-muturreko protokolo gisa ere ezagutzen da. Garraio geruzak sarearen xehetasun nagusiak ezkutatzen ditu, aplikazio-prozesuari bi garraio-geruzako entitateen artean mutur-muturreko komunikazio-kanal logiko bat dagoela ikusteko aukera emanez.
TCP Transmission Control Protocol-en akronimoa da eta konexio-orientatutako protokolo gisa ezagutzen da. Horrek esan nahi du aplikazio batek besteari datuak bidaltzen hasi aurretik, bi prozesuek esku-ematea egin behar dutela. Esku-ematea datuen transmisio fidagarria eta harrera ordenatua bermatzen duen prozesu logiko bat da. Esku-ematean zehar, konexio bat ezartzen da iturburu eta helmuga ostalarien artean, kontrol-pakete sorta bat trukatuz eta parametro eta arau batzuk adostuz, datuen transmisio arrakastatsua bermatzeko.
Zer da TCP? (Nire estekaketanSareko UkipenaetaSareko Paketeen BrokerraTCP edo UDP paketeak prozesatu ditzake)
TCP (Transmission Control Protocol) konexioetan oinarritutako garraio geruzako komunikazio protokolo fidagarria da, byte-jarioan oinarritua.
Konexio-orientatuaKonexio-orientatuak esan nahi du TCP komunikazioa bat-batekoa dela, hau da, puntutik puntura muturretik muturrerako komunikazioa, UDP ez bezala, honek mezuak hainbat host-era bidal baititzake aldi berean, beraz, bat-askorako komunikazioa ezin da lortu.
FidagarriaTCPren fidagarritasunak paketeak hartzaileari modu fidagarrian entregatzen zaizkiola bermatzen du, sareko loturan aldaketak egon arren, eta horrek TCPren protokolo-paketeen formatua UDPrena baino konplexuagoa bihurtzen du.
Byte-jarioetan oinarritutakoTCPren byte-jarioetan oinarritutako izaerak edozein tamainatako mezuak transmititzea ahalbidetzen du eta mezuen ordena bermatzen du: aurreko mezua guztiz jaso ez bada ere, eta ondorengo byteak jaso badira ere, TCPk ez ditu aplikazio-geruzara bidaliko prozesatzeko eta automatikoki baztertuko ditu pakete bikoiztuak.
A ostalariak eta B ostalariak konexioa ezarri ondoren, aplikazioak komunikazio-lerro birtuala erabili behar du datuak bidaltzeko eta jasotzeko, datuen transmisioa bermatuz. TCP protokoloa konexioa ezartzea, deskonektatzea eta eustea bezalako zereginak kontrolatzeaz arduratzen da. Kontuan izan behar da hemen lerro birtualak konexioa ezartzea baino ez duela esan nahi esaten dugula, TCP protokoloaren konexioak bi aldeek datuen transmisioa has dezaketela eta datuen fidagarritasuna bermatzea adierazten duela soilik. Bideratze eta garraio nodoak sareko gailuek kudeatzen dituzte; TCP protokoloa bera ez dago xehetasun horiez arduratuta.
TCP konexioa zerbitzu full-duplex bat da, hau da, A ostalariak eta B ostalariak datuak bi norabideetan transmititu ditzakete TCP konexio batean. Hau da, datuak A ostalariaren eta B ostalariaren artean transferitu daitezke bi norabideko fluxu batean.
TCP-k datuak aldi baterako gordetzen ditu konexioaren bidalketa-bufferrean. Bidalketa-buffer hau hiru norabideko esku-ematean sortutako cacheetako bat da. Ondoren, TCP-k bidalketa-cacheko datuak helmugako ostalariaren harrera-cachera bidaliko ditu une egokian. Praktikan, pareko bakoitzak bidalketa-cache bat eta harrera-cache bat izango ditu, hemen erakusten den bezala:
Bidalketa-bufferra igorlearen aldeko TCP inplementazioak mantentzen duen memoria-eremu bat da, bidali beharreko datuak aldi baterako gordetzeko erabiltzen dena. Konexio bat ezartzeko hiru norabideko esku-ematea egiten denean, bidalketa-katxea konfiguratzen da eta datuak gordetzeko erabiltzen da. Bidalketa-bufferra dinamikoki doitzen da sareko pilaketaren eta hartzailearen feedbackaren arabera.
Jasotzeko bufferra TCP inplementazioak hartzailearen aldean mantentzen duen memoria-eremu bat da, jasotako datuak aldi baterako gordetzeko erabiltzen dena. TCP-k jasotako datuak jasotzeko cachean gordetzen ditu eta goiko aplikazioak irakurtzeko zain dago.
Kontuan izan bidalketa-katxearen eta harrera-katxearen tamaina mugatua dela; katxea beteta dagoenean, TCP-k estrategia batzuk har ditzake, hala nola pilaketa-kontrola, fluxu-kontrola, etab., datuen transmisio fidagarria eta sarearen egonkortasuna bermatzeko.
Ordenagailu-sareetan, hosten arteko datu-transmisioa segmentuen bidez egiten da. Beraz, zer da pakete-segmentu bat?
TCP-k TCP segmentu bat edo pakete segmentu bat sortzen du sarrerako jarioa zatitan banatuz eta TCP goiburuak zati bakoitzari gehituz. Segmentu bakoitza denbora mugatu batez bakarrik transmititu daiteke eta ezin du Segmentuaren Gehienezko Tamaina (MSS) gainditu. Behera doan bidean, pakete segmentu bat lotura geruzatik igarotzen da. Lotura geruzak Transmisio Unitate Maximo bat (MTU) du, hau da, datu lotura geruzatik igaro daitekeen paketearen gehienezko tamaina. Transmisio unitate maximoa normalean komunikazio interfazearekin lotuta dago.
Beraz, zein da MSS eta MTU arteko aldea?
Konputagailu-sareetan, arkitektura hierarkikoa oso garrantzitsua da, maila desberdinen arteko desberdintasunak kontuan hartzen baititu. Geruza bakoitzak izen desberdina du; garraio-geruzan, datuei segmentu deitzen zaie, eta sare-geruzan, datuei IP pakete. Beraz, Transmisio Unitate Maximoa (MTU) sare-geruzak transmititu dezakeen IP paketearen Tamaina Maximoa dela uler daiteke, eta Segmentu Tamaina Maximoa (MSS), berriz, garraio-geruzaren kontzeptu bat da, TCP pakete batek aldi berean transmititu dezakeen datu kopuru maximoa adierazten duena.
Kontuan izan Segmentuaren Tamaina Maximoa (MSS) Transmisio Unitate Maximoa (MTU) baino handiagoa denean, IP zatikatzea sare geruzan egingo dela, eta TCP-k ez dituela datu handiagoak MTU tamainarako egokiak diren segmentuetan banatuko. Sare geruzan IP geruzari eskainitako atal bat egongo da.
TCP pakete segmentuen egitura
TCP goiburuen formatua eta edukia azter ditzagun.
Sekuentzia zenbakiaKonexioa ezartzen denean ordenagailuak sortutako ausazko zenbaki bat da, hasierako balio gisa TCP konexioa ezartzen denean, eta sekuentzia-zenbakia hartzaileari bidaltzen zaio SYN paketearen bidez. Datuen transmisioan zehar, igorleak sekuentzia-zenbakia handitzen du bidalitako datu-kopuruaren arabera. Hartzaileak datuen ordena epaitzen du jasotako sekuentzia-zenbakiaren arabera. Datuak ordenarik gabe aurkitzen badira, hartzaileak datuak berrordenatuko ditu datuen ordena bermatzeko.
Baieztapen zenbakia: TCPn datuak jaso direla berresteko erabiltzen den sekuentzia-zenbaki bat da. Bidaltzaileak jasotzea espero duen hurrengo datuen sekuentzia-zenbakia adierazten du. TCP konexio batean, hartzaileak zehazten du zein datu jaso diren jasotako datu-pakete segmentuaren sekuentzia-zenbakian oinarrituta. Hartzaileak datuak behar bezala jasotzen dituenean, ACK pakete bat bidaltzen dio igorleari, eta pakete horrek berrespen-zenbakia dauka. ACK paketea jaso ondoren, bidaltzaileak datuak erantzun-zenbakia onartu aurretik baieztatu ditzake.
TCP segmentu baten kontrol bitek honako hauek dituzte:
ACK bit-aBit hau 1 denean, baieztapen-erantzun eremua baliozkoa dela esan nahi du. TCP-k zehazten du bit hau 1ean ezarri behar dela, konexioa hasieran ezartzen denean SYN paketeak izan ezik.
RST bit-aBit hau 1 denean, TCP konexioan salbuespen bat dagoela eta konexioa deskonektatzera behartu behar dela adierazten du.
SYN bit-aBit hau 1era ezartzen denean, konexioa ezarri behar dela eta sekuentzia-zenbakiaren hasierako balioa sekuentzia-zenbakiaren eremuan ezarrita dagoela esan nahi du.
FIN bit-aBit hau 1 denean, etorkizunean ez dela daturik bidaliko eta konexioa nahi dela esan nahi du.
TCPren funtzio eta ezaugarri desberdinak TCP pakete segmentuen egiturak gorpuzten ditu.
Zer da UDP? (Mylinking-enSareko UkipenaetaSareko Paketeen BrokerraTCP edo UDP paketeak prozesatu ditzake)
Erabiltzailearen Datagrama Protokoloa (UDP) konexiorik gabeko komunikazio protokolo bat da. TCPrekin alderatuta, UDPk ez ditu kontrol mekanismo konplexuak eskaintzen. UDP protokoloak aplikazioei IP pakete kapsulatuak zuzenean bidaltzeko aukera ematen die konexiorik ezarri gabe. Garatzaileak TCPren ordez UDP erabiltzea aukeratzen duenean, aplikazioak zuzenean komunikatzen da IParekin.
UDP Protokoloaren izen osoa Erabiltzaile Datagrama Protokoloa da, eta bere goiburua zortzi byte (64 bit) baino ez da, oso zehatza. UDP goiburuaren formatua honako hau da:
Helmuga eta jatorri portuakHaien helburu nagusia UDPk paketeak zein prozesuri bidali behar dizkion adieraztea da.
Paketearen tamainaPaketearen tamainaren eremuak UDP goiburuaren tamaina eta datuen tamaina ditu.
Kontrol-baturaUDP goiburuen eta datuen bidalketa fidagarria bermatzeko diseinatua. Kontrol-baturaren eginkizuna UDP pakete baten transmisioan errore edo ustelkeria gertatu den detektatzea da, datuen osotasuna bermatzeko.
TCP eta UDP arteko desberdintasunak Mylinking-enSareko UkipenaetaSareko Paketeen BrokerraTCP edo UDP paketeak prozesatu ditzake
TCP eta UDP honako alderdi hauetan desberdintzen dira:
KonexioaTCP konexio-orientatutako garraio-protokolo bat da, datuak transferitu aurretik konexio bat ezarri behar duena. UDP-k, berriz, ez du konexiorik behar eta datuak berehala transferi ditzake.
Zerbitzu ObjektuaTCP bat-bateko bi puntuko zerbitzua da, hau da, konexio batek bi mutur-puntu baino ez ditu elkarren artean komunikatzeko. Hala ere, UDP-k bat-bateko, bat-askotako eta askotako komunikazio interaktiboa onartzen du, eta horrek hainbat ostalarirekin komunikatu daiteke aldi berean.
FidagarritasunaTCP-k datuak fidagarritasunez entregatzeko zerbitzua eskaintzen du, datuak akatsik, galerarik, bikoiztu gabe daudela eta eskaeraren arabera iristen direla ziurtatuz. UDP-k, berriz, ahalegin guztiak egiten ditu eta ez du entrega fidagarria bermatzen. UDP-k datuen galerak eta bestelako egoerak jasan ditzake transmisioan zehar.
Pilaketaren kontrola, fluxuaren kontrolaTCP-k pilaketa-kontroleko eta fluxu-kontroleko mekanismoak ditu, eta horiek datuen transmisio-tasa sarearen baldintzen arabera doi dezakete datuen transmisioaren segurtasuna eta egonkortasuna bermatzeko. UDP-k ez du pilaketa-kontroleko eta fluxu-kontroleko mekanismorik, sarea oso pilatuta egon arren, ez du UDP bidalketa-tasan doikuntzarik egingo.
Goiburuko gain-kostuaTCP-k goiburu luzea du, normalean 20 byte-koa, eta aukera-eremuak erabiltzen direnean handitzen da. UDP-k, berriz, 8 byteko goiburu finkoa du, beraz, UDP-k goiburu-gainkarga txikiagoa du.
TCP eta UDP aplikazioen eszenatokiak:
TCP eta UDP bi garraio geruzako protokolo desberdin dira, eta aplikazio eszenatokietan desberdintasun batzuk dituzte.
TCP konexio-orientatutako protokoloa denez, batez ere datuen bidalketa fidagarria behar den egoeretan erabiltzen da. Erabilera kasu ohikoenetako batzuk hauek dira:
FTP fitxategien transferentziaTCP-k fitxategiak transferentzian zehar galtzen eta hondatzen ez direla ziurtatu dezake.
HTTP/HTTPSTCP-k web edukiaren osotasuna eta zuzentasuna bermatzen ditu.
UDP konexiorik gabeko protokoloa denez, ez du fidagarritasun bermerik ematen, baina eraginkortasunaren eta denbora errealeko ezaugarriak ditu. UDP egokia da honako egoera hauetarako:
Pakete gutxiko trafikoa, hala nola DNS (Domeinu Izenen Sistema)DNS kontsultak normalean pakete laburrak dira, eta UDP-k azkarrago bete ditzake.
Multimedia komunikazioa, hala nola bideoa eta audioaDenbora errealeko eskakizun handiak dituzten multimedia transmisioetarako, UDP-k latentzia txikiagoa eman dezake datuak garaiz transmititu ahal izateko.
Irrati-komunikazioaUDP-k bat-askotari eta askori komunikazioa onartzen du eta irrati-difusio mezuak transmititzeko erabil daiteke.
Laburpena
Gaur TCPri buruz ikasi dugu. TCP konexioetan oinarritutako garraio geruzako komunikazio protokolo fidagarria da, byte-jarioetan oinarritua. Datuen transmisio fidagarria eta harrera ordenatua bermatzen du konexioa, esku-ematea eta aitorpena ezarriz. TCP protokoloak portuak erabiltzen ditu prozesuen arteko komunikazioa gauzatzeko, eta komunikazio zerbitzuak eskaintzen ditu ostalari desberdinetan exekutatzen diren aplikazio prozesuentzat. TCP konexioak full-duplex dira, datuen transferentzia bidirekzionalak aldi berean ahalbidetuz. Aldiz, UDP konexiorik gabeko komunikazio protokoloa da, fidagarritasun bermerik ez duena eta denbora errealeko eskakizun handiak dituzten eszenatoki batzuetarako egokia dena. TCP eta UDP desberdinak dira konexio moduan, zerbitzu objektuan, fidagarritasunean, pilaketa kontrolean, fluxu kontrolean eta beste alderdi batzuetan, eta haien aplikazio eszenatokiak ere desberdinak dira.
Argitaratze data: 2024ko abenduak 3