SATAKUNNAN AMMATTIKORKEAKOULU Iiro Sammalkorpi TCP/IP Liiketalous, matkailu, tietojenkäsittely ja viestintä Pori Tietojenkäsittelyn koulutusohjelma TK00 Tietojenkäsittelyseminaari 2004
SISÄLLYS 1 JOHDANTO... 1 2 HISTORIAA JA PERUSTEITA... 2 2.1 ARPANET... 2 2.2 Internetin organisaatiot... 3 2.3 Standardointi ja RFC... 5 2.4 OSI-malli... 5 2.4.1 Fyysinen kerros... 6 2.4.2 Siirtoyhteyskerros... 7 2.4.3 Verkkokerros... 7 2.4.4 Kuljetuskerros... 7 2.4.5 Istuntokerros... 8 2.4.6 Esitystapakerros... 8 2.4.7 Sovelluskerros... 8 3 INTERNET PROTOCOL (IP)... 9 3.1 IP-osoite... 9 3.1.1 IP-osoitteen konfigurointi... 10 3.1.2 Dynamic Host Configuration Protocol (DHCP)... 10 3.2 IP-osoitteiden hallinta... 12 3.3 IP-osoiteluokat... 13 3.4 Luokattomat IP-osoitteet... 14 3.5 Aliverkon peite... 15 3.6 Address Resolution Protocol (ARP) ja sen toiminta... 15 3.7 IPv6... 17 3.7.1 IPv6-osoitteen esitystapa... 19 3.7.2 IPv6-osoitteiden automaattinen konfigurointi... 19 4 TRANSMISSION CONTROL PROTOCOL (TCP)... 21 4.1 Protokollan tehtävät... 21 4.2 Multipleksaus... 21 4.3 Porttinumerot... 22
5 USER DATAGRAM PROTOCOL (UDP)... 23 6 DOMAIN NAME SYSTEM (DNS)... 24 6.1 Toimialueet... 24 6.2 Dynaaminen DNS (DDNS)... 25 6.3 Nimenselvennys... 25 7 TCP/IP VIANSELVENNYS... 27 7.1 Ping... 27 7.2 Traceroute... 28 7.3 Ipconfig... 30 7.4 Nslookup... 31 7.5 Route... 31 8 SOVELLUSPROTOKOLLAT... 33 8.1 Hypertext Transfer Protocol (HTTP)... 33 8.2 File Transfer Protocol (FTP)... 33 8.3 Network News Transfer Protocol (NTTP)... 33 9 YHTEENVETO JA TCP/IP:N TULEVAISUUS... 35 LÄHDELUETTELO... 36
1 1 JOHDANTO Internet on nykyään maailman laajin ja myös nopeimmin kasvava tietoliikenneverkko. Sen perustana on TCP/IP-protokolla, jota tässä seminaarityössä on tarkoitus esitellä. Alussa käydään laajalti läpi ARPANETin ja Internetin historiaa. AR- PANETin kehityksen myötä keksittiin myös TCP/IP. Työssä selvitetään protokollan rakennetta ja toimintaa sekä vianetsintää. Aihepiirin ollessa tavattoman laaja, ei kaikkia aiheeseen liittyviä asioita voida käydä läpi kovin pikkutarkasti. Lähinnä on tarkoitus selvittää lukijalle Internetin ja TCP/IP:n historia ja auttaa lukijaa ymmärtämään mistä TCP/IP:ssä on kyse ja miten se pääpiirteissään toimii. Seminaarityön esimerkit ovat pääosin Microsoft Windows-ympäristöstä siitä syystä, että oma kokemukseni rajoittuu vain Windows-ympäristöön. Protokollaperheen tärkeimmät sovellusprotokollat esitellään myös ja perehdytään hieman niiden toimintaan. Yhtenä erittäin tärkeänä osa-alueena työssä on perehtyä TCP/IP-verkon vianetsintään ja vikojen selvittämiseen yrityksen lähiverkossa. Reitityksen olen tarkoituksella rajannut pois tästä seminaarityöstä jo senkin takia, että sen käsitteleminen olisi tehnyt tästä turhan laajan esityksen ja toisaalta siksi, että minulla ei ole siitä kovinkaan paljoa käytännön kokemusta.
2 2 HISTORIAA JA PERUSTEITA TCP/IP ei oikeastaan ole protokolla vaan protokollaperhe, joka jo nimensä mukaisesti koostuu sekä TCP- että IP- sekä lukuisista muista siihen kiinteästi liittyvistä protokollista. Protokollaperhe rakentuu verkkokerroksen ympärille ja verkkokerroksella toimii Internet Protocol (IP). Toinen protokollaperheen nimeen päässeistä protokollista on Transmission Control Protocol (TCP), joka toimii kuljetuskerroksella IP-protokollan yläpuolella. (Kaario 2002, 15.) Koska protokollaperhe kuitenkin toimii yhtenäisenä, käsitellään sitä kuin se olisi yksi protokolla. TCP/IP-protokollaperheen historia nivoutuu hyvin tarkkaan Internetin alkuhistorian kanssa yhteen. TCP/IP on hyvin käytetty, etenkin nykyisin, myös muissa verkoissa kuin Internetissä, mutta se on omiaan juuri maailmanlaajuisen verkon osien liittämisessä toisiinsa. (Anttila 2001, 13.) 2.1 ARPANET Internet, jonka nykyisellään tunnemme ja joka perustuu suoraan TCP/IPprotokollaperheeseen, sai alkunsa Yhdysvalloissa vuonna 1969 ARPANETnimisenä. Projektin tukijana toimi Yhdysvaltain puolustusministeriön alainen erikoisosasto DARPA (Defence Advanced Research Projects Agency), josta ARPANET sai nimensä. Ensimmäinen RFC-dokumentti, RFC 1: Host Software, julkaistiin myös samana vuonna 1969. (Anttila 2001, 13.) ARPANET perustettiin tutkimus- ja kehitysprojektiin, jonka tarkoituksena oli kehittää kokeellinen pakettiverkko (Hunt 1998, 2). Ensimmäisinä verkkoon liittyi neljä yliopistoa: UCLA (University of California, Los Angeles), Stanford, UCSB (University of California, Santa Barbara) ja Utahin yliopisto. ARPANETin protokollana tosin ei toiminut vielä alussa TCP/IP vaan Network Core Protocol. (Anttila 2001, 13.)
3 ARPANETin ensimmäisiä sovelluksia oli Telnet, jonka avulla oli mahdollista muodostaa yksinkertaisia pääteyhteyksiä ja FTP, joka oli tarkoitettu tiedostojen siirtoon. Vuonna 1972 keksitty sähköposti oli Internetin kehityksen kannalta varsinainen tappajasovellus ja vuonna 1991 julkistettu Gopher, joka tarkoitti World Wide Webin (WWW) syntyä, toi Internetin kaiken kansan tietoisuuteen ja yleiseen käyttöön. Vuonna 1992 tosin vasta julkistettiin ensimmäinen graafinen käyttöliittymä, jolla WWW:tä voitiin käyttää. (Kaario 2002, 15.) Tämä sovellus oli nimeltään Mosaic, johon myös Microsoftin Internet Explorer perustuu. Vinton Cerf ja Robert Kahn esittelivät vuonna 1974 uuden protokollan nimeltä Transmission Control Protocol eli TCP (Anttila 2001, 14). ARPANET muutettiin koeverkosta tuotantoverkoksi vuonna 1975 ja sen hallinta annettiin DCA:lle (Defence Communications Agency), joka oli Yhdysvaltain puolustusministeriön osasto. Sotilasstandardiksi TCP/IP-protokollat hyväksyttiin 1983, jolloin kaikkien verkkoon liitettyjen laitteiden tuli käyttää niitä. (Hunt 1998, 2.) Samaan aikaan DCA jakoi ARPANETin kahteen erilliseen verkkoon, joista toinen jäi tutkimuskäyttöön ja toinen sotilaalliseen käyttöön. Tutkimuskäyttöön jääneen osan nimenä säilyi ARPANET ja sotilaskäyttöön varattu suurempi osa sai nimen MILNET. (Comer 2002, 6.) 2.2 Internetin organisaatiot Ryhmittymä nimeltä Internet Architecture Board koordinoi TCP/IP-protokollien tutkimus- ja kehitystyötä sekä ohjaa Internetin kehitystä. IAB tekee päätökset TCP/IP:n sisältämistä protokollista sekä määrittää viralliset menettelytavat. Kun DARPA vuonna 1983 järjesteli uudelleen Internet Control and Configuration Boardin, perustettiin IAB, joka myös peri suuren osan oikeuksista ja tehtävistään aiemmalta ryhmältä. (Comer 2002, 8.) IAB:n johtajaa kutsuttiin Internet-arkkitehdiksi ja hän vastasi teknisten suuntaviivojen sekä työryhmien toiminnan koordinoimisesta. Hän myös perusti tarvittaessa uusia työryhmiä ja toimi IAB:n edustajana ulospäin. (Comer 2002, 9.)
4 Vuoden 1989 kesällä IAB organisoitiin uudelleen Internetin taloudellisten ja kaupallisten tosiasioiden vuoksi. Uudelleenjärjestelyn tarve johtui selkeästi siitä, että sekä TCP/IP-tekniikka että Internet olivat laajentuneet tutkimuskäytöstä tuotantokäyttöön ja siitä tuli menestyvä, kaupallinen tekniikka, jota markkinavoimat alkoivat hallita. IAB:n johtamistapaa muutettiin ja sen tutkijat siirrettiin erillisiin ryhmiin. IAB:n hallitukseen tuli myös edustajia useammista yhteisöistä. (Comer 2002, 9.) Kuvassa 2.1 nähdään koko uudistuneen IAB:n organisaatio ja sen eri ryhmien väliset suhteet (Comer 2002, 10). IAB:N ORGANISAATIO HALLITUS IRTF IETF IRSG IESG alue 1 alue n... tutkimusryhmät...... työryhmät Kuva 2.1. IAB:n organisaatio vuoden 1989 uudelleenjärjestelyn jälkeen (Comer 2002, 10). Kuten kuvasta 2.1 voimme nähdä, on IAB:n organisaatiossa kaksi pääryhmittymää: Internet Research Task Force (IRTF) ja Internet Engineering Task Force (IRTF), joista IETF oli olemassa jo alkuperäisessä organisaatiossa ja sen tehtävänä on keskittyä lyhyen ja keskipitkän tähtäimen suunnitteluun. IESG:n muodostavat IETF:n puheenjohtaja ja eri aluejohtajat. Tämän ryhmän tehtävänä on koordinoida IETF:n eri työryhmien toimintaa. (Comer 2002, 10.)
5 IRTF, joka syntyi vasta IAB:n uudelleenjärjestelyssä, on IETF:ää vastaava tutkimusryhmä, joka ohjaa TCP/IP-protokollia ja Internetin yleistä arkkitehtuuria. Tähänkin ryhmään kuuluu pienempi ryhmä: Internet Research Steering Group (IRSG), joka ohjaa tutkimusprojekteja ja määrittää prioriteetteja. IRTF on nykyisellään paljon IETF:ää pienempi ja passiivisempi. (Comer 2002, 10-11.) 2.3 Standardointi ja RFC Koska kukaan henkilö tai mikään yritys tai standardointijärjestö ei omista TCP/IPtekniikkaa, ei mikään valmistaja voi myöskään toimittaa protokollia, standardeja ja käytäntöä koskevia määräyksiä (Comer 2002, 11). Tämän vuoksi Internetiä koskevat dokumentit, standardit ja muutosehdotukset sekä TCP/IP-protokollien standardit määritellään pääasiassa RFC-dokumentteina (Request For Comments). Virallisia standardeja ne eivät ole, mutta käytännössä niitä käytetään standardin asemassa. Kuten nimikin kertoo, ovat nämä dokumentit vapaasti kenen tahansa kommentoitavissa. Dokumentit numeroidaan juoksevalla numerolla kirjoittamisjärjestyksen mukaan siten, että jokainen uusi tai korjattu dokumentti saa uuden numeron. RFC-dokumenttien lukijan vastuulle siis jää, että hän hankkii uusimman aihetta koskevan version (Comer 2002, 11). Kuten kappaleessa 2.3 mainitsin, ensimmäinen RFC-dokumentti julkistettiin jo vuonna 1969, ja tätä kirjoitettaessa niitä on jo 3707 kpl (RFC Editor 2004, [verkkodokumentti]). RFC-dokumenttien toimittaminen kuuluu IETF:n alueiden johtajille ja uudet RFC:t hyväksyy IESG (Comer 2002, 11). 2.4 OSI-malli Tietoliikenneprotokollista puhuttaessa törmätään yleensä ISO:n (International Standards Organization) OSI-viitemalliin (Open Systems Interconnection), ja siksi tässäkin työssä sitä käydään lyhyesti läpi. Mallin ideana oli tarjota käyttäjille ja laitevalmistajille ympäristö, jossa olisi määritelty, miten erilaiset järjestelmät kykenevät kommunikoimaan keskenään ja päästäisiin eroon erilaisten verkkojen yhteensovittamisesta. (Kaario 2002, 18.)
6 Taulukko 2.1. OSI-mallin kerrokset ja niiden vastaavuus TCP/IP-pinon kerroksiin (Anttila 2001, 35). Sovelluskerros Application layer Esitystapakerros Presentation layer Sovelluskerros (SNMP, SMTP, POP3) Istuntokerros Session layer Kuljetuskerros Transport layer Verkkokerros Network layer Siirtoyhteyskerros Link layer Fyysinen kerros Physical layer Kuljetuskerros (TCP tai UDP) Verkkokerros (IP+ICMP, IGMP) Fyysinen kerros (erilaiset verkkotekniikat) Koska tämän seminaarityön aiheena on nimenomaan TCP/IP, on otettava huomioon, että TCP/IP kehitettiin ennen kuin OSI-malli, joten siksi vastaavuudet eivät ole aivan yhtenevät, kuten taulukosta 2.1 voidaan havaita (Anttila 2001, 35). 2.4.1 Fyysinen kerros Fyysinen kerros hoitaa bittien fyysisen siirtämisen verkossa. Kerroksen tehtävänä on huolehtia esim. liittimistä, signaalien jännitetasoista sekä siirtotien sähköisistä ominaisuuksista. Esimerkiksi lähiverkon kaapelointia koskeva standardi IEEE 802.3 on fyysisen kerroksen standardeja. Tämä kerros on muista kerroksista poikkeava kerros, koska muut kerrokset lähinnä ovat ohjelmistollisia määrittelyjä, mutta fyysisen kerroksen tehtäviin kuuluu fysikaalisten ilmiöiden huomioon ottaminen. (Kaario 2002, 18.)
7 2.4.2 Siirtoyhteyskerros Kerroksen tehtäviin kuuluu pakata fyysiseltä kerrokselta tullut data tietynlaiseen kehykseen, johon kerros lisää omat otsikkotietonsa. Otsikkotietoihin kuuluu esimerkiksi lähettäjän ja vastaanottajan siirtoyhteyskerroksen osoite. (Anttila 2001, 34.) MAC-kerros (Medium Access Control) on erittäin olennainen osa siirtoyhteyskerroksen toimintaa, jonka tehtäviin kuuluu siirtoyhteyskerroksen hyvä käytettävyys eri käyttäjien kesken. MAC-protokollista tunnetuin on CSMA/CD, joka toimii Ethernet-verkkojen perustana. Lisäksi IBM:n aikanaan kehittämä ja nykyisellään jo lähes poistunut Token Ring on tunnettu MAC-protokolla. (Kaario 2002, 20.) 2.4.3 Verkkokerros Siirtoyhteyskerrokselta tullut data saapuu verkkokerrokselle, jonka tehtävänä on pakata data verkkoon mahtuviin paketteihin ja lähettää paketit eteenpäin vastaanottajan verkkokerroksen osoitteen perusteella. Tätä kutsutaan reititykseksi, joka on riippumatonta alempien kerrosten tekniikoista. (Anttila 2001, 34.) Kerros mahdollistaa myös vuonvalvonnan ja laatuvaatimusten tarkkailun, mutta reitittäminen on selkeästi tärkein tämän kerroksen tehtävistä (Kaario 2002, 20). 2.4.4 Kuljetuskerros Kuljetuskerroksen tehtävänä on huolehtia suoran yhteyden muodostamisesta eri järjestelmien välillä ja pilkkoa ylemmiltä kerroksilta tullut tieto sopivan kokoisiin segmentteihin ja välittää segmentit vastaanottajalle (Anttila 2001, 34; Kaario 2002, 21). Kuljetuskerros toimii eräänlaisena linkkinä alempien ja ylempien kerrosten välillä eli kuljetuskerrosta ylemmät kerrokset eivät ole varsinaisesti tekemisissä alempien kerrosten kanssa (Kaario 2002, 21). Kuljetuskerros voi toimia joko yhteydellisenä, jolloin kommunikoivat laitteet ensin muodostavat yhteyden ennen data lähettämistä, tai yhteydettömänä, jolloin data vaan lähetetään ja toivotaan sen menevän perille (Anttila 2001, 34). OSI-mallin kuljetuskerroksen tehtävänä on taata, että vastaanottaja saa datan täsmälleen alkuperäisenä ja sellaisena kuin se on lähetetty. TCP/IP:ssä tämän saman tehtävän hoitaa TCP-protokolla, mutta TCP/IP
8 tarjoaa myös yhteydettömän UDP-protokollan, joka ei tarkasta lähettämänsä datan menemistä perille. (Hunt 1998, 7-8.) 2.4.5 Istuntokerros TCP/IP-protokollahierarkiassa ei istuntokerrosta voida erottaa omaksi kerroksekseen, mutta OSI-mallissa istuntokerros hoitaa sovellusten toimintojen koordinoimisen laitteiden välillä (Hunt 1998, 7). Kerros myös huolehtii datan lähettämisestä oikeassa järjestyksessä. Esimerkkeinä protokollista, jotka toimivat istuntokerroksella ovat RPC (Remote Procedure Call) ja NetBIOS (Network Binary Input/Output System). (Anttila 2001, 33.) 2.4.6 Esitystapakerros Esitystapakerroksen tehtäviin kuuluu huolehtia tiedonsiirron aikana käytettävästä esitystavasta ja käytettävän esitystavan sopimisesta. ASN.1-kieli (Abstract Syntax Notation One) on eräs esitystapakerrokseen liittyvä standardi, joka määrittää sovellusten käyttämien tietojen muotoja. TCP/IP:n protokollista SNMP (Simple Network Monitoring Protocol) käyttää ASN.1-tietomäärityksiä. (Kaario 2002, 21.) 2.4.7 Sovelluskerros Ylimmäisin OSI-mallin kerroksista on sovelluskerros, joka sisältää verkkoa käyttävä tietoliikennesovellukset ja määrittää niille yhtenäisen kommunikointirajapinnan verkkoon. Varsinaiset tietoliikennesovellukset eivät kuulu protokollapinoon vaan keskustelevat sovelluskerroksen välityksellä, joka toimii vain rajapintana. (Kaario 2002, 21.)
9 3 INTERNET PROTOCOL (IP) TCP/IP-protokollaperheen keskeisin protokolla on IP-protokolla, jonka alla voidaan käyttää monia datan siirtämiseen soveltuvia protokollia ja taas toisaalta sen yläpuolella erilaisia kuljetusprotokollia (Kaario 2002, 46). Kaikkien datapakettien liikkuminen tietoliikenneverkossa tapahtuu aina jonkinlaisen osoitteen perusteella. Osoitteena saattaa toimia MAC-osoite, joka on määritetty verkkokortille, TCP/IP-verkossa käytettävä IP-osoite tai lähinnä Novellin lähiverkkototeutuksissa käytettävä IPX-osoite. (Anttila 2001, 83.) Ethernet-verkossa tieto osaa perille pelkän MAC-osoitteen perusteella. Koska kaikilla verkon laitteilla on yksilöllinen MAC-osoite ja tästä syystä osoitteita on hyvin paljon, ei ole järkevää, että laitteet varastoisivat kaikki MAC-osoitteet itseensä osatakseen niiden perusteella reitit muihin verkossa oleviin MAC-osoitteisiin. Tästä syystä tarvitaan IP-osoitteita ja sen avulla tapahtuvaa reititystä. Näin voidaan eri puolilla tietoliikennemaailmaa sijaitsevat ryhmät niputtaa omiksi IPaliverkoiksi, joiden sisältä vasta laite tunnistetaan tarkalla laiteosoitteella eli MAC-osoitteella. Näin vältetään laiteosoitteiden lähettäminen lähiverkon ulkopuolelle. (Kaario 2002, 53.) 3.1 IP-osoite Tällä hetkellä on käytössä IP-versio 4, jossa osoite on 32-bittinen. Se kirjoitetaan ryhminä pisteillä eroteltuina seuraavasti xxx.xxx.xxx.xxx. Jokainen ryhmä on 8 bittiä eli oktetti. Esimerkkinä vaikka Porin kaupungin Internet-sivu, jonka IPosoite on 194.89.238.167. IP-osoite voitaisiin periaatteessa esittää binäärimuodossakin, mutta sellaisten osoitteiden muistaminen ulkoa olisi lähes mahdotonta ja lisäksi osoitteiden kirjoittaminen veisi paljon enemmän tilaa. Edellä mainitun Porin kaupungin Internetsivun osoite binäärimuodossa olisi: 11000010 1011001 11101110 10100111
10 Kuten esimerkistä voimme havaita on osoite hankala muistettava ja pitkä ja juuri tästä syystä osoitteet merkitään 10-järjestelmän lukuarvoilla. 3.1.1 IP-osoitteen konfigurointi IP-osoite voidaan käytännössä määrittää laitteelle kahdella tavalla, joko manuaalisesti tai dynaamisesti. Dynaamisessa määrittelyssä on käytössä nykyään pääosin DHCP-protokolla. 3.1.2 Dynamic Host Configuration Protocol (DHCP) Menetelmä toimii siten, että verkossa on DHCP-palvelin, jolta laite saa IPosoitteen. Dynaamisen määrittämisen etuna on, että esimerkiksi kannettava tietokone voidaan viedä verkosta toiseen, ja aina sen IP-osoite on automaattisesti oikea kyseiseen verkkoon. DHCP-palvelimelle pitää määrittää tietty IP-osoiteavaruus, jolta palvelin jakaa osoitteita niitä pyytäville. Lisäksi mukana jaetaan vähintäänkin aliverkon peite, sekä oletusreitittimen IP-osoite. DHCP-palvelin voi antaa myös tiedot nimipalvelinten osoitteista sekä lukuisia muita työaseman verkkoasetuksiin liittyviä asioita. DHCP-palvelin myös määrää annetulle IP-osoitteelle tietyn voimassaoloajan. Tänä aikana palvelin ei anna kyseistä osoitetta millekään toiselle laitteella, joka siltä osoitetta kyselee. (Comer 2002, 450.)
11 IP-osoitteen saamisessa DHCP-palvelimelta on seuraavat vaiheet (Comer 2002, 452-453; Lee & Davies 2000, 328-329.): 1. Asiakaskoneen käynnistyessä se menee ensin INITIALIZE-tilaan, jonka jälkeen se aloittaa IP-osoitteen hankintaprosessin. 2. Ensimmäisenä asiakas lähettää verkkoon yleislähetyksenä DHCPDISCOVER-sanoman, jolla se tavoittelee verkossa olevia DHCPpalvelimia. DHCPDISCOVER-viestin asiakas lähettää UDP-protokollalla. Tämän jälkeen asiakas siirtyy SELECT-tilaan. 3. Kaikki verkossa olevat DHCP-palvelimet vastaanottavat sanoman ja se tai ne niistä, jotka on ohjelmoitu vastaamaan kyseiselle asiakkaalle, lähettävät DHCPOFFER-sanoman, jossa ne antavat asetustiedot. Ollessaan SELECT-tilassa asiakas kerää kaikilta DHCP-palvelimilta tulevat DHCPOFFER-sanomat. 4. Asiakkaan pitää valita mahdollisista tarjokkaista yksi tarjous. Valinnan jälkeen se lähettää DHCREQUEST-sanoman palvelimelle neuvotellakseen IP-osoitteen käyttöluvasta. Tämän jälkeen asiakas siirtyy REQUESTtilaan. 5. Palvelin kuittaa saatuaan pyynnön ja lähettää tiedon osoitteen käyttöönotosta lähettämällä DHCPACK-sanoman asiakkaalle. Jos palvelin ei hyväksy pyyntöä, lähettää as asiakkaalle DHCPNACK-sanoman. 6. Vastaanotettuaan palvelimelta tulleen DHCPACK-samoman, asiakas siirtyy BOUND-tilaan ja alkaa käyttää saamaansa osoitetta ja asetuksia. Taulukossa 3.1 esitetään Windowsin Ipconfig-komennon toimintaa. Taulukko 3.1. Ipconfig-komennon esimerkkejä. IPCONFIG /all IPCONFIG /release IPCONFIG /renew IPCONFIG /flushdns Näyttää tietokoneen TCP/IP-asetukset. Vapauttaa IP-osoitteen. Uudistaa IP-osoitteen. Tyhjentää tietokoneen DNS-välimuistin.
12 3.2 IP-osoitteiden hallinta IP-osoite voidaan jakaa kahteen osaan: verkko-osoitteeseen ja laiteosoitteeseen. Kaikilla Internetiin kytketyillä verkoilla on oma yksilöllinen verkko-osoitteensa ja näihin verkkoihin kytketyillä laitteilla vielä omat yksilölliset laiteosoitteensa. Koska IP-osoitteet ovat yksilöllisiä, ei kahta samanlaista osoitetta pitäisi Internetissä olla. Erilaisten konfigurointivirheiden takia tällaisia tapauksia saattaa kuitenkin sattua. (Anttila 2001, 85.) Privaattikäyttöön on olemassa IP-verkkoja, joita voidaan käyttää samanaikaisesti eri puolilla maailmaa omissa verkoissaan. Nämä ovat sellaisia, joita ei reititetä julkiseen Internetiin ja tästä syystä niitä voidaan käyttää useammassa paikassa samanaikaisesti. Taulukossa 3.2 on eritelty privaattiverkkoalueet ja -luokat tarkemmin. (Kaario 2002, 54.) Taulukko 3.2. Privaattiverkko-osoitealueet. Verkkoluokka Varatut osoitteet Aliverkon peite A-luokka 10.0.0.0 10.255.255.255 255.0.0.0 tai 10.0.0.0/8 B-luokka 172.16.0.0 172.31.255.255 255.240.0.0 tai 172.16.0.0./12 C-luokka 192.168.0.0 192.168.255.255 255.255.0.0 tai 192.168.0.0/16 Näiden lisäksi on varattu myös osoitelohko 169.254.0.0-169.254.255.0. Kyseisen lohkon varauksia käyttävät Microsoftin Windows 98, Windows 2000 sekä Windows XP -käyttöjärjestelmät. Mikäli kyseiset laitteet on konfiguroitu käyttämään DHCP-palvelua (Dynamic Host Configuration Protocol), eivätkä ne kuitenkaan löydä verkosta DHCP-palvelinta, ottavat ne käyttöön IP-osoitteen em. osoitelohkosta. (Anttila 2001, 86.) IP-osoiteluokkien jakamisesta maailmanlaajuisesti huolehtii organisaatio nimeltään IANA (Internet Assigned Numbers Association), koska ilman kunnollista ylläpitoa olisi mahdotonta huolehtia siitä, että osoiteluokat pysyvät yksilöllisinä. In-
13 ternetin alkutaipaleella IANA yksin huolehti osoitteiden rekisteröinneistä, mutta Internetin kasvaessa vastuuta on jaettu pienemmille organisaatioille. (Anttila 2001, 85.) 3.3 IP-osoiteluokat Perinteisesti IP-osoiteluokkia on olemassa A-, B- ja C-luokka, joista verkot ja laitteet voivat saada osoitteensa. Lisäksi on olemassa vielä D- ja E-luokat, mutta ne ovat varatut erikoistarkoituksiin, joista lisää myöhemmin. A-luokka o A-luokan verkot ovat kaikkein suurimpia ja tästä johtuen niitä on myös vähiten. A-luokan verkon verkko-osoitteen muodostaa ensimmäinen oktetti eli 8 bittiä, joka voi olla välillä 1-126. A- luokassa voi näin olla 126 verkkoa ja näistä jokaiseen verkkoon voi liittää 1 677 214 laitetta. B-luokka o B-luokan verkossa verkko-osoitteen muodostaa ensimmäiset kaksi oktettia eli 16 bittiä. Ensimmäinen oktetti voi olla välillä 128-191. B-luokassa verkkoja voi olla 16 384 kappaletta ja näistä jokaisessa 65 334 verkkolaitetta. C-luokka o C-luokan verkko on normaalikäytössä olevista pienin ja sen verkko-osoitteen muodostaa 3 ensimmäistä oktettia eli 24 bittiä. Ensimmäinen oktetti on välillä 192-223. C-luokassa verkkoja voi olla 20 971 152 kappaletta ja näistä jokaisessa 254 laitetta.
14 Näiden kolmen luokan lisäksi on vielä kaksi erikoiskäyttöön tarkoitettua osoiteluokkaa: D-luokka o Tämän luokan osoitteet on varattu ryhmälähetysosoitteiksi, eikä näitä normaalisti käytetä minkään yksittäisen laitteen osoitteeksi. D-luokan osoitteessa ensimmäinen oktetti saa arvon väliltä 224-239. E-luokka o E-luokan osoitteet on varattu kokeilukäyttöön ja sen ensimmäinen oktetti saa arvon väliltä 240-255. (Anttila 2001, 88-90; Kaario 2002, 58.) 3.4 Luokattomat IP-osoitteet Alussa, IP-protokollan ollessa nuori, IP-osoitteet jaettiin kappaleessa 3.4 mainittuihin kolmeen luokkaan ja niistäkin käytettiin pääosin A-luokan osoitteita, koska arveltiin, että osoitteita tarvittaisi vain ainoastaan muutaman ison verkon käyttöön (Kaario 2002, 57). Verkko-osoitteen erottamiseen IP-osoitteesta on nykyisin olemassa joustavampikin tapa, ns. bittimaskin käyttö. Bittimaski tarkoittaa sitä, että IP-osoitteen binäärimuodossa bitin ollessa 1, se kuuluu verkko-osaan ja mikäli bitti on 0, kuuluu se laiteosoitteeseen. Näin voidaan esimerkiksi perinteisestä C-luokan osoitteesta luoda B-luokkaa vastaava osoiteavaruus. Jos esimerkiksi verkko-osoite on 195.100.0.0, on se perinteisesti ajateltuna C-luokan verkko, mutta jos sen kanssa käytetäänkin aliverkon peitettä 255.255.0.0, vastaa se B-luokan osoiteavaruutta. (Hunt 1998, 29.) Reitittimiin ja reititysprotokolliin tarvitaan kuitenkin muutoksia, koska protokollien pitää jakaa kohdeosoitteiden lisäksi myös aliverkon peitteet. Reitittimen ja työ-
15 asemien pitää myös tietää, mitkä osoitteet ovat luokattomia ja miten niihin sovitetaan mukana tuleva aliverkon peite. (Hunt 1998, 29.) 3.5 Aliverkon peite Aliverkon peitteellä, jota myös aliverkkomaskiksi kutsutaan, erotellaan IPosoitteen verkko-osoite ja laiteosoite toisistaan. Taulukossa 3.3 esimerkki IPosoitteesta ja aliverkon peitteestä. Tuonnempana selviää, että tuo osoite kuuluu C- luokan osoiteavaruuteen, joten esimerkissä on sen mukainen aliverkkomaski. Taulukko 3.3 Esimerkki IP-osoitteesta ja aliverkon peitteestä. IP-osoite 194.89.238.167 Aliverkkomaski 255.255.255.0 Koska luku 255 (binäärilukuna 11111111) on suurin mahdollinen luku, joka voidaan 8 bitillä esittää, tarkoittaa tuo esimerkki, että laiteosoitteeksi jää vain tuo viimein oktetti eli luku 167 ja näin ollen tuo 194.89.238 on verkon osoite, jossa tuo kyseinen laiteosoite sijaitsee. 3.6 Address Resolution Protocol (ARP) ja sen toiminta Edellä on kuvattu TCP/IP:n osoitejärjestelmää, jossa jokainen verkon laite sai 32- bittisen osoitteen. Jokaisella verkon laitteella kuitenkin on tarkka fyysinen osoite (Media Access Control, MAC) joka on 48-bittinen heksadesimaaliluku ja esimerkiksi tämän käyttämäni tietokoneen verkkokortin MAC-osoite on: 00-50-DA-83-29-96. MAC-osoitteen ensimmäisestä 24 bitistä saa selville verkkokortin valmistajan, joka tässä esimerkissä (00-50-DA) osoittaa valmistajaksi 3Com Corporation -nimisen tunnetun verkkolaitevalmistajan (IEEE 2004 [verkkodokumentti]). Lähettävän laitteen pitää myös pystyä selvittämään vastaanottajan tarkka fyysinen osoite, ja tähän on kehitetty ARP-protokolla (Address Resolution Protocol). (Anttila 2001, 171.)
16 ARP-protokollan toiminta ei periaatteessa ole kovinkaan monimutkainen. Seuraavassa esimerkissä laite A, jonka IP-osoite on 10.1.1.1/24, haluaa lähettää dataa laitteelle B, jonka IP-osoite on 10.1.1.2/24. 1. Ensimmäiseksi lähettävä laite A tarkistaa, onko vastaanottava laite samassa IP-verkossa, Mikäli näin ei ole, lähettää A sanoman oletusreitittimelle. Jos laitteet ovat samassa verkossa, lähettää A sanoman suoraan B:lle. Molemmissa tapauksissa pitää selvittää vastaanottavan MAC-osoite, joko vastaanottajan tai oletusreitittimen. Tässä erimerkissä laitteet ovat samassa verkossa, joten vain laitteen B MAC osoite on selvitettävä. 2. Seuraavaksi laite A tarkistaa, onko sillä laitteen B MAC-osoite omassa ARP-välimuistissaan. Jos on, ei osoitetta tarvitse selvittää ARP-kyselyllä, vaan A voi lähettää sanoman suoraan B:lle. 3. Jos laitteen A ARP-välimuistissa ei kyseisen vastaanottajan MACosoitetta ole, lähettää A verkkoon levitysviestin fyysisellä kerroksella. Viestissä laite A kysyy, mikä on laitteen B IP-osoitetta 10.1.1.2 vastaava MAC-osoite. Levitysviesti, nimensä mukaisesti, leviää kaikille verkon laitteille ja verkossa laite jolla haettu IP-osoite on, tunnistaa sen ja lähettää suunnatun viestin laitteelle A, jossa se kertoo oman MAC-osoitteensa. Samalla laite B tallentaa omaan ARP-välimuistiinsa laitteen A MAC- ja IP-osoitteen. 4. Laite A tallentaa omaan ARP-välimuistiinsa laitteen B MAC- ja IPosoitteen, jonka jälkeen se voi vasta lähettää haluamansa datan B:lle. (Anttila 2001, 172-173.)
17 Microsoft Windows 2000 -ympäristössä ARP-välimuistin sisällön saa selville komentorivikomennolla arp -a, joka antaa seuraavanlaisen tulosteen: C:\arp -a Interface: 194.89.120.5 on Interface 0x1000003 Internet Address Physical Address Type 194.89.120.11 00-10-7b-b3-f4-43 dynamic 194.89.120.14 00-50-8b-fb-07-fd dynamic 194.89.120.50 00-50-8b-ac-0e-f8 dynamic 194.89.120.51 00-50-8b-c2-4f-2d dynamic 194.89.120.56 00-02-a5-ec-21-a1 dynamic 194.89.120.100 00-0b-cd-6e-26-0e dynamic Oletuksena Windows 2000 tyhjentää ARP-taulustaan sinne tallennetun tiedon kahden minuutin kuluttua. Mikäli tietoa sillä välillä kuitenkin tarvitaan uudelleen, saa se jatkoaikaa taas 2 minuuttia. Maksimissaan tämä aika kuitenkin voi olla 10 minuuttia, jonka jälkeen osoite pitää selvittää uudella ARP-kyselyllä. Kumpaakin aikaa voi säätää Windowsin rekisteristä. (Lee & Davies 2000, 59.) Taulukossa 3.4 Windows 2000 -ympäristössä tarpeellisimpia ARP-komentoja. Lisää komentoja saa kirjoittamalla komentorivillä ARP -? tai pelkkä ARP. Taulukko 3.4. Tavallisimmat ARP-komennot Windows 2000 -ympäristössä. ARP -a ARP -g ARP -d IP-osoite Näyttää työaseman ARP-välimuistin sisällön. Näyttää työaseman ARP-välimuistin hieman erinäköisenä kuin ARP -a Poistaa ARP-välimuistista tietyn IP-osoitteen ja sitä vastaavan MAC-osoitteen. Ilman IPosoitetta komento tyhjentää ARP-välimuistin. 3.7 IPv6 Jo monen vuoden ajan on ollut kehitteillä IPv4:n seuraaja, jota kutsutaan nimellä IPv6. Päätös uuden IP-protokollaversion kehittämisestä tehtiin vuonna 1992, koska vanha IP-osoitejärjestelmä alkoi osoittautua riittämättömäksi (Govanus 1999, 383). Osoitteen suurin näkyvä muutos on sen pituus, joka on kasvanut entisestä 32 bitistä 128 bittiseksi. Tämä tuo selkeästi enemmän IP-osoitteita käyttöön. Uutta
18 IP-versiota on siis kehitetty jo useiden vuosien ajan ja se alkaakin olla valmis, mutta laite- ja ohjelmistovalmistajien sekä operaattoreiden nuivan suhtautumisen vuoksi käyttöönotto saattaa kestää vielä vuosia. (Anttila 2001, 110-111.) Kaiken kaikkiaan IPv6:n tuomat muutokset voidaan jakaa seuraaviin pääkohtiin: IP-osoitteet ovat pidemmät. Koska vanha IP-osoite oli 32 ja uusi 128 bittiä, on uusi siis nelinkertainen ja se mahdollistaa niin suuren osoiteavaruuden, että sen täyttäminen ei nykykuvitelmissa ole mahdollista. Laajennettu osoitehierarkia. IPv6:n entistä huomattavasti suurempi osoiteavaruus tekee mahdolliseksi uusien tasojen lisäämisen osoitehierarkiaan. Joustava otsikkorakenne. IPv6-paketin rakenne on uusi, eikä sovi yhteen IPv4:n paketin kanssa. IPv6 määrittää joukon valinnaisia otsikoita, kun taas IPv4:ssä otsikkorakenne oli kiinteä. Parannetut optiot. Kuten IPv4, IPv6 mahdollistaa optioiden lisäämisen IP-paketteihin. Uudessa protokollassa on uusia optioita, joissa on paljon uusia ominaisuuksia. Protokollan laajennusmahdollisuus. Mahdollisesti merkittävin muutos on siirtyminen kiinteästi määritellystä protokollasta sellaiseen, joka mahdollistaa uusien ominaisuuksia lisäämisen. Tämä tekee mahdolliseksi sen, että protokollaa voidaan mukauttaa verkkolaitteiden tai uusien ohjelmien muutoksiin. Automaattiset asetukset ja uudelleennumerointi. IPv6:een sisältyy ominaisuuksia, joiden avulla tietyn verkon tietokoneet voivat valita itse itselleen osoitteet ja alkaa kommunikoida ilman asetusten manuaalista määrittämistä. Protokolla mahdollistaa myös verkkojen dynaamisen numeroinnin. Resurssien varaus. Uuteen protokollaan sisältyy kaksi uutta ominaisuutta, joiden avulla verkon resursseja on mahdollista varata etukäteen. Nämä ominaisuudet ovat vuon käsite ja eriytettyjen palveluiden määritys. (Comer 2002, 602-603.)