intercomunicacion y seguridad en redes

208
Presentación El objetivo de este curso es el dar a comprender al estudiante los principios de la interconectividad y seguridad en las redes de redes. El panorama de las redes ha cambiado radicalmente desde la tercera edición. A mediados de la década de 1990 existían varios tipos de LANs y WANs, junto con pilas de múltiples protocolos. Para el 2003, la única LAN alámbrica de amplio uso tal vez sea Ethernet y prácticamente todas las WANs estarían en Internet. En consecuencia, se habrá eliminado una gran cantidad de material referente a estas antiguas redes. Sin embargo, también abundan los nuevos desarrollos. Lo más importante es el gran aumento de redes inalámbricas, como la 802.11, los ciclos locales inalámbricos, las redes celulares 2G y 3G, Bluetooth, WAP (protocolo de aplicaciones inalámbricas), el i-mode y otros. De acuerdo con esto, se ha agregado una gran cantidad de material a las redes inalámbricas. Otro tema importante y novedoso es la seguridad, por lo que se ha agregado todo un capítulo al respecto. Dejar un comentario Archivado bajo Uncategorized · 10:26 am Unidad 1. Interconectividad 1.1 Concepto de Servicio Universal. El origen del servicio universal se remonta a 1907, cuando Theodore Vail, presidente de AT&T, propuso al gobierno de Estados Unidos que el sector de las telecomunicaciones debía organizarse como un monopolio para evitar la discontinuidad de la red. Vail denominó a esto “one system, one policy, universal service”. Este principio se acabó formalizando en 1913 en el Kingsbury Commitment, que

Upload: fernandaflorecita

Post on 29-Nov-2014

1.167 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

  • 1. Presentacin El objetivo de este curso es el dar a comprender al estudiante los principios de la interconectividad y seguridad en las redes de redes. El panorama de las redes ha cambiado radicalmente desde la tercera edicin. A mediados de la dcada de 1990 existan varios tipos de LANs y WANs, junto con pilas de mltiples protocolos. Para el 2003, la nica LAN almbrica de amplio uso tal vez sea Ethernet y prcticamente todas las WANs estaran en Internet. En consecuencia, se habr eliminado una gran cantidad de material referente a estas antiguas redes. Sin embargo, tambin abundan los nuevos desarrollos. Lo ms importante es el gran aumento de redes inalmbricas, como la 802.11, los ciclos locales inalmbricos, las redes celulares 2G y 3G, Bluetooth, WAP (protocolo de aplicaciones inalmbricas), el i- mode y otros. De acuerdo con esto, se ha agregado una gran cantidad de material a las redes inalmbricas. Otro tema importante y novedoso es la seguridad, por lo que se ha agregado todo un captulo al respecto. Dejar un comentario Archivado bajo Uncategorized 10:26 am Unidad 1. Interconectividad 1.1 Concepto de Servicio Universal. El origen del servicio universal se remonta a 1907, cuando Theodore Vail, presidente de AT&T, propuso al gobierno de Estados Unidos que el sector de las telecomunicaciones deba organizarse como un monopolio para evitar la discontinuidad de la red. Vail denomin a esto one system, one policy, universal service. Este principio se acab formalizando en 1913 en el Kingsbury Commitment, que permiti a AT&T adquirir diferentes operadores locales e iniciar la interconexin de las zonas en las que tena presencia. Fue as como empez el proceso de universalizacin de las telecomunicaciones. En muchos pases, las primeras grandes empresas de telecomunicaciones fueron monopolios pblicos, de manera que la universalizacin se logr a travs de la accin directa del Estado. En las ltimas dcadas del siglo XX, el proceso general de liberalizacin de las industrias de red ha supuesto grandes retos para los reguladores. Mantener las obligaciones del servicio universal bajo un rgimen competitivo es una tarea difcil. 1.2 Interconectividad.

2. La Interconectividad (Internetworking) puede ser definida como: Comunicacin entre dos o ms redes (IBM). Proceso de comunicacin el cual ocurre entre dos o ms redes que estn conectadas entre s de alguna manera. 1.3 Arquitectura de las Interredes. El primer objetivo de diseo de TCP/IP fue construir una interconexin de redes que proporcionen servicios de comunicacin universal: una interred o internet. Cada red fsica tiene su propio interfaz de comunicacin dependiente de la tecnologa en forma de interfaz de programacin que proporciona funciones de comunicacin bsica (primitivas). Los servicios de comunicacin se proporcionan mediante software que se ejecuta entre la red fsica y las aplicaciones de usuario y que proporcionan una interfaz para estas aplicaciones, independiente de la red fsica subyacente. La arquitectura de las redes fsicas es transparente al usuario. El segundo objetivo es interconectar diferentes redes fsicas para formar lo que aparentemente es una red grande para el usuario. Tal conjunto de redes interconectadas se denomina una interred o internet. Para ser capaz de interconectar dos redes, se necesita un ordenador que se conecte a ambas redes y que puede enviar paquetes desde una red a la otra. El trmino router IP tambin se usa porque la funcin de encaminamiento es parte de la capa de IP de la familia de protocolos TCP/IP. La figura siguiente muestra dos ejemplos de interredes: Las propiedades bsicas de un router son: Desde el punto de vista de la red, un router es un host normal. Desde el punto de vista del usuario, los routers son invisibles. El usuario ve slo una gran interred. Para ser capaces de identificar un host en la interred, a cada host se le asigna una direccin, la direccin IP. Cuando un host tiene mltiples adaptadores de red, cada adaptador tiene una direccin IP aparte. La direccin IP consta de dos partes: direccin IP = 3. Parte del nmero de red de la direccin IP la asigna una autoridad central y es nico en toda Internet. La autoridad para asignar parte del nmero de host de la direccin IP reside con la organizacin que controla la red identificada por el nmero de red. El esquema de direccionamiento se describe detalladamente en Direccionamiento. 1.4 Protocolos de Interconectividad. Aunque se han adaptado muchos protocolos para usarse en intercedes, una familia destaca como la ms usada en la interconectividad. Formalmente, se conoce como la familia de protocolos TCP/IP de Internet; casi todos los expertos en informtica la llaman TCP/IP. TCP/IP fue la primera familia de protocolos desarrollado para usarse en intercedes. El trabajo sobre TCP/IP comenz en los aos 70s casi al mismo tiempo que se desarrollaban las LAN. El ejercito de los EUA financio gran parte del desarrollo del TCP/IP y la nter conectividad por medio de la Agencia de Investigacin Avanzada de Proyectos (ARPA). Las instituciones militares fueron las primeras organizaciones que tuvieron varias redes. A mediados de los 80s, la Fundacin Nacional de Ciencias y otras dependencias gubernamentales de los Estados Unidos financiaron el desarrollo de TCP/IP y de una interred grande para probar los protocolos. Dejar un comentario Archivado bajo Uncategorized 3:41 am UNIDAD 2: Protocolo TCP/IP TCP/IP es el protocolo comn 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, adems de todos los medios y formas posibles de conexin. Aqu se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargar de que la comunicacin 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 ms importantes son el TCP (Transmission Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. 2.1 Servicios de TCP/IP DNS En el grupo de protocolos TCP-IP se encuentran los protocolos de resolucin de nombres por direcciones IP. Estos protocolos permiten a las aplicaciones tener acceso a los servicios de un computador a travs del uso de un nombre. Para ello debe existir un 4. mecanismo que permita la resolucin y asociacin de una direccin IP por un nombre. El mecanismo de asociacin consiste en una base de datos donde se encuentran las asociaciones de una direccin IP con su nombre respectivo. Y el mecanismo de resolucin consiste en identificar cual es la direccin IP asociada a un nombre. De esta manera los computadores de la red pueden ser accesados a travs de un nombre en vez de su direccin IP. En los comienzos de la red Internet la resolucin de nombres por nmeros IP se realizaba a travs de un archivo de texto llamado hosts. Este archivo de texto contena toda las direcciones IP asociadas al nombre asignado a cada computador. A medida que la red Internet fue creciendo este mtodo de resolucin de nombre por nmeros IP fue presentando problemas debido a que el archivo hosts era administrado por el administrador de cada red, de esta manera no se poda garantizar que un administrador no asignar el mismo nombre a mquinas distintas ubicadas en redes distintas. Esto trae como consecuencia la colisin de nombres e inconsistencia del archivo hosts a lo largo de una red en crecimiento. El formato de este archivo de texto es el siguiente: user@pc-1:~$ cat /etc/hosts 127.0.0.1 localhost pc-1 192.168.2.1 pc-2 Con el fin de resolver los problemas explicados anteriormente se desarroll el protocolo de Sistema de nombres de dominios DNS Domain Name System. Este protocolo es una base de datos distribuida que permite un control local sobre los segmentos de la base de datos en general, logrando que cada segmento est disponible a lo largo de toda la red Internet. El sistema de nombres de dominios utiliza un esquema cliente servidor. El protocolo DNS est compuesto por dos programas uno llamado servidor de nombres de dominios y otro llamado resolvers. Los servidores de nombres de dominios contienen la base de datos de un segmento y dicha base de datos es accesada por los clientes a travs de un programa conocido como resolvers. Los resolvers son rutinas utilizadas para tener acceso a la base de datos ubicada en los servidores de nombres de dominios con el fin de resolver la bsqueda de una direccin IP asociada a un nombre. 5. Estructura grfica de una base de datos DNS Protocolo DNS En la imagen podemos observar la estructura grfica de una base de datos DNS donde cada nodo es un nombre de dominio, Todos los nombres de dominios nacen a partir del dominio raz, el cual se denota con un punto. A su vez cada uno de estos nombres de dominio puede sub-dividirse. Por ejemplo, el dominio .org. incluye a dos nombres de dominio caida y kernel. Cada uno de estos nombres de dominio tienen dos nombres de dominio llamados http://www.caida.org. y http://ftp.caida.org y http://www.kernel.org. y http://ftp.kernel.org.. Esto implica que el nombre de dominio www asignado a dos computadores www.caida.org. y http://www.kernel.org.; gozan de un nombre de dominio nico. Cada uno de estos nombres de dominio son nombres de dominio completamente calificados FQDN, Full Qualified Domain Name. De esta manera dos computadoras pueden tener el mismo nombre s y slo s pertenecen a zonas distintas. Una zona representa las partes contiguas del rbol del dominio para el cual un servidor de nombres contiene la informacin completa y es autoridad del dominio. En la imagen podemos apreciar dos zonas Caida.org. y Kernel.org.. Los servidores de dominio de cada zona contienen en sus bases de datos la direccin IP asociada al nombre de dominio. El servidor de nombres de una zona puede delegar la responsabilidad del sistema de nombres de dominios a otro servidor de nombres de dominio con el fin de descentralizar la base de datos. Tal es el ejemplo de los servidores de nombres . raz presentados en la imagen. Estos servidores de nombres delegan sus zonas a los servidores de nombres del dominio org.. Como cada computadora est asociada a un nombre de dominio completamente calificado FQDN y un FQDN tiene asociado una direccin IP, esto implica que los servicios ofrecidos por una computadora pueden ser accesados a travs de un nombre 6. completamente calificado. El nombre de un dominio puede tener hasta 63 caracteres de longitud y puede pertenecer a cualquiera de los 127 niveles posibles. En el protocolo DNS no existe diferencia entre maysculas o minsculas. Un dominio puede ser una computadora o puede ser un nodo del cual parten otros dominios. Un nombre de dominio es un ndice dentro de la base de datos DNS. Los nombres indexados en un dominio son las rutas que conforman el espacio de nombres de dominio. El nombre completo asociado a una direccin IP es una secuencia de nombres de dominios asignados desde su nodo hasta el nodo raz. El espacio de dominio de la red Internet est dividido bsicamente en tres niveles: Nivel Raz, Nivel Tope y Nivel secundario. En la imagen podemos observar el nivel jerrquico de cada uno de estos niveles. Espacio de dominio de la red Internet Base de datos del protocolo DNS Cada servidor de nombres de dominio mantiene una base de datos que sirve para asociar los nombres de dominios con direcciones IP. Est base de datos se conoce con el nombre de archivos de la zona. Cada servidor de nombres de dominio tambin mantiene una base de datos de resolucin inversa. Esta base de datos se conoce con el nombre de archivos de resolucin inversa de la zona. Ambas bases de datos son manejadas por un servidor de nombres, el cual responde a las solicitudes hechas por el resolver. El formato de dichas bases de datos son archivos de texto donde se definen los registros de recurso Resource Records RR que sirven para especificar la relacin entre un nombre de dominio y una direccin IP adems sirve para especificar en qu zona del espacio de nombres de dominios el servidor de nombres de dominios pertenece. 7. La siguiente tabla presenta los registros de recursos ms comunes para la clase IN, es decir; Internet. Nombre del Recurso Tipo de Registro Funcin Inicio de autoridad SOA Parmetros que gobiernan la zona Servidor de nombres NS Indentifica el servidor de nombres de una Zona. Direccin A Asocia un nombre con una direccion IP Puntero PTR Asocia una direccion IP con un nombre. Bsqueda inversa Oficinas de Correo MX Indentifica donde deben ser enviados los correos electrnicos del dominio Nombre Canonico CNAME Define un alias para un nombre ya definido Informacion de estacin HINFO Utilizado para definir el hardware y/o Sistema operativo de un computador Servicios ofertados WKS Anuncia los servicios Text TXT Almacena cualquier informacin El formato de un registro de recurso es el siguiente: [nombre] [ttl] IN -. [nombre] es el nombre del objeto referenciado por el registro del recurso. Puede ser un nombre de estacin o un nombre de dominio. -. [ttl] es el tiempo de vida del registro. Define la cantidad de segundos que la informacin sobre este registro puede ser mantenida en la memoria de un servidor de dominios. Si el ttl es omitido usa el ttl indicado por el recurso definido en la seccin SOA. -. IN Identifica la clase del registro como clase Internet. -. Identifica el tipo de recurso de acuerdo a la tabla anterior. -. es la informacin especfica al tipo de recurso. FTP FTP significa File Transfer Protocol, protocolo de transferencia de ficheros. Es un servicio de Internet que permite transferencia de archivos. Se utiliza en modo cliente- servidor: conectados a un ordenador remoto (que acta como servidor y que es un gran ordenador permanentemente conectado a Internet) nuestro programa (cliente) nos permite solicitar la transferencia de archivos en cualquiera de las dos direcciones. El servidor de archivos debe admitir las transferencias de tipo FTP, por lo que deber ser un ordenador especialmente preparado para esta tarea. En nuestro ordenador necesitaremos un programa especfico; hay varios muy populares, gratuitos, algunos 8. incluso en castellano. A nuestro programa le indicaremos en primer lugar cul es el servidor que vamos a utilizar. Algunos servidores solamente admiten conexiones identificadas: el usuario debe iniciar su conexin mediante una identificacin (login) y una clave secreta (password). En ese caso, y dependiendo del usuario, se podr acceder a ms o menos directorios del servidor. Muchos servidores de FTP tambin admiten la posibilidad de hacer una conexin no identificada, annima: en tal caso debemos utilizar como identificativo la palabra anonymous; es de cortesa utilizar la direccin de correo electrnico como clave secreta, para que los administradores del servidor puedan llevar una estadstica de los diferentes accesos annimos. Tpicamente, los programas de FTP muestran en dos ventanas los archivos correspondientes a los directorios elegidos en el disco local y en el servidor. Existen procedimientos para cambiar el directorio de cualquiera de los dos ordenadores. En el caso del servidor remoto, es posible que la identificacin de la conexin no nos permita acceder a todos los directorios (esto puede ser as, tanto para las conexiones identificadas como para las annimas). Algunos servidores nos permitirn obtener archivos remotos, pero no nos consentirn el envo de ficheros hacia el servidor. Tpicamente la transferencia se realiza seleccionando en la lista los archivos que se desean transferir y pulsando en el botn correspondiente para que se inicie la transferencia. Es posible transferir varios archivos en bloque. Las transferencias pueden realizarse en dos modos: texto y binario; el primero es adecuado solo para los archivos de texto (ASCII o ANSI), mientras que el segundo es vlido para todos los ficheros. Los programas ms populares para realizar FTP son conocidos por los siguientes nombres: CuteFTP y WS_FTP. Se pueden conseguir fcilmente a travs del Web y, lamentablemente, estn en ingls. El sistema FTP est sufriendo una importante devaluacin porque la mayora de las transferencias pueden efectuarse desde pginas Web y utilizando el programa navegador, lo cual facilita y simplifica la tarea. Esto solo es vlido para transferencias descendentes (desde el servidor remoto al ordenador local) y en formato annimo. El servicio Web integra perfectamente este modo de FTP, que es el utilizado por la mayora de los usuarios. En cada directorio del servidor suele haber un archivo de texto que explica el contenido de los otros ficheros y de los subdirectorios. Con los programas ms potentes es posible acceder a este fichero (en una ventana) sin necesidad de guardar una copia en el disco duro local. Los directorios pueden estar organizados por temas, por sistemas operativos o por cualquier otro criterio. El sistema FTP tambin es usado habitualmente para colocar las pginas Web en los ordenadores que se dedican a este servicio. Las pginas son creadas en el disco duro y luego son transferidas utilizando el sistema FTP. DHCP 9. DHCP (Dynamic Host Configuration Protocol) son las siglas que identifican a un protocolo empleado para que los hosts (clientes) en una red puedan obtener su configuracin de forma dinmica a travs de un servidor del protocolo. Los datos as obtenidos pueden ser: la direccin IP, la mscara de red, la direccin de broadcast, las caractersticas del DNS, entre otros. El servicio DHCP permite acelerar y facilitar la configuracin de muchos hosts en una red evitando en gran medida los posibles errores humanos. Con una funcin similar a la del DHCP, pero con algunas restricciones, existe el BOOTP o Internet Bootstrap Protocol, el cual permite tambin la asignacin de la configuracin de red en forma dinmica pero a partir de su definicin esttica para cada cliente en una base de datos en el servidor. Esta informacin a diferencia de como se hace usualmente con DHCP no puede ser renovada. Bsicamente el servicio DHCP/BOOTP funciona de la siguiente forma. Existe un programa servidor en un host de la red que escucha las solicitudes de los clientes y que en su configuracin almacena tablas de posibles direcciones IP a otorgar adems del resto de la informacin. Cuando un cliente requiere del servicio enva una solicitud en forma de broadcast a travs de la red. Todos los servidores alcanzados por la solicitud responden al cliente con sus respectivas propuestas, este acepta una de ellas hacindoselo saber al servidor elegido, el cual le otorga la informacin requerida. Esta informacin se mantiene asociada al cliente mientras este no desactive su interfaz de red (posiblemente porque se apague la mquina) o no expire el plazo del contrato (lase time). El plazo del contrato o renta es el tiempo en que un cliente DHCP mantiene como propios los datos que le otorg un servidor. Este se negocia como parte del protocolo entre el cliente y el servidor. Una vez vencido el plazo del contrato el servidor puede renovar la informacin del cliente, fundamentalmente su direccin IP, y asignarle otra nueva o extender el plazo, manteniendo la misma informacin. El cliente puede solicitar tambin la renovacin o liberacin de sus Datos. 10. Representacin simplificada del protocolo DHCP. A continuacin se listan los principales mensajes que se intercambian como parte del protocolo DHCP y para que se emplea cada uno: DHCPDISCOVER mensaje de broadcast de un cliente para detectar los servidores. DHCPOFFER mensaje de un servidor hacia un cliente con una oferta de configuracin. DHCPREQUEST mensaje de un cliente a un servidor para: a) aceptar la oferta de un servidor determinado y por ende rechazar las otras 11. b) confirmar la exactitud de la informacin asignada antes del reinicio del sistema c) extender el contrato de una direccin IP determinada DHCPPACK mensaje del servidor hacia un cliente para enviarle la configuracin asignada excluyendo la direccin IP que ya fue aceptada. DHCPNAK mensaje del servidor al cliente para indicar que la direccin que tiene asignada es incorrecta (por ejemplo, cuando el cliente cambia de subred) o que el contrato ha expirado. DHCPDECLINE mensaje del cliente para el servidor indicando que an est usando una direccin determinada. DHCPRELEASE mensaje del cliente para el servidor para indicar que renuncia a la direccin otorgada y cancela lo que queda del contrato establecido anteriormente. DHCPINFORM mensaje del cliente para el servidor para pedir sus parmetros de configuracin excluyendo la direccin IP que ya tiene asignada. Un servidor de DHCP puede identificar a cada cliente a travs de dos formas fundamentales: La direccin MAC (Media Access Control) de la tarjeta de red del cliente. Un identificador que le indique el cliente. Aunque la idea central del servicio DHCP es la dinamicidad de las direcciones IP asignadas no se excluye la posibilidad de utilizar direcciones fijas para algunos hosts que por sus caractersticas lo requieran, ejemplo de ello son las mquinas proveedoras de dismiles servicios como el correo electrnico o el DNS. Este tipo de host utilizara las ventajas del servicio para obtener el resto de los datos que se pueden proveer mediante DHCP. En Linux la implementacin del servidor de DHCP y de BOOTP la mantiene la ISC (Internet Software Consortium). Esta se empaqueta en la distribucin Red Hat bajo el nombre dhcp. Existen adems otros dos paquetes asociados a este servicio que implementan la parte cliente: pump y dhcpcd. Las ventajas del uso de DHCP son: a) slo se configura un servidor para entregar nmeros IP para clientes de red b) se entregan todos los parmetros bsicos de TCP/IP c) facilidad de configuracin Las desventajas del uso de DHCP son: a) La seguridad 12. b) Al entregar nmeros IP dentro de la red, habiendo un DNS, no hay un puente intermedio entre DNS y DHCP directo. Es decir, hay que agregar las mquinas a mano en el DNS c) Mayor difusin de paquetes en la red, aunque hoy en da con la velocidad de las redes no parece demasiado problemtico. WWW La tecnologa World Wide Web surge en la Organizacin Europea para la Investigacin Nuclear CERN cuando Tim Berners-Lee propone la necesidad de implementar un sistema de gerencia de la informacin a fin de solucionar la prdida de informacin producida por la dinmica de la organizacin. El consorcio W3C fue creado en octubre de 1994 con el fin de estandarizar e implementar protocolos y especificaciones que promuevan: -. Nuevas formas de documentacin de la informacin y de comunicacin. -. La implementacin de protocolos y especificaciones no propietarias para asegurar la interoperabilidad entre sistemas operativos. Desde entonces, la tecnologa World Wide Web se ha convertido en el paradigma ms influyente en los actuales sistemas de informacin. 2.1 Arquitectura de TCP/IP Ya que dentro de un sistema TCP/IP los datos transmitidos se dividen en pequeos paquetes, stos resaltan una serie de caractersticas. La tarea de IP es llevar los datos a granel (los paquetes) de un sitio a otro. Las computadoras que encuentran las vas 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 estn correctos. Las lneas de comunicacin 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 conversacin telefnica. Una vez que establece una conexin, 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 cmo se pueden enviar datos y mensajes entre dos computadoras aunque no estn conectadas directamente entre s. Lo que realmente sorprende es que slo se necesitan algunos segundos para enviar un archivo de buen tamao de una mquina a otra, aunque estn separadas por miles de kilmetros y pese a que los datos tienen que pasar por mltiples computadoras. Una de las razones de la rapidez es que, cuando algo anda mal, slo es necesario volver a transmitir un paquete, no todo el mensaje. 13. Los paquetes no necesitan seguir la misma trayectoria. La red puede llevar cada paquete de un lugar a otro y usar la conexin ms idnea 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 enva un mensaje, el TCP divide los datos en paquetes, ordena stos en secuencia, agrega cierta informacin para control de errores y despus 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 algn punto, el programa TCP destino enva un mensaje solicitando que se vuelvan a enviar determinados paquetes. CMO FUNCIONA TCP/IP - IP: IP a diferencia del protocolo X.25, que est orientado a conexin, es sin conexin. 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, quizs 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 travs de la red interred, posiblemente fragmentndose en unidades ms pequeas, durante su recorrido normal. Al final, cuando todas las piezas llegan a la mquina 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 se muestra el formato de la cabecera. El campo Versin indica a qu versin del protocolo pertenece cada uno de los datagramas. Mediante la inclusin de la versin en cada datagrama, no se excluye la posibilidad de modificar los protocolos mientras la red se encuentre en operacin. 14. El campo Opciones se utiliza para fines de seguridad, encaminamiento fuente, informe de errores, depuracin, sellado de tiempo, as como otro tipo de informacin. Esto, bsicamente, proporciona un escape para permitir que las versiones subsiguientes de los protocolos incluyan informacin que actualmente no est presente en el diseo original. Tambin, para permitir que los experimentadores trabajen con nuevas ideas y para evitar, la asignacin de bits de cabecera a informacin 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 mnimo es de 5. Tamao 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 ms importante la entrega rpida que corregir errores de transmisin. En tanto que, para la transferencia de archivos, resulta ms importante tener la transmisin fiable que entrega rpida. Tambin, es posible tener algunas otras combinaciones, desde un trfico rutinario, hasta una anulacin instantnea. Tamao 8 bit. La Longitud total incluye todo lo que se encuentra en el datagrama -tanto la cabecera como los datos. La mxima longitud es de 65 536 octetos(bytes). Tamao 16 bit. El campo Identificacin se necesita para permitir que el hostal destinatario determine a qu datagrama pertenece el fragmento recin llegado. Todos los fragmentos de un datagrama contienen el mismo valor de identificacin. Tamao 16 bits. Enseguida viene un bit que no se utiliza, y despus 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, supngase que se tiene un datagrama que se carga en un micro pequeo para su ejecucin; podra marcarse con DF porque la ROM de micro espera el programa completo en un datagrama. Si el datagrama no puede pasarse a travs de una red, se deber encaminar sobre otra red, o bien, desecharse. Las letras MF significan ms fragmentos. Todos los fragmentos, con excepcin del ltimo, debern tener ese bit puesto. Se utiliza como una verificacin 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 excepcin del ltimo, debern ser un mltiplo de 8 octetos, que es la unidad elemental de fragmentacin. Dado que se proporcionan 13 bits, hay un mximo de 8192 fragmentos por datagrama, dando as una longitud mxima de datagrama de 65 536 octetos, que coinciden con el campo Longitud total. Tamao 16 bits. 15. 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, permitindose un tiempo de vida mximo de 255 segundos. Tamao 8 bits. Cuando la capa de red ha terminado de ensamblar un datagrama completo, necesitar saber qu hacer con l. El campo Protocolo indica, a qu proceso de transporte pertenece el datagrama. El TCP es efectivamente una posibilidad, pero en realidad hay muchas ms. Protocolo: El nmero utilizado en este campo sirve para indicar a qu protocolo pertenece el datagrama que se encuentra a continuacin de la cabecera IP, de manera que pueda ser tratado correctamente cuando llegue a su destino. Tamao: 8 bit. El cdigo 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 continuacin, sino que estos datos de usuario se comprobarn posteriormente a partir del cdigo de redundancia de la cabecera siguiente, y que corresponde al nivel de transporte. Este campo debe calcularse de nuevo cuando cambia alguna opcin de la cabecera, como puede ser el tiempo de vida. Tamao: 16 bit La Direccin de origen contiene la direccin del host que enva el paquete. Tamao: 32 bit. La Direccin de destino: Esta direccin es la del host que recibir la informacin. Los routers o gateways intermedios deben conocerla para dirigir correctamente el paquete. Tamao: 32 bit. Dejar un comentario Archivado bajo Uncategorized 3:41 am UNIDAD 3: Protocolo de Internet (IP) 3.1 Esquema de Direccionamiento IP 3.2 Jerarqua de Direcciones IP Las redes deben ser segmentadas por aspectos de rendimiento, seguridad y administracin. Para dividir redes, necesitamos el direccionamiento jerrquico, el cual identifica cada host de manera exclusiva, pero tambin identifica a las redes. Este direccionamiento jerrquico puede ser de 2 niveles o 3 niveles. Jerarqua de dos niveles (sin subnetting). 16. Cada direccin en el bloque se puede considerar como una estructura jerrquica de dos niveles: Los n bits ms a la izquierda (prefijo) definen la red. Los 32 n bits ms a la derecha (sufijo) definen el nodo. Jerarqua de tres niveles (subnetting) La divisin de un grupo en subredes, crea tres niveles jerrquicos: Los n bits ms a la izquierda (prefijo) definen la red. Los nx bits que siguen al prefijo de red definen la subred. Los 32 ( n + nx ) bits ms a la derecha (sufijo) definen el nodo. 3.3 Clases de Direcciones IP La notacin que se utiliza para expresar una direccin IP se conoce como notacin por puntos: Consiste en expresar los 4 octetos de la direccin en formato decimal separados por puntos. Cada uno de estos nmeros vara entre 0 y 255. Por ejemplo: Los Campos que componen la direccin IP: CAMPO DE RED.- El nmero que identifica la red a la que se conecta un dispositivo. CAMPO DE HOST.- Corresponde al host o dispositivo especfico de esa red. 17. Estas direcciones IP se clasifican en 5 clases: A, B, C, D y E. El factor que va a determinar la clase de una IP va a ser el octeto 1. En la actualidad se usan slo las clases A, B y C, las clases D y E, se usan slo para fines de estudio e investigacin. Veamos los posibles rangos. A continuacin se describen las clases de IP y las organizaciones que tpicamente reciben esa asignacin. Clase A: Se dise para admitir redes de tamao extremadamente grande. Consta de 126 redes, estas redes consisten en 16.777.214 direcciones posibles que se pueden asignar a los dispositivos y los ordenadores. Las direcciones IP Clase A utilizan slo el primer octeto para indicar la direccin de la red. Los tres octetos restantes son para las direcciones host. El valor ms alto que se puede representar es 01111111, 127 decimal. Estos nmeros 0 y 127 quedan reservados y no se pueden utilizar como direcciones de red. Cualquier direccin que comience con un valor entre 1 y 126 en el primer octeto es una direccin Clase A. Clase B: La direccin Clase B se dise para cumplir las necesidades de redes de tamao moderado a grande. 18. Esta clase se compone de 16.384 redes individuales, cada una contiene 65.534 direcciones IP posibles. Una direccin IP Clase B utiliza los primeros dos de los cuatro octetos para indicar la direccin de la red. Los dos octetos restantes especifican las direcciones del host. Los primeros dos bits del primer octeto de la direccin Clase B siempre son 10. Los seis bits restantes pueden poblarse con unos o ceros. Por lo tanto, el menor nmero que puede representarse en una direccin Clase B es 10000000, 128 decimal. El nmero ms alto que puede representarse es 10111111, 191 decimal. Cualquier direccin que comience con un valor entre 128 y 191 en el primer octeto es una direccin Clase B. Clase C: En general se asigna a las medianas y pequeas empresas. Hay un total de 2.097.152 redes clase C disponibles, cada una compuesta de 255 direcciones IP individuales. Las redes de clase C utilizan los tres primeros segmentos de direccin como identificador de red y slo el ltimo segmento para identificar el ordenador. Una direccin Clase C comienza con el binario 110. Por lo tanto, el menor nmero que puede representarse es 11000000, 192 decimal. El nmero ms alto que puede representarse es 11011111, 223 decimal. Si una direccin contiene un nmero entre 192 y 223 en el primer octeto, es una direccin de Clase C. Clase D: La direccin Clase D se cre para permitir multicast en una direccin IP. Una direccin multicast es una direccin exclusiva de red que dirige los paquetes con esa direccin destino hacia grupos predefinidos de direcciones IP. Por lo tanto, una sola estacin puede transmitir de forma simultnea una sola corriente de datos a mltiples receptores. Los primeros cuatro bits de una direccin Clase D deben ser 1110. Por lo tanto, el primer rango de octeto para las direcciones Clase D es 11100000 a 11101111, o 224 a 239. Una direccin IP que comienza con un valor entre 224 y 239 en el primer octeto es una direccin Clase D. 19. Clase E: Las direcciones de la clase E estn reservadas para uso experimental. Los primeros cuatro bits de una direccin Clase E siempre son 1s. Por lo tanto, el rango del primer octeto para las direcciones Clase E es 11110000 a 11111111, o 240 a 255. En conclusin: 3.4 Mascaras de Subred Subred En 1985, RFC 950 defini un procedimiento estndar para soportar la divisin en subredes (Subnetting) de una direccin de Clase A, B o C. El direccionamiento de subred se introdujo para solucionar algunos de los problemas que estaban empezando a surgir en Internet como consecuencia de la jerarqua de direccionamiento en dos niveles de cada una de las clases: Las tablas de encaminamiento de Internet estaban creciendo sustancialmente. Los administradores locales deban pedir un nuevo identificador de red cada vez que queran instalar una nueva red en su organizacin, aun cuando no hubieran agotado el espacio de direcciones del que disponan. Ambos problemas fueron atacados aadiendo otro nivel de jerarqua en la estructura de direcciones IP. En lugar de la jerarqua de dos niveles, el direccionamiento de subred soporta una jerarqua de tres niveles. La Figura 1 ilustra la idea bsica del direccionamiento de subred, que es dividir el identificador de nodo estndar de las clases bsicas en dos partes, un identificador o nmero de subred y el identificador de nodo en dicha subred. 20. Figura 1. Jerarquas de Direccionamiento de Subred Mascara La mscara permite distinguir los bits que identifican la red y los que identifican el host de una direccin IP, est conformado por un nmero de 32 bits, cuyo valor se forma bajo las siguientes reglas: Los dgitos 1 (unos) en la mscara de subred corresponden a la posicin del identificativo de red es decir al netID y al nmero de subred en la direccin IP. Los dgitos 0 (ceros) en la mscara de subred corresponde al nmero de host. La figura 2 muestra la aplicacin de estas reglas. Aqu se emplea un nmero de red clase B para subnetting. Se asignan 8 bits del campo de hostID como nmero de subred. La mscara de subred es un patrn de 32 bits y convencionalmente se escribe en la forma de notacin decimal con puntos. sta se muestra tambin en la figura. Debido que a un grupo de ocho dgitos 1 (unos) corresponde al valor decimal de 255, la mscara de subred puede escribirse de la siguiente manera: 255.255.0.0. Figura 2. Re presentacin de mscara de subred(subnet mask) En la siguiente tabla muestra las mascaras de red correspondientes a cada clase, como una red clase tiene 8 bits para red y 24 bits para host, la mascara de red 8 bits en uno y 24 bits en cero. 21. Tabla 1. Mscara por defecto Para que un dispositivo conozca la direccion de la subred aplica la operacin AND booleana entre la direccion IP y la mscara de subred. Cuando se aplica la mscara de subred a la direccin IP, se ponen en 0 los bits del sufijo de hosts. La mscara de subred fija los bits del prefijo de red y de subred. Esta operacin es realizada por los routers para tomar decisiones de enrutamiento. Por ejemplo: Para calcular las subredes se aplica la siguiente frmula: o Para el caso de las subredes: Es 2 elevado a la cantidad de bits (los unos), que se tomaron para crear subredes menos 2: 2[bits de subred] 2 o Para el caso de los Hosts: Es 2 elevado a la cantidad restante desde host que quedan (los ceros): 2[bits de hosts] 2 El menos 2 es debido a que se descartan las direcciones de subred y de broadcasts de la red, aplicando estas frmulas se obtiene las cantidades de subredes y de hosts por subred utilizables. 3.5 Protocolos de Resolucin de Direcciones: ARP y RARP Aunque en Internet cada mquina tiene una (o ms) direcciones IP, en realidad stas no pueden usarse para enviar paquetes porque el hardware de capa de enlace de datos no entiende las direcciones de Internet. Hoy da, la mayora de los hosts en las compaas y universidades se une a una LAN por una tarjeta de red que slo entiende direcciones LAN. El Protocolo de resolucin de direcciones (ARP) es un estndar TCP/IP necesario que est definido en RFC 826, Address Resolution Protocol. ARP resuelve direcciones IP que utiliza el software basado en TCP/IP para las direcciones de control de acceso a medios empleadas por el hardware de LAN, es decir es responsable de convertir las direccin de protocolo de alto nivel (direcciones IP) a direcciones de red fsicas. ARP se emplea en redes IEEE 802 adems de en las viejas redes DIX Ethernet para mapear direcciones IP a direccin hardware. ARP proporciona los siguientes servicios de protocolo a hosts que se encuentran en la misma red fsica: Las direcciones de control de acceso a medios se obtienen mediante una solicitud de difusin de red en forma de la pregunta Cul es la 22. direccin de control de acceso a medios de un dispositivo configurado con la direccin IP adjunta? Cuando se responde a una solicitud ARP, el remitente de la respuesta ARP y el solicitante de ARP original registran sus direcciones IP y de control de acceso a medios respectivos como una entrada en una tabla local, llamada la cach de ARP, para su uso posterior como referencia. El hardware creado para uso en redes LAN debe contener una direccin nica que el fabricante programa en el dispositivo. En el hardware para redes LAN Ethernet y Token Ring, esta direccin se conoce como la direccin de control de acceso a medios. Cada direccin de control de acceso a medios identifica el dispositivo en su propia red fsica con un nmero de 6 bytes programado en la memoria de slo lectura de cada dispositivo de hardware fsico, por ejemplo, un adaptador de red. Las direcciones de control de acceso a medios suelen mostrarse en formato hexadecimal (por ejemplo, 00-AA-00-3F-89-4A). Cmo resuelve ARP las direcciones de control de acceso a medios para el trfico local La siguiente ilustracin muestra cmo resuelve ARP las direcciones IP en direcciones de hardware de hosts que se encuentran en la misma red local. En este ejemplo, dos hosts TCP/IP, los hosts A y B, se encuentran en la misma red fsica. El host A tiene asignada la direccin IP 10.0.0.99 y el host B la direccin IP 10.0.0.100. Cuando el host A intenta comunicarse con el host B, los siguientes pasos permiten resolver la direccin asignada por el software al host B (10.0.0.100) en la direccin de control de acceso a medios asignada por el hardware al host B: 1. Segn el contenido de la tabla de enrutamiento del host A, IP determina que la direccin IP de reenvo que se va a utilizar para llegar al host B es 10.0.0.100. Despus, el host A busca en su propia cach de ARP local una direccin de hardware coincidente para el host B. 2. Si el host A no encuentra ninguna asignacin en la cach, difunde una trama de solicitud ARP a todos los hosts de la red local con la pregunta Cul es la direccin de hardware para 10.0.0.100? Las direcciones de hardware y software del origen, el host A, se incluyen en la solicitud ARP. 23. 3. Cada host de la red local recibe la solicitud ARP y comprueba si coincide con su propia direccin IP. Si el host no encuentra una coincidencia, descarta la solicitud ARP. 4. El host B determina que la direccin IP especificada en la solicitud ARP coincide con su propia direccin IP y agrega una asignacin de direcciones de hardware y software para el host A a su cach de ARP local. 5. El host B enva directamente un mensaje de respuesta de ARP que contiene su direccin de hardware al host A. 6. Cuando el host A recibe el mensaje de respuesta de ARP del host B, actualiza su cach de ARP con una asignacin de direcciones de hardware y software para el host B. Una vez determinada la direccin de control de acceso a medios del host B, el host A puede enviar al host B trfico IP que se dirigir a la direccin de control de acceso a medios del host B. Cmo resuelve ARP las direcciones de control de acceso a medios para el trfico remoto ARP tambin se utiliza para reenviar datagramas IP a enrutadores locales de destinos que no se encuentran en la red local. En estos casos, ARP resuelve la direccin de control de acceso a medios de la interfaz de un enrutador en la red local. En la siguiente ilustracin se muestra cmo resuelve ARP las direcciones IP en direcciones de hardware de dos hosts que se encuentran en redes fsicas diferentes conectadas por un enrutador comn. En este ejemplo, el host A tiene asignada la direccin IP 10.0.0.99 y el host B la direccin IP 192.168.0.99. La interfaz del enrutador 1 se encuentra en la misma red fsica que el host A y utiliza la direccin IP 10.0.0.1. La interfaz del enrutador 2 se encuentra en la misma red fsica que el host B y utiliza la direccin IP 192.168.0.1. Cuando el host A intenta comunicarse con el host B, los siguientes pasos permiten resolver la direccin asignada por el software a la interfaz del enrutador 1 (10.0.0.1) en la direccin de control de acceso a medios asignada por el hardware: 24. 1. Segn el contenido de la tabla de enrutamiento del host A, IP determina que la direccin IP de reenvo que se va a utilizar para llegar al host B es 10.0.0.1, la direccin IP de la puerta de enlace predeterminada. Despus, el host A busca en su propia cach de ARP local una direccin de hardware coincidente para 10.0.0.1. 2. Si el host A no encuentra ninguna asignacin en la cach, difunde una trama de solicitud ARP a todos los hosts de la red local con la pregunta Cul es la direccin de hardware para 10.0.0.1? Las direcciones de hardware y software del origen, el host A, se incluyen en la solicitud ARP. 3. Cada host de la red local recibe la solicitud ARP y comprueba si coincide con su propia direccin IP. Si el host no encuentra una coincidencia, descarta la solicitud ARP. 4. El enrutador determina que la direccin IP especificada en la solicitud ARP coincide con su propia direccin IP y agrega una asignacin de direcciones de hardware y software para el host A a su cach de ARP local. 5. Despus, el enrutador enva directamente un mensaje de respuesta de ARP que contiene su direccin de hardware al host A. 6. Cuando el host A recibe el mensaje de respuesta de ARP del enrutador, actualiza su cach de ARP con una asignacin de direcciones de hardware y software para 10.0.0.1. Una vez determinada la direccin de control de acceso a medios de la interfaz del enrutador 1, el host A puede enviar a la interfaz del enrutador 1 trfico IP que se dirigir a la direccin de control de acceso a medios de esa interfaz. Posteriormente, el enrutador reenva el trfico al host B mediante el mismo proceso ARP que se describe en esta seccin. Se pueden hacer varias optimizaciones para que ARP trabaje con ms eficiencia. Para empezar, una vez que una mquina ha ejecutado ARP, guarda el resultado en caso de tener que ponerse en poco tiempo de nuevo en contacto con la misma mquina. La siguiente vez encontrar la correspondencia en su propio cach, eliminando as la necesidad de una segunda difusin. Para permitir que las correspondencias cambien, por ejemplo, cuando una tarjeta Ethernet falla y se reemplaza con una nueva (y, por lo tanto, una nueva direccin Ethernet), las entradas en el cach ARP deben expirar en unos cuantos minutos. La ventaja de usar ARP en lugar de archivos de configuracin es la sencillez. El gerente de sistemas slo tiene que asignar a cada mquina una direccin IP y decidir respecto de las mscaras de subred. ARP hace el resto. RARP (Protocolo de Resolucin de Direccin de Retorno) ARP resuelve el problema de encontrar qu direccin Ethernet corresponde a una direccin IP dada. A veces se tiene que resolver el problema inverso: dada una direccin Ethernet, cul es la direccin IP correspondiente? En particular, este problema ocurre cuando se inicializa una estacin de trabajo sin disco. 25. La primera solucin inventada fue usar el RARP (Protocolo de Resolucin de Direccin de Retorno) (su definicin est en el RFC 903). Este protocolo permite que una estacin de trabajo recientemente inicializada transmita su direccin Ethernet y diga: Mi direccin Ethernet de 48 bits es 14.04.05.18.01.25. Alguien all afuera conoce mi direccin IP? El servidor RARP ve esta solicitud, busca la direccin Ethernet en sus archivos de configuracin y devuelve la direccin IP correspondiente. Usar RARP es mejor que incrustar una direccin IP en la imagen de memoria porque esto permite usar la misma imagen en todas las mquinas. Si la direccin IP se incrustara en la imagen, cada estacin de trabajo necesitara su propia imagen. Una desventaja de RARP es que usa una direccin de destino de todos los 1s (de difusin limitada) para llegar al servidor RARP. Sin embargo, dichas difusiones no las envan los enrutadores, por lo que se necesita un servidor RARP en cada red. 3.6 Datagramas IP Los datos circulan en Internet en forma de datagramas (tambin conocidos como paquetes). Los datagramas son datos encapsulados, es decir, datos a los que se les agrega un encabezado que contiene informacin sobre su transporte (como la direccin IP de destino). Los routers analizan (y eventualmente modifican) los datos contenidos en un datagrama para que puedan transitar. A continuacin se indica cmo se ve un datagrama: A continuacin se indican los significados de los diferentes campos: 26. Versin (4 bits): es la versin del protocolo IP que se est utilizando (actualmente se utiliza la versin 4 IPv4) para verificar la validez del datagrama. Est codificado en 4 bits. Longitud del encabezado o IHL por Internet Header Length (Longitud del encabezado de Internet) (4 bits): es la cantidad de palabras de 32 bits que componen el encabezado (Importante: el valor mnimo es 5). Este campo est codificado en 4 bits. Tipo de servicio (8 bits): indica la forma en la que se debe procesar el datagrama. Longitud total (16 bits): indica el tamao total del datagrama en bytes. El tamao de este campo es de 2 bytes, por lo tanto el tamao total del datagrama no puede exceder los 65536 bytes. Si se lo utiliza junto con el tamao del encabezado, este campo permite determinar dnde se encuentran los datos. Identificacin, indicadores y margen del fragmento son campos que permiten la fragmentacin de datagramas. Esto se explica a continuacin. TTL o Tiempo de vida (8 bits): este campo especifica el nmero mximo de routers por los que puede pasar un datagrama. Por lo tanto, este campo disminuye con cada paso por un router y cuando alcanza el valor crtico de 0, el router destruye el datagrama. Esto evita que la red se sobrecargue de datagramas perdidos. Protocolo (8 bits): este campo, en notacin decimal, permite saber de qu protocolo proviene el datagrama. ICMP 1 IGMP: 2 TCP: 6 UDP: 17 Suma de comprobacin del encabezado (16 bits): este campo contiene un valor codificado en 16 bits que permite controlar la integridad del encabezado para establecer si se ha modificado durante la transmisin. La suma de comprobacin es la suma de todas las palabras de 16 bits del encabezado (se excluye el campo suma de comprobacin). Esto se realiza de tal modo que cuando se suman los campos de encabezado (suma de comprobacin inclusive), se obtenga un nmero con todos los bits en 1. Direccin IP de origen (32 bits): Este campo representa la direccin IP del equipo remitente y permite que el destinatario responda. Direccin IP de destino (32 bits): direccin IP del destinatario del mensaje. 3.7 Ruteo IP El enrutamiento IP es una parte integral de la capa de Internet del conjunto TCP/IP. El enrutamiento consiste en asegurar el enrutamiento de un datagrama de IP a travs de la red por la ruta ms corta. A esta funcin la llevan a cabo los equipos denominados routers, es decir, equipos que conectan al menos dos redes. 27. En trminos generales, el enrutamiento es el proceso de reenviar paquetes entre dos redes conectadas. En cuanto a las redes basadas en TCP/IP, el enrutamiento forma parte del Protocolo Internet (IP) y se utiliza junto con otros servicios de protocolo de red para proporcionar capacidades de reenvo entre hosts que se encuentran en segmentos de red distintos dentro de una red basada en un TCP/IP ms grande. IP es la oficina de correos del protocolo TCP/IP, donde se ordenan y entregan los datos IP. Cada paquete entrante o saliente se denomina datagrama IP. Un datagrama IP contiene dos direcciones IP: la direccin de origen del host que realiza el envo y la direccin de destino del host receptor. A diferencia de las direcciones de hardware, las direcciones IP de un datagrama siguen siendo las mismas durante su transmisin a travs de una red TCP/IP. El enrutamiento es la funcin principal de IP. Los datagramas IP se intercambian y procesan en cada host mediante IP en el nivel de Internet. Por encima del nivel IP, los servicios de transporte del host de origen transmiten los datos en forma de segmentos TCP o mensajes UDP al nivel IP. El nivel IP ensambla los datagramas IP con la informacin de las direcciones de origen y destino, que se utiliza para enrutar los datos a travs de la red. A continuacin, el nivel IP transmite los datagramas al nivel de interfaz de red. En este nivel, los servicios de vnculos de datos convierten los datagramas IP en tramas para la transmisin en una red fsica a travs de medios especficos de la red. Este proceso se produce en el orden inverso en el host de destino. Cada datagrama IP contiene una direccin IP de origen y de destino. En cada host, los servicios del nivel IP examinan la direccin de destino de cada datagrama, comparan esta direccin con una tabla de enrutamiento mantenida localmente y, despus, deciden qu accin de reenvo se debe realizar. Los enrutadores IP estn conectados a dos o ms segmentos de red IP habilitados para reenviar paquetes entre ellos. Las siguientes secciones tratan con ms detalle los enrutadores IP y el uso de tablas de enrutamiento. Los segmentos de red TCP/IP estn conectados entre s mediante enrutadores IP, que son los dispositivos que transmiten los datagramas IP desde un segmento de red a otro. Los enrutadores IP proporcionan el medio principal para unir dos o ms segmentos de red IP separados fsicamente. Todos los enrutadores IP comparten dos caractersticas fundamentales: Los enrutadores IP son de hosts mltiples. Un equipo de hosts mltiples es un host de red que utiliza dos o ms interfaces de conexin de red para conectarse a cada segmento de red separado fsicamente. Los enrutadores IP permiten el reenvo de paquetes a otros hosts TCP/IP. Los enrutadores IP se diferencian de otros hosts multitarjeta en una caracterstica importante: un enrutador IP debe ser capaz de reenviar la comunicacin basada en IP entre redes para otros hosts de la red IP. 28. Los enrutadores IP se pueden implementar mediante varios productos de hardware y software posibles. Comnmente se utilizan enrutadores basados en hardware (dispositivos de hardware dedicados que ejecutan software especializado). Adems, se pueden utilizar soluciones de enrutamiento basadas en software, como los servicios de enrutamiento y acceso remoto. 3.8 Encapsulamiento IP Omar Aguirre Todas las comunicaciones de una red se originan en una fuente y son enviadas a un destino. El encapsulamiento envuelve los datos con la informacin de protocolo necesaria antes de transitar por la red. As, mientras la informacin se mueve hacia abajo por las capas del modelo OSI, cada capa aade un encabezado, y un trailer si es necesario, antes de pasarla a una capa inferior. Los encabezados y trailers contienen informacin de control para los dispositivos de red y receptores para asegurar la apropiada entrega de los datos y que el receptor interprete correctamente lo que recibe. Paso 1: los datos de usuario son enviados por una aplicacin a la capa de aplicacin. Paso 2: La capa de aplicacin aade el encabezado (layer 7 Header) a los datos, el encabezado y los datos originales pasan a la capa de presentacin. Paso 3: La capa de presentacin recibe los datos provenientes de la capa superior, incluyendo el encabezado agregado, y los trata como slo datos, aade su encabezado a los datos, y los pasa a la capa de sesin Paso 4: la capa de sesin recibe los datos y aade su encabezado, lo pasa a la capa de transporte. Paso 5: la capa de transporte recibe los datos y aade su encabezado, pasa los datos a la capa inferior. 29. Paso 6: la capa de red aade su encabezado y los pasa a la capa de enlace de datos. Paso 7: la capa de enlace de datos aade el encabezado y un trailer (cola) a los datos, usualmente es un Frame Check Sequence, que usa el receptor para detectar si los datos enviados estn o no en error. Esto envuelve los datos que son pasados a la capa fsica. Paso 8: la capa fsica entonces transmite los bits hacia el medio de red. Ejemplo: Se tienen 60 bytes del datagrama, ordenados en grupos de 8 bytes por rengln para su fcil lectura, y con la numeracin en valores hexadecimales: 1 000000: 45 00 00 3C 82 47 00 00 E..>>FF05::B3 ::132.248.204.49 Tipos de Direcciones Unicast, Anycast, Multicast Direcciones de 128 bits Dejar un comentario Archivado bajo Uncategorized 3:39 am UNIDAD 4: Protocolo de Datagramas de Usuario (UDP) Internet tiene dos protocolos principales en la capa de transporte, uno orientado y otro no orientado a la conexin, mejor conocido como UDP. Este protocolo proporciona una forma para que las aplicaciones enven datagramas IP encapsulados sin tener que establecer una conexin. UDP est descrito en el RFC 768. Ilustracin 1 UDP de forma grfica UDP cuenta con las siguientes caractersticas: 36. Sin conexin Los nodos envan mensajes UDP, que consta de un encabezado UDP y un mensaje, sin tener que negociar una conexin entre los compaeros de comunicacin. Poco fiable Los nodos envan mensajes como datagramas UDP sin secuencia o reconocimiento. El protocolo de capa de aplicacin debe reordenar y recuperar los mensajes perdidos. Los protocolos basados en UDP de capa de aplicacin deben ofrecer su propio servicio confiable o retransmitir mensajes UDP peridicamente o despus de un definido valor de tiempo. Ofrece identificacin de los protocolos de la capa de aplicacin UDP proporciona un mecanismo para enviar mensajes a un protocolo de capa de aplicacin o proceso especfico en un host de red interna. La cabecera UDP proporciona la fuente y el proceso de identificacin de destino. Proporciona una suma de verificacin (checksum) del mensaje UDP La cabecera UDP otorga una suma de verificacin de 16 bits del mensaje entero de UDP. UDP es un reflejo directo de los servicios de datagrama de IP, excepto que UDP proporciona un mtodo para pasar los datos a un protocolo de capa de aplicacin. UDP no proporciona los servicios de entrega siguientes: Almacenamiento en el bfer UDP no proporciona ningn tipo de almacenamiento en bfer de los datos entrantes o salientes. El protocolo de capa de aplicacin debe proporcionar todo el almacenamiento en bfer. Segmentacin UDP no proporciona ningn tipo de segmentacin de los grandes bloques de datos. Por lo tanto, la aplicacin debe enviar los datos en pequeos bloques suficientes para que los datagramas IP de los mensajes UDP no sean mayores que la unidad de transmisin mxima (MTU en ingls) de la interfaz en la que se envan. De lo contrario, IP enva los fragmentos al host del mensaje UDP. Control de flujo UDP no proporciona ningn control de flujo para el emisor ni para el receptor. Los remitentes de mensajes UDP pueden reaccionar a la recepcin de un mensaje del Protocolo de Control de Mensajes de Internet (ICMP), pero no es necesario. 4.1 Difusin y Multienvo UDP transmite segmentos que consisten en un encabezado de 8 bytes seguido por la carga til. Existen dos puertos sirven para identificar los puntos terminales dentro de las mquinas de origen y destino. Cuando llega un paquete UDP, su carga til se entrega al proceso que est enlazado al puerto de destino. De hecho, el valor principal de contar con UDP en lugar de simplemente utilizar el IP puro es la adicin de los puertos de origen y destino. Sin los campos de puerto, la capa de transporte no sabra qu hacer con el paquete. Con ellos, entrega los segmentos de manera correcta. Un rea en la que UDP es especialmente til es en las situaciones cliente-servidor. Con frecuencia, el cliente enva una solicitud corta al servidor y espera una respuesta corta. Si se pierde la solicitud o la respuesta, el cliente simplemente puede terminar y probar nuevamente. El cdigo no slo es simple, sino que se necesitan muy pocos mensajes 37. (uno en cada direccin) en comparacin con un protocolo que requiere una configuracin inicial. Una aplicacin que utiliza de esta manera a UDP es DNS (el Sistema de Nombres de Dominio). En resumen, un programa que necesita buscar la direccin IP de algn host puede enviar al servidor DNS un paquete UDP que contenga el nombre de dicho host. El servidor responde con un paquete UDP que contiene la direccin IP del host. No se necesita configuracin por adelantado ni tampoco liberacin posterior. Slo dos mensajes viajan a travs de la red. Si el protocolo de capa de aplicacin proporciona a sus propios servicios confiables de entrega de datos, no hay necesidad de que el protocolo de capa de transporte los otorgue. Ejemplos de protocolos fiables de capa de aplicacin son Trivial File Transfer Protocol (TFTP) y Network File System (NFS). Si el protocolo de capa de aplicacin peridicamente anuncia la informacin, la entrega confiable no es necesaria. Si un anuncio se pierde, se anuncia de nuevo en un intervalo de tiempo. Un ejemplo de un protocolo de capa de aplicacin que anuncia entregas peridicamente es el Routing Information Protocol (RIP). UDP utiliza el protocolo RTP(Protocolo de Transporte en Tiempo Real) para poder multiplexar varios flujos de datos en tiempo real en un solo flujo de paquetes. RTP opera de la siguiente forma: La aplicacin multimedia consiste en mltiples flujos de audio, vdeo, texto, entre otros. stos se colocan en la biblioteca RTP, la cual est en el espacio de usuario junto con la aplicacin. Esta biblioteca multiplexa los flujos y los codifica en paquetes RTP, que despus coloca en un socket. En el otro extremo del socket (en el kernel del sistema operativo), los paquetes UDP se generan e incrustan en paquetes IP. Si la computadora est en una Ethernet, los paquetes IP se colocan a continuacin en tramas Ethernet para su transmisin. El flujo UDP se puede enviar a un solo destino (unidifusin) o a mltiples destinos (multidifusin). Debido a que RTP slo utiliza UDP normal, sus paquetes no son tratados de manera especial por los enrutadores, a menos que se habiliten algunas caractersticas de calidad de servicio IP normales. En particular, no hay garantas especiales acerca de la entrega, fluctuacin, etctera. A cada paquete enviado en un flujo RTP se le da un nmero ms grande que a su predecesor. Esta numeracin permite al destino determinar si falta algn paquete. Si falta alguno, la mejor accin que el destino puede realizar es aproximar el valor faltante mediante la interpolacin. La retransmisin no es una opcin prctica debido a que el paquete retransmitido probablemente llegar muy tarde como para ser til. En consecuencia, RTP no tiene control de flujo, control de errores, confirmaciones de recepcin ni ningn mecanismo para solicitar retransmisiones. Otra caracterstica que se necesita es la marcacin del tiempo (timestamping). La idea es permitir que el origen asocie una marca de tiempo con la primera muestra de cada paquete. Las marcas de tiempo son relativas al inicio del flujo, por lo que slo son importantes las diferencias entre dichas marcas de tiempo. Los valores absolutos no tienen significado. Este mecanismo permite que el destino realice una pequea cantidad de almacenamiento en bfer y reproduzca cada muestra el nmero exacto de milisegundos despus del inicio del flujo, independientemente de cundo lleg el 38. paquete que contiene la muestra. La marcacin del tiempo no slo reduce los efectos de la fluctuacin, sino que tambin permite que mltiples flujos estn sincronizados entre s. 4.2 Puertos de la Aplicaciones Un puerto UDP define una ubicacin o cola de mensajes para la entrega de mensajes para los protocolos de la capa de aplicacin que utilizan los servicios UDP. Se incluye en cada mensaje UDP el puerto de origen (la cola de mensajes desde donde se envi el mensaje) y un puerto de destino (la cola de mensajes a los que se envi el mensaje). La Internet Assigned Numbers Authority (IANA) asigna nmeros de puerto, conocidas como los nmeros de puerto, a los protocolos especficos de la capa de aplicacin. Nmero de puerto Protocolo de capa de aplicacin 53 DNS 67 BOOT server (Dynamic Host Configuration Protocol[DHCP]) 68 BOOT client (DHCP) 69 TFTP 137 NetBIOS Name Service 138 NetBIOS Datagram Service 161 Simple Network Management Protocol (SNMP) 445 Direct hosting of Server Message Block (SMB) datagrams over TCP/IP (also known as Microsoft-DS) 520 RIP 1812, 1813 Remote Authentication Dial-In User Service (RADIUS) Normalmente, el lado del servidor de un protocolo de capa de aplicacin escucha en el nmero de puerto conocido. El lado del cliente de un protocolo de capa de aplicacin utiliza ya sea el conocido nmero de puerto o, ms comnmente, un nmero de puerto asignado dinmicamente. Estos nmeros de puerto asignados dinmicamente se utilizan para la duracin del proceso y son tambin conocidos como puertos efmeros o de corta duracin. Cuando se recibe un mensaje UDP en el destino, IP comprueba la cabecera IP y, con base en el valor de 17 (011) en el campo de Protocolo, pasa el mensaje UDP, la direccin IP de origen, as como la direccin IP de destino para el componente de UDP. Despus de verificar la suma de comprobacin UDP, el componente de UDP verifica el puerto de destino. Si un proceso est escuchando en el puerto, UDP pasa el mensaje a la aplicacin. Si ningn proceso est escuchando en el puerto, UDP utiliza el componente ICMP para enviar mensaje de Destino de Puerto Inalcanzable al remitente, y luego descarta el mensaje UDP. 4.3 Direcciones de los Conectores A la combinacin de una direccin de IP y de puerto para una comunicacin se le llama direccin de conector o socket. Un socket ofrece toda la informacin que necesita un cliente o un servidor para identificar a su otro extremo. 39. Cuando se crea un conector (socket) UDP, sus direcciones local y remota estn sin especificar. Se pueden enviar datagramas inmediatamente usando sendto o sendmsg con una direccin de destino vlida como argumento. Cuando se llama a connect sobre el conector, se enva la direccin de destino por defecto y a partir de ese momento se pueden enviar datagramas usando send o write sin especificar una direccin de destino. Todava es posible realizar envos a otros destinos pasando una direccin a sendto o sendmsg. Para poder recibir paquetes, primero se debe ligar el conector a una direccin local usando bind. Cuando ste no sea el caso, la capa de conectores le asignar automticamente un puerto local en la primera peticin de recepcin del usuario. Todas las operaciones de recepcin slo devuelven un paquete. Cuando el paquete es ms pequeo que el buffer pasado, slo se devuelven los datos del paquete y, cuando es mayor, el paquete se trunca y la bandera MSG_TRUNC se activa. Se pueden enviar o recibir opciones IP usando las opciones de conectores descritas en IP. Estas son procesadas por el ncleo slo cuando est activa la sysctl adecuada (pero todava se pasan al usuario incluso cuando est desactivada). Cuando en un envo est activa la opcin MSG_DONTROUTE, la direccin de destino debe referirse a la direccin de una interfaz local y el paquete slo se enva a esa interfaz. UDP fragmenta un paquete cuando su longitud total excede la MTU (Unidad de Transmisin Mxima) de la interfaz. Una alternativa de red ms amigable es usar el descubrimiento de la MTU de la ruta como se describe en la seccin IP_PMTU_DISCOVER de IP. Para el formato de direccin, UDP utiliza el formato sockaddr_in de IPv4 el cual nos dice que una direccin de conector IP se define como una combinacin de una direccin de interfaz IP y un nmero de puerto. El protocolo IP bsico no proporciona nmeros de puerto. En los conectores directos, a sin_port se le asigna el protocolo IP. Ilustracin 2 Estructura de sockaddr_in A sin_family siempre se le asigna el valor AF_INET. sin_port contiene el puerto con los bytes en orden de red. Los nmeros de puerto por debajo de 1024 se llaman puertos reservados. Slo los procesos con identificador de usuario efectivo 0 o la capacidad CAP_NET_BIND_SERVICE pueden realizar enlaces mediante bind a estos conectores. sin_addr es la direccin IP del anfitrin (host). El miembro s_addr de struct 40. in_addr contiene la direccin de la interfaz del anfitrin con los bytes en orden de red. Slo se debera acceder a in_addr usando las funciones de biblioteca net_aton, inet_addr e inet_makeaddr, o directamente mediante el mecanismo de resolucin de nombres. Las direcciones IPv4 se dividen en direcciones unidestino, de difusin y multidestino. Las direcciones unidestino especifican una nica interfaz de un anfitrin, las direcciones de difusin especifican todos los anfitriones de una red y las direcciones multidestino identifican a todos los anfitriones de un grupo multidestino. Slo se pueden enviar datagramas o recibir datagramas de direcciones de difusin cuando est activa la opcin de conector SO_BROADCAST. 4.4 Formatos de los Mensajes UDP Longitud del mensaje UDP (16 bits). Especifica la longitud media en bytes del mensaje UDP, incluyendo la cabecera. Longitud mnima es de 8 bytes. Suma de verificacin UDP (16 bits, opcional). Suma de comprobacin de errores del mensaje. Para clculo se utiliza una pseudo cabecera que tambin incluye las direcciones IP origen y destino. Para conocer estos datos, el protocolo UDP debe interactuar con el protocolo IP. Datos. Aqu viajan los datos que se envan las aplicaciones. Los mismos datos que enva la aplicacin origen son recibidos por la aplicacin destino despus de atravesar toda la Red de redes. 4.5. Encapsulado de UDP Los mensajes UDP estn encapsulados y se envan en datagramas IP, como se muestra en la siguiente ilustracin. MAPAS CONCEPTUALES. 41. Dejar un comentario Archivado bajo Uncategorized 3:37 am UNIDAD 5: Protocolo de Control de Transmisin (TCP) 5.1 Servicio de Transportacin Confiable 42. *TCP (Transmission Control Protocol) es el protocolo de la familia TCP/IP que provee servicio de transporte de datos en forma confiable. *TCP est implementado sobre IP, por lo tanto debe resolver los problemas no resueltos por IP -datagramas se pueden perder, estar duplicados, llegar fuera de orden. *Este protocolo es fundamental en sistemas de computacin ya que modela el comportamiento de un canal ideal, como el supuesto en las comunicaciones con otros dispositivos de I/O. *TCP resuelve el problema de muy buena forma, por ello ha perdurado por varias dcadas, y ningn otro protocolo con iguales servicios ha probado ser mejor. 5.2 Funciones y Servicios de TCP *Orientacin a conexin (Connection Orientation): La aplicacin debe requerir una conexin primero. Una vez establecida la usa. Finalmente la cierra. *Comunicacin Punto-a-Punto: Cada conexin tiene exactamente dos terminales (comparar con comunicacin multipunto -multicast) *Confiabilidad total (Complete Reliability): Se garantiza entrega de los datos sin prdidas ni duplicados y en orden. *Comunicacin dplex integral (Full Duplex): Hay un buffer de envo y otro de recepcin. *El protocolo efecta estas tareas en trasfondo y sin bloquear la aplicacin -salvo para recepcin de datos que an no han llegado. 5.3 Mecanismos Bsicos de TCP 5.3.1 Flujo de Datos Los segmentos, al viajar en datagramas IP, pueden llegar en cualquier orden, perderse, llegar duplicados, etc. Es responsabilidad de TCP resolver todos estos problemas y generar un flujo de bits fiable a nivel de aplicacin. En ningn caso viajar en un mismo datagrama ms de un segmento. Tampoco se combinarn nunca en un segmento datos provenientes de dos conexiones TCP diferentes. Las aplicaciones que comunican haciendo uso de los servicios TCP no tienen conciencia de la existencia de segmentos o datagramas. Para ellas la comunicacin se realiza como un flujo continuo de bits (stream), como si hubiera un hilo fsico que las comunicara. Si desean que la informacin sea transmitida a la aplicacin receptora en mensajes discretos debern incluir los delimitadores adecuados, ya que no hay ninguna garanta de que TCP genere un segmento por cada mensaje recibido de la aplicacin, TCP puede tomarse la libertad de agrupar o separar los datos recibidos de la aplicacin segn le convenga; por ejemplo, podra decidir agrupar los datos recibidos en varios mensajes de la aplicacin para crear segmentos de tamao mayor y usar as de manera ms eficiente la red. 43. 5.3.2 Segmentos La entidad TCP emisora y la receptora intercambian datos en forma de segmentos. Un segmento consiste en un encabezado TCP fijo de 20 bytes (ms una parte opcional) seguido de cero o ms bytes de datos. El software de TCP decide el tamao de los segmentos; puede acumular datos de varias escrituras para formar un segmento, o dividir los datos de una escritura en varios seg- mentos. Hay dos lmites que restringen el tamao de segmento. Primero, cada segmento, incluido el encabezado TCP, debe caber en la carga til de 65,515 bytes del IP. Segundo, cada red tiene una unidad mxima de transferencia (MTU) y cada segmento debe caber en la MTU. En la prcti- ca, la MTU es, generalmente, de 1500 bytes (el tamao de la carga til en Ethernet) y, por tanto, de- fine el lmite superior del tamao de segmento. El protocolo bsico usado por las entidades TCP es el protocolo de ventana corrediza. Cuando un transmisor enva un segmento, tambin inicia un temporizador. Cuando llega el segmento al destino, la entidad TCP receptora devuelve un segmento (con datos, si existen, de otro modo sin ellos) que contiene un nmero de confirmacin de recepcin igual al siguiente nmero de secuencia que espera recibir. Si el temporizador del emisor expira antes de la recepcin de la confirmacin, el emisor enva de nuevo el segmento. Aunque este protocolo suena sencillo, tiene muchos vericuetos que explicaremos a continuacin. Por ejemplo, pueden llegar segmentos fuera de orden, por lo que los bytes 30724095 podran llegar pero no enviarse confirmacin de recepcin porque los bytes 20483071 no han aparecido an. Tambin pueden retardarse segmentos en trnsito durante tanto tiempo que el temporizador del emisor expira y los segmentos se retransmiten. Las retransmisiones podran incluir rangos de bytes diferentes a los de la transmisin original, lo cual requiere una administracin cuidadosa para llevar el control de los bytes que se han recibido correctamente en un momento determinado. Sin embargo, esto es factible ya que cada byte del flujo tiene su propio desplazamiento nico. Cada segmento comienza con un encabezado de formato fijo de 20 bytes. El encabezado fijo puede ir seguido de opciones de encabezado. Tras las opciones, si las hay, pueden continuar hasta 65,535 20 20 = 65,495 bytes de datos, donde los primeros 20 se refieren al encabezado IP y los segundos al encabezado TCP. Los segmentos sin datos son legales y se usan por lo comn para confirmaciones de recep- cin y mensajes de control. 44. Encabezado TCP Realicemos la diseccin del encabezado TCP campo por campo. Los campos de Nmero de secuencia y Nmero de confirmacin de recepcin desempean sus funciones normales. Ntese que el segundo especifica el siguiente byte esperado, no el ltimo byte correctamente recibido. Ambos tienen 32 bits de longitud porque cada byte de datos est numerado en un flujo TCP. La Longitud del encabezado TCP indica la cantidad de palabras de 32 bits contenidas en el encabezado TCP. Esta informacin es necesaria porque el campo de Opciones es de longitud variable, por lo que el encabezado tambin. Tcnicamente, este campo en realidad indica el comienzo de los datos en el segmento, medido en palabras de 32 bits, pero ese nmero es simplemente la longitud del encabezado en palabras, por lo que el efecto es el mismo. A continuacin viene un campo de 6 bits que no se usa. El que este campo haya sobrevivido intacto durante ms de una dcada es testimonio de lo bien pensado que est el TCP. Ahora vienen seis indicadores de 1 bit, de los cuales mencionaremos dos, el PUSH y URGENT. Para poder enviar datos prioritarios y responder ante situaciones urgentes TCP dispone de dos mecanismos extraordinarios por los que las aplicaciones le pueden indicar su deseo de enviar rpidamente datos al otro extremo. 5.3.3 Push El bit PSH indica datos que se deben transmitir de inmediato. Por este medio se solicita atentamente al receptor que entregue los datos a la aplicacin a su llegada y no los almacene en bfer hasta la recepcin de un bfer completo (lo que podra hacer en otras circunstancias por razones de eficiencia), este indicador se utiliza por ejemplo cuando en una sesin Telnet el usuario pulsa la tecla return, o cuando en una trasferencia FTP se enva el ltimo segmento; en estos casos si no se utilizara PSH se correra el riesgo de que TCP se quedara esperando ms datos de la aplicacin para as construir un segmento mayor y usar la red de manera mas eficiente. 5.3.4 Datos Urgentes URG se establece en 1 se est en uso el apuntador ur- gente. El apuntador urgente sirve para indicar un desplazamiento en bytes a partir del nmero actual de secuencia en el que se encuentran datos urgentes. Este recurso sustituye los mensajes de interrupcin. Como se mencion antes, este recurso es un mecanismo rudimentario para permitir que el emisor enve una seal al receptor sin implicar al TCP en la razn de la interrupcin. Por ejemplo en una sesin telnet se utiliza este procedimiento para enviar los caracteres DEL, CTRL-C, o cuando se pulsa la tecla BREAK o ATTN. En estos casos no solo se desea enviar cuanto antes los caracteres recin tecleados, sino que se quiere que estos pasen por delante de cualesquiera otros que hubiera pendientes de enviar a la aplicacin y se le entreguen a sta sin esperar a que los solicite (por ejemplo para abortar una 45. ejecucin en marcha cuando sta no espera leer datos). Cuando un segmento contiene datos urgentes se indica esta condicin mediante un bit indicador (flag) especial. 5.3.5 Puertos de Aplicacin Los campos de Puerto de origen y Puerto de destino identifican los puntos terminales locales de la conexin. Los puertos bien conocidos se especifican en http://www.iana.org pero cada host puede asignar los dems segn sea necesario. 5.3.6 Direcciones de Conectores La direccin de un puerto ms la direccin IP de su host forman un punto terminal nico de 48 bits. Los puntos terminales de origen y de destino en conjunto identifican la conexin. 5.4 Mecanismos de Fiabilidad de TCP El control de flujo en el TCP se maneja usando una ventana corrediza de tamao variable. El campo Tamao de ventana indica la cantidad de bytes que pueden enviarse comenzando por el byte cuya recepcin se ha confirmado. Es vlido un campo de Tamao de ventana de 0, e indica que se han recibido los bytes hasta Nmero de confirmacin de recepcin 1, inclusive, pero que el receptor actualmente necesita un descanso y quisiera no recibir ms datos por el momento, gracias. El permiso para enviar puede otorgarse despus enviando un segmento con el mismo Nmero de confirmacin de recepcin y un campo Tamao de ventana distinto de cero. En TCP, las confirmaciones de recepcin y los permisos para enviar datos adicionales son completamente independientes. En efecto, un receptor puede decir: He recibido bytes hasta k, pero por ahora no deseo ms. Esta independencia (de hecho, una ventana de tamao variable) da flexibilidad adicional. Ms adelante lo estudiaremos con ms detalle. Tambin se proporciona una Suma de verificacin para agregar confiabilidad. Es una suma de verificacin del encabezado, los datos y el pseudoencabezado conceptual mostrado en la figura 6-30. Al realizar este clculo, se establece el campo de Suma de verificacin del TCP en cero, y se rellena el campo de datos con un byte cero adicional si la longitud es un nmero impar. El algo- ritmo de suma de verificacin simplemente suma todas las palabras de 16 bits en complemento a 1 y luego obtiene el complemento a 1 de la suma. Como consecuencia, al realizar el clculo el receptor con el segmento completo, incluido el campo de Suma de verificacin, el resultado debe ser 0. El pseudoencabezado contiene las direcciones IP de 32 bits de las mquinas de origen y de destino, el nmero de protocolo de TCP (6), y la cuenta de bytes del segmento TCP (incluido el encabezado). La inclusin del pseudoencabezado en el clculo de la suma de verificacin TCP ayu- da a detectar paquetes mal entregados, pero hacerlo viola la jerarqua de protocolos puesto que las direcciones de IP que contiene pertenecen a la capa IP, no a la capa TCP. UDP utiliza el mismo pseudoencabezado para su suma de verificacin. 46. El campo Opciones ofrece una forma de agregar caractersticas extra no cubiertas por el encabezado normal. La opcin ms importante es la que permite que cada host especifique la carga til TCP mxima que est dispuesto a aceptar. El uso de segmentos grandes es ms eficiente que el de segmentos pequeos, puesto que el encabezado de 20 bytes puede entonces amortizarse entre ms datos, pero los hosts pequeos tal vez no puedan manejar segmentos muy grandes. Pseudoencabezado incluido en la suma de verificacin del TCP. Durante el establecimiento de la conexin, cada lado puede anunciar su mximo y ver el de su compaero. Si un host no usa esta opcin, tiene una carga til predeterminada de 536 bytes. Se requiere que todos los hosts de Internet acepten segmentos TCP de 536 + 20 = 556 bytes. No es necesario que el tamao mximo de segmento en ambas direcciones sea el mismo. En las lneas con alto ancho de banda, alto retardo o ambas cosas, la ventana de 64 KB con frecuencia es un problema. En una lnea T3 (44.736 Mbps) se requieren slo 12 mseg para enviar una ventana completa de 64 KB. Si el retardo de propagacin de ida y vuelta es de 50 mseg (tpico de una fibra transcontinental), el emisor estar inactivo 3/4 del tiempo en espera de confirma- ciones de recepcin. En una conexin satelital la situacin es peor an. Un tamao de ventana ms grande permitir al emisor continuar enviando datos, pero como el campo de Tamao de ventana es de 16 bits, es imposible expresar tal tamao. En el RFC 1323 se propuso una opcin de escala de ventana que permite al emisor y al receptor negociar un factor de escala de ventana. Este n- mero da la posibilidad de que ambos lados desplacen el campo de Tamao de ventana hasta 14 bits a la izquierda, permitiendo por tanto ventanas de hasta 230 bytes. La mayora de las implementa- ciones actuales de TCP manejan esta opcin. Otra opcin propuesta en el RFC 1106 y ahora de uso difundido es el empleo de la repeticin selectiva en lugar del protocolo de retroceso n. Si el receptor recibe un segmento malo y luego una gran cantidad de segmentos buenos, el temporizador del protocolo TCP normal expirar en algn momento y se retransmitirn todos los segmentos sin confirmacin de recepcin, incluidos los que se recibieron correctamente. El RFC 1106 introdujo los NAKs, para permitir que el receptor soli- cite un segmento (o segmentos) especfico. Tras recibirlo, puede enviar una confirmacin de recepcin de todos los datos que tiene en bfer, reduciendo de esta manera la cantidad de datos retransmitidos. CONEXIN La conexin en TCP se lleva a cabo entre 2 procesos de la capa de aplicacin, identificados por un par compuesto de direcciones IP y puertos TCP. Se puede visualizar como una tubera bidireccional de datos que contiene 2 tuberas lgicas entre 47. los dos puntos TCP, una se utiliza para salida de datos y el otro para entrada (la salida de datos para un punto TCP es la entrada del otro). Las conexiones TCP son: Establecidas a travs de un proceso llamado handshake en el cual ambos puntos TCP aceptan crear la conexin Mantenidas opcionalmente a travs de un proceso peridico que asegura que ambos puntos estn activos en la conexin Terminadas por otro proceso handshake si ambos puntos TCP acuerdan terminar la conexin 5.5 Establecimiento de la Conexin Para crear una conexin y que los datos comiencen a fluir, cada par TCP debe obtener la siguiente informacin del otro par: El nmero de la secuencia de arranque para los datos enviados en la tubera de entrada. La cantidad mxima de datos que pueden ser enviados al tubo de salida antes de esperar un reconocimiento (el tamao de la ventana a recibir de otro par TCP). El tamao mximo del segmento (MSS) que se puede recibir. Las opciones TCP soportadas. sta informacin es averiguada a travs de un intercambio de 3 segmentos TCP llamados procesos de establecimiento de conexin TCP, o TCP handshake de 3 vas. Para crear una conexin, un par TCP que escucha debe permitir la conexin, y el otro par debe iniciar la conexin. El par TCP que escucha utiliza una funcin pasiva OPEN para permitir las conexiones entrantes requeridas en un puerto especfico. El par que inicia usa la funcin activa OPEN la cual crea y enva el primer segmento del handshake de 3 vas. 1. El par TCP 1 inicializa con su nmero de secuencia (ISN1), ack = 0, ventana por default, un segmento de sincronizacin, la escala de la ventana TCP y algunas opciones. 2. El par TCP 2 enva un segmento de sincronizacin y reconocimiento, su nmero de secuencia (ISN2), ventana por default, la escala de la ventana, ack = ISN1 +1 y algunas opciones. 3. El par TCP 1 enva un reconocimiento, su nmero de secuencia +1, ack = ISN2 +1 y tamao de la ventana por default. El segmento sincronizado (SYN) El par TCP 1 enva el primer segmento TCP, conocido como el segmento SYN al par 2. Este segmento establece los parmetros de conexin, as como como el nmero de secuencia inicial (ISN) que el par TCP 1 utiliza. El segmento SYN enviado por una computadora corriendo Windows Server 2008 o Windows Vista contiene los siguientes campos en el encabezado TCP: 48. Puerto destino (tpicamente un puerto en el rango del 1 al 1023). Puerto de origen (puerto asignado dinmicamente). Nmero de secuencia (establece en el ISN que los datos del par TCP 1 sean enviados por el canal de datos de salida). Nmero de reconocimiento (puesto a 0 porque la bandera ACK no se ha establecido, por lo que no es significante an). Bandera SYN (indica que el segmento contiene el ISN para envo de datos por el par TCP 1). Ventana (indica la cantidad mxima inicial del tamao de datos que el par TCP 1 puede recibir). MSS (tamao mximo del segmento TCP que el par TCP 1 puede recibir). Factor de escala de la ventana. El segmento SYN-ACK Despus de recibir el segmento SYN, el par TCP 2 enva el segundo segmento (SYN- ACK) al par 1. Este segmento establece los parmetros de conexin que utiliza el par 2, as como el ISN y reconoce los parmetros de conexin usados por el par 1. Su encabezado TCP contiene: Puerto destino. Puerto de origen. Nmero de secuencia. Nmero de reconocimiento (valor ISN del par TCP 1 +1). Bandera SYN (indica que el segmento contiene el ISN para datos enviados por el par TCP 2). Bandera ACK (indica si el campo del nmero de reconocimiento es significante). Ventana (indica la cantidad mxima inicial del tamo de datos que el par TCP 2 puede recibir). MSS (tamao mximo del segmento TCP que puede recibir el par TCP 2) Factor de escala de la ventana. El segmento ACK Despus de recibir el segmento SYN-ACK, el par TCP 1 enva el tercer segmento al par 2. Establece los parmetros finales de conexin utilizados por el par 1 y reconoce los parmetros de conexin que utiliza el par 2. Contiene los siguientes campos en su encabezado TCP: Puerto destino. Puerto de origen. Nmero de secuencia (ISN1 +1). Nmero de reconocimiento (valor ISN del par TCP 2 +1). Bandera ACK (indica si el campo del nmero de reconocimiento es significante). Ventana. Resultados de la Conexin 49. Cada par de TCP conoce el nmero de secuencia del primer byte de datos a enviar en la conexin. Cada par TCP conoce el MSS que puede ser enviado en la conexin. Cada par TCP conoce el tamao de ventana del otro par y su factor de escala, indicando la cantidad mxima de datos que pueden ser enviados sin esperar por un reconocimiento (ACK) y actualizar el tamao de la ventana. Cada par TCP es consciente de que el otro par es capaz de recibir reconocimientos selectivos utilizando la opcin SACK TCP. Conexiones Medio Abiertas Una conexin TCP medio abierta ocurre cuando no se completa el proceso de establecimiento de conexin. Un segmento SYN ha sido recibido y un SYN-ACK enviado, pero el segmento final ACK no ha sido recibido. Hasta que el reconocimiento final ACK sea recibido, los datos no pueden ser enviados. Aunque el segmento SYN-ACK no contiene datos, TCP acta como si la bandera SYN ocupar un byte y es tratada como datos. Por lo tanto, los comportamientos de retransmisin y time-out usados para recuperar datos perdidos son usados tambin para recuperar un SYN-ACK perdido. En el caso de retransmitir un segmento SYN-ACK, el tiempo por default es 3 segundos y el SYN-ACK es retransmitido 2 veces, duplicando el time-out de cada retransmisin (se enva el SYN-ACK, 3 segundos despus la primer retransmisin y 6 segundos despus la segunda). Despus de esperar 12 segundos por una respuesta a la final retransmisin, se abandona la conexin. Un total de 21 segundos transcurren desde el primer envo del SYN-ACK hasta que es abandonada la conexin. Mantenimiento de la Conexin Una conexin TCP puede ser opcionalmente mantenida a travs del intercambio peridico del segmento TCP keepalive, que es un segmento ACK que no contiene datos. El campo de nmero de secuencia en el encabezado de TCP es puesto a 1 menos que el nmero de secuencia actual del flujo de datos de salida. Despus de recibir este segmento, el otro par TCP enva de vuelta el mismo segmento con el campo de nmero de reconocimiento puesto al siguiente byte que espera recibir. Terminacin de la Conexin Para el proceso de terminacin de la conexin, TCP requiere del envo del segmento FIN (finalizar), un segmento TCP en el cual la bandera FIN es establecida y su reconocimiento. El segmento FIN indica que el emisor de este segmento no enviar ms datos. Debido a que la conexin TCP est hecha por 2 tuberas lgicas, ambas tuberas deben ser cerradas y su cierre debe ser reconocido. 1er Segmento: FIN-ACK desde el par TCP 1 El par TCP que desea terminar la conexin enva un segmento TCP que no contiene datos y con los siguientes: 50. El campo de