8.7 Ruteo por anfitrión especifico - materia

Anuncio
Resumen del Libro
TCP / IP
De Douglas Comer
1er Parcial Redes II
Índice
5 TRANSFORMACIÓN DE DIRECCIONES INTERNET EN DIRECCIONES FÍSICAS (ARP) ............. 6
5.4 ASOCIACIÓN MEDIANTE TRANSFORMACIÓN DIRECTA ................................................................................................ 6
5.5 DEFINICIÓN MEDIANTE ENLACE DINÁMICO.............................................................................................................. 6
5.6 MEMORIA INTERMEDIA ...................................................................................................................................... 6
5.7 REFINAMIENTOS ARP ........................................................................................................................................ 6
5.8 RELACIÓN DE ARP CON OTROS PROTOCOLOS .......................................................................................................... 6
5.9 IMPLANTACIÓN DE ARP ..................................................................................................................................... 7
5.10 ENCAPSULACIÓN E IDENTIFICACIÓN DE ARP ......................................................................................................... 7
5.11 FORMATO DEL PROTOCOLO ARP ........................................................................................................................ 7
6 DETERMINACIÓN EN EL ARRANQUE DE UNA DIRECCIÓN INTERNET (RARP) ........................ 8
6.1 INTRODUCCIÓN ................................................................................................................................................. 8
6.2 PROTOCOLO DE DIRECCIÓN DE ASOCIACIONES POR RÉPLICA........................................................................................ 8
6.3 TEMPORIZACIÓN DE LAS TRANSACCIONES RARP...................................................................................................... 8
7 IP: ENTREGA DE DATAGRAMAS SIN CONEXIÓN ............................................................................. 9
7.2 UNA RED VIRTUAL ............................................................................................................................................ 9
7.3 ARQUITECTURA Y FILOSOFÍA DE INTERNET .............................................................................................................. 9
7.4 EL CONCEPTO DE ENTREGA NO CONFIABLE .............................................................................................................. 9
7.5 SISTEMA DE ENTREGA SIN CONEXIÓN ..................................................................................................................... 9
7.6 PROPÓSITO DE IP .............................................................................................................................................. 9
7.7 DATAGRAMA DE INTERNET .................................................................................................................................. 9
7.7.1 Formato de datagrama ...................................................................................................................... 10
7.7.2 Tipo de datagramas de servicio y prioridad de datagramas .............................................................. 11
7.7.3 Encapsulación de datagramas ........................................................................................................... 11
7.7.4 Tamaño del Datagrama, MTU de red y fragmentación ..................................................................... 11
7.7.5 Reensamblado de fragmentos............................................................................................................. 11
7.7.6 Control de fragmentación .................................................................................................................. 11
7.7.7 Time to Live (TTL) ............................................................................................................................. 11
7.7.8 Otros campos de encabezado de datagrama ...................................................................................... 11
7.8 OPCIONES PARA LOS DATAGRAMAS DE INTERNET ................................................................................................... 11
7.8.1 Opción de registro de ruta ................................................................................................................. 12
7.8.2 Opción de ruta fuente ......................................................................................................................... 12
7.8.3 Opción de sello de hora ..................................................................................................................... 12
7.8.4 Fragmentación durante el procesamiento de las opciones ................................................................ 12
8 IP: RUTEO DE DATAGRAMAS ............................................................................................................. 13
8.1 INTRODUCCIÓN ............................................................................................................................................... 13
8.2 RUTEO EN UNA RED DE REDES ............................................................................................................................ 13
8.3 ENTREGA DIRECTA E INDIRECTA .......................................................................................................................... 13
8.4 RUTEO IP CONTROLADO POR TABLA .................................................................................................................... 13
8.5 RUTEO CON SALTO AL SIGUIENTE ........................................................................................................................ 13
8.6 RUTAS ASIGNADAS POR OMISIÓN........................................................................................................................ 14
8.7 RUTEO POR ANFITRIÓN ESPECIFICO ..................................................................................................................... 14
8.8 EL ALGORITMO DE RUTEO IP.............................................................................................................................. 14
8.9 RUTEO CON DIRECCIONES IP.............................................................................................................................. 14
8.10 MANEJO DE LOS DATAGRAMAS ENTRANTES ........................................................................................................ 14
8.11 ESTABLECIMIENTO DE LAS TABLAS DE RUTEO ....................................................................................................... 15
9 IP: MENSAJES DE ERROR Y DE CONTROL (ICMP) ......................................................................... 16
9.2 EL PROTOCOLO DE MENSAJES DE ERROR DE INTERNET ............................................................................................. 16
9.3 REPORTE DE ERRORES CONTRA CONEXIÓN ............................................................................................................ 16
9.4 ENTREGA DE MENSAJES ICMP ........................................................................................................................... 16
9.5 FORMATO DE LOS MENSAJES ICMP .................................................................................................................... 16
9.6 EL MENSAJE PING .......................................................................................................................................... 16
9.8 REPORTE DE DESTINOS NO ACCESIBLES................................................................................................................. 16
9.9 CONTROL DE CONGESTIONAMIENTOS Y DE FLUJO DE DATAGRAMAS ........................................................................... 17
9.10 FORMATO DE DISMINUCIÓN DE TASA DE ORIGEN ................................................................................................. 17
9.11 SOLICITUD DE CAMBIO DE RUTA DESDE LOS ROUTERS ............................................................................................ 17
9.12 DETECCIÓN DE RUTAS CIRCULARES O EXCESIVAMENTE LARGAS................................................................................ 17
9.13 REPORTE DE OTROS PROBLEMAS ...................................................................................................................... 17
9.14 SINCRONIZACIÓN DE RELOJES Y ESTIMACIÓN DE TIEMPO DE TRANSITO ...................................................................... 17
9.15 SOLICITUD DE INFORMACIÓN Y MENSAJES DE RESPUESTA ....................................................................................... 17
9.16 OBTENCIÓN DE UNA MÁSCARA DE SUBRED ......................................................................................................... 18
10 EXTENSIONES DE DIRECCIÓN DE SUBRED Y SUPERRED .......................................................... 19
10.2 RESEÑA DE HECHOS IMPORTANTES ................................................................................................................... 19
10.3 MINIMIZACIÓN DE NÚMEROS DE RED ................................................................................................................ 19
10.4 ROUTERS TRANSPARENTES .............................................................................................................................. 19
10.5 ARP SUSTITUTO............................................................................................................................................ 20
10. 6 DIRECCIONES DE SUBRED ............................................................................................................................... 20
10.7 FLEXIBILIDAD EN LA ASIGNACIÓN DE DIRECCIONES DE SUBRED................................................................................. 20
10.8 IMPLANTACIONES DE SUBREDES CON MÁSCARAS.................................................................................................. 20
10.9 REPRESENTACIÓN DE MÁSCARAS DE SUBRED ....................................................................................................... 20
10.10 RUTEO CON LA PRESENCIA DE SUBREDES .......................................................................................................... 20
10.11 EL ALGORITMO DE RUTEO DE SUBRED .............................................................................................................. 20
10.12 UN ALGORITMO UNIFICADO DE RUTEO............................................................................................................. 20
10.13 MANTENIMIENTO DE LAS MÁSCARAS DE SUBRED ............................................................................................... 20
10.14 DIFUSIÓN A LAS SUBREDES ............................................................................................................................ 21
10.15 DIRECCIONAMIENTO DE SUPERRED ................................................................................................................. 21
10.16 EL EFECTO DE TRABAJAR CON SUPERREDES DE RUTEO.......................................................................................... 21
12 PROTOCOLO DE DATAGRAMA DE USUARIO (UDP) .................................................................... 22
12.2 IDENTIFICACIÓN DEL DESTINO FINAL .................................................................................................................. 22
12.3 PROTOCOLO DE DATAGRAMA USUARIO (UDP).................................................................................................... 22
12.4 FORMATO DE LOS MENSAJES UDP .................................................................................................................... 22
12.5 PSEUDO ENCABEZADO UDP ............................................................................................................................ 23
12.6 ENCAPSULACIÓN DE UDP Y ESTRATIFICACIÓN POR CAPAS DE PROTOCOLOS ............................................................... 23
12.7 ESTRATIFICACIÓN POR CAPAS Y CÓMPUTO UDP DE SUMA DE VERIFICACIÓN .............................................................. 23
12.8 MULTIPLEXADO, DEMULTIPLEXADO Y PUERTOS UDP ............................................................................................ 23
12.9 NÚMEROS DE PUERTO UDP RESERVADOS Y DISPONIBLES ...................................................................................... 24
13 SERVICIO DE TRANSPORTE Y FLUJO CONFIABLE (TCP) .......................................................... 25
13.2 NECESIDAD DE LA ENTREGA DE FLUJO ................................................................................................................ 25
13.3 CARACTERÍSTICAS DEL SERVICIO DE ENTREGA CONFIABLE ....................................................................................... 25
13.4 PROPORCIONANDO CONFIABILIDAD .................................................................................................................. 25
13.5 LA IDEA DETRÁS DE LAS VENTANAS DESLIZABLES................................................................................................... 26
13.6 PROTOCOLO DE CONTROL DE TRANSMISIÓN (TCP) .............................................................................................. 27
13.7 PUERTOS CONEXIONES Y PUNTOS EXTREMOS ...................................................................................................... 27
13.8 APERTURAS PASIVAS Y ACTIVAS ........................................................................................................................ 27
13.9 SEGMENTOS, FLUJOS Y NÚMEROS DE SECUENCIA ................................................................................................. 27
13.10 TAMAÑO VARIABLE DE VENTANA Y CONTROL DE FLUJO........................................................................................ 27
13.11 FORMATO DE SEGMENTO TCP ....................................................................................................................... 28
13.12 DATOS FUERA DE BANDA .............................................................................................................................. 29
13.14 CÓMPUTO DE SUMA DE VERIFICACIÓN ............................................................................................................. 29
13.15 ACUSES DE RECIBO Y RETRANSMISIÓN.............................................................................................................. 29
13.17 MEDICIÓN DEL RTT (ROUND TRIP TIME) ......................................................................................................... 30
13.18 ALGORITMO DE KARN Y ANULACIÓN DEL TEMPORIZADOR .................................................................................... 30
13.19 RESPUESTA A UNA VARIACIÓN ALTA DE RETRASO ............................................................................................... 30
13.20 RESPUESTA AL CONGESTIONAMIENTO ............................................................................................................. 30
13.21 ESTABLECIMIENTO DE UNA CONEXIÓN TCP ...................................................................................................... 31
13.22 NÚMEROS DE SECUENCIA INICIAL.................................................................................................................... 31
13.23 TERMINACIÓN DE UNA CONEXIÓN................................................................................................................... 31
13.24 RESTABLECIMIENTO DE UNA CONEXIÓN TCP..................................................................................................... 31
13.25 MÁQUINA DE ESTADO TCP ........................................................................................................................... 31
13.26 FORZANDO LA ENTREGA DE DATOS.................................................................................................................. 31
13.27 NÚMEROS RESERVADOS DE PUERTO TCP ......................................................................................................... 31
13.28 DESEMPEÑO DEL TCP .................................................................................................................................. 31
13.29 SÍNDROME DE LA VENTANA TONTA ................................................................................................................. 31
13.30 PREVENCIÓN DEL SÍNDROME DE VENTANA TONTA .............................................................................................. 32
13.30.1 Prevención del lado del receptor ................................................................................................... 32
13.30.2 Acuses de recibo retardados .......................................................................................................... 32
13.30.3 Prevención del lado del emisor ...................................................................................................... 32
14 RUTEO: NÚCLEOS, PARES Y ALGORITMOS (GGP) ...................................................................... 33
14.2 ORIGEN DE LAS TABLAS DE RUTEO ..................................................................................................................... 33
14.3 RUTEO CON INFORMACIÓN PARCIAL .................................................................................................................. 33
14.4 ARQUITECTURA Y NÚCLEOS DE INTERNET ORIGINALES ........................................................................................... 33
14.5 ROUTERS DE NÚCLEO ..................................................................................................................................... 33
14.6 MÁS ALLÁ DE LA ARQUITECTURA DE NÚCLEO, HASTA LAS COLUMNAS VERTEBRALES PARES............................................ 33
14.7 DIFUSIÓN AUTOMÁTICA DE RUTA...................................................................................................................... 34
14.8 RUTEO POR VECTOR-DISTANCIA (BELLMAN-FORD) ............................................................................................... 34
14.9 PROTOCOLO PASARELA-A-PASARELA (GGP) ....................................................................................................... 34
14.10 FORMATO DE LOS MENSAJES GGP .................................................................................................................. 34
14.11 RUTEO DE ENLACE ESTADO (SPF) ................................................................................................................... 34
14.12 PROTOCOLOS SPF ....................................................................................................................................... 35
15 RUTEO: SISTEMAS AUTÓNOMOS (EGP) ......................................................................................... 36
15.2 AGREGAR COMPLEJIDAD AL MODELO ARQUITECTÓNICO ........................................................................................ 36
15.3 UNA IDEA FUNDAMENTAL: SALTOS ADICIONALES (HOPS) ....................................................................................... 36
15.4 CONCEPTO DE LOS SISTEMAS AUTÓNOMOS......................................................................................................... 37
15.5 PROTOCOLO DE PASARELA EXTERIOR (EGP)........................................................................................................ 37
15.6 ENCABEZADO DE MENSAJES ............................................................................................................................. 38
15.7 MENSAJES DE ADQUISICIÓN DE VECINO.............................................................................................................. 38
15.8 MENSAJES DE ACCESIBILIDAD DE VECINO EGP..................................................................................................... 38
15.9 MENSAJES DE SOLICITUD DE SONDEO EGP ......................................................................................................... 38
15.10 MENSAJE DE ACTUALIZACIÓN DE ENRUTAMIENTO EGP ....................................................................................... 39
15.11 MEDICIÓN DESDE LA PERSPECTIVA DEL RECEPTOR .............................................................................................. 39
15.12 LA RESTRICCIÓN CLAVE DE EGP ...................................................................................................................... 39
15.13 PROBLEMAS TÉCNICOS ................................................................................................................................. 39
15.14 DESCENTRALIZACIÓN DE LA ARQUITECTURA INTERNET ........................................................................................ 39
15.15 MÁS ALLÁ DE LOS SISTEMAS AUTÓNOMOS........................................................................................................ 39
16 RUTEO EN UN SISTEMA AUTÓNOMO ............................................................................................. 40
16.2 RUTAS INTERIORES DINÁMICAS Y ESTÁTICAS ........................................................................................................ 40
16.3 PROTOCOLO DE INFORMACIÓN DE RUTEO (RIP) .................................................................................................. 40
16.3.1 Solución al problema de la convergencia lenta ............................................................................... 40
16.3.2 Formato del mensaje RIP ................................................................................................................. 40
16.3.3 Convenciones de direccionamiento RIP ........................................................................................... 40
16.3.4 Transmisión de mensajes RIP .......................................................................................................... 41
16.4 PROTOCOLO HELLO ....................................................................................................................................... 41
16.5 COMBINACIÓN DE PROTOCOLO RIP, HELLO Y EGP .............................................................................................. 41
16.6 PROTOCOLO DE SPF ABIERTO (OSPF) ............................................................................................................... 41
16.6.1 Formato de mensaje OSPF .............................................................................................................. 41
16.6.2 Formato del mensaje Hello de OSPF............................................................................................... 41
16.6.3 Formato del mensaje de descripción de la base de datos del OSPF ................................................ 41
16.6.4 Formato del mensaje de solicitud de enlace del OSPF .................................................................... 41
16.6.5 Formato del mensaje de actualización de estado de enlace OSPF .................................................. 41
16.7 RUTEO CON INFORMACIÓN PARCIAL .................................................................................................................. 41
17 MULTIDIFUSIÓN INTERNET (IGMP) ................................................................................................ 42
17.2 DIFUSIÓN POR HARDWARE .............................................................................................................................. 42
17.3 MULTIDIFUSIÓN POR HARDWARE ..................................................................................................................... 42
17.4 MULTIDIFUSIÓN IP ........................................................................................................................................ 42
17.5 DIRECCIONES DE MULTIDIFUSIÓN IP .................................................................................................................. 42
17.6 TRANSFORMACIÓN DE MULTIDIFUSIÓN IP EN MULTIDIFUSIÓN ETHERNET ................................................................. 42
17.7 EXTENSIÓN DEL IP PARA MANEJAR LA MULTIDIFUSIÓN .......................................................................................... 42
17.8 PROTOCOLO DE GESTIÓN DE GRUPOS DE INTERNET............................................................................................... 42
17.9 IMPLANTACIÓN IGMP ................................................................................................................................... 42
17.10 TRANSICIONES DEL ESTADO DE LA MEMBRESÍA DE GRUPO .................................................................................... 42
17.11 FORMATO DE LOS MENSAJES IGMP ................................................................................................................ 42
17.12 ASIGNACIÓN DE DIRECCIONES DE MULTIDIFUSIÓN .............................................................................................. 42
17.13 DIFUSIÓN DE INFORMACIÓN DE RUTEO ............................................................................................................ 43
17.14 EL PROGRAMA MROUTED.............................................................................................................................. 43
5 Transformación de direcciones Internet en direcciones físicas
(ARP)
5.4 Asociación mediante transformación directa
Puede ser usada en redes donde las direcciones físicas pueden ser asignadas por un
administrador, entonces se tiene la posibilidad de elegir una dirección física que se asocie con
la dirección IP de la interfaz de la máquina. Para esta transformación (IP ►Dirección Física)
solo es necesaria la creación de una función.
PA = f (IA)
5.5 Definición mediante enlace dinámico
Para algunas redes la asociación de direcciones no es tan sencilla, caso de Ethernet. Las
direcciones físicas de Ethernet tienen 48 bits y las IP 32 bits, por eso no es posible una
asociación uno a uno. Para solucionar esto se creó el protocolo de bajo nivel (capa 2) ARP
que resuelve la asociación de manera dinámica sin una base centralizada.
Cuando se quiere averiguar la dirección física de una máquina, el proceso sería el siguiente:
Si A quiere saber la dirección física de B, el anfitrión A envía un paquete por difusión a todas
las máquinas. Todas las máquinas lo reciben, pero B solamente se hace cargo porque
reconoce que el paquete es para él (lo reconoce porque el paquete va grabado con la IP de B)
entonces B responde el mensaje con su dirección física directamente (y solamente) a A.
5.6 Memoria intermedia
Dado que la difusión es costosa, se mantiene una memoria intermedia con direcciones ya
consultadas para no tener que volver a realizar la consulta. Esta memoria se chequea siempre
antes de enviar la difusión. Las entradas se mantienen por un determinado tiempo ya que la
dirección física de una máquina puede cambiar si se cambia su hardware de acceso a la red.
Si fueran permanentes, pasaría que si A recuerda que B tiene cierta dirección física y luego la
dirección de B cambia, A no podrá mandar paquetes a B porque su dirección física es
errónea.
5.7 Refinamientos ARP
Una mejora se basa en que si A necesita mandar algo a B, seguramente B necesite enviar algo
a la máquina A, entonces cuando A envía la difusión, en el paquete, además de incluir su
propia IP y la IP de B, también agrega su propia dirección física. Así, cuando B recibe el
paquete, ya puede guardar la dirección física de A y se ahorra de realizar una consulta más
tarde.
5.8 Relación de ARP con otros protocolos
ARP es un protocolo de bajo nivel que oculta el direccionamiento físico subyacente. Se
piensa en ARP como parte del sistema físico de red y no como parte del conjunto de
protocolos de red de redes.
5.9 Implantación de ARP
ARP está dividido en dos partes:
1. La primera transforma una dirección IP en una física cuando se envía un paquete.
2. La segunda responde solicitudes de otras máquinas.
5.10 Encapsulación e identificación de ARP
Los mensajes ARP se encapsulan en una trama. La trama está formada por un encabezado y
por un área de datos. Para identificar que la trama transporta un mensaje ARP, se le asigna un
valor especial al campo TIPO del encabezado.
5.11 Formato del protocolo ARP
A diferencia de muchos protocolos, ARP posee un encabezado de tamaño variable para tener
la capacidad de adaptarse a varias tecnologías.
TIPO DE PROTOCOLO
OPERACION
TIPO DE HARDWARE
HLEN
PLEN
SENDER HA
SENDER HA
SENDER IP
SENDER IP
TARGET HA
TARGET HA
TARGET IP
Figura 5.3
El diagrama corresponde al ejemplo de un mensaje ARP cuando se usa para transformar
direcciones físicas Ethernet a direcciones IP. Las direcciones de hardware tienen 6 octetos
mientras que las IP tienen 4 octetos. El campo HARDWARE TYPE especifica el tipo de
interfaz de hardware. El campo PROTOCOL TYPE especifica el tipo de dirección de
protocolo de alto nivel. El campo OPERATION es el que especifica si se trata de un mensaje
ARP.
Los campos HLEN y PLEN son los que le dan a ARP la posibilidad de adaptarse a diferentes
redes, ya que estos especifican el largo de las direcciones físicas y del protocolo de capa
superior respectivamente.
6 Determinación en el arranque de una dirección Internet (RARP)
6.1 Introducción
Se vio que ARP sirve para determinar direcciones físicas a través de direcciones IP. RARP
(Reverse ARP) sirve justamente para lo contrario, es decir que determina direcciones IP a
través de direcciones físicas. Esto es útil por ejemplo para aquellas máquinas que no poseen
disco y no pueden almacenar su dirección IP en memoria secundaria,
6.2 Protocolo de dirección de asociaciones por réplica
En este caso la resolución de direcciones se lleva a cabo a través de servidores RARP. Una
máquina que requiera conocer si dirección IP, envía una solicitud RARP que es respondida
por aquellas máquinas autorizadas para hacerlo. Las máquinas que responden, lo hacen
directamente a la máquina que solicito el servicio. Para que el sistema funcione
correctamente, deberá haber al menos un servidor RARP.
6.3 Temporización de las transacciones RARP
El software RARP es el que debe manejar las fallas ya que este trabaja directamente sobre la
capa física. Generalmente RARP trabaja sobre redes de área local, por lo tanto la tasa de
fallos es muy baja. Se utiliza retraso en los envíos para evitar la inundación de la red con
tráfico innecesario, ya que las solicitudes son enviadas a través de difusión.
6.4 Servidores RARP primarios y de respaldo
7 IP: Entrega de datagramas sin conexión
7.2 Una Red Virtual
Un usuario percibe una red de redes como una sola red virtual que interconecta a
todos los anfitriones, y a través de la cual es posible la comunicación; la
arquitectura subyacente permanece oculta y es irrelevante.
7.3 Arquitectura y filosofía de internet
Una red de redes TCP/IP posee una arquitectura de tres conjuntos de servicios.
SERVICIOS DE APLICACION
SERVICIOS DE TRANSPORTE CONFIABLE
SERVICIOS DE ENTREGA DE PAQUETES SIN CONEXION
Figura 7.1
7.4 El concepto de entrega no confiable
7.5 Sistema de entrega sin conexión
Es el servicio más importante de la red de redes. Se conoce como no confiable porque la
entrega no está garantizada. Los paquetes pueden perderse, duplicarse, desordenarse y demás,
pero el servicio no notifica de tales hechos ni al emisor ni al receptor.
7.6 Propósito de IP
El protocolo IP proporciona definiciones importantes:
1. Define la unidad básica de transferencia
2. Realiza la función de ruteo
3. Incluye un conjunto de reglas que le dan forma a la idea de entrega no confiable
7.7 Datagrama de Internet
Posee un encabezado y un área de datos. Su formato es de características similares al formato
de trama de una red física.
7.7.1 Formato de datagrama
0
4
VERS
8
HLEN
16
TIPO DE SERVICIO
LONGITUD TOTAL
IDENTIFICACION
TTL
31
FLAGS
OFFSET
CHECKSUM
PROTOCOLO
IP DE FUENTE
IP DE DESTINO
RELLENO
OPCIONES IP
DATOS
...
Figura 7.3
El datagrama según los campos:














VERS: Proporciona la versión de IP con la que se creó el datagrama.
PROTOCOLO: Determina el protocolo usado en la capa superior.
HLEN: Proporciona la longitud del encabezado del datagrama, medida en cantidad de
palabras de 32 bits.
OPCIONES: Es un campo de longitud variable. Esta acompañado del campo
RELLENO.
RELLENO: Se complementa con el campo OPCIONES (para redondear el espacio
utilizado por ese campo).
LONGITUD TOTAL: Determina cual es la longitud total del datagrama medida en
octetos. Al tener 16 bits, el tamaño máximo que puede tener un datagrama IP es de
2x1016 bytes (65535 bytes).
TIPO DE SERVICIO (TOS): Determina como debe manejarse el datagrama.
DIRECCION IP DESTINO: Hacia quien va dirigido el datagrama.
DIRECCION IP FUENTE: Desde donde se envió el datagrama.
CHECKSUM: Suma de verificación para comprobación de errores.
TTL: Determina la cantidad máxima de tiempo que el datagrama podrá circular por la
red.
IDENTIFICACION: Identifica unívocamente al datagrama.
OFFSET: Especifica el desplazamiento en el datagrama original de los datos que se
están acarreando en el fragmento.
FLAGS: Controlan la fragmentación.
7.7.2 Tipo de datagramas de servicio y prioridad de datagramas
7.7.3 Encapsulación de datagramas
7.7.4 Tamaño del Datagrama, MTU de red y fragmentación
7.7.5 Reensamblado de fragmentos
7.7.6 Control de fragmentación
En el header IP hay 3 campos que controlan la fragmentación, estos son el FRAGMENT
OFFSET, FLAGS e IDENTIFICATION. El campo identificación debe copiarse a cada uno
de los fragmentos ya que identifica a cada datagrama (su valor debe ser único). El Offset
especifica el desplazamiento en el datagrama original de los datos que se están acarreando en
el fragmento (el primer fragmento es aquel que tiene Offset 0). El primer bit es usado para
especificar si el datagrama debe ser fragmentado o no.
Al último bit de orden menor se lo denomina more fragments ya que especifica si después del
fragmento actual hay mas fragmentos o no.
7.7.7 Time to Live (TTL)
Especifica el tiempo que el datagrama puede permanecer en la red. Los routers que procesan
el datagrama deben decrementar el TTL y deben descartar el datagrama una vez que el TTL
llega a 0. En primer lugar el router decrementa el TTL en 1, pero si el datagrama permanece
demasiado tiempo en la memoria intermedia, ese tiempo es registrado y restado también al
TTL.
7.7.8 Otros campos de encabezado de datagrama
El campo PROTOCOL especifica el protocolo utilizado en la capa superior.
SOURCE ADDRESS determina la IP del emisor.
HEADER CHECKSUM es la suma de verificación para el chequeo del header.
DATA los datos enviados por la capa superior.
7.8 Opciones para los datagramas de Internet
Es ejemplo de un campo que no necesariamente debe ser copiado en todos los fragmentos del
datagrama. Su longitud puede variar.
El contenido del campo OPTIONS puede estar conformado por uno o más octetos. Cada
octeto es una opción. Todas las opciones van una al lado de la otra sin separadores especiales.
Cada octeto de opción está compuesto por tres partes.
COPY | OPTION CLASS | OPTION NUMBER
COPY especifica si el campo OPTIONS debe copiarse en los fragmentos del datagrama.
OPTION CLASS da información de a que clase pertenece la opción elegida.
 El valor 0 identifica a la clase control de red
 El valor 2 identifica a la clase de depuración y medición.
OPTION NUMBER da una idea más específica de la opción dentro de la clase a la que
pertenece.
Algunas opciones son:
1. Opción de registro de ruta
2. Opción de ruta fuente
3. Opción de sello de hora
7.8.1 Opción de registro de ruta
7.8.2 Opción de ruta fuente
7.8.3 Opción de sello de hora
7.8.4 Fragmentación durante el procesamiento de las opciones
8 IP: Ruteo de datagramas
8.1 Introducción
El objetivo de IP es proporcionar la vista de una red virtual que rutea paquetes, y abstraer a
los usuarios de la existencia de las múltiples redes físicas subyacentes.
8.2 Ruteo en una red de redes
En un sistema de conmutación de paquetes, el ruteo es el proceso de selección de un camino
sobre el que se mandaran los paquetes.
Un anfitrión generalmente está conectado a una sola red, puede eventualmente estar
conectado a varias redes (multi homed) aunque en tal caso no se le permitirá rutear paquetes,
es decir, si un datagrama le llega a él y no tiene su IP debe descartar el paquete. Los routers
son los que se encargan realmente de rutear paquetes.
8.3 Entrega directa e indirecta
La entrega directa se lleva a cabo cuando la entrega no requiere pasar a través de un router,
sino que se realiza dentro de una sola red física. En caso contrario se tratará de una entrega
indirecta.
Para saber que un envió se va a realizar con entrega directa, el emisor compara la porción de
red de la IP del destino con la porción de red de su propia IP y si coinciden sabe que se trata
de ED.
En la entrega indirecta el transmisor debe identificar un router para enviar el datagrama quien
luego deberá encaminar el datagrama hacia su red de destino.
Los routers en una red de redes TCP/IP forman una estructura cooperativa e
interconectada. Los datagramas pasan de un router a otro hasta que llegan a
destino
8.4 Ruteo IP controlado por tabla
Tanto los anfitriones como los routers poseen tablas de ruteo. Para las tablas de ruteo se
utiliza el principio de ocultación de información, para evitar los grandes volúmenes de datos
que serian necesarios para poseer información de todos los destinos y de cómo llegar a ellos.
Las tablas de ruteo solo contienen prefijos de red (no de hosts).
8.5 Ruteo con salto al siguiente
Una tabla de ruteo contiene pares de la forma (N,R) donde N es la IP de red del destino y R
es la IP del siguiente router en el camino hacia N.
El router R es conocido como salto al siguiente.
El principio de ocultación de información también se aplica a los anfitriones, la idea es que
estos deleguen la mayor parte del de sus funciones de ruteo a los routers.
8.6 Rutas asignadas por omisión
Se utiliza para reducir los registros de las tablas de ruteo. La idea es asociar varios registros a
un router asignado por omisión. Primero se busca la IP en la tabla y si no se encuentra se
envía el datagrama a un router asignado por omisión.
8.7 Ruteo por anfitrión especifico
El software IP permite que se especifiquen rutas por anfitrión (como un caso especial) lo que
le da al administrador de red la posibilidad de tener un mayor control sobre el uso de la
misma (también se puede usar para controlar el acceso por razones de seguridad).
8.8 El algoritmo de ruteo IP






Extraer del datagrama la dirección IP de destino D y computar el prefijo de red N.
Si N corresponde a una dirección de red directamente conectada, entregar el paquete
al destino D.
De otra forma, si la tabla contiene la ruta con el anfitrión especifico para D, enviar el
datagrama al salto siguiente especificado en la tabla.
De otra forma, si la tabla contiene una ruta para la red N, enviar el datagrama al salto
siguiente especificado en la tabla.
De otra forma, si la tabla contiene una ruta asignada por omisión, enviar el datagrama
al router asignado.
De otra forma declarar un error de ruteo.
8.9 Ruteo con direcciones IP
El software IP prácticamente no altera los datagramas al realizar el ruteo (solo modifica el
TTL y el checksum). Tanto la IP de origen como la de destino permanecen invariantes.
Cuando IP aplica el algoritmo, determina la dirección de salto al siguiente, entonces ¿Dónde
se guarda esa dirección? La respuesta a eso es que “IP no guarda la dirección de salto al
siguiente, ni modifica la IP de destino” (sino el siguiente no sabría a donde enviarlo), sino
que pasa la dirección de salto al siguiente al software de capa inferior (interfaz de red). Luego
el software de interfaz de red crea la trama con la IP transformada a una dirección física, pone
el datagrama en el área de datos y envía la trama.
Hacer que las tablas de direccionamiento tengan direcciones IP y no físicas, trae como
ventaja que el software se abstrae de la implementación física de las redes y otorga un
formato de direcciones uniforme a los administradores.
8.10 Manejo de los datagramas entrantes
El caso de un anfitrión: Cuando un datagrama llega a un anfitrión, el software de interfaz de
red lo entrega al software IP, que evalúa si la IP destino del datagrama coincide con la del
anfitrión, y en tal caso entrega el datagrama a al protocolo de capa superior. En caso contrario
deberá descartar el datagrama.
El caso de un router: Cuando llega un datagrama, se pasa al software IP el cual analiza la
dirección de destino del datagrama. Tal cual el caso anterior, pueden suceder dos cosas:
1. Que el datagrama haya llegado a su destino.
2. Que el datagrama necesite seguir viajando.
En el primer caso, se pasará el datagrama a un software de nivel más alto. En el segundo, se
aplicará el algoritmo de ruteo para direccionar el datagrama a su destino.
Determinar que un datagrama ha llegado a su destino puede volverse complejo. Recordar que
ciertas máquinas pueden estar conectadas a varias interfaces de red y por lo tanto tener varias
direcciones IP. Además, a una máquina pueden llegar datagramas enviados por difusión
(limitada o dirigida), esos datagramas tendrán una IP de difusión y deberán ser aceptados.
Un anfitrión debe abstenerse de rutear paquetes que le llegan erróneamente (algunos
anfitriones multi homed son configurados para llevar a cabo esta tarea) por varias razones:
 Si a él le llega un datagrama mal ruteado y él lo envía a su destino, el error ocurrido
en el ruteo permanecerá oculto.
 Los anfitriones no poseen implementación de protocolos para reportar errores.
 Los routers además de rutear, se encargan de la función de transmitir información de
tablas.
8.11 Establecimiento de las tablas de ruteo
9 IP: Mensajes de error y de control (ICMP)
9.2 El protocolo de mensajes de error de internet
El protocolo de mensajes de control Internet (ICMP) permite que los routers
envíen mensajes de error o de control hacia los routers o anfitriones.
Proporciona comunicación entre el software de IP de una máquina y el mismo
software en otra.
9.3 Reporte de errores contra conexión
Cuando un datagrama causa un error, el ICMP solo puede reportar la condición del error al
origen; la fuente debe relacionar el error con un programa de aplicación o debe tomar una
acción para corregir el problema.
El ICMP no puede enviar mensajes a los routers intermedios, solo a terminales, esto se debe a
que a nivel capa de red solo se manejan las direcciones de origen y destino.
9.4 Entrega de mensajes ICMP
Los mensajes de error poseen doble Encapsulamiento (capa de red y capa de enlace). Su ruteo
es idéntico a los datagramas de datos de usuario y tienen la misma prioridad.
Si un datagrama ICMP produce un error, no se generará un ICMP de ese error.
A pesar de que los mensajes ICMP se encapsulan y envían a mediante datagramas IP, no se lo
considera un protocolo de nivel superior
9.5 Formato de los mensajes ICMP
Todos los mensajes tienen los mismos 3 campos.
TYPE 8 bits
CODE 8 bits
CHECKSUM 16 bits
En los mensajes ICMP se incluye el encabezado del datagrama que origino el error y los
primeros 64 bits de datos.
9.6 El mensaje PING
Es un mensaje ICMP que sirve para saber la alcanzabilidad de un anfitrión. El mensaje está
compuesto por un request y un reply. Esta asociación permite saber que los objetos
intermedios entre los dispositivos funcionan correctamente (routers, anfitriones, software,
etc.)
Se puede usar para realizar estadísticas de pérdida de datagramas.
9.8 Reporte de destinos no accesibles
Cuando un router no puede direccionar o entregar un datagrama IP envía un mensaje de
destino no accesible.
Ante este error, IP descartará el datagrama. A pesar de detectar el error, IP no puede
determinar en su totalidad la causa del error.
9.9 Control de congestionamientos y de flujo de datagramas
En el caso en que se llenen los buffers, una máquina puede utilizar un mensaje ICMP para
comunicar al origen un problema de congestionamiento para que este disminuya el volumen
de datos.
Por lo general se envía uno de estos mensajes por cada datagrama descartado
(congestionamiento severo).
No hay un mensaje para decirle al origen “aumenta la tasa de envío” sino que el origen hará
esto automáticamente deje de recibir mensajes del tipo “baja la tasa de envío”.
9.10 Formato de disminución de tasa de origen
9.11 Solicitud de cambio de ruta desde los routers
Generalmente las tablas de ruteo poseen pocos cambios. Los anfitriones las cargan desde
archivos de configuración en el arranque del sistema y luego los administradores realizan
cambios de ruteo de manera muy esporádica.
Se asume que los routers conoces rutas correctas; los anfitriones comienzan con
información mínima de ruteo y aprenden nuevas rutas de los anfitriones.
Las tablas de ruteo proporcionan información mínima para comunicarse.
Cuando un router detecta que un anfitrión posee una ruta no óptima le envía un mensaje
ICMP llamado REDIRECT.
9.12 Detección de rutas circulares o excesivamente largas
Esto se logra gracias al conteo de saltos de los datagramas. Cuando vence su contador, se
envía un mensaje ICMP indicando el tiempo excedido.
9.13 Reporte de otros problemas
9.14 Sincronización de relojes y estimación de tiempo de transito
A pesar de que las máquinas se comunican, estas generalmente trabajan de manera
independiente, y por lo tanto, mantienen un conocimiento personal de la hora actual. Una
diferencia grande en los tiempos puede ocasionar problemas en el software. Para sincronizar
relojes existen varias técnicas y una es el envío de mensajes ICMP. En el mensaje se incluyen
los campos ORIGINAR, RECIBIR y TRANSMITIR TIMESTAMP.
9.15 Solicitud de información y mensajes de respuesta
9.16 Obtención de una máscara de subred
10 Extensiones de dirección de subred y superred
10.2 Reseña de hechos importantes
Como se recuerda, una dirección IP está compuesta por dos partes:
1. La parte de dirección de red
2. La parte de dirección de host
Entre otras cosas, una de las ventajas de este formato de dirección es que en las tablas de
ruteo en vez de tener una entrada por cada anfitrión, se tiene una por cada red.
TCP/IP incorpora varios tamaños de redes (redes tipo A, B y C).
Las localidades pueden realizar cambios en sus direcciones y rutas, siempre y cuando estas
modificaciones permanezcan ocultas para las demás localidades, por lo tanto una localidad
puede usar direcciones IP de manera no usual siempre y cuando:
 Todos los anfitriones de la localidad estén de acuerdo en seguir ese esquema de
direccionamiento.
 Otras localidades pueden manejar las direcciones como en el esquema original,
10.3 Minimización de números de red
Dado el gran crecimiento de la cantidad de redes físicas dentro de internet, surgen tres
problemas:
1. Se requiere mucho trabajo administrativo para manejar las direcciones de red.
2. Las tablas de los routers son muy grandes.
3. Es espacio de direcciones se acabará eventualmente.
El segundo e y tercero son de vital importancia. El segundo porque al ser tan grandes las
tablas, en el momento en que los routers efectúan el paso de información de ruteo, se produce
gran carga en la red además de requerir un lato grado de procesamiento por parte de los
routers.
El tercero porque el esquema original no puede incorporar mas direcciones del tipo B.
Para disminuir las direcciones de red, muchas redes físicas deben compartir el prefijo IP de
red. Para minimizar las direcciones tipo B, se usan direcciones tipo C modificando los
mecanismos de ruteo.
10.4 Routers transparentes
Es una de las metodologías usadas para compartir prefijos de red IP entre varias redes físicas.
H1
H2
RED DE AREA
AMPLIA
T
H3
H4
Figura 10.1
10.5 ARP sustituto
10. 6 Direcciones de subred
10.7 Flexibilidad en la asignación de direcciones de subred
10.8 Implantaciones de subredes con máscaras
10.9 Representación de máscaras de subred
10.10 Ruteo con la presencia de subredes
10.11 El algoritmo de ruteo de subred
10.12 Un algoritmo unificado de ruteo
10.13 Mantenimiento de las máscaras de subred
10.14 Difusión a las subredes
10.15 Direccionamiento de superred
10.16 El efecto de trabajar con superredes de ruteo
12 Protocolo de datagrama de usuario (UDP)
12.2 Identificación del destino final
Se usa el concepto de destino abstracto dentro de una máquina. Una máquina puede tener
varios destinos, cada uno de esos destinos se denomina puerto de protocolo, el cual se
identifica a través de un numero entero positivo.
La mayoría de los SO poseen acceso síncrono a los puertos, es decir que si una aplicación
intenta consumir de un puerto datos que todavía no llegaron, el SO bloquea temporalmente al
proceso. Generalmente los puertos poseen una memoria intermedia donde se almacenan los
datos hasta que los procesos de aplicación los consumen (cola de espera finita).
Para comunicarse con un puerto externo, un transmisor debe saber tanto su dirección IP como
el número de puerto de protocolo del destino.
12.3 Protocolo de datagrama usuario (UDP)
UDP proporciona un servicio de entrega sin conexión y no confiable, utilizando el IP para
transportar mensajes entre máquinas y agrega la capacidad para distinguir entre varios
destinos de una computadora anfitrión.
12.4 Formato de los mensajes UDP
Cada mensaje UDP se conoce como datagrama de usuario. Cada mensaje consiste de un
encabezado y un área de datos.
0
16
31
PUERTO UDP ORIGEN
PUERTO UDP DESTINO
LONGITUD DE MENSAJE
CHECKSUM
DATOS
...
Figura 12.1
Los campos de UDP:
 PUERTO UDP ORIGEN: Determina el puerto de respuesta para el receptor. Es
opcional.
 PUERTO UDP DESTINO: Determina el puerto de demultiplexado para los
datagramas que los esperan recibir.
 LONGITUD DE MENSAJE: Cantidad de octetos en todo el datagrama UDP. El
mínimo es ocho, que es la longitud del encabezado
 CHECKSUM: Suma de verificación. Por una cuestión de performance, computar
esta suma es opcional.
 DATOS: Los datos enviados desde la capa superior.
12.5 Pseudo encabezado UDP
En UDP la suma de verificación se realiza sobre el datagrama UDP y un pseudo encabezado.
Ese pseudo encabezado contiene entre otras cosas:
 La IP de origen
 La IP de destino
 Longitud del datagrama UDP (sin tener en cuenta el pseudo encabezado).
El motivo de este pseudo encabezado es poder validar en el destino que el datagrama llegó
correctamente a donde debía. Para entender esto hay que pensar que “la dirección” de destino
esta especificada por un par (IP, puerto) pero en el encabezado UDP solo figuran los puertos.
Por lo tanto, para verificar el destino, la máquina transmisora computa la suma de
verificación utilizando tanto la IP como el datagrama UDP.
El pseudo encabezado no se envía, solo sirve para calcular la suma de verificación.
12.6 Encapsulación de UDP y estratificación por capas de protocolos
12.7 Estratificación por capas y cómputo UDP de suma de verificación
12.8 Multiplexado, demultiplexado y puertos UDP
El demultiplexado sucede cuando UDP recibe los datagramas desde IP y utilizando el puerto
de destino decide cual es el programa de aplicación que debe recibir el datagrama.
Puerto 1
Puerto 2
Puerto 3
UDP: Demultiplexado
basado en puerto
Llega el datagrama IP
Capa IP
Figura 12.5
Cuando UDP recibe un datagrama, chequea si corresponde a alguno de los puertos en uso. Si
el puerto especificado en el datagrama es incorrecto, envía un mensaje ICMP puerto no
accesible y descarta el paquete. Si el puerto es correcto, pone el datagrama en el puerto
(encola) hasta que algún programa de aplicación pueda accesarlo. Si el puerto está lleno,
descarta el datagrama.
12.9 Números de puerto UDP reservados y disponibles
13 Servicio de transporte y flujo confiable (TCP)
13.2 Necesidad de la entrega de flujo
La capa de red proporciona un servicio no orientado a conexión y con entrega no confiable.
TCP proporciona un servicio orientado al flujo con el que se busca abstraer al software de
aplicación de estas particularidades de la capa de red y que no sea necesario realizar controles
de errores, ordenamiento de paquetes y demás.
13.3 Características del servicio de entrega confiable
Se caracteriza por cinco funciones:
1. Orientación al flujo: Se envían los datos como un flujo de bits. El servicio de entrega
de flujo en el destino pasa al receptor la misma secuencia de bytes que pasa el
transmisor en el origen.
2. Conexión de circuito virtual: La transferencia de flujo es análoga a una llamada
telefónica. El emisor inicia una llamada que el receptor debe aceptar. Los módulos de
de software del SO se envían mensajes para establecer la conexión, y una vez que se
efectúa se la avisa al módulo de software de aplicación.
3. Transferencia con memoria intermedia: Se forman paquetes con los datos que
envía el emisor. Si el emisor envía de a un byte, seguramente el protocolo recolectara
los mismo para formar un paquete de tamaño óptimo para la transferencia en la red.
En caso de que el emisor envíe bloques de datos muy grandes, el protocolo se
encargará de partirlo en varios paquetes.
4. Flujo no estructurado: El flujo no es interpretado por el protocolo; son los
programas de aplicación quienes deben entender el contenido del flujo.
5. Conexión Full Duplex: Se transmite concurrentemente en ambas direcciones entre
emisor y receptor mediante dos flujos independientes, por lo tanto se permite que un
proceso de aplicación termine el flujo en una dirección mientras que sigue utilizando
el otro.
13.4 Proporcionando confiabilidad
La confiabilidad se brinda a través de la técnica de acuse de recibo con retransmisión. El
emisor lleva registro de todos los paquetes enviados además de un temporizador por cada
uno. Si el temporizador vence antes de recibir el acuse, retransmite el paquete. Además de la
pérdida se intenta solucionar el problema de los paquetes duplicados. Para lograr identificar
unívocamente a cada paquete, se les asigna un número de secuencia el cual es enviado
también en el acuse, para que se pueda asociar correctamente el acuse con el paquete
enviado.
Figura 13.2
En la figura 13.2 se muestra cómo se maneja la pérdida de un paquete. Como el acuse de
recibo no llega a quien envió el mensaje, y el temporizador del mismo vence, el emisor
retransmite.
13.5 La idea detrás de las ventanas deslizables
Como se ve en la figura 13.2, la red permanece ociosa (no se envía ni recibe nada) mientras
se espera el recibo del ACK, lo cual produce un desaprovechamiento de la red. Para evitar
esto se ideo una forma de enviar varios paquetes antes de recibir el acuse del primero, y esto
se logró a través de las ventanas deslizables.
Figura 13.4
13.6 Protocolo de control de transmisión (TCP)
TCP es uno de los protocolos más importantes del conjunto TCP/IP. TCP especifica el
formato de datos, acuses de recibo y los procedimientos que las máquinas deben seguir para
asegurarse de que los datos lleguen de manera correcta. También especifica cómo distinguir
el correcto entre varios destinos en una misma máquina y como dos computadoras inician y
terminan una transferencia de flujo.
El protocolo TCP declara las operaciones que ofrece pero no ofrece una descripción detallada
de la interfaz con la que interactúan los programas de aplicación. Esto se hizo así para lograr
flexibilidad.
TCP asume muy poco sobre el sistema de red subyacente y esto le da la posibilidad de poder
ser utilizado en una gran variedad de sistemas de entrega de paquetes.
13.7 Puertos conexiones y puntos extremos
TCP reside sobre IP y se comunica con varios programas de aplicación de manera
concurrente realizando el demultiplexado del tráfico hacia los programas. TCP utiliza
números de puertos de protocolo para identificar el destino final dentro de una máquina.
TCP identifica una conexión a través de dos puntos extremos. Un punto extremo está
determinado por el par (anfitrión, puerto), es decir (IP, puerto). Entender que para TCP una
conexión no se identifica con un puerto determinado ni una IP, sino que se determina por dos
pares (IP, puerto). Cada par es un punto extremo y la conexión se establece entre dos puntos
extremos.
(18.16.0.36, 1069) y (128.10.0.3, 25)
13.8 Aperturas pasivas y activas
A diferencia de UDP, TCP es orientado a la conexión por lo tanto se requiere que ambos
intervinientes en una conexión se pongan de acuerdo. Para esto uno hará una apertura pasiva
a la escucha de conexiones entrantes y el otro una activa. Una vez que se establece la
conexión los programas de aplicación podrán empezar a transmitir datos.
13.9 Segmentos, flujos y números de secuencia
El flujo se puede ver como una secuencia de bytes que se divide en segmentos para viajar a
través de una red. TCP utiliza ventana deslizante para solucionar dos problemas:
1. Control de flujo.
2. Transmisión eficiente.
El mecanismo de ventana deslizante opera a nivel byte (no a nivel segmento ni paquete). Los
bytes se enumeran de manera secuencial para su identificación (el número inicial de
secuencia se acuerda en el establecimiento de la conexión). Por cada ventana se guardan 3
punteros:
1. El primer apunta al inicio (izquierda) de la ventana. Separa los bytes que se enviaron
y confirmaron de los que se enviaron y falta confirmación.
2. El segundo apunta al byte a partir del cual se puede enviar.
3. El tercero marca el final de la ventana. Apunta al último byte que se puede enviar
antes de recibir el ACK de los anteriores.
13.10 Tamaño variable de ventana y control de flujo
La ventana deslizable de TCP permite un tamaño variable, lo cual permite realizar un control
sobre el flujo de la conexión. Para implementar esto, lo que se hace es que el receptor envíe
en el acuse de recibo la cantidad de bytes adicionales que está dispuesto a recibir. Se puede
pensar al tamaño de ventana como el espacio de memoria intermedia que el receptor tiene
disponible para recibir mensajes del emisor. El emisor tendrá que responder a los cambios de
ventana que especifique el receptor agrandando o achicando su ventana. El emisor cambia el
tamaño de su ventana en el momento en que esta se desplaza.
En un caso extremo el receptor puede anunciar un tamaño de ventana de cero con lo cual el
emisor suspende la transmisión hasta que el receptor anuncia un tamaño diferente.
13.11 Formato de segmento TCP
0
4
10
24
16
PUERTO FUENTE
31
PUERTO DESTINO
NUMERO DE SECUENCIA
NUMERO DE ACUSE DE RECIBO
HLEN
RESERVADO
CODE BITS
VENTANA
CHECKSUM
PUNTERO DE URGENCIA
OPCIONES IP
RELLENO
DATOS
...
Figura 13.7
Cada segmento se divide en encabezado y datos. En el encabezado se incorporan la
identificación y la información de control.
Los campos del segmento son:
 PUERTO FUENTE: Es el numero de puerto que identifica al programa de
aplicación del lado del emisor.
 PUERTO DESTINO: Es el numero de puerto que identifica al programa de
aplicación del lado del receptor.
 NUMERO DE SECUENCIA: Es el numero que identifica al segmento dentro del
flujo de datos.
 NUMERO DE ACUSE: Es el numero de segmento que el receptor espera recibir.
 VENTANA: Especifica el tamaño de memoria intermedia que posee el receptor para
recibir segmentos desde el emisor.
 CHECKSUM: Suma de verificación para comprobar errores en el segmento.
 HLEN: Especifica la longitud del encabezado del segmento.
 RESERVADO: Campo de 6 bits que está reservado para usarse en el futuro.
 PUNTERO DE URGENCIA: Marca dentro del segmento, el byte donde terminan
los datos con urgencia.
 OPCIONES: Varía su longitud dependiendo de las opciones que se hayan colocado.
 RELLENO: Redondea el tamaño del campo opciones.
 CODE BITS: Campo de 6 bits que determina el propósito y contenido del segmento.
 DATOS: Los datos enviados desde el software de capa de aplicación.
13.12 Datos fuera de banda
A pesar de que TCP es orientado al flujo, en ocasiones es necesario enviar datos fuera de
banda para no tener que esperar que el programa receptor consuma los bytes que ya están en
el flujo. Para indicar que un segmento posee datos de urgencia, se usa el bit de urgencia
dentro del campo PUNTERO DE URGENCIA. Activar dicho bit hace que se atiendan los
datos urgentes lo más rápido posible sin importar su posición en el flujo. Luego, el puntero de
urgencia indica donde terminan los datos urgentes dentro del segmento.
Cuando el software TCP receptor recibe el segmento, le avisa al programa de aplicación
vinculado con la conexión que trabaje en modo urgencia y una vez que asimila todos los
datos urgentes vuelve a su estado normal.
13.13 Opción de tamaño máximo de segmento
El tamaño de segmento (Maximum Segment Size MMS) se negocia entre los participantes de
la conexión. Para realizar dicha negociación utilizan el campo OPTIONS del encabezado
TCP. El MMS es calculado de forma tal que el tamaño del datagrama IP (que se arma con el
segmento enviado de la capa TCP a la capa IP) corresponda con el MTU (Maximum Transfer
Unit) de la red.
Si ambos extremos están dentro de una misma red física, elijen el MMS lo mas grande
posible para que luego, el datagrama IP formado tenga del tamaño del MTU.
Si ambos extremos no están dentro de una misma red física, es decir que los segmentos
deberán atravesar varias redes, tratarán de encontrar el MTU mas chico de todas esas redes y
elegir un MMS lo mas grande posible para que el datagrama IP formado tenga el tamaño de
ese MTU.
13.14 Cómputo de suma de verificación
13.15 Acuses de recibo y retransmisión
Un acuse de recibo especifica el número de secuencia que se desea recibir en la próxima
transmisión.
Como los segmentos retransmitidos pueden variar en tamaño a los originales, es difícil
remitirse a ello para una retransmisión. En vez de eso en TCP se remite a un número de
secuencia que especifica una posición en el flujo.
TCP usa un algoritmo adaptable de retransmisión que monitorea continuamente la red para
manejar los retrasos variables en una red de redes.
Computa el RTT comparando los tiempos que posee almacenados, la hora de envío del
segmento y la hora de recibo del ACK. Por este motivo se dice que TCP se adapta al cambio
de la red.
Guarda el RTT y lo va modificando progresivamente frente a los nuevos RTT calculados.
Para modificar el valor del RTT se aplican diferentes cálculos.
Uno de ellos es utilizando un factor α constante donde 0 < α < 1.
RTT = (α * Old_RTT) + ((1 – α) * New_RTT)
Variar el valor de α hace que el RTT se adapte más rápidamente o más lentamente a los
cambios del RTT en la red.
13.17 Medición del RTT (Round Trip Time)
Medir el RTT parece trivial (hora ACK – hora envío), pero se complica cuando se realizan
retransmisiones entre medio dado que luego de la retransmisión y de recibir el ACK no se
sabrá sobre que transmisión calcular el RTT (sobre el segmento original o sobre el
retransmitido).
Ambos enfoques traen problemas. Elegir calcular sobre el original aumenta el RTT y elegir el
otro lo disminuye.
13.18 Algoritmo de Karn y anulación del temporizador
Se basa en la sencilla idea de no recalcular el RTT con los paquetes retransmitidos. Sin
embargo este encare puede ocasionar fallas en el caso de que súbitamente aumente el RTT.
Como el cálculo del tiempo de retransmisión se hace utilizando el RTT, al no calcular el RTT
con los paquetes retransmitidos, el valor del mismo queda invariante y por lo tanto también el
tiempo de retransmisión. Si sucede que se retransmitieron paquetes por alguna razón y luego
sube súbitamente el RTT (aumentan los retrasos de la red), al no actualizarse el valor del
mismo cuando lleguen los ACK de los paquetes retransmitidos, el valor de retransmisión
queda fijo (cuando debería aumentar ya que subió el retardo de la red). El hecho de no subir
el RTT cuando realmente aumentó el retardo de la red, puede provocar que se sigan
retransmitiendo paquetes y se entre en un estado de retransmisión masiva.
Para evitar esto se le agregó un poco más de complejidad al algoritmo. Lo que hace Karn es
separar la estimación del RTT del cálculo de tiempo de retransmisión agregando lo que se
conoce como timer backoff. Esta modificación trabaja de la siguiente forma: Se estima el
RTT y se transmite alegremente. Cuando ocurre una retransmisión, a partir de ese momento
se deja de considerar el tiempo de retransmisión para esa y para todas las retransmisiones que
sucedan en adelante y además se modifica el tiempo de retransmisión para los envíos
(generalmente se duplica). En el momento en que llega un ACK de un paquete sin
retransmisión, se vuelve a estimar el RTT y se vuelve a calcular el tiempo de retransmisión
con este nuevo RTT.
13.19 Respuesta a una variación alta de retraso
13.20 Respuesta al Congestionamiento
Cuando ocurre congestionamiento, los routers encolan datagramas hasta poderlos enviar.
Si hay congestionamiento, se producen retardos. Los retardos hacen que las capas superiores
retransmitan por creer una perdida. Las retransmisiones aumentan el congestionamiento y eso
hace que todo vuelva a empezar produciendo un círculo vicioso que termina con una red
inutilizable.
Para prevenir esto TCP implementa algunas dos técnicas. Disminución multiplicativa y
recuperación de arranque lento.
13.21 Establecimiento de una conexión TCP
Se establece mediante un saludo de 3 etapas. En el primer mensaje esta activado del bit de
SYN, en la respuesta a ese mensaje están activos el bit de SYN y ACK. En el último solo se
activa el bit ACK.
En las conexiones TCP no existe ni maestro ni esclavo, y las comunicaciones son full duplex.
13.22 Números de secuencia inicial
El saludo inicial no solo sirve para poner de acuerdo a ambos extremos en que van a
transmitir, sino que también sirve para establecer el número de secuencia inicial. Cada equipo
participante le propone al otro el número de secuencia a utilizar en alguna de las secuencias
del saludo inicial. El número de secuencia inicial es escogido aleatoriamente.
13.23 Terminación de una conexión
El cierre de la conexión debe hacerse en dos etapas debido a la característica full duplex de
TCP. Cuando una máquina no tiene más para enviar, le avisa a TCP quién envía un mensaje
con el bit de FIN activado. El receptor TCP reconoce esto y le avisa a la aplicación y así se
cierra la conexión. Pero la conexión en el otro sentido sigue activa y no se termina hasta que
el que actúa como emisor decide finalizarla.
13.24 Restablecimiento de una conexión TCP
13.25 Máquina de estado TCP
13.26 Forzando la entrega de datos
Para evitar el almacenamiento de datos en memoria intermedia se puede utilizar el bit de
push. Esto fuerza la entrega de datos.
13.27 Números reservados de puerto TCP
TCP combina asignación dinámica y estática de puertos mediante un conjunto de asignación
de puertos bien conocidos. Los bien conocidos eran aquellos menores al 256, aunque ahora se
asignan valores mayores al 1024.
13.28 Desempeño del TCP
13.29 Síndrome de la ventana tonta
Se da cuando cada acuse de recibo anuncia una pequeña cantidad de espacio disponible y por
consiguiente el emisor transmite una pequeña cantidad de datos, lo que provoca una
sobrecarga computacional, un desaprovechamiento del ancho de banda y en una sobrecarga
de transito.
13.30 Prevención del síndrome de ventana tonta
13.30.1 Prevención del lado del receptor
Lo que se hace para evitar este síndrome es evitar los anuncios de ventanas pequeñas (retrasa
los envíos de ventana), o sea envía acuse de recibo, pero deja el tamaño en 0 hasta que tiene
un tamaño significativo.
Antes de enviar el anuncio de una ventana, luego de haber anunciado una
ventana de tamaño 0, esperar hasta que se obtenga un espacio disponible que sea
equivalente a por lo menos el 50 % del tamaño total de memoria intermedia o
igual al segmento de tamaño máximo.
13.30.2 Acuses de recibo retardados
A diferencia con el método anterior, acá se retrasan los ACK. La principal ventaja de este
método es que se baja el tráfico y aumenta el rendimiento de la red.
La desventaja es que el retraso por parte del receptor puede ocasionar una retransmisión, más
aún, puede engañar al emisor en la estimación del RTT; para evitar en cierta medida estos
problemas, se estableció que el mayor tiempo de retraso de acuse debe ser de 500
milisegundos.
13.30.3 Prevención del lado del emisor
La idea es que el emisor agrupe una cantidad razonable de datos.
Cuando una aplicación de emisión genera datos adicionales para enviarse por
una conexión por la que ya se han transmitido datos, pero de los cuales no se
tienen acuse de recibo, deben colocarse los datos nuevos en la memoria
intermedia como de costumbre, pero no deben enviarse hasta que se llegue al
tamaño de segmento máximo o llegue un ACK. Si la aplicación solicita la opción
de push, se ignorará hasta que se dé alguna de las condiciones mencionadas.
14 Ruteo: núcleos, pares y algoritmos (GGP)
14.2 Origen de las tablas de ruteo
Las tablas pueden levantarse de un dispositivo de almacenamiento secundario, o pueden ser
llenadas a través de la ejecución de comandos. También se puede iniciar con las rutas de las
máquinas a nivel local y luego pedirle a esas máquinas rutas adicionales
14.3 Ruteo con información parcial
Los anfitriones saben menos que los routers a cerca de los pormenores de la red.
14.4 Arquitectura y núcleos de Internet originales
La tabla de ruteo en un router dado contiene información parcial relacionada
con destinos posibles. El ruteo que emplea información parcial permite que las
localidades tengan autonomía para hacer cambios locales de ruteo, pero
introduce la posibilidad que se den inconsistencias, con las que algunos destinos
podrían volverse inaccesibles para algunas fuentes.
14.5 Routers de núcleo
RED DE COLUMNA VERTEBRAL ARPANET
R1
R2
Red local 1
Red local 2
...
Rn
Routers de
núcleo
Red local n
Figura 14.2
Como se ve en la figura, cada router de núcleo está conectado a la columna vertebral y a una
localidad.
14.6 Más allá de la arquitectura de núcleo, hasta las columnas vertebrales pares
Una arquitectura de ruteo de núcleo requiere de un conjunto centralizado de
servidores de ruteo como depósito de información a cerca de todos los destinos
posibles en una red de redes. El sistema de núcleo trabaja mejor en una red de
redes que posee columna vertebral administrada centralmente. La expansión de
la topología hacia varias columnas vertebrales hace el ruteo más complejo; la
introducción de rutas por omisión, introduce la posibilidad de que se desarrollen
ciclos cerrados de ruteo.
14.7 Difusión automática de ruta
El sistema original de ruta evitaba las rutas por omisión porque estas difunden información
completa sobre todos los destinos posibles.
El propósito de del mecanismo de ruteo no es únicamente encontrar un conjunto de rutas sino
también de actualizar continuamente la información, dado el carácter dinámico de las redes.
14.8 Ruteo por vector-distancia (Bellman-Ford)
Vector-distancia indica una clase de algoritmos de ruteo utilizada ahora difundir información
de ruteo.
La idea detrás es muy sencilla. El router establece una lista de todas las rutas conocidas en
una tabla. Cuando arranca, un router genera en la tabla una entrada por cada red que tiene
conectada directamente. Periódicamente cada router envía una copia de la tabla a todos
aquellos routers que puede alcanzar directamente.
El termino vector-distancia proviene del hecho de que la información se envía en mensajes
periódicos de la forma (V,D) , donde V es el destino (vector) y D la distancia a ese destino.
Este tipo de algoritmos es sencillo de implementar, pero tiene algunas desventajas, como por
ejemplo para trabajar en redes estáticas, ya que envían información de ruteo a todos los
destinos periódicamente. También tienen dificultades cuando las redes cambian rápidamente.
14.9 Protocolo pasarela-a-pasarela (GGP)
Es un protocolo del tipo vector-distancia (VD) diseñado para viajar en datagramas IP. Era
usado en los routers de núcleo iniciales. Fue diseñado para que al momento de conectar un
nuevo núcleo, este no provocara cambios en los existentes. El nuevo era asignado a algunos
núcleos que le pasaban las tablas de ruteo para que almacenara la información. Así el nuevo
router solo necesitaba informar a sus vecinos las redes que podía alcanzar y estos difundían la
información a los demás.
El GGP mide las distancias de saltos de router, donde un router se define de 0 saltos si está
conectado directamente a la red.
14.10 Formato de los mensajes GGP
14.11 Ruteo de enlace estado (SPF)
Es la principal alternativa a los algoritmos VD. Los algoritmos SPF (shortest path first)
requieren que cada router participante tenga información de la topología completa. Pensando
en un grafo, los routers son nodos y los enlaces son arcos. Los routers realizan dos tareas.
Una es de probar activamente el estado de todos los routers vecinos, y otra es difundir la
información a los otros routers.
Una de las mayores ventajas de estos algoritmos es que cada router computa trayectorias
independientemente, usando la misma información de estado original (a diferencia de vector
distancia que depende del cálculo en máquinas intermedias). Otra ventaja es que gracias a
que los mensajes de estado se transmiten sin cambios, es más fácil la depuración.
14.12 Protocolos SPF
15 Ruteo: sistemas autónomos (EGP)
15.2 Agregar complejidad al modelo arquitectónico
El primer modelo de ruteo de Internet se desarrollo para cuando esta poseía una sola columna
vertebral a la cual se conectaban las diferentes redes locales a través de un router. Es decir
que cada router sabia de la existencia de su propia red local y aprendía de las demás a través
de la columna vertebral. Este modelo necesito ser ampliado debido al crecimiento de la red de
redes.
15.3 Una idea fundamental: saltos adicionales (hops)
Se considera un sistema núcleo, como un mecanismo de ruteo central al que los routers nonúcleo envían datagramas para su entrega. Estos sistemas se vieron implantados sobre una o
más columnas vertebrales, y se vio que expandir una de ellas arbitrariamente es imposible.
Figura 15.1
En la figura 15.1 se ve el problema del esquema de columna vertebral. Como R1 y R2 son
routers núcleo, ellos intercambian información de ruteo y tienen conocimiento de las redes
conectadas a la columna. En cambio R3 (router no-núcleo) ve al núcleo como un sistema de
entrega y debe designar a quién enviarle los datagramas, por ejemplo R1. Si R3 tiene un
paquete para R2, primero se lo enviará a R1 y R1 se lo enviará a R2, cuando en realidad la
ruta óptima es que R3 se lo envíe directamente a R2 ya que están conectados a la misma
columna vertebral. El primer envío de R3 a R1 se llama salto adicional, y sucede debido a
que sólo los routers núcleo conocen las rutas óptimas.
Para solucionar este problema, se debe cambiar la visión de los núcleos.
Figura 15.2
Como se ve en la figura, se permite que las localidades tengan múltiples redes conectadas,
por eso los routers núcleo no estarán conectados a todas las redes y por tal motivo habrá que
agregar un mecanismo que les permita aprender eso. Este mecanismo deberá permitir
entregar información de ruteo de las localidades al núcleo, y del núcleo a los routers nonúcleo. Hay que elegir un router que se encargue de informar al núcleo, pero la elección del
mismo no es sencilla. Para esto se introduce el concepto de sistema autónomo(SA).
15.4 Concepto de los sistemas autónomos
Las interconexiones como se muestra en figura 15.2 con localidades como estructuras
internas complejas, no deben considerarse como una red independiente sino como una
organización que tiene múltiples redes bajo su control. Esa organización se encuentra bajo la
administración de una entidad central (router núcleo R1) que garantiza que las rutas internas
sean viables y consistentes y será ésta quien designe a un router para que figure como la cara
visible de la organización (puerta de entrada). En la figura 15.2 será R3 quien anuncie la
accesibilidad de las redes 2, 3 y 4. El núcleo ya tendrá conocimiento de la accesibilidad a R1
ya que está conectado a ella directamente.
Para que la información de accesibilidad de un SA sea conocido por otros SA, cada SA debe
acordar la difusión de información hacia los otros SA.
Normalmente un router de un SA tiene la responsabilidad de anunciar rutas e interactuar de
manera directa con los routers núcleo, sin embargo puede darse el caso de tener varios routers
que cumplan dicha función y que cada uno informe la accesibilidad de un subconjunto de
redes dentro del SA.
Figura 15.3
15.5 Protocolo de pasarela exterior (EGP)
A dos routers que intercambian información de ruteo se los llama vecinos exteriores en caso
de que pertenezcan a SA diferentes y vecinos interiores si pertenecen al mismo SA.
EGP es un protocolo utilizado para difundir información de accesibilidad entre vecinos
exteriores.
Figura 15.3
15.6 Encabezado de mensajes
15.7 Mensajes de adquisición de vecino
Es el mensaje que envía un router para establecer comunicación EGP con otro router. Existe
un campo en el encabezado del mensaje de adquisición de vecino que especifica valores
iniciales para el intervalo de tiempo que se usa para probar si el vecino está activo. Ese
intervalo se llama intervalo de saludo.
Existe también un campo para determinar el intervalo de sondeo, que es el que controla la
frecuencia de actualizaciones de la información de ruteo.
15.8 Mensajes de accesibilidad de vecino EGP
El mensaje tiene el mismo formato que el de adquisición de vecino, sólo que se eliminan los
campos de intervalo de saludo e intervalo de sondeo.
Se permiten dos formas de testeo de vecino activo.
 Una forma pasiva
 Una forma activa
En la activa un router envía mensajes hello junto con poll (sondeo) periódicamente y espera
repuesta.
En la pasiva, el router en vez de enviar mensajes, lo que hace es leer el estado de los
mensajes que le llegan de otros routers (en el mensaje de accesibilidad hay un campo llamado
STATUS que determina el estado del router que envía el mensaje).
Como un mensaje hello o su respuesta pueden perderse, lo que se hace para evitar cambiar
continuamente el estado de los routers es esperar una cierta cantidad de mensajes para
actualizar el estado (k-out-of-n).
15.9 Mensajes de solicitud de sondeo EGP
Los mensajes de solicitud de sondeo, permiten a un router obtener información de
accesibilidad de otro router.
El mensaje es igual que el de accesibilidad de vecino sólo que se le agrega un campo de
nombre RESERVADO y otro de RED FUENTE IP. Este último, especifica una red común a
los sistemas autónomos que estén conectados al router. La respuesta a este mensaje contiene
las rutas que tienen distancias medidas respecto a los routers en la red fuente especificada.
Figura 15.9
15.10 Mensaje de actualización de enrutamiento EGP
15.11 Medición desde la perspectiva del receptor
15.12 La restricción clave de EGP
15.13 Problemas técnicos
15.14 Descentralización de la arquitectura Internet
15.15 Más allá de los sistemas autónomos
16 Ruteo en un sistema autónomo
(RIP, OSPF, HELLO)
16.2 Rutas interiores dinámicas y estáticas
A dos routers pertenecientes a un sistema autónomo (SA) se los llama interiores con respecto
al otro. Los routers interiores intercambian información de rutas internas al SA utilizando
protocolos de ruteo interno (Internal Gateway Protocol IGP). Una vez que la información
interna del SA fue actualizada, uno de los routers se encarga de transmitir la misma a otros
SA utilizando EGP.
Figura 16.3
A diferencia de EGP, no se ha desarrollado un solo protocolo estándar ampliamente aceptado
en los SA, y eso se debe a la gran variedad de topologías y tecnologías existentes en los
mismos. Por eso se usa el término IGP como concepto general para el conjunto de protocolos
de intercambio de información de red entre routers interiores.
16.3 Protocolo de información de ruteo (RIP)
El RIP (Routing Information Protocol) es uno de los protocolos de información de ruteo
interno más utilizados.
16.3.1 Solución al problema de la convergencia lenta
16.3.2 Formato del mensaje RIP
16.3.3 Convenciones de direccionamiento RIP
16.3.4 Transmisión de mensajes RIP
16.4 Protocolo Hello
16.5 Combinación de protocolo RIP, Hello y EGP
16.6 Protocolo de SPF abierto (OSPF)
16.6.1 Formato de mensaje OSPF
16.6.2 Formato del mensaje Hello de OSPF
16.6.3 Formato del mensaje de descripción de la base de datos del OSPF
16.6.4 Formato del mensaje de solicitud de enlace del OSPF
16.6.5 Formato del mensaje de actualización de estado de enlace OSPF
16.7 Ruteo con información parcial
17 Multidifusión Internet (IGMP)
17.2 Difusión por hardware
17.3 Multidifusión por hardware
17.4 Multidifusión IP
17.5 Direcciones de multidifusión IP
17.6 Transformación de multidifusión IP en multidifusión Ethernet
17.7 Extensión del IP para manejar la multidifusión
17.8 Protocolo de gestión de grupos de internet
17.9 Implantación IGMP
17.10 Transiciones del estado de la membresía de grupo
17.11 Formato de los mensajes IGMP
17.12 Asignación de direcciones de multidifusión
17.13 Difusión de información de ruteo
17.14 El programa mrouted
Descargar