TCP/IP

Historia

TCP/IP toteuttaa Internet-arkkitehtuurin ja juontaa juurensa ARPANETin referenssimalliin (engl. ARPANET Reference Model, ARM). Muita kehitettyjä protokolla-arkkitehtuureja ovat muun muassa Xeroxin XNS sekä IBM:n SNA. TCP/IP protokollaperhe noudattaa ARPANETin mallia, jossa on viisi kerrosta toisinkuin OSI-mallin seitsemän, ja osa toiminnoista on epävirallisessa kerroksessa 2.5 kuten ARP-protokolla.
Xerox halusi pitää XNS:n suljettuna ja tiukasti omassa hallussaan. Samaan aikaan TCP/IP oli vasta varhaisessa vaiheessa.
Louis Pouzin kehitti Ranskassa CYCLADES-tietokoneverkkoa, joka vaikutti myös TCP/IP:n kehitykseen.Vint Cerf työskenteli DARPAssa TCP/IP:n toteutuksen kanssa ja Bill Joy sai tehtäväkseen integroida TCP/IP:n Unixiin, mutta kirjoitti toteutuksen uudelleen vuonna 1982 pelkän integroimisen sijaan. Seurauksena toteutuksen lähdekoodit olivat saatavilla käyttöjärjestelmän mukana, joka oli saatavilla myös VAX-alustalle ja Ethernet-verkkoon.
ARPANET siirtyi käyttämään TCP/IP:tä 1. tammikuuta 1983. Berkeley Unixin myötä TCP/IP levisi myös CERNiin.
OSI-protokollapinon oli tarkoitus korvata TCP/IP 1980-luvulla, mutta TCP/IP oli jo kasvavassa käytössä.
Varhaiset versiot TCP/IP protokollapinosta on kuvattu Internet Experiment Note (IEN) dokumenteissa, joista IEN 2 kuvailee TCP:n ja IP:n erillisinä protokollina eikä yhdistettynä kuten aiemmin. IEN 2:ssa TCP-protokollan tehtävät jaetaan kahtia ja esitellään IP-protokollan versio 0. TCP:n vastuulle jää "päästä-päähän" tapahtuva kommunikaatio ja IP:n vastuulle reititettävä "hyppy-hypyltä" kommunikaatio, jotka aiemmin olivat molemmat TCP:n tehtäviä.

Kerrokset

Eri kerroksien protokollatiedot (engl. protocol data unit, PDU) kapseloidaan toisessa kerroksessa. Kerroksittaisella kapseloinnilla saadaan protokollien multipleksaus ja useat eri protokollat voivat elää yhdessä samassa infrastruktuurissa. Kapselointi mahdollistaa useita yhtäaikaisia instansseja (kuten yhteydet, connections) ilman häiriöitä toisiinsa. Kapselointi käsittelee toisen kerroksen dataa läpinäkymättömästi tulkitsematta sitä.

Standardit

TCP/IP-protokollaperheestä vastaa IETF-standardointiorganisaatio. Sovellus-, kuljetus- ja verkkokerroksen protokollat määritellään sen hyväksymissä RFC-sarjan dokumenteissa. Fyysisen peruskerroksen protokollat eivät kuulu TCP/IP-protokollaperheeseen vaan ne ovat usein IEEE-, IEC- tai ITU-standardointiorganisaatioiden määrittelemiä. Internetissä käytettävän sisällön esitys on eri tahojen määrittelemää, esimerkiksi W3C-standardointiorganisaatio on määritellyt HTML- ja XML-esitystavat.

Muut kuljetus- ja verkkokerroksen protokollat

SCTP ja RTP ovat uudemmat vaihtoehdot TCP:lle ja UDP:lle puhelinverkkosovellusten tyyppiseen luotettavampaan käyttöön. Niitä kuitenkin käytetään vielä vähän.
ICMP (Internet Control Message Protocol) on internet-protokollan valvontaprotokolla, jolla laitteet kommunikoivat keskenään IP-pakettien perille toimittamiseen liittyviä kiireisiä viestejä.
Lähiverkkoratkaisuilla on protokollat, joilla IP-osoitteen perusteella löydetään vastaava lähiverkon osoite. Tavallisin tällainen protokolla on Ethernet-verkkojen MAC-osoitteiden etsimiseen tarkoitettu protokolla ARP (Address Resolution Protocol).
DHCP (Dynamic Host Configuration Protocol) protokollalla tietokone, joka ei tiedä omaa IP-osoitettaan, voi kysyä sitä verkosta. Tämä on välttämätöntä esimerkiksi kannettavissa tietokoneissa, joiden on saatava kulloiseenkin sijaintipaikkaansa soveltuva IP-osoite.
DNS (Domain Name Service) on palvelu, jolla Internetin domain-nimet, kuten www.firma.fi, muunnetaan IP-osoitteeksi.
Internetin reitittimet vaihtavat keskenään reititystietoa, jonka avulla voidaan löytää optimaalinen reitti kahden solmun tai verkon välillä. Reititysprotokollia ovat esimerkiksi OSPF, BGP ja RIP.