TCP/IP-viitemalli

TCP/IP-viitemalli on Internetin arkkitehtuurin kuvaamisessa käytetty tietoliikenneverkkojen viitemalli. Nimensä se on saanut kahden pääprotokollan, TCP:n ja IP:n mukaan. Toisin kuin OSI-viitemallissa, TCP/IP protokollat kehitettiin ensin ja malli vasta niiden jälkeen. TCP/IP-malli ei sovellukaan kovin hyvin muiden protokollapinojen kuin TCP/IP:n mallintamiseen. Mallia kutsutaan myös "tiimalasimalliksi", koska tiimalasin pohjan muodostaa suuri määrä fyysiseen mediaan sidottuja peruskerroksen protokollia, vyötärön muodostaa IP, sen yllä on UDP ja TCP ja näiden yllä on suuri määrä sovellusprotokollia.

TCP/IP-malli OSI-malli
Sovelluskerros Sovelluskerros
Esitystapakerros
Istuntokerros
Kuljetuskerros Kuljetuskerros
Verkkokerros Verkkokerros
Peruskerros Siirtoyhteyskerros
Fyysinen kerros

TCP/IP-viitemalli koostuu neljästä portaasta, joista kolmella on suorat vastineet OSI-viitemallissa.

Sovelluskerros (Application Layer)

TCP/IP-mallissa ei määrittele sovelluskerroksen rakennetta tarkemmin. Sovellus toteuttaa viestintänsä tällä kerroksella käyttäen yhtä tai useampaa protokollaa, jossa on sovelluksen tarvitsemat ominaisuudet (yhdistäen OSI-mallin sovellus-, esitystapa- ja istuntokerrosten ominaisuuksia). Sovelluskerrokseen kuuluvat korkeamman tason protokollat, kuten telnet, FTP, SMTP, DNS, NNTP, NTP ja HTTP.

TCP/IP-malli painottaa tehtävien siirtämistä sovellukselle. Erillistä istunto- tai esitystapakerrosta ei ole, vaan sovellus pitää huolen istuntojen muodostamisesta ja purkamisesta samoin kuin tarvittavista tiedon esitystavan muunnoksista.

Kuljetuskerros (Transport Layer)

Kuljetuskerroksen tarkoitus on mahdollistaa tietojenvälitys lähde- ja kohdekoneiden välillä. TCP/IP-mallin kuljetuskerros on sama kuin OSI-mallin kuljetuskerros. TCP/IP-mallissa tällä kerroksella ovat yleisimmässä käytössä TCP ja UDP. TCP tarjoaa luotettavan tavuvuon sovellusten välille, korjaten tiedonsiirtovirheet ja toimittaen tietoliikenteen perille samassa järjestyksessä kuin data on lähetetty. Lisäksi TCP toteuttaa ruuhkanhallinnan (congestion control). UDP välittää yksittäisiä viestejä sovellusten välillä ilman virheenkorjausta ja perillemenon varmistusta. UDP:tä käyttävät sovellukset joutuvat toteuttamaan itse luotettavuuden ja ruuhkanhallinnan, mutta hyötyvät tiedonsiirron nopeudesta ja uudelleenlähetyksien aiheuttaman viiveen poistumisesta.

Verkkokerros (Internet Layer)

Internet-protokolla (IP) välittää tietoliikennepaketteja verkon tietokoneiden välillä parhaansa mukaan. IP ei takaa yksittäisen paketin perillepääsyä; paketit saattavat kadota, vaihtaa järjestystä tai kopioitua matkalla. Näiden tapahtumien käsitteleminen on ylempien kerrosten tehtävä. Etenkin on huomattava että tungos verkossa on täysin luvallinen syy verkolle tuhota tietoliikennepaketteja IP-tasolla.

Internet-teknologiaa käytettäessä verkossa on verkon osia yhdistäviä reitittimiä, joilla on tietoa verkon topologiasta, ja jotka ottavat eri segmenteistä IP-paketteja vastaan ja ohjaavat ne eteenpäin. Reititys ja uudelleenlähetys ovat verkkokerroksen määrittävä tekijä. Verkkokerros ei ole tietoinen ylempien kerroksien tapahtumista ja mallin puitteissa jokainen IP-paketti käsitellään erillisenä tapahtumana eikä verkkokerros ole tietoinen sovelluksia yhdistävästä TCP-yhteydestä. TCP/IP-mallin verkkokerros vastaa varsin hyvin OSI-mallin verkkokerrosta.

Peruskerros (Link Layer)

TCP/IP-malli ei määritä tarkkaan mitä tapahtuu verkkokerroksen alapuolella. Se olettaa että IP:n alla on jokin protokolla, joka pystyy välittämään IP-paketteja tietokoneen muistista toiselle tietokoneelle. IP-protokolla ei ota mitenkään kantaa fyysiseen mediaan tai pakettien kehystykseen, vaan olettaa saavansa käyttöön alemman kerroksen palveluita jonkin rajapinnan kautta, niin että se voi lähettää paketteja reitittimille (yhdyskäytäville). Tyypillisiä peruskerroksia ovat lähiverkkojen Ethernet, matkapuhelimien GPRS ja 3G ja digitaalisten tilaajaliittymien ADSL fyysiseen kerrokseen ja ATM, PPP, Ethernet tms. linkkikerrokseen perustuvat tekniikat. Peruskerros saattaa myös olla toinen TCP/IP-protokollapino, IP IP:n päällä muutaman lisäprotokollan kera ei ole mitenkään harvinainen ratkaisu.

TCP/IP- ja OSI-mallit

TCP/IP-mallilla on paljon yhteistä OSI-mallin kanssa. Molempien voidaan katsoa koostuvan kerroksista ja osa näistä kerroksistakin on samanlaisia, mutta selkeitä erojakin on. OSI-mallissa palvelut, rajapinnat ja protokollat on pidetty erillään. TCP/IP-malli ei tee näille selkeitä eroja, joskin eroja on jälkeenpäin istutettu malliin. OSI on kerrosmalli jossa alemmat kerrokset on piilotettu ylemmiltä, kun taas TCP/IP muodostaa hierarkian, jossa sekä verkkokerros että kuljetuskerros ovat näkyvissä sovelluksille. OSI-mallissa voidaan periaattessa vaihtaa eri kerroksilla käytettäviä protokollia.

TCP/IP-arkkitehtuuri lähtee siitä, että on yksi kaikille yhteinen protokolla, IP. Keskellä oleva IP eristää peruskerroksen ylemmän portaan protokollista, samoin kuin ylemmän kerroksen protokolla peruskerroksesta. IP-paketteja voidaan lähettää minkä tahansa peruskerroksen protokollan päällä, ja kaikki muut palvelut, sovellukset ja protokollat käyttävät IP:tä. Kaikki verkon solmut voivat viestiä toistensa kanssa käyttäen IP:tä.

Tämä tiimalasimalli on ollut erittäin menestyksekäs rakennettaessa laajoja verkkoja. Periaate on viety vieläkin pidemmälle IPv6:ta suunniteltaessa.