






















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Apuntes del curso universitario de Informatica sobre las redes de datos - Red de Datos: conjunto de computadores, equipos de comunicaciones y otros dispositivos que se pueden comunicar entre s´ı, a trav´es de un medio en particular.
Tipo: Apuntes
1 / 30
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
3.7 IPv6 3 NIVEL DE RED
de red com´un. Por ejemplo, si una empresa requiere una cantidad de 2048 direcciones IP, puede asign´arsele un grupo de ocho redes clase C consecutivas comenzando en 234.170.168. y terminando en 234.170.175.255. Con esto, su direcci´on de red CIDR ser´a 234.170.168. y su m´ascara 255.255.248.0. Recordar que la m´ascara por defecto de cada red clase C es 255.255.255.0, de aqu´ı se observa que la m´ascara se ha corrido hacia la izquierda, perdiendo tres bits. Se debe recordar tambi´en que esta reorganizaci´on permite transformar una tabla de ruteo que tendr´a 8 entradas para llegar al mismo punto en una que tendr´a s´olo una.
El IETF empez´o a trabajar en 1990 para resolver de mejor forma el problema de la falta de direcciones IP, para ello se plante´o una nueva versi´on del protocolo IP llamada inicialmente IPng (Next Generation) y finalmente designada como IPv6 (versi´on 6) y especificada en los RFCs 1883 y 2460. Los objetivos de dise˜no planteados fueron los siguientes:
Establecer un espacio de direcciones que no se agote en el futuro cercano.
Reducir el tama˜no de las tablas de ruteo y simplificar el protocolo para permitir a los routers procesar los paquetes m´as r´apidamente.
Ofrecer mecanismos que permitan incorporar f´acilmente en el protocolo medidas de seguridad usando encriptaci´on.
Permitir un mejor manejo de los diferentes tipos de servicio, para poder ofrecer garant´ıas de QoS y para permitir el uso de aplicaciones en tiempo real.
Facilitar el uso de aplicaciones multicast.
Permitir la movilidad de un host sin necesidad de cambiar su direcci´on.
Contemplar un mecanismo que permita extender el protocolo en el futuro.
Permitir la compatibilidad del protocolo nuevo con el viejo.
El tama˜no de las direcciones IP a utilizar en IPv6 fue bastante discutido, y se plantearon alternativas que iban desde ocho hasta 20 bytes. Finalmente, la decisi´on final adopt´o un protocolo con direcciones de 16 bytes. IPv6, al igual que IPv4, ofrece un servicio de datagramas sin garant´ıas, es decir, “best ef- fort”. Sin embargo algunas opciones que permiten ofrecer calidad de servicio. Por otro lado, se debe hacer notar que IPv6 no es realmente compatible con IPv4 pues utiliza un formato de en- cabezado diferente, sin embargo, con peque˜nas modificaciones puede lograrse compatibilidad. La implantaci´on del nuevo protocolo se realiza en forma gradual mediante la creaci´on de redes isladas con IPv6. Para la interconexi´on de estas islas a trav´es del backbone IPv4 se utiliza tunneling. La red experimental as´ı formada se conoce como 6Bone (http://www.6bone.net) y empez´o a funcionar en 1996.
3.7 IPv6 3 NIVEL DE RED
Los protocolos de ruteo se han tenido que modificar para tener en cuenta las caracter´ısticas propias y el nuevo formato de direcciones que utiliza IPv6; as´ı se ha creado por ejemplo RIPv y OSPFv6. Las principales caracter´ısticas de IPv6 son:
Direcciones de 16 bytes, suficiente para todo futuro uso previsible.
Encabezado simplificado, pasando de 13 a 8 campos, lo que permite disminuir el proce- samiento en los routers.
Mejor soporte de los campos opcionales del encabezado.
Se han considerado los aspectos de seguridad como parte fundamental del protocolo.
Mayor facilidad para especificar el tipo de servicio.
3.7.1. Direcciones en IPv
Las direcciones IPv6 est´an compuestas por 16 bytes. Los primeros bits identifican el tipo de direcci´on, de manera an´aloga a IPv4. Sin embargo, existen ahora muchas clases de direcciones, pero no todas tienen asignado el mismo rango, y la mayor´ıa est´an reservadas para usos futuros. Adem´as, se ha previsto un rango espec´ıfico para las direcciones IPv4, de esta forma, cualquier direcci´on IPv4 puede incluirse en un datagrama IPv6. Una parte del espacio de direcciones se reserv´o para distribuci´on geogr´afica, de manera similar a como se hace actualmente con CIDR. Otra parte se reserv´o para repartir direcciones por proveedor. Se ha contemplado la posibilidad de que Internet evolucione hacia una red que interconecte las redes de los grandes proveedores a nivel mundial, siendo secundaria en este caso la ubicaci´on geogr´afica. Para este caso se contempl´o una estructura de direcciones jer´arquica con varios niveles. Para las direcciones multicast se previ´o un rango espec´ıfico, y en la direcci´on multicast se reserv´o un campo de 4 bits que permite especificar el ´ambito que se pretende tenga la emisi´on. No se ha previsto ninguna direcci´on espec´ıfica para broadcast, ya que esto se considera un caso particular de multicast. Adem´as de env´ıos unicast, multicast y broadcast pueden hacerse env´ıos anycast, en los que un paquete se env´ıa a un miembro cualquiera de un grupo, sin importar ni especificar a cual. Esto permite, por ejemplo, acceder a un servidor multihomed haciendo balance de carga entre varias interfaces, o por aquella que est´e mas cerca del solici- tante. Tambi´en facilita configuraciones redundantes donde un determinado servicio puede ser entregado por m´as de un servidor. Tambi´en se consider´o el caso de un rango de direcciones de significado local, equivalentes a las direcciones privadas, para casos en que por razones de seguridad se quiera estar comple- tamente aislado del exterior. La notaci´on de las direcciones IPv6 es la siguiente: se escriben en ocho grupos de cuatro d´ıgitos hexadecimales, separados por dos puntos. Por ejemplo: 8000:0000:0000:0000:0123:4567:89AB:CDEF. Para abreviar la gran cantidad de ceros que tenga una direcci´on se puede utilizar una notaci´on abreviada, en la que los ceros a la izquierda
3.7 IPv6 3 NIVEL DE RED
el encabezado de nivel de enlace especifica protocolo IP. Por esto, a pesar de existir el campo versi´on es necesario asignar a IPv6 un valor propio en el nivel de enlace, como si se tratara de un protocolo diferente de IPv4.
Clase de Tr´afico 8 bits utilizados para especificar par´ametros de QoS de acuerdo a la es- pecificaci´on de la arquitectura Differenciated Services. Los valores del 0 al 7 indican poca sensibilidad al tiempo lo que permite encolar el tr´afico. Los valores del 8 al 15 indican prioridad del tr´afico fuera de flujo por lo que no se puede encolar este tipo de tr´afico.
Etiqueta de Flujo 20 bits y permite identificar los paquetes que pertenecen a una sesi´on concreta entre dos hosts, usado t´ıpicamente para solicitar una determinada QoS.
Largo Carga ´Util 16 bits que indican el tama˜no del paquete en bytes, sin considerar los 40 bytes de encabezado. Como el valor m´aximo codificable es 65535, el paquete m´aximo ser´a de 65575.
Siguiente Encabezado 8 bits y sirve para indicar si el encabezado est´a seguido por alguno de los encabezados opcionales. Si no existen opciones, este campo indica el protocolo de nivel de transporte al que pertenece el paquete, utilizando los mismos c´odigos que en IPv4 (tabla 6).
L´ımite Saltos 8 bits equivalentes al campo TTL de IPv4, donde el m´aximo n´umero de saltos especificables es 255.
Direcci´on Fuente 128 bits para especificar la IPv6 del nodo fuente.
Direcci´on Destino 128 bits para especificar la IPv6 del nodo destino.
Los campos que han desaparecido son los siguientes: IHL pues el encabezado tiene largo fijo, Protocolo no es necesario debido a la funci´on del campo Siguiente Encabezado, Checksum pues el c´alculo del checksum en cada salto disminuye el rendimiento, adem´as de que la posibil- idad de que se produzca un error en el nivel de red es baja, y adem´as el checksum proteg´ıa s´olo el encabezado y no los datos. Todos los campos relativos a fragmentaci´on han desaparecido porque en IPv6 la fragmentaci´on se controla mediante encabezados opcionales. Adem´as, en IPv6 todos los nodos han de aceptar paquetes de 576 bytes como m´ınimo y s´olo se permite la fragmentaci´on en el origen, es decir, el emisor debe generar datagramas suficientemente peque˜nos para que puedan llegar a su destino sin fragmentaciones adicionales. Normalmente el emisor realizar´a el Path MTU Discovery, situaci´on habitual en muchas implementaciones de IPv4. En IPv6 se ha habilitado un mecanismo m´as flexible y eficiente que en IPv4 para soportar los encabezados opcionales. Estos aparecen como encabezados adicionales al final del header´ est´andar, y su presencia queda indicada por el campo Siguiente Encabezado, que como ya se estableci´o, en caso de que no haya opciones indicar´a el protocolo de transporte. De esta forma, los campos opcionales en IPv6 pueden extenderse cuando se considere necesario. de esta forma, se entrega un mecanismo mediante el cual se puede indicar si las opciones deben
3.7 IPv6 3 NIVEL DE RED
ser procesadas por todos los routers del trayecto o s´olo por el ´ultimo, lo que permite una reducci´on significativa del trabajo a desarrollar por los routers intermedios cuando se trata de una opci´on que s´olo debe ser procesada por el nivel de red en el host de destino.
Header IP
Sgte Encabezado: TCP
Datos Nivel de Transporte
Header IP
Sgte Encabezado: Routing
Header Routing
Sgte Encabezado: TCP
Datos Nivel de Transporte
Datos Nivel de Transporte
a)
b)
c)
Header IP
Sgte Encabezado: Routing
Header Authentication Sgte Encabezado: TCP
Header Routing
Sgte Encabezado: Authentication
Figura 33: Encabezados Opcionales de un Paquete IPv6 a) Sin Opciones b) Una Opci´on c) Dos Opciones.
Cada paquete IPv6 incluye encabezados de extensi´on s´olo para los requerimientos nece- sarios del datagrama. Cada encabezado de base y opcional contiene un campo Siguiente Encabezado para indicar el tipo del siguiente encabezado (ver figura 33). Para extraer toda la informaci´on del encabezado de un datagrama IPv6 se requiere entonces procesar secuen- cialmente todos los encabezados. Los ruteadores intermedios no necesariamente necesitan procesar todos los encabezados. Algunos tipos de encabezados posibles son los siguientes:
Salto-a-Salto entregar´a informaci´on que debe ser examinada por todos los routers por los que pase el datagrama. Hasta el momento se ha definido s´olo una opci´on a este encabeza- do, y permite especificar datagramas de longitud superior a 64 KBytes, que pueden llegar a tener hasta 4 GBytes.
Routing realiza las funciones combinadas de Strict y Loose Source Routing de IPv4. El m´aximo n´umero de direcciones que puede especificarse es de 24.
Fragment utilizada cuando se deba fragmentar un datagrama. El mecanismo utilizado es similar al de IPv4, con la diferencia de que en IPv6 s´olo se permite la fragmentaci´on en el origen. De esta forma, se simplifica notablemente la complejidad de proceso en los routers.
3.8 IP Cl´asico sobre ATM 3 NIVEL DE RED
conexi´on. No se necesita ni transporta un campo de multiplexaci´on o de tipo de paquete. Este tipo de encapsulaci´on es usada actualmente por LANE.
Resoluci´on de Direcciones Si se considera el caso de dos routers conectados por una red ATM, en el que uno de ellos recibe un paquete a trav´es de una interfaz LAN. En primer lugar revisar´a su tabla de direcciones para averiguar el siguiente salto. Si este resulta ser por medio de la interfaz ATM, entonces necesitar´a consultar una tabla de resoluci´on de direcciones para determinar la direcci´on ATM del siguiente router. El protocolo “IP Cl´asico sobre ATM” ha sido definido en el RFC 1577 para que soporte la resoluci´on din´amica de direcciones. Adem´as introduce el concepto de subred l´ogica IP (LIS) que es un conjunto de nodos IP que se conectan a una red ATM y que comparten la misma subred IP. Para ejecutar la resoluci´on de direcciones dentro del LIS, cada LIS soporta un servidor ATMARP mientras que los nodos o clientes LIS son configurados con la direcci´on ATM del servidor ATMARP. Al inicializarse un nodo, en primer lugar se establece una conexi´on con el servidor ATMARP. Este al detectar la conexi´´ on transmite una petici´on de ARP inversa y obtiene la direcci´on IP y ATM del nodo, que almacena en su tabla. As´ı, cada nodo que desee resolver alguna direcci´on enviar´a una petici´on ATMARP al servidor, que devolver´a una respuesta ATMARP si conoce la direcci´on solicitada, caso contrario devuelve un ATM NAK. Una vez obtenida la direcci´on ATM el cliente LIS puede establecer la conexi´on con el nodo destino. La figura (35) muestra la situaci´on expuesta.
Next Hop Routing Protocol (NHRP) NHRP se construye sobre el modelo de IP cl´asico, sustituyendo el concepto de LIS por el de red Non-Broadcast Multiple-Access (NBMA), esto es, una red tecnol´ogicamente similar a ATM, Frame Relay o X.25, que permite a m´ultiples dispositivos unirse a la red, pero que no permite f´acilmente el mecanismo de broadcast de las LANs. La red consiste de un conjunto de nodos que se asocian a la misma red NBMA y que no est´an f´ısica o administrativamente restringidos para comunicarse directamente entre s´ı. En lugar de los servidores ARP, NHRP usa servidores NHRP (NHS), que mantienen un cache de tablas de “resoluci´on de siguiente salto”, con las direcciones de los nodos asociados a un NHS en particular o para un conjunto de direcciones IP alcanzables a trav´es de routers servidos por NHS. Los nodos son configurados con la direcci´on de su NHS y registran sus direcciones con ´el. NHS puede ser operado en dos modos. El primero es el modo servidor en que cada NHS dentro de la red NBMA es configurado est´aticamente con las direcciones de los destinos servidos por cada NHS en la red. El segundo es el modo f´abrica donde en NHS conoce los destinos servidos por otros NHS a trav´es del intercambio de informaci´on de ruteo intra e inter dominios. La forma de operaci´on es, en cualquiera de los dos casos, transparente para el usuario. La forma en que opera el protocolo es la siguiente: cuando un nodo necesita transmitir un paquete a trav´es de la NBMA necesita resolver alguna direcci´on ATM en particular; para esto,
3.8 IP Cl´asico sobre ATM 3 NIVEL DE RED
Red ATM
144.254.10.
144.254.23.X
144.254.45.X 144.254.67.X
144.254.10.
144.254.10.
Paso 1 : Ruteo: 144.254.10.X Directo 144.254.23.X vía 144.254.10. 144.254.45.X vía 144.254.10. 144.254.67.X vía 144.254.10.
A
B
Paso 2 : C Resolución de Direcciones 144.254.10.2 | A 144.254.10.3 | B Paso 3 : Señalización crea conexión virtual entre routers Paso 4 : Envío de datos
Servidor ARP
Figura 35: Ruteo A Trav´es de ATM con el Modelo Cl´asico.
LIS 1 LIS 2 LIS 3 LIS (^4)
PeticiónNH Red ATM
Respuesta NH
NHS (^1)
NHS 2 NHS (^3)
NHS (^4)
Figura 36: Modo de Operaci´on de NHRP.
formula un petici´on NH a su NHS. Estos paquetes, al igual que todos los mensajes NHRP,
Físico
Enlace MAC
Red
SMDSX.
LAPB
X.
EIA/TIA-232, V.24 V.35 HSSI G.703 EIA-
F RelayHDLCPPPSDLC
Capas OSI Especificaciones WAN
Figura 37: Tecnolog´ıas WAN y Su Relaci´on con las Capas OSI
Una WAN es una red de comunicaci´on de datos que tiene una cobertura geogr´afica rel- ativamente grande y suele utilizar las instalaciones de transmisi´on que ofrecen compa˜n´ıas portadoras de servicios como las telef´onicas. Las tecnolog´ıas WAN operan en las tres capas inferiores del modelo OSI. La figura 37 muestra algunas de las tecnolog´ıas WAN y el nivel OSI en el que operan.
WAN
Figura 38: Esquema de Enlace Punto a Punto WAN
4.3 Conmutaci´on de Circuitos y de Paquetes 4 TECNOLOG´IAS WAN
Un enlace punto a punto proporciona una ´unica trayectoria entre dos nodos distantes, a trav´es de una red de transporte que t´ıpicamente es provista por alguna empresa de servicios. A este tipo de conexi´on sea les llama tambi´en l´ıneas privadas, debido a que la trayectoria establecida permanente y fija para cada red remota a la que se llega utilizando el enlace WAN. Las compa˜n´ıas que proveen el servicio reservan varios enlaces punto a punto para uso exclusivo del cliente, proporcionando dos tipos de conexiones: transmisi´on de datagramas y transmisi´on de r´afagas de datos. La figura 38 muestra un enlace punto a punto t´ıpico en una WAN.
La conmutaci´on de circuitos es un m´etodo de conmutaci´on WAN en el que se establece, mantiene y termina un circuito f´ısico dedicado a trav´es de una red de transporte para cada sesi´on de comunicaci´on. Al igual que los enlaces punto a punto, los circuitos conmutados manejan principalmente dos tipos de transmisiones: de datagramas y de r´afagas de datos. Este tipo de comunicaci´on es bastante utilizada por las compa˜n´ıas de comunicaciones para la interconexi´on de enlaces, y su forma de operar es muy similar a la de una llamada telef´onica normal. ISDN es un ejemplo simple y cotidiano de tecnolog´ıa WAN de conmutaci´on de cir- cuitos. La figura 39 muestra un ejemplo de este tipo de tecnolog´ıa.
WAN
DCE
DCE
DCE
Figura 39: Conexi´on WAN de Circuitos Conmutados
4.5 Servicios de Marcado 4 TECNOLOG´IAS WAN
situaciones donde la transferencia de datos entre los dispositivos es constante. Con los PVCs s e disminuye el uso de ancho de banda asociado con el establecimiento y terminaci´on de los circuitos virtuales, pero se incrementan los costos debido a la constante disponibilidad del circuito virtual.
Los servicios de marcados son un m´etodo de interconectividad WAN cuyas implementa- ciones m´as comunes son los servicios de ruteo de marcaci´on en demanda y el de respaldo de marcaci´on. El ruteo de marcaci´on por demanda o DDR es una t´ecnica por medio de la cual un router puede iniciar y terminar de manera din´amica, una sesi´on de conmutaci´on de circuitos a medida que las estaciones terminales de transmisi´on lo requieran. El router se configura para que considere un cierto tipo de tr´afico como interesante (como el tr´afico de alg´un protocolo en particular) y el resto como no interesante. Cuando el router recibe tr´afico interesante destinado a la red remota, se establece un circuito y se transmite a destino en forma normal. Si se recibe tr´afico no interesante, y ya estaba establecido el circuito en ese momento, ese tr´afico tambi´en se rutea a destino. El router maneja un timer que se reinicia s´olo cuando se recibe tr´afico interesante. Sin embargo, el circuito se termina si el router recibe tr´afico no interesante antes de que el timer expire. De la misma forma, si se recibe tr´afico no interesante y no existe ning´un circuito, el router elimina el tr´afico. El DDR se utiliza como reemplazo para enlaces punto a punto y servicios WAN multiacceso conmutado. La implementaci´on de respaldo de marcaci´on es un servicio que activa una l´ınea serial de respaldo bajo determinadas condiciones. La l´ınea serial secundaria puede actuar como un enlace de respaldo que se utiliza cuando el enlace principal falla o como una fuente que proporciona ancho de banda adicional cuando la carga en el enlace principal alcanza un cierto umbral. El respaldo de marcaci´on proporciona protecci´on contra la degradaci´on del desempe˜no y el tiempo fuera de servicio de una WAN.
Switch WAN Corresponde a un dispositivo multipuerto de interconectividad de redes que se utiliza en las redes de transporte. Por lo general, estos dispositivos conmutan tr´afico como el de Frame Relay, X.25 y SMDS y operan en la capa de enlace de datos. La figura 41 muestra dos router ubicados en los extremos remotos de una WAN que se se encuentran conectados a trav´es de switches WAN.
Un RAS o servidor de acceso remoto act´ua como un punto de concentraci´on para conexiones de marcaci´on hacia adentro y hacia afuera. La figura 42 muestra una conexi´on RAS.
4.6 Dispositivos WAN 4 TECNOLOG´IAS WAN
WAN
Figura 41: Switches WAN Interconectando Routers
WAN
RAS
Modem
Modem
Modem
Figura 42: RAS Conectando M´ultiples Clientes a una WAN
M´odem Un m´odem es un dispositivo que interpreta se˜nales anal´ogicas y digitales, permitiendo de
4.7 Encapsulado y Tunneling 4 TECNOLOG´IAS WAN
En una configuraci´on VPN, los clientes y servidores que componen la red virtual se conectan a Internet de manera tradicional: dial-up, ISDN, l´ıneas dedicadas, cable-modem, etc. Cada nodo de la “red dentro de la red” encripta los datos que env´ıa a otras ubicaciones de la red virtual. A medida que los datos encriptados atraviesan Internet, se ven como por- ciones de datos sin sentido y si alg´un intruso trataran de detectar estos datos, no podr´a leer el contenido sin poseer las claves para desencriptar los datos.
Internet Tunneling
ISP
Cliente VPN
Modem RouterVPN
Figura 43: Conexi´on VPN Entre Cliente Conectado a ISP y Router VPN de una Compa˜n´ıa.
Esta soluci´on es atractiva para las compa˜n´ıas, ya que el acceso a Internet es significa- tivamente menos costoso que el uso tradicional de l´ıneas dedicadas. Se pueden usar VPNs para comunicar sucursales o habilitar clientes m´oviles, o acceder a servidores desde cualquier ubicaci´on. Al unir dos sitios con una configuraci´on VPN, cada punto de entrada de la debe tener un dispositivo de acceso a VPN, por ejemplo, un firewall o router que soporte VPN. Las claves de encriptaci´on de VPN son compartidas por clientes y servidores. Estas claves permiten a los nodos en la VPN encriptar datos para que s´olo puedan ser le´ıdos por otros miembros de las mismas redes virtuales. En VPN se utilizan distintos esquemas de encriptaci´on. Uno de los m´as populares son L2TP (Layer 2 Tunneling Protocol) de Microsoft y Cisco, un standard que est´a siendo desarrollado por IETF (Internet Engineering Task Force). En este, como en cualquier otro esquema de encriptaci´on por intercambio de claves, ´estas necesitan ser distribuidas a los clientes remotos y sitios para permitir la interoperabilidad. El flujo de datos de la encriptaci´on y desencriptaci´on en la VPN es una tarea muy intensiva con respecto a CPU. Cuando los datos llegan al nodo VPN, se debe controlar que los datos provienen de otro nodo de la red virtual. Si es as´ı, el nodo receptor (router, firewall, o unidad VPN dedicada) debe desencriptar los datos antes de pasarlos a su destino en la red local. Por lo tanto, al dise˜nar una VPN, la interoperabilidad debe ser la consideraci´on m´as importante y deben dimensionarse adecuadamente los dispositivos de entrada.
El nivel de transporte es el nivel m´as importante desde el punto de vista de las comunica- ciones. La tarea de este nivel es proporcionar un transporte de datos confiable y econ´omico desde el origen al destino, independiente de la red o redes f´ısicas en uso. Esta capa proporciona un servicio a los procesos de la capa de aplicaci´on, en el caso de internet y a los de sesi´on en el caso de OSI. Para lograr este objetivo la capa de transporte hace uso de los servicios de la capa de red. El hardware o el software de la capa de transporte que se encarga del trabajo se llama entidad de trasporte. Esta entidad puede estar en el kernel del sistema operativo, en un proceso de usuario independiente, en un paquete de biblioteca que forma parte de las aplicaciones de la red o en la tarjeta de interfaz de la red. En algunos casos, la red portadora puede proporcionar servicio de transporte confiable, en cuyo caso la entidad de transporte reside en m´aquinas especiales de interfaz en la orilla de la subred a la que se conectan los hosts. En el nivel de transporte existen dos tipos de servicios: orientados a la conexi´on y no orientado a la conexi´on. A pesar de esto, lo normal es trabajar con servicios orientados a la conexi´on donde se tienen, como siempre, tres fases: establecimiento, transferencia de datos y desconexi´on. Adem´as, tanto el direccionamiento como el control de flujo son semejantes a los de las otras capas. Lo mismo ocurre con los servicios no orientados a la conexi´on. As´ı como la unidad b´asica de intercambio de informaci´on a nivel de enlace se llama frame, la del nivel de red es llamada paquete, la unidad de transferencia del nivel de transporte se llama TPDU (Transport Protocol Data Unit) en la nomenclatura OSI, mensaje en el caso de usarse el protocolo UDP (servicio no orientado a conexi´on) y segmento en el caso de usarse el protocolo TCP (servicio orientado a conexi´on). De todas formas, se debe comentar que no existe una nomenclatura clara y general para la unidad m´ınima del nivel de transporte. La necesidad de un nivel de transporte es debida a que los usuarios no tienen control sobre la subred, que es de lo que se encarga el nivel de red. Es por este motivo que no se pueden resolver los problemas de un mal servicio usando mejores routers o incluyendo una porci´on mayor del manejo de errores en la capa de enlace de datos. La ´unica posibilidad es poner el nivel de transporte encima del nivel de red para mejorar la calidad del servicio. Con esto, si a la mitad de una transmisi´on se informa a una entidad de transporte que su conexi´on de red ha sido terminada abruptamente, sin indicaci´on de lo sucedido a los datos actualmente en tr´ansito, la entidad de transporte puede establecer una nueva conexi´on de red con la entidad de transporte remota. Usando esta nueva conexi´on de red, la entidad puede enviar una solicitud a su igual preguntando qu´e datos llegaron y poder reiniciarse desde la interrupci´on la transmisi´on de los datos que no hayan llegado. La existencia del nivel de transporte hace posible que el servicio de transporte sea m´as confiable que el de red. El nivel de transporte puede detectar y compensar paquetes perdidos y datos alterados. Es m´as, las primitivas del servicio de transporte pueden dise˜narse de modo que sean independientes de las primitivas del servicio de red, que pueden variar seg´un las redes, pudiendo escribir programas de aplicaci´on usando un est´andar de primitivas que puedan
5.2 Elementos de Protocolos de Transporte 5 NIVEL DE TRANSPORTE
un servidor para leer el correo electr´onico, se hace la llamada a la direcci´on IP del servidor de correos, pero para poder acceder al servicio POP3, que es uno de los protocolos que permite leer el correo, se debe especificar la direcci´on TSAP que accesa al servicio. En este caso, la direcci´on TSAP o puerto TCP de conexi´on es el 110. As´ı, si se desea hacer una conexi´on a un servidor de correos POP3 puede ejecutarse el programa telnet de la siguiente forma: telnet A.B.C.D 110 donde A.B.C.D es la IP del servidor. Muchas implementaciones TCP/IP disponen de una API (Application Programming In- terfaces) para la programaci´on de aplicaciones denominada socket. Un socket es una estructura de software que opera como un punto terminal de comunicaciones en un dispositivo de red. Los sockets son una interfaz multiprotocolo, es decir, soporta TCP, UDP y otros protocolos. Los sockets son la API m´as extendida en programaci´on de aplicaciones TCP/IP y forman un est´andar de facto. Existen implementaciones para muchos sistemas operativos. La filosof´ıa b´asica de los sockets deriva directamente del sistema de entrada/salida de UNIX, con amplia- ciones que permiten por ejemplo a un proceso servidor ponerse “a la escucha”.
5.1.2. Primitivas de Servicio de Transporte
Las primitivas del servicio de transporte permiten a los usuarios del nivel el acceso al servicio de transporte. El servicio de transporte es parecido al servicio de red, pero existen algunas diferencias importantes. La principal es que la intenci´on del servicio de red es modelar el servicio ofrecido por las redes reales, que pueden perder paquetes, por lo que generalmente no es un servicio confiable. El servicio de transporte orientado a la conexi´on, en cambio, s´ı es confiable, aunque las redes tengan errores el nivel de transporte proporciona un servicio confiable por una red no confiable. Otra diferencia entre el servicio de red y el de transporte radica en los usuarios a los que se dirigen los servicio. El servicio de red lo usan s´olo las entidades de transporte, pocos usuarios llegan a este nivel. Sin embargo, muchos programas pueden usar primitivas de transporte, con lo que el servicio de transporte debe ser c´omodo y sencillo de usar. Las primitivas de transporte son ejecutadas por la entidad de transporte enviando un paquete al servidor. Encapsulado en la carga ´util de este paquete hay un mensaje del nivel de transporte para la entidad de transporte del servidor.
El nivel de transporte se parece al nivel de enlace en que debe ocuparse de la comunicaci´on extremo a extremo. Por ejemplo, debe ocuparse del control de errores (incluyendo mensajes perdidos o duplicados) y el control de flujo. Aunque las t´ecnicas que se aplican son parecidas, existen importantes diferencias entre los niveles, motivadas por el hecho de que en el nivel de enlace hay un s´olo hilo f´ısico (o su equivalente) entre las dos entidades comunicantes, mientras que en el nivel de transporte hay toda una red. Las mayores diferencias entre el nivel de transporte y el de enlace son las siguientes:
El retardo que se observa en el nivel de transporte es normalmente mucho mayor y sobre todo m´as variable (mayor jitter) que en el de enlace.
5.2 Elementos de Protocolos de Transporte 5 NIVEL DE TRANSPORTE
En el nivel de enlace el medio f´ısico entre las dos entidades tiene una capacidad de almacenamiento de informaci´on normalmente muy reducida y siempre la misma. En el de transporte los routers intermedios pueden tener una capacidad considerable y esta puede variar con el estado de la red.
En el nivel de enlace se asegura que los frames llegar´an al receptor en el mismo orden que han salido del emisor (salvo que se pierdan, en cuyo caso no llegar´an). En el nivel de transporte esto es cierto s´olo cuando se utiliza un servicio orientado a conexi´on en el nivel de red. Si se utiliza un servicio no orientado a conexi´on el receptor podr´ıa recibir los datos en orden distinto al de emisi´on.
En el nivel de enlace las dos entidades se ven directamente (suponiendo una comu- nicaci´on d´uplex) lo que permite que el emisor sepa en todo momento si el receptor est´a operativo, y el receptor sabe que los datos recibidos corresponden todos a una mis- ma sesi´on del emisor. En el nivel de transporte la comunicaci´on es indirecta, el emisor podr´ıa enviar datos, quedar fuera de servicio y m´as tarde entrar en funcionamiento otra vez. Si no se adoptan las medidas oportunas el receptor podr´ıa recibir todos esos datos sin siquiera percatarse de que corresponden a dos sesiones distintas del emisor o incluso podr´ıan pertenecer a dos usuarios distintos.
Establecimiento de una Conexi´on Para establecer una conexi´on el cliente emite un TPDU de petici´on de conexi´on, y el servidor responde con un TPDU de aceptaci´on y a partir de ese momento puede empezar el intercambio de datos. Sin embargo, existen una serie de complicaciones a considerar. En el nivel de transporte puede haber una gran fluctuaci´on en el tiempo que tardan en llegar los TPDUs a su destino. Los TPDUs pueden perderse o llegar duplicadas, ya que si el emisor no recibe confirmaci´on reenviar´a el mismo TPDU pasado el timeout. Por ejemplo, un cliente intercambia una serie de TPDUs con un servidor, y cuando ya ha terminado la transacci´on cierra la sesi´on. Segundos m´as tarde desde otro origen aparecen la misma secuencia de TPDUs del cliente duplicadas que llegan al servidor de nuevo. Este realizar´´ ıa la misma transacci´on otra vez. Para evitar este tipo de problemas, se utiliza para establecer la conexi´on el mecanismo conocido como three-way handshake. La idea es que el servidor s´olo aceptar´a la conexi´on despu´es de haber pedido al cliente confirmaci´on de que desea realizarla. En principio esto por s´ı solo no resuelve el problema, ya que cabr´ıa pensar que despu´es del TPDU de petici´on inicial duplicada la red le entregue al servidor la TPDU de confirmaci´on, tambi´en retrasada. La soluci´on a este problema es el siguiente: tanto el cliente como el servidor utilizan un protocolo de ventana deslizante para el env´ıo de las TPDUs, para lo cual emplean un n´umero de secuencia. A diferencia del n´umero de secuencia del nivel de enlace, el del nivel de transporte emplea rangos mayores. Por ejemplo, en TCP el n´umero de secuencia se almacena en un campo de 32 bits, con lo que es un n´umero m´odulo de hasta 4 Gigas. Tanto el cliente como el servidor eligen de forma aleatoria o pseudoaleatoria el valor inicial del n´umero de secuencia que van a utilizar, cada uno por separado para cada sentido de la comunicaci´on. El cliente informa al servidor en su primer TPDU del n´umero de secuencia elegido, y por su parte