Kort om TCP/IP nätverk
Ett protokoll är en överenskommelse om hur kommunikationen över nätverket ska ske.
OSI-modellen
Enligt Open Systems Interconnect eller OSI-modellen finns det flera olika protokoll i olika skikt som samverkar när information ska överföras i ett nätverk.
De skikt som är intressanta när man jobbar i praktiken med webbutveckling är nät-, transport-, presentations- och applikationsskikten. Det betyder att man behöver ha lite koll på protokoll som TCP, IP, SSL och HTTP.
- I applikationsskiktet finns själva programmen, t.ex. webbläsaren eller webbservern. De kallas också processer. De kommunicerar genom protokoll såsom HTTP och SSH.
- Presentationsskiktet handlar om att formatera informationen enligt någon standard så att den går att överföra med hjälp av de underliggande protokollen. T.ex. filformat och teckenkodning
- Sessionsskiktet ska se till att program, processer, kan upprätthålla en uppkoppling till varandra
- Protokollet TCP i transportskiktet ser till att informationen paketeras i lagom stora delar samt att alla paket som skickats verkligen kommer fram
- I nätverksskiktet används protokollet IP Internet Protocol för kommunikation över internet, samt även i lokala nätverk. Detta skikt ska se till att informationen hittar från sändaren till mottagaren. Tänk routrar
- Datalänk är vad som bestämmer hur informationen överförs över den fysiska länken. För kablar är detta oftast ett protokoll som heter Ethernet
- Skiktet längst ner är den fysiska uppkopplingen, nätverkskablar eller radiolänk
När protokollet HTTP används över TCP över IP sköter
- HTTP skikten 1-3
- TCP skikt 4
- IP skikt 5
- Ethernet eller WiFi skikt 6-7
TCP
Transmission Control Protocol
Portar och sockets
Två processer talar med varandra via vad som kallas för sockets. De är så kallade ändpunkter och definieras som en IP-adress och ett portnummer. En dator på nätverket kan genom detta system vara uppkopplad via t.ex. HTTP-protokollet till flera andra datorer samtidigt.
En webbserver kan ta emot många samtidiga uppkopplingar till sin port 80. Vilket resulterar i vad vi förväntar oss av den: flera besökare kan samtidigt besöka sidor på servern.
Applikationsskiktet http://www.hardwaresecrets.com/how-tcp-ip-protocol-works-part-1/2/
Gränssnitt mellan två processer http://stackoverflow.com/questions/152457/what-is-the-difference-between-a-port-and-a-socket