Sin t - PowerPoint PPT Presentation

About This Presentation
Title:

Sin t

Description:

M quina que ofrece un servicio que puede ser accedido a trav s de la red ... Protocolo de transporte por defecto (TCP) Comunicaci n usando sockets. Servidor. Cliente ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 32
Provided by: Alejandr136
Category:
Tags: defecto | sin

less

Transcript and Presenter's Notes

Title: Sin t


1
SOCKETS
2
Máquina que ofrece un servicio que puede ser
accedido a través de la red
Esquema Cliente Servidor
Servidor
Programa que pide información a un servidor y
espera por la respuesta
3
Esquema Cliente Servidor
Espera la conexión de un cliente (espera pasiva)
Servidor
Iniciador de la conexión
4
p.e. FTP, e-mail, etc. (Aplics. Cliente/Servidor)
Capa de Aplicación
p.e. TCP/UDP
Capa de Transporte
p.e. IP
Capa de Red
Capa de Enlace de Datos
p.e. Ethernet
Capa Física
5
  • Por ejemplo
  • Aplicación cliente o servidora
  • Dirección hacia donde se transmite
  • Puerto por donde se recibe, etc.

Capa de Aplicación
Capa de Transporte
Capa de Red
Capa de Enlace de Datos
Capa Física
6
Capa de Aplicación
Network API
Capa de Transporte
Capa de Red
Application Programme Interface
Capa de Enlace de Datos
Capa Física
7
La mayoría de los sistemas han adoptado Socket
API (disponible en la mayoría de los S.O., p.e.
Linux, UNIX, Windows)
Capa de Aplicación
Network API
Capa de Transporte
Capa de Red
Capa de Enlace de Datos
Capa Física
8
Capa de Aplicación
Socket API
Capa de Transporte
  • En algunos S.O. las funciones de Socket API
    están integradas en el S.O. (p.e. BSD UNIX)
  • En otros, una biblioteca entrega las funciones
    necesarias para comunicar la Aplicación con la
    Capa de Transporte (p.e. socket.h).

9
Socket API (sockets)
  • Los sockets operan según el paradigma
    open-read-write-close (UNIX I/O).

open
Se crea el socket
Análogamente al trabajo con archivos, open
retorna un descriptor a un socket.
10
Socket API (sockets)
  • Los sockets operan según el paradigma
    open-read-write-close (UNIX I/O).

Se leen los datos entrantes al socket
read
Análogamente al trabajo con archivos, read lee
los datos que llegan al socket.
11
Socket API (sockets)
  • Los sockets operan según el paradigma
    open-read-write-close (UNIX I/O).

Se escriben datos en el socket
write
Análogamente al trabajo con archivos, write
escribe datos en el socket.
12
Socket API (sockets)
  • Los sockets operan según el paradigma
    open-read-write-close (UNIX I/O).

close
Análogamente al trabajo con archivos, close
indica que se ha terminado de usar el socket.
13
Socket API (sockets)
  • En realidad, la comunicación usando sockets es
    algo más complicada que open-read-write-close.
  • Por ejemplo, es necesario especificar
  • protocolo de transporte
  • dirección destino
  • tipo de dirección destino
  • si se trata de un servidor, puerto por el que
    recibe las peticiones
  • etc.

14
Comunicación usando sockets
Servidor
Familia de protocolos a usar en la comunicación
AF_UNIX Comunicación interna AF_INET
TCP/IP AF_APPLETALK Apple Talk AF_NS Xerox
NS AF_CCITT Protocolos CCITT, X25, etc. AF_SNA
IBM SNA AF_DECnet DECnet
Cliente
15
Comunicación usando sockets
Servidor
Tipo de comunicación que usará el socket
SOCK_DGRAM Modo no conectado SOCK_STREAM Modo
conectado SOCK_RAW Acceso a protocolos de más
bajo nivel (p.e. IP). Superusuario. SOCK_SEQPACKET
Para comunica-ciones con Xerox NS.
Cliente
16
Comunicación usando sockets
Servidor
Protocolo de transporte que usará el socket
Cliente
0 protocolo por defecto
17
Comunicación usando sockets
Servidor
Cliente
Protocolo de transporte por defecto (TCP)
Modo conectado
Familia TCP/IP
Por ejemplo socksocket(PF_INET,SOCK_STREAM,0)
18
Comunicación usando sockets
El servidor asocia el descriptor del socket al
puerto por el que recibirá las peticiones y a la
dirección local
Servidor
Cliente
Descriptor del socket retornado por la función
socket
19
Comunicación usando sockets
El servidor asocia el descriptor del socket al
puerto por el que recibirá las peticiones y a la
dirección local
Servidor
Cliente
struct sockaddr u_short sa_family char sa_
data14
20
Comunicación usando sockets
El servidor asocia el descriptor del socket al
puerto por el que recibirá las peticiones y a la
dirección local
Servidor
Largo de la dirección local (medido en bytes)
Cliente
21
Comunicación usando sockets
El servidor queda en espera...
Servidor
Especifica el largo de la fila de peticiones de
clientes esperando ser atendidas
Cliente
Descriptor del socket
22
Comunicación usando sockets
Servidor
  • Resumen actividades hechas por el servidor (hasta
    ahora)
  • Crea un socket (socket)
  • Le asocia un puerto y una dirección local (bind)
  • Queda en espera (listen)

23
Comunicación usando sockets
Y el cliente... una vez creado el socket...
Cliente
24
Comunicación usando sockets
Se conecta (sólo si se trata de un servicio
SOCK_STREAM) al servidor a través de su socket.
Para esto le asocia el puerto del servidor y su
dirección .
Servidor
Cliente
Descriptor del socket retornado por la función
socket
25
Comunicación usando sockets
Se conecta (sólo si se trata de un servicio
SOCK_STREAM) al servidor a través de su socket.
Para esto le asocia el puerto del servidor y su
dirección.
Servidor
Cliente
26
Comunicación usando sockets
Se conecta (sólo si se trata de un servicio
SOCK_STREAM) al servidor a través de su socket.
Para esto le asocia el puerto del servidor y su
dirección.
Servidor
Largo de la dirección destino(medido en bytes)
Cliente
27
Comunicación usando sockets
  • Resumen actividades hechas por el cliente (hasta
    ahora)
  • Crea un socket (socket)
  • Le asocia un puerto y una dirección destino
    (connect, sólo en caso de un servicio con
    conexión)

Cliente
28
Comunicación usando sockets
Se inicia la transferencia de información
Servidor
read, readv, recv, recvfrom, recvmsg
Cliente
write, writev, send, sendto, sendmsg
29
Comunicación usando sockets
Se inicia la transferencia de información
Servidor
write, writev, send, sendto, sendmsg
Cliente
read, readv, recv, recvfrom, recvmsg
30
Comunicación usando sockets RESUMEN
CLIENTE
SERVIDOR
read
31
./etc/services (primeras líneas)
tcpmux 1/tcp echo 7/tcp echo 7/udp discard 9/tcp
sink null discard 9/udp
sink null systat 11/tcp
users daytime 13/tcp daytime
13/udp netstat 15/tcp chargen
19/tcp ttytst source chargen
19/udp ttytst source ftp-data
20/tcp ftp 21/tcp telnet
23/tcp smtp 25/tcp mail
Write a Comment
User Comments (0)
About PowerShow.com