SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
SOCKETS


   2   Arquitectura
       Client - Servidor
ARQUITECTURA CLIENT – SERVIDOR
          Conceptes bàsics




         http://youtu.be/2kezQTo57yM
ARQUITECTURA CLIENT – SERVIDOR
                   Conceptes bàsics

• Aplicació: Es compon de les aplicacions
  de xarxa (FTP, SMTP, ..)                  Aplicació
• Transport: Transferència de dades
  host-host (TCP, UDP)
                                            Transport
• Internet:      Encaminament         de
  datagrames des de la font al destí (IP,    Internet
  protocols d’encaminament, ..).
                                            Accés a la
• Accés a la xarxa: Transferència de          xarxa
  dades entre elements veïns en la xarxa.
ARQUITECTURA CLIENT – SERVIDOR
                       Què és un port?

Un port en la capa de
transport es troba                            Aplicació
representat per un numero
de 16 bits que s’utilitza per
                                              Transport
identificar els punts finals de
la connexió en les                             Internet
capçaleres UDP o TCP.
                                              Accés a la
                                                xarxa
Port vs Socket: http://youtu.be/diasbxQYiSY
ARQUITECTURA CLIENT – SERVIDOR
              Què és un port?

 Els números de ports oscil·len entre 0 i
  65.535.

 La pila de protocols de xarxa afegeix els
  ports com una abstracció per la xarxa.

 Són canals que utilitza el subsistema de
  xarxa per readreçar la informació al
  programa adient.
ARQUITECTURA CLIENT – SERVIDOR
              Classificació dels ports
 Ports ben coneguts (well-known ports) [0, 1023]
   S’utilitzen per serveis de xarxa ben coneguts
   (FTP, HTTP, Telnet, DNS, …)

 Ports registrats
   Oscil·len entre el 1.024 i el 49.151 i tant poden
   ser utilitzats temporalment pels clients      com
   poden representar serveis registrats per un tercer.

 Ports dinàmics o privats
   Oscil·len entre 49.152 i 65.535; si bé poden ser
   utilitzats pel client, s’utilitzen amb menys
   freqüència.
ARQUITECTURA CLIENT – SERVIDOR
                       Sòcols
 Un número de port i una adreça de xarxa.

 Un parell de sòcols, un en cada host, formen una
  connexió única.

 És el punt final d’un enllaç de comunicació de
  dues vies entre dos programes que s’executen a
  través de la xarxa.

 El client i el servidor s’han de posar d’acord sobre
  quin protocol utilitzaran.
ARQUITECTURA CLIENT - SERVIDOR
             Què és un procés?

 Es tracta d’un programa en execució en un
  ordinador.

 Dins de la màquina dos processos es
  comuniquen utilitzant la comunicació entre
  processos (definida pel sistema operatiu).

 Els processos en diferents hosts es
  comuniquen mitjançant el intercanvi de
  missatges.
ARQUITECTURA CLIENT - SERVIDOR
                  Què és un procés?
 Els processos envien/reben missatges a/des dels seus
  sòcols
    El procés transmissor treu els missatges pel seu port.
    El procés transmissor confia en la infraestructura de
      transport a l’altre costat del port encarregada de
      portar els missatges al sòcol en el procés receptor.
ARQUITECTURA CLIENT - SERVIDOR
                        Relació procés/sòcol

        = procés                  = sòcol (socket)


Aplicació          P3      P1   Aplicació      P3    P4      Aplicació

Transport                       Transport                   Transport

Internet                         Internet                      Internet

Accés a la xarxa            Accés a la xarxa              Accés a la xarxa


     Host 1                      Host 2                   Host 3
ARQUITECTURA CLIENT - SERVIDOR
               Classificació de sòcols

 Orientat a connexió
     Defineix un camí virtual entre el servidor i el client.
     És fiable: No hi han pèrdues de informació ni duplicats.
     La informació arriba en el mateix ordre que s’envia.

     El client obre una sessió en el servidor i aquest guarda
      un estat del client.
ARQUITECTURA CLIENT - SERVIDOR
              Classificació de sòcols

 No orientat a connexió
     Enviament de datagrames de grandària fixe.
     No és fiable: Poden haver-hi pèrdues de informació i
      duplicats.
     La informació pot arribar en un ordre al que s’envia.

     No es guarda cap estat del client en el servidor; és per
      això que és més tolerant a fallides del sistema.
ARQUITECTURA CLIENT - SERVIDOR
               Concepte Client / Servidor
   La comunicació de dos hosts es realitza, generalment,
    mitjançant la filosofia Client/Servidor.

   L’usuari client obté serveis de la màquina remota proveïdora
    d’un servei (servidor).

   El servidor proporciona un port de comunicació pel que s’han de
    connectar tots els clients que desitgin obtenir aquest servei.

   Es defineix un sòcol en la màquina local (client) i un altre en la
    màquina remota (servidor) i es comuniquen entre ells pel port
    proporcionat.
ARQUITECTURA CLIENT – SERVIDOR
                     Procés Client
1.   Obrir el canal de comunicacions per connectar-se a
     l’adreça de xarxa atesa pel servidor.

2.   Enviar al servidor un missatge de petició de servei i
     esperar fins a rebre resposta.

3.   Tancar el canal de comunicació i acabar l’execució del
     procés.
ARQUITECTURA CLIENT – SERVIDOR
                     Procés Servidor
1.   Obrir el canal de comunicacions i informar a la xarxa tant
     de l’adreça per la que respondrà com de la disposició per
     acceptar peticions de servei.

2.   Esperar a que el client realitzi una petició de servei en
     l’adreça que té declarada.

3.   Quan rep una petició de servei, atén al client.

4.   La connexió es tanca.
ARQUITECTURA CLIENT – SERVIDOR
      Processos que es comuniquen


Procés Client: Procés que inicia la
comunicació.


Procés servidor: Procés             que
espera per ser contactat
ARQUITECTURA CLIENT – SERVIDOR
      Processos que es comuniquen


Procés Client: Procés que inicia la
comunicació.


Procés servidor: Procés             que
espera per ser contactat
Seqüència de crides per una
comunicació Client / Servidor
    Orientada a connexió
                                Comunicació C/S orientada a connexió
                                                                       ARQUITECTURA CLIENT – SERVIDOR
Seqüència de crides per una
comunicació Client / Servidor
   No orientada a connexió
                                Comunicació C/S no orientada a connexió
                                                                          ARQUITECTURA CLIENT – SERVIDOR
ARQUITECTURA CLIENT – SERVIDOR
                    Stream

• És una seqüència de dades habilitats en un
  moment donat.

• Una abstracció utilitzada quan es llegeixen o
  escriuen arxius, o quan es realitza una
  comunicació mitjançant sòcols.

• Són canals preconnectats d’entrades i sortides
  entre una computadora, generalment una
  seqüència de bytes.
ARQUITECTURA CLIENT – SERVIDOR
                      Tipus d’stream

• Les connexions I/O són conegudes com entrada
  estàndard, sortida estàndard i sortida d’error
  estàndard.

   Terminal de text         #2 stderr

       monitor            #1 stdout
                                        programa
        teclat
                            #0 stdin
ARQUITECTURA CLIENT – SERVIDOR
                  Tipus d’stream

• Un stream (fluxe) és una seqüència de caràcters
  que flueixen cap a o des de un procés.

• Un input stream (flux d’entrada) està lligat a
  alguna font d’entrada pel procés, per exemple,
  teclat o sòcol.

• Un output stream (flux de sortida) està lligat a una
  sortida del procés, per exemple, monitor o sòcol.
ARQUITECTURA CLIENT – SERVIDOR
           Exemple d’aplicació client - servidor
1) El client llegeix línies des de
   l’entrada       estàndard         (flux
   inFromUser), les envia al servidor
   per via d’un sòcol (flux outToServer).

2) El servidor llegeix línies des del
   sòcol.

3) El servidor les converteix a
   majúscules i les envia de tornada al
   client.

4) El client llegeix i mostra la línia
   modificada des del sòcol (flux
   inFromServer)
ARQUITECTURA CLIENT – SERVIDOR
    Exemple d’aplicació client - servidor

Contenu connexe

Similaire à 1213 Sockets [2] Arquitectura client - servidor

Xarxes Multimèdia - PAC 2 - Grau Multimèdia - UOC
Xarxes Multimèdia - PAC 2 - Grau Multimèdia - UOCXarxes Multimèdia - PAC 2 - Grau Multimèdia - UOC
Xarxes Multimèdia - PAC 2 - Grau Multimèdia - UOCPaquita Ribas
 
Xarxes i cablatge IV serv-transmissions i arquitectures
Xarxes i cablatge IV serv-transmissions i arquitecturesXarxes i cablatge IV serv-transmissions i arquitectures
Xarxes i cablatge IV serv-transmissions i arquitecturesCarlos Cardelo
 
Xarxes i cablatge V elements i dispositius
Xarxes i cablatge V elements i dispositiusXarxes i cablatge V elements i dispositius
Xarxes i cablatge V elements i dispositiusCarlos Cardelo
 
Power point/ Model Client-Servidor
Power point/ Model Client-ServidorPower point/ Model Client-Servidor
Power point/ Model Client-Servidoranarodriguezpozo
 
Xarxes Multimèdia - PAC 2 solució - Grau Multimèdia - UOC
Xarxes Multimèdia - PAC 2 solució - Grau Multimèdia - UOCXarxes Multimèdia - PAC 2 solució - Grau Multimèdia - UOC
Xarxes Multimèdia - PAC 2 solució - Grau Multimèdia - UOCPaquita Ribas
 
Model client servidor
Model client servidorModel client servidor
Model client servidor_claudiapa
 
Nvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesNvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesninoska1995
 
Nvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesNvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesninoska1995
 
Nvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesNvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesninoska1995
 
Estructura client servidor
Estructura client servidorEstructura client servidor
Estructura client servidorEl Topo Willy
 
Treball de l'estructura client-servidor
Treball de l'estructura client-servidorTreball de l'estructura client-servidor
Treball de l'estructura client-servidorJoellCPXVII
 
Model Client Servidor
Model Client ServidorModel Client Servidor
Model Client ServidorMaria Ward
 
Capa 2 - Enllaç de dades i adreça MAC
Capa 2 - Enllaç de dades i adreça MACCapa 2 - Enllaç de dades i adreça MAC
Capa 2 - Enllaç de dades i adreça MACAitor Mendoza
 
Estructura client servidor en la xarxa
Estructura client servidor en la xarxaEstructura client servidor en la xarxa
Estructura client servidor en la xarxaAnaHC
 

Similaire à 1213 Sockets [2] Arquitectura client - servidor (20)

Xarxes Multimèdia - PAC 2 - Grau Multimèdia - UOC
Xarxes Multimèdia - PAC 2 - Grau Multimèdia - UOCXarxes Multimèdia - PAC 2 - Grau Multimèdia - UOC
Xarxes Multimèdia - PAC 2 - Grau Multimèdia - UOC
 
Xarxes i cablatge IV serv-transmissions i arquitectures
Xarxes i cablatge IV serv-transmissions i arquitecturesXarxes i cablatge IV serv-transmissions i arquitectures
Xarxes i cablatge IV serv-transmissions i arquitectures
 
Xarxes socials xs pere-r
Xarxes socials xs pere-rXarxes socials xs pere-r
Xarxes socials xs pere-r
 
Xarxes i cablatge V elements i dispositius
Xarxes i cablatge V elements i dispositiusXarxes i cablatge V elements i dispositius
Xarxes i cablatge V elements i dispositius
 
Ports i connectors
Ports i connectorsPorts i connectors
Ports i connectors
 
Origen de l'ordinador.
Origen de l'ordinador.Origen de l'ordinador.
Origen de l'ordinador.
 
Power point/ Model Client-Servidor
Power point/ Model Client-ServidorPower point/ Model Client-Servidor
Power point/ Model Client-Servidor
 
Treball complet
Treball completTreball complet
Treball complet
 
Xarxes Multimèdia - PAC 2 solució - Grau Multimèdia - UOC
Xarxes Multimèdia - PAC 2 solució - Grau Multimèdia - UOCXarxes Multimèdia - PAC 2 solució - Grau Multimèdia - UOC
Xarxes Multimèdia - PAC 2 solució - Grau Multimèdia - UOC
 
Model client servidor
Model client servidorModel client servidor
Model client servidor
 
Nvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesNvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiques
 
Nvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesNvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiques
 
Nvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiquesNvaca378 xarxes informàtiques
Nvaca378 xarxes informàtiques
 
Estructura client servidor
Estructura client servidorEstructura client servidor
Estructura client servidor
 
Treball de l'estructura client-servidor
Treball de l'estructura client-servidorTreball de l'estructura client-servidor
Treball de l'estructura client-servidor
 
Model Client Servidor
Model Client ServidorModel Client Servidor
Model Client Servidor
 
Crear una VPN PPTP amb Mikrotik
Crear una VPN PPTP amb MikrotikCrear una VPN PPTP amb Mikrotik
Crear una VPN PPTP amb Mikrotik
 
Informatica
InformaticaInformatica
Informatica
 
Capa 2 - Enllaç de dades i adreça MAC
Capa 2 - Enllaç de dades i adreça MACCapa 2 - Enllaç de dades i adreça MAC
Capa 2 - Enllaç de dades i adreça MAC
 
Estructura client servidor en la xarxa
Estructura client servidor en la xarxaEstructura client servidor en la xarxa
Estructura client servidor en la xarxa
 

Plus de Oriol Torres

Presentation of Treat or Treat
Presentation of Treat or TreatPresentation of Treat or Treat
Presentation of Treat or TreatOriol Torres
 
Presentación pública Treat or Treat
Presentación pública Treat or TreatPresentación pública Treat or Treat
Presentación pública Treat or TreatOriol Torres
 
1213 Threads [4] Sincronització
1213 Threads [4] Sincronització1213 Threads [4] Sincronització
1213 Threads [4] SincronitzacióOriol Torres
 
1213 Threads [5] Accés a fitxers
1213 Threads [5] Accés a fitxers1213 Threads [5] Accés a fitxers
1213 Threads [5] Accés a fitxersOriol Torres
 
1213 Threads [2] Programació concurrent
1213 Threads [2] Programació concurrent1213 Threads [2] Programació concurrent
1213 Threads [2] Programació concurrentOriol Torres
 
1213 Sockets [3] Programació
1213 Sockets [3] Programació1213 Sockets [3] Programació
1213 Sockets [3] ProgramacióOriol Torres
 
Appetite apps stats market
Appetite apps stats marketAppetite apps stats market
Appetite apps stats marketOriol Torres
 

Plus de Oriol Torres (7)

Presentation of Treat or Treat
Presentation of Treat or TreatPresentation of Treat or Treat
Presentation of Treat or Treat
 
Presentación pública Treat or Treat
Presentación pública Treat or TreatPresentación pública Treat or Treat
Presentación pública Treat or Treat
 
1213 Threads [4] Sincronització
1213 Threads [4] Sincronització1213 Threads [4] Sincronització
1213 Threads [4] Sincronització
 
1213 Threads [5] Accés a fitxers
1213 Threads [5] Accés a fitxers1213 Threads [5] Accés a fitxers
1213 Threads [5] Accés a fitxers
 
1213 Threads [2] Programació concurrent
1213 Threads [2] Programació concurrent1213 Threads [2] Programació concurrent
1213 Threads [2] Programació concurrent
 
1213 Sockets [3] Programació
1213 Sockets [3] Programació1213 Sockets [3] Programació
1213 Sockets [3] Programació
 
Appetite apps stats market
Appetite apps stats marketAppetite apps stats market
Appetite apps stats market
 

1213 Sockets [2] Arquitectura client - servidor

  • 1. SOCKETS 2 Arquitectura Client - Servidor
  • 2. ARQUITECTURA CLIENT – SERVIDOR Conceptes bàsics http://youtu.be/2kezQTo57yM
  • 3. ARQUITECTURA CLIENT – SERVIDOR Conceptes bàsics • Aplicació: Es compon de les aplicacions de xarxa (FTP, SMTP, ..) Aplicació • Transport: Transferència de dades host-host (TCP, UDP) Transport • Internet: Encaminament de datagrames des de la font al destí (IP, Internet protocols d’encaminament, ..). Accés a la • Accés a la xarxa: Transferència de xarxa dades entre elements veïns en la xarxa.
  • 4. ARQUITECTURA CLIENT – SERVIDOR Què és un port? Un port en la capa de transport es troba Aplicació representat per un numero de 16 bits que s’utilitza per Transport identificar els punts finals de la connexió en les Internet capçaleres UDP o TCP. Accés a la xarxa Port vs Socket: http://youtu.be/diasbxQYiSY
  • 5. ARQUITECTURA CLIENT – SERVIDOR Què és un port?  Els números de ports oscil·len entre 0 i 65.535.  La pila de protocols de xarxa afegeix els ports com una abstracció per la xarxa.  Són canals que utilitza el subsistema de xarxa per readreçar la informació al programa adient.
  • 6. ARQUITECTURA CLIENT – SERVIDOR Classificació dels ports  Ports ben coneguts (well-known ports) [0, 1023] S’utilitzen per serveis de xarxa ben coneguts (FTP, HTTP, Telnet, DNS, …)  Ports registrats Oscil·len entre el 1.024 i el 49.151 i tant poden ser utilitzats temporalment pels clients com poden representar serveis registrats per un tercer.  Ports dinàmics o privats Oscil·len entre 49.152 i 65.535; si bé poden ser utilitzats pel client, s’utilitzen amb menys freqüència.
  • 7. ARQUITECTURA CLIENT – SERVIDOR Sòcols  Un número de port i una adreça de xarxa.  Un parell de sòcols, un en cada host, formen una connexió única.  És el punt final d’un enllaç de comunicació de dues vies entre dos programes que s’executen a través de la xarxa.  El client i el servidor s’han de posar d’acord sobre quin protocol utilitzaran.
  • 8. ARQUITECTURA CLIENT - SERVIDOR Què és un procés?  Es tracta d’un programa en execució en un ordinador.  Dins de la màquina dos processos es comuniquen utilitzant la comunicació entre processos (definida pel sistema operatiu).  Els processos en diferents hosts es comuniquen mitjançant el intercanvi de missatges.
  • 9. ARQUITECTURA CLIENT - SERVIDOR Què és un procés?  Els processos envien/reben missatges a/des dels seus sòcols  El procés transmissor treu els missatges pel seu port.  El procés transmissor confia en la infraestructura de transport a l’altre costat del port encarregada de portar els missatges al sòcol en el procés receptor.
  • 10. ARQUITECTURA CLIENT - SERVIDOR Relació procés/sòcol = procés = sòcol (socket) Aplicació P3 P1 Aplicació P3 P4 Aplicació Transport Transport Transport Internet Internet Internet Accés a la xarxa Accés a la xarxa Accés a la xarxa Host 1 Host 2 Host 3
  • 11. ARQUITECTURA CLIENT - SERVIDOR Classificació de sòcols  Orientat a connexió  Defineix un camí virtual entre el servidor i el client.  És fiable: No hi han pèrdues de informació ni duplicats.  La informació arriba en el mateix ordre que s’envia.  El client obre una sessió en el servidor i aquest guarda un estat del client.
  • 12. ARQUITECTURA CLIENT - SERVIDOR Classificació de sòcols  No orientat a connexió  Enviament de datagrames de grandària fixe.  No és fiable: Poden haver-hi pèrdues de informació i duplicats.  La informació pot arribar en un ordre al que s’envia.  No es guarda cap estat del client en el servidor; és per això que és més tolerant a fallides del sistema.
  • 13. ARQUITECTURA CLIENT - SERVIDOR Concepte Client / Servidor  La comunicació de dos hosts es realitza, generalment, mitjançant la filosofia Client/Servidor.  L’usuari client obté serveis de la màquina remota proveïdora d’un servei (servidor).  El servidor proporciona un port de comunicació pel que s’han de connectar tots els clients que desitgin obtenir aquest servei.  Es defineix un sòcol en la màquina local (client) i un altre en la màquina remota (servidor) i es comuniquen entre ells pel port proporcionat.
  • 14. ARQUITECTURA CLIENT – SERVIDOR Procés Client 1. Obrir el canal de comunicacions per connectar-se a l’adreça de xarxa atesa pel servidor. 2. Enviar al servidor un missatge de petició de servei i esperar fins a rebre resposta. 3. Tancar el canal de comunicació i acabar l’execució del procés.
  • 15. ARQUITECTURA CLIENT – SERVIDOR Procés Servidor 1. Obrir el canal de comunicacions i informar a la xarxa tant de l’adreça per la que respondrà com de la disposició per acceptar peticions de servei. 2. Esperar a que el client realitzi una petició de servei en l’adreça que té declarada. 3. Quan rep una petició de servei, atén al client. 4. La connexió es tanca.
  • 16. ARQUITECTURA CLIENT – SERVIDOR Processos que es comuniquen Procés Client: Procés que inicia la comunicació. Procés servidor: Procés que espera per ser contactat
  • 17. ARQUITECTURA CLIENT – SERVIDOR Processos que es comuniquen Procés Client: Procés que inicia la comunicació. Procés servidor: Procés que espera per ser contactat
  • 18. Seqüència de crides per una comunicació Client / Servidor Orientada a connexió Comunicació C/S orientada a connexió ARQUITECTURA CLIENT – SERVIDOR
  • 19. Seqüència de crides per una comunicació Client / Servidor No orientada a connexió Comunicació C/S no orientada a connexió ARQUITECTURA CLIENT – SERVIDOR
  • 20. ARQUITECTURA CLIENT – SERVIDOR Stream • És una seqüència de dades habilitats en un moment donat. • Una abstracció utilitzada quan es llegeixen o escriuen arxius, o quan es realitza una comunicació mitjançant sòcols. • Són canals preconnectats d’entrades i sortides entre una computadora, generalment una seqüència de bytes.
  • 21. ARQUITECTURA CLIENT – SERVIDOR Tipus d’stream • Les connexions I/O són conegudes com entrada estàndard, sortida estàndard i sortida d’error estàndard. Terminal de text #2 stderr monitor #1 stdout programa teclat #0 stdin
  • 22. ARQUITECTURA CLIENT – SERVIDOR Tipus d’stream • Un stream (fluxe) és una seqüència de caràcters que flueixen cap a o des de un procés. • Un input stream (flux d’entrada) està lligat a alguna font d’entrada pel procés, per exemple, teclat o sòcol. • Un output stream (flux de sortida) està lligat a una sortida del procés, per exemple, monitor o sòcol.
  • 23. ARQUITECTURA CLIENT – SERVIDOR Exemple d’aplicació client - servidor 1) El client llegeix línies des de l’entrada estàndard (flux inFromUser), les envia al servidor per via d’un sòcol (flux outToServer). 2) El servidor llegeix línies des del sòcol. 3) El servidor les converteix a majúscules i les envia de tornada al client. 4) El client llegeix i mostra la línia modificada des del sòcol (flux inFromServer)
  • 24. ARQUITECTURA CLIENT – SERVIDOR Exemple d’aplicació client - servidor