TCP/IP
TCP/IP-pino | |
---|---|
sovelluskerros |
BGP · DHCP · DNS · ESMTP · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP3 · RPC · RTP · RTSP · SIP · SMTP · SNMP · SOCKS · SSH · Telnet · TLS/SSL · XMPP · (..lisää..) |
kuljetuskerros |
TCP · UDP · QUIC · DCCP · SCTP · RSVP · RIP · ECN |
verkkokerros |
IP (IPv4 ja IPv6) · ICMP (ICMPv6) · IGMP · IPsec |
siirtoyhteyskerros | ARP · IS-IS · NDP · OSPF · L2TP · PPP |
fyysinen kerros |
TCP/IP (Transmission Control Protocol / Internet Protocol) on usean Internet-liikennöinnissä käytettävän tietoliikenneprotokollan yhdistelmä eli pino. IP-protokolla on alemman tason protokolla, joka vastaa päätelaitteiden osoitteistamisesta ja verkkopakettien reitittämisestä verkossa. Sen päällä voidaan ajaa useita muita verkko- tai kuljetuskerroksen protokollia, joista TCP-protokolla on yleisin. Se vastaa kahden päätelaitteen välisestä tiedonsiirtoyhteydestä, pakettien järjestämisestä ja hukkuneiden pakettien uudelleenlähetyksestä.
Vaikka TCP/IP-protokollaperheeseen kuuluu monia muitakin protokollia, pääosa liikennöinnistä tapahtuu TCP-yhteyksinä IP-protokollan päällä. Tämän takia protokollaperhe yleensä tunnetaan nimellä TCP/IP.
Historia
[muokkaa | muokkaa wikitekstiä]TCP/IP toteuttaa Internet-arkkitehtuurin ja juontaa juurensa ARPANETin referenssimalliin (engl. ARPANET Reference Model, ARM).[1] Muita kehitettyjä protokolla-arkkitehtuureja ovat muun muassa Xeroxin XNS sekä IBM:n SNA.[1] TCP/IP protokollaperhe noudattaa ARPANETin mallia, jossa on viisi kerrosta toisin kuin OSI-mallin seitsemän, ja osa toiminnoista on epävirallisessa kerroksessa 2.5 kuten ARP-protokolla.[1]
Xerox halusi pitää XNS:n suljettuna ja tiukasti omassa hallussaan.[2] Samaan aikaan TCP/IP oli vasta varhaisessa vaiheessa.[2]
Louis Pouzin kehitti Ranskassa CYCLADES-tietokoneverkkoa, joka vaikutti myös TCP/IP:n kehitykseen.[3][4] ARPANETin käyttämän NCP-protokollan ja CYCLADESin käyttämän STST-protokollan epäyhteensopivuuksien tutkimuksen myötä Gérard Le Lann kutsuttiin Stanfordiin Vint Cerfin ryhmään, jossa hän osallistui "liukuvan ikkunan" menetelmän kehitykseen TCP/IP:tä varten.[5] 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.[2] Seurauksena toteutuksen lähdekoodit olivat saatavilla käyttöjärjestelmän mukana, joka oli saatavilla myös VAX-alustalle ja Ethernet-verkkoon.[2] ARPANET siirtyi käyttämään TCP/IP:tä 1. tammikuuta 1983.[2] Berkeley Unixin myötä TCP/IP levisi myös CERNiin.[6]
OSI-protokollapinon oli tarkoitus korvata TCP/IP 1980-luvulla, mutta TCP/IP oli jo kasvavassa käytössä.[7][8][9]
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.[10] IEN 2:ssa TCP-protokollan tehtävät jaetaan kahtia ja esitellään IP-protokollan versio 0.[10] 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ä.[10]
Kerrokset
[muokkaa | muokkaa wikitekstiä]Eri kerroksien protokollatiedot (engl. protocol data unit, PDU) kapseloidaan toisessa kerroksessa.[1] Kerroksittaisella kapseloinnilla mahdollistetaan protokollien multipleksaus ja usean eri protokollan eläminen yhdessä samassa infrastruktuurissa.[1] Kapselointi mahdollistaa useita yhtäaikaisia instansseja (kuten yhteydet, connections) ilman häiriöitä toisiinsa.[1] Kapselointi käsittelee toisen kerroksen dataa läpinäkymättömästi tulkitsematta sitä.[1]
Standardit
[muokkaa | muokkaa wikitekstiä]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.
IP-protokolla
[muokkaa | muokkaa wikitekstiä]- Pääartikkeli: IP
Verkkokerroksen IP-protokolla on TCP/IP-protokollan ydin. Verkossa tietoa välittävät reitittimet välittävät ainoastaan IP-paketteja, mikä perustuu IP-pakettien otsikkokenttien tietoihin. Kaikki ylemmän tason protokollat, kuten TCP, ovat sisällytetty, kapseloitu, IP-paketin data-osioon. Näin ollen IP-tasolla toimiva verkko ei ole tietoinen ylemmän tason protokollista ja yhteyksistä.
HTTP | FTP | SNMP | DNS | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ICMP | TCP | UDP | |||||||||||||||||
Internet-protokolla | |||||||||||||||||||
Ethernet | Token Ring |
ATM | UMTS |
IP-protokollaa voidaan ajaa lähes minkä tahansa verkon päällä, joten sillä on helppo yhdistää erilaisia verkkoja isommiksi kokonaisuuksiksi. Internet on vain yksi mutta merkittävin tällä tavalla rakentunut verkko. Internet-protokollassa internetillä tarkoitetaan verkkojen välistä verkkoa.
Lähes mitä tahansa sovellusta voidaan ajaa internet-protokollan päällä. Yksinkertainen internet-protokolla, jonka päälle on helppo rakentaa kaikenlaista, voi toimia pohjana lähes minkälaiselle sovellukselle tahansa.
Internet-protokollan suunnitteluperiaatteena on ollut IP over everything, everything over IP.
TCP-protokolla
[muokkaa | muokkaa wikitekstiä]- Pääartikkeli: TCP
Kuten TCP/IP-protokollaperheen nimestä voi päätellä, toinen tärkeä perheen protokolla on TCP-protokolla, joka luo yhteydet tietokoneiden sovellusten välille käyttäen IP-paketteja. Se huolehtii vianhallinnasta, luotettavuudesta, kuittauksista ja pakettien laittamisesta oikeaan järjestykseen.
UDP-protokolla
[muokkaa | muokkaa wikitekstiä]- Pääartikkeli: UDP
UDP (User Datagram Protocol) on sovelluksille tarjottava tietosähke. UDP:ssä on TCP:n kaltainen porttimekanismi ja se sijaitsee samassa kuljetuskerroksessa kuin TCP.
UDP ei takaa viestin perille välittämistä vaan tämä jää käyttäjäsovelluksen oman päätännän ja käsittelyn haltuun. UDP-paketteja käytetään kun tietomäärä on suuri, mutta jokaisen viestin perille saapumista ei tarvita. UDP:n käyttöön toisinaan viitataan myös UDP/IP-parina.
Muut kuljetus- ja verkkokerroksen protokollat
[muokkaa | muokkaa wikitekstiä]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.
Katso myös
[muokkaa | muokkaa wikitekstiä]- TCP/IP-viitemalli
- OSI-malli
- RFC 1122 – Requirements for Internet Hosts – Communication Layers
- RFC 1123 – Requirements for Internet Hosts – Application and Support
- RINA
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ a b c d e f g Fall, Kevin R. & Stevens, W. Richard: TCP/IP Illustrated, Volume. Second Edition. Addison-Wesley. ISBN 978-0-321-33631-6.
- ↑ a b c d e James Pelkey: TCP/IP and XNS 1981 – 1983 historyofcomputercommunications.info. Arkistoitu 17.6.2018. Viitattu 6.6.2018.
- ↑ Louis Pouzin Internet Hall of Fame. Viitattu 17.6.2018.
- ↑ James Pelkey: CYCLADES Network and Louis Pouzin 1971 – 1972 historyofcomputercommunications.info. Arkistoitu 17.6.2021. Viitattu 17.6.2018.
- ↑ Between Stanford and Cyclades, a transatlantic perspective on the creation of Internet inria.fr. 9.11.2020. Viitattu 11.7.2024. (englanniksi)
- ↑ Ben Segal: A Short History of Internet Protocols at CERN ben.home.cern.ch. huhtikuu 1995. Arkistoitu 2.5.2015. Viitattu 17.6.2018.
- ↑ Andrew L. Russell: OSI: The Internet That Wasn’t 30.7.2013. IEEE Spectrum. Viitattu 17.6.2018.
- ↑ James Pelkey: ISO/OSI (Open Systems Interconnection): 1979 – 1980 historyofcomputercommunications.info. Arkistoitu 17.6.2018. Viitattu 17.6.2018.
- ↑ OSI Protocols Techopedia. Viitattu 17.6.2018.
- ↑ a b c Jon Postel: IEN 2, Comments on Internet Protocol and TCP rfc-editor.org. 15. elokuuta 1977. Viitattu 23.5.2019. (englanniksi)
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]Kuvia tai muita tiedostoja aiheesta TCP/IP Wikimedia Commonsissa