21.3 Utilización de IP para determinar una dirección - materia

Anuncio
Resumen del Libro
TCP / IP
De Douglas Comer
2do Parcial Redes II
Incluye temas adicionales
Índice
21 ARRANQUE Y AUTOCONFIGURACIÓN (BOOTP Y DHCP) ............................................................................. 6
21.1 INTRODUCCIÓN .............................................................................................................................................. 6
21.2 LA NECESIDAD DE UNA ALTERNATIVA A RARP ...................................................................................................... 6
21.3 UTILIZACIÓN DE IP PARA DETERMINAR UNA DIRECCIÓN IP ...................................................................................... 6
21.4 POLÍTICA DE RETRANSMISIÓN BOOTP ............................................................................................................... 6
21.5 FORMATO DE LOS MENSAJES BOOTP ................................................................................................................ 7
21.6 PROCEDIMIENTO DE ARRANQUE EN DOS PASOS .................................................................................................... 7
21.7 CAMPO DE ÁREA DE VENDEDOR ESPECIFICO ......................................................................................................... 7
21.8 LA NECESIDAD DE UNA CONFIGURACIÓN DINÁMICA ............................................................................................... 7
21.9 CONFIGURACIÓN DINÁMICA DE ANFITRIÓN .......................................................................................................... 8
21.10 ASIGNACIÓN DINÁMICA DE DIRECCIONES IP ....................................................................................................... 8
21.11 OBTENCIÓN DE DIRECCIONES MÚLTIPLES ........................................................................................................... 8
21.12 ESTADOS DE ADQUISICIÓN DE DIRECCIONES ....................................................................................................... 8
21.13 TERMINACIÓN TEMPRANA DE ARRENDAMIENTO ................................................................................................. 9
21.14 ESTADO DE RENOVACIÓN DE ARRENDAMIENTO................................................................................................... 9
21.15 FORMATO DE LOS MENSAJES DHCP............................................................................................................... 10
21.16 OPCIONES Y TIPOS DE MENSAJES DHCP.......................................................................................................... 10
21.17 OPCIÓN OVERLOAD .................................................................................................................................... 10
21.18 DHCP Y NOMBRES DE DOMINIOS .................................................................................................................. 10
22 SISTEMA DE NOMBRE DE DOMINIO (DNS) ............................................................................................... 11
22.1 INTRODUCCIÓN ............................................................................................................................................ 11
22.2 NOMBRES PARA LAS MÁQUINAS ...................................................................................................................... 11
22.3 ESPACIO DE NOMBRE PLANO .......................................................................................................................... 11
22.4 NOMBRES JERÁRQUICOS ................................................................................................................................ 11
22.5 DELEGAR AUTORIDAD PARA LOS NOMBRES ........................................................................................................ 11
22.6 AUTORIDAD PARA SUBCONJUNTOS DE NOMBRES ................................................................................................ 11
22.7 NOMBRES DE DOMINIO TCP/IP ...................................................................................................................... 12
22.8 NOMBRES DE DOMINIO OFICIALES Y NO OFICIALES .............................................................................................. 12
22.9 COSAS POR NOMBRAR Y SINTAXIS DE LOS NOMBRES ............................................................................................ 13
22.10 ASOCIACIÓN DE NOMBRES DE DOMINIO EN DIRECCIONES ................................................................................... 14
22.11 RESOLUCIÓN DE NOMBRES DE DOMINIO ......................................................................................................... 15
22.12 TRADUCCIÓN EFICIENTE ............................................................................................................................... 15
22.13 DESEMPEÑO DEL CACHE: LA CLAVE DE LA EFICIENCIA ......................................................................................... 15
22.14 FORMATO DE LOS MENSAJES DEL SERVIDOR DE DOMINIOS .................................................................................. 15
22.15 FORMATO DEL NOMBRE COMPRIMIDO ........................................................................................................... 15
22.16 ABREVIATURA DE NOMBRES DE DOMINIO ........................................................................................................ 15
22.17 ASOCIACIONES INVERSAS ............................................................................................................................. 16
22.18 BÚSQUEDAS DE APUNTADOR ........................................................................................................................ 16
22.19 TIPOS DE OBJETOS Y CONTENIDO DEL REGISTRO DE RECURSOS ............................................................................. 16
22.20 OBTENCIÓN DE AUTORIDAD PARA UN SUBDOMINIO........................................................................................... 16
23 APLICACIONES: ACCESO REMOTO ............................................................................................................ 17
23.2 COMPUTACIÓN REMOTA INTERACTIVA .............................................................................................................. 17
23.3 PROTOCOLO TELNET ................................................................................................................................... 17
23.4 ADAPTARSE A LA HETEROGENEIDAD ................................................................................................................. 18
23.5 TRANSFERENCIA DE COMANDOS QUE CONTROLAN EXTREMO REMOTO .................................................................... 18
23.6 FORZAR AL SERVIDOR A LEER UNA FUNCIÓN DE CONTROL...................................................................................... 19
23.7 OPCIONES DE TELNET.................................................................................................................................. 19
23.8 NEGOCIACIÓN DE OPCIONES DE TELNET .......................................................................................................... 19
23.9 RLOGIN (BSD DE UNIX) ............................................................................................................................... 19
24 APLICACIONES: TRANSFERENCIA Y ACCESO DE ARCHIVOS ....................................................................... 20
24.2 ACCESO Y TRANSFERENCIA DE ARCHIVOS ........................................................................................................... 20
24.3 ACCESO COMPARTIDO EN LÍNEA ...................................................................................................................... 20
24.4 COMPARTIR MEDIANTE TRANSFERENCIA DE ARCHIVOS ......................................................................................... 20
2
24.6 CARACTERÍSTICAS DE FTP .............................................................................................................................. 20
24.7 MODELO DE PROCESO FTP ............................................................................................................................ 21
24.8 ASIGNACIÓN DE NÚMEROS DE PUERTO ............................................................................................................. 21
24.10 EJEMPLO DE UNA SESIÓN CON FTP ANÓNIMO .................................................................................................. 21
24.11 TFTP ....................................................................................................................................................... 22
24.12 NFS ........................................................................................................................................................ 22
24.13 IMPLANTACIÓN NFS ................................................................................................................................... 22
24.14 LLAMADA DE PROCEDIMIENTO REMOTO (RPC) ................................................................................................ 23
24.15 RPC PORT MAPPER ................................................................................................................................... 23
24.16 SERVICIOS, PUERTOS Y PROCESOS ................................................................................................................. 24
24.17 EL PROCESO PORTMAP ................................................................................................................................ 25
25 APLICACIONES: CORREO ELECTRÓNICO .................................................................................................... 26
25.2 CORREO ELECTRÓNICO .................................................................................................................................. 26
25.3 NOMBRES Y ALIAS DE LOS BUZONES DE CORREO.................................................................................................. 26
25.4 EXPANSIÓN DE ALIAS Y DIRECCIONAMIENTO DE CORRESPONDENCIA ........................................................................ 26
25.5 RELACIÓN ENTRE EL ENLACE DE REDES Y EL CORREO ELECTRÓNICO .......................................................................... 27
25.6 ESTÁNDARES TCP/IP PARA EL SERVICIO DE CORREO ELECTRÓNICO ......................................................................... 27
25.7 DIRECCIONES DE CORREO ELECTRÓNICO ............................................................................................................ 28
25.8 PSEUDO DIRECCIONES DE DOMINIO .................................................................................................................. 28
25.9 PROTOCOLO DE TRANSFERENCIA DE CORREO SIMPLE (SMTP) ............................................................................... 28
25.10 LA EXTENSIÓN MIME PARA DATOS NO ASCII .................................................................................................. 29
25.11 MENSAJES MIME MULTIPART ...................................................................................................................... 30
25.12 EL COMANDO TURN .................................................................................................................................. 30
28 SEGURIDAD DE INTERNET Y DISEÑO DEL MURO DE SEGURIDAD .............................................................. 31
28.1 INTRODUCCIÓN ............................................................................................................................................ 31
28.2 RECURSOS DE PROTECCIÓN ............................................................................................................................ 31
28.3 NECESIDAD DE UNA POLÍTICA DE INFORMACIÓN ................................................................................................. 31
28.4 COMUNICACIÓN, COOPERACIÓN Y DESCONFIANZA MUTUA ................................................................................... 32
28.5 MECANISMOS PARA LA SEGURIDAD DE INTERNET ................................................................................................ 32
28.5.1 Mecanismos de autenticación ......................................................................................................... 32
28.5.2 Mecanismos de privacidad .............................................................................................................. 32
28.6 FIREWALLS Y ACCESO A INTERNET .................................................................................................................... 33
28.7 CONEXIONES MÚLTIPLES Y VÍNCULOS MÁS DÉBILES .............................................................................................. 33
28.8 IMPLANTACIÓN DE FIREWALL Y HARDWARE DE ALTA VELOCIDAD ............................................................................ 34
28.9 FILTROS DE NIVEL DE PAQUETES ...................................................................................................................... 34
28.10 ESPECIFICACIÓN DE SEGURIDAD Y DE FILTRO DE PAQUETES .................................................................................. 34
28.11 CONSECUENCIA DEL ACCESO RESTRINGIDO PARA CLIENTES .................................................................................. 34
28.12 ACCESO A SERVICIOS A TRAVÉS DE UN FIREWALL ............................................................................................... 35
28.13 DETALLES DE LA ARQUITECTURA DE UN FIREWALL ............................................................................................. 35
28.15 IMPLANTACIÓN ALTERNATIVA DE UN FIREWALL................................................................................................. 36
28.16 MONITOREO Y ESTABLECIMIENTO DE CONEXIÓN ............................................................................................... 36
29 EL FUTURO DE TCP/IP .............................................................................................................................. 37
29.2 ¿POR QUÉ CAMBIAR TCP/IP E INTERNET? ........................................................................................................ 37
29.2.1 Nuevas tecnologías de comunicación y computación ..................................................................... 37
29.2.2 Nuevas aplicaciones ........................................................................................................................ 37
29.2.3 Incrementos en el tamaño y en la carga .......................................................................................... 37
29.2.4 Nuevas políticas .............................................................................................................................. 37
29.3 MOTIVOS PARA EL CAMBIO DEL IPV4 ............................................................................................................... 37
29.4 EL CAMINO HACIA UNA NUEVA VERSIÓN DEL IP .................................................................................................. 37
29.5 NOMBRE DEL PRÓXIMO IP ............................................................................................................................. 37
29.6 CARACTERÍSTICAS DEL IPV6 ........................................................................................................................... 38
29.8 FORMA GENERAL DE UN DATAGRAMA IPV6 ...................................................................................................... 38
29.8 FORMATO DEL ENCABEZADO BASE DEL IPV6 ...................................................................................................... 38
29.9 ENCABEZADOS DE EXTENSIÓN IPV6 ................................................................................................................. 39
29.10 ANÁLISIS DE UN DATAGRAMA IPV6 ............................................................................................................... 39
29.11 FRAGMENTACIÓN Y RE ENSAMBLAJE DEL IPV6 ................................................................................................. 39
29.12 CONSECUENCIA DE LA FRAGMENTACIÓN DE EXTREMO A EXTREMO ....................................................................... 39
3
29.13 RUTEO DE ORIGEN DEL IPV6 ........................................................................................................................ 40
29.14 OPCIONES DEL IPV6 ................................................................................................................................... 40
29.15 TAMAÑO DEL ESPACIO DE DIRECCIÓN DEL IPV6 ................................................................................................ 40
29.16 NOTACIÓN HEXADECIMAL CON DOS PUNTOS DEL IPV6 ...................................................................................... 40
29.17 TRES TIPOS BÁSICOS DE DIRECCIONES IPV6 ..................................................................................................... 41
29.18 DUALIDAD DE DIFUSIÓN Y MULTIDIFUSIÓN....................................................................................................... 41
29.19 UNA ELECCIÓN DE INGENIERÍA Y DIFUSIÓN SIMULADA ........................................................................................ 41
29.20 ASIGNACIÓN PROPUESTA DE ESPACIO DE DIRECCIÓN IPV6 .................................................................................. 42
29.21 CODIFICACIÓN Y TRANSICIÓN DE LA DIRECCIÓN IPV4 ......................................................................................... 42
29.22 PROVEEDORES, SUSCRIPTORES Y JERARQUÍA DE DIRECCIONES .............................................................................. 42
29.23 JERARQUÍA ADICIONAL ................................................................................................................................ 42
APÉNDICE 1 IPSEC ......................................................................................................................................... 43
A.1.1 ¿QUÉ ES IPSEC? ......................................................................................................................................... 43
A.1.2 LOS PROTOCOLOS IPSEC ............................................................................................................................... 43
A.1.2.1 Cabecera de autenticación AH ...................................................................................................... 43
A.1.2.2 Carga de Seguridad Encapsulada ESP ......................................................................................... 44
APÉNDICE 2 PROTOCOLO IKE ........................................................................................................................ 46
A.2.1 ¿PARA QUE SIRVE IKE? ................................................................................................................................ 46
A.2.2 CARACTERÍSTICAS DE IKE.............................................................................................................................. 46
A.2.3 FASES DE IKE ............................................................................................................................................. 46
APÉNDICE 3 NAT ........................................................................................................................................... 47
A.3.1 ¿QUÉ ES NAT? .......................................................................................................................................... 47
A.3.2 FUNCIONAMIENTO ...................................................................................................................................... 47
A.3.2.1 Estático .......................................................................................................................................... 47
A.3.2.2 Dinámico ....................................................................................................................................... 47
A.3.2.3 Sobrecarga..................................................................................................................................... 48
A.3.2.4 Solapamiento ................................................................................................................................. 48
APÉNDICE 4 HTTP.......................................................................................................................................... 49
A.4.1 QUE ES HTTP? .......................................................................................................................................... 49
A.4.2 EL PROTOCOLO SEGÚN LAS VERSIONES ............................................................................................................ 49
A.4.3 CARACTERÍSTICAS DEL PROTOCOLO ................................................................................................................. 49
A.4.4 DEFINICIONES RELACIONADAS CON EL PROTOCOLO ............................................................................................ 49
A.4.5 SISTEMAS INTERMEDIOS ............................................................................................................................... 50
A.4.6 MÉTODOS DE PETICIÓN EXISTENTES ................................................................................................................ 50
A.4.7 IDENTIFICACIÓN DE RECURSOS ....................................................................................................................... 51
A.4.8 MENSAJES DE RESPUESTA ............................................................................................................................. 51
A.4.9 CABECERAS HTTP....................................................................................................................................... 51
APÉNDICE 5 PAT............................................................................................................................................ 52
A.5.1 ¿QUÉ ES PAT? .......................................................................................................................................... 52
A.5.2 PROCEDIMIENTO PAT.................................................................................................................................. 52
APÉNDICE 6 BGP ........................................................................................................................................... 53
A.6.1 INTRODUCCIÓN .......................................................................................................................................... 53
A.6.2 FUNCIONES DE BGP .................................................................................................................................... 53
A.6.3 MENSAJES DE BGP ..................................................................................................................................... 53
A.6.4 PROCEDIMIENTOS FUNCIONALES DE BGP ........................................................................................................ 53
A.6.4.1 Adquisición de vecino .................................................................................................................... 54
A.6.4.2 Detección de vecino alcanzable ..................................................................................................... 54
A.6.4.3 Detección de red alcanzable .......................................................................................................... 54
APÉNDICE 7 RSVP.......................................................................................................................................... 55
A.7.1 ¿QUÉ ES RSVP? ........................................................................................................................................ 55
A.7.2 CARACTERÍSTICAS DE RSVP .......................................................................................................................... 55
A.7.3 ¿QUÉ ES EL SOFT STATE? ............................................................................................................................. 55
A.7.4 LOS MENSAJES DE RSVP .............................................................................................................................. 55
4
REFERENCIAS ................................................................................................................................................ 56
ACRÓNIMOS ................................................................................................................................................. 57
5
21 Arranque y autoconfiguración (BOOTP y DHCP)
21.1 Introducción
Una máquina necesita de cierta información para poder transmitir, como por ejemplo la
dirección de un router, su propia dirección IP, la máscara de red en uso, etc.
Estos dos protocolos son una alternativa a RARP. Utilizan un esquema cliente/servidor y
trabajan sobre UDP como protocolo de transporte.
21.2 La necesidad de una alternativa a RARP
Una máquina sin disco, posee un pequeño programa de arranque en su memoria no volátil
(ROM). Pero como este código es utilizado en diferentes máquinas, la dirección IP no puede
ser harcodeada en el mismo, por lo tanto una máquina deberá obtener su IP (y otra
información adicional) desde otra fuente. RARP brinda esta funcionalidad, pero posee tres
problemas:
1. Como es un protocolo de bajo nivel, su uso requiere acceso directo al HW, por tanto
puede resultar muy difícil para un programador implementar un servidor.
2. La respuesta por parte del servidor a una solicitud contiene muy poca información
(dirección IP del cliente de 4 bytes) y esto resulta molesto para redes que imponen un
tamaño mínimo de paquete.
3. Como RARP utiliza las direcciones físicas para identificar las máquinas, no puede
usarse en redes de asignación dinámica de direcciones de HW.
Para sortear estas deficiencias de RARP fue que se presentó BOOTP (Boot Strip Protocol) y
más tarde DHCP (Dynamic Host Configuration Protocol) como su sucesor.
21.3 Utilización de IP para determinar una dirección IP
La máquina que desea obtener información de la red, envía un mensaje en modo difusión (IP
destino 255.255.255.255). Este mensaje es recibido por el servidor quien contestará con la
información correspondiente utilizando también la difusión, ya que si lo enviara directamente
al solicitante, cuando este reciba el paquete con la información, no sabrá que es para él ya
que no conoce su propia IP.
21.4 Política de retransmisión BOOTP
BOOTP confiere toda la responsabilidad de la confiabilidad de la comunicación al cliente.
BOOTP requiere que UDP realice sumas de verificación para protegerse de la alteración de
datos, ya que IP sólo verifica el encabezado IP, y además que se envíe con el bit de no
fragmentación activado.
Para manejar pérdidas se usa la técnica de temporizador y retransmisión. Los tiempos
elegidos para el timeout son aleatorios, y se duplican después de cada retransmisión. Esto
sirve para evitar que BOOTP añada un tráfico excesivo a la red (aumentar el temporizador) y
para evitar colisiones (tiempos aleatorios).
6
21.5 Formato de los mensajes BOOTP
Con motivos de tener una implantación sencilla, los mensajes de ida y vuelta de BOOTP
tienen el mismo formato y poseen campos de longitud fija.
Algunos campos son:





OP: Especifica si se trata de un mensaje de solicitud o respuesta.
HTYPE: Especifica el tipo de hardware de la red.
HLEN: Especifica la longitud de la dirección física.
HOPS: Indica la cantidad de veces que la solicitud es reenviada por un servidor
BOOTP a otro servidor BOOTP. Cuando el cliente envía la solicitud, pone este valor
en 0.
SECONDS: Especifica la cantidad de segundos desde que el cliente inició el
arranque.
21.6 Procedimiento de arranque en dos pasos
BOOTP no proporciona una imagen de memoria a los clientes, sino que brinda información
necesaria para que los clientes puedan obtenerla. Utilizar un procedimiento de dos pasos
ayuda a mantener separadas las etapas de configuración y almacenamiento y esto sirve para
permitir al administrador configurar conjuntos de máquinas para que estas actúen en forma
idéntica.
Ejemplo:
Supongamos un conjunto de estaciones de trabajo en el cual hay diferentes arquitecturas de
HW. Dada la diversidad de arquitecturas, se sabe que una sola imagen de memoria no puede
operar en todas las máquinas, por lo tanto BOOTP otorga un campo llamado BOOT FILE
NAME, para que cada cliente pueda manifestar su preferencia depositando un nombre
genérico (ej.: Unix). El servidor BOOTP luego relaciona ese nombre genérico con el nombre
de archivo buscando en una base de datos de configuración.
Si el cliente envía el campo en 0, el servidor seleccionará una imagen de manera automática.
Enviar “Unix” en el BOOT FILE NAME significa que el cliente dice “quiero arrancar el SO
UNIX para esta máquina”
21.7 Campo de área de vendedor especifico
21.8 La necesidad de una configuración dinámica
Como RARP, BOOTP fue diseñado para un ambiente relativamente estático en el que cada
anfitrión tiene una conexión de red permanente. Un administrador crea un archivo de
configuración BOOTP para cada máquina que especifica un conjunto de parámetros para
cada anfitrión, y éste permanece relativamente estable dada la baja cantidad de cambios.
Con la llegada de las redes inalámbricas se hizo posible el transporte de una máquina de un
lugar a otro, y BOOTP no se adapta porque es necesario que un administrador agregue
parámetros a cada anfitrión y almacene la información en un archivo de configuración de
servidor BOOTP. BOOTP no admite una forma de asignar dinámicamente valores a
máquinas individuales.
7
21.9 Configuración dinámica de anfitrión
Para la asignación dinámica de direcciones IP, se creó el protocolo DHCP (Dynamic Host
Configuration Protocol) que extiende a BOOTP de dos formas:
1. Permite que una máquina adquiera toda la información que necesita con un sólo
mensaje.
2. Permite que una computadora posea una dirección IP en forma rápida y dinámica.
Para ser completamente general, DHCP permite tres tipos de configuraciones diferentes:
1. Al igual que BOOTP, DHCP permite la configuración manual, donde el
administrador puede asignar una dirección específica para una máquina determinada.
2. Configuración automática, mediante la cual el administrador permite a un servidor
DHCP asignar una dirección automática a una computadora que es conectada por
primera vez a la red.
3. Configuración dinámica. El servidor “presta” una dirección para una computadora
por tiempo limitado.
Un servidor DHCP puede configurarse para asignar direcciones estáticas a ciertas máquinas y
direcciones dinámicas a otras.
21.10 Asignación dinámica de direcciones IP
La asignación dinámica no es una transformación uno a uno, y el servidor no necesita
conocer la identidad del cliente a priori.
Como el DHCP permite a un anfitrión obtener todos los parámetros necesarios
para la comunicación, sin la intervención manual, también permite la
autoconfiguración, la cual se encuentra sujeta a restricciones administrativas.
Para hacer posible la autoconfiguración un servidor DHCP comienza con un conjunto de
direcciones IP que el administrador de red asigna al servidor para su manejo, además de las
reglas bajo las que opera el servidor. Cuando se produce un intercambio el servidor
proporciona una dirección al cliente, el cliente chequea la IP y si es aceptable ya puede
comenzar a usarla. Esta asignación, a diferencia de la asignación estática, tiene un
determinado tiempo de validez. Ese tiempo lo establece el servidor en el momento de la
asignación. Cuando se vence ese tiempo, el cliente debe renovar la dirección o dejar de
usarla.
El tiempo de arrendamiento de las direcciones puede variar dependiendo del propósito de la
red. Para adaptarse a todos los ambientes, DHCP no especifica un periodo fijo sino que
permite que el cliente solicite un determinado tiempo y que el servidor le comunique que ese
tiempo ha sido garantizado. Así el administrador puede decidir durante cuánto tiempo podrá
asignar un servidor una dirección a un cliente.
21.11 Obtención de direcciones múltiples
21.12 Estados de adquisición de direcciones
Un cliente puede estar en alguno de los siguientes 6 estados:
1. INITIALIZE: Cuando el cliente arranca por primera vez.
8
2. SELECT: Este estado es seteado luego de que el cliente envió el mensaje
DHCPDISCOVER (este mensaje es enviado en un datagrama UDP con el
puerto de destino activado para el puerto BOOTP). Los servidores que están
configurados para responder, responden con un mensaje DHCPOFFER.
Mientras el cliente está en estado SELECT, recolecta dichas respuestas.
3. REQUEST: Una vez que el cliente selecciona una de las respuestas enviadas y
negocia el tiempo de arrendamiento, envía un mensaje DHCPREQUEST y entra
en este estado.
4. BOUND: Con fin de enviar un acuse de recibo, el servidor contesta la solicitud
con un mensaje DHCPACK. Cuando el cliente lo recibe cambia su estado a
BOUND, en el cual el cliente pasa a usar la dirección obtenida. Este estado sería
el estado normal de operación.
5. RENEW: Se alcanza cuando un cliente en estado BOUND envía un mensaje
DHCPREQUEST porque ha caducado el temporizador que controla la
renovación. En ese mensaje viaja la dirección IP del cliente.
6. REBIND: Cuando un cliente envió un mensaje DHCPREQUEST y no hay una
respuesta por parte del servidor, el cliente lo considera inactivo. Cuando el
temporizador que controla la reasignación (este se setea cuando el cliente entra
en el estado BOUND y tiene un valor por defecto del 87.5% del valor de
arrendamiento) caduca, el cliente pasa al estado REBIND y comienza a difundir
mensajes DHCPREQUEST.
21.13 Terminación temprana de arrendamiento
Sirve para cuando un cliente quiere terminar su arrendamiento sin tener que esperar a que ese
tiempo expire. Es especialmente útil cuando el número de máquinas es más elevado que el
número de direcciones IP disponibles, ya que los clientes que consideren que no necesitan la
IP que tienen asignada, pueden liberarla para que otras máquinas la utilicen.
Para terminar un arrendamiento de manera temprana, el cliente envía un mensaje
DHCPRELEASE. Liberar una dirección es una acción final que previene que el cliente
continúe utilizando la dirección, así, luego de transmitir el mensaje de liberación, el cliente
no debe enviar ningún otro datagrama que utilice la dirección IP.
Cuando el mensaje DHCPRELEASE es enviando, el cliente pasa del estado BOUND al
estado INITIALIZE.
21.14 Estado de renovación de arrendamiento
Cuando un cliente adquiere el estado BOUND, inicia 3 temporizadores que controlan:
1. La renovación de arrendamiento
2. La reasignación de arrendamiento
3. La expiración de arrendamiento
El servidor puede determinar valores para estos temporizadores, pero en caso de que no lo
haga, el cliente asignará valores por omisión. El valor para el temporizador de renovación
será la mitad del tiempo de arrendamiento.
Cuando se vence el tiempo de renovación, el cliente pasa al estado RENEW y envía un
mensaje DHCPREQUEST con su IP y espera una respuesta por parte del servidor. El
servidor puede responder de dos formas:
1. Puede instruir al cliente para que deje de usar la IP enviando DHCPNACK, lo cual
obliga al cliente a volver a su estado INITIALIZE.
9
2. Puede aprobar que siga usando su IP actual enviando un DHCPACK. En este mensaje
pueden viajar nuevos valores de temporización.
Si el servidor no responde (por estar inactivo o inaccesible para el cliente) el cliente pasará al
estado REBIND en el momento en que se venza el temporizador de reasignación (este posee
un valor por defecto de un 87.5% del tiempo de arrendamiento) y comienza a difundir
mensajes DHCPREQUEST. Cualquier servidor habilitado para responder, puede hacerlo de
manera positiva o negativa. Si la respuesta es positiva, el cliente pasa nuevamente al estado
BOUND (en esa respuesta pueden enviarse nuevos valores de temporizacion). Si la respuesta
es negativa el usuario deberá dejar de utilizar la dirección IP inmediatamente.
Si estando en REBIND ningún servidor contesta los DHCPREQUEST del cliente, este
último pasará al estado INITIALIZE (para comenzar nuevamente la obtención de una IP) una
vez que haya vencido el tercer temporizador (el que controla la expiración).
21.15 Formato de los mensajes DHCP
El formato de los mensajes DHCP es muy similar al de los mensajes BOOTP, de hecho, los
protocolos son compatibles. Hay algunas diferencias en la interpretación de algunos campos,
como por ejemplo el campo UNUSED de BOOTP que en DHCP se llama FLAGS y se usa
para que el cliente pueda informarle al servidor si quiere que este último responda realizando
una unidifusión o una multidifusión por HW.
21.16 Opciones y tipos de mensajes DHCP
21.17 Opción Overload
Los campos SERVER HOST NAME y BOOT FILE NAME en el encabezado BOOTP
ocupan mucho espacio, entonces si un mensaje no contiene información en estos campos,
DHCP posee una Option Overload para que los campos puedan ser sobrecargados e indica al
receptor si debe ignorar el significado usual de estos campos y considerar las opciones con
las que se sobrecargó.
21.18 DHCP y nombres de dominios
10
22 Sistema de nombre de dominio (DNS)
22.1 Introducción
22.2 Nombres para las máquinas
22.3 Espacio de nombre plano
Se denomina espacio de nombre plano al conjunto original de nombres usados a través de
Internet formado por una secuencia de caracteres que no contiene ninguna estructura
adicional. Estos nombres eran administrados por la NIC (Network Information Center) que
luego fue reemplazado por la INTERNIC. (Internet Network Information Center).
Ventajas:
 Nombres convenientes y cortos
Desventajas:
 El espacio de nombres no puede generalizarse para conjuntos grandes de máquinas.
 Mucho tráfico en la única entidad administradora.
 Poca adaptabilidad para el crecimiento rápido.
22.4 Nombres jerárquicos
Se creó para la descentralización del mecanismo de asignación de nombres, delegando la
autoridad del espacio de nombres y repartiendo la responsabilidad de traducción de nombres.
La estructura elegida es una estructura de árbol invertido.
22.5 Delegar autoridad para los nombres
El espacio de nombres es particionado y la autoridad para los nombres de las subdivisiones
pasa a agentes designados.
Ejemplo:
local.localidad
La autoridad central autoriza a la localidad localidad a administrar una determinada partición
de nombres. En el ejemplo, local es la parte del nombre controlado por localidad.
Cuando la máxima autoridad añade una nueva localidad X, la añade a la lista de localidades
válidas y delega a X la autoridad sobre todos los nombres que terminen con “.X”
22.6 Autoridad para subconjuntos de nombres
En el espacio jerárquico de nombres, la autoridad puede subdividirse en cada nivel. La idea
es subdividir tanto como sea necesario para que las subdivisiones sean manejables.
Sintácticamente, cada vez que se subdivide el espacio de nombres, se introduce una nueva
partición del nombre.
Ejemplo:
local.grupo.localidad
11
La localidad localidad delega autoridad a grupo, por lo tanto podrá haber nombres distintos o
no de grupos para las diferentes localidades.
Ejemplo:
producción.grupo1.localidad1
producción.grupo1.localidad2
producción.grupo2.localidad1
En una red de redes TCP/IP, la jerarquía de nombres de máquina se asigna de
acuerdo con la estructura de la organización que obtiene la autoridad para dividir
el espacio de nombres y no necesariamente de acuerdo con la estructura de las
interconexiones de red física.
En una universidad puede pasar que dos departamentos diferentes compartan físicamente las
mismas instalaciones de red, pero pueden tener líneas de autoridad diferentes dentro de la
misma.
22.7 Nombres de dominio TCP/IP
El mecanismo que implanta una jerarquía de nombres para la red de redes TCP/IP se llama
DNS (Domain Name System) y tiene dos aspectos independientes:
1. Es abstracto. Especifica la sintaxis del nombre y las reglas para delegar autoridad de
los nombres.
2. Es concreto. Dice como se implementa el sistema distribuido que transforma los
nombres en direcciones IP.
El sistema de nombres de dominio llama a cada componente del nombre (separados por
punto) etiqueta, por lo tanto el siguiente ejemplo posee tres etiquetas:
cs.purdue.edu



cs: Este dominio corresponde al departamento de ciencias Computacionales de la
Universidad de Purdue.
purdue: Es el nombre de dominio para la Universidad de Purdue.
edu: Es el nombre de dominio para las instituciones educativas.
22.8 Nombres de dominio oficiales y no oficiales
El sistema de dominio dicta sólo la forma de los nombres y no sus valores, por lo tanto es
posible, para cualquier grupo que constituya una instancia del dominio seleccionar etiquetas
para todas las partes de su jerarquía.
Sin embargo la mayoría de los usuarios de tecnología de dominio sigue la jerarquía de
etiquetas usada por el sistema de dominio oficial de Internet por dos razones:
1. El esquema de Internet es completo y flexible y se adapta a una amplia variedad de
organizaciones.
2. Porque de esta manera pueden conectar sus instalaciones TCP/IP a la red global de
Internet.
La autoridad central, particionó sus dominios en los siguientes subdominios:
 COM
Organizaciones comerciales
12







EDU
GOV
MIL
NET
ORG
ARPA
INT
Instituciones educativas
Instituciones gubernamentales
Grupos militares
Centros mayores de soporte de red
Organizaciones
Para ARPANET (obsoleto)
Organizaciones internacionales
El nombre de nivel superior admite dos jerarquías de nombres diferentes:
1. El esquema geográfico
2. El esquema organizacional
El geográfico divide el universo de máquinas por país.
Ejemplo:
El dominio para el estado de Virginia en EEUU seria: va.us
La desventaja de este esquema es que los nombres son largos y difíciles de adivinar.
Como alternativa al esquema jerárquico geográfico existe el organizacional. Si una
organización quiere registrarse bajo cierto dominio, se lo solicita a la autoridad central y ésta
deberá autorizarlo.
Ejemplo:
Una máquina en el departamento de ciencias de la Universidad de Purdue tiene el siguiente
dominio:
xinu.cs.purdue.edu
El nombre de la máquina (xinu) fue aprobado y registrado por el administrador de la red local
en el departamento de ciencias. El administrador de tal departamento había obtenido previa
autorización para el dominio cs.purdue.edu de una autoridad de la red universitaria, quien a
su vez había obtenido permiso para administrar el subdominio purdue.edu de la autoridad de
Internet. La autoridad de Internet conserva el control del dominio edu, de manera que nuevas
universidades puedan añadirse sólo con su permiso.
22.9 Cosas por nombrar y sintaxis de los nombres
El esquema de nombres de dominio permite que los clientes distingan entre varios tipos de
entrada. Para esto, cada aspecto almacenado en el sistema es asignado a un tipo que
especifica si se trata de una máquina, buzón, usuario, etc.
Cuando una aplicación solicita resolver el problema de un nombre, especifica qué tipo de
aspecto que está buscando.
Es importante entender lo siguiente:
Un nombre dado puede transformarse en más de un aspecto en el sistema de
dominio. El cliente especifica el tipo de aspecto deseado cuando resuelve el
problema de un nombre, y el servidor devuelve objetos de ese tipo.
Además de especificar el tipo de respuesta, el sistema de dominio permite al cliente
especificar la familia de protocolos que utilizará.
13
raíz sin nombre
com
edu
gov
us
va
nsf
purdue
reston
cc
cs
ecn
Organizacional
cnri
Geográfico
Figura 22
22.10 Asociación de nombres de dominio en direcciones
El esquema de nombres de dominio incluye un sistema distribuido, confiable y de propósito
general para asociar nombres en direcciones.



Distribuido: Un conjunto de servidores opera en varias localidades de manera
conjunta.
Eficiente: La mayor parte de los nombres pueden ser asociados localmente, sólo unos
pocos requieren tráfico de red de redes.
Confiable: Una sola falla de una máquina previene al sistema para que opere
correctamente.
El mecanismo de dominio está conformado por sistemas independientes y cooperativos
llamados servidores de nombres. Un servidor de nombres es un programa servidor que ofrece
asociación entre nombres y direcciones IP.
La forma más fácil de entender cómo trabaja un servidor es verlo como un árbol que
corresponde a la jerarquía nombrada (Figura 22.3).
14
Servidor
raíz
Servidor
.com
Servidor
.edu
Servidor
.gov
Servidor
dec.com
Servidor
purdue.edu
Servidor
nsf.gov
…
Servidor
.us
Nivel
Superior
Servidor
va.us
Figura 22.3
La jerarquía del árbol se divide de la siguiente forma:




La raíz del árbol es un servidor que reconoce el dominio de nivel superior y
sabe que servidor resuelve cada dominio.
En el siguiente nivel, un conjunto de servidores de nombre proporciona
respuestas para un dominio de nivel superior (Ej.: edu).Un servidor en este
nivel sabe que servidor puede resolver cada uno de los subdominios bajo su
dominio
En el tercer nivel del árbol, el servidor de nombres proporciona respuestas
para el subdominio (Ej.: purdue bajo edu).
El árbol conceptual continúa con un servidor en cada nivel para el que se ha
definido un subdominio.
Las conexiones entre servidores no indican conexiones físicas. Cada servidor puede estar en
una red distinta dentro de la red de redes.
22.11 Resolución de nombres de dominio
CONTINUAR DESDE LA PÁGINA 395
22.12 Traducción eficiente
22.13 Desempeño del cache: la clave de la eficiencia
22.14 Formato de los mensajes del servidor de dominios
22.15 Formato del nombre comprimido
22.16 Abreviatura de nombres de dominio
15
22.17 Asociaciones inversas
22.18 Búsquedas de apuntador
22.19 Tipos de objetos y contenido del registro de recursos
22.20 Obtención de autoridad para un subdominio
16
23 Aplicaciones: acceso remoto
(TELNET y Rlogin)
23.2 Computación remota interactiva
23.3 Protocolo TELNET
Permite establecer una conexión TCP con un servidor de acceso a otro. TELNET transfiere
las pulsaciones de teclado directamente desde el teclado del usuario a la computadora remota.
También transporta la salida de la máquina remota de regreso al usuario. Este servicio se
llama transparent ya que el usuario ve como si su teclado y monitor estuvieran conectados
directamente a la máquina remota.
TELNET permite que el usuario especifique la máquina remota a través del nombre de
dominio o de la dirección IP. Ofrece tres servicios básicos:
1. Define una Terminal virtual de red que proporciona una interfaz estándar para los
sistemas remotos.
2. Incluye un mecanismo que permite negocias opciones entre cliente y servidor.
3. Maneja los extremos de la conexión de manera simétrica.
El cliente lee de
la terminal
Cliente
Telnet
El cliente manda
al servidor
Servidor
Telnet
El servidor
manda a una
pseudo terminal
Disp.
de E/S
usuario
sistema
operativo
El servidor recibe
del cliente
sistema
operativo
red de
redes
TCP/IP
Figura 23.1
Cuando un usuario invoca a TELNET, un programa de aplicación se convierte en el cliente,
que establece la conexión TCP con el servidor. Una vez hecha la conexión, el cliente acepta
los pulsos de teclado y los envía al servidor. Concurrentemente, acepta los caracteres
enviados por el servidor y los muestra en la pantalla de usuario.
El servidor puede atender varias conexiones con distintos clientes. Lo que se muestra en la
figura 23.1 es un esclavo dentro del servidor que atiende una conexión con un cliente.
El termino pseudo terminal de la figura se refiere a que el servidor no envía los caracteres
directamente al terminal, sino que los manda al SO que actúa simulando una terminal.
17
Que el servidor TELNET corra como una aplicación cliente tiene como:


Ventaja: Es más fácil controlarlo y modificarlo que si el servidor estuviera enclavado
en el SO.
Desventaja: Es menos eficiente porque los caracteres deben atravesar una capa mas
(el SO).
23.4 Adaptarse a la heterogeneidad
Para adaptarse a la heterogeneidad de los sistemas, TELNET define como deben mandarse
las secuencias de datos y comandos a través de Internet. Dicha definición se conoce como
network virtual terminal (NVT).
La idea es realizar una traducción de las pulsaciones de teclado antes de enviarlas.
Disp.
de E/S
usuario
conexión TCP
Cliente
Formato sistema
cliente
Sistema del
servidor
Servidor
Formato NVT
Formato sistema
servidor
Figura 23.2
La codificación usada por NVT es USASCII, que incluye 95 caracteres imprimibles y 33
códigos de control. Cada código de control de USASCII tiene una interpretación determinada
dentro de NVT (ver figura 23.3 en el libro) y los caracteres imprimibles tienen el mismo
significado que el conjunto de caracteres estándar de USACII.
Ejemplo:
Si el usuario presiona ENTER, el cliente deberá traducir el código que el sistema cliente usa
para el ENTER a CR-LF del sistema NVT y eso es lo que viaja a través de la conexión TCP
hasta el servidor que luego traducirá CR-LF al código que use el sistema del servidor.
23.5 Transferencia de comandos que controlan extremo remoto
NVT adapta las funciones de control creando funciones de control conceptuales. Algunas de
esas funciones son:
 IP
(Interrupt Process)
Interrupción del proceso
 AO
(Abort Output)
Salida abortada
 AYT
(Are You There)
Estas ahí. Prueba si el servidor responde
 EC
(Erase Character)
Borra carácter.
 EL
(Erase Line)
Borra línea
 SYNCH
(Syncronize)
Sincroniza. Despeja la trayectoria de datos
hasta que el punto de datos TCP es urgente, pero interpreta comandos
 BRK
(Break)
Teclas de pausa o señal de atención
El hecho de que NVT separe la definición de comandos de control *1 de los caracteres ASCII
normales tiene dos ventajas:
1. Permite mayor flexibilidad, porque de esta forma se pueden transmitir todas
las secuencias de caracteres ASCII posibles entre el cliente y el servidor *2
2. Permite que el cliente especifique las señales de manera no ambigua.
18
TELNET codifica los comandos de control a través de TCP usando la secuencia de escape. O
sea que envía un byte IAC (Internet as Command) que indica que a continuación sigue un
comando de control (Para ver los comandos de control, ver la figura 23.5 en el libro, pagina
415). Cuando se va a enviar un IAC y en los datos existe un carácter IAC, este se envía dos
veces.
23.6 Forzar al servidor a leer una función de control
En ciertos casos, puede pasar que los buffers del servidor estén llenos, entonces el servidor
anuncie un tamaño de ventana cero lo que evita la transferencia de datos a través de la
conexión TCP. Si en ese momento el usuario envía un IAC IP para finalizar la aplicación, el
servidor no leerá la secuencia porque TCP ha dejado de enviar datos a la máquina del
servidor. Para evitar esto, TELNET utiliza una señal fuera de banda. Esto se implementa
con el mecanismo de dato urgente. Cuando se va a transmitir un comando de control,
TELNET también envía un comando SYNCH, luego anexa un byte especial llamado marca
de datos y hace que TCP envíe los datos con el bit de URGEN DATA.
Los segmentos que llevan los datos urgentes evitan el control de flujo y así logran llegar al
servidor.
23.7 Opciones de TELNET
En TELNET las opciones son negociables, con lo que se logra reconfigurar una conexión
entre el cliente y el servidor. El rango de opciones es bastante amplio. Por ejemplo, una de
las opciones permite que TELNET opere en half-duplex (modo de operación normal) o fullduplex (Para ver más opciones ver la figura 23.6 en el libro, pagina 417).
23.8 Negociación de opciones de TELNET
Telnet utiliza un mecanismo de negociación de opción simétrica para permitir a los
clientes y a los servidores reconfigurar los parámetros que controlan su
interacción. Como el software TELNET comprende un protocolo NVT básico, los
clientes y los servidores pueden interoperar aun cuando uno comprenda las
opciones y el otro no.
23.9 Rlogin (BSD de UNIX)
*1: Nótese la diferencia entre caracteres de control y comando de control. El primero es un código ASCII que
sirve por ejemplo para mover el cursor, indicar una nueva línea, etc. Los caracteres de control llegan a la
aplicación cliente. En cambio los comandos, no llegan al cliente, ya que indican una terminación abrupta, o una
consulta al servidor, etc.
*2: Recordar que los comandos no llegan a la aplicación cliente. Por ejemplo, cuando se presiona CTRL+C para
la terminación de un programa, este nunca se entera de que el usuario presionó esa combinación de teclas, ya
que el SO lo mata antes.
19
24 Aplicaciones: transferencia y acceso de archivos
(FTP, TFTP, NFS)
24.2 Acceso y transferencia de archivos
Algunos sistemas son pensados como unidades centrales de almacenamiento que
proporcionan almacenamiento secundario a un conjunto de máquinas de bajo costo que no
poseen disco. Otros diseños se valen del almacenamiento remoto para archivar datos y en
otros casos la motivación principal es la compartición de datos entre varios usuarios.
24.3 Acceso compartido en línea
Compartir archivos se presenta en dos formas:
1. Acceso en línea
2. Copiado de archivo completo
El primero significa que permite a varios programas acceder de manera concurrente a un solo
archivo y los cambios estarán disponibles para todos los que acceden, mientras que el
copiado significa que cada vez que un programa quiera acceder a un archivo, este obtendrá
una copia local. El copiado se usa generalmente para datos de solo lectura, pero en caso de
que se hagan modificaciones, el programa hace los cambios locales y luego transfiere de
regreso el archivo modificado a la localidad original.
Los archivos remotos están integrados con los archivos locales, es decir, el usuario no
necesita acceder a los remotos a través de aplicaciones cliente particulares, sino que el acceso
a ellos es idéntico al acceso a los locales, por lo tanto se dice que se proporciona acceso
transparente, lo que brinda como ventaja que el acceso a archivos remotos ocurre sin
cambios visibles en los programas de aplicación.
Esta integración entre máquinas puede verse complicada por la diversidad de arquitecturas y
SO que estas puedan utilizar.
24.4 Compartir mediante transferencia de archivos
Acceder a datos remotos a través de una transferencia requiere dos pasos:
1. Obtener la copia local
2. Trabajar en la copia
La mayor parte de los mecanismos de transferencia no están integrados, por eso para que el
usuario pueda transferir debe acceder a aplicaciones cliente de propósito especial a las que le
deberá especificar la máquina de la que se obtendrán los archivos además de cuenta y clave
(de ser necesario).
24.6 Características de FTP
FTP (File Ttransfer Protocol) es un protocolo complejo porque lidia con las diferentes
arquitecturas de máquinas y además brinda más facilidades que la simple transferencia.

Acceso interactivo: Si bien está orientado para usarse mediante programas, posee
una interfaz que permite a los usuarios interactuar con los servidores remotos.
20


Especificación de formato: El FTP permite especificar al usuario el tipo y formato
de los datos almacenados.
Control de autenticación: Requiere que los usuarios se autoricen a si mismos con el
envío de nombre de conexión y una clave de acceso al servidor.
24.7 Modelo de proceso FTP
Un proceso servidor maestro espera las conexiones y crea un proceso esclavo para manejar
cada conexión, pero a diferencia de casi todos los servidores, el proceso esclavo no ejecuta
todos los cómputos necesarios, sino que crea un proceso (o varios) adicional que se encarga
de manejar la transferencia de manera separada.
Por la conexión de control se transmiten comandos que le dicen al servidor que archivo
transferir, mientras que los datos viajan por la conexión de transferencia de datos. Ambas
conexiones utilizan TCP como transporte.
Las conexiones y procesos de transferencia de datos pueden crearse de manera
dinámica cuando se necesitan, pero la conexión de control continúa a través de una
sesión. Una vez que la conexión de control desaparece, la sesión se termina y el
software en ambos extremos termina todos los procesos de transferencia de datos.
sistema cliente
transf.
de
datos
proceso
de
control
sistema
operativo
sistema servidor
conexión de
control de cliente
proceso
de
control
conexión de control
de servidor
transf.
de
datos
sistema
operativo
red de
redes
TCP/IP
Figura 24.1
24.8 Asignación de números de puerto
CONTINUAR DESDE LA PÁGINA 428
24.10 Ejemplo de una sesión con FTP anónimo
El acceso al FTP anónimo significa que un cliente no necesita una cuenta o clave para
acceder al servidor de recursos sino que accede con un nombre de conexión anónimo y una
21
clave de invitado. El servidor restringe el acceso a los archivos públicos que figuran en el
servidor.
Los mensajes de control y error entre el cliente y servidor FTP comienzan con un
número de tres dígitos seguido de texto. El software interpreta el numero; el texto
está dirigido a los usuarios.
24.11 TFTP
TFTP (Trivial File Transfer Protocol) es un segundo protocolo del grupo de protocolos
TCP/IP que se utiliza para la transferencia de archivos. Es una versión simplificada de FTP
para aquellas máquinas que no necesitan o no pueden soportar la complejidad del FTP, ya
que este requiere que se manejen varias conexiones TCP/IP simultáneas. TFTP restringe las
operaciones a transferencia de archivos sencilla y no proporciona autenticación.
SE PUEDE AGREGAR INFORMACION (PAGINA 432)
24.12 NFS
NFS (Network File System) proporciona un acceso de archivos compartidos en línea que es
transparente e integrado.
24.13 Implantación NFS
NFS se encuentra embebido en el SO. El mecanismo de acceso a archivos recibe las
peticiones y las transmite de manera automática al SW de sistema de archivos local o del
cliente NFS dependiendo de si el archivo solicitado esta en el disco local o en una máquina
remota.
aplicación
Mecanismo de acceso a
archivos
Local File
System
Disco
local
Cliente
NFS
Conexión de red
de redes hacia el
servidor NFS
Figura 24.3
22
24.14 Llamada de procedimiento remoto (RPC)
En lugar de definir el protocolo NFS de cero, los diseñadores prefirieron construir tres piezas
independientes.
El protocolo NFS, es un mecanismo general de llamada de procedimiento remoto o RPC
(Remote Procedure Call) y una representación de datos externa o XDR (External Data
Representation).
Desde el punto vista del programador, NFS no proporciona por si mismo nuevos
procedimientos que un programa pueda llamar, pero una vez que un administrador configura
el NFS los programas pueden acceder a los archivos remotos de la misma forma que acceden
a los archivos locales. RPC y XDR proporcionan mecanismos que los programadores pueden
usar para crear programas distribuidos.
Ejemplo RPC:
Un programador puede dividir un programa de un lado como cliente y de otro como servidor
y usar RPC como principal mecanismo de comunicación. En el lado cliente, el programador
designa como remotos algunos procedimientos, forzando así al compilador a incorporar el
código RPC en dichos procedimientos. En el lado del servidor, el programador implanta los
procedimientos deseados y utiliza otras características de RPC para declararlos como parte de
un servidor. Cuando el cliente llama a los procedimientos remotos, el RPC recolecta
automáticamente los valores para los argumentos, forma el mensaje y lo envía al servidor,
espera una respuesta, y cuando llega alacena los datos devueltos en los argumentos
designados. Entonces, gracias a RPC, la comunicación ocurre de manera automática,
haciendo posible que el programador se abstraiga de los detalles de la misma.
Ejemplo XDR:
Brinda a los programadores una manera de transmitir datos entre máquinas heterogéneas de
manera transparente. El caso puntual de aplicación puede verse en la escritura de enteros de
32 bits. Algunos sistemas utilizan Big Endian y otros Little Endian, por lo tanto si no se
hicieran las traducciones necesarias, el valor del entero pondría cambiar de un sistema a otro.
XDR resuelve este problema definiendo una presentación independiente en cada máquina. En
un extremo de la comunicación, un programa invoca procedimientos XDR para hacer la
conversión de la representación del hardware local a la representación independiente de
máquina. Una vez que los datos son transmitidos, se realizará el mismo proceso pero
invertido en el otro extremo.
24.15 RPC Port Mapper
El Port Mapper mapea programas RPC con números de puertos. Este programa realiza un
binding dinámico de posibles programas remotos. Esto es deseable ya que el rango de los
números de puerto reservados es muy pequeño en relación al número de programas remotos,
que potencialmente es muy grande.
También ayuda en la comunicación RPC. Cuando un RPC en el servidor inicia, el sistema le
puede asignar un puerto arbitrario y ese puerto puede no ser conocido por el cliente, por lo
tanto el cliente no sabrá a qué puerto enviar los paquetes para utilizar el RPC. El port mapper
tiene dos funciones para solucionar esto.
1. La primera es que el port mapper siempre escucha en el mismo puerto, por eso los
clientes saben a priori a que dirección enviar los paquetes.
2. La segunda es que cuando un RPC inicie, le informará al port mapper que puerto le
fue asignado y que números de programa está preparado para atender, así cuando un
23
cliente invoque al RPC el port mapper le indicará al cliente a donde enviar los datos.
Por tal motivo el port mapper debe ser iniciado antes que cualquier RPC.
El Port Mapper soporta dos protocolos UDP y TCP, y es accedido desde el puerto 111.
Los procedimientos del Port Mapper son los siguientes:









PMAPPROC_NULL: Este procedimiento no realiza ningún trabajo. Por convenio,
el procedimiento nulo de cualquier protocolo no requiere parámetros y no retorna
ningún resultado.
PMAPPROC_SET: Cuando un programa esta disponible en una máquina, se
registra el mismo con el programa Port Mapper en la misma máquina. El programa
pasa su número de programa, su número de versión, su número de protocolo de
transporte y el puerto donde espera servicio. El procedimiento retorna una variable
booleana puesta a TRUE si el procedimiento ha establecido correctamente el mapeo,
y FALSE en cualquier otro caso. El procedimiento rechaza el establecimiento del
mapeo si ya existe una tupla (programa, versión, protocolo).
PMAPPROC_UNSET: Cuando un programa ya no esta disponible, debe eliminarse
él mismo con el Port Mapper en la misma máquina. Los parámetros y resultado tienen
el mismo significado que en el procedimiento anterior. El número de protocolo y de
puerto son ignorados en este procedimiento.
PMAPPROC_GETPORT: Dado un número de programa, un número de versión y
un número de protocolo de transporte, este procedimiento retorna el número de puerto
en donde el programa está esperando solicitudes. Un número de puerto igual a cero,
quiere decir que el programa no ha sido registrado. El argumento puerto es ignorado.
PMAPPROC_DUMP: Este procedimiento enumera todas las entradas en la base de
datos del port mapper. El procedimiento no toma parámetros y retorna una lista de
programa, versión, protocolo y valores de puerto.
PMAPPROC_CALLIT: Este procedimiento permite a un cliente llamar a otro
procedimiento remoto en la misma máquina, sin conocer el número de puerto del
procedimiento remoto. Está destinado para soportar broadcast a programas remotos
arbitrariamente vía los puertos conocidos del port mapper.
Este procedimiento solo envía respuesta si el procedimiento ha sido correctamente
ejecutado y no responde en otros casos.
El Port Mapper comunica con el programa remoto utilizando solamente el protocolo
UDP.
Este procedimiento retorna el número de puerto del programa remoto, y la respuesta
es la respuesta del procedimiento remoto.
24.16 Servicios, Puertos y Procesos
Un proceso de servicio RPC se asocia a un programa constituido por un conjunto de
procedimientos, mediante un número de identificación. Cuando hay una llamada a un
procedimiento existirá un proceso encargado de la ejecución del servicio solicitado. Esto
implica que se tiene acceso al código de los diferentes procesos de servicio. El proceso de
servicio comunica con el modulo solicitado a través de un socket del dominio INTERNET,
es decir mediante un protocolo de transporte: UDP o TCP. El socket en cuestión se asocia a
un número de puerto. Puede ocurrir que se genere el proceso de servicio para que esté
permanentemente a la escucha en el puerto asociado, o que el puerto asociado forme parte de
un conjunto de puertos sobre los que escucha un proceso particular. Este último proceso es el
que creará el proceso de servicio en el momento adecuado.
24
24.17 El proceso Portmap
Este es un proceso que responde a un servicio RPC reservado (numero de programa 100000
y puerto 111). Su misión es la de asociar un número de puerto a cada número de servicio
RPC dado. Para establecer una transmisión RPC este proceso debe estar activo. Por esto,
cada nuevo servicio disponible debe ser notificado al proceso Portmap del sistema (proceso
llamado: mecanismo de grabación de servicio).
25
25 Aplicaciones: Correo electrónico
25.2 Correo electrónico
A diferencia de otros protocolos, el correo electrónico puede manejar las entregas con
retraso. Esto es, enviar el correo a pesar de que las conexiones hayan fallado o que la
máquina remota no esté disponible. Para lograrlo, se utiliza una técnica conocida como
spooling. En el envío, se coloca una copia del mensaje en un área de almacenamiento
privado, y el sistema inicia una actividad subordinada que realiza el envío hacia la máquina
remota mientras el emisor puede dedicarse a otras tareas.
envío de correo
del usuario
área spool
de salida
de correo
cliente
(transferencia
subordinada)
conexión TCP
buzones
para correo
entrante
servidor
(para aceptar
correo)
conexión TCP
para salida de correo
Interfaz
de
usuario
lectura de correo
del usuario
para correo entrante
Figura 25.1
25.3 Nombres y alias de los buzones de correo
Tres ideas importantes:
1. Los usuarios especifican recipientes, proporcionando pares de cadenas que
identifican el nombre de la máquina y la dirección de buzón.
2. Los nombres utilizados en estas especificaciones son independientes de otros
nombres asignados a las máquinas. Usualmente la dirección de un buzón es la misma
que la del usuario frente al sistema, y el nombre de la máquina el mismo que el del
dominio de la máquina aunque esto no tiene que ser así necesariamente.
3. La tercera realmente no se entiende, verla del libro (página 441).
25.4 Expansión de alias y direccionamiento de correspondencia
Los alias incrementan la funcionalidad del correo electrónico. Permiten a una persona tener
varios identificadores de correo como también generar un identificador asociado a varias
direcciones (listas de correo electrónico).
26
Normalmente, luego de que el usuario compone el mensaje y nombra un recipiente, el
programa de interfaz de correo consulta los alias locales para reemplazar el recipiente con la
versión transformada antes de pasar el mensaje al sistema de entrega.
25.5 relación entre el enlace de redes y el correo electrónico
Existen sistemas que pueden enviar e-mails sin estar conectados a Internet.
¿Cuál es la diferencia entre estos y los que se describen acá?
1. La primera es que una red de redes TCP/IP hace posible el servicio de entrega
universal.
2. El sistema de correo TCP/IP es inherentemente más confiable.
La primer razón es fácil de validar, ya que TCP/IP proporciona conexión a todas las
máquinas en la red de redes, y en esencia todas las máquinas están conectadas a una sola red.
La segunda se debe a que dado que el sistema emisor puede determinar siempre el estado
exacto de un mensaje, éste puede guardar una copia hasta tener la certeza de que el mensaje
fue correctamente enviado al servidor.
Los sistemas de correo que utilizan la entrega EAE pueden garantizar que cada
mensaje de correo se mantenga en la máquina del emisor hasta ser copiado con
éxito en la máquina del receptor.
Una alternativa a la entrega EAE es el uso de mail gateways. Es este caso los envíos se
realizan a una máquina intermedia que se encarga de completar el envío.
Las desventajas de las compuertas de mensajes son:


Una disminución de la confiabilidad ya que una vez que se envió una copia al
intermediario, se borra la copia local y mientras tanto ni el emisor ni el receptor
tienen una copia del mensaje.
Introducción de retardos.
Las ventajas:

Interoperabilidad. Permite enviar mensajes entre redes que soportan diferentes
tecnologías.
25.6 Estándares TCP/IP para el servicio de correo electrónico
TCP/IP persigue la interoperabilidad entre un amplio rango de sistemas. Para extenderla en el
sistema de correo, divide sus entandares en dos grupos:
1. Uno especifica el formato de los mensajes.
2. El otro especifica los detalles de intercambio de correo entre dos computadoras.
Un mensaje de correo está compuesto por un encabezado y por un cuerpo. El estándar TCP /
IP para los mensajes de correo, especifica el formato del encabezado así como su
interpretación. Por ejemplo, debe contener una línea que especifique el destino y otra que
especifique el remitente (To: y From:). Algunos campos del encabezado son opcionales,
como por ejemplo el campo de dirección de réplica (Cc:).
27
25.7 Direcciones de correo electrónico
Normalmente las direcciones de correo poseen una forma sencilla de recordar:
parte-local@nombre-dominio
Donde el nombre de dominio es el nombre de dominio de un destino de correo (técnicamente
especifica un distribuidor de correo, no un nombre de máquina) al que el correo debe ser
entregado y parte local es la dirección de un buzón en la máquina.
Ejemplo:
[email protected]
Sin embargo, las compuertas de correo pueden volver complejas a las direcciones.
Cualquiera que esté fuera de Internet, deberá direccionar a la compuerta de correo más
cercana, o tener un SW que lo haga automáticamente.
parte-local % nombre-dominio @ compuerta
Ejemplo:
comer % purdue.edu @ relay.cs.net
25.8 Pseudo direcciones de dominio
Es una forma que ayuda a resolver el problema de los diversos sistemas de correo, cada uno
con su propio formato de dirección, logrando que para el usuario todas las direcciones de
correo tengan la misma forma. Esto se logra utilizando direcciones especiales que serán
luego traducidas por el SW para el envío de correo.
25.9 Protocolo de transferencia de correo simple (SMTP)
SMTP (Simple Mail Transfer Protocol) es el protocolo de transferencia estándar.
SMTP se enfoca en:

Como el sistema de entrega de correo subyacente transfiere los mensajes a través del
enlace de una máquina a otra.
SMTP no especifica:




De que manera el sistema de correo acepta los mensajes de un usuario.
Como representa al usuario la interfaz de usuario de correo entrante.
Como se almacena el correo
Con que frecuencia el sistema de correo intenta enviar mensajes.
El establecimiento de la conexión entre cliente y servidor sigue el siguiente esquema:
1. El cliente establece una conexión de flujo confiable (TCP) y espera que el servidor
envíe el mensaje 220 READY FOR MAIL.
2. Al recibir el mensaje, el cliente envía el mensaje HELO (abreviatura de HELLO).
3. El servidor responde identificándose.
28
4. Una vez que se estableció la comunicación el emisor puede transmitir uno o más
mensajes de correo.
5. El emisor puede terminar la conexión o solicitar al receptor que se intercambien los
roles de emisor y receptor para que los mensajes puedan fluir en dirección opuesta
(mensaje TURN).
6. El receptor debe enviar un acuse de recibo por cada correo recibido.
7. El receptor también puede abortar la transferencia.
Una transacción de correo sigue los siguientes pasos:
1. Se comienza con el envío del comando MAIL, que proporciona la identificación del
emisor así como un campo FROM que contiene la dirección a donde se deberán
reportar los errores.
2. Un recipiente prepara su estructura de datos para recibir un nuevo correo y responde
al comando MAIL enviando un 250 OK.
3. Cuando al emisor le llega el 250 OK, emite una serie de comandos RCPT que
identifican a los recipientes del mensaje de correo. Los receptores deben enviar un
acuse de recibo por cada comando RCPT enviando un 250 OK o 550 No Such User
Here.
4. Después de que todos los comandos RCPT han sido reconocidos, el emisor emite un
comando DATA que indica al receptor que el emisor esta listo para enviar un correo
completo.
5. El receptor responde 354 Start mail input y especifica la secuencia de caracteres para
terminar el mensaje de correo.
La conexión se cierra en dos pasos. Primero el emisor envía una orden QUIT y espera una
respuesta. Luego sigue cerrando la conexión TCP. El receptor hará lo propio luego de enviar
su respuesta a la orden QUIT.
El siguiente ejemplo tomado de la RFC 821 muestra el proceso:
25.10 La extensión MIME para datos no ASCII
MIME (Multipurpose Internet Mail Extension) fue creado para la transmisión de datos no
ASCII a través de e-mail. La MIME no cambia ni reemplaza a SMTP, sino que lo extiende.
29
De hecho permite que datos arbitrarios sigan codificándose en ASCII y luego se envíen a
través de mensajes de mail estándar.
La información MIME reside dentro del encabezado 822 y posee cinco campos:
1.
2.
3.
4.
5.
versión MIME
Tipo de contenido
Codificación de transferencia de contenido
Identificador del contenido
Descripción del contenido
Los posibles tipos de contenido son:
1.
2.
3.
4.
5.
6.
7.
Texto
Multiparte
Mensaje
Audio
Imagen
Video
Aplicación
25.11 Mensajes MIME multipart
El tipo de contenido multipart permite cuatro subtipos:
1. Mixed: permite que un sólo mensaje contenga submensajes independientes en donde
cada uno tiene un tipo independiente y una codificación diferente. Un mensaje podrá
contener audio, imágenes y otros formatos en simultáneo.
2. Alternative: permite que un sólo mensaje sea representado de diferentes formas. Esto
es útil cuando se envían mensajes a varios recipientes que no utilizan el mismo HW /
SW de sistema.
3. Parallel: Permite que un mensaje tenga subpartes que tengan que ser vistas todas
juntas. Por ejemplo, subpartes de imagen y video que deben presentarse de manera
simultánea)
4. Digest: Permite que un solo mensaje contenga un conjunto de otros mensajes. Por
ejemplo, la colección mensajes de una discusión.
25.12 El comando TURN
Este comando (descrito en la RFC 821), conlleva importantes problemas de seguridad,
debido a que en ausencia de una fuerte autenticación del host que pide que el cliente y el
servidor intercambien roles, puede ser fácilmente utilizado para desviar correos de su destino
correcto, por tal motivo su uso fue deprecado. Los sistemas SMTP no deberían usarlo a
menos que puedan autentificar al cliente.
30
28 Seguridad de Internet y diseño del muro de seguridad
28.1 Introducción
La seguridad se apoya en tres acciones principales:
1. Prevención
2. Detección
3. Reacción
Prevenir los ataques, detectarlos en caso de que ocurran y reaccionar ante tales detecciones.
28.2 Recursos de protección
Seguridad significa integridad de los datos, confianza en que no existan accesos no
autorizados, que los recursos están libres de intromisiones y que no hay interrupciones de
servicios.




Integridad
Autenticidad
Privacidad
Disponibilidad
La seguridad está ligada no solo a los recursos físicos sino también a los recursos abstractos,
siendo esta ultima más difícil de implementar. La integridad de datos así como la
disponibilidad de datos son cruciales, y como la información puede ser accedida a través de
una red, la protección debe prevenir lecturas no autorizadas.
28.3 Necesidad de una política de información
Antes de que se implante un proyecto de seguridad, la organización debe asumir riesgos y
desarrollar una política clara de accesos de información y protección y darla a conocer a
todos sus empleados. Esto es crucial dado que:
Las personas son por lo general el punto más susceptible de cualquier esquema
de seguridad. Un trabajador malicioso, descuidado o ignorante de las políticas
de información puede comprometer la seguridad.
Un empleado debe ser capaz de responder preguntas básicas como:





¿Qué tan importante es la información para la organización?
¿Qué significan los derechos de autor?
¿Qué tanto de la información a la que tiene acceso puede discutir con otros
empleados?
¿Qué información puede importar a la compañía?
¿Qué son los derechos de propiedad intelectual?
Las políticas de información deben abarcar tanto la información “entrante” como la
“saliente”.
31
Las políticas de información pueden entrar en conflicto. Por ejemplo, si se consideran tres
organizaciones A, B y C, donde A permite que la información fluya hacia B pero no hacia C,
si la política de B permite fluir información hacia C eso entraría en conflicto con las políticas
de A.
28.4 Comunicación, cooperación y desconfianza mutua
Se dice que cuando tres organizaciones intercambian información, la seguridad de la política
de seguridad es el cierre transitivo de las políticas de seguridad individuales. Como
resultado:
Una organización no puede conocer el efecto de comunicarse e interactuar con
otras a menos que las dos organizaciones acuerden un nivel de confianza
recíproca.
28.5 Mecanismos para la seguridad de Internet
Los problemas de seguridad y los mecanismos de software que ayudan a prevenirlos pueden
clasificarse en tres conjuntos:
1. El primero se enfoca en la autorización, autenticación e integridad.
2. El segundo en el problema de la privacidad.
3. El tercero en la disponibilidad mediante el control de acceso.
28.5.1 Mecanismos de autenticación
Resuelven el problema de verificar la identificación. Cuando un cliente hace un primer
contacto con un servidor, este debe verificar que el cliente este autorizado antes de prestar el
servicio. El servidor puede utilizar diferentes técnicas para autenticar. Una de esas técnicas es
identificar al cliente según su dirección IP, aunque puede ser violada con facilidad si es que
un router que rutea paquetes al servidor es controlado por un impostor. El impostor puede
actuar como servidor para un cliente como de cliente para un servidor. La solución a este
problema radica en proporcionar un servicio confiable. Una forma de lograr esto es a través
del cifrado de clave pública. Para usar un sistema de clave pública cada participante debe ser
asignado a dos claves que son utilizadas para codificar y decodificar mensajes. Cada clave es
un entero largo.


Un participante publica una clave, llamada clave pública, en una base de datos
pública y conserva la otra en secreto.
Un mensaje se codifica mediante una clave que se puede decodificar usando la otra.
Por ejemplo, un emisor codifica un mensaje con la clave pública del receptor. Ese mensaje
puede solamente ser decodificada con la clave privada del receptor que sólo el receptor
conoce. Un cliente y un servidor que utilicen cifrado de clave pública pueden estar
razonablemente seguros de que su interlocutor es auténtico, aún si sus datagramas pasan a
través de una red poco segura.
28.5.2 Mecanismos de privacidad
Para dar privacidad con el mecanismo de cifrado de clave pública se procede de la siguiente
forma:
32
Supongamos dos participantes Ay B. Ambos tienen una clave pública y otra privada. Si A
tiene que enviar un mensaje a B y quiere que no sea leído por nadie más que B, lo que hace
es encriptar ese mensaje con la clave pública de B. Ese mensaje podrá ser desencriptado
únicamente con la clave privada de B, clave que es únicamente conocida por B. Así nos
aseguramos que sólo B lea el mensaje (privacidad).
En caso de que se quiera otorgar autenticidad e integridad se procede de la siguiente forma:
Si A quiere enviar a B un mensaje y quiere que B sepa que sólo él (A) le pudo haber enviado
ese mensaje, lo que hace A es encriptar el mensaje con su propia clave privada. Ese mensaje
podrá ser desencriptado con la clave pública de A. Con esto no se puede asegurar que sólo B
lea el mensaje (no aseguro privacidad), pero sí se asegura la autenticidad ya que B sabe que
solamente A puede haberle enviado el mensaje, porque nadie más puede encriptar con la
clave privada de A.
En caso de querer otorgar autenticidad y privacidad en simultáneo se procede a un doble
encriptado:
Primero A encripta con su clave privada y luego encripta con la clave pública de B.
28.6 Firewalls y acceso a Internet
Los mecanismos de control de acceso a la red de redes manejan el problema del filtrado
hacia las redes de las comunicaciones no previstas. A diferencia de los mecanismos de
autenticación y privacidad que pueden ser implementados a nivel de capa de aplicación, el
control de acceso a la red por lo general requiere cambios en los componentes básicos de la
infraestructura de la red. Una técnica para implementar esto es la de la creación de un
firewall. Un firewall aparece como entrada a la red de redes que será protegida, y divide a la
red de redes en dos regiones que se conocen informalmente como el interior y el exterior.
Firewall de la
organización
Resto de
Internet
Red de la
organización
exterior
interior
Figura 28.1
28.7 Conexiones múltiples y vínculos más débiles
En ciertos casos la imagen conceptual presentada por la figura 28.1 puede complicarse dado
que una organización puede poseer una red interna que tenga varias conexiones externas. En
tal caso, se deberá formar un perímetro de seguridad instalando un muro de seguridad en
cada conexión externa, los cuales deberán estar coordinados para que posean restricciones de
acceso idénticas.
33
Una organización que tiene múltiples conexiones externas debe instalar un muro de
seguridad en cada conexión externa y coordinar todos los muros de seguridad. Las
fallas para restringir en forma idéntica el acceso en todos los muros de seguridad
pueden hacer que la organización sea vulnerable.
28.8 Implantación de firewall y hardware de alta velocidad
En teoría, un firewall bloquea todas las comunicaciones no autorizadas entre máquinas
internas y externas a la organización. En la práctica esto depende de las políticas de la
organización, la carga de tráfico y la capacidad de conexión.
La implantación de un firewall requiere de una alta capacidad de procesamiento ya que se
deben analizar todos los datagramas que viajan a través de él (dentro-fuera o fuera-dentro).
Muchos routers poseen un mecanismo de filtrado de alta velocidad que puede usarse para
realizar muchas de las funciones necesarias, y pueden configurarse para que bloqueen
datagramas específicos.
28.9 Filtros de nivel de paquetes
El término filtrado de paquetes se debe a que el mecanismo de filtrado no conserva un
registro de las interacciones o una historia de los datagramas previos, por el contrario, el
filtro considera a cada datagrama de forma separada.
Como TCP / IP no dicta un estándar de filtrado, cada fabricante de routers puede seleccionar
las características que desee darle a su filtro. Algunos routers permiten configurar opciones
de filtrado diferentes para cada interfaz. Los parámetros de filtrado pueden ser direcciones IP
de origen o destino, numero de puerto, protocolo fuente, etc.
28.10 Especificación de seguridad y de filtro de paquetes
El uso de listas de filtrado (se pueden filtrar puertos bien conocidos, direcciones IP,
protocolos, etc.) en un firewall puede tener ciertos inconvenientes:



El número de puertos bien conocidos es extenso y un administrador podría necesitar
actualizar la lista continuamente debido a que un simple error puede volver
vulnerable al muro.
Gran parte del tráfico no viaja desde o hacia puertos bien conocidos. Además el uso
de Port Mapper asigna puertos dinámicamente para las aplicaciones que así lo
requieran.
Los filtros pueden ser vulnerados por el uso de túneles. Un datagrama prohibido
puede viajar encapsulado hacia un puerto habilitado.
Para sortear estos problemas con las listas de filtrado, lo que se hace es justamente lo inverso,
en vez de listar los datagramas que deben filtrarse, un firewall se configura para bloquear
todos los datagramas, excepto aquellos destinados a redes específicas, anfitriones y puertos
de protocolo para los que se ha aprobado la comunicación.
28.11 Consecuencia del acceso restringido para clientes
Si el firewall de una organización restringe los datagramas entrantes excepto para puertos
que corresponden a servicios puestos a disposición del exterior, una aplicación del interior no
podrá volverse cliente de un servicio del exterior. Esto es porque:
34





Cuando un cliente trata de comunicarse con un servidor de afuera, genera uno o más
datagramas y los envía.
Cada datagrama que sale, tiene el puerto de protocolo del cliente como puerto de
origen, y el puerto bien conocido del servidor como puerto de destino.
El firewall no bloquea los datagramas salientes.
Cuando se genera una respuesta, el puerto del cliente se vuelve el puerto de destino y
el del servidor el puerto fuente.
Cuando el datagrama llegue al firewall, será bloqueado ya que el puerto de destino
no está aprobado.
28.12 Acceso a servicios a través de un firewall
Dado la problemática del punto anterior, los usuarios necesitan un mecanismo seguro que
proporcione acceso a servicios del exterior.
En lugar de tratar de hacer que todas la maquinas de una organización sean seguras, lo que se
hace es asociar una computadora segura con cada firewall, y se la conoce como anfitrión
baluarte.
Anfitrión
baluarte
Red de
redes
interior
Red de
redes
exterior
Barrera exterior
Barrera de
entrada
Derivación habilitada
manualmente
Figura 28.3
La barrera exterior bloquea todo el tráfico entrante excepto:
1. Datagramas destinados a servicios en el anfitrión baluarte que la organización elige
mantener disponibles al exterior.
2. Datagramas destinados a clientes en el anfitrión baluarte.
La barrera de entrada bloquea el tráfico entrante excepto datagramas que vienen del anfitrión
baluarte.
28.13 Detalles de la arquitectura de un firewall
Las barreras mencionadas en el ítem anterior, son implementadas con routers que poseen
filtros de paquetes. Las redes interconectan los routers y el anfitrión baluarte.
Aún cuando un anfitrión baluarte es esencial para la comunicación a través de un
firewall, la seguridad de dicho firewall depende de la seguridad en el anfitrión
35
baluarte. Un intruso que abra una grieta en la seguridad en el SO del baluarte
puede lograr el acceso del anfitrión dentro del firewall.
28.15 Implantación alternativa de un firewall
28.16 Monitoreo y establecimiento de conexión
36
29 El futuro de TCP/IP
(IPng, IPV6)
29.2 ¿Por qué cambiar TCP/IP e Internet?
29.2.1 Nuevas tecnologías de comunicación y computación
Continuamente están saliendo nuevas tecnologías que los profesionales prueban en diferentes
ámbitos y aplicaciones y que pueden producir mejoras significativas y fomentar cambios en
las implementaciones ya existentes.
29.2.2 Nuevas aplicaciones
Las nuevas aplicaciones crean una demanda continua de infraestructura y servicios que los
protocolos actuales no pueden proporcionar.
29.2.3 Incrementos en el tamaño y en la carga
Los últimos años Internet ha experimentado un crecimiento exponencial tanto en tamaño
como en tráfico y todo apunta a que esta tendencia se siga manteniendo.
29.2.4 Nuevas políticas
A medida de que Internet se expande hacia nuevos países, cambia de forma adquiriendo
nuevas autoridades administrativas. Los cambios en las autoridades provocan cambios en las
políticas administrativas. La evolución continúa conforme se conectan más columnas
vertebrales de redes nacionales, produciendo un incremento complejo de las políticas que
regulan la interacción.
29.3 Motivos para el cambio del IPV4
Algunas de las principales razones que motivan el cambio del protocolo IP son:



El agotamiento del espacio de direcciones.
Soporte a nuevas aplicaciones.
Mejoramiento de la seguridad
29.4 El camino hacia una nueva versión del IP
El diseño de base elegido para la nueva versión del IP es SIPP (Simple IP Plus). Toma la
base del IP y añade algunas ideas de otras propuestas.
29.5 Nombre del próximo IP
En primera instancia la IAB propuso el nombre de IP versión 7 lo cual trajo confusiones por
el supuesto salto de dos versiones (5 y 6). Para evitar confusión el IETF cambió el nombre a
IP la nueva generación (IPng).
Luego, tras varias discusiones se decidió llamarlo IPV6.
37
29.6 Características del IPV6
IPV6 conserva varias de las características que hicieron exitoso al IPV4. Algunas son:



Soporta entrega sin conexión.
Permite al emisor seleccionar el tamaño de un datagrama.
Solicita al emisor que especifique la cantidad máxima de saltos para la entrega de un
datagrama.
Los cambios que introduce IPV6 pueden ser agrupados en cinco categorías:
1. Direcciones más largas. Se paso de 32 a 128 bits.
2. Formato de encabezado flexible. El encabezado es incompatible con la versión
anterior ya que IPV4 usa un encabezado donde sólo las opciones son de tamaño
variable.
3. Opciones mejoradas. Se incluyen nuevas opciones que proporcionan capacidades
adicionales no disponibles en IPV4.
4. Soporte de asignación de recursos. Permite la pre asignación de recursos de red.
5. Previsión para extensión del protocolo. Se pasa de un protocolo que especifica
TODOS los detalles a otro que puede permitir características adicionales.
29.8 Forma general de un datagrama IPV6
El formato del datagrama cambia completamente. El encabezado base es de tamaño fijo
seguido por posibles encabezados de extensión y luego los datos.
opcional
Encabezado base
Extensión 1 de
encabezado
…
Extensión n de
encabezado
DATOS
Figura 29.1
29.8 Formato del encabezado base del IPV6
Cambios en los encabezados de los datagramas:







La alineación se cambió de múltiplos de 32 bits a múltiplos de 64 bits.
Los campos de longitud de encabezado se eliminaron, y el campo de longitud de
datagrama se cambió por el campo PAYLOAD LENGTH.
Los campos que llevan las direcciones (fuente y destino) se incrementaron a 16 bytes
(128 bits).
La información de fragmentación se ha movido de los campos fijos en el encabezado
base hacia un encabezado de extensión.
El campo TTL se reemplazó por el de HOP LIMIT (limite de saltos)
El campo TOS se cambió por el FLOW LABEL.
El campo protocolo se cambió por un campo que especifica el tipo del próximo
encabezado.
38
4
16
ETIQUETA DE FLUJO
VERS
LONGITUD DE PAYLOAD
PROX. ENCAB.
31
LIMITE DE SALTOS
DIRECCION DE FUENTE
DIRECCION DE DESTINO
Figura 29.2
29.9 Encabezados de extensión IPV6
La idea de utilizar encabezados de extensión nació para lograr tanto eficiencia como
generalidad. No todas las características del protocolo son necesarias en todos los
datagramas, por eso es útil la capacidad de agregar sólo los encabezados necesarios como
encabezados de extensión, que son similares a las opciones de IPV4.
29.10 Análisis de un datagrama IPV6
Cada encabezado de extensión posee un campo que determina cual será el siguiente
encabezado (NEXT HEADER).
29.11 Fragmentación y re ensamblaje del IPV6
En IPV4, si un datagrama es más grande que el MTU, los routers intermedios podían
fragmentar el datagrama. En cambio en IPV6 la fragmentación está restringida a la fuente
para liberar a los intermediarios de esta acción. Para esto la fuente utiliza la técnica MTU
Discovery. La fragmentación en si es bastante parecida a la de IPV4, ya que hay un campo
que indica el desplazamiento y otro que indica si hay mas fragmentos.
ENCAB. PROX
RESERVADO
DESPLAZAMIENTO DE FRAG.
IDENTIFICACION DE DATAGRAMA
MF
Figura 29.5
29.12 Consecuencia de la fragmentación de extremo a extremo
La fragmentación EAE (extremo a extremo) está fomentada por la reducción de carga para
los routers intermedios, para que justamente estos se dediquen a rutear y no a fragmentar. Sin
embargo esto trae una consecuencia, que es que los routers no puedan cambiar las rutas como
en IPV4 ya que dicha acción puede modificar el tamaño del MTU.
39
Un protocolo de red de redes que use la fragmentación de EAE requiere que el
emisor descubra el Path MTU para cada destino y que fragmente cualquier
datagrama que salga si es mayor que el Path MTU. La fragmentación de EAE no se
adapta al cambio de rutas.
Para solucionar el cambio de rutas, si un router intermedio necesita fragmentar un datagrama,
en vez de hacerlo, crea un túnel de IPV6 a través de IPV6. En vez de modificar el datagrama
original, crea uno completamente nuevo que encapsula el datagrama original como dato.
Como resultado, lo que fragmenta es el nuevo datagrama replicando el encabezado base e
insertando un encabezado de extensión en cada fragmento. Luego envía todos los fragmentos
al destino.
29.13 Ruteo de origen del IPV6
Para especificar opciones de ruteo desde el origen, a diferencia de IPV4 que usaba el campo
OPTIONS, IPV6 usa encabezados de extensión. El encabezado de ruteo debe ser el primero
de los encabezados de extensión, y posee un campo NUM ADDRS que especifica la cantidad
de direcciones que componen la ruta y otro NEXT ADDRESS que especifica la dirección
siguiente a la que se enviará el datagrama.
29.14 Opciones del IPV6
Existen además encabezados de opción, para que IPV6 se adapte a cualquier tipo de
información. Estos encabezados se llaman:


Hop By Hop extension Header
End To End extension Header
Ambos encabezados poseen la misma forma, y se los identifica por un código. El primero de
ellos se examina en cada salto y el otro sólo en el destino. Poseen un campo NEXT
HEADER, HEADER LEN (ambos de 1 byte) y OPTIONS (de size variable). Las opciones se
colocan secuencialmente en el campo OPTIONS.
29.15 Tamaño del espacio de dirección del IPV6
El espacio de direccionamiento es ENORME. Si las direcciones se asignaran a razón de un
millón de direcciones por milisegundo, harían falta alrededor de 20 años para asignarlas
todas.
29.16 Notación hexadecimal con dos puntos del IPV6
Obviamente la notación en binario no sirve y la decimal usada en IPV4 tampoco.
Ejemplo:
Dirección IPV6 en notación IPV4
104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255
Para evitar cadenas tan largas se usa notación hexadecimal usando los dos puntos como
separador
40
Ejemplo:
La dirección anterior sería:
68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF
Se pueden expresar cadenas contiguas de 0s con dobles dos puntos.
Ejemplo:
Las siguientes direcciones son equivalentes
FF05:0:0:0:0:0:0:B3 = FF05::B3
También se permite mezclar notaciones para hacer más amena la transferencia de IPV4 a
IPV6.
Ejemplo:
0:0:0:0:0:0:128.10.2.1
El ejemplo anterior también se puede comprimir.
Ejemplo:
::128.10.2.1
La compresión de 0s se permite sólo una vez en toda la dirección.
29.17 Tres tipos básicos de direcciones IPV6
La asociación de direcciones es similar a IPV4. Las direcciones IP determinan una conexión
de red y no una máquina.
La diferencia de IPV6 es que permite que más de un prefijo sea asignado a una misma red, y
que además, más de una dirección sea asignada a una interfaz determinada.
En general, una dirección IP de destino cae entre los siguientes tres grupos:
1. Unidifusión: La dirección de destino especifica una sola computadora
2. Grupo: El destino es un conjunto de computadoras que comparten un prefijo de
dirección.
3. Multidifusión: El destino es un conjunto de computadoras, posiblemente en
múltiples localidades.
29.18 Dualidad de difusión y multidifusión
El IPV6 no emplea difusión o difusión dirigida para referirse a la entrega a todas las
computadoras en una red o una subred IP lógica. En cambio, utiliza el término multidifusión,
y trata a la difusión como una forma especial de multidifusión.
29.19 Una elección de ingeniería y difusión simulada
COMPLETAR ESTOS ULTIMOS PUNTOS
41
29.20 Asignación propuesta de espacio de dirección IPV6
Como dividir el espacio de direcciones es un tema de bastante debate. IPV4 tiene dividido su
espacio según
29.21 Codificación y transición de la dirección IPV4
29.22 Proveedores, suscriptores y jerarquía de direcciones
29.23 Jerarquía adicional
42
Apéndice 1 IPsec
A.1.1 ¿Qué es IPsec?
IPsec es una extensión al protocolo IP que proporciona seguridad a IP y a los protocolos de
capas superiores. Fue desarrollado para el nuevo estándar IPV6 y después fue portado a
IPV4.
Sirve para asegurar la autenticación, integridad y confidencialidad de la comunicación.
Posee dos modos:
1. Modo Túnel
2. Modo Transporte
En modo túnel el datagrama IP se encapsula completamente dentro de un nuevo datagrama
IP que emplea el protocolo IPsec.
En modo transporte IPsec sólo maneja la carga del datagrama IP, insertándose la cabecera
IPsec entre la cabecera IP y la cabecera del protocolo de capas superiores (ver Figura a.1.1).
Modo transporte
IP
Paquete original
Modo túnel
IP
Nuevo header IP
AH
AH TCP
DATA
IP
TCP
DATA
IP
TCP
DATA
Figura a.1.1
A.1.2 Los protocolos IPsec
La familia de protocolos IPsec está formada por dos protocolos:
1. AH (Authentication Header).
2. ESP (Encapsulated Security Payload).
Ambos son protocolos IP independientes. AH es el protocolo IP 51 y ESP el protocolo IP 50.
A.1.2.1 Cabecera de autenticación AH
El protocolo AH protege la integridad del datagrama IP. Para conseguirlo, calcula una
HMAC (Hash-based Message Authentication Code) basada en la clave secreta, el contenido
del paquete y las partes inmutables de la cabecera IP (como son las direcciones IP). Tras esto,
añade la cabecera AH al paquete (Ver Figura a.1.2).
43
8
Next Header
16
Payload Length
Reserved
Security Parameter Index (SPI)
Sequence Number
Hash Message Authentication Code
Figura a.1.2





La cabecera AH mide 24 bytes. El primer byte es el campo Siguiente cabecera. Este
campo especifica el protocolo de la siguiente cabecera.
o En modo túnel se encapsula un datagrama IP completo, por lo que el valor de
este campo es 4.
o Al encapsular un datagrama TCP en modo transporte, el valor correspondiente
es 6.
El siguiente byte especifica la longitud del contenido del paquete. Este campo está
seguido de dos bytes reservados.
Los siguientes 4 bytes especifican en Índice de Parámetro de Seguridad (SPI). El SPI
especifica la asociación de seguridad (SA) a emplear para el desencapsulado del
paquete.
El Número de Secuencia de 32 bit protege frente a ataques por repetición.
Finalmente, los últimos 96 bit almacenan el código de resumen para la autenticación
de mensaje (HMAC). Este HMAC protege la integridad de los paquetes ya que sólo
los miembros de la comunicación que conozcan la clave secreta pueden crear y
comprobar HMACs.
Como el protocolo AH protege la cabecera IP incluyendo los aportes inmutables de la
cabecera IP como las direcciones IP, el protocolo AH no permite NAT. Tras el intercambio,
la HMAC ya no es válida. La extensión a IPsec NAT-transversal implementa métodos que
evitan esta restricción.
A.1.2.2 Carga de Seguridad Encapsulada ESP
El protocolo ESP puede asegurar la integridad del paquete empleando una HMAC y la
confidencialidad empleando cifrado. La cabecera ESP se genera y añade al paquete tras
cifrarlo y calcular su HMAC. La cabecera ESP consta de dos partes (Ver Figura a.1.3).
44
Security Parameter Index (SPI)
Sequence Number
Initialization Vector
DATA
Padding
Padding Length
Next Header
Hash Message Authentication Code
Figura a.1.3







Los primeros 32 bits de la cabecera ESP especifican el Índice de Parámetros de
Seguridad (SPI). Este SPI especifica qué SA emplear para desencapsular el paquete
ESP.
Los siguientes 32 bits almacenan el Número de Secuencia. Este número de secuencia
se emplea para protegerse de ataques por repetición de mensajes.
Los siguientes 32 bits especifican el Vector de Inicialización (IV - Initialization
Vector) que se emplea para el proceso de cifrado. Los algoritmos de cifrado simétrico
pueden ser vulnerables a ataques por análisis de frecuencias si no se emplean IVs. El
IV asegura que dos cargas idénticas generan dos cargas cifradas diferentes.
IPsec emplea cifradores de bloque para el proceso de cifrado. Por ello, puede ser
necesario rellenar la carga del paquete si la longitud de la carga no es un múltiplo de
la longitud del paquete (Padding). En ese caso se añade a continuación la longitud del
relleno (Padding length).
Tras la longitud del relleno se coloca el campo de 2 bytes Siguiente cabecera que
especifica la siguiente cabecera.
Por último, se añaden los 96 bit de HMAC para asegurar la integridad del paquete.
Esta HMAC sólo tiene en cuenta la carga del paquete: la cabecera IP no se incluye
dentro de su proceso de cálculo.
El uso de NAT, por lo tanto, no rompe el protocolo ESP. Sin embargo, en la mayoría
de los casos, NAT aún no es compatible en combinación con IPsec. NAT-Transversal
ofrece una solución para este problema encapsulando los paquetes ESP dentro de
paquetes UDP.
45
Apéndice 2 Protocolo IKE
A.2.1 ¿Para que sirve IKE?
El protocolo IKE (Internet Key Exchange) resuelve el problema más importante del
establecimiento de comunicaciones seguras: la autenticación de los participantes y el
intercambio de claves simétricas, tras ello, crea las asociaciones de seguridad.
A.2.2 Características de IKE

Suele implementarse a través de servidores de espacio de usuario, y no suele
implementarse en el sistema operativo.
 Emplea el puerto 500 UDP para su comunicación.
 Funciona en dos fases.
1. La primera fase establece un ISAKMP SA (Internet Security Association Key
Management Security Association).
2. En la segunda fase, el ISAKMP SA se emplea para negociar y establecer las SAs
(Security Asociations) de IPsec.
A.2.3 Fases de IKE
La primer fase suele soportar dos modos distintos:
1. Modo principal
2. Modo agresivo.
Ambos modos autentican al participante en la comunicación y establecen un ISAKMP SA,
pero el modo agresivo sólo usa la mitad de mensajes para alcanzar su objetivo. Esto, sin
embargo, tiene sus desventajas, ya que el modo agresivo no soporta la protección de
identidades y, por lo tanto, es susceptible a un ataque man-in-the-middle (por escucha y
repetición de mensajes en un nodo intermedio) si se emplea junto a claves compartidas con
anterioridad (PSK Pre Shared Keys). Pero sin embargo este es el único objetivo del modo
agresivo, ya que los mecanismos internos del modo principal no permiten el uso de distintas
claves compartidas con anterioridad con participantes desconocidos. El modo agresivo no
permite la protección de identidades y transmite la identidad del cliente en claro. Por lo tanto,
los participantes de la comunicación se conocen antes de que la autenticación se lleve a cabo,
y se pueden emplear distintas claves pre-compartidas con distintos comunicantes.
En la segunda fase, el protocolo IKE intercambia propuestas de asociaciones de seguridad y
negocia asociaciones de seguridad basándose en la ISAKMP SA.
La ISAKMP SA proporciona autenticación para protegerse de ataques man-in-the-middle.
Esta segunda fase emplea el modo rápido.
Normalmente, dos participantes de la comunicación sólo negocian una ISAKMP SA, que se
emplea para negociar varias (al menos dos) IPsec SAs unidireccionales.
46
Apéndice 3 NAT
(Network Address Translation)
A.3.1 ¿Qué es NAT?
Es un mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes que se
asignan mutuamente direcciones incompatibles. Consiste en convertir en tiempo real las
direcciones utilizadas en los paquetes transportados. También es necesario editar los paquetes
para permitir la operación de protocolos que incluyen información de direcciones dentro de
la conversación del protocolo.
Su uso más común es permitir utilizar direcciones privadas para acceder a Internet. Existen
rangos de direcciones privadas que pueden usarse libremente y en la cantidad que se quiera
dentro de una red privada. Si el número de direcciones privadas es muy grande puede usarse
solo una parte de direcciones públicas para salir a Internet desde la red privada. De esta
manera simultáneamente sólo pueden salir a Internet con una dirección IP tantos equipos
como direcciones públicas se hayan contratado. Esto es necesario debido al progresivo
agotamiento de las direcciones IPV4. Se espera que con el advenimiento de IPV6 no sea
necesario continuar con esta práctica.
A.3.2 Funcionamiento
Una pasarela NAT cambia la dirección origen en cada paquete de salida y, dependiendo del
método, también el puerto origen para que sea único. Estas traducciones de dirección se
almacenan en una tabla, para recordar qué dirección y puerto le corresponde a cada
dispositivo cliente y así saber donde deben regresar los paquetes de respuesta. Si un paquete
que intenta ingresar a la red interna no existe en la tabla de traducciones, entonces es
descartado.
Debido a este comportamiento, se puede definir en la tabla que en un determinado puerto y
dirección se pueda acceder a un determinado dispositivo, como por ejemplo un servidor web,
lo que se denomina NAT inverso o DNAT (Destination NAT).
NAT tiene muchas formas de funcionamiento, entre las que destacan:




Estático
Dinámico
Sobrecarga
Solapamiento
A.3.2.1 Estático
Es un tipo de NAT en el que una dirección IP pública se traduce a una dirección IP privada, y
donde esa dirección pública es siempre la misma. Esto le permite a un host, como un servidor
Web, tener una dirección IP de red privada pero aún así ser visible en Internet.
A.3.2.2 Dinámico
Es un tipo de NAT en la que una dirección IP privada se mapea a una IP pública basándose
en una tabla de direcciones de IP públicas registradas. Normalmente, el router NAT en una
47
red mantendrá una tabla de direcciones IP registradas, y cuando una IP privada requiera
acceso a Internet, el router elegirá una dirección IP de la tabla que no esté siendo usada por
otra IP privada. Esto permite aumentar la seguridad de una red dado que enmascara la
configuración interna de una red privada, lo que dificulta a los hosts externos de la red el
poder ingresar a ésta. Para este método se requiere que todos los hosts de la red privada que
deseen conectarse a la red pública posean al menos una IP pública asociada.
A.3.2.3 Sobrecarga
La forma más utilizada de NAT, proviene del NAT dinámico, ya que toma múltiples
direcciones IP privadas (normalmente entregadas mediante DHCP) y las traduce a una única
dirección IP pública utilizando diferentes puertos. Esto se conoce también como PAT (Port
Address Translation), NAT de única dirección o NAT multiplexado a nivel de puerto.
A.3.2.4 Solapamiento
Cuando las direcciones IP utilizadas en la red privada son direcciones IP públicas en uso en
otra red, el router posee una tabla de traducciones en donde se especifica el reemplazo de
éstas con una única dirección IP pública. Así se evitan los conflictos de direcciones entre las
distintas redes.
48
Apéndice 4 HTTP
(RFC 2616, 2068)
A.4.1 Que es HTTP?
HTTP (Hyper Text Transport Protocol) es un protocolo de capa de aplicación que fue creado
por el World Wide Web Consortium y es utilizado en cada transacción a través de Internet.
En un principio era limitado y no soportaba encabezados, por lo tanto no poseía el comando
POST con lo cual solo era posible enviar poca información al servidor a través del comando
GET.
A.4.2 El protocolo según las versiones
Versión 0.9:
 Solo soporta el comando GET
 Permitía transmitir texto plano
Versión 1.0
 Permite mas opciones de transferencia
 Datos con formato MIME.
 Metodos Get, Post y Head.
 Modifica la sintaxis de la petición y de la respuesta.
Versión 1.1
 Necesidades de los sistemas intermedios
 Necesidades de persistencia de la conexión.
 Metodos: Get, Post, Head, Options, Put, Delete, Trace, Patch, etc.
A.4.3 Características del protocolo
Algunas características importantes del protocolo son:






Es un protocolo stateless, es decir que no presenta estados por lo cual no guarda
información de conexiones anteriores.
Es orientado a transacciones. Esquema de consulta / respuesta. El cliente, quien inicia
la transacción, se denomina user agent. El servidor, quien posee el recurso, es quien
realiza la respuesta.
Es flexible en cuanto a los formatos.
Es robusto.
Se implementa sobre TCP / IP para brindar seguridad.
Utiliza un cache.
A.4.4 Definiciones relacionadas con el protocolo


Cliente: Un programa de aplicación que establece conexiones con el propósito de
enviar peticiones.
Conexión: Circuito virtual de la capa de transporte establecido entre dos programas
de aplicación con propósitos de comunicación.
49


Entidad: Una representación de un recurso de datos que puede estar incluido dentro
de un mensaje de petición o respuesta. Una entidad consiste de cabeceras y un cuerpo.
Mensaje: Es la unidad básica de comunicación HTTP.
A.4.5 Sistemas intermedios
El protocolo acepta sistemas intermedios. Se definen a continuación:




Cache: Es un almacenamiento local que sirve para reducir el tiempo de respuesta y el
consumo de ancho de banda en peticiones futuras. Puede ser implementado tanto en
el cliente como en el servidor, aunque un servidor no puede utilizar un cache cuando
actúa como túnel. No todas las operaciones pueden cachearse (Ej. Validación de
usuario y password).
Gateway (Pasarela): Se trata de un servidor que trabaja como intermediario para
otros servidores, que recibe peticiones como si fuera el servidor original del recurso
solicitado. Se usa cuando hay un firewall del lado del servidor y cuando hay que
hacer traducciones de protocolos cómo FTP – HTTP.
Proxy (Representante): Es un programa intermedio que trabaja tanto como un
servidor como un cliente. Debe interpretar y/o reescribir un mensaje de petición antes
de reenviarlo. Se usa cuando hay un firewall del lado del cliente, o hay diferentes
versiones de HTTP.
Túnel: Es un programa intermedio que trabaja como transmisor ciego entre dos
conexiones. No se considera como parte de la comunicación HTTP. Un túnel se cierra
cuando los dos extremos de la conexión transmitida se cierran. Se usa cuando hay un
firewall del lado del cliente o del servidor. Se establece una conexión autenticada, que
luego se usa solo para HTTP.
A.4.6 Métodos de petición existentes
GET: para pedir información identificada por una URL.
PUT: petición para aceptar la entidad incorporada y almacenarla bajo la URL proporcionada.
DELETE: solicita que el servidor origen suprima el recurso identificado por la URL.
POST: una petición para aceptar la entidad incorporada como una nueva subordinada al
URL identificado.
LINK: establece una o más relaciones de enlace entre recursos identificados.
PATCH: es similar a put salvo que la entidad contiene una lista de diferencias respecto al
contenido del recurso original.
UNLINK: elimina una o más relaciones de enlace entre recursos.
COPY: solicita una copia del recurso identificado por la URL.
TRACE:
HEAD: es idéntica a GET salvo que la respuesta del servidor no debe incluir un cuerpo de
entidad.
MOVE: solicita que el recurso identificado por la URL se mueva a la localización dada en el
campo cabecera-URL en la cabecera entidad.
OPTIONS: para pedir las opciones disponibles para la cadena petición/respuesta identificada
por la URL.
WRAPPED: permite a un cliente enviar una o más solicitudes encapsuladas.
50
A.4.7 Identificación de recursos



Para identificar el recurso con el que se desea trabajar se usa la URI (Uniform
Resource Identifier) o la URL (Uniform Resource Locator).
Es una cadena de caracteres que identifica el recurso que está disponible.
Sintaxis de la URL:
o Protocolo: // Host : Puerto/ ruta ? Parámetro = valor # Enlace
A diferencia de la URL, la URI no especifica el protocolo.
A.4.8 Mensajes de respuesta
A.4.9 Cabeceras HTTP
51
Apéndice 5 PAT
(Port Address Translation)
A.5.1 ¿Qué es PAT?
Es una característica del estándar NAT, que traduce conexiones TCP y UDP hechas por un
host y un puerto en una red externa a otra dirección y puerto de la red interna. Permite que
una sola dirección IP sea utilizada por varias máquinas de la intranet. Con PAT, una IP
externa puede responder hasta a ~64000 direcciones internas.
Cualquier paquete IP contiene la dirección y el puerto tanto del origen como del destino. En
el destino, el puerto le dice al receptor cómo procesar el paquete. Un paquete con puerto 80
indica que contiene una página web, mientras que el puerto 25 es usado para transmitir
correo electrónico entre servidores de correo. La traducción de los puertos, llamada PAT para
distinguirla de la traducción de direcciones (NAT), se apoya en el hecho de que el puerto de
origen carece de importancia para la mayoría de los protocolos. Igual que NAT, se sitúa en la
frontera entre la red interna y externa, y realiza cambios en la dirección del origen y del
receptor en los paquetes de datos que pasan a través de ella. Los puertos (no las IP), se usan
para designar diferentes hosts en el intranet.
El servicio PAT es como una oficina de correo que entrega las cartas. Los sobres
que salen son modificados para que el remitente sea la oficina de correos,
mientras que las cartas que llegan de afuera pierden su dirección y reciben la
nueva con la calle y el número real.
A.5.2 Procedimiento PAT








Cuando un ordenador de la intranet manda un paquete hacia fuera, queremos ocultar
su dirección real. El servicio NAT remplaza la IP interna con la nueva IP del propio
servicio.
Luego asigna a la conexión un puerto de la lista de puertos disponibles, inserta el
puerto en el campo apropiado del paquete de datos y envía el paquete.
El servicio NAT crea una entrada en su tabla de direcciones IP internas, puertos
internos y puertos externos. A partir de ese entonces, todos los paquetes que
provengan del mismo host serán traducidos con los mismos puertos.
El receptor del paquete utilizará los IP y puerto recibidos para responder, por lo que
dicha respuesta llegará a la “oficina de correos”.
Si el puerto destino no existe en la tabla del NAT, los datos serán descartados.
En otro caso, la nueva dirección y el nuevo puerto reemplazarán los datos de destino
en el paquete y éste será enviado por la red interna.
La traducción de puertos permite a varias máquinas compartir una única dirección IP.
El servicio PAT borra las traducciones periódicamente de su tabla cuando aparenten
no estar en uso. Como el número de posibles puertos a otorgar es de 16 bit (65535), la
probabilidad de que un ordenador no encuentre una traducción es realmente pequeña.
52
Apéndice 6 BGP
(Border Gateway Protocol) RFC 1771
A.6.1 Introducción
BGP es un protocolo de routing externo. Los protocolos de routing externo son los que se
utilizan para interconectar sistemas autónomos. En los protocolos de routing externo la
prioridad es buscar rutas óptimas atendiendo únicamente al criterio de minimizar la distancia
medida en términos de la métrica elegida para la red.
Hasta 1990 se utilizaba como protocolo de routing externo en Internet el denominado EGP
(Exterior Gateway Protocol). Este protocolo no fue capaz de soportar el crecimiento de la
red y entonces se desarrollo un nuevo protocolo de routing externo denominado BGP. Desde
entonces se ha producido 4 versiones de BGP, las especificaciones ahora vigentes de BGP-4
se encuentran en el RFC 1771.
BGP es un protocolo de transporte fiable. Esto elimina la necesidad de llevar a cabo la
fragmentación de actualización explícita, la retransmisión, el reconocimiento, y
secuenciación.
A.6.2 Funciones de BGP
BGP se diseño para permitir la cooperación en el intercambio de información de
encaminamiento entre dispositivos de encaminamiento, llamados pasarelas, en sistemas
autónomos diferentes. El protocolo opera en términos de mensajes, que se envían utilizando
TCP.
A.6.3 Mensajes de BGP

OPEN: sirve para adquirir un vecino. Un dispositivo de encaminamiento abre
primero una conexión TCP con el vecino y después envía un OPEN.

UPDATE: facilita dos tipos de información:
o Información sobre una ruta particular a través del conjunto de redes. Esa
información se puede incorporar a la base de datos de cada dispositivo de
encaminamiento que la recibe.
o Una lista de rutas previamente anunciadas por este dispositivo de
encaminamiento que van a ser eliminadas

KEEPALIVE: consta solo de la cabecera. Cada dispositivo de mantenimiento envía
regularmente estos mensajes para evitar que expire el temporizador mantenimiento.

NOTIFICATION: se envían cuando se detecta algún tipo de error.
A.6.4 Procedimientos funcionales de BGP
BGP posee tres procedimientos funcionales principales:
1. Adquisición de vecino.
2. Detección de vecino alcanzable.
3. Detección de red alcanzable.
53
A.6.4.1 Adquisición de vecino
Dos dispositivos de encaminamiento se consideran vecinos si están en la misma subred. Si
los dos dispositivos de encaminamiento están en sistemas autónomos, podrían desear
intercambiar información de encaminamiento. Para este cometido es necesario realizar
primero el proceso de adquisición de vecino.
Para llevar a cabo la adquisición de vecino, un dispositivo envía al otro un mensaje OPEN. Si
el otro dispositivo acepta la relación, envía un mensaje KEEPALIVE.
A.6.4.2 Detección de vecino alcanzable
Una vez establecida la relación de vecino, se utiliza el procedimiento de detección de vecino
alcanzable para mantener la relación. Este procedimiento consiste en enviarse entre los dos
vecinos periódicamente mensajes de KEEPALIVE para asegurarse de que la relación sigue
establecida.
A.6.4.3 Detección de red alcanzable
El último procedimiento especificado por BGP es la detección de red alcanzable. Cada
dispositivo de encaminamiento mantiene una base de datos con las redes que puede alcanzar
y la ruta preferida para llegar hasta esa red. Siempre que se realiza un cambio en esa base de
datos, el dispositivo de almacenamiento envía un mensaje de UPDATE por difusión a todos
los dispositivos de encaminamiento que implementan BGP.
54
Apéndice 7 RSVP
(RFC 2205)
A.7.1 ¿Qué es RSVP?
Protocolo de reserva de recursos (RSVP) es una técnica de señalización que se utiliza para
garantizar la calidad de servicio (QoS) reservar ancho de banda para flujos de datos
compatibles con RSVP. Todos los nodos de la ruta de acceso a datos deben ser compatibles
con RSVP para una garantía de QoS. Las reservas son iniciado receptor para tráfico
multidifusión y unidifusión.
A.7.2 Características de RSVP









La reserva es realizada por flujo.
Es un protocolo de señalización.
Es un protocolo de la capa de transporte.
RSVP no es un protocolo de encaminamiento, pero trabaja con protocolos de
enrutamiento actuales.
RSVP está orientada hacia el receptor: es el receptor de un flujo de datos el que inicia
y mantiene la reserva de recursos para ese flujo.
RSVP es Soft State, es decir que mantiene solo temporalmente el estado de las
reservas de recursos del host y de los routers, de aquí que soporte cambios dinámicos
de la red.
RSVP debe mantener en cada nodo los requerimientos de reserva (se define el Soft
State).
La reserva en cada nodo necesita refresco periódico.
RSVP proporciona varios estilos de reserva (un conjunto de opciones) y permite que
se añadan futuros estilos al protocolo para permitirle adaptarse a diversas
aplicaciones.
A.7.3 ¿Qué es el Soft State?
Son los estados en los router y hosts extremos, refrescados por los mensajes Path y Resv.
A.7.4 Los mensajes de RSVP
55
Referencias
Redes Globales de Informacion con Internet y TCP /IP – Tercera Edicion.
Douglas E. Commer
Comunicaciones y Redes de William Stallings
Wikipedia
56
Acrónimos
EAE: Extremo a extremo.
SW: Software.
HW: Hardware.
57
Dudas
Diferencia entre difusión por dirección de HW y difusión IP
Temas
BGP
bootp
dhcp
nat
pat
proxy
gateway
firewall
tunel
dmz
ftp
tftp
rsvp
ipv6
ipsec
seguridad
IKE
telnet
dns
http
smtp
mime
ISA
DSA
58
Descargar