Source: http://vteforte.tripod.com/ip.htm
Timestamp: 2018-02-19 23:16:59+00:00

Document:
2. INTRODUCCIÓN A TCP/IP
2.1 REDES Y TCP/IP :
Una red es un conjunto de ordenadores, conectados entre si, que pueden comunicarse compartiendo datos y recursos. Los ordenadores suelen estar conectados mediante cables. Pero si la red es extensa , las conexiones pueden realizarse a través de lineas telefónicas, microondas, e incluso satélites.
Las redes se clasifican en redes de área local (LAN :local área network) y redes de área amplia (WAN : wide área network). Las redes LAN abarcan una zona no demasiado grande, mientras que las WAN pueden abarcar varios países. Internet es una red , que a su vez se compone de otras redes , que pueden ser LANs ( conectadas mediante Ethernet y otros protocolos de redes como pueden ser IPX/SPX , AppleTalk o por supuesto el standard de internet : TCP/IP ) o WANs ( mediante módems a través de lineas telefónicas , conexiones ISDN , etc...).
Para que la comunicación entre ordenadores sea posible , es necesaria la existencia de un protocolo . Un protocolo es un conjunto de convenciones que determinan como se realiza el intercambio de datos entre dos ordenadores o aplicaciones. El protocolo usado por todas las redes que forman parte de Internet se llama abreviadamente TCP/IP. Mientras que las grandes organizaciones tienen sus propias LANs y Gateways , los usuarios particulares deben conectarse mediante módems.
Existen dos formas para la conexión de estos últimos : La conexión por Dial y por el nivel IP. La primera consiste en conectarse con el servidor del ordenador del proveedor del servicio y tener acceso a los programas y utilidades que ofrece este servidor , para este tipo de conexión solo se necesita un terminal y un módem , ejemplos de proveedores de este servicio son CIX, CompuServe y Delphi.
Una conexión de nivel IP es mucho más complicada , pero ofrece mucha mayor flexibilidad. Se necesita de la instalación de una serie de drivers de red en el ordenador local , un stack TCP/IP y un driver de bajo nivel de módem. Una vez configurado el stack del protocolo , ya se puede ejecutar cualquier tipo de software TCP/IP que lo reconozca y tener acceso directo a Internet .
Internet es una red, a través de la cual se encuentran interconectadas una gran cantidad de redes de ordenadores , de forma que cada ordenador puede comunicarse con cualquier otro independientemente del tipo o del sistema operativo que utilice. Por eso el protocolo común de comunicaciones usado en Internet es el TCP/IP.
Cuando se transmite información de un ordenador a otro , esta no es transmitida de una sola vez , sino que se divide en paquetes pequeños, evitando de esta manera la monopolización de los recursos de la red por un solo usuario. Por los cables de la red viajan paquetes de información provenientes de diferentes ordenadores y con destinos también diferentes. Para alcanzar su destino , estos paquetes atraviesan en el camino cierto número de ordenadores y otros dispositivos que hacen que la transmisión sea posible. Las distintas partes que forman Internet están conectadas por un conjunto de ordenadores llamados Routers , cuya misión principal es redirigir los paquetes de información que reciben por el camino adecuado para que alcancen su destino.
El protocolo IP (Internet Protocol) se encarga de etiquetar cada paquete de información con la dirección apropiada. Cada ordenador conectado ,tiene una dirección Internet IP Address única y exclusiva , que está formada por cuatro números separados por puntos , cada uno de los cuales puede tomar valores entre 0 y 255. Mientras , el protocolo TCP (Transmission Control Protocol) se encarga de dividir la información en paquetes de tamaño adecuado , numerarlos para que puedan volver a unirse en el orden correcto y añadir cierta información extra necesaria para la transmisión y posterior decodificación del paquete.
En 1982 , TCP/IP Internet incluía unos cuantos cientos de ordenadores concentrados principalmente en Norte América . En la primavera de 1993, ya había más de 1.200.000 ordenadores conectados a Internet en 45 países repartidos por los 7 continentes , y su tamaño sigue duplicandose cada 10 meses. Al principio los usos básicos que ofrecía la red eran los de correo electrónico, transferencia de ficheros y conexiones remotas. En la actualidad existe una gran cantidad de usuarios que diseñan protocolos de aplicación para construir sus aplicaciones software. La variedad de las aplicaciones que usan TCP/IP consisten en sistemas de monitorizacion y control de plataformas industriales , sistemas de control de inventarios de almacén, aplicaciones que permiten compartir el acceso a archivos entre sistemas alejados geográficamente , como también posibilitar teleconferencias y aplicaciones de sistemas multimedia.
El protocolo TCP/IP incluye a su vez muchos protocolos de aplicación y cada día aparecen nuevos protocolos, pero solo algunos de ellos han sido documentados y forman parte del protocolo oficial TCP/IP ( Standard Application Protocols) , que entre sus aplicaciones características se encuentran : FTP , Telnet y E-Mail .
2.2 DEFINICIÓN DEL CONJUNTO DE PROTOCOLOS TCP/IP :
El conjunto de protocolos TCP/IP incluye los protocolos de control de transporte e Internet, así como otros :
Protocolo Internet.Protocolo de la capa de red que mueve la información entre ordenadores.
Versión 6 del protocolo IP.
Protocolo de resolución de direcciones.
Protocolo de Control de Transporte. Protocolo de la capa de transporte que mueve la información entre las aplicaciones.
Protocolo de Datagrama de Usuario. Protocolo de la capa de transporte, mas sencillo y menos fiable que TCP.
Protocolo de Nombres de dominio.
Protocolo de Control de Mensajes. Lleva los mensajes de error y notifica otras condiciones.
FUNCIONES DEL SOFTWARE DE COMUNICACIONES :
- Intercambio fiable de datos entre dos hosts :
Empaquetar los datos.
Determinar la ruta a seguir.
Transmisión de los datos por el medio físico.
Ensamblado de los datos entrantes para el mantenimiento de la secuencia correcta y evitar la perdida de fragmentos.
Comprobar si existen datos repetidos.
Notificar al emisor los datos que no se hayan recibido correctamente.
Entregar los datos a la aplicación requerida.
PILA DE PROTOCOLOS :
El modelo ISO/OSI asocia los protocolos que definen la funcionalidad de cada capa y representa una red como una pila vertical de módulos o capas. El modelo asocia al menos un protocolo con cada capa. Se estructura en capas verticales y protocolos apilados.
EL modelo de referencia ISO/OSI define siete capas funcionales para el diseño de redes. Aunque el diseño TCP/IP sólo utiliza cinco de ellas con sus protocolos respectivos.
Mientras los datos fluyen por la pila de protocolos, los protocolos TCP/IP pueden dividirlos en unidades más pequeñas.
2.3 CAPAS DE LA RED :
Los diseñadores de software de comunicaciones utilizan el concepto de capas para organizar una red en módulos funcionales bien definidos.
Los principios fundamentales para desarrolar las capas en el Modelo OSI , son :
Crear una nueva capa cada vez que el programa de red necesite un nivel de abstracción distinto.
Cada capa debe desempeñar una función bien definida.
Elegir la función de cada capa teniendo en cuenta la definición de protocolos estandarizados internacionalmente.
Elegir los limites de la capa para minimizar el flujo de información a través de las interfaces.
El número de capas debe ser lo suficientemente grande para que los diseñadores no necesiten colocar funciones distintas en la misma capa.
LA CAPA FISICA :
Transmite datos a través de los canales de comunicación de la red. Incluye los elementos físicos para tal función, tales como lineas de transmisión de red.
Se encarga de determinar las propiedades mecanicas y electricas de dicho canal, así como los detalles de procedimiento relacionados con estas caracteristicas , como por ejemplo determinar el punto de nivel de voltaje para el cambio del estado lógico de representación de los datos binarios. Debe asegurar que cuando un extremo de la comunicación envia un bit con valor 1, el otro extremo reciba un bit con el mismo valor. Y también determinar el tipo de comunicación que emplean las transferencias de datos , simplex, duplex o semiduplex.
LA CAPA DE ENLACE :
Se encarga de transformar los datos binarios que le llegan de la capa física en tramas de datos y viceversa. Ayuda a localizar la definición de información que fluye entre la capa física y la capa de red. Creación y reconocimiento de los limites de la trama de datos , para lo que se vale de la inclusión de una mascara de bit al inicio y al termino de la trama.
También tiene como misión la resolución de los problemas ocasionados por daños, perdida o duplicidad de las tramas. Así como la implementación de mecanismos de regulación del flujo de datos, que permita al transmisor conocer la capacidad de recepción del otro extremo.
La tarjeta de interface de red representa el enlace de datos en el sistema. Su función principal es evitar que la información dentro de la capa física se pierda. Son especificas para cada tecnología de red .
Incluye dos módulos de protocolos :
. El protocolo de Resolución de Direcciones. ARP : Que se encarga de traducir las direcciones de la capa de red a direcciones de la capa de enlace.
. El protocolo de Resolución de Direcciones Inverso. RARP : Traduce las direcciones de la capa de enlace a direcciones de Red.
En el conjunto de protocolos TCP/IP la capa de enlace envía y recibe datos por el módulo IP de la capa de red.
LA CAPA DE RED :
Determina la ruta que siguen los datos para alcanzar su destino. Tiene como misión el manejo y el control del tráfico, congestión y tasa de transferencia a través de las lineas de transmisión , así como la perdida de datos en la red.
Es el sistema de entrega primario dentro de la red. Entrega unidades de datos como paquetes individuales, cada uno de los cuales contiene las direcciones del destino y fuente para fines de enrutamiento. Define la interface entre los sistemas y toda conmutación de paquetes entre las direcciones fuente y destino. Asegura que se reciban los paquetes correctamente , así como la secuenciación.
Las tablas de enrutamiento se utilizan para enrutar los datos , y son bases de datos para buscar la trayectoria correcta . Se pueden establecer tablas de enrutamiento tanto estáticas como dinámicas , siendo las dinámicas aquellas que se actualizan de modo automático. También se encarga de la resolución de los problemas de interconexión de redes heterogéneas.
Se encarga de aceptar los datos de la capa de sesión , dividirlos en unidades más pequeñas, pasarlos a la capa de red y asegurar que lleguen correctamente al otro extremo. La capa de transporte en el otro extremo, debe reensamblar los datos fragmentados y entregarlos a la aplicación correcta. Maneja todos los problemas de administración de tráfico relacionados con el enrutamiento y la entrega.
La capa de transporte se necesita para realizar el trabajo de multiplexión transparente a la capa de sesión. Crea una conexión de red independiente para cada conexión de transporte solicitada por la capa de sesión.
Determina el tipo de servicio que tiene que ofrecer a la capa de sesión y a los usuarios de la red y se determina cuando se establece la conexión. Debe ocuparse del establecimiento y liberación de conexiones a través de la red.
LA CAPA DE SESION :
La capa de sesión negocia y establece las conexiones entre los procesos y aplicaciones en diferentes anfitriones. Los profesionales en redes denominan asignación al proceso de preparar una sesión.
Se encarga de transformar datos empaquetados para transmisiones de red en datos de aplicación. Maneja las solicitudes de la aplicación para cambiar la tasa de flujo y el control de errores. Es la interface del usuario con la red.
La capa de sesión proporciona testigos para regular el tráfico de la información , los testigos pueden ser intercambiados y sólo el extremo que posea el testigo puede realizar la operación critica.
Esta capa proporciona una forma para insertar puntos de verificación en el flujo de datos, con objeto de conseguir un alto grado de sincronización en las transferencias de datos entre el emisor y el receptor.
En ocasiones se fusionan las capas de sesión y transporte, aunque en la mayoria de los casos la funcionalidad requerida por una capa de sesión no desaparece sino que otro software de red asume la responsabilidad.
LA CAPA DE PRESENTACION :
La capa de presentación se ocupa de los aspectos de sintaxis y semantica de la información que se transmite. Determina como aparecen los datos ante el usuario.
Esta capa debe integrar la diversidad de software de diferentes sistemas operativos y otras caracteristicas de la gran variedad de sistemas que existen en Internet de tal manera que haga que las diferencias sean transparentes a las aplicaciones de red.
La capa de presentación ofrece servicios tales como el cifrado de datos para garantizar la seguridad, la compresión de datos para reducir la cantidad de los mismos que debe transportar la red y mejorar el ancho de banda efectivo.
CAPA DE APLICACIÓN :
La capa de aplicación contiene todos los detalles relacionados con aplicaciones específicas o programas de computo diseñados para usuarios de red.
Para resolver el problema de las diferencias que surgen dada la gran cantidad de terminales incompatibles que existen , se define un terminal virtual de red abstracto , y que a partir del software se pueden transferir funciones a los terminales reales.
Otra de las funciones de esta capa es la transferencia de archivos entre dos sistemas diferentes, requiriendo la resolución de tales diferencias y otras incompatibilidades.
Existiendo entre otras funciones tambien : El correo electrónico, el servicio de directorio y otros servicios de propósito general y especifico.
2.4 MODELO CLIENTE-SERVIDOR:
TCP/IP como otros muchos protocolos de comunicación , provee mecanismos básicos para transferir datos , en particular , permite al programador establecer comunicaciones entre dos programas de aplicación y poder transferir información del uno al otro , es lo que se llama comunicación peer-to-peer (par a par) , este tipo de aplicaciones pueden ejecutarse en la misma maquina o en diferentes.
En la practica un método organizativo domina el uso de TCP/IP , es el paradigma Cliente-Servidor. El fundamento principal para el modelo cliente-servidor es el problema de rendezvous (cita) , de que ambos sistemas estén conectados al mismo tiempo. Este problema se resuelve , asumiendo que en todo tipo de comunicación entre dos sistemas , uno de ellos debe ejecutar la aplicación y esperar a que el otro sistema se conecte. Así para asegurarse de que los ordenadores están listos para la comunicación , muchos administradores de sistemas acuerdan que la ejecución de los programas de comunicación, comience automáticamente cuando arranca el sistema.
El modelo cliente-servidor se divide en dos categorías , dependiendo si la aplicación espera la comunicación o la inicia. Este modelo usa la dirección de inicialización para averiguar si un programa es cliente o servidor. En general la aplicación que la inicia es el cliente. Cada vez que una aplicación cliente se ejecuta , contacta con un servidor , enviandole la señal request y esperando una respuesta , que cuando le llega le permite continuar con el proceso. Para enviar un request , la aplicación cliente necesita de una serie de parámetros que permiten al usuario especificar totalmente el sistema destino y el numero de puerto del protocolo destino.
Cuando se quiere diseñar software cliente-servidor , se debe escoger entre dos tipos de interacción : sin conexión UDP o orientado a conexión TCP , una u otra elección determina el nivel de fiabilidad del sistema . TCP es el protocolo más fiable para comunicarse a través de INTERNET , verifica la llegada de los datos y automáticamente retransmite los segmentos que no lo han hecho. Calcula un checksum sobre los datos para determinar que no ha habido errores durante la transmisión. Usa números de secuencia para asegurarse de que la información llega ordenada y automáticamente elimina los paquetes duplicados. Dispone de un flujo de control , para asegurarse de que la velocidad de transmisión del emisor no supere la de recepción del receptor . Finalmente TCP informa tanto al cliente como al servidor si en algún momento la red es inoperable por cualquier motivo.
Sin embargo , las aplicaciones que usan UDP , no disponen de garantías sobre la fiabilidad de recuperación de la información. Aquí deben ser las propias aplicaciones cliente o servidor las que tienen que tomar las apropiadas medidas para detectar y corregir errores. UDP no introduce errores , solamente depende del subyacente IP para entregar los paquetes de información. IP , en cambio, depende de las subyacentes conexiones hardware y de los gateways intermedios. Por lo tanto UDP funciona bien , si la red lo hace correctamente . Se suele utilizar en redes locales , donde la probabilidad de que se den errores es más baja . Manteniendo el estado de la información en el servidor se puede mejorar la eficiencia de la red , pero también puede consumir mas recursos de los que convendría , si el sistema de transporte de datos permite las opciones de duplicados , retraso o paquetes perdidos.
Una aplicación servidor puede necesitar acceder a servicios de la red , actuando de esta forma como un cliente , en una red no es inusual que esto ocurra , pero se debe de evitar que aparezcan dependencias circulares entre los servidores. Por lo tanto , las aplicaciones no pueden ser divididas fácilmente en clientes y servidores , porque muchas de ellas realizan ambas operaciones.
PROCESOS CONCURRENTES EN LAS APLICACIONES CLIENTE-SERVIDOR.
El termino concurrente se refiere a la real o aparente ejecución simultánea de varios programas. La primera es el multiproceso , donde se necesitan múltiples procesadores , mientras que la segunda , se refiere al tiempo compartido , donde solo existe un único procesador que se encarga de repartir su capacidad de proceso entre varios programas.
La concurrencia en el proceso de datos es fundamental entre los sistemas que interactuan de forma distribuida y se da de múltiples formas ; entre maquinas de una sola red , muchos pares de programas de aplicación pueden comunicarse al mismo tiempo , compartiendo la red que los interconecta de manera que parece que las aplicaciones se ejecuten independientemente . El hardware de la red fuerza unas reglas de acceso que permiten que cada par de maquinas comunicándose puedan intercambiar mensajes.
INTERFAZ DEL PROGRAMA A PROTOCOLOS
En muchas implementaciones , el software del protocolo TCP/IP reside en los sistemas operativos de los ordenadores , así cuando un programa de aplicación usa TCP/IP para comunicarse , debe por tanto interactuar con el sistema operativo .Las rutinas que el sistema operativo dispone para la comunicación definen el interface entre la aplicación y el software del protocolo , es lo que se denomina application interface.
TCP/IP fue diseñado para ser compatible con una gran variedad de sistemas informáticos, por este motivo , TCP/IP no especifica los detalles de como las aplicaciones interfieren con él , solo sugiere ciertos requerimientos de funcionalidad y deja que los diseñadores de los sistemas escojan los detalles.
La Universidad de Berkeley (California) consiguió definir una interfaz para el sistema operativo UNIX , que es lo que ha llegado a conocerse como socket interface (interfaz de conexión). También AT&T definió una interfaz para el sistema V UNIX conocida con las siglas de TLI (Transport Layer Interface).
Una interfaz debe soportar los siguientes tipos de operaciones :
.Asigne recursos locales para la comunicación.
.Especifique los puntos de la comunicación :local y remoto.
.Iniciar una conexión (cliente).
.Espere a que le llegue una conexión (servidor).
.Enviar o recibir datos.
.Determinar cuando llega la información.
.Generar datos urgentes.
.Manipular la información urgente que llega.
.Terminar de forma correcta la conexión.
.Terminación de la conexión remota.
.Abortar la comunicación.
.Procesar las condiciones de error o de una desconexión.
.Liberar los recursos locales cuando termine la comunicación.
La interfaz conceptual definida por los standards de TCP/IP no especifica las representaciones de los datos o los detalles de programación, solamente otorga un ejemplo de una posible interfaz que un sistema operativo puede ofrecer a los programas de aplicación que usan TCP/IP.
2.5 TCP /IP Y COMUNICACIONES ENTRE REDES
Sean las redes A,B y C de la figura , estas redes forman una red común y cada una de ellas es una subred de la misma. El que se trate de subredes no significa que realicen menos funciones que las redes convencionales, sino que las tres redes forman una única red lógica y las subredes contribuyen en las operaciones globales de interconexión.
Los gateways (pasarelas) entre redes se diseñan de forma que sean transparentes a las aplicaciones de los usuarios finales. De hecho, las aplicaciones de usuarios residen en ordenadores conectados a las redes. Las pasarelas no necesitan cargarse con los protocolos del nivel de aplicación. Como no son invocados por la pasarela , ésta se puede dedicar a otras tareas , como la gestión del tráfico entre las redes. No se ocupa de funciones del nivel de aplicación como acceso a bases de datos, correo electrónico y gestión de archivos.
Además de la transparencia para el nivel de aplicación, la mayoría de los diseñadores intentan que las pasarelas sean transparentes a las subredes, y viceversa. El propósito principal de la pasarela es recibir una PDU que contenga información de direccionamiento suficiente para que se pueda encaminar hacia su destino final o hasta la pasarela siguiente.
EJEMPLO DE LAS OPERACIONES DE TCP/IP
En este ejemplo se supone que la aplicación de usuario de un ordenador A envía una PDU de aplicación al protocolo del nivel de aplicación de un ordenador B. El software de transferencia de archivos realiza unas determinadas funciones y añade una cabecera de transferencia de archivos a los datos del usuario.
De los niveles de aplicación del ordenador A , la PDU se pasa a TCP , que es un protocolo de nivel de transporte. TCP realiza varias funciones y añade una cabecera a la PDU que se le transfiere. La unidad de datos se denomina ahora segmento. Después , TCP pasa estos segmentos al nivel de red, que trabaja con IP , que a su vez realiza unos determinados servicios y añade otra cabecera. La unidad resultante es el datagrama , que se pasa a los niveles inferiores. El nivel de enlace de datos añade una cabecera y una cola , y la unidad de datos que ahora se denomina trama , se envia a la red a través del nivel físico. Si el ordenador B enviara datos al ordenador A , el proceso se invertiría.
TCP/IP desconoce lo que realmente circula por la red. El gestor de la red es libre de manejar la PDU de cualquier forma que considere oportuna. Es en el nivel IP donde se toman las decisiones de encaminamiento basándose en la información de direccionamiento proporcionada por el ordenador principal.
Después de tomar las decisiones de encaminamiento , el datagrama se envía al enlace de comunicaciones conectado con la subred apropiada . El datagrama es reencapsulado para formar la trama en el nivel de enlace de datos y se pasa a la subred siguiente. Esta unidad se mueve por la red de forma transparente , hasta que llega al ordenador destino.
2.6 PROTOCOLO IP :
La capa de red es el corazón de cualquier red basada en TCP/IP. Esta capa incluye al protocolo Internet (IP), el protocolo de control de mensajes de Internet (ICMP) y el protocolo de manejo de grupos de Internet (IGMP) , siendo estos últimos dos , de apoyo a IP para manejar mensajes especiales de la red, tales como los de error y transmisiones multiples.
IP es un protocolo simple, fácilmente implementable que provee una interfaz estandar a partir de la cual el resto de protocolos y servicios pueden ser construidos, sin tener que preocuparse de las diferencias que existan entre las distintas subredes por las cuales circulan los datos.
LA ESTRUCTURA DE DIRECCIONES IP
Se añade a las direcciones físicas , un nuevo esquema de direccionamiento , para permitir la interconexión de diferentes tipos de redes. Una dirección internet es una dirección IP. Cada tarjeta de interface en una red especifica contiene una dirección IP única. Las redes TCP/IP identifican los ordenadores y las redes a las que están conectados utilizando direcciones IP de 32 bits.
DIRECCION IP = DIR. DE RED + DIR. DE ORDENADOR
Una dirección IP es de 32 bits , es decir, 4 bytes. Aunque siempre se identifican generalmente en notación decimal, la cual representa cada byte como una serie de numeros decimales separados por puntos.
Ej : 235.75.70.2
Identifican un punto de conexión en una red, una maquina puede tener varias direcciones distintas. La dirección IP combina un número de red y un numero de dirección en la red. Siendo el byte de mayor orden el que especifica a la red y los tres bytes de menor orden identifican al host dentro de la red.
Aunque no es realmente así , ya que el byte de mayor orden nos ofrece mas información. Dado que si fuese realmente así, sólo nos permitiria identificar un numero máximo de 255 redes. Para evitar esto , se ha ideado un esquema de codificación , donde se utilizan los primeros bits de tal byte , para la identificación de la clase de dirección.
La clase de dirección , especifica cuantos bytes utiliza la dirección como número de identificación de la dirección de red.
Por lo tanto , las clases de direcciones IP :
Bits de Mayor Orden
Bits disponibles para identificador de Red.
Para difusión multiple.
Mascara Asociada
Dir. de Comienzo
Ejemplo : Sea la dirección IP 138.100.75.19 ( Clase B)
Parte del nodo
Direcciones Especiales :
Rangos de direcciones IP reservadas : Son una serie determinada de rangos de direcciones IP , que a fin de que pudieran usarse para la confección de redes locales, fueron excluidas de Internet.
Dirección de Comienzo
. Host Local : Todo 0´s
. Host en esta red : Todo 0´s / host
. Difusión limitada : Todo 1´s
. Difusión dirigida : Red / Todo 1´s
. Loopback : 127.0.0.1
Si se diseña una red TCP/IP que no va a estar conectada a Internet se puede utilizar cualquier dirección IP, con la salvedad de que no se pueden utilizar direcciones IP, que comiencen por 0. Tampoco por 127 , ya que se reservan para los procesos de resolución de problemas y diagnosis de la red. Las direcciones IP de los nodos no pueden terminar con cero. Y también hay que tener en cuenta que a las direcciones IP de nodos no se les puede asignar el valor 255, ya que este valor se emplea para enviar broadcasts a todos los elementos de una red.
La mascara de red es un valor con el mismo formato e importancia que la dirección IP. Aplicada sobre la dirección IP de un adaptador de red, establece donde termina la dirección de la red externa y dónde comienza la dirección de la red local o segmento al que se encuentra conectado dicho adaptador.
Las mascaras dividen redes en subredes, y esas subredes por medio de otras mascaras pueden dividirse en redes de menor tamaño. A partir de una mascara de red se puede calcular el número de nodos que pertenecen al mismo segmento.
Ej : Supongase la mascara de una red de Clase C :
- Decimal : 255.255.255.0
- En Binario : 11111111.11111111.11111111.00000000
Los 1´s se asocian con la parte de la red externa y los 0´s con la red local. El número de nodos por segmento en esta red será el máximo número que podamos representar con un número binario de tantas cifras como ceros de red local tengamos. En este caso :
2 elevado a 8 = 256 (Excluyendo aquellos nodos con direcciones IP no permitidas).
IP es un ejemplo de servicio no orientado a conexión. Permite , sin establecimiento de llamada previo , el intercambio de datos entre dos ordenadores (sin embargo, los dos ordenadores generalmente comparten un protocolo común de transporte orientado a conexión). Como IP no es orientado a conexión, se pueden perder datagramas entre las dos estaciones de usuario. Por esta razón es fundamental un protocolo de transporte de nivel superior , como TCP , que solucione esos problemas.
Dado que IP es un protocolo de tipo datagrama, no dispone de mecanismos para proporcionar fiabilidad. No proporciona procedimientos de recuperación de errores en las redes subyacentes , ni mecanismos de control de flujo. La mayoria de estos problemas se pasan al nivel superior , TCP. IP soporta operaciones de fragmentación , que son operaciones por las que una unidad de datos de protocolo (PDU) se divide y segmenta en unidades mas pequeñas, lo que es muy util , ya que no todas las redes utilizan PDUs del mismo tamaño.
PROTOCOLOS DE DIRECCIÓN DE INTERNET :
Las direcciones de nivel físico , tal es el caso de las Ethernet, son de 6 bytes de longitud, mientras que las IP son de cuatro. Para resolver este problema y realizar la oportuna traducción de direcciones , se tienen los protocolos de resolución de direcciones.
Existen dos protocolos :
ARP : Protocolo de resolución de direcciones :
Averigua la dirección física a partir de la dirección IP. Se encarga de modular mapas de direcciones en la capa de red (IP) a la dirección correspondiente en la capa de enlace. Siendo la dirección de la capa de enlace de una tecnología especifica.
El mapeo de ARP , es dinámico. ARP vuelve a mapear direcciones de modo automático cuando cambia la configuración de la red.
El mensaje ARP se envía en el campo de datos de una trama. Un campo en la cabecera de la trama permite identificar el tipo de mensaje.
Una estación A quiere comunicar con B, de la que conocemos su dirección IP , pero no su dirección física. A pregunta a B su dirección fisica mediante una difusión (parte superior de la figura). Todas las estaciones de la red reciben el mensaje , pero sólo B responde.
El paquete de consulta , se compondrá de la dirección física de A , dirección IP de A y dirección IP de B. Mientras que el paquete de respuesta , a parte de todo lo anterior nos enviará la dirección física de B.
RARP : Protocolo de resolución de direcciones inverso :
Se encarga de mapear una dirección de la capa de enlace a la dirección IP correspondiente.
2.7 El datagrama de IP :
El protocolo Internet IP es el sistema de entrega del conjunto de protocolos TCP/IP. IP emplea datagramas sin conexión y poco fiables para llevar la información a través de una red TCP/IP. A estos datagramas se les conoce como datagramas IP o paquetes IP, cada uno de los cuales incluye un encabezado IP y los datos reales. Así una red TCP/IP encapsula casi toda la información dentro de un datagrama IP. El encabezado IP es un flujo de datos en serie de al menos 20 bytes de longitud.
El datagrama IP se envía encapsulado en el campo de datos de una trama Ethernet:
FORMATO DE UN DATAGRAMA IP :
VERSION (4) | LONGITUD DE CABECERA (4)
TIPO DE SERVICIO (8)
LONGITUD TOTAL (16)
IDENTIFICADOR (16)
IDENTIFICADORES (3) | DESPLAZAMIENTO DE FRAGMENTACION (13)
CHECKSUM DE LA CABECERA (16)
DIRECCION DE FUENTE (32)
DIRECCION DE DESTINO (32)
OPCIONES Y RELLENO (Variable)
DATOS (Variable)
(n) = NUMERO DE BITS EN EL CAMPO
El campo versión identifica la versión de IP en uso , actualmente la 4 (Ipv4). El campo de longitud de cabecera contiene 4 bits con el valor de la longitud de cabecera del datagrama. La longitud se mide en palabras de 32 bits. (Valor mínimo = 5 ).
El campo de tipo de servicio (TOS) se puede utilizar para identificar varias funciones QOS de Internet : El retardo de tránsito, el caudal efectivo , la prioridad y la fiabilidad.
- 3 bits para la prioridad (se ignoran), 4 bits para el tipo de servicio y un bit a cero.
Los 4 bits de tipo de servicio permiten al usuario solicitar las condiciones deseadas
(solo un bit a 1):
Minimizar el retardo
Maximizar el throughput (productividad)
Maximizar la fiabilidad
Se recomienda el uso de los siguientes valores para el tipo de servicio , dependiendo de la aplicación :
Minimizar retraso
Sesión de Control FTP
Sesión de Datos FTP
Minimizar Coste
Maximizar fiabilidad
El campo de longitud total especifica la longitud total del datagrama de IP. Se mide en octetos e incluye la longitud de la cabecera y de los datos. La longitud máxima de un datagrama es de 65535 octetos ( 2 elev 16).
El protocolo IP utiliza tres campos de datos en la cabecera que sirven para controlar la fragmentación y ensamblado del datagrama. Son el identificador , los indicadores y el desplazamiento de fragmentación.
El campo de identificador se utiliza para identificar unívocamente todos los fragmentos de un datagrama original . Se utiliza junto con la dirección de fuente del ordenador receptor para identificar el fragmento. El campo de identificadores contiene bits que indican si el datagrama se puede fragmentar y , si se puede fragmentar , uno de los bits se puede poner a 1 para indicar el último fragmento del datagrama original.
El campo de desplazamiento de fragmentación contiene un valor que especifica la posición relativa del fragmento en el datagrama original. Su valor se inicializa a cero y se va poniendo al valor apropiado a medida que la pasarela fragmenta los datos. El valor se mide en unidades de 8 octetos.
La fragmentación de datagramas se da porque las redes imponen limitación al tamaño máximo de los paquetes (MTU : Maximum Transfer Unit). El MTU en Ethernet es de 1500 bytes (campo de datos).
Cuando el datagrama pasa entre dos redes fisicas distintas , los encargados de la fragmentación son los routers. Al fragmentar un datagrama se copian la mayoria de los campos de la cabecera. El campo identificación , distinto para cada datagrama permite identificar todos los fragmentos de un mismo datagrama.
El campo longitud en un fragmento indica la longitud de dicho fragmento. Además hay que tener en cuenta dos bits en el campo de flags :
- do not fragment : Indica que el datagrama no puede ser fragmentado.
- More fragments : Indica que este fragmento no es el último de una serie.
Hay que tener en cuenta que en el caso de que se pierda un fragmento , esto conlleva a la perdida de todo el datagrama.
El proceso de reensamblado se realiza en el receptor , que establece un plazo de reensamblado , y cuando el plazo se cumple sin que se reciban nuevos fragmentos del mismo datagrama , el host destino descarta los recibidos y envia un mensaje de error al origen. El valor recomendado para el plazo de reensamblado es de 60 y 120 segundos.
El parámetro de tiempo de vida (TTL) se utiliza para medir el tiempo que un datagrama lleva en la interred. Todas las pasarelas deben observar el valor de este campo y descartarlo si es cero , deben también decrementar su valor en todos los datagramas que procesan. Este campo también se utiliza para que los ordenadores limiten el tiempo de vida de los segmentos que pasan por la interred. Idealmente, los valores del campo TTL se pueden configurar, asignándose su valor en función de las prestaciones observadas de la red.
El campo de protocolo se utiliza para identificar el siguiente protocolo en la estructura de niveles por encima de IP que va a recibir el datagrama en el ordenador destino. Por ejemplo, el número 6 identifica a TCP .
El checksum de la cabecera se utiliza para detectar distorsiones en la cabecera. No se realizan comprobaciones en la cadena de datos de usuario , pero exige que un protocolo de nivel superior en el ordenador sea el que realice algún tipo de comprobación de errores para velar por la integridad de los datos.
El datagrama de IP lleva dos direcciones. Se denominan dirección de fuente y de destino y no se modifican durante toda la vida del datagrama. El campo de opciones se emplea para identificar diversos servicios adicionales. Este campo no se utiliza en todos los datagramas. La mayoría de los esquemas utilizan este campo para gestión de la red y diagnósticos. Permite especificar : encaminamiento fuente, confidencialidad del datagrama, registro de la ruta (RR), etc...
El campo de relleno se puede utilizar para asegurarse de que la cabecera del datagrama se alinea exactamente con una división de intervalo de 32 bits. Finalmente , el campo de datos contiene los datos de usuario. IP estipula que la combinación de los campos de cabecera y de datos no puede sobrepasar 65535 octetos.
PRINCIPALES SERVICIOS DE IP
Los routers y bridges (puentes) son dispositivos que se utilizan para compartir información entre redes y sistemas. Los routers trabajan a nivel de la capa de red, y se les suele asociar a un protocolo, como es el caso de IP, en cuyo caso hablamos de router IP. Este tipo de dispositivos reducen el tráfico de datos en la red, puesto que al trabajar a nivel de red disponen de la inteligencia necesaria para distinguir que paquetes pertenecen a una red y que paquetes pertenecen a otra.
Los bridges , sin embargo, gestionan el tráfico de datos a nivel de la capa física y , por tanto, no se preocupan en absoluto del protocolo que se encuentre por encima. La transición de datos de una red a otra se realiza muy rápidamente pero con el incoveniente de que toda la información que se produzca en una red es transmitida a la otra y viceversa, lo que conlleva a un considerable aumento de la congestión.
Encaminamiento de fuente de IP:
IP utiliza como parte de su algoritmo de encaminamiento un mecanismo denominado encaminamiento de fuente , que permite que un protocolo de nivel superior (ULP) determine la forma en que las pasarelas IP encaminan el datagrama. ULP tiene la opción de pasar una lista de direcciones interred al módulo de IP. Esta lista contiene los nodos IP intermedios que se van a atravesar durante el encaminamiento del datagrama hacia su destino final. La última dirección de la lista es el destino final de un nodo intermedio.
Cuando IP recibe un datagrama, utiliza la dirección del campo de encaminamiento de fuente para determinar el siguiente salto intermedio. IP utiliza un campo puntero para averiguar la siguiente dirección IP. Si la comprobación del puntero y de los campos de longitud indican que la lista se ha completado, el campo de dirección IP de destino se utiliza para encaminamiento. El módulo IP reemplaza entonces el valor de la lista de encaminamiento de fuente con su propia dirección. Por supuesto , hay que incrementar el puntero en el valor de una dirección (4 bytes) para que en el siguiente salto se pueda recuperar la siguiente dirección de IP de la ruta. Así , el datagrama sigue la lista de fuente dictada por el ULP y almacena también la ruta durante el camino.
Operaciones de encaminamiento:
La pasarela de IP toma decisiones de encaminamiento basándose en la lista de encaminamiento. Si el ordenador destino reside en otra red , la pasarela debe decidir la ruta de encaminamiento hacia la misma. En cada pasarela se mantiene una tabla de rutas que contiene la siguiente pasarela a atravesar. Dicha tabla contiene una entrada por cada red alcanzable .Estas tablas pueden ser estáticas o dinámicas. La tabla de rutas contiene una dirección de IP por cada red alcanzable y la dirección de una pasarela vecina (es decir, una pasarela directamente conectada a esta red). La pasarela vecina es la ruta más corta hacia la red de destino.
Las tablas de encaminamiento contienen información sobre los posibles destinos y como llegar a ellos. Se encuentran en routers y hosts y deben ser compactas y pequeñas para que sean eficaces en su funcionamiento. Sólo deben contener información sobre redes destino y de los routers que nos conducen a ellas.
Ej. Tabla encaminamiento de un router :
142.58.0.0
Los routers intercambian información para mantener actualizadas las tablas de encaminamiento. No existe ningún protocolo obligatorio para actualizar las tablas de encaminamiento, pero existen algunos que caen dentro del tipo IGP (Interior Gateway Protocol) que se pueden utilizar , como :
- RIP : Routing Information Protocol (Protocolo de Vector de Distancias).
- OSPF : Open Shortest Path First (Protocolo de estado de enlace).
El encaminamiento de IP se basa en un concepto denominado métrica de distancia . Este valor es el número mínimo de saltos entre la pasarela y el destino final. La pasarela consulta su tabla de encaminamiento e intenta encontrar una dirección de red de destino igual a una entrada de red contenida en la tabla de encaminamiento. Si no se encuentra se descarta el datagrama y se forma un mensaje de error que se devuelve a la fuente de IP , esto lo hace un protocolo adjunto a IP , denominado Protocolo de Mensajes de Control de Internet ICMP . El mensaje contiene un código de "destino inalcanzable". Si se encuentra una dirección igual en la tabla de encaminamiento, la pasarela lo utiliza para determinar el puerto de salida.
Encaminamiento relajado y estricto :
IP proporciona dos opciones para el encaminamiento de los datagramas hasta su destino final. El encaminamiento relajado de fuente deja a los módulos de IP libertad para escoger los saltos intermedios que se deben realizar para alcanzar las direcciones obtenidas en la lista de fuentes. En cambio , el encaminamiento estricto de fuente exige que los datagramas viajen sólo por las redes cuyas direcciones están indicadas en la lista de fuentes.
Ambos tipos de encaminamiento requieren que exista la caracteristica de grabación de ruta, esta opción funciona de la misma forma que el encaminamiento de fuente , cualquier módulo de IP que reciba un datagrama debe añadir su dirección a una lista de grabación de ruta.
Otra opción muy útil de IP , es la posibilidad de incluir marcas temporales en los datagramas cuando atraviesan cada módulo de IP de la interred. De esta forma , el gestor de IP puede determinar la ruta del datagrama y además el instante en que cada módulo procesó el datagrama. Lo cual es muy útil para determinar la eficacia de las pasarelas y de los algoritmos de encaminamiento.
2.9 ICMP (Protocolo de mensajes de control interred) :
El protocolo Internet (IP) es un protocolo no orientado a la conexión, y, por tanto, no proporciona mecanismos de corrección ni de información de errores. Se basa en un módulo denominado protocolo de mensajes de control interred (ICMP) para informar de los errores ocurridos en el procesamiento de los datagramas y proporcionar algunos mensajes de administración y de estado.
ICMP reside en ordenadores o pasarelas y acompaña a IP. Notificará al ordenador si el destino no se puede alcanzar. Entre sus funciones también está la de gestionar o crear un mensaje de tiempo sobrepasado en el caso de que expire el periodo de vida de un datagrama . ICMP se encarga solamente de informar de los errores ocurridos, pero en ningún caso los corrige.
Los mensajes de ICMP se situan en la parte de usuario del datagrama de IP. El campo de protocolo de la cabecera de IP se pone a 1 para indicar que se está utilizando ICMP.
Cada mensaje ICMP tiene su propio formato, pero todos comienzan con los mismos
- Tipo (8 bits) : Identifica el tipo de mensaje.
- Código (8 bits) : Más Información sobre el tipo de mensaje.
- Checksum (16 bits) : Utiliza el mismo algoritmo que IP.
Existen 15 tipos distintos de mensajes ICMP, el tipo de mensaje determina su significado y su formato. Entre los principales tipos destacan :
Contestación de Eco
Paquete de Restricción
Petición de eco
Tiempo excedido en datagrama
Los mensajes de error contienen la cabecera IP más los 8 primeros bytes de datos del datagrama original. También hay que tener en cuenta que para prevenir broadcast storms, nunca se generan mensajes de error en respuesta a:
- Un mensaje de error ICMP.
- Un datagrama destinado a una dirección IP de difusión.
- Un fragmento que no sea el primero.
- Un datagrama cuya dirección origen no defina una maquina única, es decir,
no puede ser cero, loopback o de difusión.
Mensajes de Eco (Petición y Respuesta) : La respuesta devuelve los mismos datos que se recibieron en la petición. Se utilizan para construir la herramienta PING, que permite comprobar si un destino está activo y si existe una ruta hasta él. También nos permite medir el tiempo de "ida y vuelta", así como estimar la fiabilidad de la ruta. Puede ser utilizado tanto por hosts como por routers.
Mensaje de Destino Inalcanzable : Son enviados por un router cuando no puede enviar o entregar un datagrama IP. Se envían al emisor del datagrama original.
El campo código contiene un entero con información adicional, entre los que destaca :
Host Inalcanzable
Se requiere fragmentar pero el bit do not fragment está activado.
Red Destino desconocida
Host destino desconocido
Paquete de restricción (source quench) : Se utiliza para informar a un host sobre problemas de congestión en la red. Es enviado por un router cuando tiene problemas, debido a la recepción de un número excesivo de datagramas.
La recepción de un paquete de restricción provocará una disminución de la tasa de inyección de datagramas del host. La situación se normaliza gradualmente cuando dejan de recibirse más mensajes de este tipo.
Mensaje Time Exceeded : Este tipo de mensajes pueden ser enviados por routers y hosts. Los routers lo envian cuando descartan un datagrama al finalizar su tiempo de vida. Y los hosts al ocurrir un timeout mientras se esperan todos los fragmentos de un datagrama.
2.10 IPv6 : Una nueva Versión
Entre las caracteristicas de esta nueva versión de IP , destacan :
- Direcciones de 128 bits (16 bytes). Estructuradas jerárquicamente, pudiendo disponer de
más de dos niveles de jerarquía. Se utilizará representación hexadecimal.
Formato de cabecera más flexible , con menos campos fijos que en la Ipv4 y cabeceras
de extensión opcionales.
Nuevas necesidades en seguridad , flexibilidad en el encaminamiento y necesidades de
Se ha previsto una fase de transición donde puedan convivir ambos protocolos, permitiendo que las direcciones antiguas puedan codificarse facilmente como nuevas. Se permitirán dispositivos capaces de encaminar paquetes IPv6 e IPv4 , así mismo el empleo de tuneles permitirá encapsular tráfico IPv6 que tenga que atravesar zonas IPv4.

References: resolución 
 resolución 
 Resolución 
 Resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución