PDF de programación - Servicios de Internet

Imágen de pdf Servicios de Internet

Servicios de Internetgráfica de visualizaciones

Publicado el 6 de Junio del 2017
529 visualizaciones desde el 6 de Junio del 2017
800,5 KB
23 paginas
Creado hace 14a (07/05/2009)
ARQUITECTURA DE REDES, SISTEMAS Y SERVICIOS

Área de Ingeniería Telemática

Servicios de Internet

Area de Ingeniería Telemática

http://www.tlm.unavarra.es

Arquitectura de Redes, Sistemas y Servicios

3º Ingeniería de Telecomunicación


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

Temario

Introducción

1. 
2.  Arquitecturas, protocolos y estándares
3.  Conmutación de paquetes
4.  Conmutación de circuitos
5.  Tecnologías
6.  Control de acceso al medio en redes de área local
7.  Servicios de Internet

1


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

Temario

Introducción
Arquitecturas, protocolos y estándares

1. 
2. 
3.  Conmutación de paquetes
4.  Conmutación de circuitos
5. 
6.  Control de acceso al medio en redes de área local
7. 

Servicios de Internet

Tecnologías

La Web
E-Mail.
FTP. Telnet

• 
• 
• 
•  Otros
• 

Desarrollo de clientes y servidores

2


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I



I

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

Material

Del Capitulo 2 de
Kurose & Ross,
“Computer Networking a top-down approach
Addison Wesley

featuring the Internet”

3


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

Las aplicaciones

•  Son software
•  Diferentes máquinas y
Sistemas Operativos

•  Quienes se comunican

son procesos

AS 2

AS 1

AS 3

Aplicación

Transporte

UDP

Red
Enlace
Físico

TCP
IP

ICMP

ARP

• 
Intercambian mensajes
•  Emplean Protocolos de
nivel de aplicación

4

Sockets


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

•  Los procesos envían y reciben

mensajes a través de un
socket

•  Delega en el nivel de

transporte para que haga
llegar los mensajes al otro
socket

•  Acceso a través de un API
•  Puede escoger el protocolo de

transporte

•  Puede configurar algunos

parámetros del mismo

•  No controla cómo se comporta

host

host

proceso
socket
TCP

controlado
por el
desarrollador

Internet

proceso
socket

TCP

Controlado por el SO

5


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

Programación con Sockets

API de Sockets
• 

Introducida en el UNIX BSD4.2
en 1983

•  Centrada en el paradigma

orientado a conexión
–  DGRAM: datagramas

cliente/servidor

•  Ofrece dos tipos de servicios de

transporte:
–  STREAM: flujo de datos fiable

Socket
•  Creado por la aplicación
•  Controlado por el S.O.
•  A través suya la aplicación

envía y recibe mensajes

Socket

App 1

Transporte

Red
Enlace
Físico

Controlado por el
programador de la
aplicación

Controlado por el
Sistema Operativo

6


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

Sockets y UDP

UDP: no hay “conexión”

entre cliente y servidor

•  No hay handshaking
•  El emisor debe indicar

explícitamente la dirección IP y
el puerto del destino para cada
paquete

•  El servidor debe extraer la
dirección IP y el puerto del
emisor del paquete

•  UDP ofrece transferencia no

fiable de grupos de bytes
(“datagramas”) entre el
cliente y el servidor

7

Ejemplo en pseudo-código
Servidor
Cliente
•  Crear el socket UDP

(Dgram)


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

•  Crear el socket UDP

(Dgram)

•  Solicitar al S.O. que se

envíen ciertos datos a un
destino (IP+puerto)
concreto (…)

•  Asignarle el puerto en el

que esperar

•  Esperar un datagrama

Datos

•  Datagrama recibido (o no)

8

Ejemplo en C (I)
Servidor

Cliente

struct sockaddr_in dirsock, emisor;
int sockservidor, ret,

frlen=sizeof(emisor);

char

*buf[2000];


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

sockservidor=socket(PF_INET,SOCK_DGRA

M,0);

if (sockservidor==-1) ERROR();
dirsock.sin_family=AF_INET;

Cliente

Transporte

Red
Enlace
Físico

Servidor

Transporte

Red
Enlace
Físico

C
r
e
a
r

e
l

s
o
c
k
e
t

U
D
P

(

)

9


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I



I

I

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

Cliente

Ejemplo en C (II)
Servidor
dirsock.sin_addr.s_addr=INADDR_ANY;
dirsock.sin_port=htons(99);
ret= bind(sockservidor, (struct

sockaddr*)&dirsock, sizeof(dirsock));

if (ret==-1) ERROR();

ret=recvfrom(sockservidor, buf, 2000, 0,

(struct sockaddr*)&emisor, &frlen);

A
s
i
g
n
a
r

P
u
e
r
t
o

(

)

a

r
e
c
i
b
i
r


E
s
p
e
r
a
r


Cliente

Transporte

Red
Enlace
Físico

Servidor

Transporte

Red
Enlace
Físico

Recibe
datagramas
al puerto 99

10


a
c
i
t



l



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

i



I



I

I

I


í
r
e
n
e
g
n

á
m
e
e
T
a

S
O
C
V
R
E
S
Y

)
S

A
M
e
(
d
E

T
a
P
S
e
D
r
S
Á
U

t
e
k
c
o
s

l
e

r
a
e
r
C

Ejemplo en C (III)
Cliente

Servidor
•  Esperando a recibir

int sockcliente, ret;
struct sockaddr_in dirsock;
struct hostent *resolvhost;

sockcliente=socket(PF_INET,SOCK_DGRAM,

0);

if (sockcliente==-1) ERROR();

Cliente

Transporte

Red
Enlace
Físico

Recibe
datagramas
al puerto 99

Servidor

Transporte

Red
Enlace
Físico

11


a
c
i
t



,



I

I

S
E
D
S
E
O
R
C
E
V
D
R
A
E
R
S

U

S
Y
T
C
S
N
E
A
T
M
D
U
E
T
Q
S
R
A
S



I

I

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

)

(

a
m
a
r
g
a
t
a
D
r
a
i
v
n
E

Ejemplo en C (y IV)
Cliente
dirsock.sin_family=AF_INET;
resolvhost=gethostbyname(“servidor.tlm.unavar

Servidor
•  Esperando a recibir

ra.es”);

if (resolvhost==NULL) ERROR();
dirsock.sin_addr.s_addr=*(u_long*)resolvhost-

>h_addr_list[0];

dirsock.sin_port=htons(99);

ret=sendto(sockcliente, buf, max, 0,

(struct sockaddr*)dirsock,
sizeof(dirsock));

if (ret==-1) ERROR();

Cliente

Transporte

Red
Enlace
Físico

Recibe
datagramas
al puerto 99

Servidor

Transporte

Red
Enlace
Físico

12

Cliente y Servidor TCP
Servidor al ser
contactado

El servidor
•  Ejecutándose primero
•  Debe haber creado un socket


,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



a
c
i
t



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

por el que espera que el cliente
contacte con él
Indica el puerto asociado

• 
El cliente
•  Crea su propio socket
•  Contacta con el servidor
•  Especifica la dirección IP del

servidor y el puerto de la
aplicación

•  Se establece la conexión TCP

con el servidor

•  Crea un nuevo socket TCP
para la comunicación con
el cliente

•  Permite que el servidor se

comunique con varios
clientes simultáneamente

13

Ejemplo en pseudo-código
Servidor
•  Crear el socket TCP

Cliente

(Stream)


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I



I

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

• 
• 

• 
• 

• 

Crear el socket TCP (Stream)
Solicitar al S.O. que lo conecte
con un destino (IP+puerto)
concreto (…)

Conexión establecida
Escribir/Leer del socket (…)

Cerrar el socket/conexión (…)

•  Asignarle el puerto en el

que esperar

•  Solicitar al S.O. que

escuche y acepte esas
conexiones

•  Esperar una conexión

Three-way
handshake


s
o
t
a
D

Finalización

•  Nueva conexión. Socket
nuevo. El original sigue
aceptando conexiones

•  Escribir/Leer del socket
•  Cierre de la conexión

14

Cliente en C (I)
Cliente

Servidor
•  Crear el socket TCP

(Stream)


,


a
c
i
t



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á



I



I

I



I

S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

)

(

P
C
T

t
e
k
c
o
s

l

e

r
a
e
r
C

int sockcliente, ret;
struct sockaddr_in dirsock;
struct hostent *resolvhost;

•  Asignarle el puerto en el

que esperar

•  Solicitar al S.O. que

escuche y acepte esas
conexiones

•  Esperar una conexión

sockcliente=socket(PF_INET,SOCK_STREAM,0);
if (sockcliente==-1) ERROR();

Cliente

Transporte

Red
Enlace
Físico

Acepta conexiones
al puerto 80

Servidor

Transporte

Red
Enlace
Físico

15

Cliente en C (II)
Cliente

Servidor
•  Esperar una conexión


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

l



i



I

I

I


í
r
e
n
e
g
n

á
m
e
e
T
a

S
O
C
V
R
E
S
Y
S
A
M
e
d
E
T
a
S
e
r

S
Á
)

(

S
N
D

I

dirsock.sin_family=AF_INET;
resolvhost=gethostbyname(“servidor.tlm.u



navarra.es”);

if (resolvhost==NULL) ERROR();
dirsock.sin_addr.s_addr=*(u_long*)resolv

host->h_addr_list[0];

dirsock.sin_port=htons(80);

Petición al

servidor de DNS

Cliente

Transporte

Red
Enlace
Físico

Acepta conexiones
al puerto 80

Servidor

Transporte

Red
Enlace
Físico

16

Cliente en C (III)
Cliente

Servidor
•  Esperar una conexión

ret=connect(sockcliente, (struct

sockaddr*)&dirsock, sizeof(dirsock));

if (ret==-1) ERROR();

•  Nueva conexión


,


a
c
i
t

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á
  • Links de descarga
http://lwp-l.com/pdf4289

Comentarios de: Servicios de Internet (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad