TEMA 7 Redes de datos: TCP/IP e Internet

Anuncio
TEMA 7
Redes de datos: TCP/IP e Internet
1.- Introducción a la conmutación de paquetes
1.1.- La multiplexión estadística: STDM
Para fuentes de datos que transmiten de forma discontinua, como es habitual en las
aplicaciones informáticas, la multiplexión estática, ya sea TDM1 o FDM2, resulta ineficiente. En
periodos de inactividad de los canales de entrada, se desperdicia la capacidad reservada para los
mismos en el enlace de salida, lo que es aplicable también a fuentes de tasa de bit variable.
La multiplexión estadística se basa en que ciertas fuentes no generan tráfico de forma
continuada, lo que permite aprovechar los periodos de inactividad de una fuente para transmitir
los datos generados por otra que en ese instante se encuentre activa. Los slots disponibles en el
canal de salida se asignan de forma dinámica a los canales de entrada en función de la demanda,
lo que permite disminuir el régimen binario a la salida del multiplexor, que resulta menor que la
suma de las capacidades máximas de los canales de entrada.
Si todos los canales de entrada transmitieran a su tasa máxima, no habría sitio suficiente en la
trama de salida, por lo que algunos datos deberán esperar en una memoria (buffer) un slot libre en
la siguiente trama. Por ello este tipo de transmisión es adecuada para fuentes que generan
información de forma discontinua y aplicaciones poco sensibles al retardo, como es habitual en
transmisiones de datos.
0
1
1
0
1
1
0
0
1
1
010011
0
0
Rb1 = Rb2 = Rb3 = 1
Rb = 2
Trama: 2 time slot
bit/s
(bit)
La ventaja de la multiplexión estadística consiste en su ganancia en multiplexión, que sería la
diferencia de régimen binario a la salida con respecto a TDM, expresada en tanto por ciento. Por
ejemplo, si tenemos 10 canales de entrada cada uno con un régimen binario de 8 kbps, y que
generan tráfico en media únicamente un 75% del tiempo,
1 Time Division Multiplex
2 Frequency Division Multiplex
•
Un multiplexor TDM necesitaría un régimen binario de salida de 8 x 10 = 80 kbps
•
Un multiplexor STDM podría atender el tráfico con un régimen de salida de 8 x 0.75 x 10 =
60 kbps, lo que supone una ganacia del 25%.
Como desventajas figuran la aparición de retardos variables en la transmisión (dependiendo
del estado de las memorias de espera y la demanda de tráfico del resto de canales en ese instante),
e incluso la posibilidad de pérdida de información si los búffers de almacenamiento se desbordan.
Los multiplexores estadísticos son, en general, equipos más complejos que los multiplexores
TDM, puesto que existen múltiples configuraciones en función de la posición de las colas
(búffers), su gestión, y su tamaño. Así mismo presentan características avanzadas, como políticas
de prioridad a las entradas, compresión de datos, detección de la velocidad de los terminales...
1.2.- La conmutación de paquetes
En las redes de conmutación de paquetes, la información a transmitir es troceada en paquetes
que serán enviados a la red. Cuando un paquete llega a un nodo de red, éste decide el enlace de
salida por el que debe reenviar el paquete hacia el siguiente nodo (o destino final), bien en
función de la dirección destino, de alguna marca que identifique la ruta que debe seguir, etc.
Los paquetes transmitidos entre los nodos utilizan el enlace a su máxima capacidad mediante
multiplexión estadística. La longitud máxima de estos paquetes se encuentra acotada a fin de
evitar que un paquete monopolice mucho tiempo el enlace de salida, y para minimizar la
incidencia de errores. En cada canal de salida existen colas donde son almacenados los paquetes a
la espera de que les llegue su turno de ser transmitidos, ya que puede existir diferencia entre la
tasa a la que llegan paquetes al enlace de salida, y el régimen con el que éste es capaz de
servirlos.
Al utilizar multiplexión estadística, la conmutación de paquetes permite obtener el mayor
rendimiento de los recursos disponibles. Por ello, es especialmente indicada para redes en las que
el tráfico es intermitente (a ráfagas), como en el caso de las comunicaciones ente equipos de
datos, por ejemplo, transacciones contra bases de datos remotas, consulta de páginas web, etc.
Los retardos que sufre en paquete al atravesar la red vendrán dados por los tiempos de
almacenamiento y reenvío y el tiempo de espera en cola (término generalmente dominante), todos
proporcionales al número de nodos que atraviese el paquete hasta llegar al destino. En general,
esos retardos son variables y dependen de la carga de tráfico en la red.
Por otra parte, el tamaño de las colas de salida es finito, por lo cual existe una cierta
probabilidad de desbordamiento y, en consecuencia, de pérdida de paquetes. Generalmente son
los protocolos de nivel superior que están empleando la red los que deben detectar esas pérdidas y
solucionarlas mediante reenvío de información o cualquier otra técnica.
Además de la información a transmitir, cada paquete transporta unos datos adicionales de
control o cabeceras. Éstas permiten identificar al origen y destino del paquete, identificar el
número de secuencia del mismo (para facilitar su ordenación en el destino o detectar pérdidas),
detectar errores de transmisión, etc.
Existen dos modalidades en la conmutación de paquetes:
•
Circuito Virtual (o orientado a conexión): Todos los paquetes que pertenecen a un mismo
flujo de comunicación origen – destino siguen la misma ruta en la red. Para ello, es
necesario establecer previamente dicha ruta (equivalente al establecimiento de una
conexión). Todos los paquetes llevan una referencia de la ruta que deben seguir, lo que
permite que lleguen ordenados al destino. Un ejemplo de este tipo de conmutación la
encontramos en las redes ATM3.
•
Datagrama (o no orientado a conexión): Cada paquete lleva la dirección del destino, y
cada nodo de la red decide al recibirlo cúal será el siguiente nodo por el que reenviará el
paquete. Permite optimizar el uso de la red, ya que es posible encaminar los paquetes por el
enlace menos saturado en cada nodo. Como contrapartida, distintos paquetes pueden seguir
diferentes rutas con retardos diversos, lo que puede hacer que lleguen al destinatario
desordenados. Un ejemplo de este tipo de conmutación lo encontramos en las redes IP.
mensaje
2
3
C
2
1
E
2
3
1
A
2
1
2
1
3
3
2
3
mensaje
1
B
D
3
X
1
X
3
1
X
2.- Modelos de Referencia: OSI frente a TCP / IP
2.1.- El modelo de referencia OSI
Durante la aparición de los primeros ordenadores, el coste de los recursos computacionales era
muy elevado, lo que hiz necesario la separación entre los terminales usuario (ligeros y “tontos”) y
el servidor central, donde se ofrecían los servicios. Esta separación conlleva la necesidad
3 Asynchronous Transfer Mode
implícita de una red que permita a los terminales acceder a los recursos del equipo central.
Las primeras soluciones de red eran propietarias de cada fabricante e incompatibles entre sí,
por lo que surgió la necesidad de una normalización. Como resultado, en los años 70, la ISO4
desarrolla un modelo de referencia para la interconexión de sistemas abiertos (OSI5), que
proporcionó la base para definir el proceso global de las comunicaciones entre equipos de datos,
aceptado por la ITU-T en su recomendación X.200.
Podemos resumir las siguientes características generales del modelo OSI:
•
Cada sistema de comunicaciones se estructura en una serie de niveles o capas. Una capa está
formada por módulos especializados o entidades, que realizan parte del proceso global de la
comunicación. En OSI se especifican un total de 7 capas.
•
Cada capa utiliza los servicios ofrecidos por la capa inmediatamente inferior, y ofrece sus
propios servicios a la capa inmediatamente superior.
•
La frontera o interfaz entre dos niveles o capas residentes en el mismo sistema se define en
términos de primitivas, que definen completamente el servicio ofrecido. Estas primitivas
pueden ser de cuatro tipos:
•
Petición: utilizada por la capa usuario para invocar una función o servicio de la capa
proveedora de servicio.
•
Indicación: Utilizada por la capa proveedora para notificar que una función ha sido
invocada.
•
Respuesta: utilizada por la capa usuaria para completar la función invocada mediante
una primitva de petición previa.
•
Confirmación: mediante la cual, la capa proveedora confirma que una función
previamente invocada se ha completado.
Cualquier servicio se ofrece como combinación de estos cuatro tipos de primitivas, que además
contendrán un conjunto de parámetros específicos del servicio a ofrecer.
Capa N
Capa N
Connect
Request
Connect
Indication
Connect
Confirm
Connect
Response
Capa N-1
Capa N-1
N-1 PDU
Para ofrecer un servicio, las entidades residentes en una capa dentro de un sistema deben
colaborar con sus entidades gemelas, situadas dentro de la misma capa en el sistema remoto. El
conjunto de reglas que rigen dicha colaboración se denomina protocolo, y se lleva a cambio
mediante el intercambio de unidades de datos de protocolo (PDU6), cada una de las cuales
4 International Standards Organization
5 Open Systems Interconnection
6 Protocol Data Unit
consiste en información de control del protocolo (PCI7) y unidad de datos del servicio (SDU8).
Tanto la información procedente del usuario final (aplicaciones), como la información de
control de los protocolos (intercambiada entre entidades gemelas), necesitan utilizar el mismo
medio físico de transporte. Para ello, conforme la información de la aplicación va descendiendo a
traves de la torre de capas, cada una de ellas añade su información de control de protocolo en
encabezamientos sucesivos.
El conjunto resultante se transmite por el canal físico, sufriendo el proceso inverso al llegar al
receptor. Cada encabezamiento es utilizado sólo por la capa receptora del mismo nivel de la
arquitectura, siendo eliminado después. Los encabezamientos destinados a capas superiores son
ignorados por las inferiores, facilitando así el funcionamiento independiente de las distintas
capas, así como su evolución por separado.
datos
datos
Capa N+1
datos
Capa N+1
datos
PCI
N+1
PCI
N+1
Capa N
datos
PCI
N+1
Capa N
PCI
N
N-PDU
datos
PCI
N+1
PCI
N
Capa N-1
PCI PCI
N+1 N
datos
Capa N-1
PCI
N-1
datos
PCI PCI PCI
N+1 N
N-1
N-1-SDU
...
datos
...
Capa 1
PCI PCI PCI
N+1 N
N-1
…
datos
PCI
1
PCI PCI PCI
N+1 N
N-1
datos
…
PCI PCI PCI
N+1 N
N-1
Capa 1
…
PCI
1
PCI
1
Los sistemas que implementan las siete capas se denominan sistemas finales, y tienen todos el
mismo nivel jerárquico. Los sistemas que no implementan las siete capas se denominan sistemas
intermedios, y generalmente pertenecen a uno de estos de tres tipos:
•
Repetidores (sólo implementan la primera capa)
•
Puentes (implementan las dos primeras capas)
•
Encaminadores (implementan las tres primeras capas)
Las funciones básicas de cada nivel son:
7 Protocol Control Information
8 Service Data Unit
FÍSICO (Capa 1): Permite la transmisión y recepción de de unidades básicas de información
(bits) sobre los canales de transmisión. De esta forma, las capas superiores quedan libres de las
funciones propias impuestas por el tipo de medio de transmisión (fibra óptica, cable coaxial...).
Entre sus funciones están:
•
Representación de los bits: codificación a utilizar, características eléctricas de la señal que
representa a los ceros y unos.
•
Sincronismo de bit y tasa de transmisión: base de tiempo común entre transmisor y receptor
para permitir una correcta interpretación de la señal recibida.
•
Aspectos mecánicos: características del medio de transmisióna utilizar, tamaño de los
conectores, número de patillas, topología física...
•
Modo de transmisión: simplex, duplex, semiduplex.
Los equipos intermedios que sólo implementan el nivel físico se denominan repetidores. Su
misión es conectar subredes que utilizan el mismo nivel de enlace (mismo protocolo, mismo
formato de trama, etc), pero distinto soporte físico (por ejemplo: Conectar entre sí dos redes de
área local Ethernet, una soportada por cable coaxial, y otra por cable de pares RJ45).
Repetidor
cable coaxial
Cable de pares RJ45
Nivel Físico
Ethernet
Nivel Enlace
ENLACE (Capa 2): Se encarga de la transferencia de bloques básicos de información (tramas)
entre sistemas que se encuentran directamente conectados entre sí. El canal de comunicación
puede estar compartido or varios usuarios, además de verse afectado por ruidos, por lo que esta
capa debe ofrecer a los niveles superiores un enlace fiable punto a punto entre dos sistemas
conectados directamente. Las tareas básicas del nivel de enlace son:
•
Entramado: divide el flujo de bits recibido del nivel superior en tramas.
•
Control de flujo: previene el desbordamiento en el receptor cuando éste recibe datos a una
velocidad menor de a la que son enviados por el transmisor.
•
Control de errores: mecanismo para detectar y corregir tramas con errores, defectuosas, o
perdidas.
•
Control de acceso: organiza el acceso al medio físico cuando este se encuentra compartido
por varios equipos.
•
Direccionamiento físico: cuando hay varios equipos conectados al mismo medio, debe
distinguirse mediante direcciones cuál de ellos es el origen y cuál el destino de las tramas.
Los equipos intermedios que sólo implementan las capas 1 y 2 se denominan puentes. Su
misión es unir subredes con diferentes niveles de enlace, de forma transparente al nivel de red.
(por ejemplo: unir una red Token Ring con una red Ethernet)
Red Ethernet
Red Token Ring
Puente
Ethernet
Nivel Enlace
Nivel Red
RED (Capa 3): Se encarga de hacer llegar la información suministrada por la capa superior
hasta su destino final, atravesando para ello todos los sistemas intermedios que sea necesario, y
eligiendo la ruta adecuada a través de los mismos. La principal tarea es el encaminamiento de los
paquetes, que deberán encontrar una ruta eficaz que permita llegar hasta el destino final,
utilizando para ellos sistemas intermedios (encaminadores) que unen las distintas subredes.
Para llevar a cabo el encaminamiento, debemos poder distinguir a los sistemas de forma
unívoca, lo que se realiza mediante la asignación de direcciones de red. Este nivel puede ofrecer
un servicio en modo circuito virtual, o bien en modo datagrama.
Estas tres primeras capas forman el servicio de red, que ofrece a las capas superiores un canal
de comunicación entre sistemas finales con independencia de su ubicación física.
Los equipos intermedios que implementan estas tres capas se denominan encaminadores. Su
misión es transportar los paquetes desde el punto origen de la red, al punto destino, atravesando
cuantos nodos intermedios sea necesario.
Red A
Red B
Encaminador
Nivel Red
Nivel Transporte
TRANSPORTE (Capa 4): Encargada de proporcionar una transferencia fiable y ordenada de
todo el mensaje (no sólo de paquetes o partes del mensaje). Para ello debe ocuparse de tareas
como el control de flujo o el control de errores de extremo a extremo. Algunas responsabilidades
de este nivel son:
•
Direccionamiento de puntos de servicio: Un sistema final puede tener varios consumidores
de servicio (programas o aplicaciones) ejecutándose al mismo tiempo, por lo que habrá que
distinguirlas entre sí asignándoles una dirección de punto de acceso al servicio (SAP9) o
9 Service Access Point
puerto a cada una de ellas, dentro de ese sistema final.
•
Segmentación y reeensamblado: Un mensaje de usuario puede ser dividido en segmentos
(que son enviados en paquetes distintos), que habrá que re-ensamblar en el extremo
receptor.
•
Control de conexión: El nivel de transporte puede enviar directamente los mensajes o
segmentos a su destino de manera independiente (servicio no orientado a conexión), o bien
puede requerir que se establezca una conexión previa entre origen y destino antes de
comenzar la transmisión, liberándose al concluir la comunicación (servicio orientado a
conexión).
•
Control de flujo y control de errores: La misma misión que en el nivel de enlace, pero en
este caso, extremo a extremo. Generalmente, los errores en este nivel se corrigen mediante
retransmisiones.
El nivel de transporte, junto con las tres primeras capas, forman el denominado bloque de
transporte, que se ocupa exclusivamente de aspectos relacionados con la comunicación, y que
ofrece a los sistemas superiores una comunicación fiable, transparente y libre de errores entre
entidades de niveles superiores.
SESIÓN (Capa 5): Ofrece mecanismos para organizar y sincronizar los diálogos entre
entidades de aplicación. El control del diálogo facilita que la comunicación entre dos procesos
pueda tener lugar en modo semi-duplex o full-duplex, marcando el progreso del diálogo,
controlando qué sistema posee el turno para “hablar”... Permite también insertar puntos de
sincronismo desde donde retomar el diálogo si éste se interrumpiera por cualquier motivo.
PRESENTACIÓN (capa 6): Permite representar la información de una forma independiente
de la implementación realizada por los sistemas. La información así representada conforma una
serie de datos estructurados (caracteres, enteros, etc), y no simplemente una secuencia de bits que
puede ser interpretada de distinta forma por diversos sistemas (por ejemplo: ASCII frente a
EBCDIC, big-endian frente a little-endian...). También es responsabilidad del nivel de
presentación el cifrado (que permite la privacidad de la comunicación) y la compresión.
APLICACIÓN (Capa 7): Proporciona a los usuarios (personas o software) un conjunto de
servicios de alicación distribuidos. Asegura la cooperación de los procesos o entidades de
aplicación entre sí para ofecer los servicios finales al usuario. Es responsable de la semántica del
protocolo intercambiado entre entidades de aplicación. Se encuentran estandarizadas aplicaciones
en este nivel como terminales virtuales de red (para acceso a consola de máquina remota),
administración y transferencia de información en forma de archivos, correo electrónico, o
servicios de directorio para acceso a bases de datos distribuidas.
A partir de este modelo de referencia, se desarrollaron las correspondientes entidades y
protocolos de cada capa. No obstante, la gran implantación de la red TCP / IP restó protagonismo
a dichos protocolos. Aún así, el modelo de referencia sigue siendo válido y utilizado en cualquier
arquitectura basada en capas para redes de datos.
2.2.- El modelo de referencia TCP / IP. Comparativa frente a OSI.
Poco antes de la aparición del modelo de referencia OSI, se inicia un proyecto encaminado a
proporcionar una red de datos robusta de arquitectura distribuida. Dicha red nace en 1977-79 y se
denomina ARPA Net. Se inicia en el departamento de defensa de EEUU, y progresivamente va
incorporando universidades y entidades públicas, de forma que en 1983 se divide en dos redes:
MilNET, con fines militares, y ARPA Net, para propósitos de investigación. Esta última fue
creciendo e incorporando nuevos equipos hasta formar lo que hoy conocemos como Internet.
Internet se apoya para su funcionamiento en una serie de protocolos abiertos (públicos y
gratuitos) conocidos generalmente como TCP / IP. La torre de protocolos TCP / IP está
compuesta por cinco niveles: físico, enlace, red, transporte, y aplicación. Los primeros cuatro
niveles realizan aproximadamente las mismas tareas que los correspondientes niveles OSI. Sin
embargo, las tres últimas capas del modelo OSI están representadas por una única capa de
aplicación en el modelo TCP / IP. No existe relación directa entre los modelos OSI y TCP / IP, ya
que este último surge anteriormente, aunque ambos emplean el concepto de capas, donde cada
protocolo se apoya en uno o varios del nivel inferior.
Los niveles físico y de enlace, a los que también se les denomina colectivamente nivel de
subred, no se encuentran definidos en este modelo, dejando libertad para la creación y evolución
de subredes con diferentes tecnologías. Así, es posible emplear la torre de protocolos TCP / IP
sobre cualquier nivel de enlace: redes de difusión como Ethernet, punto a punto como enlaces
PPP, etc.
El nivel de red ofrece el servicio de transferencia de mensajes extremo a extremo atravesando
cualesquiera subredes, utilizando el protocolo IP. Este es un protocolo no orientado a conexión o
de modo datagrama, es decir, la ruta que sigue cada paquete depende de las decisiones tomadas
por cada nodo en el trayecto. En este nivel existen también otros protocolos auxiliares que
realizan tareas específicas, como ICMP10 (que transporta mensajes de control, como
notificaciones de destino inalcanzable o control de flujo), IGMP11 (para la gestíon de grupos de
difusión), etc
El nivel de transporte ofrece dos protocolos: UDP12, un protocolo no fiable y no orientado a
conexión, y TCP13, un servicio orientado a conexión y fiable que garantiza el transporte extremo a
extremo. Típicamente UDP se utiliza en servicios sensibles al retardo (como el tráfico de audio o
vídeo en tiempo real) o aplicaciones sencillas, mientras que TCP se usa en aplicaciones que
requieren mayor fiablidad (transferencia de ficheros, navegación web)
En el nivel de aplicación se encuentran definidos algunos protocolos como el de transferencia
de correo electrónico (SMTP14), transferencia de ficheros (FTP15), transferencia de hipertexto
(HTTP16), terminal remoto (telnet), etc.
La unidad de datos creada por el nivel de aplicación se denomina mensaje. Estos mensajes se
10
11
12
13
14
15
16
Internet Control Message Protocol
Internet Group Management Protocol
Unreliable Datagram Protocol
Transport Control Protocol
Simple Mail Transport Protocol
File Transfer Protocol
Hyper Text Transfer Protocol
encapsularán en datagramas de usuario o segmentos, según se emplee para su transporte UDP o
TCP. Estos elementos son encapsulados dentro de datagramas IP, cuya transferencia es
responsabilidad del nivel de red. Por supuesto, a su vez los datagramas IP son encapsulados en las
tramas correspondientes al nivel de enlace que soporte la torre de protocolos, antes de ser
transmitidos por el nivel fisico.
3.- El Protocolo IP
3.1.- Datagramas IP
El protocolo IP se encuentra definido en la RFC17 791 del IETF18. Ofrece un servicio de envío
de paquetes no orientado a conexión y no confirmado. Dicho servicio se conoce como de tipo
“Best Effort”: la red hará lo posible por llevar los paquetes hacia su destino, pero no da garantías,
lo que implica que el paquete puede perderse, duplicarse, o llegar fuera de orden, y el nivel de red
no detectará estos hechos. Si necesitamos una comunicación fiable entre dos aplicaciones deberán
ser el nivel de transporte TCP o el propio nivel de aplicación los que se encarguen de ello.
Los paquetes del nivel IP se denominan datagramas, y son de longitud variable (hasta 65.536
bytes). Constan de dos partes:
•
Campo de datos, donde se encapsulan las PDUs del nivel superior.
•
Cabecera (denominada PCI en el modelo OSI). Contiene información necesaria para el
encaminamiento de los paquetes. Su longitud puede variar entre 20 y 60 octetos.
El formato del datagrama IP es:
0
8
VERS
HLEN
16
ToS
ID
TTL
31
LEN
IDN
Protocol
OFFSET
Checksum
D.O.
D.D.
OPT
Relleno
•
VERS: versión del protocolo IP utilizada (actualmente, IPv4 o IPv6).
•
HLEN: longitud de la cabecera (medida en palabras de 4 bytes).
•
ToS: tipo de servicio para la entrega del datagrama (prioridad, fiabilidad...).
17 Request For Comments
18 Internet Engineering Task Force
3 bit
1 bit
1 bit
1 bit
2 bit
Prioridad
D
T
R
Reservado
•
Bits de prioridad: usados en algoritmos de control de congestión
•
Bit D (Delay): priorizar este paquete para minimizar su retardo
•
Bit T (Throughput): priorizar este paquete para maximir su caudal.
•
Bit R (Reliability): priorizar este paquete para minimizar su prob. de pérdida.
•
LEN: longitud total (incluyendo cabeceras) del datagrama, expresada en octetos.
•
ID, IDN, OFFSET: relacionados con la fragmentación de datagramas.
La máxima cantidad de información que cabe en una trama de nivel de enlace se
denomina MTU19. Cuando un datagrama pasa de una red a otra que implementa un nivel
de enlace diferente, es posible que la MTU varíe y sea necesario fragmentar el
datagrama.
•
ID: identifica al datagrama, y es el mismo en todos los fragmentos
•
IDN: es un conjunto de tres bits que indican si el datagrama actual es un fragmento
más, o el último (o único)
•
OFFSET: indica la posición del fragmento dentro del datagrama original.
•
TTL: tiempo de vida. El sistema origen fija su valor inicial, y cada encaminador lo
decrementa. Si su valor llega a cero, el paquete se descarta. De esta manera se evita que un
paquete viaje indefinidamente o permanezca eternamente en un bucle.
•
PROTOCOL: especifica el protocolo de nivel superior que se encuentra encapsulado en la
parte de datos del datagrama IP (6 = TCP, 17 = UDP, 1 = ICMP, etc).
•
CHECKSUM: suma de control sobre los bytes de la cabecera, que permite verificar la
integridad de la misma.Debe ser recalculada en cada nodo debido a cambios en el TTL o
fragmentación.
•
DO: Dirección IP del sistema que origina el datagrama.
•
DD: Dirección IP del sistema destino del datagrama.
•
OPT: Campo de longitud variable que ofrece una serie de opciones para controlar el
encaminamiento.
3.2.- Direccionamiento en IP
19 Maximum Transfer Unit
Las direcciones IP identifican a la red y al sistema (equipo) dentro de la red. Las direcciones
IPv4 tienen 4 octetos, y están divididas en dos partes: identificador de red, e identificador de
equipo dentro de dicha red. Todos los equipos conectados a una misma red comparten el mismo
identificador de red.
Normalmente se utiliza la notación decimal-punto para representar direcciones IP. Ésta
consiste en cuatro números decimales separados por puntos, cada uno de los cuales expresa el
valor del correspondiente octeto de la dirección. Así, por ejemplo, 132.4.23.3 o 211.23.76.254
son direcciones válidas, mientras que 321.23.4.21 no lo es, pues el primer número está fuera del
rango alcanzable con un octeto (0-255).
En función del valor que tome el primer número de la dirección, podemos distinguir cinco tipos
o clases de direcciones:
•
Clase A: Son aquellas que tienen un 0 en el bit más significativo del primer octeto (números
menos de 127 en decimal). En estas direcciones, el primer octeto es el identificador de red,
y los tres siguientes identifican al equipo.
•
Clase B: Son aquellas cuyos dos primeros bits más significativos son: 10 (primer número
entre 128 y 191). En ellas, los dos pimeros octetos son el identificador de red, los dos
siguientes el del equipo.
•
Clase C: Los tres bits más significativos del primer octeto son: 110 (primer número entre
192 y 223). En ellas, los tres primeros octetos identifican a la red, y el último al equipo.
•
Clase D: Los cuatro bits más significativos del primer octeto son: 1110 (primer número
entre 224 y 239). Son utilizadas para el direccionamiento punto a multipunto (multicast).
•
Clase E: Los cuatro bits más significativos del primer octeto son: 1111 (primer número
entre 240 y 255). Se encuentran reservados para usos futuros.
La clase de dirección a utilizar dependerá del número de equipos presentes en una red. Así, no
podremos utilizar direcciones de clase C para una red que tenga 500 equipos, pues el identificador
de equipo es de sólo un octeto. Cuando un equipo se encuentra conectado a múltiples redes (como
ocurre con los encaminadores), deberá tener una IP por cada red que interconecte.
Existen algunas direcciones especiales que no pueden ser utilizadas por equipos, como son:
•
Direcciones de red: Para identificar una red en su conjunto, se usa una dirección IP con el
identificador de equipo puesto a cero. Por ejemplo, direcciones como 122.0.0.0 o
193.23.121.0 son direcciones de red.
•
Dirección de difusión local: Se utiliza para hacer llegar un paquete a todos los equipos
conectados a la red, y consiste en la dirección con todos los bits de la parte de equipo
puestos a 1. Por ejemplo, 122.255.255.255 o 193.23.121.255.
•
Dirección de difusión total: Utilizada para hacer llegar un paquete a todos los equipos de
todas las redes. Consiste en todos los bits de la dirección puestos a 1 (255.255.255.255).
Normalmente los encaminadores no la propagan, con lo cual equivale a la difusión local.
•
Dirección de bucle local: utilizada para indicar el propio equipo, es cualquiera en la red de
clase A con identificador de equipo 127, es decir, 127.XXX.XXX.XXX. Generalmente se
suele emplear 127.0.0.1
•
Dirección desconocida: utilizada para indicar la entrada por defecto en la tabla de
encaminamiento: todos los bits a cero (0.0.0.0).
Además de estas direcciones especiales, la RFC 1918 define algunos rangos de direcciones que
están reservados para uso privado, es decir, pueden ser utilizados en redes privadas que no
necesiten conectarse con el exterior, y está prohibido utilizarlos en redes públicas (internet). Estos
rangos son:
•
Una red de clase A: 10.0.0.0 – 10.255.255.255
•
32 redes de clase B: 172.16.0.0 – 172.31.255.255
•
256 redes de clase C: 192.168.0.0 – 192.168.255.255
La división en clases del espacio de direcciones IP es una división jerárquica rígida. El tamaño
de las redes está fijo: las redes de clase C pueden albergar hasta 254 ordenadores (256 direcciones
menos la dirección de red y la de difusión local). Las de clase B, hasta 65534, y las de clase A,
hasta 16777214. Esto plantea un problema de desaprovechamiento del espacio de direcciones,
puesto que, por ejemplo, para alojar una red con 500 ordenadores, es necesario dedicar al menos
una dirección de clase B. En este ejemplo, 65.054 direcciones quedarían sin utilizar.
Conforme internet iba creciendo, el problema del agotamiento del espacio de direcciones se
hizo cada vez más evidente. Como solución a este problema, se planteó una reestructuración del
formato de las direcciones IP: En lugar de mantener el viejo esquema de asignación de
direcciones por clases, con identificadores de red de tamaño fijo, se utilizan identificadores de red
de tamaño variable. Esto es lo que se conoce como direccionamiento sin clases (classless) o
CIDR20.
CIDR aporta flexibilidad a la hora de especificar la separación entre identificador de red e
identificador de equipo. El número de bits correspondientes al identificador de red se selecciona
mediante una máscara binaria: los bits pertenecientes al identificador de red están puestos a 1 en
dicha máscara, mientras que los bits pertenecientes al identificador de equipo están puestos a
cero.
Dirección IP
Máscara
134.23.133.29
255.255.255.0
10000110 . 00010111 . 10000011 . 0001110 1
11111111 . 11111111 . 11111111 . 0000000 0
Id. de red
Id. de host
El enmascaramiento permite, mediante la operación lógica AND, extraer el identificador de red
a partir de la dirección IP del equipo y la máscara. Por ejemplo, la máscara 255.255.255.0,
aplicada a la dirección IP 134.23.133.29, nos ofrece la red 134.23.133.0. Así pues, cualquier
dirección IP debe llevar asociada una máscara que nos permita conocer qué parte identifica a la
red, y qué parte al equipo. El conjunto (dirección IP, máscara) se suele representar mediante una
notación compacta que consiste en especificar la dirección IP y el número de bits de la máscara
que están puestos a 1, separados por una barra. Siguiendo el ejemplo anterior, el conjunto de
20 Classless Inter Domain Routing
dirección IP 134.23.133.29 y máscara 255.255.255.0 puede escribirse de manera más compacta
como 134.23.133.29 / 24.
Nótese que, siguiendo el esquema tradicional, una dirección como 134.23.133.29 / 25
pertenecería a una red de clase B, y debería tener un id. de red de 16 bits. CIDR nos permite
quedarnos con una “porción” de esa red, de un tamaño más adecuado a nuestras necesidades.
También nos permite subdividir un rango en trozos más pequeños, que pueden ser administrados
independientemente. Esto facilita la tarea de asignación de direcciones, y el encaminamiento.
Red 134.23.133.0 / 24
Internet
Red
134.23.133.128 / 25
Red
134.23.133.0 / 25
Red
134.23.133.64 / 26
Red
134.23.133.0 / 26
Por compatibilidad, las máscaras por defecto para las direcciones de clase A, B y C son
255.0.0.0, 255.255.0.0 y 255.255.255.0, respectivamente, y no se suelen emplear máscaras con
menos bits puestos a uno que los correspondientes a la clase de dirección (por ejemplo, no es
práctica habitual emplear una máscara 255.0.0.0 con una dirección de clase B, puesto que no sería
compatible con software o hardware previo a la introducción del CIDR).
3.3.- Integración de redes
El protocolo IP se encuentra por encima de los niveles de enlace y físico, por lo que permite la
integración de diferentes tipos de tecnología en estos niveles. Podemos clasificar estas
tecnologías en dos grandes grupos:
LAN: o redes de área local. De alta velocidad, suelen utilizar medios de transmisión propios y
tener una extensión limitada. (normalmente a decenas o centenas de metros). El principal
organismo normalizador es el IEEE, y entre sus estándares más difundidos figura el Ethernet
(802.3), con velocidades desde 100 hasta 1000 Mbps, y su versión inalámbrica WLAN
(802.11b/g) En ellos se normaliza tanto el nivel físico como el de enlace.
Las tecnologías empleadas en el nivel de subred (enlace y físico) permiten la comunicación
directa entre equipos conectados al medio. Generalmente, estos medios tienen topología en bus,
por lo que se hace preciso el uso de direcciones físicas (también conocidas como direcciones
MAC) para identificar el origen y destino de la trama. Estas direcciones son direcciones hardware
asociadas físicamente a cada puerto de la máquina.
Ejemplo de red LAN: Ethernet, normalizada en la recomendación 802.3 del IEEE, define el
nivel de enlace a emplear sobre diversos medios físicos con topología de bus, así como normaliza
dichos medios físicos. Se define el formato y codificación de trama de enlace, se establece el
método CSMA/CD21 para el acceso al medio, y se normalizan diversos niveles físicos: cable
coaxial, cable de pares, fibra óptica, etc. Puede ofrecer velocidades de transferencia desde 10
Mbps a 10 Gbps. La trama Ethernet tiene el siguiente formato:
Preámbulo
8 octetos
D.D.
6o
D.O.
6o
LN
DATA
2 o 48-1500 o
CRC
4o
•
Preámbulo + Inicio de trama: Una secuencia de 8 octetos formados por bits 1 y 0
alternados, terminando el último por 11, que permite a transmisor y receptor sincronizarse.
•
Dirección destino (D.D.) y dirección origen (D.O.). Para direccionar un equipo a nivel de
enlace, se emplean direcciones MAC de 6 octetos, globalmente únicas para cada dispositivo
ethernet.
•
Campo Longitud / Tipo. Por motivos históricos, existen al menos dos formatos de trama
Ethernet. En uno de ellos, este campo de dos bytes codifica la longitud de la parte de datos.
En el otro, este campo identifica al tipo de trama o protocolo de nivel superior que va
encapsulado en la parte de datos, y la longitud de la trama se determina por medios físicos.
•
Campo de datos: de tamaño variable, como mínimo debe ocupar 48 bytes para que la trama
tenga un tamaño mínimo de 64 octetos. En caso contrario, se añade relleno. Como máximo,
la parte de datos puede ocupar 1500 bytes, de manera que el tamaño total de una trama
Ethernet está entre 64 y 1528 octetos.
•
CRC de 4 octetos para verificar la existencia de errores de transmisión. Cuando la señal en
el canal vuelve al estado de reposo, el receptor compara los últimos 4 octetos recibidos con
una suma de control calculada sobre el frame.
Cuando nosotros, como usuarios, deseamos comunicarnos con una máquina remota a través del
protocolo IP, debemos conocer la dirección IP de dicha máquina. De la misma forma, cuando el
protocolo IP necesita ponerse en contacto con otra máquina (el destino final del datagrama, o un
sistema intermedio que deba encaminarlo), debe conocer su dirección de enlace. En el caso de las
redes Ethernet, esta dirección se averigua a través del protocolo ARP22.
El protocolo ARP, definido en la RFC 826, permite averiguar la dirección física que se
corresponde con una dirección de red, es decir, la dirección MAC Ethernet del dispositivo físico
cuya dirección IP conocemos. Es un protocolo petición respuesta:
•
El equipo origen envía un paquete ARP con su dirección MAC, su dirección IP, y la
dirección IP del equipo cuya dirección física pretende averiguar. Este paquete es enviado a
21 Carrier Sense Multiple Access / Collission Detection
22 Address Resolution Protocol.
la dirección MAC de difusión, de manera que es recibido por todos los equipos conectados
a la misma red física.
•
El equipo que posea esa IP contesta con un paquete ARP de respuesta, indicando su
dirección IP y su dirección MAC. Este paquete ya no se envía a la dirección MAC de
difusión, sino directamente al equipo que realizó la petición
•
Ambos equipos, emisor y receptor, añaden la información que han averiguado a una tabla
de caché, llamada tabla ARP. Esta tabla evita que tengamos que realizar este procedimiento
cada vez que queramos enviar datos a un equipo cuya dirección MAC ya hemos averiguado
antes.
B
C
D
E
A
ARPRESP(MACD,MACA, IPD,IPA)
ARPREQ(MACA,DIFUSIÓN, IPA,IPD)
WAN, o redes de área extensa, permiten comunicar equipos separados por una gran distancia.
Normalmente se alquilan líneas o se contrata el transporte físico a los operadores de redes de
telecomunicación, utilizando para ello redes públicas, bien de conmutación de circuitos (RTC,
RDSI, GSM) o de paquetes (X.25, FR, ATM...). En el caso de conexiones punto a punto, se suele
usar PPP23 como nivel de enlace. Las velocidades de transmisión son sensiblemente inferiores al
caso de las LAN, y el coste depende de la distancia y/o la tasa contratada con el operador.
Ejemplo de red WAN: Conexión sobre canal telefónico (RTC o RDSI). En estos casos, se
establece una conexión física entre los equipos (es decir, se realiza la llamada), y sobre el canal
físico se utiliza PPP como nivel de enlace.
PPP Es un protocolo diseñado por el IETF para permitir el intercambio de datos entre dos
elementos de red unidos por un enlace full duplex que garantice la entrega ordenada de datos en
conexiones punto a punto, y se especifica en la RFC 1661. Consta de dos fases: una primera fase
de establecimiento del canal, controlada por el protocolo LCP24, y una segunda fase de
negociación de los protocolos de red que se van a transportar por el enlace, controlada por el
protocolo NCP25. Una vez establecida la sesión PPP, se transmiten tramas de datos, con el
siguiente formato:
Flag
Dir
1 octet 1 o
•
Ctrl
1o
protocolo
2o
datos
Xo
FCS
2ó4o
Flag
1o
Flag: tanto al inicio como al fin, las tramas PPP incluyen una secuencia fija de bits que
23 Point to Point Protocol.
24 Link control Protocol.
25 Network control Protocol.
sirve para identificar los límites de la trama.
•
Dirección destino: El formato de trama de PPP está basado en el definido por el nivel de
enlace HDLC26, regularizado en la norma ISO 3309-1979. Por ello aparece este campo, que
en PPP no tiene uso: el enlace es punto a punto, el destinatario del paquete es siempre el
otro extremo de la conexión.
•
Control: un campo que define el tipo de trama y que también es heredado de HDLC. Su
valor es fijo.
•
Protocolo: indica el protocolo de nivel superior que va encapsulado en la trama.
•
Datos: parte de datos de la trama. Normalmente tiene un tamaño máximo de 1500 bytes,
aunque se puede negociar un tamaño mayor al establecer la conexión PPP.
•
FCS27: Suma de control. Habitualmente tiene un tamaño de 2 octetos, aunque se puede
negociar un tamaño de 4 octetos al establecerse la conexión.
3.4.- Encaminamiento
Cuando un equipo quiere enviar un datagrama IP a otro, debe tomar la decisión de a qué nodo
de la red debe entregar dicho datagrama para hacerlo llegar a su destino. De la misma forma,
cuando un equipo recibe un datagrama IP, debe comprobar si la dirección destino del mismo es la
suya propia. En ese caso, simplemente extraerá la parte de datos y se la entregará a la capa
superior. En caso contrario, se enfrenta al mismo problema: a qué nodo debo reenviar el paquete
para hacer que llegue a su destino?
Como hemos comentado, la red IP funciona en modo datagrama o no orientado a conexión:
cada nodo decide el siguiente salto en la ruta que seguirá el paquete hacia su destino. Si el equipo
que envía el datagrama y el que debe recibirlo pertenecen a la misma red (es decir, sus
direcciones comparten el mismo identificador de red), la decisión es fácil: mecanismos como
ARP nos permiten conocer la dirección de nivel de enlace del destinatario, y hacerle llegar el
datagrama directamente a él. Si los dos equipos pertenecen a redes distintas, deberemos valernos
de un equipo intermedio o encaminador que interconecte, bien directa o indirectamente (a través
de otros encaminadores), ambas redes.
Este proceso de toma de decisiones es lo que denominamos encaminamiento, y la forma de
decidir el siguiente salto en la trayectoria de un paquete hacia su destino es empleando lo que se
conoce como tablas de ruta o de encaminamiento.
Una tabla de encaminamiento es, básicamente, una secuencia de pares ( dirección IP destino,
dirección siguiente salto ). La dirección destino puede referirse a un sólo equipo, o a una red
completa. La dirección del siguiente salto puede identificar la interfaz (enlace de salida) por la
que debemos enviar el mensaje, si el destino es directamente accesible, o la dirección IP del
encaminador que debemos usar para hacer llegar el datagrama a su destino, en otro caso. El
encaminador será un equipo directamente accesible, conectado a nuestra misma red, pues en caso
26 High-level Data Link Control
27 Frame Check Sequence.
contrario deberíamos resolver también cómo llegar al encaminador.
A la hora de enviar un datagrama a una red no directamente accesible, compararemos la
dirección IP destino con todas las entradas de la tabla de encaminamiento, quedándonos con
aquella cuyo identificador de red coincida con el de la IP destino. En caso de que haya varias, se
elegirá la que tenga el mayor prefijo coincidente, es decir, el identificador de red mayor. Por
ejemplo, supongamos un equipo con la IP 170.1.2.3 y las siguientes entradas en la tabla de
encaminamiento:
IP destino
IP encaminador
193.4.5.0 / 24
170.1.1.1
193.4.5.128 / 25
170.1.1.2
Si este equipo desea enviar un datagrama a la IP 193.4.5.129, comparará dicha IP con todas las
de la tabla, aplicándole la máscara de cada entrada y comprobando si el identificador de red
coincide. En este caso, existen dos entradas, teniendo la primera un id. de red de 24 bits, y la
segunda, uno de 25. Por lo tanto, el encaminador usado será el 170.1.1.2, al ser el que
corresponde al mayor prefijo coincidente.
Para incluir en la tabla de encaminamiento una entrada que se refiera no a una red, sino a un
único equipo, se utiliza una máscara 255.255.255.255 o, lo que es lo mismo, / 32 . Para incluir
una entrada por defecto, a la que será enviado cualquier datagrama que no encuentre una ruta
mejor, se utiliza la entrada 0.0.0.0 / 0. Nótese que cualquier dirección IP concuerda con esta
entrada, pero lo hace con la mínima longitud de prefijo coincidente ( 0 ). Por lo tanto, esta entrada
sólo se utiliza cuando no hay ninguna otra en la tabla que concuerde con la IP destino. Al
encaminador asociado con esta entrada se le denomina encaminador por defecto o ruta por
defecto. Por ejemplo, supongamos una red dividida en departamentos como la que se muestra en
la figura de abajo:
TCP / UDP
IP
Ethernet
IP
(IPEth1, IPEth2, IPppp)
Ethernet1
Host 1
PPP
I.430
Ethernet2
Encaminador A
193.100.0.3 / 25 193.100.0.2 / 25 193.100.0.1 / 25
Enlace PPP
194.0.0.1 / 24
Internet
194.0.0.2 / 24
193.100.0.129 / 26
Red Ethernet 1
Host 5
193.100.0.194 / 26
193.100.0.131 / 26 193.100.0.130 / 26
193.100.0.195 / 26
Encaminador B
193.100.0.132 / 26
Red Ethernet 2
193.100.0.193 / 26
Red Ethernet 3
La tabla de encaminamiento del equipo Host1 en esta red sería:
Destino
Máscara
Sig. salto
193.100.0.0
255255255128
Directo Eth. 1
0.0.0.0
0.0.0.0
193.100.0.1
La tabla del encaminador A sería:
Destino
Máscara
Sig. salto
193.100.0.0
255.255.255.128
Directo Eth. 1
193.100.0.128
255.255.255.192
Directo Eth. 2
193.100.0.192
255.255.255.192
193.100.0.132 / 26
194.0.0.0
255.255.255.0
Directo PPP
0.0.0.0
0.0.0.0
194.0.0.1 / 24
En el siguiente ejemplo veremos el camino que recorrería un datagrama desde el Host1 al
Host5. La nomenclatura es la siguiente: Eth ( MACa, MACb, < IP: IPc, IPd > ) representa una
trama Ethernet que viaja desde la dir. MAC MACa a la MACb, y que transporta un datagrama IP
con la dirección IP origen IPc y la dirección IP destino IPd:
Host 1
Encaminador A
193.100.0.3 / 25
193.100.0.1 / 25
Internet
193.100.0.129 / 26
Host 5
Eth ( MAC1, MACa, < IP: IP1, IP5 > )
193.100.0.194 / 26
Encaminador B
193.100.0.132 / 26
Eth ( MACa, MACb, < IP: IP1, IP5 > )
193.100.0.193 / 26
Eth ( MACb, MAC5, < IP: IP1, IP5 > )
Por último, el proveedor de servicio responsable del enlace PPP debería incluir en su tabla de
encaminamiento una entrada para reenviar los datagramas destinados a la red 193.100.0.0/24 a
través del encaminador 194.0.0.2.
Las tablas de encaminamiento pueden ser configuradas de forma manual, estática, o puede
utilizarse un protocolo de encaminamiento como RIP28 u OSPF29. Este tipo de protocolos
intercambian información sobre las rutas, redes y máscaras accesibles por cada encaminador, la
28 Routing Information Protocol
29 Open shortest Path First
distancia o número de saltos hacia ellas, etc. y en función a esa información y a unas ciertas
métricas o funciones de coste, construyen una tabla de encaminamiento óptima.
3.5.- Mensajes de control IP: El protocolo ICMP
El protocolo IP se encarga del transporte de datagramas, pero no de informar sobre errores.
Esta tarea se encomienda a un protocolo complementario, ICMP, que asume las tareas de
notificación de eventos y control de la red. Por ejemplo, cuando un equipo recibe un datagrama
que no sabe cómo encaminar, generalmente le comunica esta circunstancia al emisor mediante un
mensaje Destination Network Unreachable (destino inalcanzable) ICMP.
Los mensajes ICMP viajan encapsulados en datagramas IP, y son usados por los
encaminadores para informar a otros encaminadores, o a los equipos finales, acerca de
condiciones de error o de control de la red. Existen varios tipos: destino inalcanzable, TTL
excedido, redirección, congestión, etc. Existen mensajes también que se utilizan para verificar la
conectividad de la red, como los mensajes de eco (echo) que emplea el comando ping.
4.- Nivel de Transporte: TCP y UDP
El objetivo del nivel de transporte es comunicar las aplicaciones entre sí (comunicación
extremo a extremo). Utiliza los servicios de red proporcionados por IP, y permite dos
mecanismos diferentes: TCP, fiable y orientado a conexión, y UDP. Para permitir la
comunicación entre aplicaciones, debemos poder distinguir a los procesos de aplicación que se
están ejecutando en un sistema final, lo que se realiza con los puntos de acceso al servicio, que en
TCP/UDP se denominan puertos, y son números enteros de 16 bits.
En TCP/IP se emplea el paradigma cliente / servidor: una aplicación servidora reserva para sí
un puerto (lo que se conoce como enlazado o binding) y espera la recepción de mensajes a través
de dicho puerto. La aplicación cliente se enlaza también a un puerto y envía mensajes al servidor,
que serán respondidos por éste. El puerto al que se enlaza el servidor debe tener un número
conocido a priori por los clientes, números que generalmente son asignados por el IANA30 a los
distintos servicios. Por ejemplo, el servicio HTTP tiene asignado el número de puerto TCP 80, el
servicio de correo SMTP tiene asignado el puerto TCP 25, el servicio DNS de resolución de
nombres de dominio tiene asignado el puerto UDP 53, etc. Generalmente, estos puertos están en
el rango 0 – 1024 y son puertos privilegiados (por ejemplo, en linux, sólo las aplicaciones
ejecutadas por el usuario root - administrador o superusuario - pueden enlazarse a estos puertos).
Por el contrario, los clientes suelen simplemente solicitar al sistema operativo que los enlace al
primer puerto que esté libre, generalmente en el rango 1025 – 65535.
Los rangos de puertos TCP y UDP son independientes, es decir, es posible tener una aplicación
enlazada al puerto TCP 60, y otra totalmente distinta enlazada al puerto UDP 60.
4.1.- UDP
30 Internet Assigned Numbers Association
Proporciona un servicio de transporte de datos entre aplicaciones no orientado a conexión.
UDP recibe los datos del nivel de aplicación, les añade su cabecera, y los envía directamente al
destino dentro de un datagrama IP; el nivel de aplicación es quien deberá encargarse del control
de flujo y de errores. El formato de la cabecera UDP es el siguiente:
2 octetos
2 octetos
Puerto origen
Puerto destino
Longitud
Checksum
•
Los puertos UDP origen y destino del datagrama.
•
La longitud completa del datagrama, incluyendo cabecera, en octetos.
•
Una suma de control, opcional, tanto de la cabecera como de los datos del paquete.
4.2.- TCP
Ofrece un servicio de transporte entre aplicaciones fiable y orientado a conexión. Permiten
transmitir un flujo de octetos entre aplicaciones. La información se divide en segmentos, que son
enviados en datagramas IP utilizando mecanismos de control de flujo que regulan la velocidad de
envío de segmentos en función del nivel de carga de la red. Antes de intercambiar datos de
aplicación, es necesario establecer una conexión TCP entre puerto origen y puerto destino. Una
vez establecida, se intercambiarán segmentos cuya cabecera tiene el siguiente formato:
4 octetos
puerto origen
puerto destino
número de secuencia
número de asentimiento
Hlen
Reservado
Flags
Checksum
Opciones
Ventana
Puntero urgente
Relleno
•
Puertos TCP origen y destino
•
Número de secuencia: número que ocupa el primer byte de este segmento dentro del flujo
de octetos que intercambian origen y destino. el número de secuencia no comienza en cero,
sino en un valor aleatorio negociado por ambas partes al establecer la conexión.
•
Número de asentimiento: número de secuencia del próximo byte que espera el emisor del
segmento.
•
HLEN: longitud de la cabecera TCP, medida en palabras de 4 octetos.
•
Flags: indicadores del tipo de segmento: mensaje de conexión, asentimiento, datos, urgente,
etc.
•
Ventana: tamaño del búffer de recepción del emisor.
•
Checksum: suma de control del segmento TCP.
•
Puntero urgente: si el segmento transporta datos urgentes (conocidos también como datos
OOB31 o fuera de banda), este campo indica la posición del último byte urgente dentro de la
zona de datos.
•
Opciones: campo opcional que puede no existir. Permite negociar cuestiones como el
tamaño máximo de segmento a utilizar.
5.- Nivel de aplicación
Existen multitud de aplicaciones que usan la torre de protocolos TCP / IP como servicio de
transporte. Los protocolos en los que se basan la mayoría de ellas están normalizados por la
principal organización normalizadora de estándares de internet, el IETF. Algunos de estos
protocolos de nivel de aplicación son:
•
DNS: Sistema de nombre de dominio, es una gran base de datos jerárquica y distribuida que
permite dar “nombre” a las direcciones IP. Es el servicio encargado de traducir los nombres
que recordamos, por ejemplo www.terra.es o www.google.com, a las correspondientes
direcciones IP. Utiliza los puertos TCP 53 y UDP 53.
•
HTTP: Protocolo de transferencia de hipertexto, sustenta el servicio WWW. Utiliza por
defecto el puerto TCP 80.
•
SMTP: Protocolo simple de transferencia de hipertexto, sustenta el correo electrónico.
Utiliza por defecto el puerto TCP 25.
•
FTP: Protocolo de transferencia de ficheros, utiliza por defecto el puerto TCP 21. Existe
una versión simplificada, TFTP (trivial FTP) que utiliza el puerto UDP 69.
•
telnet: Servicio de consola remota, utiliza el puerto TCP 23.
•
BOOTP, DHCP: Permiten a un equipo configurar dinámicamente, al arrancar, parámetros
como su dirección de red, la dirección de sus servidores DNS, etc. Ambos utilizan el puerto
UDP 67.
•
SNMP: Protocolo Simple de Gestión de Red, permite a uno o varios equipos gestores
recabar información o enviar órdenes de gestión a los equipos que forman la red. Utiliza el
puerto UDP 161.
5.- Bibliografía
•
Principal:
31 Out of Band
•
•
Stallings, W.; Comunicaciones y redes de computadores, 6ª ed.; Prentice-Hall; 2000.
•
Andrew S. Tanenbaum, Redes de computadores, Cuarta edición, Prentice Hall, 2003.
•
James F. Kurose y Keith W. Ross; Redes de Computadores. A top-down approach
featuring the Internet; Addison Wesley; 2001.
Complementaria:
•
Andrew S. Tanenbaum, Redes de computadores, Tercera edición, Prentice Hall, 1996.
•
Piscitello, David M,; Chapin, A. Lyman. Open Systems Networking: TCP/IP and
OSI. Addison-Wesley, Massachusetts, 1993
•
J. HENSHALL y S. SHAW, "OSI explained. End-to-end computer communication
standards", Elllis Horwood, 1990.
•
M. ROSE, "The open book. A practical perspective on OSI", Prentice-Hall, 1990.
•
F. Halsall; Data Communications, Computer Networks and OSI. 3a Edición; Adison
Wesley
•
Telecomunication Networks, computers and OSI. F. Haldadel. Addison Wesley
(1988).
Descargar