PDF de programación - Redes de ordenadores - TCP

Imágen de pdf Redes de ordenadores - TCP

Redes de ordenadores - TCPgráfica de visualizaciones

Publicado el 23 de Febrero del 2019
408 visualizaciones desde el 23 de Febrero del 2019
732,8 KB
24 paginas
Creado hace 25a (01/01/1999)
Informática Técnica de Gestión

Redes de ordenadores

TCP

Grupo de sistemas y comunicaciones



[email protected]

R
e
d
e
s

d
e

o
r
d
e
n
a
d
o
r
e
s
,

1
9
9
8
-
1
9
9
9
P
á
g
i
n
a

1
Informática Técnica de Gestión

33. Nivel de transporte: TCP y UDP

El nivel 2 permite en control de errores y de flujo entre máquinas directamente

accesibles.

Cuando se producen comunicaciones entre redes, no estando los ordenadores
directamente conectados unos a otros, el control de errores (IP sólo comprueba su
cabecera) y de flujo desaparecen. Los datagramas pueden llegar por rutas distintas y
en consecuencia desordenados, llegar duplicados, perderse en colas saturadas...

El nivel 4 se encarga de un control de errores y de flujo extremo a extremo,
recuperandose de los problemas que se producen en un nivel de red no fiable como
IP: datagramas perdidos, duplicados, desordenados...

En todo caso el nivel 4 puede ser un mero transmisor de los datos recibidos por la
red, y dejar que sean las propias aplicaciones quienes realicen el control de errores que
necesiten.

Los ordenadores albergan en general diversas aplicaciones concurrentemente, por
lo que el nivel de transporte también extiende el direccionamiento incorporando el
concepto de puerto, de manera que una dirección IP se puede multiplexar permitiendo
que varias aplicaciones de un mismo ordenador puedan simultáneamente estar
comunicandose con otras aplicaciones en otros ordenadores

.Los puertos permiten a varias aplicaciones acceder simultáneamente a las
comunicaciones. Hay servicios fijos, cuyos números de puerto están estandarizados,
y el resto de los puertos se asignan dinámicamente por el sistema operativo según son
solicitados.

Una conexión supone un enlace bidireccional entre dos puertos de la misma o
diferente máquina. Cada par (dirección IP, número de puerto) define una conexión, de
manera que un mismo puerto permite a una aplicación mantener distintas conexiones
con otras máquinas y puertos.

N

R
e
d
e
s

d
e

o
r
d
e
n
a
d
o
r
e
s
,

1
9
9
8
-
1
9
9
9
P
á
g
i
n
a

2
33.1 Puertos y aplicaciones

Informática Técnica de Gestión

R
e
d
e
s

d
e

o
r
d
e
n
a
d
o
r
e
s
,

1
9
9
8
-
1
9
9
9
P
á
g
i
n
a

3
Informática Técnica de Gestión

33.2 Puertos vs sockets

Los programas se crean y se destruyen continuamente en los ordenadores. Es
imposible establecer un mecanismo rígido que asigne direcciones fijas a los procesos.
Se necesita que el sistema operativo multiplexe las entradas IP para repartirlas entre
las aplicaciones, a las que debe asignar descriptores con los que manejar sus puntos
finales de comunicación.

Cuando se recibe un datagrama se analiza si el valor del campo protocolo de la
cabecera es TCP o UDP. Luego se mira el número de puerto y se entrega el contenido
a la aplicación que esté conectada a ese puerto. Los puertos multiplexan a nivel de
transporte. Una dirección final es por tanto una dirección de máquina mas un puerto.
En UNIX hay un demonio (inetd) que escucha por una serie de puertos definidos
(/etc/inetd.conf). Cuando llega un mensaje para el puerto en cuestión, lanza la
aplicación relacionada con el mismo y le pasa el mensaje.

Los sockets son el estándar de facto para el acceso a los protocolos Internet, pero
no son parte de TCP/IP. Los sockets son puntos de acceso a las comunicaciones. Se
manejan como descriptores de ficheros y el S.O. los asigna como puntos terminales de
comunicaciones bidireccionales. Se desarrollaron en BSD Unix, pero como mecanismo
independiente del sistema operativo. Existen otros APIs para acceder a TCP/IP: TLI
(transport layer interface) de AT&T y su superconjunto XTI de X/Open.

Los sockets son puntos de acceso a las comunicaciones (no protocolos). Definen
un servicio de sesión-transporte. Un socket es un extremo de una comunicación
bidireccional entre dos aplicaciones (de la misma u otra máquina). Admiten
comunicación fiable y no fiable. Hay unas librerías de funciones para programar
directamente sobre los sockets, y existen multitud de ejemplos sobre cómo construir
clientes y servidores con este sencillo interfaz.

R
e
d
e
s

d
e

o
r
d
e
n
a
d
o
r
e
s
,

1
9
9
8
-
1
9
9
9
P
á
g
i
n
a

4
Informática Técnica de Gestión

33.3 Asignación de puertos

Los puertos se identifican por números de 16 bits. Los de TCP y los de UDP se
manejan por separado (el datagrama IP ya distingue el tipo de protocolo de nivle 4 que
encapsula). Se asignan con el siguiente criterio:

1. Well Known Ports

Los números de puerto 1 a 255 están reservados, y tienen una asignación

universal (/etc/services)

2. Dynamic binding

El resto de los números los gestiona el software de red (integrado en el S.O), y los
asigna dinámicamente según son solicitados por las aplicaciones (no se da un mismo
puerto a dos aplicaciones, e incluso si una nueva instanciación de una aplicación pide
un número fijo de puerto, este sólo se le asigna tras un plazo de reutilizción). Además
puede haber un programa (inetd) que escucha por todos los puertos de los servicios
definidos y lanza los procesos servidores adecuados)

N

R
e
d
e
s

d
e

o
r
d
e
n
a
d
o
r
e
s
,

1
9
9
8
-
1
9
9
9
P
á
g
i
n
a

5
#

N
e
t
w
o
r
k

s
e
r
v
i
c
e
s
,

I
n
t
e
r
n
e
t

s
t
y
l
e

#

t
c
p
m
u
x



1
/
t
c
p

e
c
h
o



7
/
t
c
p

(
l
a

m
i
s
m
a

f
u
n
c
i
o
n
a
l
i
d
a
d

t
i
e
n
e

e
l

m
i
s
m
o

n
ú
m
e
r
o

e
n

t
c
p
e
c
h
o



7
/
u
d
p

q
u
e

e
n

u
d
p
,

p
e
r
o

é
s
t
o

n
o

e
s

o
b
l
i
g
a
t
o
r
i
o
)
d
i
s
c
a
r
d



9
/
t
c
p



s
i
n
k

n
u
l
l

d
i
s
c
a
r
d



9
/
u
d
p



s
i
n
k

n
u
l
l

d
a
y
t
i
m
e



1
3
/
t
c
p

d
a
y
t
i
m
e



1
3
/
u
d
p

n
e
t
s
t
a
t



1
5
/
t
c
p

f
t
p
-
d
a
t
a



2
0
/
t
c
p

f
t
p



2
1
/
t
c
p

t
e
l
n
e
t



2
3
/
t
c
p

s
m
t
p



2
5
/
t
c
p



m
a
i
l

t
i
m
e



3
7
/
t
c
p



t
i
m
s
e
r
v
e
r

t
i
m
e



3
7
/
u
d
p



t
i
m
s
e
r
v
e
r

n
a
m
e



4
2
/
u
d
p



n
a
m
e
s
e
r
v
e
r

w
h
o
i
s



4
3
/
t
c
p



n
i
c
n
a
m
e



#

u
s
u
a
l
l
y

t
o

s
r
i
-
n
i
c

h
o
s
t
n
a
m
e
s



1
0
1
/
t
c
p



h
o
s
t
n
a
m
e



#

u
s
u
a
l
l
y

t
o

s
r
i
-
n
i
c

s
u
n
r
p
c



1
1
1
/
u
d
p



r
p
c
b
i
n
d

s
u
n
r
p
c



1
1
1
/
t
c
p



r
p
c
b
i
n
d

s
n
m
p



1
6
1
/
u
d
p



#

S
i
m
p
l
e

N
e
t
w
o
r
k

M
g
m
t

P
r
o
t
o
c
o
l

(
S
N
M
P
)


33.4 Enlace de puertos y aplicaciones

Informática Técnica de Gestión

Una apertura pasiva es la que se produce cuando una aplicación informa al
sistema operativo de que está dispuesta a aceptar una comunicación entrante. Se
produce una asignación de puerto para ella, y queda en espera.

Una apertura activa genera una serie de mensajes por la red, a fin de conseguir una

respuesta del otro extremo mediante un protocolo de conexión.

N

R
e
d
e
s

d
e

o
r
d
e
n
a
d
o
r
e
s
,

1
9
9
8
-
1
9
9
9
P
á
g
i
n
a

6
Informática Técnica de Gestión

33.5 UDP

El servicio no fiable tiene unas características idénticas a las de IP, pero

añadiendo los números de puerto.

Las direcciones se representan:

(128.110.56.9,111) (ver ftp)

No es orientado a conexión: los mensajes se pueden perder, duplicarse o llegar

desordenados.

No es fiable (lo cual no significa que camufle datos erróneos): El servicio cuenta
con que las respuestas necesitan comprobación extra (responsabilidad de la
aplicación).

Es más ligero que TCP (en una LAN, donde hay pocos fallos y se aplica el CRC,
supone más velocidad), pero el programador tiene que implementar sus propios
mecanismos de comprobación de errores.

Datos

niveles superiores

4
3

Cabecera UDP
Datos del datagrama IP

Datos

Datos de la trama Ethernet

N

R
e
d
e
s

d
e

o
r
d
e
n
a
d
o
r
e
s
,

1
9
9
8
-
1
9
9
9
P
á
g
i
n
a

7
33.6 Localización de servidores: portmapper

Informática Técnica de Gestión

Cuando el servicio dura menos tiempo que la creación de un proceso servidor para
atenderlo, el sistema de puertos prefijados no es adecuado. Existe un modelo basado
en un puerto conocido en el que preguntar en qué puerto hay un servidor disponible,
de manera que el cliente antes de usar por primera vez el servicio, pregunte por un
puerto de uno de los servidores disponibles.

N

R
e
d
e
s

d
e

o
r
d
e
n
a
d
o
r
e
s
,

1
9
9
8
-
1
9
9
9
P
á
g
i
n
a

8
Informática Técnica de Gestión

33.7 Formato del paquete

0



3 1

UDP Source Port

UDP Destination Port

UDP Message Length

UDP Checksum

Datos

El puerto origen es opcional (si no se especifica dónde se esperan las respuestas,

debe ponerse a cero).

La longitud del mensaje se especifica en octetos, incluyendo la cabecera UDP (8

es el valor mínimo)

El checksum es opcional (si no lo usas no tienes más garantía que el CRC de nivel
2). 0 significa que no se calcula. Si tras calcularlo el resultado es 0, se representa con
todos los bits a 1 (también es 0).

Para calcularlo, se dividen la cabecera, una pseudocabecera y los datos en trozos
de 16 bits (se rellena con ceros si falta al final), de los que se calcula su complemento
a uno y los suma. Utiliza una pseudocabecera además de la de UDP:

IP source

IP destination

0

protocol

length

De esta manera se salta el modelo por niveles para comprobar que ha llegado al
si
  • Links de descarga
http://lwp-l.com/pdf15326

Comentarios de: Redes de ordenadores - TCP (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