01 Tcpip Tema 1
01 Tcpip Tema 1
01 Tcpip Tema 1
ORGANIZACIÓN ASIGNATURA
Unidad 1 Unidad 2 Unidad 3 Unidad 4
Semana 1 X
Semana 2 X
Semana 3 X
Semana 4 X
Semana 5 X
Semana 6 X
Semana 7 X
Semana 8 X
Semana 9 X
Semana 10 X
Semana 11 X
Semana 12 X
Semana 13 X
Entre las aplicaciones Internet se incluyen: correo electrónico de texto, el acceso remoto a
computadores, la transferencia de archivos y los grupos de noticias. También se incluyen la
mensajería instantánea y la compartición de archivos P2P.
Alicia, que envía un correo electrónico a un destinatario, Benito. Los agentes de usuario
permiten a los usuarios leer, responder, reenviar, guardar y componer mensajes. Microsoft
Outlook es un ejemplo de agente de usuario para correo electrónico. Cuando Alicia termina de
componer su mensaje, es colocado en la cola de mensajes salientes del servidor de correo.
Cuando Benito quiere leer un mensaje, su agente de usuario recupera el mensaje de su buzón,
que se encuentra en el servidor de correo.
Los servidores de correo forman el núcleo de la infraestructura del correo electrónico. Cada
destinatario, tiene un buzón de correo ubicado en uno de los servidores de correo. El buzón
de Benito gestiona y mantiene los mensajes que le han sido enviados. Un mensaje típico
inicia su viaje en el agente de usuario del emisor, viaja hasta el servidor de correo del
emisor y luego hasta el servidor de correo del destinatario, donde es depositado en el buzón
del mismo.
Cuando Benito quiere acceder a los mensajes contenidos en su buzón, el servidor de correo
que lo contiene autentica a Benito (mediante el nombre de usuario y la contraseña). El
servidor de correo de Alicia también tiene que ocuparse de los fallos que se producen en el
servidor de correo de Benito. Si el servidor de Alicia no puede enviar el mensaje de correo
al servidor de Benito, entonces el servidor de Alicia mantiene el mensaje en una cola de
mensajes e intenta enviarlo más tarde (normalmente cada 30 minutos). Después de varios
intentos de reenvío, si el servidor no consiguió el envío del correo, elimina el mensaje.
1.1.1 SMTP
SMTP es el principal protocolo de la capa de aplicación para el correo electrónico por
Internet. Utiliza el servicio de transferencia de datos fiables TCP para transferir el
correo desde el servidor de correo del emisor al servidor de correo del destinatario.
SMTP tiene dos lados: el lado cliente, que se ejecuta en el servidor de correo del emisor, y
el lado del servidor, que se ejecuta en el servidor de correo del destinatario.
Cuando un servidor de correo envía mensajes de correo a otro servidores, actúa como cliente
SMTP. Por el contrario, cuando recibe correo de otros servidores, actúa como un servidor
SMTP.
El protocolo SMTP, que está definido en el documento RFC 5321, es el corazón del correo
electrónico por internet. SMTP transfiere dede los servidores de correo de los emisores a
los servidores de correo de los destinatarios. Es una tecnología heredada que utiliza
algunas funciones arcaicas. Por ejemplo, restringe el cuerpo de todos los mensajes a formato
ASCII. Por tanto, para transmitir cualquier archivo se tiene que codificar a ASCII en origen
y descodificar en destino.
El protocolo SMTP presenta muchas similitudes con lso protocolos empleados por las personas
para las interacciones cara a cara.
1. El cliente SMTP establece conexión TCP con el puerto 25 del servidor SMTP destino. Si
el servidor no está operativo lo intentará de nuevo más tarde.
4. El cliente repite el proceso (punto 3) a través de la misma conexión TCP si tiene que
enviar otros mensajes al servidor, en caso contrario, indica a TCP que cierre la
conexión.
Es muy recomendable que se utilice TELNET para establecer diálogo directo con un servidor
SMTP, para ello se debe ejecutar : telnet nombreServidor 25
2. SMTP requiere que cada mensaje esté en el formato ASCI. Por el contrario, HTTP no
impone esta restricción.
3. HTTP encapsula cada objeto en su propio mensaje de respuesta HTTP. SMTP incluye todos
los objetos del mensaje en un mismo mensaje.
Cada línea de cabecera contiene texto legible, que consta de una palabra clave seguida de
dos puntos y de un valor. Algunas de las palabras calve son obligatorias y otras opcionales.
Toda cabecera tiene que estar formada por una línea de cabecera FROM: y una línea TO:,
también puede incluir otras líneas opcionales como Subject:. Estas líneas de cabecera son
diferentes de los comandos SMTP vistos en la sección 1.1.1.
para pasar el mensaje al servidor de correo de Benito. Sin la retransmisión a través del
servidor de correo de Alicia, el agente de usuario de esta no tiene ninguna forma de acceder
a un servidor de correo de destino inalcanzable.
El RFC que se ocupa de SMTP define cómo se pueden utilizar los comandos SMTP para transmitir
un mensaje a través de varios servidores SMTP.
El agente usuario de Benito no puede utilizar SMTP para obtener los mensajes por que es una
operación de extracción (pull) mientras que
POP3
POP3 es un protocolo de acceso a correo extremadamente simple. Está definido en [RFC 1939],
teniendo un funcionalidad bastante limitada.
Se inicia cuando el agente de usuario (el cliente) abre una conexión TCP en el puerto 110 al
servidor de correo. Una vez establecida la conexión TCP, POP3 pasa a través de tres fases:
• user
• pass
• Transacción: El agente de usuario recupera los mensajes , además puede marcar los mensajes
para borrado, eliminar las marcas de borrado y obtener las estadísticas del correo. El
usuario ejecutará los siguientes comandos:
• retr:recuperar un mensaje
• Actualización: tiene lugar después que el cliente haya ejecutado el comando quit,
terminando la sesión POP3, momento en el que el servidor borra los mensajes que han sido
marcados para borrado.
En una comunicación POP3, el usuario ejecuta comandos y el servidor devuelve una respuesta:
Durante una sesión POP3, se mantiene la relación de los mensajes de usuario que han sido
marcados para ser borrados. Sin embargo, el servidor POP3 no conserva la información de
IMAP
Un servidor IMAP mantiene la información acerca del estado a lo largo de las sesiones.
También dispone de comandos que permiten a un usuario obtener partes de los mensajes. Por
ejemplo, se puede obtener solo la cabecera del mensaje.
Un identificador para los host es el nombre del host. Los nombres del host, como por ejemplo
www.diariodesoria.com son mnemónicos y son, por tanto, entendidos por las personas. Sin
embargo, los nombres de host proporcionan poca o ninguna información acerca de la ubicación
del host dentro de internet.
Los hosts también se pueden identificar mediante direcciones IP. Una dirección Ip es
jerárquica porque al explorar la dirección de izquierda a derecha, se obtiene información
cada vez más específica acerca del lugar en el que está ubicado el host dentro de internet.
DNS es una base de datos distribuida implementada en una jerarquía de servidores DNS y un
protocolo de la capa de aplicación que permite a los hosts consultar la bbdd distribuida. El
protocolo DNS se ejecuta sobre UDP y utiliza el puerto 53.
Otros protocolos de la capa de aplicación, como HTTP y SMTP, emplean habitualmente DNS para
traducir los nombres de host suministrados por el usuario en direcciones IP.
Para que el host del usuario pueda enviar un mensaje de solicitud HTTP al servidor web
www.diariodesoria.com, el hosts del usuario debe obtener en primer lugar la dirección P.
Esto se hace del siguiente modo:
3. El cliente DNS envía una consulta que contiene el nombre de hosts a un servidor DNS.
5. Una vez que el navegador recibe la dirección IP del servidor DNS, puede iniciar una
conexión TCP con el proceso servidor HTTP localizado en el puerto 80 en esa dirección IP.
• Alias de host: un host con un nombre complicado puede tener uno o más alias. Una aplicación
puede invocar DNS para obtener el nombre de host canónico para un determinado alias, así
como la dirección IP del host.
• Alias del servidor de correo. Una aplicación de correo puede invocar al servicio DNS para
obtener el nombre del hosts canónico para un determinado alias, así como la dirección IP
del host.
• Distribución de carga: DNS también se emplea para realizar la distribución de carga entre
servidores replicados, como los servidores web replicados. Los sitios con una gran carga de
trabajo están replicados en varios servidores, ejecutándose cada servidor en un sistema
terminal distinto y teniendo cada uno una dirección IP diferente. Para los servidores web
replicados hay asociado un conjunto de direcciones IP con un único nombre de host canónico.
La bbdd DNS contiene este conjunto de direcciones IP- Cuando los clientes realizan una
Para abordar estos problemas de escalado, DNS utiliza un gran número de servidores,
organizados de forma jerárquica y distribuidos al rededor del mundo.
• Servidores DNS raíz: los servidores de nombres raíz proporcionan las direcciones IP de los
servidores TLD.
• Servidores de dominio de nivel superior (TLD). Para todos los dominios de nivel superior,
como son com, org, es, etc, proporcionan las direcciones IP para los servidores DNS
autoritativos.
• Servidores DNS autoritativos: un servidor DNS autoritativo alberga los registros DNS de
los host que tienen accesibles públicamente.
Todos los servidores DNS raíz, TLD y autoritativos pertenecen a la jerarquía de servidores
DNS. Un servidor DNS local no pertenece estrictamente a la jerarquía, pero no obstante es
importante dentro de la arquitectura DNS local. Cada ISP tiene un servidor DNS local. Cuando
un host se conecta a un ISP, este proporciona al host las direcciones IP de uno o más de sus
servidores DNS locales.
El ejemplo mostrado a la
izquierda utiliza tanto
consultas recursivas como
consultas iterativas. La
consulta enviada desde
ese.nyu.edu a dns.nyu.edu es
una consulta recursiva, ya que
la consulta solicita a dns.nyu.
edu que obtenga por sí mismo la
correspondencia. Pero las tres
consultas siguientes son
iterativas puesto que todas las
respuestas son devueltas
directamente a dns. nyu. edu
TTL es el tiempo de vida del registro de recurso; determina cuándo un recurso debería ser
eliminado de una caché.
• Si tipo = NS, entonces nombre es un dominio y valor es el nombre de host de un servidor DNS
autoritativo que sabe cómo obtener las direcciones IP de los hosts del dominio. Este
registro se utiliza para enrutar las consultas DNS a lo largo de la cadena de consultas.
• Si tipo = MX, entonces valor es el nombre canónico de un servidor de correo que tiene un
alias dado por nombre. Los registros MX permiten a los nombres de hosts de los servidores
de correo tener alias simples.
Si un servidor DNS es autoritativo par aun determinado nombre de hosts, entonces el servidor
DNS contendrá un registro de tipo A para el nombre de host. Si un servidor no es
autoritativo para un nombre de host, entonces el servidor contendrá un registro de tipo NS
para el dominio que incluye el nombre de hosts; también contendrá un registro de tipo A que
proporcione la dirección Ip del servidor DNNS en el campo valor del registro NS.
Mensaje DNS
• En una respuesta de un servidor DNS, la sección respuestas contiene los registros del
recursos para el nombre que fue consultado.
También tendrá que asegurarse de que el registro de recurso de tipo A para su servidor web
www.networkutopia.com se ha introducido en sus servidores DNS autoritativos.
Una vez que haya completado estos pasos, los usuarios podrán visitar su sitio web y enviar
correos electrónico a los empleados de su empresa.
Una aplicación P2P muy corriente, distribuye un archivo de gran tamaño desde un único
servidor a muchos otros hosts.
En una arquitectura P2P, el tiempo mínimo de distribución no solo siempre es menor que el
tiempo de distribución en la arquitectura cliente-servidor; también es menor que una hora
para cualquier número de N pares. Por tanto, las aplicaciones que emplean arquitectura P2P
pueden auto-escalarse. Esta escalabilidad es una consecuencia directa de que los pares
actúan a la vez como redestribuidores y consumidores de bits.
BitTorrent
Cuando un nuevo par, Alicia, se une al torrent, el tracker selecciona de forma aleatoria un
subconjunto de pares del conjunto de peers participantes y envía las direcciones IP de estos
peers a Alicia. Teniendo en su poder esta lista de pares, Alicia intenta establecer
conexiones TCP concurrentes con todos los pares incluidos en dicha lista. Denominaremos a
todos los pares con los que Alicia consigue establecer con éxito una conexión TCP "pares
vecinos". Los pares vecinos de un determinando par irán variando con el tiempo.
Si Alicia tiene L vecinos diferentes, obtendrá L listas de fragmentos. Con esta información,
Alicia solicitará los fragmentos que ella no tiene.
Alicia tendrá que decidir que fragmentos pide primero a sus vecinos y en segundo lugar, a
cuales de sus vecinos debe enviar ella los fragmentos solicitados. Para decidir que
fragmentos solicitar, Alicia utiliza una técnica conocida como primero el menos común. De
esta manera, dichos fragmentos se redistribuirán más rápidamente, consiguiendo que el número
de copias de cada fragmento sea aproximadamente igual dentro del torrent.
Para determinar a qué solicitudes debe ella responder, bitTorrent utiliza un algoritmo de
intercambio inteligente.
La medida de rendimiento más importante para los flujos de vídeo es, la tasa de trasferencia
media de extremo a extremo. PAra poder garantizar una reproducción continua, la red debe
proporcionar a la aplicación de flujos de vídeo una tasa de transferencia media que sea
igual o superior a la tasa de bist del vídeo comprimido.
También podemos usar la compresión para crear múltiples versiones del mismo vídeo, cada una
con un nivel diferente de calidad. Los usuarios pueden entonces decidir qué versión quieren
ver, en función de su ancho de banda.
Aunque los flujos HTTP, se han implementado ampliamente en la práctica, presentan una
carencia fundamental: todos los clientes reciben la misma versión codificada del vídeo, a
pesar de las grandes variaciones en cuanto al ancho de vanda disponible para cada cliente.
Esto condujo al desarrollo de un nuevo tipo de flujos de vídeo, una tecnología que suele
denominarse DASH.
En DASH, el vídeo se codifica en varias versiones diferentes, teniendo cada versión una tasa
de bits distinta y, por tanto, un nivel de calidad diferente.
DASH permite que los clientes con diferentes tasas de acceso reciban flujos de vídeo con
tasas de codificación diferentes.
Cada versión del vídeo se almacena en un servidor HTTP, teniendo un URL diferente. Mientras
está descargando segmentos, el cliente también mide el ancho de banda de recepción y ejecuta
un algoritmo de determinación de la tasa de bits, para seleccionar el segmento que debe
solicitar a continuación.
DASH permite, de este modo, que el cliente cambie libremente entre distintos niveles de
calidad.
Las redes CDN adoptan normalmente dos posibles filosofías de colocación de sus servidores:
• Atraer a los ISP. consiste en atraer a los ISP construyendo grandes clústeres en un número
más pequeño de lugares. Estas CDN suele colocar clústeres en puntos de intercambio de
internet (IXP). El diseño está basado en atraer a los ISP suele tener menos costes de
mantenimiento y gestión, posiblemente a cambio de un mayor retardo y una menor tasa de
trasferencia a los usuarios finales.
Una vez implantados los clústeres, la CDN replica el contenido entre todos ellos. La red CDN
puede no siempre almacenar una copia de cada vídeo en cada clúster, ya que algunos vídeos
solo se visualiza en raras ocasiones o solo son populares en ciertos países.
La mayoría de las CDN aprovechan DNS para interceptar y re dirigir las solicitudes.
Un ejemplo simple para ilustrar el modo en que DNS suele participar: Suponga que un
proveedor de contenido, NetCinema, utiliza a una empresa proveedora de servicios CDN,
KingCDN, para distribuir sus vídeos a sus clientes. En las páginas web de NetCinema, cada
uno de los vídeos tiene asignado un URL que incluye la cadena "video" y un identificador del
propio vídeo. Entonces sucederán seis pasos:
4. A partir de ese punto, la consulta DNS entra en la infraestructura DNS privada de KingCDN.
El LDNS del usuario envía entonces una segunda consulta, preguntando por el host obtenido
en el punto 4, y el sistema DNS de KingCD termina de devolver al LDNS las direcciones IP
de un servidor de contenido de KingCDN. Es por tanto aquí, dentro del sistema DNS de
KingCDN, donde se especifica el servidor CDN desde el cual recibirá el cliente su
contenido.
5. El LDNS reenvía al host del usuario la dirección IP del nodo CDN encargado de servir el
contenido.
Para determinar el mejor clúster para un cliente basándose en las condiciones actuales de
tráfico, las redes CDN pueden, alternativamente, realizar periódicamente medidas en tiempo
real del retardo y del comportamiento de pérdidas entre sus clústeres y los clientes.
Netflix dispone de un sitio web que se encarga de gestionar numerosas funciones, incluyendo
los registros e inicios de sesión de los usuarios, facturación, etc.
• Ingesta de contenidos: Netflix recibe versiones maestras de estudio de las películas y las
carga en hosts situados en la nube de Amazon.
• Procesamiento del contenido: las máquinas de la nube de Amazon generan muchos formatos
distintos para cada película, adecuados para una amplia variedad de clientes de
reproducción. Para cada uno de estos formatos se crea una versión diferente usando DASH.
• Carga de las versiones en su CDN, una vez generadas todas las versiones de una película,
los hosts de la nube de Amazon cargan esas versiones en la CDN de Netflix.
Youtube
Youtube emplea flujos HTTTP, ofreciendo a menudo un pequeño número de versiones distintas de
cada vídeo, cada una con diferente tasa de bits y, correspondientemente, un diferente nivel
de calidad. Youtube no utiliza flujos adaptativos, sino que exige al cliente que seleccione
una versión de forma manual.
Emplea la solicitud de rango de bytes de HTTP para limitar el flujo de datos trasmitidos,
después de precargar una cierta cantidad predeterminada de vídeo.
KanKan
KanKan tiene ahora implantados unos pocos cientos de servidores en China y carga de forma
activa contenido de vídeo en esos servidores. Esta CDN de KanKan juega un papel principal
durante la etapa inicial de transmisión de los flujos de vídeo. En la mayoría de los casos,
el cliente solicita el principio del contenido a los servidores de la CDN y en paralelo pide
contenido a los homólogos. Cuando el tráfico P2P total es suficiente para la reproducción de
vídeo, el cliente deja de descargar de la CDN y descarga sólo de los homólogos. Pero si el
tráfico de descarga de flujos de vídeo P2P pasa a ser insuficiente, el cliente restablece
las conexiones con la CDN y vuelve al modo de flujos de vídeo híbrido CDN-P2P. De esta
manera, KanKan puede garantizar retardos iniciales de arranque cortos, al mismo tiempo que
minimiza la utilización de ancho de banda y de una costosa infraestructura de servidores.
El proceso emisor asocia con el paquete una dirección de destino que está compuesta de la
dirección IP del host de destino y del número de puerto del socket de destino. Además se
asocia al paquete la dirección de origen del emisor. Sin embargo, la asociación de la
dirección de origen al paquete no suele ser realizada por el código de aplicación UDP; en
lugar de ello, lo realiza automáticamente el sistema operativo subyacente.
1. El cliente lee una línea de caracteres(datos) de su teclado y envía los datos al servidor.