TCP vs. UDP

IP-liikennettä on kahta tyyppiä. He ovat TCP tai Lähetyksen ohjausprotokolla ja UDP tai Käyttäjän datagrammin protokolla. TCP on yhteyden suuntautunut - kun yhteys on muodostettu, tietoja voidaan lähettää kaksisuuntaisena. UDP on yksinkertaisempi, yhteydetön Internet-yhteyskäytäntö. Useita viestejä lähetetään paketteina palasina UDP: n avulla.

Vertailutaulukko

Erot - yhtäläisyydet - TCP vs. UDP-vertailutaulukko
TCPUDP
Lyhenne sanasta Lähetyksen ohjausprotokolla User Datagram Protocol tai Universal Datagram Protocol
yhteys Transmission Control Protocol on yhteyskeskeinen protokolla. User Datagram Protocol on yhteydetön protokolla.
Toimia Viestinä on tietä Internetin välillä tietokoneelta toiselle. Tämä on yhteyspohjainen. UDP on myös protokolla, jota käytetään viestien siirtoon tai siirtoon. Tämä ei ole yhteyspohjaista, mikä tarkoittaa, että yksi ohjelma voi lähettää kuorman paketteja toiselle ja se olisi suhteen loppu.
Käyttö TCP sopii sovelluksiin, jotka vaativat suurta luotettavuutta, ja lähetysaika on suhteellisen vähemmän kriittinen. UDP sopii sovelluksiin, jotka tarvitsevat nopeaa, tehokasta siirtoa, kuten peleihin. UDP: n valtioton luonne on hyödyllinen myös palvelimille, jotka vastaavat pieniin kyselyihin valtavan määrän asiakkaita.
Muiden protokollien käyttö HTTP, HTTPs, FTP, SMTP, Telnet DNS, DHCP, TFTP, SNMP, RIP, VOIP.
Tietopakettien tilaaminen TCP järjestää datapaketit määritetyssä järjestyksessä. UDP: llä ei ole luontaista järjestystä, koska kaikki paketit ovat toisistaan ​​riippumattomia. Jos tilaamista vaaditaan, sitä täytyy hallita sovelluskerros.
Siirtonopeus TCP: n nopeus on UDP: tä hitaampi. UDP on nopeampi, koska virheen palauttamista ei yritetä. Se on "paras työ" -protokolla.
Luotettavuus Ehdottomasti taataan, että siirretyt tiedot pysyvät ehjinä ja saapuvat samassa järjestyksessä kuin ne lähetettiin. Ei ole mitään takeita siitä, että lähetetyt viestit tai paketit saavuttaisivat ollenkaan.
Otsikon koko TCP-otsikon koko on 20 tavua UDP-otsikon koko on 8 tavua.
Yleiset otsikkokentät Lähdeportti, kohdeportti, tarkistussumma Lähdeportti, kohdeportti, tarkistussumma
Tietojen suoratoisto Tietoja luetaan tavuvirtana, signaaliviestien (segmenttien) rajoille ei lähetetä erottavia merkintöjä. Paketit lähetetään erikseen, ja niiden eheys tarkistetaan vain, jos ne saapuvat. Paketeilla on selkeät rajat, joita kunnioitetaan niiden vastaanottamisen yhteydessä, mikä tarkoittaa, että vastaanottopistokkeessa luettu toimenpide tuottaa koko viestin sellaisena kuin se alun perin lähetettiin.
Paino TCP on painava. TCP vaatii kolme pakettia pistorasiayhteyden muodostamiseksi ennen käyttäjän tietojen lähettämistä. TCP käsittelee luotettavuutta ja ruuhkien hallintaa. UDP on kevyt. Viestejä ei tilata, seurantayhteyksiä jne. Se on pieni siirtokerros, joka on suunniteltu IP: n päälle.
Tietovirran hallinta TCP ei suorita virtauksen hallintaa. TCP vaatii kolme pakettia pistorasiayhteyden muodostamiseksi ennen käyttäjän tietojen lähettämistä. TCP käsittelee luotettavuutta ja ruuhkien hallintaa. UDP: llä ei ole vaihtoehtoa virtauksen ohjaukselle
Virhe tarkistettaessa TCP tarkistaa virheet ja palauttaa virheet. Virheelliset paketit lähetetään uudelleen lähteestä kohteeseen. UDP tarkistaa virheet, mutta hylkää virheelliset paketit. Virheen palauttamista ei yritetä.
Fields 1. Sekvenssinumero, 2. AcK-numero, 3. Datapoikkeama, 4. Varattu, 5. Ohjausbitti, 6. Ikkuna, 7. Kiireellinen osoitin 8. Valinnat, 9. Täyttö, 10. Tarkista summa, 11. Lähdeportti, 12. Määräsatama 1. Pituus, 2. Lähdeportti, 3. Kohdeportti, 4. Tarkista summa
tunnustus Kuittaussegmentit Ei kuittausta
Kädenpuristus SYN, SYN-ACK, ACK Ei kädenpuristusta (yhteydetön protokolla)

Sisältö: TCP vs UDP

  • 1 Erot tiedonsiirron ominaisuuksissa
    • 1.1 Luotettavuus
    • 1.2 Tilaaminen
    • 1.3 Liitäntä
    • 1.4 Siirtotapa
    • 1.5 Virheen havaitseminen
  • 2 Kuinka TCP ja UDP toimivat
  • 3 TCP: n ja UDP: n eri sovellukset
    • 3.1 TCP vs. UDP pelipalvelimille
  • 4 Viitteet

Erot tiedonsiirron ominaisuuksissa

TCP varmistaa tavuvirran luotettavan ja tilatun toimituksen käyttäjältä palvelimelle tai päinvastoin. UDP ei ole omistettu päästä päähän -yhteyksiin ja viestintä ei tarkista vastaanottimen valmiutta.

Luotettavuus

TCP on luotettavampi, koska se hallinnoi viestin kuittausta ja uudelleenlähetyksiä kadonneiden osien tapauksessa. Siksi mitään tietoja puuttuu. UDP ei takaa, että viestintä on saavuttanut vastaanottimen, koska kuittauksen, aikakatkaisun ja uudelleenlähetyksen käsitteitä ei ole läsnä.

Tilaaminen

TCP lähetykset lähetetään sarjassa ja ne vastaanotetaan samassa järjestyksessä. Jos tietosegmentit saapuvat väärään järjestykseen, TCP järjestää ja toimittaa sovelluksen. Siinä tapauksessa että UDP, Lähetettyä viestisarjaa ei välttämättä ylläpidetä, kun se saavuttaa vastaanottavan sovelluksen. Ei missään nimessä ole mahdollista ennustaa viestin vastaanottamisjärjestystä.

yhteys

TCP on raskas painoyhteys, joka vaatii kolme pakettia pistokeliitäntään ja käsittelee ruuhkien hallintaa ja luotettavuutta. UDP on kevyt kuljetuskerros, joka on suunniteltu IP: n päälle. Ei seurantayhteyksiä tai viestien tilaamista.

Siirtotapa

TCP lukee dataa tavuvirtana ja viesti lähetetään segmenttirajoille. UDP viestit ovat paketteja, jotka lähetetään erikseen ja saapuessa tarkistetaan niiden eheys. Paketeilla on määritelty rajat, kun taas datavirralla ei ole mitään.

Virheen havaitseminen

UDP toimii "parhaan ponnistuksen" perusteella. Protokolla tukee virheentunnistusta tarkistussumman kautta, mutta kun virhe havaitaan, paketti hylätään. Paketin uudelleenlähettämistä tuosta virheestä ei yritetä. Tämä johtuu siitä, että UDP on yleensä aikaherkkä sovellus, kuten pelaaminen tai äänensiirto. Virheestä toipuminen olisi turhaa, koska siihen mennessä, kun uudelleenlähetetty paketti vastaanotetaan, siitä ei ole mitään hyötyä.

TCP käyttää sekä virheiden havaitsemista että virheiden palauttamista. Virheet havaitaan tarkistussumman avulla ja jos paketti on virheellinen, vastaanottaja ei kuittaa sitä, mikä laukaisee lähettäjän uudelleenlähetyksen. Tätä toimintamekanismia kutsutaan positiiviseksi kuittaukseksi uudelleenlähetyksellä (PAR).

Kuinka TCP ja UDP toimivat

TCP-yhteys muodostetaan kolmitieyhteyden avulla, joka on yhteyden aloittamisen ja kuittaamisen prosessi. Kun yhteys on muodostettu, tiedonsiirto voi alkaa. Lähetyksen jälkeen yhteys lopetetaan sulkemalla kaikki vakiintuneet virtuaalipiirit.

UDP käyttää yksinkertaista lähetysmallia ilman implisiittisiä käden ravistamisdialogeja luotettavuuden, tilausten tai tietojen eheyden takaamiseksi. Siten UDP tarjoaa epäluotettavan palvelun ja datagrammit voivat saapua epäkunnossa, näyttää kopioituina tai kadota ilman erillistä ilmoitusta. UDP olettaa, että virheen tarkistamista ja korjaamista ei joko tarvita tai suoriteta sovelluksessa, välttäen tällaisen käsittelyn ylimääräisiä verkkoliitäntätasolla. Toisin kuin TCP, UDP on yhteensopiva pakettilähetysten (lähettäminen kaikille lähiverkossa) ja monilähetysten (lähettäminen kaikille tilaajille) kanssa.

TCP: n ja UDP: n eri sovellukset

Verkkoselaaminen, sähköpostien ja tiedostojen siirto ovat yleisiä sovelluksia, jotka käyttävät TCP: tä. TCP: tä käytetään segmentin koon, tiedonsiirtonopeuden, virtauksen ohjauksen ja verkon ruuhkan hallintaan. TCP on edullinen, jos virheenkorjaustoimenpiteitä vaaditaan verkkoliitännän tasolla. UDP: tä käyttävät suurelta osin aikaherkät sovellukset sekä palvelimet, jotka vastaavat valtavan määrän asiakkaiden pieniin kyselyihin. UDP on yhteensopiva pakettilähetysten kanssa - lähettäminen kaikille verkossa ja monilähetys - lähettäminen kaikille tilaajille. UDP: tä käytetään yleisesti verkkotunnusten nimijärjestelmässä, Voice over IP: ssä, Trivial File Transfer Protocol -protokollassa ja online-peleissä.

TCP vs. UDP pelipalvelimille

Massiivisesti moninpeli- (MMO) peleissä kehittäjien on usein tehtävä arkkitehtoninen valinta UDP- tai TCP-pysyvien yhteyksien välillä. TCP: n etuina ovat pysyvät yhteydet, luotettavuus ja mielivaltaisten kokoisten pakettien käyttö. Suurin ongelma TCP: llä tässä skenaariossa on sen ruuhkanhallintaalgoritmi, joka käsittelee paketin menetystä merkkinä kaistanleveyden rajoituksista ja kuristaa automaattisesti pakettien lähettämisen. 3G- tai Wi-Fi-verkoissa tämä voi aiheuttaa merkittävän viiveen.

Kokenut kehittäjä Christoffer Lernö punnitsi edut ja haitat ja suosittelee seuraavia kriteerejä valitaksesi, käytetäänkö pelissäsi TCP vai UDP:

  • Käytä HTTP: tä TCP: llä tehdä satunnaisia, asiakkaan käynnistämiä tilauksettomia kyselyjä, kun on satunnaista viivästyä.
  • Käytä pysyviä tavallisia TCP-pistorasioita, jos sekä asiakas että palvelin lähettävät paketteja itsenäisesti, mutta satunnainen viive on OK (esim. Online Poker, monet MMO).
  • Käytä UDP: tä, jos sekä asiakas että palvelin voivat lähettää paketteja itsenäisesti ja satunnainen viive ei ole OK (esim. Useimmat moninpelit, jotkut MMO: t).

Viitteet

  • Wikipedia: Lähetyksen ohjausprotokolla
  • Wikipedia: User Datagram Protocol
  • UDP vs. TCP pelipalvelimille
  • Lähetyksen ohjausprotokolla