Mikä ero TCP n ja UDP n välillä?
Olet luultavasti nähnyt viittauksia TCP: hen ja UDP: hen, kun määrität porttisiirron reitittimessä tai määritettäessä palomuuriohjelmistoa. Näitä kahta protokollaa käytetään eri tyyppisiin tietoihin.
TCP / IP on joukko protokollia, joita laitteet käyttävät viestimään Internetin ja useimpien paikallisten verkkojen välityksellä. Se on nimetty kahdesta alkuperäisestä protokollasta - TCP (Transmission Control Protocol) ja Internet-protokolla (IP). TCP tarjoaa sovelluksille tavan toimittaa (ja vastaanottaa) tilattua ja virheellisesti tarkistettua tietopakettivirtaa verkossa. Käyttäjän datagrammin protokollaa (UDP) käyttävät sovellukset toimittamaan nopeamman tiedonsiirron poistamalla virheiden tarkistamisen. Kun määrität jotakin verkkolaitteistoa tai ohjelmistoa, sinun on ehkä tiedettävä ero.
Mitä heillä on yhteisiä
Sekä TCP että UDP ovat protokollia, joita käytetään lähettämään bittejä, jotka tunnetaan paketteina Internetin välityksellä. Molemmat protokollat rakentuvat IP-protokollan päälle. Toisin sanoen, lähetätkö paketin TCP: n tai UDP: n kautta, kyseinen paketti lähetetään IP-osoitteeseen. Näitä paketteja käsitellään samalla tavalla, koska ne välitetään tietokoneelta välittäjäreitittimille ja kohteeseen.
TCP ja UDP eivät ole ainoat protokollat, jotka toimivat IP: n päällä. Ne ovat kuitenkin yleisimmin käytettyjä.
Miten TCP toimii
TCP on yleisimmin käytetty Internet-protokolla.
Kun pyydät verkkosivua selaimessasi, tietokone lähettää TCP-paketteja web-palvelimen osoitteeseen ja pyytää sitä lähettämään Web-sivun takaisin sinulle. Verkkopalvelin vastaa lähettämällä TCP-pakettivirran, jonka Web-selaimesi ompelee yhdessä muodostaakseen web-sivun. Kun napsautat linkkiä, kirjaudu sisään, lähetä kommentti tai tee jotain muuta, selaimesi lähettää TCP-paketteja palvelimelle ja palvelin lähettää TCP-paketteja takaisin.
TCP on kyse luotettavuuspaketeista, jotka lähetetään TCP: n avulla, joten tietoja ei menetetä tai vioittuisi kuljetuksen aikana. Siksi tiedostojen lataaminen ei vioittuisi, vaikka verkko hikkaakin. Tietenkin, jos vastaanottaja on täysin offline-tilassa, tietokone luopuu ja näet virheilmoituksen, jossa kerrotaan, että se ei voi olla yhteydessä etäkoneeseen.
TCP saavuttaa tämän kahdella tavalla. Ensinnäkin se tilaa paketteja numeroimalla ne. Toiseksi se tarkistaa virheen, kun vastaanottaja lähettää vastauksen takaisin lähettäjälle sanomalla, että se on vastaanottanut viestin. Jos lähettäjä ei saa oikeaa vastausta, se voi lähettää paketit uudelleen sen varmistamiseksi, että vastaanottaja vastaanottaa ne oikein.
Prosessinhallintaohjelma ja muut järjestelmän apuohjelmat voivat näyttää yhteyksien tyypin, jonka prosessi tekee täällä. Näemme Chrome-selaimen, jossa on avoimet TCP-yhteydet useisiin Web-palvelimiin.
Miten UDP toimii
UDP-protokolla toimii samalla tavalla kuin TCP, mutta se heittää kaikki virheetarkistukset. Kaikki edestakaiset viestinnät esittävät latenssin, hidastavat asioita.
Kun sovellus käyttää UDP: tä, paketit lähetetään juuri vastaanottajalle. Lähettäjä ei odota varmistavansa, että vastaanottaja sai paketin, vaan se vain jatkaa seuraavien pakettien lähettämistä. Jos vastaanottaja menettää muutaman UDP-paketin täällä ja siellä, ne ovat juuri kadonneet - lähettäjä ei lähetä niitä uudelleen. Kaikkien tämän yleiskustannusten menettäminen tarkoittaa, että laitteet voivat kommunikoida nopeammin.
UDP: tä käytetään, kun nopeus on toivottava ja virheenkorjaus ei ole tarpeen. Esimerkiksi UDP: tä käytetään usein live-lähetyksiin ja online-peleihin.
Oletetaan esimerkiksi, että katsot suoraa videovirtaa, jota lähetetään usein UDP: n avulla TCP: n sijasta. Palvelin lähettää vain jatkuvan UDP-pakettivirran tietokoneisiin, jotka katsovat. Jos menetät yhteyden muutaman sekunnin ajan, video voi jäätyä tai hyppää hetkeksi ja siirtyä sitten lähetyksen bitiin. Jos koet pieniä pakettihäviöitä, video tai ääni saattaa vääristyä hetkeksi, kun videota toistetaan ilman puuttuvia tietoja.
Tämä toimii samoin online-peleissä. Jos unohdat joitakin UDP-paketteja, soittimen merkit saattavat asentaa karttapaikalle, kun vastaanotat uudemmat UDP-paketit. Ei ole mitään järkeä pyytää vanhoja paketteja, jos menetit niitä, koska peli jatkuu ilman sinua. Kaikki tämä merkitsee sitä, mitä pelipalvelimessa tapahtuu juuri nyt - ei se, mitä muutama sekunti sitten tapahtui. TCP: n virheenkorjauksen nopeuttaminen nopeuttaa pelin yhteyttä ja vähentää viiveitä.
Mitä sitten?
Onko sovellus käyttää TCP: tä tai UDP: tä sen kehittäjältä, ja valinta riippuu sovelluksen tarpeista. Useimmat sovellukset tarvitsevat TCP: n virheenkorjauksen ja lujuuden, mutta joissakin sovelluksissa tarvitaan UDP: n nopeutta ja pienempiä yleiskustannuksia. Jos käytät Wiresharkin kaltaista verkkoanalyysityökalua, näet eri tyyppiset paketit, jotka kulkevat edestakaisin.
Jos et ole verkonvalvoja tai ohjelmistokehittäjä, tämä ei saisi vaikuttaa sinua liikaa. Jos määrität reitittimen tai palomuuriohjelmiston ja et ole varma, käyttääkö sovellus TCP: tä tai UDP: tä, voit yleensä valita molemmat vaihtoehdon, jotta reititin tai palomuuri soveltaa samaa sääntöä sekä TCP- että UDP-liikenteeseen.