Informática
TCP/IP (Transmission Control Protocol Internet Protocol) protocolos
INTRODUCCIÓN
En este trabajo se procede a describir, sin entrar en demasiado detalle, TCP/IP y su relación con Internet. TCP/IP no es un protocolo solo, sino una familia de relacionados que ejecutan tareas dedicadas.
TCP/IP es una familia de protocolos que se ocupa de una amplia variedad de tareas, todas entrelazadas e interrelacionadas de alguna forma. Conforme a crecido la popularidad de Internet y los sistemas operativos UNIX, se ha producido un aumento continuo en el número de redes TCP/IP. UNIX y TCP/IP ha estado entrelazadas desde el principio mismo de la historia del protocolo, lo que resulta evidente en varios de los archivos de configuración, así como en la arquitectura de TCP/IP. En los últimos años han surgido implementaciones TCP/IP para prácticamente todas las plataformas de hardware y sistemas operativos disponibles. por suerte, casi todas ellas son compatibles.
¿ Qué es TCP/IP ?
Es un protocolo de comunicaciones que se basa en software utilizado en redes. Aunque el nombre TCP/IP implica que el ámbito total del producto es la combinación de dos protocolos - protocolo de control de transmisión - (transmission control protocol) y protocolo Internet (Internet protocol) , el término TCP/IP no es una entidad única que combina dos protocolos, sino un conjunto de programas de software más grande que proporciona servicios de red, como registro de entrada remoto, transferencia de archivos remota y correo electrónico. TCP/IP ofrece un método de transferir información de una máquina a otra. Un protocolo de comunicaciones debe manejar los errores en la transmisión, administrar el encaminamiento y entrega de los datos, así como controlar la transmisión real mediante el uso de señales de estado predeterminadas. TCP/IP se ocupa de todo lo anterior.
TCP/IP es una de las redes más comunes utilizadas para conectar computadoras con sistema UNIX. Las utilidades de red TCP/IP forman parte de la versión 4, muchas facilidades de red como un sistema UUCP, el sistema de correo, RFS y NFS, pueden utilizar una red TCP/CP para comunicarse con otras máquinas.
Para que la red TCP/IP esté activa y funcionado será necesario:
-
Obtener una dirección Internet.
-
Instalar las utilidades Internet en el sistema
-
Configurar la red para TCP/IP
-
Configurar los guiones de arranque TCP/IP
-
Identificar otras máquinas ante el sistema
-
Configurar la base de datos del o y ente de STREAMS
-
Comenzar a ejecutar TCP/IP.
Breve Historia de TCP/IP
Internet fue propuesta originalmente por la precursora de DARPA, la agencia de proyectos de investigación avanzada de la defensa (advanced research projets agency, ARPA), con una forma de probar la viabilidad de las redes de conmutación de paquetes. (Cuando el enfoque de ARPA se volvió de naturaleza militar, se cambio el nombre. Durante su estadía en el proyecto, ARPA previo una red de líneas rentadas conectadas por nodos de conmutación. La red se denominó ARPAnet y los nodos se conocieron como procesadores de Mensajes de Internet (IMPs).
ARPAnet inicialmente está formada pro cuatro IMPs. En 1971 ARPAnet entró en servicio normal. Las máquinas utilizaron ARPAnet mediante la conexión a un IMP y utilizando el protocolo "1822" (Número del documento técnico que describía el sistema).
Una necesidad comunmente reconocida era la capacidad de transferir archivos de una máquina a otra, así como la capacidad de aceptar registro de entrada remoto no podían ser realizados hasta que se implementaron en un protocolo conocido como Programa de Control de Red (Network Control Program, NCP) que cumplía con estos requisitos. Más adelante, a través de FTP (Protocolo de Transferencia de Archivo, File Transfer Protocol) se añadió el correo electrónico y junto con el registro y la transferencia de archivos remotos de NCP, se conformaron los servicios de ARPAnet.
Al llegar 1973 resultaba claro que NCP era incapaz de manejar el volumen de tráfico y la nueva funcionalidad propuesta. Se inició un proyecto con el objetivo de desarrollar un nuevo protocolo. El nacimiento de TCP/IP y las arquitecturas de las compuertas fueron propuesto por primera vez en 1974. El artículo publicado por Cerf y Kahn describía un sistema que incluía un protocolo de aplicación estandarizada, que también utilizaba confirmaciones de extremo a extremo.
También, proponían conectividad universal a través de la red. Estas dos ideas eran radicales en un mundo de hardware y software propietarios, porque permitirían que cualquier tipo de plataforma participara en la red. El protocolo fue creado y se conoció como TCP/IP.
CARACTERÍSTICAS DE TCP/IP
Ya que dentro de un sistema TCP/IP los datos transmitidos se dividen en pequeños paquetes, éstos resaltan una serie de características.
-
La tarea de IP es llevar los datos a granel (los paquetes) de un sitio a otro. Las computadoras que encuentran las vías para llevar los datos de una red a otra (denominadas enrutadores) utilizan IP para trasladar los datos. En resumen IP mueve los paquetes de datos a granel, mientras TCP se encarga del flujo y asegura que los datos estén correctos.
-
Las líneas de comunicación se pueden compartir entre varios usuarios. Cualquier tipo de paquete puede transmitirse al mismo tiempo, y se ordenará y combinará cuando llegue a su destino. Compare esto con la manera en que se transmite una conversación telefónica. Una vez que establece una conexión, se reservan algunos circuitos para usted, que no puede emplear en otra llamada, aun si deja esperando a su interlocutor por veinte minutos.
-
Los datos no tienen que enviarse directamente entre dos computadoras. Cada paquete pasa de computadora en computadora hasta llegar a su destino. Éste, claro está, es el secreto de cómo se pueden enviar datos y mensajes entre dos computadoras aunque no estén conectadas directamente entre sí. Lo que realmente sorprende es que sólo se necesitan algunos segundos para enviar un archivo de buen tamaño de una máquina a otra, aunque estén separadas por miles de kilómetros y pese a que los datos tienen que pasar por múltiples computadoras. Una de las razones de la rapidez es que, cuando algo anda mal, sólo es necesario volver a transmitir un paquete, no todo el mensaje.
-
Los paquetes no necesitan seguir la misma trayectoria. La red puede llevar cada paquete de un lugar a otro y usar la conexión más idónea que esté disponible en ese instante. No todos los paquetes de los mensajes tienen que viajar, necesariamente, por la misma ruta, ni necesariamente tienen que llegar todos al mismo tiempo.
-
La flexibilidad del sistema lo hace muy confiable. Si un enlace se pierde, el sistema usa otro. Cuando usted envía un mensaje, el TCP divide los datos en paquetes, ordena éstos en secuencia, agrega cierta información para control de errores y después los lanza hacia fuera, y los distribuye. En el otro extremo, el TCP recibe los paquetes, verifica si hay errores y los vuelve a combinar para convertirlos en los datos originales. De haber error en algún punto, el programa TCP destino envía un mensaje solicitando que se vuelvan a enviar determinados paquetes.
ARQUITECTURA DE TCP/IP
TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre sí. Hay que tener en cuenta que en Internet se encuentran conectados ordenadores de clases muy diferentes y con hardware y software incompatibles en muchos casos, además de todos los medios y formas posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargará de que la comunicación entre todos sea posible. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware.
TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI. Los dos protocolos más importantes son el TCP (Transmission Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. La arquitectura del TCP/IP consta de cinco niveles o capas en las que se agrupan los protocolos, y que se relacionan con los niveles OSI de la siguiente manera:
-
Aplicación: Se corresponde con los niveles OSI de aplicación, presentación y sesión. Aquí se incluyen protocolos destinados a proporcionar servicios, tales como correo electrónico (SMTP), transferencia de ficheros (FTP), conexión remota (TELNET) y otros más recientes como el protocolo HTTP (Hypertext Transfer Protocol).
-
Transporte: Coincide con el nivel de transporte del modelo OSI. Los protocolos de este nivel, tales como TCP y UDP, se encargan de manejar los datos y proporcionar la fiabilidad necesaria en el transporte de los mismos.
-
Internet: Es el nivel de red del modelo OSI. Incluye al protocolo IP, que se encarga de enviar los paquetes de información a sus destinos correspondientes. Es utilizado con esta finalidad por los protocolos del nivel de transporte.
-
Físico : Análogo al nivel físico del OSI.
-
Red : Es la interfaz de la red real. TCP/IP no especifica ningún protocolo concreto, así es que corre por las interfaces conocidas, como por ejemplo: 802.2, CSMA/CD, X.25, etc.
-
FTP (File Transfer Protocol). Se utiliza para transferencia de archivos.
-
SMTP (Simple Mail Transfer Protocol). Es una aplicación para el correo electrónico.
-
TELNET: Permite la conexión a una aplicación remota desde un proceso o terminal.
-
RPC (Remote Procedure Call). Permite llamadas a procedimientos situados remotamente. Se utilizan las llamadas a RPC como si fuesen procedimientos locales.
-
SNMP (Simple Network Management Protocol). Se trata de una aplicación para el control de la red.
-
NFS (Network File System). Permite la utilización de archivos distribuidos por los programas de la red.
-
X-Windows. Es un protocolo para el manejo de ventanas e interfaces de usuario.
-
Versión: Número de versión del protocolo IP, que en este caso contendrá el valor 6. Tamaño: 4 bit.
-
Prioridad: Contiene el valor de la prioridad o importancia del paquete que se está enviando con respecto a otros paquetes provenientes de la misma fuente. Tamaño: 4 bit.
-
Etiqueta de flujo: Campo que se utiliza para indicar que el paquete requiere un tratamiento especial por parte de los routers que lo soporten. Tamaño: 24 bit.
-
Longitud: Es la longitud en bytes de los datos que se encuentran a continuación de la cabecera. Tamaño: 16 bit.
-
Siguiente cabecera: Se utiliza para indicar el protocolo al que corresponde la cabecera que se sitúa a continuación de la actual. El valor de este campo es el mismo que el de protocolo en la versión 4 de IP. Tamaño: 8 bit.
-
Límite de existencia: Tiene el mismo propósito que el campo de la versión 4, y es un valor que disminuye en una unidad cada vez que el paquete pasa por un nodo. Tamaño:8 bit.
-
Dirección de origen: El número de dirección del host que envía el paquete. Su longitud es cuatro veces mayor que en la versión 4. Tamaño: 128 bit.
-
Dirección de destino: Número de dirección de destino, aunque puede no coincidir con la dirección del host final en algunos casos. Su longitud es cuatro veces mayor que en la versión 4 del protocolo IP. Tamaño: 128 bit.
-
Direcciones unicast: Son las direcciones dirigidas a un único interfaz de la red. Las direcciones unicast que se encuentran definidas actualmente están divididas en varios grupos. Dentro de este tipo de direcciones se encuentra también un formato especial que facilita la compatibilidad con las direcciones de la versión 4 del protocolo IP.
-
Direcciones anycast: Identifican a un conjunto de interfaces de la red. El paquete se enviará a un interfaz cualquiera de las que forman parte del conjunto. Estas direcciones son en realidad direcciones unicast que se encuentran asignadas a varios interfaces, los cuales necesitan ser configurados de manera especial. El formato es el mismo que el de las direcciones unicast.
-
Direcciones multicast: Este tipo de direcciones identifica a un conjunto de interfaces de la red, de manera que el paquete es enviado a cada una de ellos individualmente.
-
Clase A: Son las que en su primer byte tienen un valor comprendido entre 1 y 126, incluyendo ambos valores. Estas direcciones utilizan únicamente este primer byte para identificar la red, quedando los otros tres bytes disponibles para cada uno de los hosts que pertenezcan a esta misma red. Esto significa que podrán existir más de dieciséis millones de ordenadores en cada una de las redes de esta clase. Este tipo de direcciones es usado por redes muy extensas, pero hay que tener en cuenta que sólo puede haber 126 redes de este tamaño. ARPAnet es una de ellas, existiendo además algunas grandes redes comerciales, aunque son pocas las organizaciones que obtienen una dirección de "clase A". Lo normal para las grandes organizaciones es que utilicen una o varias redes de "clase B".
-
Clase B: Estas direcciones utilizan en su primer byte un valor comprendido entre 128 y 191, incluyendo ambos. En este caso el identificador de la red se obtiene de los dos primeros bytes de la dirección, teniendo que ser un valor entre 128.1 y 191.254 (no es posible utilizar los valores 0 y 255 por tener un significado especial). Los dos últimos bytes de la dirección constituyen el identificador del host permitiendo, por consiguiente, un número máximo de 64516 ordenadores en la misma red. Este tipo de direcciones tendría que ser suficiente para la gran mayoría de las organizaciones grandes. En caso de que el número de ordenadores que se necesita conectar fuese mayor, sería posible obtener más de una dirección de "clase B", evitando de esta forma el uso de una de "clase A".
-
Clase C: En este caso el valor del primer byte tendrá que estar comprendido entre 192 y 223, incluyendo ambos valores. Este tercer tipo de direcciones utiliza los tres primeros bytes para el número de la red, con un rango desde 192.1.1 hasta 223.254.254. De esta manera queda libre un byte para el host, lo que permite que se conecten un máximo de 254 ordenadores en cada red. Estas direcciones permiten un menor número de host que las anteriores, aunque son las más numerosas pudiendo existir un gran número redes de este tipo (más de dos millones).
NIVEL DE APLICACIÓN |
NIVEL DE TRANSPORTE |
NIVEL DE INTERNET |
NIVEL DE RED |
NIVEL FÍSICO |
FIG: Arquitectura TCP/IP
Estructura de TCP
PUERTO ORIGEN | PUERTO DESTINO | ||||||||
NUMERO DE SECUENCIA | |||||||||
ASENTIMIENTO DE SUPERPOSICION | |||||||||
LONGITUD DE LA CABECERA |
| U R G | A C K | E O M | R S T | S Y N | F I N | VENTANA | |
CODIGO DE REDUNDANCIA | PUNTERO URGENTE | ||||||||
OPCIONES ( 0 O MÁS PALABRAS DE 32 BITS) | |||||||||
DATOS |
El TCP/IP necesita funcionar sobre algún tipo de red o de medio físico que proporcione sus propios protocolos para el nivel de enlace de Internet. Por este motivo hay que tener en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemático puesto que una de las funciones y ventajas principales del TCP/IP es proporcionar una abstracción del medio de forma que sea posible el intercambio de información entre medios diferentes y tecnologías que inicialmente son incompatibles.
Para transmitir información a través de TCP/IP, ésta debe ser dividida en unidades de menor tamaño. Esto proporciona grandes ventajas en el manejo de los datos que se transfieren y, por otro lado, esto es algo común en cualquier protocolo de comunicaciones. En TCP/IP cada una de estas unidades de información recibe el nombre de "datagrama" (datagram), y son conjuntos de datos que se envían como mensajes independientes.
EN QUE SE UTILIZA TCP/IP
Muchas grandes redes han sido implementadas con estos protocolos, incluyendo DARPA Internet "Defense Advanced Research Projects Agency Internet", en español, Red de la Agencia de Investigación de Proyectos Avanzados de Defensa. De igual forma, una gran variedad de universidades, agencias gubernamentales y empresas de ordenadores, están conectadas mediante los protocolos TCP/IP. Cualquier máquina de la red puede comunicarse con otra distinta y esta conectividad permite enlazar redes físicamente independientes en una red virtual llamada Internet. Las máquinas en Internet son denominadas "hosts" o nodos.
TCP/IP proporciona la base para muchos servicios útiles, incluyendo correo electrónico, transferencia de ficheros y login remoto.
El correo electrónico está diseñado para transmitir ficheros de texto pequeños. Las utilidades de transferencia sirven para transferir ficheros muy grandes que contengan programas o datos. También pueden proporcionar chequeos de seguridad controlando las transferencias.
El login remoto permite a los usuarios de un ordenador acceder a una máquina remota y llevar a cabo una sesión interactiva.
Argumentos en contra de TCP/IP:
en forma sorprendente aparece el gobierno de los Estados Unidos, el cual apoyó en primer término. Su argumento es que TCP/IP no es estandar internacionalmente, en tanto OSI tiene ese reconocimiento.
Incluso el departamento de defensa ha empezado a retirar sus sistemas del conjunto de protocolos TCP/IP. Tal vez se llegue a un punto intermedio, con algunos de OSI adaptando en el conjunto de protocolos TCP/IP aún en desarrollo.
TCP/IP y ETHERNET
Para mucha gente los términos TCP/IP y Ethernet van juntos casi en forma automática, principalmente por razones históricas, así como por el simple hecho de que más redes basadas en Ethernet con TCP/IP que cualquier otro tipo. Ethernet se desarrolló originalmente en el Centro de Investigaciones de Palo Alto de XEROX (PARC), como un paso hacia un sistema electrónico de comunicaciones de oficina y desde entonces ha crecido en capacidad y popularidad.
Ethernet es un sistema de hardware proporcionado para las capas de vínculo de datos y física del modelo OSI. Como parte de los estándares de Ethernet, se establecen los tipos de cable y la velocidades de difusión. Hay varias versiones distintas de Ethernet, cada una de ellas con una velocidad diferente de transferencia de datos. La más común es Ethernet Versión 2, también conocida como 10base5, Thick Ethernet e IEEE 802.3 (Institute of Electrical and Electronic Engineers, IEEE). Este sistema tiene una velocidad de 10 megabits por segundo.
Ambos tienen sus propios procesos para el empaquetado de la información: TCP/IP utiliza direcciones de 32 bits, en tanto que Ethernet emplea un esquema de 48 bits.
SIMILITUDES Y DIFERENCIAS ENTRE LA
CLASE 4 DEL MODELO OSI Y TCP
El protocolo de transporte de clase 4 del modelo OSI (al que con frecuencia se le llama TP4), y TCP tienen numerosas similitudes, pero también algunas diferencias. A continuación se dan a conocer los puntos en que los dos protocolos son iguales. Los dos protocolos están diseñados para proporcionar un servicio de transporte seguro, orientado a conexión y de extremo a extremo, sobre una red insegura, que puede perder, dañar, almacenar y duplicar paquetes. Los dos deben enfrentarse a los peores problemas como sería el caso de una subred que pudiera almacenar una secuencia válida de paquetes y más tarde volviera a entregarlos.
Los dos protocolos también son semejantes por el hecho de que los dos tienen una fase de establecimiento de conexión, una fase de transferencia de datos y después una fase de liberación de la conexión. Los conceptos generales del establecimiento, uso y liberación de conexiones también son similares, aunque difieren en algunos detalles. En particular, tanto TP4 como TCP utilizan la comunicación ida-vuelta-ida para eliminar las dificultades potenciales ocasionadas por paquetes antiguos que aparecieran súbitamente y pudiesen causar problemas.
Sin embargo, los dos protocolos también presentan diferencias muy notables, las cuales se pueden observar en la lista que se muestra en la figura 3. Primero, TP4 utiliza nueve tipos diferentes de TPDU, en tanto que TCP sólo tiene uno. Esta diferencia trae como resultado que TCP sea más sencillo, pero al mismo tiempo también necesita una cabecera más grande, porque todos los campos deben estar presentes en todas las TPDU. El mínimo tamaño de la cabecera TCP es de 20 octetos; el mínimo tamaño de la cabecera TP4 es de 5 octetos. Los dos protocolos permiten campos opcionales, que pueden incrementar el tamaño de las cabeceras por encima del mínimo permitido.
CARACTERÍSTICA | OSI TP4 | TCP |
Numero de tipos de TPDU | 9 | 1 |
Fallo de Conexión | 2 conexiones | 1 conexión |
Formato de direcciones | No está definido | 32 bits |
Calidad de servicio | Extremo abierto | Opciones específicas |
Datos del usuario en CR | Permitido | No permitido |
Flujo | Mensajes | Octetos |
Datos importantes | Acelerados | Acelerados |
Superposición | No | Sí |
Control de flujo explícito | Algunas veces | Siempre |
Número de subsecuencia | Permitidos | No Permitido |
Liberación | Abrupta | Ordenada |
Figura 3: Diferencias entre el protocolo tp4 del modelo OSI y TCP
Una segunda diferencia es con respecto a lo que sucede cuando los dos procesos, en forma simultánea, intentan establecer conexiones entre los mismos dos TSAP (es decir, una colisión de conexiones). Con TP4 se establecen dos conexiones duplex independientes; en tanto que con TCP, una conexión se identifica mediante un par de TSAP, por lo que solamente se establece una conexión.
Una tercera diferencia es con respecto al formato de direcciones que se utiliza. TP4 no especifica el formato exacto de una dirección TSAP; mientras que TCP utiliza números de 32 bits.
El concepto de calidad de servicio también se trata en forma diferente en los dos protocolos, constituyendo la cuarta diferencia. TP4 tiene un mecanismo de extremo abierto, bastante elaborado, para una negociación a tres bandas sobre la calidad de servicio. Esta negociación incluye al proceso que hace la llamada, al proceso que es llamado y al mismo servicio de transporte. Se pueden especificar muchos parámetros, y pueden proporcionarse los valores: deseado y mínimo aceptable. A diferencia de esto, TCP no tiene ningún campo de calidad de servicio, sino que el servicio subyacente IP tiene un campo de 8 bits, el cual permite que se haga una relación a partir de un número limitado de combinaciones de velocidad y seguridad.
Una quinte diferencia es que TP4 permite que los datos del usuario sean transportados en la TPDU CR, pero TCP no permite que los datos del usuario aparezcan en la TPDU inicial. El dato inicial (como por ejemplo, una contraseña), podría ser necesario para decidir si se debe, o no, establecer una conexión. Con TCP no es posible hacer que el establecimiento dependa de los datos del usuario.
Las cuatro diferencias anteriores se relacionan con la fase de establecimiento de la conexión. Las cinco siguientes se relacionan con la fase de transferencia de datos. Una diferencia básica es el modelo del transporte de datos. El modelo TP4 es el de una serie de mensajes ordenados (correspondientes a las TSDU en la terminología OSI). El modelo TCP es el de un flujo continuo de octetos, sin que haya ningún límite explícito entre mensajes. En la práctica, sin embargo, el modelo TCP no es realmente un flujo puro de octetos, porque el procedimiento de biblioteca denominado push puede llamarse para sacar todos los datos que estén almacenados, pero que todavía no se hayan transmitido. Cuando el usuario remoto lleva a cabo una operación de lectura, los datos anteriores y posteriores al push no se combinarán, por lo que, en cierta forma un push podría penarse como si definiesen una frontera entre mensajes.
La séptima diferencia se ocupa de cómo son tratados los datos importantes que necesitan de un procesamiento especial (como los caracteres BREAK). TP4 tiene dos flujos de mensajes independientes, los datos normales y los acelerados multiplexados de manera conjunta. En cualquier instante únicamente un mensaje acelerado puede estar activo. TCP utiliza el campo Acelerado para indicar que cierta cantidad de octetos, dentro de la TPDU actualmente en uso, es especial y debería procesarse fuera de orden.
La octava diferencia es la ausencia del concepto de superposición en TP4 y su presencia en TCP. Esta diferencia no es tan significativa como al principio podría parecer, dado que es posible que una entidad de transporte ponga dos TPDU, por ejemplo, DT y AK en un único paquete de red.
La novena diferencia se relaciona con la forma como se trata el control de flujo. TP4 puede utilizar un esquema de crédito, pero también se puede basar en el esquema de ventana de la capa de red para regular el flujo. TCP siempre utiliza un mecanismo de control de flujo explícito con el tamaño de la ventana especificado en cada TPDU.
La décima diferencia se relaciona con este esquema de ventana. En ambos protocolos el receptor tiene la capacidad de reducir la ventana en forma voluntaria. Esta posibilidad genera potencialmente problemas, si el otorgamiento de una ventana grande y su contracción subsiguiente llegan en un orden incorrecto. En TCP no hay ninguna solución para este problema; en tanto en TP4 éste se resuelve por medio del número de subsecuencia que está incluido en la contracción, permitiendo de esta manera que el emisor determine si la ventana pequeña siguió, o precedió, a la más grande.
Finalmente, la onceava y última diferencia existente entre los dos protocolos, consiste en la manera como se liberan las conexiones. TP4 utiliza una desconexión abrupta en la que una serie de TPDU de datos pueden ser seguidos directamente por una TPDU DR. Si las TPDU de datos se llegaran a perder, el protocolo no los podría recuperar y la información, al final se perdería. TCP utiliza una comunicación de ida-vuelta-ida para evitar la pérdida de datos en el momento de la desconexión. El modelo OSI trata este problema en la capa de sesión. Es importante hacer notar que la Oficina Nacional de Normalización de Estados Unidos estaba tan disgustada con esta propiedad de TP4, que introdujo TPDU adicionales en el protocolo de transporte para permitir la desconexión sin que hubiera una pérdida de datos. Como consecuencia de esto, las versiones de Estados Unidos y la internacional de TP4 son diferentes.
Es importante señalar que el protocolo IP explicado anteriormente, o mejor dicho la versión de éste es la más utilizada actualmente, pero hace muy poco tiempo salió una nueva versión llamada la número 6. Las diferencias no son muchas, pero mejoran muchos aspectos de la antigua, ésta no es muy utilizada, pero creemos que es necesario explicar como funciona, para poder hacer una comparación con la antigua.
COMO FUNCIONA TCP/IP
Una red TCP/IP transfiere datos mediante el ensamblaje de bloques de datos en paquetes, cada paquete comienza con una cabecera que contiene información de control; tal como la dirección del destino, seguido de los datos. Cuando se envía un archivo por la red TCP/IP, su contenido se envía utilizando una serie de paquetes diferentes. El Internet protocol (IP), un protocolo de la capa de red, permite a las aplicaciones ejecutarse transparentemente sobre redes interconectadas. Cuando se utiliza IP, no es necesario conocer que hardware se utiliza, por tanto ésta corre en una red de área local.
El Transmissión Control Protocol (TCP); un protocolo de la capa de transporte, asegura que los datos sean entregados, que lo que se recibe, sea lo que se pretendía enviar y que los paquetes que sean recibidos en el orden en que fueron enviados. TCP terminará una conexión si ocurre un error que haga la transmisión fiable imposible.
Redes TCP/IP: Arquitectura y protocolos
La primera vez que uno oye hablar de Internet, casi siempre es en relación con el nombre TCP/IP, en muchos casos se habla de TCP/IP como "el protocolo que se usa en Internet" o "que hace funcionar Internet". Como explicación coloquial es válida, pero IP y TCP son dos protocolos con funciones específicas y diferenciadas. Pero cuando se habla de TCP/IP no se está hablando únicamente de estos dos protocolos, sino de toda una familia con fines diversos, que han constituido la arquitectura de la actual red Internet. Entre ellos, por supuesto, se encuentra el fundamental, Internet Protocol o IP, encargado de generar el internet virtual. TCP proporciona el nivel de transporte más empleado, pero es posible encontrar otros protocolos de transporte en Internet como UDP. Otros protocolos vienen a servir de apoyo a éstos, como ICMP y, para realizar una comunicación, será necesario resolver muchos otros problemas como la correspondencia entre direcciones físicas y lógicas para lo que se emplean protocolos como ARP, RARP y BOOTP; el mantenimiento de una información de rutas consistente, a travésde protocolos de encaminamiento como GGP, EGP, OSPF o RLP; la gestión de red para lo que se define otros protocolos como NSMP la accesibilidad de una serie de servicios finales en forma de aplicación a través de otra serie de protocolos como TELNET, FTP,TFTP o SMTP. A todos ellos y otros muchos, se alude cuando se menciona TCP/IP de forma genérica.
Necesidad de una Arquitectura de Protocolos
Desde el momento que surge la necesidad de realizar una conexión entre distintas redes, se fija como primer objetivo ocultar no sólo el hardware sino, tambien, el tipo de red sobre el que se sustenta la comunicación, para lo que se define una serie de servicios universales de comunicación.
Este objetivo de transparencia puede alcanzarce a través de los programas de aplicación que de encarguen de tratar en cada máquina con la red y el hardware específico con que ésta cuenta proporcionando un sistema uniforme en la red. Sin embargo, este enfoque si bien es más intuitivo y concreto y a veces se emplea en programas reducidos para resolver un problema bien definido, presenta grandes problemas en cuanto el escenario aparece como un conjunto heterogéneo más o menos numeroso y, sobre todo, cuando se persigue cierta generalidad. Así, si en determinado momento se desea incorporar una nueva funcionalidad, es necesario desarrollar código para cada diferente arquitectura.
Una posibilidad consiste en ceder una API (interfaces de programas de aplicaciones) de comunicaciones implementando internamente una arquitectura de protocolos. Desde este punto de vista se gerera una inter-red (internet, con minúscula) virtual interconectada a través de un protocolo encargado de generar esta imágen de red virtual, al que se denomina protocolo de red. Esta arquitectura puede estar constituída por una serie de protocolos de propósito gereral, independiente de las aplicaciones, que se encarguen de transmitir fragmentos de información desde un origen a un destino sin importarles la naturaleza de la información que transportan. Por otra parte, al tratar los protocolos con fragmentos de información es posible realizar un tratamiento más eficiente.
Con esta perspectiva, los programadores de aplicaciones emplean la API del sistema para realizar la comunicación necesaria sin necesidad de preocuparce pro los mecanismos reales de esta comunicación separando una problemática de otra.
Es este planteamiento el que se emplea en todo sistema abierto que se ha dado a llamar internerworking.
Arquitectura de protocolos TCP/IP
La arquitectura TCP/IP se basa en un mecanismo de interworking basado en cuatro premisas:
1- Los programas de aplicación no deben tener conocimiento del hardware para realizar la comunicación.
2- La interfaz del usuario debe ser independiente del sistema, lo que permite que los programas no necesiten conocer el tipo de red sobre el que se encuentran.
3- La internet no impone el uso de ninguna topología en especial.
4- El protocolo de red concidera redes enteras como sistemas finales y permite transmitir información a través de redes intermedias que actuan como nodos intermedios en las redes.
Descomposición en niveles de TCP/IP
Toda arquitectura de protocolos, al menos desde un punto de vista abstracto o de referencia, sse suele descomponer en un modelo en capas o niveles en los que se sitúan diversos protocolos que especifican como transmitir la información entre máquinas. Esto obedece a una necesidad de atenuación de complejidad. El problema global se subdivide en distintas áreas con problemas aislados, y a cada una de ellas se asocia un nivel.
La arquitectura TCP/IP, que al contrario de OSI no proviene de ningún comité, se puede considerar (a priori) dividida en cuatro niveles software y un quinto nivel correspondiente al hardware de comunicaciones.
PROTOCOLOS TCP/IP
FTP, SMTP, TELNET | SNMP, X-WINDOWS, RPC, NFS |
TCP | UDP |
IP, ICMP, 802.2, X.25 | |
ETHERNET, IEEE 802.2, X.25 |
LA NUEVA VERSIÓN DE IP (IPng)
La nueva versión del protocolo IP recibe el nombre de IPv6, aunque es también conocido comúnmente como IPng (Internet Protocol Next Generation). El número de versión de este protocolo es el 6 (que es utilizada en forma mínima) frente a la antigua versión utilizada en forma mayoritaria. Los cambios que se introducen en esta nueva versión son muchos y de gran importancia, aunque la transición desde la versión antigua no debería ser problemática gracias a las características de compatibilidad que se han incluido en el protocolo. IPng se ha diseñado para solucionar todos los problemas que surgen con la versión anterior, y además ofrecer soporte a las nuevas redes de alto rendimiento (como ATM, Gigabit Ethernet, etc.)
Una de las características más llamativas es el nuevo sistema de direcciones, en el cual se pasa de los 32 a los 128 bit, eliminando todas las restricciones del sistema actual. Otro de los aspectos mejorados es la seguridad, que en la versión anterior constituía uno de los mayores problemas. Además, el nuevo formato de la cabecera se ha organizado de una manera más efectiva, permitiendo que las opciones se sitúen en extensiones separadas de la cabecera principal.
Formato de la cabecera.
El tamaño de la cabecera que el protocolo IPv6 añade a los datos es de 320 bit, el doble que en la versión antigua. Sin embargo, esta nueva cabecera se ha simplificado con respecto a la anterior. Algunos campos se han retirado de la misma, mientras que otros se han convertido en opcionales por medio de las extensiones. De esta manera los routers no tienen que procesar parte de la información de la cabecera, lo que permite aumentar de rendimiento en la transmisión. El formato completo de la cabecera sin las extensiones es el siguiente:
Organización de la cabecera IPv6.
| ||||||||
Versión | Prioridad | Etiqueta de flujo |
|
|
|
| ||
Longitud | Siguiente Cabecera | Límite de existencia | ||||||
Dirección de origen | ||||||||
Dirección de destino |
Las extensiones que permite añadir esta versión del protocolo se sitúan inmediatamente después de la cabecera normal, y antes de la cabecera que incluye el protocolo de nivel de transporte. Los datos situados en cabeceras opcionales se procesan sólo cuando el mensaje llega a su destino final, lo que supone una mejora en el rendimiento. Otra ventaja adicional es que el tamaño de la cabecera no está limitado a un valor fijo de bytes como ocurría en la versión 4.
Por razones de eficiencia, las extensiones de la cabecera siempre tienen un tamaño múltiplo de 8 bytes. Actualmente se encuentran definidas extensiones para routing extendido, fragmentación y ensamblaje, seguridad, confidencialidad de datos, etc.
Direcciones en la versión 6.
El sistema de direcciones es uno de los cambios más importantes que afectan a la versión 6 del protocolo IP, donde se han pasado de los 32 a los 128 bit (cuatro veces mayor). Estas nuevas direcciones identifican a un interfaz o conjunto de interfaces y no a un nodo, aunque como cada interfaz pertenece a un nodo, es posible referirse a éstos a través de su interfaz.
El número de direcciones diferentes que pueden utilizarse con 128 bits es enorme. Teóricamente serían 2128 direcciones posibles, siempre que no apliquemos algún formato u organización a estas direcciones. Este número es extremadamente alto, pudiendo llegar a soportar más de 665.000 trillones de direcciones distintas por cada metro cuadrado de la superficie del planeta Tierra. Según diversas fuentes consultadas, estos números una vez organizados de forma práctica y jerárquica quedarían reducidos en el peor de los casos a 1.564 direcciones por cada metro cuadrado, y siendo optimistas se podrían alcanzar entre los tres y cuatro trillones.
Existen tres tipos básicos de direcciones IPng según se utilicen para identificar a un interfaz en concreto o a un grupo de interfaces. Los bits de mayor peso de los que componen la dirección IPng son los que permiten distinguir el tipo de dirección, empleándose un número variable de bits para cada caso. Estos tres tipos de direcciones son:
Las direcciones de broadcast no están implementadas en esta versión del protocolo, debido a que esta misma función puede realizarse ahora mediante el uso de las direcciones multicast.
LA ESTRUCTURA DE INTERNET
Una compuerta (enrutador o encaminador) se define como un sistema que realiza funciones de relevo entre redes. Las distintas redes conectadas entre sí a través de compuertas a menudo se conocen como subredes, porque forman una pequeña parte de la red general más grande. Las subredes son redes completas, pero están conectadas a través de una compuerta a una interred más grande, o en este caso a Internet.
Con TCP/IP, todas las interconexiones entre redes físicas se hacen mediante compuertas. Un punto importante por recordar para su uso posterior, es que las compuertas enrutan los paquetes de información basados en su nombre de red de destino, y no en la máquina destino. Se supone que las compuertas deben ser totalmente transparentes para el usuario, lo que también libera a la compuerta del manejo de aplicaciones de usuario. Puesto sencillamente, la única tarea de la compuerta es recibir una unidad de datos de protocolo (PDU) ya sea de la interred o de la red local, y enrutarla a la siguiente compuerta o pasarla a la red local para su enrutamiento al usuario apropiado.
Las compuertas funcionan con cualquier tipo de hardware y de sistema operativo, siempre y cuando estén diseñadas para comunicarse con otras compuertas con las que estén conectadas (lo que en este caso significa que una compuerta utiliza TCP/IP). Ya sea que una compuerta lleve sólo a una red Macintosh, a un conjunto de PCs de IBM o a macrocomputadoras correspondientes a una docena de empresas distintas, no tiene ninguna importancia para la compuerta o para las PDUs que maneja.
LA DIRECCIÓN DE INTERNET
El protocolo IP identifica a cada ordenador que se encuentre conectado a la red mediante su correspondiente dirección. Esta dirección es un número de 32 bit que debe ser único para cada host, y normalmente suele representarse como cuatro cifras de 8 bit separadas por puntos.
La dirección de Internet (IP Address) se utiliza para identificar tanto al ordenador en concreto como la red a la que pertenece, de manera que sea posible distinguir a los ordenadores que se encuentran conectados a una misma red. Con este propósito, y teniendo en cuenta que en Internet se encuentran conectadas redes de tamaños muy diversos, se establecieron tres clases diferentes de direcciones, las cuales se representan mediante tres rangos de valores:
Tabla de direcciones IP de Internet.
| |||||
Clase | Primer byte | Identificación de red | Identificación de hosts | Número de redes | Número de hosts |
A | 1 .. 126 | 1 byte | 3 byte | 126 | 16.387.064 |
B | 128 .. 191 | 2 byte | 2 byte | 16.256 | 64.516 |
C | 192 .. 223 | 3 byte | 1 byte | 2.064.512 | 254 |
En la clasificación de direcciones anterior se puede notar que ciertos números no se usan. Algunos de ellos se encuentran reservados para un posible uso futuro, como es el caso de las direcciones cuyo primer byte sea superior a 223 (clases D y E, que aún no están definidas), mientras que el valor 127 en el primer byte se utiliza en algunos sistemas para propósitos especiales. También es importante notar que los valores 0 y 255 en cualquier byte de la dirección no pueden usarse normalmente por tener otros propósitos específicos.
El número 0 está reservado para las máquinas que no conocen su dirección, pudiendo utilizarse tanto en la identificación de red para máquinas que aún no conocen el número de red a la que se encuentran conectadas, en la identificación de host para máquinas que aún no conocen su número de host dentro de la red, o en ambos casos.
El número 255 tiene también un significado especial, puesto que se reserva para el broadcast. El broadcast es necesario cuando se pretende hacer que un mensaje sea visible para todos los sistemas conectados a la misma red. Esto puede ser útil si se necesita enviar el mismo datagrama a un número determinado de sistemas, resultando más eficiente que enviar la misma información solicitada de manera individual a cada uno. Otra situación para el uso de broadcast es cuando se quiere convertir el nombre por dominio de un ordenador a su correspondiente número IP y no se conoce la dirección del servidor de nombres de dominio más cercano.
Lo usual es que cuando se quiere hacer uso del broadcast se utilice una dirección compuesta por el identificador normal de la red y por el número 255 (todo unos en binario) en cada byte que identifique al host. Sin embargo, por conveniencia también se permite el uso del número 255.255.255.255 con la misma finalidad, de forma que resulte más simple referirse a todos los sistemas de la red.
El broadcast es una característica que se encuentra implementada de formas diferentes dependiendo del medio utilizado, y por lo tanto, no siempre se encuentra disponible. En ARPAnet y en las líneas punto a punto no es posible enviar broadcast, pero sí que es posible hacerlo en las redes Ethernet, donde se supone que todos los ordenadores prestarán atención a este tipo de mensajes.
En el caso de algunas organizaciones extensas puede surgir la necesidad de dividir la red en otras redes más pequeñas (subnets). Como ejemplo podemos suponer una red de clase B que, naturalmente, tiene asignado como identificador de red un número de dos bytes. En este caso sería posible utilizar el tercer byte para indicar en qué red Ethernet se encuentra un host en concreto. Esta división no tendrá ningún significado para cualquier otro ordenador que esté conectado a una red perteneciente a otra organización, puesto que el tercer byte no será comprobado ni tratado de forma especial. Sin embargo, en el interior de esta red existirá una división y será necesario disponer de un software de red especialmente diseñado para ello. De esta forma queda oculta la organización interior de la red, siendo mucho más cómodo el acceso que si se tratara de varias direcciones de clase C independientes.
PROBLEMAS DE LA INTERRED
· No toda funciona perfectamente al transferir los datos de una subred a otra. A pesar de que toda la red usa un solo protocolo, diversos problemas pueden ocurrir. Un problema típico es la limitación en el tamaño de los datagramas (unidad básica de datos usada en TCP/IP). La red emisora quizás soporte datagramas de 1024 bytes, pero la red receptora tal vez solo maneje datagramas de 512 bytes.
· Los métodos de direccionamientos reales utilizados por las distintas subredes pueden causar conflictos al enrutar o encaminar datagramas. Debido a que las subredes en comunicación quizá no tenga el mismo software de control de red, a pesar de que los métodos de comunicación estén basados en TCP/IP.
· La distinta tolerancia que cada red tiene a problemas de sincronización. Los valores de intervalos de retardo y de reintento pueden ser distintos, por lo que cuando dos subredes estén intentando establecer comunicación, quizás una ya desistió y paso a otra tarea, en tanto la segunda todavía esta esperando una señal de confirmación.
· Los métodos de enrutamiento y la velocidad de las maquinas en la red pueden afectar también el rendimiento de la interred. Si una compuerta es administrada por una maquina particularmente lenta, puede acumularse el trafico que pasa por la compuerta, causando retrasos y transmisiones incompletas en toda la interred.
También resulta muy importante desarrollar un sistema de interred que pueda adaptarse dinámicamente a la carga y reenrutamiento de datagramas cuando ocurra un cuello de botella.
COMANDOS TCP/IP
TCP/IP incluye dos grupos de comandos utilizados para suministrar servicios de red:
Los comandos remotos BERKELEY
Los comandos DARPA
Los comandos remotos BERKELEY, que fueron desarrollados en la Universidad Berkeley (California), incluyen órdenes para comunicaciones entre sistemas operativos UNIX, como copia remota de archivos, conexión remota, ejecución de shell remoto, etc.
Permiten utilizar recursos con otros hosts, pudiendo tratar distintas redes como si fueran una sola.
En la versión 4 para UNIX Sistema V, se pueden distinguir los siguientes comandos más comunes:
RCP Realiza una copia de archivos al mismo o a otro servidor
RLOGINGL-RLOGINVT Se utiliza para hacer una conexión al mismo o a otro servidor
REXEC-RSH Permite ejecutar comandos del sistema operativo en El mismo o en otro servidor.
Los comandos DARPA incluyen facilidades para emulación de terminales, transferencia de archivos, correo y obtención de información sobre usuarios. Pueden ser utilizadas para comunicación con computadores que ejecutan distintos sistemas operativos.
En la versión 2.05 para DOS, dependiendo de las funciones que realizan, se pueden distinguir los siguientes grupos de comandos:
Kernel PC/TCP y herramientas asociadas
Se utilizan para cargar el núcleo TCP/IP en la memoria del computador.
BOOTP Asigna la dirección IP de la estación de trabajo
INET Descarga el núcleo PC/TCP de la memoria y/o realiza estadísticas de red
KERNEL Carga el núcleo TCP/IP en la memoria y lo deja residente
Configuraci6n de la red
Permiten configurar TCP/IP con determinados parámetros.
IFCONFIG Configura el hardware para TCP/IP
IPCONFIG Configura el software TCP/IP y la direcci6n IP
Transferencia de archivos
7Se utilizan para transferir archivos entre distintos computadores.
DDAT'ES Muestra las fechas y horas guardadas en un archivo
creado con el comando TAR
FTP Transfiere archivos entre una estación de trabajo y
un servidor
FRPSRV Convierte una estación de trabajo en un servidor
FTP
PASSWD Se utiliza para poner contraseñas en las estaciones
de trabajo a los usuarios para poder utilizar él comando
FTPSRV
RMT Permite realizar copia de archivos en una unidad de Cinta
TAR Realiza una copia de archivos creando un único archivo
BACKUP
TFTP Transfiere archivos entre una estación de trabajo
un servidor o a otra estación de trabajo sin
necesidad de validar al usuario
Impresión
Permiten el control de la impresión en las impresoras conectadas al servidor.
DOPREDIR Imprime un trabajo de impresión que aún no ha sido impreso
IPRINT Envía un texto o un archivo a un servidor de impresoras de imagen
LPQ Indica el estado de la cola de impresión indicada
LPR Envía un texto o un archivo a una impresora local o de red.
LPRM Elimina trabajos pendientes de la cola de impresión
ONPREDIR Realiza tareas de configuración para el comando PREDIR
PREDIR Carga o descarga el programa que permite la impresión remota y lo deja residente.
PRINIT Se usa con los comandos PREDIR y ONPREDIR
PRSTART Indica a la estación de trabajo remota que imprima un archivo usando la configuración por defecto
Conexión a servidores
Permiten la conexión de los computadores a servidores de nuestra red.
SUPDUP Permite conectarse a otro servidor de la red
TELNET - TN Es el método normal de conectarse a un servidor de la red
Información sobre los usuarios
Muestran información sobre los usuarios conectados a la red.
FINGER Muestra información sobre un usuario conectado a otra estación de trabajo
NICNAME Muestra información sobre un usuario o sobre un servidor solicitada al centro de informaci6n de redes
WHOIS Muestra información sobre un usuario registrado que esté conectado a otra estación de trabajo
Envío y recepción de correo
Estos comandos permiten el envío y/o recepción de correo entre los usuarios de la red.
MAIL Permite enviar y recibir correo en la red
PCMAIL Permite leer correo. Se ha de usar con el comando VMAIL
POP2 - POP3 Se utiliza para leer correo. Se han de usar con VMAIL Y SMTP
SMTP Se utiliza para enviar correo en la red
SMTPSRV Permite leer el correo recibido
VMAIL Es un comando que muestra una pantalla preparada para leer el correo recibido. Se utiliza en conjunción con los comandos PCMAIL, POP2 0 POP3
Chequeo de la red
Permiten chequear la red cuando aparecen problemas de comunicaciones.
HOST Indica el nombre y la dirección IP de una estación de trabajo determinada
PING Envía una Llamada a una estación de trabajo e informa si se puede establecer conexión o no con ella
SETCLOCK Muestra la fecha y la hora que tiene la red
PUERTOS TCP/IP
Puerto | Función habitual |
11 | System stat [Usuarios Activos] |
19 | Generador de Caracteres |
20 | Transferencia de Archivos [Datos por defecto] |
21 | Transferencia de Archivos [Control] |
23 | Telnet |
25 | Protocolo de Transferencia de Correo Simple |
43 | Who is |
53 | Servidor de Nombre de Dominio [DNS] |
59 | Privado [Servidor de DCC] |
79 | Finger |
21 | Transferencia de Archivos [Datos por defecto] |
80 | HTTP World Wide Web |
109 | Protocolo de Oficina Postal 2 |
110 | Protocolo de Oficina Postal 3 |
113 | Servicio de Autenticación [Identd] |
135 | Windows NT |
137 | NetBIOS Nombre |
138 | NetBIOS Datagrama |
139 | NetBIOS Sesión |
144 | News |
512 | Exec |
513 | Login |
514 | Shell cmd |
515 | Printer Spooler |
517 | Talk Reservado |
543 | Klogin |
1027 | Posible ICQ |
1028 | Posible ICQ |
1029 | Posible ICQ |
1032 | Posible ICQ |
1080 | SOCKS proxy [Wingate] |
4000 | Servidor ICQ |
5000 | Sokets de Trois v1 |
5580 | HTTP Militar |
6660 | Internet Relay Chat |
6661 | Internet Relay Chat |
6662 | Internet Relay Chat |
6663 | Internet Relay Chat |
6664 | Internet Relay Chat |
6665 | Internet Relay Chat |
6666 | Internet Relay Chat |
6667 | Internet Relay Chat |
6668 | Internet Relay Chat |
6669 | Internet Relay Chat |
6670 | Internet Relay Chat |
7000 | Internet Relay Chat |
7001 | Internet Relay Chat |
7002 | Internet Relay Chat |
7003 | Internet Relay Chat |
7004 | Internet Relay Chat |
7005 | Internet Relay Chat |
8000 | HTTP World Wide Web |
8080 | HTTP Proxy |
12345 | Netbus |
50505 | Sokets de Trois v2 |
CONCLUSION
El conjunto de protocolos de comunicaciones TCP/IP son los más utilizados en la actualidad para las comunicaciones entre computadoras, digamos que se estandarizaron, a través de Internet. Son protocolos que permiten el acceso remoto, correo electrónico, la transferencia de archivos remota y distintos servicios de red. Gracias a su desarrollo en la actualidad es posible que cualquier computadora se comunique con otra sin importar sus arquitecturas ya que ellos mismos se ocupan de "traducir" la información que es enviada por cada una a través de la red.
Internet crece a pasos agigantados todos los días por lo que demuestra la importancia de TCP/IP con su compatibilidad con cualquier arquitectura permitiendo una comunicación a nivel global importantísima que de otra manera sería imposible.
24
Descargar
Enviado por: | Sonri |
Idioma: | castellano |
País: | Chile |