TCP/IP
OSI ja Protokollapino OSI: Open Systems Interconnection OSI Malli TCP/IP hierarkia Protokollat 7 Sovelluskerros 6 Esitystapakerros Sovellus 5 Istuntokerros 4 Kuljetuskerros 3 Verkkokerros Linkkikerros Fyysinenkerros Kuljetus Verkko Linkki/Fyysinen Linkki / Fyysinen : laiteajurit ja verkkoliityntä Verkkokerros : pakettien ohjaus, reititys Kuljetuskerros : luotettava datansiirto Sovelluskerros : sovelluskohtaiset yksityiskohdat
Sovelluksen datan kapselointi 3 Data lähetetään protokollapinossa Jokainen kerros lisää omat otsikot (vrt. Moniste / monitorointi) Tavua 0Tavua 0Tavua 4Tavua 64-500 Tavua (Ethernet)
Ethernet 4 Tietokone <-> Tietokone kommunikointi samassa verkossa Jokaisella laitteella yksilöllinen MAC -osoite (48-bit) esim: 00-C0-4F-48-47-93 Ethernet kehys: Preamble Dest. address Source address Type Data CRC 8tavua 6tavua 6tavua tavua 64 500tavua 4tavua MAC: Media Access Control
ARP : Address Resolution Protocol 5 ARP sitoo / mappaa 3bit IP -osoite <-> 48bit MAC -osoite 8.97.89.53 <-> 00-C0-4F-48-47-93 ARP cache Sisältää viimeiksi käytetyt osoitesidokset: IP osoite <-> MAC -osoite Protokolla. ARP request, yhteislähetys (broadcast) -kysytään kohteen MAC -osoitetta. Kohdelaitteen ARP -kerros vastaa -lähetetään MAC -osoite sitä kysyvälle laitteelle
IP: Internet Protokolla 6 Vastuussa sanomien reitityksestä laitteiden / IP verkkojen välillä IP otsikko: 03 4567 890 345 6789 03 4567 33 890 :ICMP 6 :TCP 7 :UDP
IP Reititys 7 Lähde Sovellus Kuljetus Verkko Fyysinen Reititin Verkko Fyysinen Kohde Sovellus Kuljetus Verkko Fyysinen Reititystaulu Kohteen IP -osoite Seuraavan hypyn IP osoite (reititin) Liput Verkkoliityntöjen määrittely
ICMP : Internet Control Message Protocol 8 Käytetään raportoimaan ongelmista IP datagrammien kuljetuksessa IP verkoissa Ping, Tracerout ICMP sanoma 0tavua 4tavua Tyypit ja koodit Echo Request (type=8, code=0) Echo Reply(type=0, code=0) Destination Unreachable(type=3, code=0) IP otsikko ICMP otsikko Time Exceeded(type=, code=0) : Time-to-Live =0 ICMP data Type Code Checksum tavu tavu tavua
TCP : Transmission Control Protocol 9 Yhteydellinen, luotettava, tiedonsiitopalvelu Protokolla. Yhteyden muodostus. Datan siirto 3. Yhteyden sulkeminen TCP -otsikko 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 3 0 3 Source Port Destination Port Sequence Number Acknowledgement Number Data Offset - - - - Window Checksum Urgent Pointer Options (0 to 0 Words of 3 Bits) TCP Payload
TCP : Tilakaavio 0
TCP : Yhteys Asiakas Palvelin Asiakas Palvelin Send SYN seq=x Receive SYN +ACK segment Send ACK y+ Receive SYN segment Send SYN seq=y, ACK x+ Receive ACK segment Send FIN seq=x Receive ACK segment Receive FIN + ACK segment Send ACK y+ Receive FIN segment Send ACK x+ Send FIN seq=y, ACK x+ Receive ACK segment TCP yhteyden muodostus TCP yhteyden sulkeminen
TCP : Datan siirto kun paketti hukkuu Asiakas Palvelin Ajastin Lähetä paketti Käynnistä ajastin ACKn pitäisi normaalisti saapua Paketti katoaa Paketin pitäisi saapua Kuittaus ACK pitäisi lähettää Ajastin vanhenee Ajastin Uudellenlähetä paketti Käynnistä ajastin Paketti saapuu Lähetä kuittaus ACK kuittaus ACK saapuu Sulje ajastin
HTTP : Hyper Text Transfer Protocol 3 Tilaton tiedonsiirtoprotokolla Jokainen transaktio luo uuden yhteyden Perustoiminta tiedonsiirrossa:. Establish connection. Request Method <URL> <CR> 3. Response Response Code <Data> <CR> 4. Close connection
HTTP 4 Yleiset pyyntö metodit (Common Request Methods) GET, PUT, POST Vasteet (Response Categories) Informational :00 Successful :00 Redirection :300 Client Error Server Error :500 :400 (eg. 404 Not found)
Esimerkki: http://www.tielab.h-h.fi 5 Asiakas Sovellus HTTP Kuljetusk TCP Verkkok IP Link/fyys ethernet Http request GET http://www.tielab.h-h.fi <CR> Http response 00 <CR> <html file in MIME format> Yhteyden muodostus (kättely) Paketoi data (lisää TCP otsikko) lähetä http pyyntö (request) Assemble response (pilko paketteihin) Lähetä http vaste (response ) Sulje yhteys (kättely) lähetä data seuraavalle solmulle Välitä data ARP selvittää IP/MAC vastaavuuden Verkkok IP Link/fyys ethernet Reititin Palvelin Sovellus HTTP Kuljetusk TCP Verkkok IP Link/fyys ethernet