Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
red virtual que interconecta a todos los anfitriones, y a travs de la cual es posible la comunicacin; la arquitectura subyacente permanece oculta y es irrelevante.
En cierto sentido, una red de redes es una abstraccin de una red fsica porque, en los niveles inferiores, proporciona la misma funcionalidad: acepta paquetes y los entrega. En niveles superiores el software de la red de redes
aporta la mayor parte de las funciones ms elaboradas que percibe el usuario.
Figura 7.2 Forma general de un datagrama IP, la estructura anloga de TCP/IP con respecto a la trama de una red. El IP especifica el
formato de un encabezado incluyendo las direcciones de fuente y destino. El IP no especifica el formato del rea de datos; el datagrama se puede utilizar para transportar datos arbitrarios.
direccin ip de la fuente
DIRECCIN IP DEL DESTINO OPCIONES IP (SI LAS HAY) DATOS RELLENO
Figura 7.3 Formato de un datagrama Internet, la unidad bsica de transferencia en una, red de redes TCP/IP.
El campo TOTAL LENGTH proporciona la longitud del datagrama IP medido en octetos, incluyendo los octetos del
encabezado y los datos. El tamao del rea de datos se puede calcular restando la longitud del encabezado (HLEN) de TOTAL LENGTH. Dado que el campo TOTAL LENGTH tiene una longitud de 16 bits, el tamao mximo posible de un datagrama IP es de 216 o 65,535 octetos. En la mayor parte de las aplicaciones, sta no es una limitacin severa, pero puede volverse una consideracin importante en el futuro, si las redes de alta velocidad llegan a transportar paquetes de datos superiores a los 65,535 octetos.
prioridad
sin uso
Figura 7.4 Los cinco subcampos que componen el campo SERVICE TYPE de 8 bits.
Tres bits PRECEDENCE, especifican la prioridad del datagrama, con valores que abarcan de 0 (prioridad normal) a 7 (control de red), permitiendo con ello indicar al emisor la importancia de cada datagrama. Aun cuando la mayor parte del software de los anfitriones y los ruteadores ignora el tipo de servicio, ste es un concepto
importante dado que proporciona un mecanismo que permite controlar la informacin que tendr prioridad en los datos. Por ejemplo, si todos los anfitriones y ruteadores responden a la prioridad, es posible implementar algoritmos de control de congestionamiento que no se vean afectados por el mismo congestionamiento que desean controlar. Los bits D, T y R especifican el tipo de transporte deseado para el datagrama. Cuando est activado, el bit D solicita procesamiento con retardos cortos, el bit T solicita un alto desempeo y el bit R solicita alta confiabilidad. Por supuesto, no es posible para una red de redes garantizar siempre el tipo de transporte solicitado (por ejemplo, ste seria el caso si no se encuentra una ruta adecuada). De esta manera, debemos pensar en una solicitud de transporte como en una simple indicacin para los algoritmos de ruteo, no como en un requerimiento obligatorio. Si un ruteador no conoce ms que una posible ruta para alcanzar un destino determinado, puede utilizar el campo de tipo de transporte para seleccionar una con las caractersticas ms cercanas a la peticin deseada. Por ejemplo, supongamos que un ruteador puede seleccionar entre una lnea arrendada de baja capacidad y una conexin va satlite con un gran ancho de banda (pero con un retardo alto). Los datagramas que acarrean la informacin tecleada por un usuario hacia una computadora remota pueden tener el bit D activado, solicitando que la entrega sea lo ms rpida posible, mientras que el transporte de datagramas en la transferencia de un archivo de datos grande podra tener activado el bit T, solicitando que el recorrido se haga a travs de una ruta que incluya un satlite de alta capacidad.
Tambin es importante para la realizacin del proceso que los algoritmos de ruteo seleccionen de entre las tecnologas de red fsica subyacente, las caractersticas de retardo, desempeo y confiabilidad. Con frecuencia, una tecnologa dada intercambiar una caracterstica por otra (por ejemplo, un alto desempeo implicar un mayor retardo). As, la idea es proporcionar un algoritmo de ruteo como si se tratara de una indicacin de qu es lo ms importante; rara vez es necesario especificar los tres tipos de servicio juntos. En resumen:
Hemos visto la especificacin del tipo de transporte como una indicacin para el algoritmo de ruteo que ayuda en la seleccin da una ruta entre varas hacia un destino, con
base en el conocimiento de las tecnologas de hardware disponibles en esas rutas. Una red de redes no garantiza la realizacin del tipo de transporte solicitado.
La idea de transportar un datagrama dentro de una trama de red es conocida como encapsulacin. Para la red subyacente un datagrama es como cualquier otro mensaje que se enva de
una mquina a otra. El hardware no reconoce el formato del datagrama ni entiende las direcciones de destino IP. As, como se muestra en la figura 7.5, cuando una mquina enva un datagrama IP hacia otra, el datagrama completo viaja en la porcin de datos de la trama de red.
Figura 7.5 Encapsulacin de un datagrama IP en una trama. La red fsica trata al datagrama entero incluyendo el encabezado, como si se tratara de
datos.
Como se ilustra en la figura 7.6, la fragmentacin por lo general se da en un ruteador a lo largo del
trayecto entre la fuente del datagrama y su destino final. El ruteador recibe un datagrama de una red con una MTU grande y debe enviarlo a una red en la que la MTU es ms pequea que el tamao del datagrama.
Figura 7.6 Una ilustracin de los casos en que s presenta la fragmentacin. El ruteador R1 fragmenta un datagrama
extenso para enviarlo desde
En la figura, ambos anfitriones estn conectados directamente a una red Ethernet, la cual tiene una MTU de 1500 octetos. As, ambos anfitriones pueden generar y enviar datagramas con un mximo de 1500 octetos de largo. El trayecto entre ambos, sin embargo, incluy una red con una MTU de 620. Si el anfitrin A enva al anfitrin B un datagrama mayor a 620 octetos, el ruteador R1 fragmentar el datagrama. De la misma forma, si B enva un datagrama grande hacia A, el ruteador R2 fragmentar el datagrama.
El tamao de cada fragmento se selecciona de manera que cada uno de stos pueda transportarse a travs de la red subyacente en una sola trama. Adems dado que el IP representa l desplazamiento de datos en mltiplos de 8 octetos del tamao del fragmento debe seleccionarse de modo que sea un mltiplo de 8. Por supuesto, al seleccionar el mltiplo de 8 octetos ms cercano a la MTU de la red no es usual dividir el datagrama en fragmentos de tamaos iguales; los ltimos fragmentos por lo general son ms cortos que los otros. Los fragmentos se deben reensamblar para producir una copia completa del datagrama original, antes de que pueda procesarse en su lugar de destino.
El protocolo IP no limita los datagramas a un tamao pequeo, ni garantiza que los datagramas grandes sern entregados sin fragmentacin. La fuente puede seleccionar cualquier tamao de datagrama que considere apropiado; la fragmentacin y el reensamblado se dan automticamente sin que la fuente deba realizar ninguna accin especial. Las especificaciones IP establecen que los ruteadores pueden aceptar datagramas con una longitud equivalente al valor mximo de la MTU de las redes a las que estn conectados. Adems, un ruteador siempre maneja datagramas de hasta 576 octetos. (Los
anfitriones tambin son configurados para aceptar y reensamblar, si es necesario, datagramas de por lo menos 576 octetos.) Fragmentar un datagrama significa dividirlo en varios segmentos. Podra ser sorprendente aprender que cada fragmento tiene el mismo formato que el datagrama original. La figura 7.7 muestra el resultado de la fragmentacin.
Figura 7.7 (a) Un datagrama original que transporta 1400 octetos de datos y (b) los tres fragmentos para la red con una
MTU de 620. Los encabezados 1 y 2 tiene activado el bit ms fragmento. EI desplazamiento se muestra como un nmero decimal de octetos; estos valores se deben dividir entre 8 para obtener el valor en el que se localiza el encabezado de los fragmentos.
Cada fragmento contiene un encabezado de datagrama que duplica la mayor parte del encabezado del datagrama original (excepto por un bit en el campo
FLAGS que muestra que ste es un fragmento), seguido por tantos datos como puedan ser acarreados en el fragmento siempre y cuando la longitud total se mantenga en un valor menor a la MTU de la red en la que debe viajar.
original de los datos que s estn acarreando en el fragmento, medido en unidades de 8 octetos, comenzando con un desplazamiento igual a cero. Para reensamblar el datagrama, el destino debe obtener todos los fragmentos comenzando con el fragmento que tiene asignado un desplazamiento igual a 0 hasta el fragmento con el desplazamiento de mayor valor. Los fragmentos no necesariamente llegarn en orden, adems no hay comunicacin entre el ruteador que fragment el datagrama y el destino que trata de reensamblarlo. Los 2 bits de orden menor del campo de 3 bits FLAGS controlan la fragmentacin. Por lo general, el software de aplicacin que utiliza TCP/IP no se ocupa de la fragmentacin debido a que tanto la fragmentacin como el reensamblado son procedimientos automticos que se dan a bajo nivel en el sistema operativo, invisible para el usuario final. Sin embargo, para probar el software de red de redes o depurar problemas operacionales, podra ser importante probar el tamao de los datagramas en los que se presenta la fragmentacin. El primer bit de control ayuda en esta prueba especificando en qu momento se debe fragmentar un datagrama. Se le conoce como bit de no fragmentacin porque cuando est puesto a 1 especifica que el datagrama no debe fragmentarse. Una aplicacin podra seleccionar no permitir la fragmentacin cuando slo el datagrama completo es til. Por ejemplo, consideremos la secuencia de iniciacin de una computadora, en la que una mquina comienza a ejecutar un pequeo programa en ROM y utiliza la red de redes para solicitar una primera iniciacin, y otra mquina enva de regreso una imagen de memoria. Si el software ha sido diseado as, necesitar la imagen completa, pues de otra forma no le ser til; por ello, el datagrama debe tener activado el bit de no fragmentacin. Cada vez que un ruteador necesita fragmentar un datagrama que tiene activado el bit de no fragmentacin, el ruteador descartar el datagrama y devolver un mensaje de error a la fuente.
El bit de orden inferior en el campo FLAGS especifica si el fragmento contiene datos intermedios del datagrama original o de la parte final. Este bit es conocido como more fragments (ms fragmentos). Para entender por qu este bit es necesario, consideremos el software IP en el destino final cuando trata de reensamblar un datagrama. Este recibir los fragmentos (es posible que en desorden) y necesitar saber cundo ha recibido todos los fragmentos del datagrama. Cuando un fragmento llega, el campo TOTAL LENGTH en el encabezado consulta el tamao del fragmento y no el tamao del datagrama original; de esta manera el destino no puede utilizar, el campo TOTAL LENGHT para determinar s ha reunido todos los fragmentos. El bit ms fragmentos, resuelve este problema con facilidad: cada vez que, en el destino, se recibe un fragmento con el bit ms fragmentos desactivado, se sabe que este fragmento acarrea datos del extremo final del datagrama original. De los campos FMGMENT OFFSET y TOTAL LENGHT se puede calcular la longitud del datagrama original. Examinando FRAGMENT OFFSET y TOTAL LENGHT en el caso de todos los fragmentos entrantes, un receptor puede establecer en que momento los fragmentos que ha reunido contienen toda la informacin necesaria para reensamblar el datagrama original completo.
Una estimacin exacta de este tiempo es difcil dado que los ruteadores por lo general no conocen el tiempo de trnsito por las redes fsicas. Unas pocas reglas simplifican el procedimiento y hacen fcil el manejo de datagramas sin relojes sincronizados. En primer
lugar, cada ruteador, a lo largo de un trayecto, desde una fuente hasta un destino, es configurado para decrementar por 1 el campo TIME TO LIVE cuando se procesa el encabezado del datagrama. Sin embargo, para manejar casos de ruteadores sobrecargados que introducen largos retardos, cada ruteador registra el tiempo local cuando llega un datagrama, y decrement el TIME TO LIVE por el nmero de
segundos que el datagrama permanece dentro del ruteador esperando que se le despache. Cada vez que un campo TIME TO LIVE llega a cero, el ruteador descarta el datagrama y enva un mensaje de error a la fuente. La idea de establecer un temporizador para los datagramas es interesante ya que garantiza que los datagramas no viajarn a travs de la red de redes indefinidamente, aun cuando s una tabla de ruteo se corrompa y los ruteadores direccionen datagramas en un ciclo.
de suma de verificacin para los datos. La mayor desventaja es que los protocolos de alto nivel se ven forzados a aadir su propia suma de verificacin o corren el riesgo de que las alteraciones de datos no sean detectadas. Los campos SOURCE IP ADDRESS y DESTINATION IP ADDRESS contienen direcciones IP de 32 bits de los datagramas del emisor y del receptor involucrado. Aun cuando los datagramas sean dirigidos a travs de muchos ruteadores inmediatos, los campos de fuente y destino nunca cambian; stos especifican la direccin IP de la fuente original y del destino final.
El campo marcado con el nombre DATA en la figura 7.3 muestra el comienzo del rea de datos de un datagrama. Su longitud depende, por supuesto, de qu es lo que se est enviando en el datagrama. El campo OPTIONS de IP que se analiza a continuacin tiene una longitud variable. El campo sealado como PADDING depende de las opciones seleccionadas. Este representa un grupo de bits puestos en cero que podran ser necesarios para asegurar que la extensin del encabezado sea un mltiplo exacto de 32 bits (recordemos que el campo de longitud del encabezado se especifica en unidades formadas por palabras de 32 bits).
La longitud del campo OPTIONS de IP vara dependiendo de qu opcin sea seleccionada. Algunas opciones tienen una longitud de un octeto; estas consisten en un solo octeto de cdigo de opcin. Otras tienen longitudes variables. Cuando las opciones estn presentes en un datagrama, aparecen contiguas, sin separadores especiales entre ellas. Cada opcin consiste en un solo octeto de cdigo de opcin que debe llevar a continuacin un solo octeto y un conjunto de octetos de datos para cada opcin. El octeto de cdigo de opcin se divide en tres campos como se muestra en la figura 7.8.
Figura 7.8 Divisin del octeto de cdigo de opcin en tres campos de 1, 2 y 5 bits.
El campo consiste en una bandera de 1 bit, llamada COPY, un segmento de 2 bits, OPTION CLASS, y un segmento de 5 bits,
OPTION NUMBER. La bandera COPY controla la forma en que los ruteadores tratan las opciones durante la fragmentacin. Cuando el bit COPY est puesto a 1, especifica que la opcin se debe copiar en todos los fragmentos. Cuando est puesto a cero el bit
Figura 7.9 Clases de opciones IP, como se codifican en los bits de OPTION CLASS, en un octeto de cdigo de opcin.
COPY significa que la opcin slo se debe copiar dentro del primer fragmento y no en todos los fragmentos. Los bits OPTION CLASS y OPTION NUMBER especifican la clase general de opcin y establecen
una opcin especfica en esta clase. La tabla en la figura 7.9 muestra como se asignan las clases. La tabla en la figura 7.10 lista las opciones posibles que pueden acompaar a un datagrama IP y muestra los valores para OPTION CLASS y OPTION NUMBER. Como se muestra en la lista, la mayor parte de las opciones se utiliza con propsito de control.
Figura 7.11 Formato de una opcin de registro de rula en un datagrama IP. La opcin comienza con tres
octetos seguidos inmediatamente por una lista de direcciones. Aun cuando el diagrama muestra direcciones en unidades de 32 bits, stas no estn alineadas con ningn octeto en la frontera de un datagrama.
El campo POINTER especifica el desplazamiento dentro de la opcin de la siguiente ranura disponible. Cada vez que una mquina maneja un datagrama que tiene activada la opcin de registro de ruta, la mquina aade su direccin a la lista del registro de ruta (se debe colocar suficiente espacio en la opcin desde la fuente original para manejar todas las entradas que pudieran ser necesarias). Para aadirse a s misma en la lista, una mquina primero compara el puntero y el campo d longitud. S el puntero es mayor que la longitud, la lista estar llena y la mquina continuar con el envo del datagrama sin incluirse. Si la lista no est llena, la mquina insertar su direccin IP de 4 octetos en la posicin especificada por el POINTER e incrementar en 4 el valor de POINTER.
Cuando un datagrama llega a su destino, la mquina puede extraer y procesar la lista d direcciones IP. Por lo general, una computadora que recibe un datagrama ignora la ruta registrada. Para usar la opcin de registro de ruta se requiere de dos mquinas que estn de acuerdo para cooperar; una computadora no recibir rutas registradas de los datagramas entrantes ni activar la opcin de registro de ruta en los datagramas de salida de manera automtica. La fuente debe aceptarla habilitacin de la opcin de registro de ruta y el destino, debe aceptar el procesamiento de la lista resultante.
que permite a los administradores de red tener la libertad de enviar los datagramas a travs d la red en una forma que ellos conocen y saben que opera correctamente mientras prueban al mismo tiempo otras redes. Por supuesto, este tipo de ruteo es til slo para personas que entienden la topologa de red; el usuario promedio no necesita conocerlo o utilizarlo.
El IP soporta dos formas de ruteo de fuente. Una forma, conocida como ruteo estricto de fuente, especifica una va de ruteo incluyendo una secuencia de direcciones IP en la opcin como se muestra en la figura 7.12.
Figura 7.12 La opcin de ruta estricta de fuente especfica una ruta precisa estableciendo una lista de direcciones IP que el datagrama debe seguir.
El ruteo estricto de fuente significa que las direcciones especifican la ruta exacta que los datagramas deben seguir para llegar a su destino. La ruta entre dos direcciones sucesivas de la lista debe consistir en una sola red fsica; se producir un error si el ruteador no puede seguir una ruta estricta de fuente. La otra forma, conocida cmo loose source routing (ruteo no estricto de fuente); tambin incluye una secuencia de direcciones IP. sta especifica que el datagrama debe seguir la secuencia de direcciones IP, pero permite mltiples saltos de redes entre direcciones sucesivas de la lista. Ambas opciones de ruta de fuente requieren que los ruteadores, a lo largo de la trayectoria, anoten su propia direccin de red local en la lista de direcciones. As, cuando un datagrama llega a su destino, contiene una lista con todas las direcciones recorridas, igual que la lista producida por la opcin de registro de ruta.
El formato de una opcin de ruta de fuente recuerda al de la opcin de registro de ruta, mostrada arriba. Cada ruteador examina los campos POINTER y LENGTH para ver si la lista est completa. Si es as, el campo puntero es mayor que la longitud y el ruteador establece la ruta del datagrama hacia su destino como lo hace normalmente. Si la lista no est completa, el ruteador sigue al puntero, toma la direccin IP, la reemplaza con la direccin del ruteador y establece la ruta para el datagrama utilizando la direccin que obtuvo de la lista.
Figura 7.13 Formato de una opcin de sello de hora. Los bits en el campo FLAGS (BANDERAS) controlan el formato exacto y las reglas de ruteo
que se utilizan para procesar esta opcin.
del ruteador que proporciona la entrada y un entero d sello de hora de 32 bits. La figura 7.13 muestra el formato de la opcin
de sello de hora.
En la figura, los campos LENGTH y POINTER se utilizan para especificar la longitud del espacio reservado para la
opcin y la localizacin de la siguiente ranura no utilizada (exactamente como en la opcin de registro de ruta). El campo de 4 bits OFLOW contiene un contador entero de ruteadores que podra no proporcionar un sello de hora si la opcin fue demasiado pequea.
El
valor en el campo FLAGS de 4 bits controla el formato exacto de la opcin y establece cmo los ruteadores deben suministrar el sello de hora. Los valores son:
Figura 7.14 Interpretacin de los valores en el campo FLAGS (BANDERAS) de la opcin sello de hora.
El sello de hora define la hora y la fecha en la que un ruteador manej el datagrama, expresado en milisegundos desde la media
noche Tiempo Universal. Si la representacin estndar para la hora no est disponible, el ruteador puede utilizar cualquier representacin de tiempo local disponible activando el bit de orden superior en el campo de sello de hora. Por supuesto, el sello de hora para computadoras independientes no siempre ser consistente si representan un tiempo universal. Cada mquina reportar una hora de acuerdo a su reloj local y los relojes pueden diferir. As, el sello de hora deber considerarse como una estimacin independientemente de la representacin. Podra parecer extrao que la opcin de sello de hora incluya un mecanismo para hacer que los ruteadores registren sus direcciones IP con sellos de hora dado que la opcin de registro de ruta, ya proporcionaba esta capacidad. Sin embargo, grabar las direcciones IP con sellos de hora elimina la ambigedad. Tener un registro de ruta con sellos de hora es tambin til pues permite que el receptor sepa con exactitud cul fue la ruta seguida por el datagrama.
7.9 Resumen
El servicio fundamental proporcionado por el software TCP/IP de red de redes, es un sistema de entrega de paquetes sin conexin, no confiable, y con el mejor esfuerzo. El Protocolo Internet (IP)
especifica formalmente el formato de los paquetes en la red de redes, llamados datagramas, e informalmente le da cuerpo a la idea de entrega sin conexin. En este captulo, nos concentramos en el formato de datagramas; en captulos posteriores, analizaremos el ruteo IP y el manejo de errores.
De la misma forma que la trama fsica, el datagrama IP se divide en reas de encabezado y reas de datos. Adems de
informacin de otro tipo, el encabezado de datagrama contiene las direcciones de fuente y destino, control de fragmentacin, prioridad y suma de verificacin utilizada para identificar errores de transmisin. Adems de los campos de longitud fija cada encabezado de datagrama puede contener un campo de opciones. El campo de opciones, tiene una longitud variable, dependiendo del nmero y tipo de opciones utilizadas as como del tamao del rea de datos para cada opcin. Empleadas para ayudara monitorear y controlar la red de redes, las opciones permiten especificar o registrar rutas o permiten reunir sellos de hora conforme viajan los datagramas por la red de redes.