Unidad 4 Introducion
Aunque poca gente sabe
lo que es TCP/IP todos lo emplean indirectamente y lo confunden con un
solo protocolo cuando en realidad son varios, de entre los cuales
destaca y es el mas importante el protocolo IP. Bajo este
nombre(TCP/IP)se esconde uno de los protocolos mas usados del mundo,
debido a que es el mas usado por Internet y esta muy extendido en el
sistema operativo UNIX. En el 1973 , la DARPA inició un programa de
investigacion de tecnologias de comunicación entre redes de diferentes
caracteristicas.
El proyecto se basaba en la transmision de paquetes de información, y tenia por objetivo la interconexion de redes. De este proyecto surgieron dos redes: Una de investigacion, ARPANET, y una de uso exclusivamente militar, MILNET. Para comunicar las redes, se desarrollaron varios protocolos: El protocolo de Internet y los protocolos de control de transmision. Posteriormente estos protocolos se englobaron en el conjunto de protocolos TCP/IP. En 1980, se incluyo en el UNIX 4.2 de BERKELEY, y fue el protocolo militar standard en 1983. Con el nacimiento en 1983 de INTERNET, este protocolo se popularizo bastante, y su destino va unido al de internet. ARPANET dejo de funcionar oficialmente en 1990. Algunos de los motivos de su popularidad son: Independencia del fabricante Soporta multiples tecnologias Puede funcionar en maquinas de cualquier tamaño Estandar de EEUU desde 1983 La arquitectura de un sistema en TCP/IP tiene una serie de metas: La independencia de la tecnologia usada en la conexión a bajo nivel y la arquitectura del ordenador Conectividad Universal a traves de la red Reconocimientos de extremo a extremo Protocolos estandarizados
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 dehardware. 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 especifíca ningún protocolo concreto, así es que corre por las interfaces conocidas, como por ejemplo: 802.2, CSMA/CD, X.25, etc.
NIVEL DE APLICACIÓN NIVEL DE TRANSPORTE NIVEL DE INTERNET NIVEL DE RED NIVEL FÍSICO 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.
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 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. 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.
CÓMO FUNCIONA TCP/IP - IP: IP a diferencia del protocolo X.25, que está orientado a conexión, es sin conexión. Está basado en la idea de los datagramas interred, los cuales son transportados transparentemente, pero no siempre con seguridad, desde el hostal fuente hasta el hostal destinatario, quizás recorriendo varias redes mientras viaja. El protocolo IP trabaja de la siguiente manera; la capa de transporte toma los mensajes y los divide en datagramas, de hasta 64K octetos cada uno. Cada datagrama se transmite a través de la red interred, posiblemente fragmentándose en unidades más pequeñas, durante su recorrido normal. Al final, cuando todas las piezas llegan a la máquina destinataria, la capa de transporte los reensambla para así reconstruir el mensaje original.
Un datagrama IP consta de una parte de cabecera y una parte de texto. La cabecera tiene una parte fija de 20 octetos y una parte opcional de longitud variable. En la figura 1 se muestra el formato de la cabecera. El campo Versión indica a qué versión del protocolo pertenece cada uno de los datagramas. Mediante la inclusión de la versión en cada datagrama, no se excluye la posibilidad de modificar los protocolos mientras la red se encuentre en operación. El campo Opciones se utiliza para fines de seguridad, encaminamiento fuente, informe de errores, depuración, sellado de tiempo, así como otro tipo de información. Esto, básicamente, proporciona un escape para permitir que las versiones subsiguientes de los protocolos incluyan información que actualmente no está presente en el diseño original. También, para permitir que los experimentadores trabajen con nuevas ideas y para evitar, la asignación de bits de cabecera a información que muy rara vez se necesita. Debido a que la longitud de la cabecera no es constante, un campo de la cabecera, IHL, permite que se indique la longitud que tiene la cabecera en palabras de 32 bits. El valor mínimo es de 5. Tamaño 4 bit. El campo Tipo de servicio le permite al hostal indicarle a la subred el tipo de servicio que desea. Es posible tener varias combinaciones con respecto a la seguridad y la velocidad. Para voz digitalizada, por ejemplo, es más importante la entrega rápida que corregir errores de transmisión. En tanto que, para la transferencia de archivos, resulta más importante tener la transmisión fiable que entrega rápida. También, es posible tener algunas otras combinaciones, desde un tráfico rutinario, hasta una anulación instantánea. Tamaño 8 bit. La Longitud total incluye todo lo que se encuentra en el datagrama -tanto la cabecera como los datos.
La máxima longitud es de 65 536 octetos(bytes). Tamaño 16 bit. El campo Identificación se necesita para permitir que el hostal destinatario determine a qué datagrama pertenece el fragmento recién llegado. Todos los fragmentos de un datagrama contienen el mismo valor de identificación. Tamaño 16 bits. Enseguida viene un bit que no se utiliza, y después dos campos de 1 bit. Las letras DF quieren decir no fragmentar. Esta es una orden para que las pasarelas no fragmenten el datagrama, porque el extremo destinatario es incapaz de poner las partes juntas nuevamente. Por ejemplo, supóngase que se tiene un datagrama que se carga en un micro pequeño para su ejecución; podría marcarse con DF porque la ROM de micro espera el programa completo en un datagrama. Si el datagrama no puede pasarse a través de una red, se deberá encaminar sobre otra red, o bien, desecharse. Las letras MF significan más fragmentos. Todos los fragmentos, con excepción del último, deberán tener ese bit puesto. Se utiliza como una verificación doble contra el campo de Longitud total, con objeto de tener seguridad de que no faltan fragmentos y que el datagrama entero se reensamble por completo. El desplazamiento de fragmento indica el lugar del datagrama actual al cual pertenece este fragmento. En un datagrama, todos los fragmentos, con excepción del último, deberán ser un múltiplo de 8 octetos, que es la unidad elemental de fragmentación. Dado que se proporcionan 13 bits, hay un máximo de 8192 fragmentos por datagrama, dando así una longitud máxima de datagrama de 65 536 octetos, que coinciden con el campo Longitud total. Tamaño 16 bits. El campo Tiempo de vida es un contador que se utiliza para limitar el tiempo de vida de los paquetes. Cuando se llega a cero, el paquete se destruye. La unidad de tiempo es el segundo, permitiéndose un tiempo de vida máximo de 255 segundos. Tamaño 8 bits. Cuando la capa de red ha terminado de ensamblar un datagrama completo, necesitará saber qué hacer con él. El campoProtocolo indica, a qué proceso de transporte pertenece el datagrama. El TCP es efectivamente una posibilidad, pero en realidad hay muchas más. Protocolo: El número utilizado en este campo sirve para indicar a qué protocolo pertenece el datagrama que se encuentra a continuación de la cabecera IP, de manera que pueda ser tratado correctamente cuando llegue a su destino. Tamaño: 8 bit. El código de redundancia de la cabecera es necesario para verificar que los datos contenidos en la cabecera IP son correctos. Por razones de eficiencia este campo no puede utilizarse para comprobar los datos incluidos a continuación, sino que estos datos de usuario se comprobarán posteriormente a partir del código de redundancia de la cabecera siguiente, y que corresponde al nivel de transporte. Este campo debe calcularse de nuevo cuando cambia alguna opción de la cabecera, como puede ser el tiempo de vida. Tamaño: 16 bit La Dirección de origen contiene la dirección del host que envía el paquete. Tamaño: 32 bit. La Dirección de destino: Esta dirección es la del host que recibirá la información. Los routers o gateways intermedios deben conocerla para dirigir correctamente el paquete. Tamaño: 32 bit.
En este modelo las aplicaciones se dividen de forma que el servidor contiene la parte que debe ser compartida por varios usuarios, y en el cliente permanece sólo lo particular de cada usuario.
Los clientes realizan generalmente funciones como:
- Manejo de la interfaz de usuario.
- Captura y validación de los datos de entrada.
- Generación de consultas e informes sobre las bases de datos.
- Por su parte los servidores realizan, entre otras, las siguientes funciones:
- Gestión de periféricos compartidos.
- Control de accesos concurrentes a bases de datos compartidas.
- Enlaces de comunicaciones con otras redes de área local o extensa.
Siempre que un cliente requiere un servicio lo solicita al servidor correspondiente y éste le responde proporcionándolo. Normalmente, pero no necesariamente, el cliente y el servidor están ubicados en distintos procesadores. Los clientes se suelen situar en ordenadores personales y/o estaciones de trabajo y los servidores en procesadores departamentales o de grupo. Entre las principales características de la arquitectura cliente/servidor se pueden destacar las siguientes: El servidor presenta a todos sus clientes una interfaz única y bien definida. El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa. El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo. Los cambios en el servidor implican pocos o ningún cambio en el cliente.
Los sockets proporcionan una comunicación de dos vías, punto a punto entre dos procesos. Los sockets son muy versátiles y son un componente básico de comunicación entre interprocesos e intersistemas. Un socket es un punto final de comunicación al cual se puede asociar un nombre. Este tiene un tipo y uno o más procesos asociados.Los sockets existen en los dominios de comunicación. Un socket de dominio es una representación que da una estructura de direccionamiento y un conjunto de protocolos. Los sockets se conectan solamente con sockets en el mismo dominio. Veintitrés dominios de sockets son identificados (ver ), de los cuales solamente los dominios de UNIX e Internet son normalmente sockets de Linux usados para comunicarse entre procesos en un sólo sistema, como otras formas de comunicación entre procesos.El dominio de UNIX da un espacio de direcciones de socket en un sistema. Los sockets de dominio de UNIX son nombrados con las rutas de UNIX. Los sockets pueden también ser usados para comunicar procesos entre diferentes sistemas. El espacio de direcciones del socket entre los sistemas conectados es llamado el dominio de Internet.La comunicación del dominio de Internet usa la suite del protocolo de Internet TCP/IP.Los tipos de socket definen las propiedades de comunicación visibles para la aplicación. Los procesos se comunican solamente entre los sockets del mismo tipo.
Existen cinco tipos de sockets.
1.Socket de flujo, da un flujo de datos de dos vías, confiable, y sin duplicados sin límites de grabación. El flujo opera en forma parecida a una conversación telefónica. El tipo del socket es SOCK_STREAM, el cual en el dominio de Internet usa TCP (Transmission Control Protocol).
2.Socket de datagrama, soporta un flujo de mensajes de dos vías. En un socket de datagrama podría recibir mensajes en diferente orden de la secuencia de la cual los mensajes fueron envíados. Los límites de grabación en los datos son preservados. Los sockets de datagrama operan parecidos a pasar cartas hacia adelante y hacia atrás en el correo. El tipo de socket es SOCK_DGRAM, el cual en el dominio de internet usa UDP (User Datagram Protocol).
3.Socket de paquete secuencial, da una conexión de dos vías, secuencial y confiable para datagramas de una longitud fija máxima. El tipo de socket es SOCK_SEQPACKET. No hay protocolo implementado para este tipo de cualquier familia de protocolos.
4.raw socket, da acceso a los protocolos de comunicación subyacente. Los sockets son usualmente datagramas orientados, pero sus características exactas dependen de la interfaz dada por el protocolo.
En los casos donde una computadora recibe demasiados segmentos que no puede procesar, los almacena en una parte de su memoria llamada buffer. Esto ayuda sólo si los datagramas son parte de una ráfaga pequeña, en caso de que se trate de una serie de datos más grande que el buffer, este se verá rebasado y comenzará a descartar los datos que recibe.Pero una de las funciones de la los sistemas de control de la red ayuda aquí, en lugar de tirar el tráfico, los protocolos de transporte pueden decir no estoy listo, con lo que el transmisor se detiene en espera de una indicación para continuar, es un proceso similar a contar con un semáforo, con señales de alto y avance. Una vez que se procesa la información en el buffer, se envía un segmento al transmisor indicándole que puede enviar más información, y se comienza nuevamente con el envío. Es importante notar que en una transferencia de datos orientada a conexión, los datagramas se reciben en el orden en que se envían, y si no es así, la comunicación falla. También si se pierde, se duplica o se daña un datagrama. Debido a esta razón se usa un acuse de recibo (acknowledge o ACK) que el receptor envía cada que recibe un segmento como confirmación. Un servicio se considera orientado a conexión si cuenta con lo siguiente:- Se establece un circuito virtual- Se usa una secuencia- Usa acuses de recibo (acknowledge)- Usa control de flujo (Flow Control)Los tipos de control de flujo son: + Buffering+ Windowwing+ Congestion Avoidance
El proyecto se basaba en la transmision de paquetes de información, y tenia por objetivo la interconexion de redes. De este proyecto surgieron dos redes: Una de investigacion, ARPANET, y una de uso exclusivamente militar, MILNET. Para comunicar las redes, se desarrollaron varios protocolos: El protocolo de Internet y los protocolos de control de transmision. Posteriormente estos protocolos se englobaron en el conjunto de protocolos TCP/IP. En 1980, se incluyo en el UNIX 4.2 de BERKELEY, y fue el protocolo militar standard en 1983. Con el nacimiento en 1983 de INTERNET, este protocolo se popularizo bastante, y su destino va unido al de internet. ARPANET dejo de funcionar oficialmente en 1990. Algunos de los motivos de su popularidad son: Independencia del fabricante Soporta multiples tecnologias Puede funcionar en maquinas de cualquier tamaño Estandar de EEUU desde 1983 La arquitectura de un sistema en TCP/IP tiene una serie de metas: La independencia de la tecnologia usada en la conexión a bajo nivel y la arquitectura del ordenador Conectividad Universal a traves de la red Reconocimientos de extremo a extremo Protocolos estandarizados
4.1 Modelo
Cliente Servidor 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 dehardware. 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 especifíca ningún protocolo concreto, así es que corre por las interfaces conocidas, como por ejemplo: 802.2, CSMA/CD, X.25, etc.
NIVEL DE APLICACIÓN NIVEL DE TRANSPORTE NIVEL DE INTERNET NIVEL DE RED NIVEL FÍSICO 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.
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 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. 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.
CÓMO FUNCIONA TCP/IP - IP: IP a diferencia del protocolo X.25, que está orientado a conexión, es sin conexión. Está basado en la idea de los datagramas interred, los cuales son transportados transparentemente, pero no siempre con seguridad, desde el hostal fuente hasta el hostal destinatario, quizás recorriendo varias redes mientras viaja. El protocolo IP trabaja de la siguiente manera; la capa de transporte toma los mensajes y los divide en datagramas, de hasta 64K octetos cada uno. Cada datagrama se transmite a través de la red interred, posiblemente fragmentándose en unidades más pequeñas, durante su recorrido normal. Al final, cuando todas las piezas llegan a la máquina destinataria, la capa de transporte los reensambla para así reconstruir el mensaje original.
Un datagrama IP consta de una parte de cabecera y una parte de texto. La cabecera tiene una parte fija de 20 octetos y una parte opcional de longitud variable. En la figura 1 se muestra el formato de la cabecera. El campo Versión indica a qué versión del protocolo pertenece cada uno de los datagramas. Mediante la inclusión de la versión en cada datagrama, no se excluye la posibilidad de modificar los protocolos mientras la red se encuentre en operación. El campo Opciones se utiliza para fines de seguridad, encaminamiento fuente, informe de errores, depuración, sellado de tiempo, así como otro tipo de información. Esto, básicamente, proporciona un escape para permitir que las versiones subsiguientes de los protocolos incluyan información que actualmente no está presente en el diseño original. También, para permitir que los experimentadores trabajen con nuevas ideas y para evitar, la asignación de bits de cabecera a información que muy rara vez se necesita. Debido a que la longitud de la cabecera no es constante, un campo de la cabecera, IHL, permite que se indique la longitud que tiene la cabecera en palabras de 32 bits. El valor mínimo es de 5. Tamaño 4 bit. El campo Tipo de servicio le permite al hostal indicarle a la subred el tipo de servicio que desea. Es posible tener varias combinaciones con respecto a la seguridad y la velocidad. Para voz digitalizada, por ejemplo, es más importante la entrega rápida que corregir errores de transmisión. En tanto que, para la transferencia de archivos, resulta más importante tener la transmisión fiable que entrega rápida. También, es posible tener algunas otras combinaciones, desde un tráfico rutinario, hasta una anulación instantánea. Tamaño 8 bit. La Longitud total incluye todo lo que se encuentra en el datagrama -tanto la cabecera como los datos.
La máxima longitud es de 65 536 octetos(bytes). Tamaño 16 bit. El campo Identificación se necesita para permitir que el hostal destinatario determine a qué datagrama pertenece el fragmento recién llegado. Todos los fragmentos de un datagrama contienen el mismo valor de identificación. Tamaño 16 bits. Enseguida viene un bit que no se utiliza, y después dos campos de 1 bit. Las letras DF quieren decir no fragmentar. Esta es una orden para que las pasarelas no fragmenten el datagrama, porque el extremo destinatario es incapaz de poner las partes juntas nuevamente. Por ejemplo, supóngase que se tiene un datagrama que se carga en un micro pequeño para su ejecución; podría marcarse con DF porque la ROM de micro espera el programa completo en un datagrama. Si el datagrama no puede pasarse a través de una red, se deberá encaminar sobre otra red, o bien, desecharse. Las letras MF significan más fragmentos. Todos los fragmentos, con excepción del último, deberán tener ese bit puesto. Se utiliza como una verificación doble contra el campo de Longitud total, con objeto de tener seguridad de que no faltan fragmentos y que el datagrama entero se reensamble por completo. El desplazamiento de fragmento indica el lugar del datagrama actual al cual pertenece este fragmento. En un datagrama, todos los fragmentos, con excepción del último, deberán ser un múltiplo de 8 octetos, que es la unidad elemental de fragmentación. Dado que se proporcionan 13 bits, hay un máximo de 8192 fragmentos por datagrama, dando así una longitud máxima de datagrama de 65 536 octetos, que coinciden con el campo Longitud total. Tamaño 16 bits. El campo Tiempo de vida es un contador que se utiliza para limitar el tiempo de vida de los paquetes. Cuando se llega a cero, el paquete se destruye. La unidad de tiempo es el segundo, permitiéndose un tiempo de vida máximo de 255 segundos. Tamaño 8 bits. Cuando la capa de red ha terminado de ensamblar un datagrama completo, necesitará saber qué hacer con él. El campoProtocolo indica, a qué proceso de transporte pertenece el datagrama. El TCP es efectivamente una posibilidad, pero en realidad hay muchas más. Protocolo: El número utilizado en este campo sirve para indicar a qué protocolo pertenece el datagrama que se encuentra a continuación de la cabecera IP, de manera que pueda ser tratado correctamente cuando llegue a su destino. Tamaño: 8 bit. El código de redundancia de la cabecera es necesario para verificar que los datos contenidos en la cabecera IP son correctos. Por razones de eficiencia este campo no puede utilizarse para comprobar los datos incluidos a continuación, sino que estos datos de usuario se comprobarán posteriormente a partir del código de redundancia de la cabecera siguiente, y que corresponde al nivel de transporte. Este campo debe calcularse de nuevo cuando cambia alguna opción de la cabecera, como puede ser el tiempo de vida. Tamaño: 16 bit La Dirección de origen contiene la dirección del host que envía el paquete. Tamaño: 32 bit. La Dirección de destino: Esta dirección es la del host que recibirá la información. Los routers o gateways intermedios deben conocerla para dirigir correctamente el paquete. Tamaño: 32 bit.
4.2 Arquitectura
Cliente/Servidor
Con la proliferación de ordenadores personales de bajo
coste en el mercado, los recursos de sistemas de información existentes
en cualquier organización se pueden distribuir entre ordenadores de
diferentes tipos: ordenadores personales de gama baja, media y alta,
estaciones de trabajo, miniordenadores o incluso grandes ordenadores. El
concepto de cliente/servidor proporciona una forma eficiente de
utilizar todos estos recursos de máquina de tal forma que la seguridad y
fiabilidad que proporcionan los entornos mainframe se traspasa a la red
de área local. A esto hay que añadir la ventaja de la potencia y
simplicidad de los ordenadores personales. La arquitectura
cliente/servidor es un modelo para el desarrollo de sistemas de
información en el que las transacciones se dividen en procesos
independientes que cooperan entre sí para intercambiar información,
servicios o recursos. Se denomina cliente al proceso que inicia el
diálogo o solicita los recursos y servidor al proceso que responde a las
solicitudes.En este modelo las aplicaciones se dividen de forma que el servidor contiene la parte que debe ser compartida por varios usuarios, y en el cliente permanece sólo lo particular de cada usuario.
Los clientes realizan generalmente funciones como:
- Manejo de la interfaz de usuario.
- Captura y validación de los datos de entrada.
- Generación de consultas e informes sobre las bases de datos.
- Por su parte los servidores realizan, entre otras, las siguientes funciones:
- Gestión de periféricos compartidos.
- Control de accesos concurrentes a bases de datos compartidas.
- Enlaces de comunicaciones con otras redes de área local o extensa.
Siempre que un cliente requiere un servicio lo solicita al servidor correspondiente y éste le responde proporcionándolo. Normalmente, pero no necesariamente, el cliente y el servidor están ubicados en distintos procesadores. Los clientes se suelen situar en ordenadores personales y/o estaciones de trabajo y los servidores en procesadores departamentales o de grupo. Entre las principales características de la arquitectura cliente/servidor se pueden destacar las siguientes: El servidor presenta a todos sus clientes una interfaz única y bien definida. El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa. El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo. Los cambios en el servidor implican pocos o ningún cambio en el cliente.
Los sockets proporcionan una comunicación de dos vías, punto a punto entre dos procesos. Los sockets son muy versátiles y son un componente básico de comunicación entre interprocesos e intersistemas. Un socket es un punto final de comunicación al cual se puede asociar un nombre. Este tiene un tipo y uno o más procesos asociados.Los sockets existen en los dominios de comunicación. Un socket de dominio es una representación que da una estructura de direccionamiento y un conjunto de protocolos. Los sockets se conectan solamente con sockets en el mismo dominio. Veintitrés dominios de sockets son identificados (ver ), de los cuales solamente los dominios de UNIX e Internet son normalmente sockets de Linux usados para comunicarse entre procesos en un sólo sistema, como otras formas de comunicación entre procesos.El dominio de UNIX da un espacio de direcciones de socket en un sistema. Los sockets de dominio de UNIX son nombrados con las rutas de UNIX. Los sockets pueden también ser usados para comunicar procesos entre diferentes sistemas. El espacio de direcciones del socket entre los sistemas conectados es llamado el dominio de Internet.La comunicación del dominio de Internet usa la suite del protocolo de Internet TCP/IP.Los tipos de socket definen las propiedades de comunicación visibles para la aplicación. Los procesos se comunican solamente entre los sockets del mismo tipo.
Existen cinco tipos de sockets.
1.Socket de flujo, da un flujo de datos de dos vías, confiable, y sin duplicados sin límites de grabación. El flujo opera en forma parecida a una conversación telefónica. El tipo del socket es SOCK_STREAM, el cual en el dominio de Internet usa TCP (Transmission Control Protocol).
2.Socket de datagrama, soporta un flujo de mensajes de dos vías. En un socket de datagrama podría recibir mensajes en diferente orden de la secuencia de la cual los mensajes fueron envíados. Los límites de grabación en los datos son preservados. Los sockets de datagrama operan parecidos a pasar cartas hacia adelante y hacia atrás en el correo. El tipo de socket es SOCK_DGRAM, el cual en el dominio de internet usa UDP (User Datagram Protocol).
3.Socket de paquete secuencial, da una conexión de dos vías, secuencial y confiable para datagramas de una longitud fija máxima. El tipo de socket es SOCK_SEQPACKET. No hay protocolo implementado para este tipo de cualquier familia de protocolos.
4.raw socket, da acceso a los protocolos de comunicación subyacente. Los sockets son usualmente datagramas orientados, pero sus características exactas dependen de la interfaz dada por el protocolo.
4.4Comunicación Orientada a conexión y
sin conexión
En una operación de transporte confiable donde un
dispositivo quiere enviar una comunicación orientada a conexión, se debe
comunicar con el dispositivo remoto para establecer una sesión. Este
proceso se llama establecimiento de llamada (call set up o three-way
handshake). Se transmiten los datos y entonces se hace una terminación
de llamada para desprenderse del circuito virtual.Las aplicaciones en
ambas terminales le dicen a sus sistemas operativos que se va a iniciar
una conexión. Los sistemas operativos se comunican enviando mensajes que
dicen que la comunicación es aprobada y ambos lados están listos.
Mientras se lleva a cabo la transferencia, ambos hosts se comunican
entre ellos periódicamente con sus protocolos para asegurar que todo
funciona bien y se reciben los datos correctamente. Los pasos del
three-way handshake son:Se envía un segmento de acuerdo de conexión que
es una petición de sincronización.Los segmentos segundo y tercero
responden la petición (acknowledge o ACK) y establecen los parámetros de
conexión o reglas entre los hosts. Entonces el receptor se sincroniza y
se forma una conexión bidireccional. El último segmento es un
acknowledge también que le dice al host de destino que se acepta el
acuerdo de conexión, y que la conexión actual se ha establecido, se
comienza a transferir datos.Se pueden presentar problemas en este
proceso, por ejemplo cuando una computadora genera datos más rápido de
lo que la red puede efectuar la transferencia, o porque varias
computadoras envían sus segmentos al gateway para que sean enviados a un
destino y se crean congestiones.En los casos donde una computadora recibe demasiados segmentos que no puede procesar, los almacena en una parte de su memoria llamada buffer. Esto ayuda sólo si los datagramas son parte de una ráfaga pequeña, en caso de que se trate de una serie de datos más grande que el buffer, este se verá rebasado y comenzará a descartar los datos que recibe.Pero una de las funciones de la los sistemas de control de la red ayuda aquí, en lugar de tirar el tráfico, los protocolos de transporte pueden decir no estoy listo, con lo que el transmisor se detiene en espera de una indicación para continuar, es un proceso similar a contar con un semáforo, con señales de alto y avance. Una vez que se procesa la información en el buffer, se envía un segmento al transmisor indicándole que puede enviar más información, y se comienza nuevamente con el envío. Es importante notar que en una transferencia de datos orientada a conexión, los datagramas se reciben en el orden en que se envían, y si no es así, la comunicación falla. También si se pierde, se duplica o se daña un datagrama. Debido a esta razón se usa un acuse de recibo (acknowledge o ACK) que el receptor envía cada que recibe un segmento como confirmación. Un servicio se considera orientado a conexión si cuenta con lo siguiente:- Se establece un circuito virtual- Se usa una secuencia- Usa acuses de recibo (acknowledge)- Usa control de flujo (Flow Control)Los tipos de control de flujo son: + Buffering+ Windowwing+ Congestion Avoidance
4.5 Atencion
de multiples conexiones
La invención se relaciona con el campo técnico
de redes domésticas. Una red doméstica basada en el estándar actual UPnp
permite que se establezcan conexiones AV entre dos estaciones de
suscriptores a la red-conexiones de red tales como aquellas que se
establecen y administran bajo el control de una estación de red la cual
están en forma de un punto de control. En este caso, el estándar UPnP
permite que la estación de red la cual está en forma de un punto de
control para suspender interacción en línea de la red después del
establecimiento de una conexión AV, y de esta manera para permanecer
inactivo mientras la conexión AV que se ha establecido existe. Esto
resulta en el problema de que una conexión AV la cual ha sido
establecida innecesariamente permanece existiendo incluso después de que
se ha transmitido la corriente de datos AV deseada, de manera que una
solicitud de conexión adicional para tales estaciones debe contestarse
con un rechazo. La invención resuelve este problema en la medida en que
proporciona un medio de monitoreo adicional en las estaciones
suscriptoras de la red las cuales determinan si una conexión ha
permanecido sin uso por un tiempo específico. En caso afirmativo, se
envía una solicitud de señalización a todas las estaciones suscriptoras
de la red. Si la estación asociada de conexión no responde en ese
momento, la conexión la cual ha sido establecido de igual manera puede
ser agregada de manera autónoma a la estación solicitante.
No hay comentarios:
Publicar un comentario