capítulo 6: fundamentos del transporte, aplicaciones y ...itisolaris.upaep.mx/~diploma/cap...
Post on 02-May-2020
27 Views
Preview:
TRANSCRIPT
UPAEP 2019
Universidad Popular Autónoma del Estado de Puebla
[DIPLOMADO EN REDES] Guía de Estudios para la Certificación CCENT/CCNA ICND1
UPAEP 2019 [Diplomado en Redes]
2
Capítulo 6: Fundamentos del Transporte, Aplicaciones y Seguridad de
TCP/IP
El examen CCNA se enfoca principalmente en LANs, WANs y routing. Este capítulo, sin embargo, dará los
fundamentos de algunos temas que figuran menos en el examen: la capa de transporte de TCP/IP, la
capa de aplicación de TCP/IP y la seguridad en red de TCP/IP.
UPAEP 2019 [Diplomado en Redes]
3
Temas Fundamentales
Este capítulo inicia examinando las funciones del Transmission Control Protocol (TCP), las cuales son
muchas si se comparan con las pocas que posee el User Datagram Protocol (UDP). La segunda sección
de este capítulo examina la capa de Aplicación de TCP/IP, incluyendo algunas menciones sobre cómo
trabaja la resolución de nombres DNS. Finalmente, la tercera parte del capítulo examina la importancia y
conceptos de la seguridad en redes, introduciendo algunos de los conceptos principales, terminología y
funciones importantes para la seguridad hoy en día.
Los Protocolos de la capa 4 de TCP/IP: TCP y UDP
La capa de transporte del modelo OSI (Capa 4) define varias funciones, las más importantes son error
recovery (recuperación por errores) y flow control (control de flujo). De la misma forma, los protocolos
de la capa de transporte también implementan estos mismos tipos de capacidades. Nótese que tanto el
modelo OSI como el modelo TCP/IP llaman a ésta la “capa de transporte”. Pero como es usual, al
referirse al modelo TCP/IP, el nombre de la capa y su número están basados en OSI, de manera que
cualquier protocolo de la capa de transporte de TCP/IP es considerado como protocolo de capa 4.
La diferencia clave entre TCP y UDP es que TCP provee una amplia variedad de servicios para
aplicaciones, mientras que UDP no. Por ejemplo, los routers desechan paquetes por muchas razones,
incluyendo errores de bit, congestión e instancias en que no existen routers correctos conocidos. Como
ya se ha mencionado, la mayoría de los protocolos de enlace de datos se percatan de errores (proceso
llamado detección de errores) pero también descartan frames que tienen errores. El TCP provee
retransmisión (recuperación de errores) y ayuda a evitar congestión (control de flujo), mientras UDP no
lo hace. Como resultado, muchos protocolos de aplicación eligen usar TCP.
No por esto UDP es peor que TCP. Proveyendo pocos servicios, UDP necesita menos bytes en su
encabezado a comparación de TCP, resultado en menos bytes de tráfico en la red. El software UDP no
hace lenta la transferencia de datos en casos donde el TCP sí. También, algunas aplicaciones como la voz
sobre IP (VoIP) y el video sobre IP no requieren recuperación de errores, por lo que utilizan UDP.
La siguiente tabla muestra las principales características soportadas por TCP y/o UDP.
Protocolo
que la
soporta
Función Descripción
UDP, TCP Multiplexing usando puertos Función que permite a los hosts receptores elegir la
aplicación correcta para la cual están destinados los datos,
basándose en el número de puerto.
TCP Error recovery o recuperación
de errores (reliability o
confiabilidad)
Proceso de numerar y reconocer los datos con campos de
encabezado de Secuencia y Reconocimiento.
TCP Control de flujo usando
windowing
Proceso que usa tamaños de ventana para proteger el
espacio en buffer y los dispositivos de ruteo.
UPAEP 2019 [Diplomado en Redes]
4
TCP Establecimiento de conexión
y terminación
Proceso usado para inicializar campos de números de
puerto y Secuencia y Reconocimiento
TCP Transferencia de datos
ordenados y segmentación
de datos
Corriente continua de bytes desde un proceso -llevado a
cabo en una capa más alta- que se ha segmentado para la
transmisión y entrega a procesos de una capa más alta en
el dispositivo que recibe, con los bytes en el mismo orden.
TCP (Transmission Control Protocol)
Cada aplicación TCP/IP típicamente elige usar TCP o UDP basándose en los requerimientos de la
aplicación. El TCP provee error recovery, pero para hacerlo necesita consumir más ancho de banda y
utiliza más ciclos de procesamiento. UDP no realiza error recovery pero requiere menos ancho de banda
y menos ciclos de procesamiento.
TCP cumple con las funciones enlistadas en la tabla anterior a través de mecanismos en los dispositivos
finales. TCP confía en IP para la entrega de datos punto-a-punto incluyendo ruteos. En otras palabras,
TCP realiza solamente parte de las funciones necesarias para entregar los datos entre aplicaciones. El rol
que juega también se dirige a proveer servicios para las aplicaciones que se encuentran en las
computadoras al final del recorrido. Independientemente de que las dos computadoras se encuentren
en la misma Ethernet o estén separadas por el inmenso Internet, TCP realiza sus funciones de la misma
forma.
La siguiente figura muestra los campos en el encabezado de TCP.
Puerto de origen (16)
Bit 0 Bit 15
Puerto destino (16)
Bit 16 Bit 31
Número de secuencia (32)
Número de reconocimiento (32)
Longitud del encabezado
(4)Reservado (6)
Bits de código (6)
Ventana (16)
Opciones (0 ó 32 si es que existen)
Datos (variable)
20 bytes
Checksum (16) Urgente (16)
Puerto de origen (16)
Bit 0 Bit 15
Puerto destino (16)
Bit 16 Bit 31
Número de secuencia (32)
Número de reconocimiento (32)
Longitud del encabezado
(4)Reservado (6)
Bits de código (6)
Ventana (16)
Opciones (0 ó 32 si es que existen)
Datos (variable)
20 bytes
Checksum (16) Urgente (16)
Fig. 36 Campos de Encabezado para TCP
Multiplexing usando números de puerto TCP
TCP provee muchas funciones útiles para las aplicaciones y es por ello que requiere un poco más de
procesamiento que UDP. Tanto TCP como UDP utilizan un concepto llamado multiplexing, mismo que
envuelve el proceso de cómo una computadora “piensa” mientras recibe datos. La computadora podría
estar ocupando varias aplicaciones simultáneamente y el multiplexing de TCP y UDP permite a la
computadora receptora saber a cuál de las aplicaciones debe entregar los datos. Pueden existir dentro
de la comunicación entre dos máquinas la misma MAC y misma dirección IP origen, pero la aplicación a
la que se envían los datos es diferente.
Para evitar que la computadora se “equivoque” enviando datos a una aplicación errónea, también existe
un campo en el encabezado del paquete TCP o UDP donde reside el número de puerto destino.
El multiplexing descansa en un concepto llamado socket. Un socket consiste en tres cosas:
Una dirección IP
UPAEP 2019 [Diplomado en Redes]
5
Un protocolo de transporte
Un número de puerto, número de conexión
Un ejemplo de un socket para una aplicación de servidor web sería: (10.1.1.2, TCP, puerto 80), ya que,
por defecto, los servidores web utilizan el conocido puerto 80.
Un ejemplo de un socket para una máquina cuyo buscador web se conecta al servidor web sería:
(10.1.1.1, TCP, 1030). No es que el puerto 1030 sea específicamente para la comunicación con un
servidor web pero el host realiza una evaluación de algún puerto que se encuentre disponible en ese
momento y simplemente lo usa.
Los hosts típicamente asignan números de puerto dinámicos comenzando en 1024, ya que los puertos
menores al 1024 están especialmente reservados para aplicaciones conocidas y muy utilizadas, tal como
los servicios web.
El socket en una misma computadora debe siempre ser único, de forma que una conexión entre dos
sockets debe identificar una única conexión entre dos computadoras. Es así como el multiplexing basado
en sockets asegura que la información sea entregada en la aplicación correcta.
Los números de puerto bien conocidos son usados para servidores y otros números de puerto son
usados por los clientes. Las aplicaciones que proveen un servicio, tal como FTP, Telnet y servidores web
abren un socket usando un puerto conocido y escuchan solicitudes de conexión.
Las solicitudes de conexión realizadas por clientes requieren incluir tanto el número de puerto fuente
como el destino. Una lista de los puertos conocidos se puede encontrar en
http://www.iana.org/assignments/port-numbers .
Por lo anteriormente mencionado, es posible observar que los servidores siempre utilizarán el mismo
número de puerto para todas las conexiones mientras que los clientes estarán usando un número
distinto de puerto.
Nota: En la liga http://www.isi.edu/in-notes/rfcxxxx.txt se encuentran todos los RFCs en línea (xxxx es el
número de RFC. Si no se sabe el número del RFC, es posible buscar por tema accediendo a
http://www.rfc-editor.org/rfcsearch.html .
Aplicaciones TCP/IP Populares
La WWW (World Wide Web) es una aplicación que existe a través de navegadores web accediendo al
contenido disponible en servidores web. Es posible habilitar una función de servidor web en el router o
switch y usar un navegador para acceder al router o switch.
El DNS (Domain Name System) permite a los usuarios utilizar nombres para referirse a computadoras
encontrando las direcciones IP correspondientes. Las funciones cliente de DNS son parte de casi
cualquier dispositivo que utilice TCP/IP hoy en día. El cliente simplemente solicita al servidor DNS que
provea una dirección IP que corresponda a un nombre dado.
El SNMP (Simple Network Management Protocol) es un protocolo de la capa de aplicación usado
específicamente para la administración de dispositivos de red. Por ejemplo, el software Cisco Works usa
principalmente protocolos SNMP para hacer solicitudes a dispositivos de red.
Tradicionalmente, para mover archivos hacia y desde un router o switch, Cisco usaba TFTP (Trivial File
Transfer Protocol). TFTP define un protocolo para transferencia básica de archivos, es por ello que se
UPAEP 2019 [Diplomado en Redes]
6
llama “trivial”. Alternativamente, los routers y switches pueden usar FTP (File Transfer Protocol), el cual
es un protocolo mucho más funcional para transferir archivos. Ambos trabajan bien para mover archivos
desde y hacia dispositivos Cisco. Las aplicaciones TFTP de cliente y servidor son muy simples,
haciéndolas buenas herramientas como partes embebidas de dispositivos de red.
Algunas de estas aplicaciones utilizan TCP (realiza recuperación de errores) y otras UDP (no realiza
recuperación de errores). Por ejemplo, SMTP (Simple Mail Transport Protocol) y POP3 (Post Office
Protocol version 3) que son usados para transferir correo, requieren una entrega garantizada, para lo
que utilizan TCP. Sin importar cuál protocolo de capa de transporte se utilice, las aplicaciones utilizan un
número de puerto conocido de modo que los clientes sepan a cuál puerto deben tratar de conectarse.
La siguiente tabla enlista varias aplicaciones populares y sus números de puerto conocidos.
Número de
Puerto
Protocolo Aplicación
20 TCP Datos FTP
21 TCP Control FTP
22 TCP SSH
23 TCP Telnet
25 TCP SMTP
53 UDP, TCP DNS
67, 68 UDP DHCP
69 UDP TFTP
80 TCP HTTP (WWW)
110 TCP POP3
161 UDP SNMP
443 TCP SSL
16, 384-32, 767 UDP RTP – basado en voz (VoIP) y video
Recuperación de Errores (Confiabilidad)
TCP provee transferencia de datos confiable, lo que se llama confiabilidad o recuperación de errores.
Para lograr la confiabilidad, TCP enumera los bytes de datos usando los campos de Secuencia y
Reconocimiento en el encabezado de TCP. Esta confiabilidad de TCP se logra en ambas direcciones,
usando el campo de Número de Secuencia en una dirección combinado con el campo de
Reconocimiento en la dirección opuesta.
El servidor envía datos con un encabezado TCP que incluye el número de bits. El cliente va haciendo la
suma de bits cada vez que recibe un paquete nuevo, también corroborando el número de bits que
posee del archivo con los que el servidor indica que debería tener en ese momento. Si el cliente
UPAEP 2019 [Diplomado en Redes]
7
compara que tiene un número menor de los que el servidor indica que debería tener, entonces el cliente
da aviso al servidor para que este último vuelva a realizar el envío de los paquetes faltantes.
El remitente también establece un cronómetro de retransmisión, esperando el reconocimiento o
acknowledgment, sólo en caso de que se pierda el reconocimiento o todos los segmentos transmitidos.
Si ese cronómetro expira, el remitente TCP vuelve a enviar todos los segmentos nuevamente.
Control de Flujo Usando Windowing
TCP implementa el control de flujo tomando ventaja de los campos de Secuencia y Reconocimiento en el
encabezado TCP junto con otro campo llamado Ventana (Window). Este campo Ventana implica el
número máximo de bytes no reconocidos que son autorizados a estar pendientes en cualquier
momento. La ventana comienza pequeña pero va creciendo a medida que no hay errores. Algunas veces
se le llama ventana dinámica porque cambia a través del tiempo. Adicionalmente, la ventana es llamada
en ocasiones ventana deslizante, porque los números de secuencia y reconocimiento van creciendo al
paso del tiempo y es como una analogía al deslice de los números al incremento. Cuando la ventana está
llena, el remitente ya no envía, lo cual controla el flujo de datos.
La siguiente figura muestra el windowing con un tamaño de ventana de 3000. Cada segmento de TCP
tiene 1000 bytes de datos.
Fig. 37 Windowing de TCP
ACK=1000
Window=3000
SEQ=100
0
SEQ=200
0
SEQ=300
0
ACK=4000
Window=4000
SEQ=400
0
SEQ=500
0
SEQ=600
0
SEQ=700
0
UPAEP 2019 [Diplomado en Redes]
8
Nótese que el servidor web debe esperar después de enviar el tercer segmento porque la ventana está
saturada. Cuando el reconocimiento ha sido recibido, otra ventana puede ser enviada. Ya que no han
ocurrido errores, el cliente web otorga una ventana más grande al servidor, para que ahora puedan ser
enviados 4000 bytes antes de que el servidor reciba un reconocimiento. En otras palabras, el receptor
utiliza el campo Ventana para decirle al remitente qué tantos datos puede enviar antes de que deba
detenerse para esperar al siguiente reconocimiento. El windowing es simétrico. Ambos lados envían y
también reciben, y en cada caso, el receptor otorga una ventana al remitente usando el campo Ventana.
El windowing no requiere que el remitente deje de enviar en todos los casos. Si un reconocimiento es
recibido antes de que la ventana se agote, una nueva ventana inicia y el remitente continúa enviando
datos hasta que la ventana actual se agota. El término Positive Acknowledgment and Retransmisión
(PAR) o Reconocimiento Positivo y Retransmisión es usado en ocasiones para describir la recuperación
de errores y los procesos de windowing que usa TCP.
Establecimiento de la Conexión y Terminación
El establecimiento de la conexión TCP ocurre antes de que cualquier otra de las funciones TCP inicien su
trabajo. El establecimiento de la conexión se refiere al proceso de iniciar campos de secuencia y
reconocimiento y acordar el número de puertos usados.
Fig. 38 Establecimiento de conexión TCP
Este flujo de establecimiento de conexión en tres vías debe terminar antes de que la transferencia de
datos pueda iniciar. La conexión existe entre los dos sockets, aunque el encabezado TCP no tiene un
campo de socket único. De las tres partes de un socket, las direcciones IP están implicadas basándose en
las direcciones IP origen y destino en el encabezado IP. TCP está implicado porque un encabezado TCP
se encuentra en uso, como se especifica por el campo de protocolo en el encabezado IP. Entonces, las
únicas partes del socket que necesitan ser codificadas en el encabezado TCP son los números de puerto.
El TCP señala el establecimiento de la conexión utilizando 2 bits en los campos Bandera del encabezado
TCP. Las llamadas banderas SYN y ACK, son bits que tienen un significado particularmente interesante.
SYN significa “Synchronize the sequence numbers” o “Sincroniza los números de secuencia”, el cual es
un componente necesario en la inicialización de TCP. El campo ACK significa “The Acknowledgment field
is valid in this header” o “El campo Reconocimiento es válido en este encabezado”. Hasta que los
números de secuencia son inicializados, el campo de Reconocimiento no es de mucha utilidad. También
nótese que en el segmento inicial TCP en la figura anterior, no se muestra número de reconocimiento
alguno, lo cual sucede porque ese número no es válido aún. Debido a que el campo ACK debe estar
UPAEP 2019 [Diplomado en Redes]
9
presente en todos los segmentos posteriores, el bit ACK continúa siendo establecido hasta que la
conexión está terminada.
TCP inicializa los campos de Número de Secuencia y el Número de Reconocimiento en cualquier número
que se encuentre dentro de los campos de 4 bytes; por lo que los valores mostrados en la figura anterior
son simplemente valores de ejemplo. Se considera que los flujos de inicialización tienen un solo byte de
datos, tal y como se refleja en los ejemplos de los campos de Número de Reconocimiento.
La siguiente figura muestra la terminación de una conexión TCP. Esta secuencia de terminación de
cuatro vías es sencilla y utiliza una bandera adicional llamada el bit FIN (por “finished” en inglés). Una
nota interesante: antes de que el dispositivo a la derecha envíe el tercer segmento TCP en la secuencia,
éste notifica a la aplicación que la conexión se va a detener. Entonces espera un reconocimiento o
aceptación de la aplicación antes de enviar el tercer segmento en la figura. Solamente en caso de que la
aplicación se tome demasiado tiempo para responder, la PC en la derecha envía el segundo flujo en la
figura, reconociendo que la otra PC desea terminar la conexión. De otra manera, la PC en la izquierda
podría reenviar el primer segmento repetidamente.
Fig. 39 Terminación de la conexión TCP
TCP establece y termina las conexiones entre los dos puntos, mientras que UDP no realiza esta tarea.
Muchos protocolos operan bajo estos mismos conceptos, de forma que los términos orientada-a-
conexión y sin conexión se usan para hacer una referencia a la idea general de cada uno. De manera
más formal, estos términos pueden ser definidos como sigue:
Protocolo orientado a conexión: Un protocolo que requiere un cambio de mensajes antes de
que inicie la transferencia de datos, o que tiene una correlación preestablecida requerida entre
dos puntos.
Protocolo sin conexión o connectionless: Un protocolo que no requiere un cambio de mensajes
y que no requiere una correlación preestablecida entre dos puntos.
UPAEP 2019 [Diplomado en Redes]
10
Segmentación de Datos Transferencia Ordenada de Datos
Las aplicaciones requieren enviar datos. En algunos casos el dato es pequeño como un byte. En otros
casos puede llegar a millones de bytes.
Cada tipo diferente de protocolo de enlace de datos típicamente tiene un límite de Maximum
Transmisión Unit (MTU) que puede ser enviado dentro de un frame de capa de enlace de datos. En
otras palabras, el MTU es el tamaño del paquete de capa 3 más grande que se puede ajustar al campo
de datos de un frame. Para muchos protocolos de enlace de datos, Ethernet incluido, el MTU es de 1500
bytes.
TCP maneja el hecho de que una aplicación le puede dar millones de bytes para enviar segmentando los
datos en piezas más pequeñas llamadas segmentos. Debido a que un paquete IP a menudo puede ser
menor a 1500 bytes gracias a las restricciones MTU, y debido a que los encabezados IP y TCP son de 20
bytes cada uno, TCP típicamente segmenta muchos datos en trozos de 1460 bytes.
El receptor de TCP realiza un reensamble cuando recibe los segmentos. Para reensamblar los datos, TCP
debe recuperar los segmentos perdidos. El receptor de TCP también debe reordenar los segmentos que
llegan sin secuencia alguna, lo cual ocurre porque el ruteo IP puede elegir balancear tráfico a través de
múltiples enlaces. Así que el receptor de TCP también debe realizar una transferencia ordenada de
datos reensamblando los mismos en su orden original.
El encabezado TCP y el campo de datos juntos se llaman Segmento TCP. Este término es similar. El
término L4PDU se puede usar para el mismo propósito, ya que TCP es un protocolo de capa 4.
Protocolo de Datagrama del Usuario
UDP provee un servicio para que las aplicaciones intercambien mensajes. A diferencia de TCP, UDP es
connectionless y no provee confiabilidad, ni windowing, ni reordenamiento de los datos recibidos ni
segmentación de grandes trozos de datos en un tamaño adecuado para su transmisión. De cualquier
modo, UDP provee algunas funciones de TCP tales como transferencias de datos y multiplexing usando
números de puertos, y lo hace con un menor número de bytes de overhead y requiriendo menos
procesamiento que TCP.
Las aplicaciones que utilizan UDP son tolerantes a la pérdida de datos, o tienen algún mecanismo de
aplicación para recuperar los datos perdidos. Por ejemplo, VoIP utiliza UDP porque si pierde datos y
vuelve a solicitarlos, para cuando estos sean retransmitidos, el mensaje ya no será comprensible.
También las solicitudes DNS usan UDP porque el usuario tratará nuevamente una operación si la
resolución de DNS falla. El Network File System (NFS), que es una aplicación de sistema de archivos
remotos, realiza recuperación con código de la capa de aplicación, así que las habilidades de UDP son
suficientes para NFS.
La siguiente figura muestra formatos de encabezado de TCP y de UDP. Nótese la ausencia de los campos
Número de Secuencia y Número de Reconocimiento en el encabezado UDP. UDP no necesita estos
campos porque no intenta numerar los datos para ordenarlos o para saber si llegaron correctamente.
La ventaja más evidente de UDP sobre TCP es que hay menos datos de overhead, no necesita esperar a
saber si los datos llegaron correctamente ni retiene datos en memoria hasta tener respuesta del otro
punto, por lo que las aplicaciones que usan UDP fluyen más rápidamente y liberan memoria más pronto.
UPAEP 2019 [Diplomado en Redes]
11
Fig. 40 Encabezados TCP y UDP
Aplicaciones TCP/IP
La principal meta de construir una red para una empresa o conectar una pequeña oficina a la Internet es
usar aplicaciones como navegación en red, mensajes en texto, correo electrónico, descargas de
archivos, voz y video. En esta sección se examinarán algunas situaciones relacionadas con el diseño de
red a la luz de las aplicaciones esperadas en una internetwork. Esto estará seguido por una profunda
explicación de una aplicación en particular: la navegación web utilizando HTTP (Hypertext Transfer
Protocol).
Las Necesidades de QoS y el Impacto de las Aplicaciones TCP/IP
El término calidad de servicio o Quality of Service (QoS) se refiere al tema entero de lo que necesita una
aplicación del servicio de red. Cada tipo de aplicación puede ser analizada en términos de sus
requerimientos de QoS, de modo que si la red reúne todos los requerimientos, la aplicación trabajará
correctamente.
Las necesidades de QoS han cambiado a través de los años. Hoy en día se requiere que las aplicaciones
gocen de un mayor ancho de banda y menor retraso de entrega de información. Desde los primeros días
de las redes al presente, he aquí algunos tipos de aplicaciones de datos que han impactado la red:
Terminales e impresoras capaces de procesar gráficos, para lo cual se requirió transferir más
bytes.
Transferencias de archivos, lo cual introdujo mayores volúmenes de datos pero aún con
retrasos.
Servidores de archivos, lo que permite a usuarios almacenar archivos en un servidor, lo cual
requiere transferir grandes volúmenes de datos, pero con menor tiempo de respuesta.
UPAEP 2019 [Diplomado en Redes]
12
La maduración de la tecnología de base de datos, haciendo cantidades vastas de datos
disponibles para usuarios casuales, incrementando bastamente el número de usuarios que
desean acceder a la información.
La migración de aplicaciones comunes a navegadores web, lo cual atrae a más usuarios a
acceder a la información.
La aceptación general del correo electrónico tanto para uso personal como para propósitos
laborales.
La rápida comercialización del Internet, permitiendo a las compañías ofrecer datos
directamente a sus clientes vía red de datos en lugar de realizar llamadas telefónicas.
Voz y video en una tecnología que converge y presiona a los datos a entregar una mejor calidad
de servicio.
Muchas empresas hoy en día están implementando su migración de líneas telefónicas hacia
transferencia de datos (VoIP). Una sola llamada IP que pasa por una WAN típicamente toma menos de
30 kbps de ancho de banda, lo que no se compara con muchas aplicaciones de datos de hoy en día. De
hecho, las aplicaciones básicamente utilizan tanto ancho de banda como puedan tomar.
El tráfico VoIP tiene otras demandas de QoS en la red antes de que el tráfico VoIP suene bien:
Poco retraso: VoIP requiere poco retraso entre el teléfono que envía y el teléfono que recibe
(típicamente menos de 0.2 segundos). Este retraso es mucho más bajo de lo que se requiere
para una aplicación típica de datos.
Inquietud baja: la inquietud o jitter es la variación en retraso. Por ejemplo, la inquietud para
paquetes consecutivos de VoIP no debe exceder 0.03 segundos, o la calidad se degrada.
Pérdida: si un paquete de VoIP se pierde en tránsito debido a errores o porque el ruteador no
tiene espacio para almacenar el paquete mientras espera a enviarlo, el paquete de VoIP no es
entregado a través de la red. Debido a situaciones de retraso e inquietud, no hay necesidad de
tratar de recuperar el paquete perdido porque será inútil para cuando se haya recuperado.
El video sobre IP tiene los mismos problemas de desempeño, sólo que necesita aún más ancho de banda
(de 300 a 400 kbps) o mucho más ancho de banda (3 a 10 Mbps por video).
Para la perspectiva, a continuación se muestra una tabla que resume las necesidades de varios tipos de
aplicaciones para los cuatro principales requerimientos de QoS (ancho de banda, retraso, inquietud y
pérdida de paquetes).
Tipo de Aplicación Ancho de
Banda
Retraso Inquietud Pérdida
VoIP bajo bajo bajo bajo
Video sobre IP de dos direcciones (ej.
Videoconferencia)
Mediano/alto bajo bajo bajo
UPAEP 2019 [Diplomado en Redes]
13
Video sobre IP unidireccional (ej.
Cámaras de seguridad)
mediano mediano mediano bajo
Datos misión-crítica interactivos (ej.
Nómina de sueldos basada en web)
mediano mediano alto alto
Datos interactivos de negocio Bajo/mediano mediano alto alto
Transferencia de archivos (ej. Respaldo
de discos duros)
alto alto alto alto
Fuera de negocio (ej. Checar marcadores
de partidos recientes)
mediano alto alto alto
Para soportar los requerimientos de QoS de varias aplicaciones, los routers y switches pueden ser
configurados con una amplia variedad de herramientas de QoS. Estas herramientas deben usarse en una
red moderna para poder soportar alta calidad de VoIP y de video sobre IP.
La World Wide Web, HTTP y SSL
La World Wide Web consiste en todos los servidores web en el mundo conectados por Internet junto
con todos los hosts conectados por Internet que tienen navegadores web. Los servidores web (que
consisten en software de servidor web corriendo en una computadora), almacenan información en la
forma de páginas web, misma que puede ser de utilidad para diferentes personas. Los navegadores
web, que son software instalado en una computadora de usuario final, proveen el medio para
conectarse a un servidor web y desplegar las páginas web almacenadas en el servidor web.
Nota: A pesar de que la mayoría de las personas utilizan el término navegador web, o simplemente
navegador, los navegadores web también son llamados clientes web, porque obtienen un servicio de un
servidor web.
Para que este proceso funcione, deben ocurrir varias funciones específicas de la capa de aplicación. El
usuario debe identificar de alguna manera al servidor, la página web específica y el protocolo utilizado
para obtener los datos del servidor. El cliente debe encontrar la dirección IP del servidor, basándose en
el nombre del servidor, típicamente usando DNS. El cliente debe solicitar la página web, la cual consiste
de múltiples archivos separados, y el servidor debe enviar los archivos al navegador web. Finalmente,
para aplicaciones de comercio electrónico (e-commerce), la transferencia de los datos, particularmente
datos financieros muy sensibles, necesita ser muy segura, nuevamente utilizando características de la
capa de aplicación. Las siguientes secciones tratan de cada una de estas funciones.
Localizadores de Recursos Universales
Para que un navegador despliegue una página web, el buscador debe identificar al servidor que tiene la
página web, además de otra información que identifica la página web en particular. La mayoría de los
servidores web tiene muchas páginas web. Cuando se navega en una página web, cada acción de clic en
un vínculo o link nos lleva a otra página web específica y con muchos detalles que no alcanzamos a
visualizar.
UPAEP 2019 [Diplomado en Redes]
14
El usuario del navegador puede identificar una página web cuando hace clic en algún elemento de la
página web o cuando ingresa en un URL (Universal Resource Locator) o dirección web.
Nota: Para conocer la dirección web a que está direccionado un enlace, hacer click derecho sobre el
elemento y seleccionar propiedades.
Cada URL define el protocolo usado para transferir datos, el nombre del servidor y la página web
particular dentro del servidor web. El URL se compone de tres partes:
El protocolo se encuentra antes de las //.
El hostname se encuentra entre las // y la /.
El nombre de la página web está después de la /.
Encontrando el Servidor Web utilizando DNS
Como ya se comentó en el capítulo 5, un host puede usar DNS para conocer la dirección IP que
corresponde a algún hostname en particular. Entonces, antes de que el navegador pueda enviar un
paquete al servidor web, el navegador típicamente necesita resolver el nombre en el URL para esa
dirección IP correspondiente.
En la siguiente figura se aclara el proceso en que el usuario ingresa el URL
(http://www.upaep.mx/index.php?option=com_content&task=view&id=1630&Itemid=1734), resuelve
el nombre www.upaep.mx en la dirección IP correcta y comienza a enviar paquetes al servidor web.
Fig. 41 Resolución DNS y Solicitud de una Página Web
Los pasos son como sigue:
1. El usuario ingresa la URL dentro del área de dirección del navegador.
UPAEP 2019 [Diplomado en Redes]
15
2. El cliente envía una solicitud de DNS al servidor DNS. Típicamente, el cliente aprende la
dirección IP del servidor DNS vía DHCP. Nótese que la solicitud DNS utiliza un encabezado UDP,
con un puerto destino del DNS bien conocido como puerto 53.
3. El servidor DNS envía una respuesta indicando cuál es la dirección IP de www.upaep.mx.
Nótese que la respuesta muestra una dirección IP destino que es la dirección IP del cliente.
También muestra un encabezado UDP con puerto origen de 53, por lo cual se entiende que la
información proviene del servidor DNS.
4. El cliente comienza el proceso de establecer una nueva conexión TCP con el servidor web. La
dirección IP es la recién aprendida. El paquete incluye un encabezado TCP porque HTTP usa
TCP. También nótese que el puerto destino es el 80, el puerto conocido de HTTP. Finalmente, el
bit SYN se muestra, como un recordatorio de que el proceso de establecimiento de conexión
TCP inicia con un segmento TCP con el bit SYN encendido (1 binario).
Hasta este punto del proceso, el navegador web casi termina de configurar una conexión TCP al
servidor.
Transfiriendo Archivos con HTTP
Después de que un cliente web (navegador) ha creado una conexión TCP con un servidor web, el cliente
puede comenzar la solicitud de la página web del servidor. Regularmente el protocolo utilizado para
transferir la página web es HTTP. El protocolo de la capa de aplicación HTTP, definido en el RFC 2616,
define cómo los archivos pueden transferirse entre dos computadoras. HTTP fue creado
específicamente por la propuesta de transferir archivos entre servidores web y clientes web.
Para recibir un archivo de un servidor web, el cliente envía una solicitud HTTP GET al servidor,
indicando el nombre del archivo. Si el servidor decide enviar el archivo, enviará una respuesta HTTP GET
con un código de regreso de 200 (que significa “OK”), junto con el archivo mismo.
Nota: Existen muchos códigos de retorno para solicitudes HTTP. Cuando el servidor no tiene el archivo
solicitado regresa un error 404 que significa “archivo no encontrado”. La mayoría de los navegadores
web no muestran una descripción del error sino simplemente un número relacionado con el mismo.
Las páginas web consisten en múltiples archivos llamados objetos (texo, imágenes, voz, video,
anuncios), cada uno de los cuales se almacena en un diferente archivo en el servidor web. Para
obtenerlo todos, el navegador web debe obtener el primer archivo, mismo que típicamente incluye
referencias de la URL, y luego el navegador realiza las solicitudes de otros objetos.
En la siguiente figura se muestra la idea general en la que el navegador obtiene el primer archivo y
posteriormente otros dos más.
En este caso, después de que el navegador obtiene el primer archivo –el llamado
“/index.php?option=com_content&task=view&id=1630&Itemid=1734” en la URL- el navegador lee e
interpreta el archivo. Además de contener partes de la página web, el archivo se refiere a otros dos
archivos, así que el navegador realiza dos solicitudes http GET adicionales.
UPAEP 2019 [Diplomado en Redes]
16
Fig. 42 Múltiples Solicitudes/Respuestas HTTP GET
Seguridad en Redes
En años pasados, las amenazas a la seguridad provenían de estudiantes genios con mucho tiempo libre.
No eran muchos y su motivación era demostrar que podrían irrumpir en otra red. Desde entonces, el
número de atacantes y la sofisticación de sus ataques ha ido incrementando exponencialmente. Antes
había que ser un genio para lograrlo, hoy se puede descargar cualquier herramienta disponible en
Internet y hasta un estudiante de la secundaria de la UPAEP puede arreglárselas con la herramienta. Así
que esencialmente cualquier persona conectada a la red es vulnerable a un ataque.
La inseguridad ha pasado de ser un pasatiempo a algo más serio como crimen organizado para robar
millones de dólares exhortando a las compañías por medio de amenazas con un ataque en los
servidores web públicos de la compañía de tipo denial of service (DoS), que han llevado a robo de
identidades y/o información de tarjetas de crédito.
Perspectivas en los Orígenes y Tipos de Amenazas
La siguiente figura muestra una topología de red común con un firewall. Probablemente los firewalls son
el mejor equipo de seguridad conocido localizado entre la indefensa red de una compañía y la oscura,
fría e insegura Internet. El trabajo de un firewall es detener los paquetes inseguros de la red. El firewall
observa los números de puerto de la capa de transporte y los encabezados de la capa de aplicación para
prevenir que ciertos puertos y aplicaciones introduzcan paquetes nocivos para la empresa.
UPAEP 2019 [Diplomado en Redes]
17
Fig. 43 Típica Conexión a Internet de una Empresa con un Firewall
La figura anterior puede hacer pensar a un empleado promedio una falsa sensación de seguridad,
creyendo que se encuentra libre de peligro en Internet. Sin embargo, el firewall no da una garantía de
seguridad. Además, un alto porcentaje de las amenazas provienen de dentro de la red de la compañía, y
se trata de paquetes que ni siquiera ve el firewall.
Tipos de ataques que pueden ocurrir:
Ataques Denial of Service (DoS): Tiene el propósito de romper cosas. Los destructores dañan
los hosts borrando sus datos y software. Los llamados crashers, provocan que la computadora
no pueda conectarse más a la red. Los flooders inundan la red con paquetes para que no se
pueda utilizar más la red, impidiendo la comunicación con los servidores.
Ataques de Reconocimiento: Pueden ser disruptivos colateralmente, su meta es recopilar
información para realizar un ataque de acceso. Ejemplo: conocer direcciones IP y tratar de
descubrir servidores que aparentemente no requieren encriptación para conectarse al servidor.
Ataques de Acceso: Un intento de robar datos, típicamente para obtener alguna ventaja
financiera, competitiva para con alguna otra empresa, o hasta para espionaje internacional.
Los virus de computadora son útiles para trasladar estos ataques. Un virus es un programa que de
alguna manera es transferido en una computadora que no se percata de la acción, generalmente a
través de un archivo adjunto al correo electrónico o una descarga en una página web. Un virus puede
causar daño en una computadora o bien robar información y ser devuelta al atacante.
Hoy en día, la mayoría de las computadoras utilizan algún software antivirus con definiciones conocidas
de virus para prevenir que la computadora sea infectada por estos. Además de otras actividades, el anti-
virus descarga una lista de características (llamadas signatures o firmas) conocidas de los virus.
Periódicamente se descargan las últimas firmas de virus. La computadora observa los paquetes
entrantes y los compara con sus firmas, así el anti-virus reconoce los virus para no abrirles paso. El
programa también realiza un escaneo periódico del sistema en busca de virus.
UPAEP 2019 [Diplomado en Redes]
18
La siguiente figura permite apreciar los riesgos de seguridad inherentes en una red de compañía que ya
cuenta con un perímetro de firewall de calidad.
Fig. 44 Problemas de Seguridad Comunes en una Empresa
Los siguientes tipos de problemas pueden ocurrir comúnmente en una empresa:
Acceso desde la LAN inalámbrica: Las LANs inalámbricas permiten a los usuarios acceder al
resto de los dispositivos en la Empresa. Las señales de radio inalámbricas pueden escaparse del
edificio, una LAN inalámbrica no asegurada permite al usuario del otro lado de la calle en una
cafetería, acceder a la red de la Empresa, permitiendo al atacante comenzar con la siguiente
fase de tratar de ganar acceso a las computadoras de la Empresa.
Computadoras portátiles infectadas: Cuando un empleado trae su propia computadora portátil
a casa, sin firewall ni seguridad, la computadora puede infectarse con un virus. Al volver el
usuario a la oficina, conecta su computadora a la red de la Empresa y entonces el virus se
esparce.
Empleados descontentos: Un usuario roba la información para llevarla a la compañía a que se
cambiará y guardará la información en un memoria USB, misma que se llevará fácilmente
escondida.
Estos son sólo algunos ejemplos de amenazas, evidentemente existen muchas más. Cisco usa el término
seguridad en profundidad para referirse al diseño de seguridad que incluye herramientas de seguridad
en toda la red, incluyendo características especiales en routers y switches. Cisco también usa el término
red que se defiende por sí misma para referirse a la automatización en la cual los dispositivos de la red
reaccionan automáticamente a los problemas en la red.
NAC (Network Admission Control) es una herramienta de seguridad para prevenir dos de los ataques
mencionados. Entre otras cosas, NAC puede monitorear cuando un dispositivo se conecta por primera
vez a una LAN, ya sea alámbrica o inalámbricamente. Permitirá entonces que el equipo se conecte a la
UPAEP 2019 [Diplomado en Redes]
19
LAN hasta que haya actualizado sus definiciones de virus y con un escaneo reciente de los mismos;
además de solicitar credenciales para que el usuario pueda ingresar en la LAN.
Además de los virus, se pueden utilizar otras herramientas para atacar. Entre las más comunes se
encuentran:
Scanner: Herramienta que envía solicitudes para conectarse a diferentes puertos TCP y UDP,
para diferentes aplicaciones, en un intento por descubrir cuáles son los hosts que corren ciertos
servicios IP, así como el sistema operativo que posiblemente utilice cada host.
Spyware: Virus que busca información privada y de importancia, rastreando lo que el usuario
hace con su computadora y regresando la información al atacante.
Gusano: Programa que se propaga por sí mismo y se replica a sí mismo por toda la red de la
Empresa y también la Internet, a menudo realiza ataques DoS, particularmente en servidores.
Keystroke logger: Virus que almacena todo lo enviado por teclado o probablemente sólo lo que
el teclado envía al tratar de acceder a sitios asegurados, reportando la información recopilada
al atacante. Son capaces de enviar la información incluso antes de que ésta deje la
computadora.
Phishing: El atacante crea una página web en aspecto idéntico a alguna página bancaria o de
tarjeta de crédito. El atacante espera que algunos caigan en la trampa e ingresen sus
verdaderas credenciales en el sitio falso, mismas que serán enviadas al atacante para su uso
posterior en el sitio verdadero del banco.
Malware: Se refiere a una amplia gama de virus maliciosos, incluyendo el spyware.
Firewalls y el ASA (Cisco Adaptive Security Appliance)
Los firewalls analizan todos los paquetes que entran y salen de una red, con el propósito de filtrar tráfico
indeseado. Los firewalls determinan el tráfico permitido contra el tráfico prohibido, basándose en varias
características de los paquetes, incluyendo sus direcciones origen y destino, así como los números de
puerto TCP y UDP. Los firewalls también examinan los encabezados de la capa de aplicación.
Los firewalls se localizan en el camino de reenvío de paquetes entre dos redes, a menudo con una
interfaz LAN conectada a la red local segura y por otra interfaz con la red no segura (usualmente la
Internet). Adicionalmente, ya que algunos hosts en la empresa necesitan ser accesibles desde la
Internet, el firewall típicamente también tiene una interfaz conectada a otra parte de la red empresarial,
llamada zona desmilitarizada (DMZ).
Para realizar este trabajo, el firewall necesita estar configurado para saber cuáles interfaces están
conectadas hacia “adentro” de la red, hacia “afuera” de la red y en la zona desmilitarizada. Luego, una
serie de reglas pueden ser configuradas y le dirán al firewall cuáles patrones de tráfico se permite y
cuáles no. Por ejemplo:
Permite a clientes web dentro de la red el enviar paquetes a servidores web.
Evita a clientes web fuera de la red el enviar paquetes a servidores web dentro de la red.
Permite a clientes web fuera de la red el conectarse a servidores web dentro de la DMZ.
UPAEP 2019 [Diplomado en Redes]
20
Anti-x
Cisco utiliza el término anti-x para referirse a todas las herramientas de seguridad que previenen
problemas originados por la falta de ésta. Anti-x incluye las siguientes herramientas:
Anti-virus: Escanea el tráfico de la red para prevenir la transmisión de virus conocidos
basándose en firmas de virus.
Anti-spyware: Escanea el tráfico de la red para prevenir la transmisión de programas de
spyware.
Anti-spam: Examina el correo electrónico antes de que alcance a los usuarios, borrando o
segregando correo basura.
Anti-phishing: Monitorea los URLs enviados en mensajes a través de la red, buscando los URLs
falsos de ataques de phishing y previniendo a los usuarios de ser atacados.
Filtrado de URL: Filtra el tráfico web basándose en URL para prevenir que los usuarios se
conecten a sitios inapropiados.
Filtrado de correo electrónico: Provee herramientas anti-spam. También filtra los correos
electrónicos que contienen materiales ofensivos, protegiendo a la empresa potencialmente de
problemas.
Detección de Intrusos y Prevención
No todas las formas de ataques son fácilmente identificables, ya que algunas son muy sofisticadas. En
ocasiones ni siquiera incluyen la transferencia de un archivo, y por ello se requieren métodos más
efectivos.
IDS (Intrusion Detection Systems) e IPS (Intrusion Prevention Systems) son herramientas útiles para
ataques sofisticados. Estas herramientas detectan estas amenazas observando tendencias, buscando
ataques que utilizan patrones de mensajes particulares. Los IDS e IPS pueden rastrear secuencias de
paquetes entre hosts para buscar un archivo que se envíe a demasiados hosts, tal y como lo haría un
gusano tratando de propagarse dentro de una red.
Los sistemas IDS e IPS se diferencian mayormente en cómo monitorean el tráfico y cómo responden a
una amenaza percibida. Las herramientas IDS típicamente reciben una copia de los paquetes por vía de
un puerto que monitorea, en lugar de ser parte de la trayectoria de los paquetes de reenvío. Los IDS
pueden entonces medir y reportar cada amenaza potencial, y solicita apoyo a otros dispositivos como
routers y firewalls para prevenir el ataque. Las herramientas IPS a menudo son parte de la trayectoria de
los paquetes de reenvío, dando al IPS la habilidad de realizar las mismas funciones que el IDS, y además
reaccionar y filtrar el tráfico. El tiempo de reacción es vital para ciertas amenazas, ya que infectan un
gran número de computadoras en poco tiempo y no sería viable esperar a que un técnico arreglara la
situación.
UPAEP 2019 [Diplomado en Redes]
21
Virtual Private Networks (VPN)
La Virtual Private Network se puede entender mejor como Virtual Private WAN. Una línea arrendada es
inherentemente segura, actuando efectivamente como un circuito eléctrico entre dos routers. Las VPNs
envían paquetes a través de la Internet, la cual es una red pública. Las VPNs hacen una comunicación
segura tal y como si fueran una línea arrendada privada.
Sin la tecnología de la VPN, los paquetes enviados entre dos dispositivos a través de la Internet serían
totalmente inseguros. Los paquetes vagando por la Internet podrían ser interceptados por algún
atacante. Los atacantes ya han aprendido a direccionar paquetes y examinar sus contenidos para
extraer información y credenciales. Además, un usuario no podría saber cuál paquete es útil y cuál es
un ataque.
Las VPNs proveen una solución para permitir el uso de Internet sin los riesgos de aceptar datos de hosts
que están atacando y sin el riesgo de que otros puedan leer los datos en tránsito. Las VPNs autentican
los extremos de las VPNs, de modo que ambos estén seguros de que el otro extremo es legítimo.
Adicionalmente, las VPNs encriptan los paquetes IP originales para que aunque un atacante tenga una
copia de ellos, no pueda leer los datos.
Dos tipos de VPN son:
VPN de acceso: soporta a un usuario en una oficina pequeña con la PC de la oficina remota,
típicamente encriptando los datos.
VPN Intranet sitio-a-sitio: típicamente conecta a dos sitios dentro de la misma Empresa,
creando efectivamente una conexión entre dos partes dentro de la misma red empresarial.
Aquí la encriptación puede ser realizada por todos los dispositivos que usan un diferente
hardware, incluyendo routers, firewalls, hardware de concentrador de VPN especialmente
hecho, o ASAs.
Las VPNs pueden utilizar encriptación punto-a-punto, en la cual los datos permanecen encriptados
mientras son reenviados a través de uno o más routers. Adicionalmente, la encriptación de enlace
puede ser utilizada para encriptar datos en la capa de enlace de datos, de modo que los datos estén
encriptados solamente si pasan por un enlace de datos.
top related