Verkkosovelluskehitys – Blögi



Verkkosovelluskehitys – Blögi

0 0


maketsuki.github.io


On Github Maketsuki / maketsuki.github.io

Verkkosovelluskehitys

Blögi

Markus Sorjonen

Tärkeimmät verkkoprotokollat

Tässä osiossa esittelen tärkeimmät verkkoprotokollat, jotka ovat yhä jossain määrin käytössä. Tarkastelussa IP, TCP, HTTP ja SSH.

IP (Internet Protocol)

IP on TCP/IP-mallin Internet-kerroksen protokolla, joka huolehtii IP-tietoliikennepakettien toimittamisesta perille pakettikytkentäisessä Internet-verkossa. Se on myös koko Internetin ydin ja ainoa asia, mikä kaikkia Internetiin liitettyjä koneita yhdistää.

IP-pakettien perille toimittamista sanotaan reitittämiseksi ja sen tekevät reitittimet perustuen reititysprotokollien välittämään tietoon IP-osoitteiden sijaintipaikoista Internetissä ja lyhyimmistä reiteistä näiden välillä. IP-paketti ei vielä välttämättä ole pienin verkossa kuljetettava yksikkö vaan se joissakin tapauksissa joudutaan vielä jakamaan pienemmiksi osapaketeiksi (fragmenteiksi).

IPv4:sen (yleisin käytössä oleva) tilalle on kehitelty uusi IPv6, joka tulee olemaan pääasiallinen tekniikka IP:itten käytössä. tärkein ero IPv4:ään on osoitteen pituus ja osoiteavaruuden laajuus. IPv6:ssa käytetään 128-bittisiä osoitteita, jolloin yhdessä verkossa voi olla yli 340 sekstiljoonaa solmua, kun IPv4:sessa noin neljä miljardia solmua. IPv4:sen "tila" on täyttynyt jo aikoja sitten, ja uusia yhteyksiä on voitu luoda osoitteenmuutostekniikoilla. Esimerkiksi yksi suuri joukko tietokoneita voi jakaa yhden IP-osoitteen, joka osaltaan aiheuttaa erilaisia ongelmia esimerkiksi vertaisverkkojen käytössä.

TCP, Transmission Control Protocol

Transmission Control Protocol, eli TCP, on tietoliikenneprotokolla, jolla luodaan yhteyksiä tietokoneiden välille, joilla on pääsy Internetiin. TCP-yhteyksien avulla tietokoneet voivat lähettää toisilleen tavujonoja luotettavasti. TCP-protokolla pitää myös huolta, että paketit saapuvat perille oikeassa järjestyksessä. Suurin osa Internetin liikenteestä perustuu TCP-protokollaan ja koko TCP/IP-protokollaperhe on saanut nimensä TCP-protokollan perusteella.

Yhteyden muodostamiseen käytetään kolmitiekättelyä. Kolmitiekättelyssä yhteyden aloittajan laite lähettää ensiksi kohdelaitteelle SYN-paketin ja kohdelaitteen saatua SYN-paketin vastaan laite vastaa aloittajalle SYN/ACK-paketilla merkkinä että SYN-paketti on saapunut.Lopuksi aloittajalaite vastaa kohdelaitteelle ACK-paketilla merkiksi, että on ottanut kohdelaitteen SYN/ACK-paketin vastaan. Tiedon siirtovaiheen aikana useat eri mekanismit varmistavat datan eheyden. Näitä mekanismeja ovat sekvenssinumerointi TCP-pakettien järjestyksen varmistamiseksi, tarkistussummat virheiden tarkistusta varten sekä ajastimet ja tunnistimet hukatuille paketeille ja viiveelle. Yhteys päätetään nelitiekättelyllä. Yhteyden molemmat osapuolet katkaisevat yhteyden erikseen. Molemmat lähettävät FIN-paketin ja molemmat kuittaavat sen ACK-paketilla.

HTTP, Hypertext Transfer Protocol

HTTP eli Hypertext Transfer Protocol on protokolla, jota selaimet ja www-palvelimet käyttävät tiedonsiirtoon Protokolla perustuu siihen, että asiakasohjelma (selain, hakurobotti tms.) avaa TCP-yhteyden palvelimelle ja lähettää pyynnön. Palvelin vastaa lähettämällä sopivan vastauksen, tavallisimmin HTML-sivun tai binääridataa kuten kuvia, ohjelmia tai ääntä. Sivua haettaessa selain lähettää palvelimelle GET-pyynnön, johon palvelin vastaa. Uusi HHTP/2-versio on julkaistu vuoden 2015 alussa.

SSH, Secure Shell

Secure Shell eli SSH on salattuun tietoliikenteeseen tarkoitettu protokolla. Yleisin SSH:n käyttötapa on ottaa etäyhteys SSH-asiakasohjelmalla SSH-palvelimeen päästäkseen käyttämään toista konetta merkkipohjaisen konsolin kautta SSH:lla voidaan myös suojata FTP-, HTTP- tai muuta liikennettä, joka toimii samalla tasolla. SSH-ohjelmissa on hyvin monia käytettävissä olevia algoritmeja. Vaikka tieto, jota voisi kuljettaa verkon yli, ei olisikaan arkaluontoista, niin on silti suositeltavaa käyttää salattuja yhteyksiä, koska näin salasanakin säilyy suojattuna toisin kuin telnet-liikenteessä ja suojatun liikenteen määrä verkossa lisääntyy.

Windows-koneilla suosittu SSH-etäkäyttöohjelma on PuTTY. Salattuja tunnustusmenetelmiä ovat mm. RSA-menetelmä, joka luotiin 70-luvulla ja on toistaiseksi yksi turvallisimmista salausmenetelmistä. Asiantuntijat kuitenkin epäilevät että mahdollisten kvanttitietokoneiden yleistyminen tekee menetelmän vanhanaikaiseksi ja turhaksi.

Verkkosovelluskehitys Blögi Markus Sorjonen