distributed system (1104451)7 tcp/ip four-layer model

35

Upload: nunziatina-piccolo

Post on 02-May-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed System (1104451)7 TCP/IP four-layer model
Page 2: Distributed System (1104451)7 TCP/IP four-layer model
Page 3: Distributed System (1104451)7 TCP/IP four-layer model
Page 4: Distributed System (1104451)7 TCP/IP four-layer model
Page 5: Distributed System (1104451)7 TCP/IP four-layer model
Page 6: Distributed System (1104451)7 TCP/IP four-layer model
Page 7: Distributed System (1104451)7 TCP/IP four-layer model

Distributed System (1104451) 7

TCP/IP four-layer model

Page 8: Distributed System (1104451)7 TCP/IP four-layer model

Distributed System (1104451) 8

Protocols

• Application = HTTP, FTP, SMTP, NSF, Telnet, SSH, ECHO, …

• Presentation = SMB, NCP, …• Session = SSH, NetBIOS, RPC, …• Transport = TCP, UDP, …• Network = IP, ICMP, IPX• Data link = Ethernet, Token Ring, ISDN, …• Physical = 100BASE-T, 1000BASE-T,

802.11

Page 9: Distributed System (1104451)7 TCP/IP four-layer model

Distributed System (1104451) 9

IP, TCP, and UDP

• IP (Internet Protocol)• TCP (Transmission Control Protocol)• UDP (User Datagram Protocol) =

Unreliable communication, no ordering guarantee (e.g., DNS, TFTP, VoIP, …)

Page 10: Distributed System (1104451)7 TCP/IP four-layer model

Distributed System (1104451) 10

Ports• A port is a special number present in the data

packet. • Ports are typically used to map data to a particular

process running on a computer (i.e., which process associates with the data determining by port number)

• IANA (Internet Assigned Numbers Authority) is responsible for assigning TCP and UDP port numbers to specific used.– Well-known ports (0-1023)– Registered ports (1024-49151)– Dynamic and/or Private ports (49152-65535)

Page 11: Distributed System (1104451)7 TCP/IP four-layer model

Distributed System (1104451) 11

The Client-Server Model

Page 12: Distributed System (1104451)7 TCP/IP four-layer model

Distributed System (1104451) 12

Socket Application• A socket is a connection between two hosts

(endpoints).• A socket can perform 7 basic operations.

– Connect to a remote machine– Send data– Receive data– Close a connection– Bind to a port– Listen for incoming data– Accept connections from remote machines on

the bound port

Page 13: Distributed System (1104451)7 TCP/IP four-layer model
Page 14: Distributed System (1104451)7 TCP/IP four-layer model
Page 15: Distributed System (1104451)7 TCP/IP four-layer model
Page 16: Distributed System (1104451)7 TCP/IP four-layer model
Page 17: Distributed System (1104451)7 TCP/IP four-layer model
Page 18: Distributed System (1104451)7 TCP/IP four-layer model
Page 19: Distributed System (1104451)7 TCP/IP four-layer model
Page 20: Distributed System (1104451)7 TCP/IP four-layer model
Page 21: Distributed System (1104451)7 TCP/IP four-layer model
Page 22: Distributed System (1104451)7 TCP/IP four-layer model
Page 23: Distributed System (1104451)7 TCP/IP four-layer model
Page 24: Distributed System (1104451)7 TCP/IP four-layer model
Page 25: Distributed System (1104451)7 TCP/IP four-layer model
Page 26: Distributed System (1104451)7 TCP/IP four-layer model
Page 27: Distributed System (1104451)7 TCP/IP four-layer model
Page 28: Distributed System (1104451)7 TCP/IP four-layer model
Page 29: Distributed System (1104451)7 TCP/IP four-layer model
Page 30: Distributed System (1104451)7 TCP/IP four-layer model
Page 31: Distributed System (1104451)7 TCP/IP four-layer model

Sistemi distribuitiSistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui le comunicazioni avvengono solo esclusivamente tramite lo scambio di opportuni messaggi. •Con il termine processo si indica, in genere, una qualsiasi entità capace di comunicare con un altro processo e di eseguire un algoritmo distribuito. •A differenza di un algoritmo tradizionale è necessario includere nella definizione di algoritmo distribuito anche i messaggi che vengono scambiati tra i vari processi, poiché anch'essi sono essenziali nell‘ esecuzione e nella terminazione dell'algoritmo.•Esempi: cluster, internet, ecc.

Page 32: Distributed System (1104451)7 TCP/IP four-layer model

Web Service

• Web Service è un sistema software progettato per supportare l'interoperabilità tra diversi elaboratori su di una medesima rete ovvero in un contesto distribuito.

• Un Web Service viene implementato associando all'applicazione un'interfaccia software (Web Services Description Language) che descrive il servizio/i associato/i

• Per mezzo di questa interfaccia altri sistemi possono interagire con l'applicazione stessa tramite appositi "messaggi" di richiesta: tali messaggi di richiesta sono inclusi in una "busta" (REST, SOAP), formattati secondo lo standard XML, incapsulati e trasportati tramite i protocolli del Web (solitamente HTTP), da cui appunto il nome web service.

Page 33: Distributed System (1104451)7 TCP/IP four-layer model

Socket

• Nei sistemi operativi moderni, con il termine socket si indica un'astrazione software progettata per poter utilizzare delle API standard e condivise per la trasmissione e la ricezione di dati attraverso una rete oppure come meccanismo di IPC (Inter-Process Communication)

• È il punto in cui il codice applicativo di un processo accede al canale di comunicazione per mezzo di una porta, ottenendo una comunicazione tra processi che lavorano su due macchine fisicamente separate.

• Dal punto di vista di un programmatore un socket è un particolare oggetto sul quale leggere e scrivere i dati da trasmettere o ricevere.

Page 34: Distributed System (1104451)7 TCP/IP four-layer model

Tipi di socket• I socket sono stati introdotti nel 1983 in BSD e poi sono stati ripresi da

praticamente tutti gli altri sistemi operativi. Per questo motivo solitamente le funzioni di programmazione dei socket vengono chiamate Berkeley socket API.

• Ci sono due tipi fondamentali di socket:• I socket tradizionali su protocollo IP, usati in molti sistemi operativi per le

comunicazioni attraverso un protocollo di trasporto (quali TCP o UDP);• Unix domain socket (detti anche socket locali), usati nei sistemi operativi

POSIX (Portable Operating System Interface for Unix) per le comunicazioni tra processi residenti sullo stesso computer.

• A sua volta esistono due tipi di socket su IP:• Listen, che rappresentano la possibilità di ricevere nuove connessioni. Un

socket di questo tipo è identificato dalla terna protocollo di trasporto, indirizzo IP del computer, numero di porta;

• Established, che rappresentano una particolare connessione attiva. Un socket di questo tipo è identificato dalla 5-tupla: protocollo di trasporto, indirizzo IP sorgente, indirizzo IP destinazione, numero di porta sorgente, numero di porta destinazione.

Page 35: Distributed System (1104451)7 TCP/IP four-layer model

Application Programming Interface

• Con Application Programming Interface (API), si indica ogni insieme di procedure, funzioni, strutture dati disponibili al programmatore per implementare un determinato compito all'interno di un certo programma.

• Vengono realizzate tramite librerie software disponibili in un certo linguaggio di programmazione.