TCP vs UDP: Luotettavuuden demystifiointi vs. tehokkuuskeskustelu

Tänään aloitamme keskittymällä TCP: hen. Aikaisemmin kerrostamista koskevassa luvussa mainitsimme tärkeän asian. Verkkokerroksessa ja alla on enemmän isäntäyhteyksien isäntä, mikä tarkoittaa, että tietokoneesi on tiedettävä, missä toinen tietokone on kytkemistä siihen. Verkon viestintä on kuitenkin usein tulkinta viestintää kuin maiden välinen viestintä. Siksi TCP -protokolla esittelee sataman käsitteen. Portti voidaan miehittää vain yksi prosessi, joka tarjoaa suoran viestintää eri isäntien käyttöprosessien välillä.

Kuljetuskerroksen tehtävänä on, kuinka tarjota suoria viestintäpalveluita eri isäntien sovellusprosessien välillä, joten se tunnetaan myös päähän -protokollaksi. Kuljetuskerros piilottaa verkon ydintiedot, jolloin sovellusprosessi näkee ikään kuin kahden kuljetuskerroksen entiteetin välillä olisi looginen päähän -viestintäkanava.

TCP tarkoittaa lähetysohjausprotokollaa ja sitä kutsutaan liitäntäkeskeiseksi protokollaksi. Tämä tarkoittaa, että ennen kuin yksi sovellus voi aloittaa tietojen lähettämisen toiselle, kahden prosessin on tehtävä kädenpuristus. Kädenpuristus on loogisesti kytketty prosessi, joka varmistaa luotettavan lähetyksen ja tietojen järjestäytymisen. Kädenpuristuksen aikana lähde- ja kohde -isäntien välillä muodostetaan yhteys vaihtamalla sarjan ohjauspaketteja ja sopimalla joihinkin parametreihin ja sääntöihin onnistuneen tiedonsiirron varmistamiseksi.

Mikä on TCP? (MyLinkingVerkon napautusjaVerkkopakettivälittäjävoisi käsitellä sekä TCP- että UDP -paketteja)
TCP (lähetysohjausprotokolla) on yhteyslähtöinen, luotettava, tavupohjainen kuljetuskerroksen viestintäprotokolla.

Yhteys-: Yhteyskeskeinen tarkoittaa, että TCP-viestintä on yksi-yksi, toisin sanoen pisteestä päähän -viestintä, toisin kuin UDP, joka voi lähettää viestejä useille isäntille samanaikaisesti, joten yksi-moniin viestintää ei voida saavuttaa.
Luotettava: TCP: n luotettavuus varmistaa, että paketit toimitetaan luotettavasti vastaanottimeen verkkolinkin muutoksista riippumatta, mikä tekee TCP: n protokollapaketin muodon monimutkaisemman kuin UDP: n.
Tavuvirtapohjainen: TCP: n tavuvirtapohjainen luonne mahdollistaa minkä tahansa kokoisten viestien ja takaa viestijärjestyksen: Vaikka edellistä viestiä ei olisi täysin vastaanotettu, ja vaikka seuraavat tavut olisi vastaanotettu, TCP ei toimittaa niitä sovelluskerrokseen käsittelyä varten ja pudottaa automaattisesti kaksoispaketit.
Kun isäntä A ja isäntä B ovat luoneet yhteyden, sovelluksen on vain käytettävä virtuaalista viestintälinjaa tietojen lähettämiseen ja vastaanottamiseen, mikä varmistaa tiedonsiirron. TCP -protokolla on vastuussa tehtävien, kuten yhteyden muodostamisen, katkaisun ja hallussapidon, ohjaamisesta. On huomattava, että tässä sanomme, että virtuaalinen linja tarkoittaa vain yhteyden luomista, TCP -protokollayhteys osoittaa vain, että molemmat osapuolet voivat aloittaa tiedonsiirron ja varmistaa tietojen luotettavuuden. Verkkolaitteet hoitavat reititys- ja kuljetussolmut; Itse TCP -protokolla ei koske näitä yksityiskohtia.

TCP-yhteys on täyden dupleksipalvelu, mikä tarkoittaa, että isäntä A ja isäntä B voivat siirtää tietoja molempiin suuntiin TCP-yhteyteen. Toisin sanoen tiedot voidaan siirtää isäntä A: n ja isäntä B: n välillä kaksisuuntaisessa virtauksessa.

TCP tallentaa väliaikaisesti tiedot yhteyden lähetyspuskuriin. Tämä lähetyspuskuri on yksi kolmisuuntaisen kädenpuristuksen aikana asetetuista välimuistista. Myöhemmin TCP lähettää välimuistin tiedot kohdekohtaisen isännän vastaanottovälimuistiin sopivana ajankohtana. Käytännössä jokaisessa vertaiselta on lähetysvälimuisti ja vastaanottovälimuisti, kuten tässä on esitetty:

TCP-UDP

Lähetyspuskuri on lähettäjän puolella TCP -toteutus ylläpitää muistialue, jota käytetään lähetettävien tietojen väliaikaisesti. Kun kolmisuuntainen kädenpuristus suoritetaan yhteyden luomiseksi, lähetysvälimuisti on asetettu ja käytetään tietojen tallentamiseen. Lähetä puskuri on dynaamisesti säädetty verkon ruuhkien ja vastaanottimen palautteen mukaan.

Vastaanottopuskuri on muistialue, jota TCP -toteutus ylläpitää vastaanottavalla puolella, jota käytetään väliaikaisesti vastaanotettujen tietojen tallentamiseen. TCP tallentaa vastaanotetut tiedot vastaanottovälimuistissa ja odottaa ylemmän sovelluksen lukemista sitä.

Huomaa, että lähetysvälimuistin ja vastaanottovälimuistin koko on rajallinen, kun välimuisti on täynnä, TCP voi ottaa käyttöön joitain strategioita, kuten ruuhkien hallintaa, virtauksenhallintaa jne., Jotta luotettavan tiedonsiirron ja verkon vakauden varmistamiseksi.

Tietokoneverkoissa tiedonsiirto isäntien välillä suoritetaan segmenttien avulla. Joten mikä on pakettisegmentti?

TCP luo TCP -segmentin tai pakettisegmentin jakamalla saapuvan virran paloiksi ja lisäämällä TCP -otsikot jokaiseen palaan. Jokainen segmentti voidaan lähettää vain rajoitetun ajan, eikä se voi ylittää maksimisegmentin kokoa (MSS). Matkalla alaspäin pakettisegmentti kulkee linkkikerroksen läpi. Linkkikerroksessa on maksimaalinen lähetysyksikkö (MTU), joka on maksimaalinen paketin koko, joka voi kulkea datalinkkikerroksen läpi. Suurin lähetysyksikkö liittyy yleensä viestintärajapintaan.

Joten mitä eroa MSS: n ja MTU: n välillä on?

Tietokoneverkoissa hierarkkinen arkkitehtuuri on erittäin tärkeä, koska siinä otetaan huomioon erot eri tasojen välillä. Jokaisella kerroksella on erilainen nimi; Kuljetuskerroksessa tietoja kutsutaan segmentiksi, ja verkkokerroksessa tietoja kutsutaan IP -pakettiin. Siksi enimmäisvaihtoyksikköä (MTU) voidaan pitää suurimman IP -paketin kokoa, jonka verkkokerros voidaan lähettää, kun taas suurin segmentin koko (MSS) on kuljetuskerroskonsepti, joka viittaa enimmäismäärään tietomäärää, jonka TCP -paketti voi lähettää kerrallaan.

Huomaa, että kun maksimisegmentin koko (MSS) on suurempi kuin maksimaalinen lähetysyksikkö (MTU), IP -pirstoutuminen suoritetaan verkkokerroksessa ja TCP ei jaa suurempia tietoja MTU -koon mukaisiin segmentteihin. IP -kerrokselle on omistettu verkkokerroksen osa.

TCP -paketti -segmentirakenne
Tutkitaan TCP -otsikkojen muotoa ja sisältöä.

TCP -segmentti

Sekvenssinumero: Tietokoneen tuottama satunnaisluku, kun yhteys muodostetaan sen alkuperäiseksi arvoksi, kun TCP -yhteys muodostetaan, ja sekvenssinumero lähetetään vastaanottimelle SYN -paketin kautta. Tiedonsiirron aikana lähettäjä lisää sekvenssinumeroa lähetetyn tiedon määrän mukaan. Vastaanotin arvioi tietojen määräyksen vastaanotetun sekvenssinumeron mukaisesti. Jos tiedot löydetään tilauksesta, vastaanotin järjestää tiedot uudelleen tietojen järjestyksen varmistamiseksi.

Kuittausnumero: Tämä on TCP: ssä käytetty sekvenssinumero tietojen vastaanottamisen kuittaamiseen. Se osoittaa seuraavan tiedon sekvenssinumeron, jonka lähettäjä odottaa saavansa. TCP -yhteydessä vastaanotin määrittää, mitkä tiedot on onnistuneesti vastaanotettu vastaanotetun datapaketti -segmentin sekvenssinumeron perusteella. Kun vastaanottaja vastaanottaa tiedot onnistuneesti, se lähettää ACK -paketin lähettäjälle, joka sisältää kuittauksen kuittauksen numeron. Saatuaan ACK -paketin lähettäjä voi vahvistaa, että tietojen tunnustaminen on saatu onnistuneesti vastaanotettu.

TCP -segmentin ohjausbittiä sisältävät seuraavat:

ACK -bitti: Kun tämä bitti on 1, se tarkoittaa, että kuittausvastauskenttä on kelvollinen. TCP määrittelee, että tämä bitti on asetettava arvoon 1 paitsi SYN -paketit, kun yhteys alun perin muodostetaan.
Ensimmäistä bittiä: Kun tämä bitti on 1, se osoittaa, että TCP -yhteydessä on poikkeus ja yhteys on pakotettava irrotettavaksi.
Synti: Kun tämä bitti on asetettu arvoon 1, se tarkoittaa, että yhteys on muodostettava ja sekvenssinumeron alkuarvo on asetettu sekvenssinumerokenttään.
Fin -bitti: Kun tämä bitti on 1, se tarkoittaa, että tulevaisuudessa ei lähetetä enää tietoja ja yhteys halutaan.
TCP: n erilaiset toiminnot ja ominaisuudet ilmentävät TCP -pakettisegmenttien rakennetta.

Mikä on UDP? (MyLinkingVerkon napautusjaVerkkopakettivälittäjävoisi käsitellä sekä TCP- että UDP -paketteja)
Käyttäjän Datagramp -protokolla (UDP) on yhteydenottoton viestintäprotokolla. TCP: hen verrattuna UDP ei tarjoa monimutkaisia ​​ohjausmekanismeja. UDP -protokollan avulla sovellukset voivat suoraan lähettää kapseloituja IP -paketteja muodostamatta yhteyttä. Kun kehittäjä päättää käyttää UDP: tä TCP: n sijasta, sovellus kommunikoi suoraan IP: n kanssa.

UDP -protokollan koko nimi on käyttäjän datagrammiprotokolla, ja sen otsikko on vain kahdeksan tavua (64 bittiä), mikä on erittäin tiivistä. UDP -otsikon muoto on seuraava:

UDP -segmentti

Kohde- ja lähdeportit: Niiden päätarkoitus on osoittaa, mihin prosessin UDP: n tulisi lähettää paketteja.
Paketin koko: Packet -koon kenttä pitää UDP -otsikon koon plus datan koon
Tarkistussumma: Suunniteltu varmistamaan UDP -otsikoiden luotettava toimitus ja tiedot. Tarkistussumman tehtävänä on havaita, onko virhe tai korruptio tapahtunut UDP -paketin siirron aikana tietojen eheyden varmistamiseksi.

Erot TCP: n ja UDP: n välillä MyLinkingissäVerkon napautusjaVerkkopakettivälittäjävoisi käsitellä sekä TCP- että UDP -paketteja
TCP ja UDP ovat erilaisia ​​seuraavissa näkökohdissa:

TCP vs UDP

Yhteys: TCP on yhteyskeskeinen kuljetusprotokolla, joka vaatii yhteyden luomisen ennen tietojen siirtämistä. Toisaalta UDP ei vaadi yhteyttä ja voi siirtää tietoja välittömästi.

Huoltoobjekti: TCP on yksi-yksi kahden pisteen palvelu, ts. Yhteydessä on vain kaksi päätepistettä kommunikoidakseen keskenään. UDP tukee kuitenkin yksi-yksi-moniin ja moniin moniin interaktiiviseen viestintään, joka voi kommunikoida useiden isäntien kanssa samanaikaisesti.

Luotettavuus: TCP tarjoaa tiedon toimittamisen palvelun luotettavasti varmistaen, että tiedot ovat virheettömiä, häviömäisiä, ei-dulication ja saapuu kysyntään. UDP puolestaan ​​tekee parhaansa eikä takaa luotettavaa toimitusta. UDP voi kärsiä tietojen menetyksestä ja muista tilanteista siirron aikana.

Ruuhkien hallinta, virtauksen hallinta: TCP: llä on ruuhkien hallinta- ja virtauksenhallintamekanismit, jotka voivat säätää tiedonsiirtoastetta verkkoolosuhteiden mukaan tiedonsiirron turvallisuuden ja vakauden varmistamiseksi. UDP: llä ei ole ruuhkien hallinta- ja virtauksenhallintamekanismeja, vaikka verkko olisi erittäin ruuhkainen, se ei tee muutoksia UDP: n lähetysnopeuteen.

Otsikko: TCP: llä on pitkä otsikon pituus, tyypillisesti 20 tavua, mikä kasvaa, kun optiokenttiä käytetään. Toisaalta UDP: llä on kiinteä otsikko, joka on vain 8 tavua, joten UDP: llä on alempi otsikko.

TCP vs UDP

TCP- ja UDP -sovellusskenaariot:
TCP ja UDP ovat kaksi erilaista kuljetuskerrosprotokollaa, ja niillä on joitain eroja sovellusskenaarioissa.

Koska TCP on yhteyskeskeinen protokolla, sitä käytetään ensisijaisesti skenaarioissa, joissa vaaditaan luotettavaa tiedonsiirtoa. Joitakin yleisiä käyttötapauksia ovat:

FTP -tiedostonsiirto: TCP voi varmistaa, että tiedostot eivät menettä ja vioittua siirron aikana.
Http/https: TCP varmistaa verkkosisällön eheyden ja oikeellisuuden.
Koska UDP on yhteydetön protokolla, se ei tarjoa luotettavuustakuuta, mutta sillä on tehokkuuden ja reaaliaikaisen ominaisuudet. UDP sopii seuraaviin skenaarioihin:

Matalapakkausliikenne, kuten DNS (verkkotunnuksen nimijärjestelmä): DNS -kyselyt ovat yleensä lyhyitä paketteja, ja UDP voi suorittaa ne nopeammin.
Multimediaviestintä, kuten video ja ääni: Multimedialähetys, jolla on korkeat reaaliaikaiset vaatimukset, UDP voi tarjota alhaisemman viiveen varmistaakseen, että tiedot voidaan lähettää ajoissa.
Lähetysviestintä: UDP tukee yksi-moniin ja moniin moniin viestintään, ja sitä voidaan käyttää lähetysviestien välittämiseen.

Yhteenveto
Tänään opimme TCP: stä. TCP on yhteyskeskeinen, luotettava, tavupohjainen kuljetuskerroksen viestintäprotokolla. Se varmistaa tietojen luotettavan siirron ja asianmukaisen vastaanoton muodostamalla yhteyden, kädenpuristuksen ja kuittauksen. TCP -protokolla käyttää portteja prosessien välisen viestinnän toteuttamiseen ja tarjoaa suoria viestintäpalveluita sovellusprosesseihin, jotka toimivat eri isännissä. TCP-yhteydet ovat täysiduplekseja, mikä mahdollistaa samanaikaiset kaksisuuntaiset tiedonsiirrot. Sitä vastoin UDP on yhteydetön suuntautunut viestintäprotokolla, joka ei tarjoa luotettavuustakuita ja sopii joillekin skenaarioille, joilla on korkeat reaaliaikaiset vaatimukset. TCP ja UDP ovat erilaisia ​​yhteystilassa, palveluobjektissa, luotettavuudessa, ruuhkien hallinnassa, virtauksenhallinnassa ja muissa näkökohdissa, ja niiden sovellusskenaariot ovat myös erilaisia.


Viestin aika: DEC-03-2024