Informática
Protocolos TCP/IP (Transmission Control Protocol Internet Protocol)
FAMILIA DE PROTOCOLOS TCP/IP
Protocolos |
|
Los protocolos están presentes en todas las etapas necesarias para establecer una comunicación entre equipos de cómputo, desde aquellas de más bajo nivel (e.g. la transmisión de flujos de bits a un medio físico) hasta aquellas de más alto nivel (e.g. el compartir o transferir información desde una computadora a otra en la red).
Tomando al modelo OSI (Open Systems Interconection) como referencia podemos afirmar que para cada capa o nivel que él define existen uno o más protocolos interactuando. Los protocolos son entre pares (peer-to-peer), es decir, un protocolo de algún nivel dialoga con el protocolo del mismo nivel en la computadora remota.
Conjunto de Protocolos TCP/IP |
|
En 1973, la Agencia de Proyectos de Investigación Avanzada para la Defensa (DARPA), de los Estados Unidos, inició un programa para la investigación de tecnologías que permitieran la transmisión de paquetes de información entre redes de diferentes tipos y características. El proyecto tenía por objetivo la interconexión de redes, por lo que se le denominó "Internetting", y a la familia de redes de computadoras que surgió de esta investigación se le denominó "Internet". Los protocolos desarrollados se denominaron el Conjunto de Protocolos TCP/IP, que surgieron de dos conjuntos previamente desarrollados; los Protocolos de Control de Transmisión (Transmition Control Protocol) e Internet (Internet Protocol).
Conjunto de Protocolos TCP/IP |
|
En la actualidad, las funciones propias de una red de computadoras pueden ser divididas en las siete capas propuestas por ISO para su modelo de sistemas abiertos (OSI). Sin embargo la implantación real de una arquitectura puede diferir de este modelo. Las arquitecturas basadas en TCP/IP proponen cuatro capas en las que las funciones de las capas de Sesión y Presentación son responsabilidad de la capa de Aplicación y las capas de Liga de Datos y Física son vistas como la capa de Interface a la Red. Por tal motivo para TCP/IP sólo existen las capas Interface de Red, la de Intercomunicación en Red, la de Transporte y la de Aplicación. Como puede verse TCP/IP presupone independencia del medio físico de comunicación, sin embargo existen estándares bien definidos a los nivel de Liga de Datos y Físico que proveen mecanismos de acceso a los diferentes medios y que en el modelo TCP/IP deben considerarse la capa de Interface de Red; siendo los más usuales el proyecto IEEE802, Ethernet, Token Ring y FDDI.
|
Descripción del Modelo de Capas de TCP/IP
Capa de Aplicación. | Invoca programas que acceden servicios en la red. Interactuan con uno o más protocolos de transporte para enviar o recibir datos, en forma de mensajes o bien en forma de flujos de bytes. |
Capa de Transporte. | Provee comunicación extremo a extremo desde un programa de aplicación a otro. Regula el flujo de información. Puede proveer un transporte confiable asegurándose que los datos lleguen sin errores y en la secuencia correcta. Coordina a múltiples aplicaciones que se encuentren interactuando con la red simultáneamente de tal manera que los datos que envíe una aplicación sean recibidos correctamente por la aplicación remota, esto lo hace añadiendo identificadores de cada una de las aplicaciones. Realiza además una verificación por suma, para asegurar que la información no sufrió alteraciones durante su transmisión. |
Capa Internet. | Controla la comunicación entre un equipo y otro, decide qué rutas deben seguir los paquetes de información para alcanzar su destino. Conforma los paquetes IP que será enviados por la capa inferior. Desencapsula los paquetes recibidos pasando a la capa superior la información dirigida a una aplicación. |
Capa de Interface de Red. | Emite al medio físico los flujos de bit y recibe los que de él provienen. Consiste en los manejadores de los dispositivos que se conectan al medio de transmisión. |
Arquitectura de Interconexión de Redes en TCP/IP |
|
Arquitectura de Interconexión de Redes en TCP/IP |
|
Arquitectura de Interconexión de Redes en TCP/IP |
|
Para entender el funcionamiento de los protocolos TCP/IP debe tenerse en cuenta la arquitectura que ellos proponen para comunicar redes. Tal arquitectura ve como iguales a todas las redes a conectarse, sin tomar en cuenta el tamaño de ellas, ya sean locales o de cobertura amplia. Define que todas las redes que intercambiarán información deben estar conectadas a una misma computadora o equipo de procesamiento (dotados con dispositivos de comunicación); a tales computadoras se les denomina compuertas, pudiendo recibir otros nombres como enrutadores o puentes.
Direcciones IP |
|
Para que en una red dos computadoras puedan comunicarse entre sí ellas deben estar identificadas con precisión Este identificador puede estar definido en niveles bajos (identificador físico) o en niveles altos (identificador lógico) de pendiendo del protocolo utilizado. TCP/IP utiliza un identificador denominado dirección internet o dirección IP, cuya longitud es de 32 bites. La dirección IP identifica tanto a la red a la que pertenece una computadora como a ella misma dentro de dicha red.
Clases de Direcciones IP | ||||
Clases | Número de Redes | Número de Nodos | Rango de Direcciones IP | |
A | 127 | 16,777,215 | 1.0.0.0 a la 127.0.0.0 | |
B | 4095 | 65,535 | 128.0.0.0 a la 191.255.0.0 | |
C | 2,097,151 | 255 | 192.0.0.0 a la 223.255.255.0 |
Tomando tal cual está definida una dirección IP podría surgir la duda de cómo identificar qué parte de la dirección identifica a la red y qué parte al nodo en dicha red. Lo anterior se resuelve mediante la definición de las "Clases de Direcciones IP". Para clarificar lo anterior veamos que una red con dirección clase A queda precisamente definida con el primer octeto de la dirección, la clase B con los dos primeros y la C con los tres primeros octetos. Los octetos restantes definen los nodos en la red específica.
Subredes en IP |
|
Se ha mencionado que el enrutamiento sirve para alcanzar redes distantes. También se señaló que las direcciones IP se agrupan en clases. Ahora bien para cada clase se pueden contar con un número determinados de subredes. Las subredes son redes físicas independientes que comparten la misma dirección IP (es decir aquella que identifica a la red principal). La pregunta entonces es ¿cómo se logra que equipos que comparten el mismo identificador de red pero se sitúan en redes físicas diferentes podrán comunicarse usando compuertas? La solución a este problema es determinando una mascara de dirección.
Subredes en Direcciones IP |
Ejemplo |
|
Mapeo de Direcciónes IP a Direcciones Físicas | |
Estrategia de Conversión | Observeciones |
Estática por Tablas | Alto costo en mantenimiento. |
Por aplicación de algoritmos | Pude no lograrse una homogenea distribución de direcciones. |
Dinámica | Se consulta, mediante un sólo mensaje, que se emite a todos los equipos en la red, por el poseedor de cierta dirección IP. |
Recordemos que los protocolos TCP/IP están enfocados a la transmisión de paquetes de información, buscando la independencia de la arquitectura de la red. Arquitecturas como la Ethernet logran la comunicación sólo mediante el conocimiento de la dirección física de las computadoras. Así en cada computadora que opere con el protocolo IP debe contar con algún procedimiento para la translación de la dirección IP a la dirección física de la computadora con la que establezca comunicación.
Protocolo de Resolución de Direcciones ARP (Address Resolution Protocol) |
|
Una conversión dinámica de direcciones Internet a direcciones físicas es la más adecuada, debido a que se obtiene la dirección física por respuesta directa del nodo que posee la dirección IP destino. Una vez que la dirección física se obtiene ésta es guardada en una tabla temporal para subsecuentes transmisiones, de no ser así podría haber una sobrecarga de tráfico en la red debido a la conversión de direcciones por cada vez que se transmitiera un paquete.
Implementación del ARP |
|
El funcionamiento de ARP no es tan simple como parece. Supóngase que en una tabla de conversión exista un mapeo de una máquina que ha fallado y se le ha reemplazado la interface de red; en este caso los paquetes que se transmitan hacia ella se perderán pues ha cambiado la dirección física, por tal motivo la tabla debe eliminar entradas periódicamente.
Formato de mensaje del ARP | ||
Campo | Descripción | |
HLEN | Longitud de la dirección del hardware | |
PLEN | Longitud de la dirección del protocolo | |
Operación | Indica si es mensaje de consulta o de respuesta | |
HW Emisor | Dirección Física del Emisor | |
IP Emisor | Dirección IP del Emisor | |
HW Destino | Dirección Física del Destino | |
IP Destino | Dirección IP del Destino |
El formato de mensaje de ARP no es fijo, lo que le permite ser usado por otros protocolos de alto nivel.
El ejemplo muestra el formato para un mensaje ARP utilizando Ethernet, en donde la longitud de la dirección física es de 42 bits.
Protocolo Internet (IP) |
|
El Protocolo Internet proporciona un servicio de distribución de paquetes de información orientado a no conexión de manera no fiable. La orientación a no conexión significa que los paquetes de información, que será emitido a la red, son tratados independientemente, pudiendo viajar por diferentes trayectorias para llegar a su destino. El término no fiable significa más que nada que no se garantiza la recepción del paquete.
Formato del Datagrama de IP | ||
Campo | Descripción | |
VERS | Versión del IP del datagrama | |
HLEN | Longitud del Encabezado | |
Longitud Total | Mide, en Bytes la longuitud del datagrama | |
Identificador | Identifica los paquetes fragmentados para su reensamble | |
Flags | Indica si el paquete está fragmentado o no | |
Offset | Indica la ubicación de este paquete en uno fragmentado | |
Opciones | Información usada par administración, longuitud variable | |
Relleno | Ajusta las opciones a 32bits |
La unidad de información intercambiada por IP es denominada datagrama. Tomando como analogía los marcos intercambiados por una red física los datagramas contienen un encabezado y una área de datos. IP no especifica el contenido del área de datos, ésta será utilizada arbitrariamente por el protocolo de transporte.
Unidad Máxima de Transferencia MTU (Maximum Transfer Unit) |
|
La Unidad de Transferencia Máxima determina la longitud máxima, en bytes, que podrá tener un datagrama para ser transmitida por una red física. Obsérvese que este parámetro está determinado por la arquitectura de la red: para una red Ethernet el valor de la MTU es de 1500 bytes. Dependiendo de la tecnología de la red los valores de la MTU pueden ir desde 128 hasta unos cuantos miles de bytes.
Fragmentación |
La arquitectura de interconexión de redes propuesta por TCP/IP indica que éstas deben ser conectadas mediante una compuerta. Sin obligar a que la tecnología de las redes físicas que se conecten sea homogénea. Por tal motivo si para interconectar dos redes se utilizan medios con diferente MTU, los datagramas deberán ser fragmentados para que puedan ser transmitidos. Una vez que los paquetes han alcanzado la red extrema los datagramas deberán ser reensamblados.
Protocolo de Mensajes de Control de Internet ICMP |
|
Su función es la de notificar de eventos en los que los paquetes enviados no alcanzaron su destino. Proporciona un medio de transporte para que los equipos compuerta se envíen mensajes de control y error. ICMP no está orientado a la corrección de errores, sólo a su notificación.
Formato del mensaje ICMP |
Tipo | Mensaje ICMP |
0 | Respusta al eco |
3 | Destino Inalcanzable |
4 | Fuente saturada |
5 | Redirección de ruta |
8 | Solicitud de Eco |
11 | Tiempo del datagrama excedido |
12 | Parámetro problema en datagrama |
13 | Requerimiento de hora y fecha |
14 | Respuesta de host y fecha |
17 | Requerimiento de mascara de dirección |
18 | Respuesta de mascara de dirección |
El formato de ICMP cambia dependiendo de la función que realice, exceptuando los campos de Tipo, Código y de Checksum. Un 1 en el campo de Protocolo del mensaje de IP indicará que se trata de un datagrama ICMP. La función de un mensaje determinado ICMP estará definida por el campo de Tipo; el campo de Código proporciona información adicional para realizar la función; el campo de Checksum sirve para efectuar una verificación por suma que sólo corresponde al mensaje ICMP.
Enrutamiento de datagramas IP |
El enrutamiento se refiere al proceso de determinar la trayectoria que un datagrama debe seguir para alcanzar su destino. A los dispositivos que pueden elegir las trayectorias se les denomina enrutadores. En el proceso de entutamiento intervienen tanto los equipos como las compuertas que conectan redes (recordar que el termino compuerta es impuesto por la arquitectura TCP/IP de conexión de redes, sin embargo una compuerta puede realizar diferentes funciones a diferentes niveles, una de esas funciones puede ser la de enrutamiento y por tanto recibir el nombre de enrutador).
Tipos de Enrutamiento |
Transmisión de datagramas IP entre dos equipos de la misma red física sin la intervención de compuertas. El emisor encapsula el datagrama en la trama de la red, efectuando la vinculación entre la dirección física y la dirección IP, y envía la trama resultante en forma directa al destinatario.
La compuertas forman una estructura cooperativa, interconectada. Las compuertas se envían los datagramas hasta que se alcanza a la compuerta que puede distrubuirla en forma directa a la red destino. |
Existen dos tipos de enrutamiento; el directo y el indirecto. Debido a que en el enrutamiento directo los datagramas se transmite de un equipo a otro, en la misma red física, el proceso es muy eficiente. La vinculación entre la dirección física y la IP se realiza mediante el ARP. En el indirecto la transmisión del datagrama se efectúa mediante la intercesión de las compuertas. Aquí la compuerta que actúa como enrutador debe de estar provista de mecanismos para conocer, y por tanto decidir, la trayectoria de la red que se desea alcanzar.
Enrutamiento Indirecto |
En este direccionamiento un equipo debe enviar a una compuerta el datagrama con destino a una red física distante. La compuerta de la red física envía el datagrama a otras compuertas hasta alcanzar a aquel que puede emitirlo en forma directa a la red destino. La compuerta debe conocer las rutas hacia las diferentes redes externas, ellas pueden utilizar a su ves un enrutamiento indirecto en el caso de no conocer la ruta a una red específica. Las compuertas conocen las trayectorias a otra red mediante Tablas de Enrutamiento.
Tablas de Ruteo IP |
Este es el algoritmo comúnmente utilizado para el enrutamiento de IP. Las tablas de enrutamiento está presentes en todo equipo que almacene información de cómo alcanzar posibles destinos. En las tablas no se almacena la ruta específica a un equipo, sino aquella a la red donde se encuentre. Cada puerto de comunicación de la compuerta debe poseer una dirección IP.
Rutas por Default |
|
Para que en los equipos no exista una tabla excesivamente grande, que contenga todas las rutas a las redes que se interconeta el equipo, es de gran utilidad definir una ruta por default. A través de esta ruta se deverán alcanzar todas las redes destino.
La ruta por default apunta a un dispositivo que actua como compuerta de la red donde se encuentre ubicado el equipo que la posee.
Enrutamiento entre Compuertas |
|
Desventajas |
|
Como se vio en la arquitectura de interconexión de redes de TCP/IP cada par de redes se conectan mediante compuertas. Para que los paquetes alcancen sus redes destino las compuertas deben contar con mecanismos mediante los cuales ntercambien la información de las redes que conecta cada uno.
En la Arquitectura de Enrutamiento por Compuerta Núcleo existe una compuerta que centraliza las funciones de enrutamiento entre redes, a esta compuerta se le denomina núcleo.
Cada compuerta en las redes a conectar tiene como compuerta por default a la compuerta núcleo. Varias compuertas núcleo pueden conetarse para formar una gran red; entre las compuertas núcleo se intercambiará información concerniente a las redes que cada una de ellas alcanzan.
La arquitectura centralizada de enrutamiento fue la primera que existió. Sus principales problemas radican no tanto en la arquitectura en sí, si no en la forma en que se propagaban las rutas entre las compuertas núcleo.
ENRUTAMIENTO ENTRE COMPUERTAS |
|
Conforme las complejidades de las redes aumentaron se debió buscar un mecanismo que propagace la información de rutas entre las compuertas. Este mecanismo debía ser automático esto obligado por el cambio dinámico de las redes. De no ser ásí las transiciones entre las compuertas podian ser muy lentas y no reflejar el estado de la red en un momento dado.
Vector de Distancia |
|
Este concepto ayudó a definir que tantas compuertas debería viajar un paquete para alcanzar su red destino. Mediante el vector una compuerta podía saber a que otra compuerta enviar el paquete de información, sabiendo que ésta podria no ser la última compuerta por la que el paquete tendría que viajar. Este esquema permite tener varios caminos a una misma red, eligiendo el camino más corto, es decir aquella compuerta que con menos saltos conduzca a la red destino.
Protocolo de Control de Transferencia |
|
Proporciona un mecanismo fiable para la transferencia de flujos de información. Aunque está íntimamente relacionado con IP TCP es un protocolo independiente de propósito general. Al ser un protocolo de alto nivel su función es que grandes volúmenes de información lleguen a su destino correctamente, pudiendo recobrar la pérdida esporádica de paquetes.
Fiabilidad en la transferencia de TCP |
|
A cada paquete que es enviado se le asigna un número de identificador, el equipo que lo recibe deberá enviar un reconocimiento de dicho paquete, lo que indicará que fue recibido. Si después de un tiempo dado el reconocimiento no ha sido recibido el paquete se volverá a enviar. Obsérvese que puede darse el caso en el que el reconocimiento sea el que se pierda, en este caso se reenviará un paquete repetido.
El concepto de la Ventana Deslizante |
|
Si el protocolo sólo contara con reconocimientos positivos gran parte de la capacidad de la red estaría desperdiciada, pues no se enviarían más paquetes hasta recibir el reconocimiento del último paquete enviado. El concepto de ventana deslizante hace que exista una continua transmisión de información, mejorando el desempeño de la red.
Protocolo de Datagramas de Usuario |
|
Este protocolo deja al programa de aplicación a ser explotado la resposabilidad de una transmisión fiable. Con él puede darse el caso de que los paquetes se pierdan o bien no sean reconstruidos en forma adecuada. Permte un intercambio de datagramas más directo entre aplicaciones y puede elegirse para aquellas que no demanden una gran cantidad de datagramas para operar optimamente.
http://www.geocities.com/SiliconValley/Circuit/3779/tcp-ip.html
Descargar
Enviado por: | Manuel Zaldivar |
Idioma: | castellano |
País: | España |