miércoles, 26 de noviembre de 2014

CAPA DE ENTRADA DE DATOS

La Capa de Enlace de Datos o capa 2 del modelo OSI, actúa como intermediaria entre la capa de red y la capa física, codificando las tramas recibidas desde la capa de red para su transmisión desde la capa física, controlando el acceso al medio y los posibles errores en la transmisión.
 Proporciona facilidades para la transmisión de bloques de datos entre dos estaciones de red.

Organiza los unos y los ceros en formatos lógicos para:
    • Detectar errores en el nivel físico
    • Establecer el método de acceso que las computadoras deben seguir para transmitir y recibir mensajes.
    • Realizar la transferencia de datos a través del nivel físico.
    • Enviar bloques de datos de control para la sincronía.

 
La capa de enlace de datos prepara los datos para ser colocados en el medio encapsulando el paquete de la Capa 3 en una trama.
Una trama tiene un encabezado y una información final que incluye las direcciones del enlace de datos de origen y de destino, calidad de servicio, tipo de protocolo y valores de secuencia de verificación de tramas.

La trama de la capa de enlace de datos incluye:
  • Datos: El paquete desde la Capa de red
  • Encabezado: contiene información de control como direccionamiento y está ubicado al comienzo del PDU
  • Tráiler: contiene información de control agregada al final del PDU

Subcapas de enlace de datos:

-Control de enlace lógico

El control de enlace lógico (LLC) coloca información en la trama que identifica qué protocolo de capa de red está siendo utilizado por la trama. Esta información permite que varios protocolos de la Capa 3, tales como IP e IPX, utilicen la misma interfaz de red y los mismos medios.

-Control de acceso al medio

El control de acceso al medio (MAC) proporciona a la capa de enlace de datos el direccionamiento y la delimitación de datos de acuerdo con los requisitos de señalización física del medio y al tipo de protocolo de capa de enlace de datos en uso.


Protocolos de Capa 2:


- PPP
- Ethernet
- HDLC
- Frame Relay
- ATM


Es importante conocer estos términos:


- Trama: el PDU de la capa de enlace de datos.
- Nodo: la notación de la Capa 2 para dispositivos de red conectados a un medio común.
- Medios/medio (físico): los medios físicos para la transferencia de información entre dos nodos.
Red (física)**: dos o más nodos conectados a un medio común.
 
linkgrafía
(INFORMACIÓN) http://eltallerdelbit.com/capa-2-osi/
(GRÁFICOS)http://solucionesinfomatica.wordpress.com/2012/09/21/capa-enlace-de-datos-control-de-acceso-al-medio/


jueves, 6 de noviembre de 2014

CAPA RED

El nivel de red o capa de red, según la normalización OSI, es un nivel o capa que proporciona conectividad y selección de ruta entre dos sistemas de hosts que pueden estar ubicados en redes geográficamente distintas. Es el tercer nivel del modelo OSI y su misión es conseguir que los datos lleguen desde el origen al destino aunque no tengan conexión directa. Ofrece servicios al nivel superior (nivel de transporte) y se apoya en el nivel de enlace, es decir, utiliza sus funciones. Para la consecución de su tarea, puede asignar direcciones de red únicas, interconectar subredes distintas, encaminar paquetes, utilizar un control de congestión y control de errores.

Orientación de conexión

Hay dos formas en las que el nivel de red puede funcionar internamente, pero independientemente de que la red funcione internamente con datagramas o con circuitos virtuales puede dar hacia el nivel de transporte un servicio orientado a conexión:
  • Datagramas: Cada paquete se encamina independientemente, sin que el origen y el destino tengan que pasar por un establecimiento de comunicación previo.
  • Circuitos virtuales: En una red de circuitos virtuales dos equipos que quieran comunicarse tienen que empezar por establecer una conexión. Durante este establecimiento de conexión, todos los routers que haya por el camino elegido reservarán recursos para ese circuito virtual específico

Tipos de servicios

Hay dos tipos de servicio:
  • Servicios orientados a la conexión: Sólo el primer paquete de cada mensaje tiene que llevar la dirección destino. Con este paquete se establece la ruta que deberán seguir todos los paquetes pertenecientes a esta conexión. Cuando llega un paquete que no es el primero se identifica a que conexión pertenece y se envía por el enlace de salida adecuado, según la información que se generó con el primer paquete y que permanece almacenada en cada conmutador o nodo.
  • Servicios No orientados a la conexión: Cada paquete debe llevar la dirección destino, y con cada uno, los nodos de la red deciden el camino que se debe seguir. Existen muchas técnicas para realizar esta decisión, como por ejemplo comparar el retardo que sufriría en ese momento el paquete que se pretende transmitir según el enlace que se escoja. 

Encaminamiento

Las técnicas de encaminamiento suelen basarse en el estado de la red, que es dinámico, por lo que las decisiones tomadas respecto a los paquetes de la misma conexión pueden variar según el instante de manera que éstos pueden seguir distintas rutas. El problema, sin embargo, consiste en encontrar un camino óptimo entre un origen y un destino. La selección óptima de este camino puede tener diferentes criterios: velocidad, retardo, seguridad, regularidad, distancia, longitud media de las colas, costos de comunicación, etc. Los equipos encargados de esta labor se denominan encaminadores (router), aunque también realizan labores de encaminamiento los conmutadores (switch) "multicapa" o "de nivel 3", si bien estos últimos realizan también labores de nivel de enlace. 


Algunos protocolos de la capa de red

Algunos protocolos de la capa de red son:
  • IP (IPv4, IPv6, IPsec)
  • OSPF
  • IS-IS
  • ARP, RARP
  • RIP
  • ICMP, ICMPv6
  • IGMP
  • DHCP



CAPA DE TRANSPORTE






Las redes de datos e Internet brindan soporte a la red humana al proporcionar la comunicación continua y confiable entre las personas, tanto de manera local como alrededor del mundo. En un único dispositivo, las personas pueden utilizar varios servicios como correo electrónico, la Web y la mensajería instantánea para enviar mensajes o recuperar información. Las aplicaciones como clientes de correo electrónico, exploradores web y clientes de mensajería instantánea permiten a la gente utilizar las computadoras y las redes para enviar mensajes y encontrar información.

Los datos de cada una de estas aplicaciones se empaqueta, se transporta y se entrega al demonio del servidor adecuado o a la aplicación en el dispositivo de destino. Los procesos descritos en la capa de Transporte del modelo OSI aceptan los datos de la capa de Aplicación y los preparan para el direccionamiento en la capa de red. La capa de Transporte es responsable de la transferencia de extremo a extremo general de los datos de aplicación.

FUNCIONES DE LA CAPA DE TRANSPORTE

4.1.1 Propósito de la capa de transporte


La capa de transporte permite la segmentación de datos y brinda el control necesario para reensamblar las partes dentro de los distintos streams de comunicación. Las responsabilidades principales que debe cumplir son:
Rastreo de comunicación individual entre aplicaciones en los hosts de origen y destino
Segmentación de datos y manejo de cada parte
Reensamble de segmentos en streams de datos de aplicación
Identificación de diferentes aplicaciones

Rastreo de conversaciones individuales

Cualquier host puede tener múltiples aplicaciones que se comunican a través de la red. Cada una de estas aplicaciones se comunicará con una o más aplicaciones en hosts remotos. Es responsabilidad de la capa de transporte mantener los streams de comunicación múltiple entre estas aplicaciones.

Segmentación de datos

Así como cada aplicación crea datos de stream para enviarse a una aplicación remota, estos datos se pueden preparar para enviarse a través de los medios en partes manejables. Los protocolos de la capa de transporte describen los servicios que segmentan estos datos de la capa de aplicación. Esto incluye la encapsulación necesaria en cada sección de datos. Cada sección de datos de aplicación requiere que se agreguen encabezados en la capa de transporte para indicar la comunicación a la cual está asociada.

Reensamble de segmentos

En el host de recepción, cada sección de datos se puede direccionar a la aplicación adecuada. Además, estas secciones de datos individuales también deben reconstruirse para generar un stream completo de datos que sea útil para la capa de aplicación. Los protocolos en la capa de transporte describen cómo se utiliza la información del encabezado de la capa para reensamblar las partes de los datos en streams para pasarlos a la capa de aplicación.

Identificación de aplicaciones

Para pasar streams de datos a las aplicaciones adecuadas, la capa de transporte debe identificar la aplicación meta. Para lograr esto, la capa de transporte asigna un identificador a la aplicación. Los protocolos TCP/IP denominan a este identificador número de puerto. A todos los procesos de software que requieran acceder a la red se les asigna un número de puerto exclusivo en ese host. Este número de puerto se utiliza en el encabezado de la capa de transporte para indicar qué aplicación se asocia a qué parte.

La capa de transporte es el enlace entre la capa de aplicación y la capa inferior que es responsable de la transmisión de la red. Esta capa acepta los datos de diferentes conversaciones y las pasa a las capas inferiores como partes manejables que se pueden multiplexar de forma eventual en la red.

Las aplicaciones no necesitan saber los detalles operativos de la red en uso. Las aplicaciones generan datos que se envían desde una aplicación a otra sin tener en cuenta el tipo de host destino, el tipo de medios sobre los que los datos deben viajar, el paso tomado por los datos, la congestión en un enlace o el tamaño de la red.

Además, las capas inferiores no tienen conocimiento de que existen varias aplicaciones que envían datos en la red. Su responsabilidad es entregar los datos al dispositivo adecuado. La capa de transporte clasifica entonces estas piezas antes de enviarlas a la aplicación adecuada.

Los requisitos de datos varían

Hay múltiples protocolos de la capa de transporte debido a que las aplicaciones tienen diferentes requisitos. Para algunas aplicaciones, los segmentos deben llegar en una secuencia específica de manera que puedan ser procesados en forma exitosa. En algunos casos, todos los datos deben recibirse para ser utilizados por cualquiera de las mismas. En otros casos, una aplicación puede tolerar cierta pérdida de datos durante la transmisión a través de la red.

En las redes convergentes actuales, las aplicaciones con distintas necesidades de transporte pueden comunicarse en la misma red. Los diferentes protocolos de la capa de transporte poseen distintas reglas para permitir a los dispositivos manejar estos diversos requerimientos de datos.

Algunos protocolos proporcionan sólo las funciones básicas para enviar de forma eficiente partes de datos entre las aplicaicones adecuadas. Estos tipos de protocolos son útiles para aplicaciones cuyos datos son sensibles a retrasos.

Otros protocolos de la capa de transporte describen los procesos que proporcionan características adicionales, como asegurar un envío confiable entre las aplicaciones. Si bien estas funciones adicionales proveen una comunicación más sólida entre aplicaciones de la capa de transporte, representan la necesidad de utilizar recursos adicionales y generan un mayor número de demandas en la red.


Separación de comunicaciones múltiples

Considere una computadora conectada a una red que recibe y envía correos electrónicos y mensajes instantáneos, explora sitios Web y realiza una llamada telefónica de VoIP de manera simultánea. Cada una de estas aplicaciones envía y recibe datos en la red al mismo tiempo. Sin embargo, los datos de la llamada telefónica no están dirigidos al explorador Web, y el texto de un mensaje instantáneo no aparece en el correo electrónico.

Además, los usuarios necesitan que el correo electrónico o página Web se reciba por completo y se presente para la información que se considere útil. Los retrasos ligeros se consideran aceptables para asegurar que la información se reciba y se presente por compelto.

En cambio, la pérdida ocasional de partes pequeñas de una conversación telefónica se puede considerar aceptable. Se puede inferir la parte de audio perdida del contexto de la conversación o se puede solicitar a la otra persona que repita lo que dijo. Es preferible esto último a las demoras que se producirían si se solicita a la red que gestione y vuelva a enviar los segmentos perdidos. En este ejemplo, el usuario, no la red, gestiona el reenvío o reemplazo de información que falta.



Como se explicó en un capítulo anterior, el envío de algunos tipos de datos, un video por ejemplo, a través de la red como un stream de comunicación completa puede impedir que se produzcan otras comunicaciones al mismo tiempo. También dificulta la recuperación de errores y la retransmisión de datos dañados.

Dividir datos en pequeñas partes y enviarlas del origen al destino permite que muchas comunicaciones diferentes se intercalen (multiplexadas) en la misma red.

La segmentación de los datos, que cumple con los protocolos de la capa de transporte, proporciona los medios para enviar y recibir datos cuando se ejecutan varias aplicaciones de manera concurrente en una computadora. Sin segmentación, sólo una aplicación, la corriente de video por ejemplo, podría recibir datos. Puede no recibir correos electrónicos, chatear en mensajería instantánea o ver páginas Web mientras ve un video.

En la capa de transporte, cada conjunto de piezas particular que fluye entre la aplicación de origen y la de destino se conoce como conversación.

Para identificar cada segmento de datos, la capa de transporte añade a la pieza un encabezado que contiene datos binarios. Este encabezado contiene campos de bits. Son los valores de estos campos los que permiten que los distintos protocolos de la capa de transporte lleven a cabo las diversas funciones.


Control de las conversaciones

Las funciones principales que especifican los protocolos de la capa de transporte incluyen:

Segmentación y reensamble: la mayoría de las redes tienen una limitación en la cantidad de datos que se pueden incluir en una simple PDU. La capa de transporte divide los datos de aplicación en bloques de datos de un tamaño adecuado. En el destino, la capa de transporte reensambla los datos antes de enviarlos a la aplicación o servicio de destino.

Multiplexación de conversación: puede haber aplicaciones o servicios que se ejecutan en cada host de la red. A cada una de estas aplicaciones o servicios se les asigna una dirección conocida como puerto, de manera que la capa de transporte determina con qué aplicación o servicio se identifican los datos.

Además de utilizar la información contenida en los encabezados, para las funciones básicas de segmentación y reensamble de datos algunos protocolos en la capa de transporte proporcionan:
  • Conversaciones orientadas a la conexión
  • Entrega confiable
  • Reconstrucción de datos ordenada
  • Control del flujo

Establecimiento de una sesión

La capa de transporte puede brindar esta orientación a la conexión creando una sesión entre las aplicaciones. Estas conexiones preparan las aplicaciones para que se comuniquen entre sí antes de que se transmitan los datos. Dentro de estas sesiones, se pueden gestionar de cerca los datos para la comunicación entre dos aplicaciones.

Entrega confiable

Por varias razones, es posible que una sección de datos se corrompa o se pierda por completo a medida que se transmite a través de la red. La capa de transporte puede asegurar que todas las partes alcancen su destino haciendo que el dispositivo origen retransmita todos los datos perdidos.

Entrega en el mismo orden

Los datos pueden llegar en el orden equivocado, debido a que las redes pueden proporcionar múltiples rutas que pueden tener diferentes tiempos de transmisión. Al numerar y secuenciar los segmentos, la capa de transporte puede asegurar que los mismos se reensamblen en el orden adecuado.

Control del flujo

Los hosts de la red cuentan con recursos limitados, como memoria o ancho de banda. Cuando la capa de transporte advierte que estos recursos están sobrecargados, algunos protocolos pueden solicitar que la aplicación que envía reduzca la velocidad del flujo de datos. Esto se lleva a cabo en la capa de transporte regulando la cantidad de datos que el origen transmite como grupo. El control de flujo puede evitar la pérdida de segmentos en la red y evitar la necesitad de la retransmisión.

Así como se discuten los protocolos en este capítulo, estos servicios se explicarán a mayor detalle.

Soporte de comunicación confiable


Cabe recordar que la función principal de la capa de transporte es administrar los datos de aplicación para las conversaciones entre hosts. Sin embargo, cada aplicación tiene determinados requisitos para sus datos y, por lo tanto, se han desarrollado diferentes protocolos de transporte para que cumplan con estos requisitos.

Un protocolo de la capa de transporte puede implementar un método para asegurar el envío confiable de datos. En términos de redes, confiabilidad significa asegurar que cada sección de datos que envía el origen llegue al destino. En la capa de transporte, las tres operaciones básicas de confiabilidad son:
rastreo de datos transmitidos
acuse de recibo de datos recibidos
retransmisión de cualquier dato sin acuse de recibo

Esto requiere que los procesos de la capa de transporte en el origen dé seguimiento a todas las partes de datos de cada conversación y retransmitan cualquier dato del cual el destino no acuso recibo. La capa de transporte del host de recepción también debe rastrear los datos a medida que se reciben y reconocer la recepción de los mismos.

Estos procesos de confiabilidad generan un uso adicional de los recursos de la red debido al reconocimiento, rastreo y retransmisión. Para admitir estas operaciones de confiabilidad se intercambian más datos de control entre los hosts emisores y receptores. Esta información de control se encuentra en el encabezado de la Capa 4.

Esto crea una compensación entre el valor de la confiabilidad y la carga que hay en la red. Los desarrolladores de aplicaciones deben elegir qué tipo de protocolo de transporte es adecuado en base a los requerimientos de sus aplicaciones. En la capa de transporte, existen protocolos que especifican métodos para la entrega confiable, garantizada o de máximo esfuerzo. En el contexto de networking, el envío del mejor esfuerzo se conoce como poco confiable, porque no hay acuse de recibo de que los datos se recibieron en el destino.

Determinación de la necesidad de confiabilidad

Las aplicaciones, tales como bases de datos, páginas Web y correo electrónico, necesitan que todos los datos enviados lleguen al destino en su condición original para que los datos sean útiles. Todos los datos perdidos pueden corromper una comunicación y dejarla incompleta o ilegible. Por lo tanto, estas aplicaciones se diseñan para utilizar un protocolo de capa de transporte que implemente la confiabilidad. Los gastos de red adicionales se consideran necesarios para estas aplicaciones.

Otras aplicaciones son más tolerantes a la pérdida de cantidades pequeñas de datos. Por ejemplo, si uno o dos segmentos de un stream de vídeo no llegan al destino, sólo generará una interrupción momentánea en el stream. Esto puede representar distorsión en la imagen pero quizás ni sea advertido por el usuario.

Imponer el uso de recursos adicionales para asegurar la confiabilidad para esta aplicación puede reducir la utilidad de la misma. La imagen en un streaming video se degradaría en gran medida si el dispositivo de destino tuvo que dar cuenta de los datos perdidos y demorar el stream mientras espera que lleguen. Es conveniente proporcionar la mejor imagen posible al momento en que llegan los segmentos y renunciar a la confiabilidad. Si por algún motivo se requiere confiabilidad, estas aplicaciones pueden proveer verificación de errores y solicitudes de retransmisión.

TCP y UDP

Los dos protocolos más comunes de la capa de transporte del conjunto de protocolos TCP/IP son el Protocolo de control de transmisión (TCP) y el Protocolo de datagramas de usuario (UDP). Ambos protocolos gestionan la comunicación de múltiples aplicaciones. Las diferencias entre ellos son las funciones específicas que cada uno implementa.

Protocolo de datagramas de usuario (UDP)

UDP es un protocolo simple, sin conexión, descrito en la RFC 768. Cuenta con la ventaja de proveer la entrega de datos sin utilizar muchos recursos. Las porciones de comunicación en UDP se llaman datagramas. Este protocolo de la capa de transporte envía estos datagramas como "mejor intento".

Las aplicaciones que utilizan UDP incluyen:
Sistema de nombres de dominio (DNS)
Streaming video
Voz sobre IP (VOIP)

Protocolo de control de transmisión (TCP)

TCP es un protocolo orientado a la conexión descrito en RFC 793. El TCP utiliza recursos adicionales para ganar funciones. Las funciones adicionales especificadas por TCP están en el mismo orden de entrega, son de entrega confiable y de control de flujo. Cada segmento de TCP posee 20 bytes de carga en el encabezado que encapsulan los datos de la capa de aplicación, mientras que cada segmento UDP sólo posee 8 bytes de carga. Vea la figura para hacer una comparación.

Las aplicaciones que utiliza el TCP son:
  • Exploradores Web
  • Correo electrónico
  • Transferencias de archivos

4.1.4_TCP_y_UDP.jpg

Direccionamiento del puerto

Identificación de conversaciones

Considere el ejemplo anterior de una computadora que recibe y envía correos electrónicos, mensajes instantáneos, páginas Web y llamadas telefónicas VoIP de manera simultánea.

Los servicios basados en TCP y UDP mantienen un seguimiento de las diversas aplicaciones que se comunican. Para diferenciar los segmentos y datagramas para cada aplicación, tanto TCP como UDP cuentan con campos de encabezado que pueden identificar de manera exclusiva estas aplicaciones. Estos identificadores únicos son números de puertos.

En el encabezado de cada segmento o datagrama, hay un puerto origen y uno de destino. El número de puerto de origen es el número para esta comunicación asociado con la aplicación que origina la comunicación en el host local. El número de puerto de destino es el número para esta comunicación asociado con la aplicación de destino que origina la comunicación en el host local.

Los números de puerto se asignan de distintas maneras, en virtud de si el mensaje es una solicitud o una respuesta. Mientras que los procesos del servidor tienen números de puerto estáticos asignados, los clientes eligen de forma dinámica un número de puerto para cada conversación.

Cuando una aplicación de cliente envía una solicitud a una aplicación de servidor, el puerto de destino contenido en el encabezado es el número de puerto asignado al demonio de servicio se ejecuta en el host remoto. El software del cliente debe conocer el número de puerto asociado con el proceso del servidor en el host remoto. Este número de puerto de destino se puede configurar, ya sea de forma predeterminada o manual. Por ejemplo, cuando una aplicación de explorador Web realiza una solicitud a un servidor Web, el explorador utiliza TCP y el número de puerto 80 a menos que se especifique otro valor. Esto sucede porque el puerto TCP 80 es el puerto predeterminado asignado a aplicaciones de servidores Web. Muchas aplicaciones comunes tienen asignados puertos predeterminados.

El puerto de origen en el encabezado de un segmento o de un datagrama de la solicitud de un cliente se crea de forma aleatoria desde los números de puerto mayores de 1023. Mientras no haya un conflicto con otros puertos en uso en el sistema, el cliente puede elegir cualquier número de puerto del rango de números predeterminados que utiliza el sistema operativo. El número de puerto actúa como dirección de retorno para la aplicación que realiza la solicitud. La capa de transporte mantiene un seguimiento de este puerto y de la aplicación que generó la solicitud, de manera que cuando se devuelva una respuesta, se pueda ser enviar a la aplicación correcta. El número de puerto de la aplicación que realiza la solicitud se utiliza como número de puerto de destino en la respuesta que vuelve del servidor.

La combinación del número de puerto de la capa de transporte y de la dirección IP de la capa de red asignada al host identifica de manera exclusiva un proceso en particular que se ejecuta en un dispositivo host específico. Esta combinación se denomina socket. Eventualmente, los términos número de puerto y socket se utilizan en forma indistinta. En el contexto de este curso, el término socket hace referencia sólo a la combinación exclusiva de dirección IP y número de puerto. Un par de sockets, que consiste en las direcciones IP de origen y destino y los números de puertos, también es exclusivo e identifica la conversación entre los dos hosts.

Por ejemplo, una solicitid de página Web HTTP que se envía a un servidor Web (puerto 80) que se ejecuta en un host con una dirección IPv4 de Capa 3 de 192.168.1.20 se destinaría al socket 192.168.1.20:80.

Si el explorador Web que solicita una página Web se ejecuta en el host 192.168.100.48 y el número de puerto dinámico que se asignó al explorador es 49152, el socket para la página Web sería 192.168.100.48:49152.

4.1.5_Direccionamiento_de_puertos.jpg


La Autoridad de números asignados de Internet (IANA) asigna números de puerto. IANA es un organismo normativo responsable de asegurar diferentes estándares de direccionamiento.

Hay diversos tipos de números de puerto:

Puertos bien conocidos (números del 0 al 1023): estos números se reservan para servicios y aplicaciones. Por lo general, se utilizan para aplicaciones como HTTP (servidor Web), POP3/SMTP (servidor de correo electrónico) y Telnet. Al definir estos puertos bien conocidos para las aplicaciones de los servidores, las aplicaciones cliente se pueden programar para solicitar una conexión a dicho puerto y su servicio asociado.

Puertos registrados (números del 1024 al 49151): estos números de puerto se asignan a procesos o aplicaciones del usuario. Estos procesos son principalmente aplicaciones individuales que el usuario elige instalar en lugar de aplicaciones comunes que recibiría un puerto bien conocido. Cuando no se utilizan para un recurso del servidor, estos puertos se pueden utilizar también seleccionados de forma dinámica por un cliente como su puerto de origen.

Puertos dinámicos o privados (números 49152 a 65535): también conocidos como puertos efímeros, están usualmente asignados de forma dinámica a las aplicaciones cliente cuando se inicia una conexión. No es muy común que un cliente se conecte a un servicio utilizando un puerto dinámico o privado (aunque algunos programas que comparten archivos punto a punto lo hacen).

Uso de TCP y UDP

Algunas aplicaciones pueden utilizar ambos. Por ejemplo, el bajo gasto de UDP permite que DNS atienda rápidamente varias solicitudes de clientes. Sin embargo, a veces el envío de la información solicitada puede requerir la confiabilidad de TCP. En este caso, el número de puerto bien conocido de 53 lo utilizan ambos protocolos con este servicio.

Enlaces

Una lista actual de números de puerto se puede encontrar en http://www.iana.org/assignments/port-numbers.
4.1.5_Rango_de_puertos.jpg


A veces es necesario conocer las conexiones TCP activas que están abiertas y en ejecución en el host de red. Netstat es una utilidad de red importante que puede usarse para verificar esas conexiones. Netstat indica el protocolo en uso, la dirección y el número de puerto locales, la dirección y el número de puerto ajenos y el estado de la conexión.

Las conexiones TCP no descritas pueden representar una importante amenaza a la seguridad. Esto se debe a que pueden indicar que algo o alguien está conectado al host local. Además, las conexiones TCP innecesarias pueden consumir recursos valiosos del sistema y por lo tanto disminuir el rendimiento del host. Netstat debe utilizarse para determinar las conexiones abiertas de un host cuando el rendimiento parece estar comprometido.

Existen muchas opciones útiles para el comando netstat.

4.1.5_Resultado_de_Netstat.jpg


Segmentación y Reensamblaje: Divide y vencerás

Un capítulo anterior explicaba cómo se construyen las PDU enviando datos de una aplicación a través de los varios protocolos para crear una PDU que luego se transmita en el medio. En el host de destino, este proceso se revierte hasta que los datos se puedan transferir a la aplicación.

Algunas aplicaciones transmiten grandes cantidades de datos, en algunos casos muchos gigabytes. Resultaría poco práctico enviar todos estos datos en una sola gran sección. No puede transmitirse ningún otro tráfico de red mientras se envían estos datos. Una gran sección de datos puede tardar minutos y hasta horas en enviarse. Además, si hubiera algún error, el archivo de datos completo se perdería o tendría que ser reenviado. Los dispositivos de red no cuentan con buffers de memoria lo suficientemente grandes como para almacenar esa cantidad de datos durante la transmisión o recepción. El límite varía dependiendo de la tecnología de networking y de medio físico específico a utilizar.

Dividir los datos de la aplicación en partes asegura que éstos se transmitan dentro de los límites de los medios y que se puedan multiplexar en el medio.

Segmentación diferente para el manejo de TCP y UDP.

En TCP, cada encabezado de segmento contiene un número de secuencia. Este número de secuencia permite que las funciones de la capa de transporte del host de destino reensamblen los segmentos en el mismo orden en el cual se transmitieron. Esto asegura que la aplicación de destino tiene los datos en la misma forma que el emisor la planeó.

Aunque los servicios de UDP rastrean también las conversaciones entre las aplicaciones, no están preocupados por el orden en que se transmite la información o por mantener una conexión. No existe número de secuencia en el encabezado UDP. UDP es un diseño simple y genera menos carga que TCP, lo que produce una transferencia de datos más rápida.

La información puede llegar en un orden distinto al que fue transmitida, ya que los paquetes pueden tomar diversas rutas a través de la red. Una aplicación que utiliza UDP debe tolerar el hecho de que los datos no lleguen en el orden en que se enviaron.
4.1.6_Segmentación_y_reensamblaje.jpg

TCP: Cómo generar conversaciones confiables

La diferencia clave entre TCP y UDP es la confiabilidad. La confiabilidad de la comunicación TCP se lleva a cabo utilizando sesiones orientadas a la conexión. Antes de que un host que utiliza TCP envíe datos a otro host, la capa de transporte inicia un proceso para crear una conexión con el destino. Esta conexión permite el rastreo de una sesión, o stream de comunicación entre los hosts. Este proceso asegura que cada host tenga conocimiento de la comunicación y se prepare. Una conversación completa de TCP necesita establecer una sesión entre los hosts de ambas direcciones.

Después de establecer una sesión, el destino envía un acuse de recibo al origen por los segmentos que recibe. Estos acuses de recibo forman la base de la confiabilidad dentro de la sesión TCP. Cuando el origen recibe un acuse de recibo, reconoce que los datos se han entregado con éxito y puede dejar de rastrearlos. Si el origen no recibe el acuse de recibo dentro de un tiempo predeterminado, retransmite esos datos al destino.

Parte de la carga adicional que genera el uso de TCP es el tráfico de red generado por los acuses de recibo y las retransmisiones. El establecimiento de las sesiones genera cargas en forma de segmentos adicionales intercambiados. Hay también sobrecarga en los hosts indivuduales creada por la necesidad de mantener un registro de los segmentos que esperan un acuse de recibo y por el proceso de retransmisión.

Esta confiabilidad se logra al tener archivos en el segmento TCP, cada uno con su función específica, como se muestra en la figura. Estos campos se explicarán más adelante en esta sección.

CAPA DE SESIÓN

A diferencia de lo que ocurre con los protocolos de aplicación del conjunto TCP/IP, que interactúan directamente con los protocolos de la capa de transporte (UDP y TCP), en el modelo de referencia OSI lo hacen a través de las entidades de protocolo asociadas a dos capas intermedias, de sesión y de presentación.
Como se aprecia en la figura de la derecha, el nivel de aplicación consta de dos conjuntos de protocolos, cada uno de los cuales es un elemento de servicio de aplicación (ASE: Application Service Element). El ASE es la especificación de servicio y protocolo combinada de un protocolo. Un conjunto realiza funciones de aplicación específicas en tanto que el otro efectúa funciones de soporte más generales conocidas también como elementos de servicio de aplicación comunes (CASE: Common Application Service Element). En el conjunto TCP/IP, las funcionalidades de los CASE y de las capas de presentación y de sesión están incorporadas en cada protocolo de aplicación, según sea apropiado.
El propósito principal de la capa de sesión en la pila OSI es minimizar los efectos de los fallos en la red durante una transacción de aplicación. En muchas aplicaciones, una transacción puede ocupar un tiempo considerable y requerir la transferencia de una gran cantidad de datos. Un ejemplo sería una base de datos que contuviera un conjunto de cuentas de clientes o expedientes de empleados y que se transfiriera de un proceso de aplicación servidor a un proceso cliente. Si ocurre un fallo de la red al final de una transferencia como esta, quizá sea necesario repetir la transferencia completa, o varias transferencias de este tipo. La capa de sesión ofrece servicios para reducir el efecto de este tipo de fallos.


La capa de sesión permite a una entidad de protocolo de aplicación, a través de los servicios que ofrece la capa de presentación, efectuar lo siguiente:
  • Establecer un camino de comunicación lógico (conexión de sesión) con otra entidad de aplicación, utilizarlo para intercambiar datos (unidades de diálogo) y liberar la conexión de una forma ordenada.
  • Establecer puntos de sincronización durante un diálogo y, en caso de ocurrir errores, reanudar el diálogo a partir de un punto de sincronización convenido
  • Interrumpir (suspender) un diálogo y reanudarlo después en un punto convenido de antemano.
  • Mantener informada de ciertas excepciones que pueden surgir de la red subyacente durante una sesión.

CAPA DE PRESENTACIÓN

La capa 6 determina la forma de presentación de los datos. También proporciona servicios para el nivel de Aplicaciones.


Funciones de la Capa de Presentación:

- Codificación y conversión de datos de la capa de aplicación para garantizar que los datos del dispositivo de origen puedan    ser interpretados por la aplicación adecuada en el dispositivo de destino.

- Compresión de los datos de forma que puedan ser descomprimidos por el dispositivo de destino.

- Encriptaciónde los datos para transmisión y descifre de los datos cuando se reciben en el destino.

Los estándares de la Capa 6 OSI también determinan la presentación de las imágenes gráficas. 

Algunos Estándares de Imágen:

-  PICT: Un formato de imagen utilizado para transferir gráficos QuickDraw
entre programas del sistema operativo MAC.
-  TIFF (Formato de archivo de imagen etiquetado)
-  JPEG(Grupo conjunto de expertos fotográficos)

Otros estándares de la Capa 6 regulan la presentación de sonido y películas.

Algunos Estándares de sonido y peliculas:

-  MIDI: (Interfaz digital para instrumentos musicales) para música digitalizada
-  MPEG (Grupo de expertos en películas): Estándar para la compresión y
codificación de vídeo con movimiento .
-  QuickTime: Estándar para el manejo de audio y vídeo para los programas
del sistema operativo MAC

Dirección IP

Dirección IP

Una dirección IP es una etiqueta numérica que identifica, de manera lógica y jerárquica, a una interfaz (elemento de comunicación/conexión) de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red del Modelo OSI. Dicho número no se ha de confundir con la dirección MAC, que es un identificador de 48 bits para identificar de forma única la tarjeta de red y no depende del protocolo de conexión utilizado ni de la red. La dirección IP puede cambiar muy a menudo por cambios en la red o porque el dispositivo encargado dentro de la red de asignar las direcciones IP decida asignar otra IP (por ejemplo, con el protocolo DHCP). A esta forma de asignación de dirección IP se denomina también dirección IP dinámica (normalmente abreviado como IP dinámica).
Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados generalmente tienen una dirección IP fija (comúnmente, IP fija o IP estática). Esta no cambia con el tiempo. Los servidores de correo, DNS, FTP públicos y servidores de páginas web necesariamente deben contar con una dirección IP fija o estática, ya que de esta forma se permite su localización en la red.
Las computadoras se conectan entre sí mediante sus respectivas direcciones IP. Sin embargo, a los seres humanos nos es más cómodo utilizar otra notación más fácil de recordar, como los nombres de dominio; la traducción entre unos y otros se resuelve mediante los servidores de nombres de dominio DNS, que a su vez facilita el trabajo en caso de cambio de dirección IP, ya que basta con actualizar la información en el servidor DNS y el resto de las personas no se enterarán, ya que seguirán accediendo por el nombre de dominio.

Direcciones IPv4

Las direcciones IPv4 se expresan por un número binario de 32 bits, permitiendo un espacio de direcciones de hasta 4.294.967.296 (232) direcciones posibles. Las direcciones IP se pueden expresar como números de notación decimal: se dividen los 32 bits de la dirección en cuatro octetos. El valor decimal de cada octeto está comprendido en el intervalo de 0 a 255 [el número binario de 8 bits más alto es 11111111 y esos bits, de derecha a izquierda, tienen valores decimales de 1, 2, 4, 8, 16, 32, 64 y 128, lo que suma 255].
En la expresión de direcciones IPv4 en decimal se separa cada octeto por un carácter único ".". Cada uno de estos octetos puede estar comprendido entre 0 y 255.
  • Ejemplo de representación de dirección IPv4: 10.128.1.253
En las primeras etapas del desarrollo del Protocolo de Internet, los administradores de Internet interpretaban las direcciones IP en dos partes, los primeros 8 bits para designar la dirección de red y el resto para individualizar la computadora dentro de la red.
Este método pronto probó ser inadecuado, cuando se comenzaron a agregar nuevas redes a las ya asignadas. En 1981 el direccionamiento internet fue revisado y se introdujo la arquitectura de clases. (classful network architecture).
En esta arquitectura hay tres clases de direcciones IP que una organización puede recibir de parte de la Internet Corporation for Assigned Names and Numbers (ICANN): clase A, clase B y clase C.
  • En una red de clase A, se asigna el primer octeto para identificar la red, reservando los tres últimos octetos (24 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts es 224 - 2 (se excluyen la dirección reservada para broadcast (últimos octetos en 255) y de red (últimos octetos en 0)), es decir, 16 777 214 hosts.
  • En una red de clase B, se asignan los dos primeros octetos para identificar la red, reservando los dos octetos finales (16 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts por cada red es 216 - 2, o 65 534 hosts.
  • En una red de clase C, se asignan los tres primeros octetos para identificar la red, reservando el octeto final (8 bits) para que sea asignado a los hosts, de modo que la cantidad máxima de hosts por cada red es 28 - 2, o 254 hosts.
Clase Intervalo N.º de redes N.º de equipos por red Máscara de red Id. broadcast
A 0.0.0.0 - 127.255.255.255 128 16 777 214 255.0.0.0 x.255.255.255
B 128.0.0.0 - 191.255.255.255 16 384 65 534 255.255.0.0 x.x.255.255
C 192.0.0.0 - 223.255.255.255 2 097 152 254 255.255.255.0 x.x.x.255
D 224.0.0.0 - 239.255.255.255 histórico      
E 240.0.0.0 - 255.255.255.255 histórico      
  • La dirección 0.0.0.0 es reservada por la IANA para identificación local.
  • La dirección que tiene los bits de host iguales a cero sirve para definir la red en la que se ubica. Se denomina dirección de red.
  • La dirección que tiene los bits correspondientes a host iguales a 255, sirve para enviar paquetes a todos los hosts de la red en la que se ubica. Se denomina dirección de broadcast.
  • Las direcciones 127.x.x.x se reservan para designar la propia máquina. Se denomina dirección de bucle local o loopback.
El diseño de redes de clases (classful) sirvió durante la expansión de internet, sin embargo este diseño no era escalable y frente a una gran expansión de las redes en la década de los noventa, el sistema de espacio de direcciones de clases fue reemplazado por una arquitectura de redes sin clases Classless Inter-Domain Routing (CIDR) en el año 1993. CIDR está basada en redes de longitud de máscara de subred variable (variable-length subnet masking VLSM) que permite asignar redes de longitud de prefijo arbitrario. Permitiendo una distribución de direcciones más fina y granulada, calculando las direcciones necesarias y "desperdiciando" las mínimas posibles.

Direcciones privadas

Existen ciertas direcciones en cada clase de dirección IP que no están asignadas y que se denominan direcciones privadas. Las direcciones privadas pueden ser utilizadas por los hosts que usan traducción de dirección de red (NAT) para conectarse a una red pública o por los hosts que no se conectan a Internet. En una misma red no pueden existir dos direcciones iguales, pero sí se pueden repetir en dos redes privadas que no tengan conexión entre sí o que se conecten mediante el protocolo NAT. Las direcciones privadas son:
  • Clase A: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts).
  • Clase B: 172.16.0.0 a 172.31.255.255 (16 bits red, 16 bits hosts). 16 redes clase B contiguas, uso en universidades y grandes compañías.
  • Clase C: 192.168.0.0 a 192.168.255.255 (24 bits red, 8 bits hosts). 256 redes clase C continuas, uso de compañías medias y pequeñas además de pequeños proveedores de internet (ISP).
Muchas aplicaciones requieren conectividad dentro de una sola red, y no necesitan conectividad externa. En las redes de gran tamaño a menudo se usa TCP/IP. Por ejemplo, los bancos pueden utilizar TCP/IP para conectar los cajeros automáticos que no se conectan a la red pública, de manera que las direcciones privadas son ideales para estas circunstancias. Las direcciones privadas también se pueden utilizar en una red en la que no hay suficientes direcciones públicas disponibles.
Las direcciones privadas se pueden utilizar junto con un servidor de traducción de direcciones de red (NAT) para suministrar conectividad a todos los hosts de una red que tiene relativamente pocas direcciones públicas disponibles. Según lo acordado, cualquier tráfico que posea una dirección destino dentro de uno de los intervalos de direcciones privadas no se enrutará a través de Internet.


Máscara de subred

La máscara permite distinguir los bits que identifican la red y los que identifican el host de una dirección IP. Dada la dirección de clase A 10.2.1.2 sabemos que pertenece a la red 10.0.0.0 y el host al que se refiere es el 2.1.2 dentro de la misma. La máscara se forma poniendo a 1 los bits que identifican la red y a 0 los bits que identifican el host. De esta forma una dirección de clase A tendrá como máscara 255.0.0.0, una de clase B 255.255.0.0 y una de clase C 255.255.255.0. Los dispositivos de red realizan un AND entre la dirección IP y la máscara para obtener la dirección de red a la que pertenece el host identificado por la dirección IP dada. Por ejemplo un router necesita saber cuál es la red a la que pertenece la dirección IP del datagrama destino para poder consultar la tabla de encaminamiento y poder enviar el datagrama por la interfaz de salida. Para esto se necesita tener cables directos. La máscara también puede ser representada de la siguiente forma 10.2.1.2/8 donde el /8 indica que los 8 bits más significativos de máscara están destinados a redes, es decir /8 = 255.0.0.0. Análogamente (/16 = 255.255.0.0) y (/24 = 255.255.255.0).


Creación de subredes

El espacio de direcciones de una red puede ser subdividido a su vez creando subredes autónomas separadas. Un ejemplo de uso es cuando necesitamos agrupar todos los empleados pertenecientes a un departamento de una empresa. En este caso crearíamos una subred que englobara las direcciones IP de éstos. Para conseguirlo hay que reservar bits del campo host para identificar la subred estableciendo a uno los bits de red-subred en la máscara. Por ejemplo la dirección 172.16.1.1 con máscara 255.255.255.0 nos indica que los dos primeros octetos identifican la red (por ser una dirección de clase B), el tercer octeto identifica la subred (a 1 los bits en la máscara) y el cuarto identifica el host (a 0 los bits correspondientes dentro de la máscara). Hay dos direcciones de cada subred que quedan reservadas: aquella que identifica la subred (campo host a 0) y la dirección para realizar broadcast en la subred (todos los bits del campo host en 1).

IP dinámica

Una dirección IP dinámica es una IP asignada mediante un servidor DHCP (Dynamic Host Configuration Protocol) al usuario. La IP que se obtiene tiene una duración máxima determinada. El servidor DHCP provee parámetros de configuración específicos para cada cliente que desee participar en la red IP. Entre estos parámetros se encuentra la dirección IP del cliente.
DHCP apareció como protocolo estándar en octubre de 1993. El estándar RFC 2131 especifica la última definición de DHCP (marzo de 1997). DHCP sustituye al protocolo BOOTP, que es más antiguo. Debido a la compatibilidad retroactiva de DHCP, muy pocas redes continúan usando BOOTP puro.
Las IP dinámicas son las que actualmente ofrecen la mayoría de operadores. El servidor del servicio DHCP puede ser configurado para que renueve las direcciones asignadas cada tiempo determinado.

Ventajas

  • Reduce los costos de operación a los proveedores de servicios de Internet (ISP).
  • Reduce la cantidad de IP asignadas (de forma fija) inactivas.
  • El usuario puede reiniciar el router para que le sea asignada otra IP y así evitar las restricciones que muchas webs ponen a sus servicios gratuitos de descarga o visionado multimedia online.

Desventajas

  • Obliga a depender de servicios que redirigen un host a una IP.

Asignación de direcciones IP

Dependiendo de la implementación concreta, el servidor DHCP tiene tres métodos para asignar las direcciones IP:
  • manualmente, cuando el servidor tiene a su disposición una tabla que empareja direcciones MAC con direcciones IP, creada manualmente por el administrador de la red. Sólo clientes con una dirección MAC válida recibirán una dirección IP del servidor.
  • automáticamente, donde el servidor DHCP asigna por un tiempo preestablecido ya por el administrador una dirección IP libre, tomada de un intervalo prefijado también por el administrador, a cualquier cliente que solicite una.
  • dinámicamente, el único método que permite la reutilización de direcciones IP. El administrador de la red asigna un intervalo de direcciones IP para el DHCP y cada ordenador cliente de la LAN tiene su software de comunicación TCP/IP configurado para solicitar una dirección IP del servidor DHCP cuando su tarjeta de interfaz de red se inicie. El proceso es transparente para el usuario y tiene un periodo de validez limitado.

IP fija

Una dirección IP fija es una dirección IP asignada por el usuario de manera manual (Que en algunos casos el ISP o servidor de la red no lo permite), o por el servidor de la red (ISP en el caso de internet, router o switch en caso de LAN) con base en la Dirección MAC del cliente. Mucha gente confunde IP Fija con IP pública e IP dinámica con IP privada.
Una IP puede ser privada ya sea dinámica o fija como puede ser IP pública dinámica o fija.
Una IP pública se utiliza generalmente para montar servidores en internet y necesariamente se desea que la IP no cambie por eso siempre la IP pública se la configura de manera fija y no dinámica, aunque si se podría.
En el caso de la IP privada generalmente es dinámica asignada por un servidor DHCP, pero en algunos casos se configura IP privada fija para poder controlar el acceso a internet o a la red local, otorgando ciertos privilegios dependiendo del número de IP que tenemos, si esta cambiara (fuera dinámica) sería más complicado controlar estos privilegios (pero no imposible).

 

DHCP



El protocolo DHCP

Definición del término DHCP

DHCP significa Protocolo de configuración de host dinámico . Es un protocolo que permite que un equipo conectado a una red pueda obtener su configuración (principalmente, su configuración de red) en forma dinámica (es decir, sin intervención particular). Sólo tiene que especificarle al equipo, mediante DHCP, que encuentre una dirección IP de manera independiente. El objetivo principal es simplificar la administración de la red.
El protocolo DHCP sirve principalmente para distribuir direcciones IP en una red, pero desde sus inicios se diseñó como un complemento del protocolo BOOTP (Protocolo Bootstrap), que se utiliza, por ejemplo, cuando se instala un equipo a través de una red (BOOTP se usa junto con un servidor TFTP donde el cliente encontrará los archivos que se cargarán y copiarán en el disco duro). Un servidor DHCP puede devolver parámetros BOOTP o la configuración específica a un determinado host.

Funcionamiento del protocolo DHCP

Primero, se necesita un servidor DHCP que distribuya las direcciones IP. Este equipo será la base para todas las solicitudes DHCP por lo cual debe tener una dirección IP fija. Por lo tanto, en una red puede tener sólo un equipo con una dirección IP fija: el servidor DHCP.
El sistema básico de comunicación es BOOTP (con la trama UDP). Cuando un equipo se inicia no tiene información sobre su configuración de red y no hay nada especial que el usuario deba hacer para obtener una dirección IP. Para esto, la técnica que se usa es la transmisión: para encontrar y comunicarse con un servidor DHCP, el equipo simplemente enviará un paquete especial de transmisión (transmisión en 255.255.255.255 con información adicional como el tipo de solicitud, los puertos de conexión, etc.) a través de la red local. Cuando el DHCP recibe el paquete de transmisión, contestará con otro paquete de transmisión (no olvide que el cliente no tiene una dirección IP y, por lo tanto, no es posible conectar directamente con él) que contiene toda la información solicitada por el cliente.
Se podría suponer que un único paquete es suficiente para que el protocolo funcione. En realidad, hay varios tipos de paquetes DHCP que pueden emitirse tanto desde el cliente hacia el servidor o servidores, como desde los servidores hacia un cliente:
  • DHCPDISCOVER (para ubicar servidores DHCP disponibles)
  • DHCPOFFER (respuesta del servidor a un paquete DHCPDISCOVER, que contiene los parámetros iniciales)
  • DHCPREQUEST (solicitudes varias del cliente, por ejemplo, para extender su concesión)
  • DHCPACK (respuesta del servidor que contiene los parámetros y la dirección IP del cliente)
  • DHCPNAK (respuesta del servidor para indicarle al cliente que su concesión ha vencido o si el cliente anuncia una configuración de red errónea)
  • DHCPDECLINE (el cliente le anuncia al servidor que la dirección ya está en uso)
  • DHCPRELEASE (el cliente libera su dirección IP)
  • DHCPINFORM (el cliente solicita parámetros locales, ya tiene su dirección IP
El primer paquete emitido por el cliente es un paquete del tipo DHCPDISCOVER. El servidor responde con un paquete DHCPOFFER, fundamentalmente para enviarle una dirección IP al cliente. El cliente establece su configuración y luego realiza un DHCPREQUEST para validar su dirección IP (una solicitud de transmisión ya que DHCPOFFER no contiene la dirección IP) El servidor simplemente responde con un DHCPACK con la dirección IP para confirmar la asignación. Normalmente, esto es suficiente para que el cliente obtenga una configuración de red efectiva, pero puede tardar más o menos en función de que el cliente acepte o no la dirección IP...

Concesiones:

Para optimizar los recursos de red, las direcciones IP se asignan con una fecha de inicio y de vencimiento para su validez. Esto es lo que se conoce como "concesión". Un cliente que detecta que su concesión está a punto de vencer, puede solicitarle al servidor una extensión de la misma por medio de un DHCPREQUEST. Del mismo modo, cuando el servidor detecta que una concesión va a vencer, enviará un DCHPNAK para consultarle al cliente si desea extenderla. Si el servidor no recibe una respuesta válida, convertirá la dirección IP en una dirección disponible.
Esta es la efectividad de DHCP: se puede optimizar la asignación de direcciones IP planificando la duración de las concesiones. El problema es que si no se liberan direcciones, en un momento determinado no se podrá cumplir con nuevas solicitudes DHCP debido a que faltarán direcciones que puedan distribuirse.
En una red en la cual muchos equipos se conectan y desconectan permanentemente (redes de escuelas o de oficinas de ventas, por ejemplo), es aconsejable ofrecer concesiones por períodos cortos. En cambio, para una red compuesta principalmente por equipos fijos que se reinician rara vez, las concesiones por períodos largos son más que suficientes. No se olvide que DHCP trabaja principalmente por transmisión y que puede ocupar ancho de banda en redes pequeñas con alta demanda.

 

DNS


 
¿Qué es el servicio de DNS?
Respuesta de Equens
Para registrar un dominio es imprescindible disponer de servicio de DNS. Para que tu o tu empresa seais visibles en Internet deberás tener tus nombres de dominio instalados en dos ordenadores que estén conectados a la red y que se denominan servidores de DNS.

La principal tarea de un servidor de DNS es traducir tu nombre de dominio (p.ej. midominio.com) en una dirección IP.

El servicio de DNS permite, una vez configurado, que tu web y tu correo electrónico sean localizados desde cualquier lugar del mundo mediante tu nombre de dominio.

¿Qué es el Domain Name System?

Es una base de datos distribuida, con información que se usa para traducir los nombres de dominio, fáciles de recordar y usar por las personas, en números de protocolo de Internet (IP) que es la forma en la que las máquinas pueden encontrarse en Internet.

Hay personas en todo el mundo manteniendo una parte de la base de datos, y esta información se hace accesible a todas las máquinas y usuarios de Internet.

El Domain Name System (DNS), o Sistema de Nombres de Dominio, comprende personas, instituciones reguladoras, archivos, máquinas y software trabajando conjuntamente.

Una pieza fundamental en este sistema es el servidor de DNS, o en forma abreviada DNS. El servicio de DNS es indispensable para que un nombre de dominio pueda ser encontrado en Internet. 
 

CAPA DE APLICACIÓN



La capa de aplicación esta compuesta por:
  • Aplicaciones
  • Servicios
  • Protocolos
¿Qué es la capa de aplicación?
La capa de aplicación es aquella que proporciona la interfaz entre las aplicaciones que utilizamos para comunicarnos y la red en la que se trasmiten los mensajes.

Dentro de la capa de aplicación podemos encontrar dos tipos de programas o aplicaciones:
  • Aplicaciones de red
  • Servicios de la capa de aplicación

Aplicaciones

Las aplicaciones son aquellos programas que utiliza el usuario final para comunicarse en la red, sean programas de mensajería, navegadores web, clientes de correo electrónico, etc.

Servicios

Los servicios son los programas que el usuario no ve, pero que son necesarios para que las aplicaciones funcionen correctamente.
Estos servicios son por ejemplo, la trasferencia de archivos, funciones de prioridades en red, cola de impresión en red, etc.
Los servicios deben implementar varios protocolos, ya que son muchas las distintas aplicaciones que se comunican en una red.

Protocolos

Tenemos que señalar que los protocolos de la capa de aplicación son aquellos que se utilizan para intercambiar los datos entre los programas que se están ejecutando en el origen y destino. Dicho esto, podemos comenzar nombrando algunos protocolos utilizados en esta capa:
  • Protocolo de servicio de nombres (DNS)
  • Protocolo de trasferencia de hipertexto (HTTP)
  • Protocolo de trasferencia de correo (SMTP)
  • Protocolo de emulación de terminal (Telnet)
  • Protocolo de trasferencia de archivos (FTP)
  • ...
Todos estos protocolos nos proporcionan la información de control y su formato necesario para las funciones de comunicación mas comunes dentro de Internet.

Funciones de los protocolos:
Los protocolos establecen reglas para el intercambio de datos entre las diferentes aplicaciones y servicios instalados en los dispositivos de origen y destino dentro de una red.
Además, los protocolos son los encargados de estructurar los mensajes que se envían entre origen y destino.
Tenemos que destacar que cada protocolo realiza una acción especifica y que por este motivo son muchísimos los protocolos existentes hoy en día.
Por otro lado tenemos que saber que para que la comunicación tenga éxito, tenemos que tener implementados tanto en el origen como en el destino los mismos protocolos.
Ya hemos visto a grandes rasgos lo principal de la capa de aplicación, pero en los siguientes artículos veremos protocolos concretos, servicios concretos y alguna arquitectura de red asociada a esta capa.

Aplicaciones y servicios de la capa de aplicación.

  • Servidores
  • Protocolos
  • Modelo cliente / servidor
  • Redes y aplicaciones P2P
Todas ellas relacionadas con la capa de aplicación.

Servidores

Para poder entender los dos puntos restantes, tenemos que tener claro lo que es un servidor y para ello vamos a dar aquí algunas pistas y datos que te ayuden a tenerlo más claro. Un servidor es todo aquel dispositivo que responde a una solicitud de aplicaciones de cliente.
En general, un servidor suele ser un ordenador que contiene mucha información para ser compartida con muchos sistemas clientes.
Cada servidor suele tener un servicio o proceso denominado daemon, que se encarga de escuchar las peticiones, darles prioridades y ejecutar las respuestas en los formatos adecuados.
Dependiendo del fin de cada servidor, algunos requerirán sistemas de seguridad como usuario y contraseña, por lo que tendrán listas con los usuarios y contraseñas permitidos para dar respuesta a las solicitudes.

Protocolos de la capa de aplicaciones

Tenemos que tener en cuenta que una aplicación puede emplear varios servicios diferentes de la capa de aplicación. De esta forma, un usuario envía una petición y el servidor realmente puede llegar a recibir muchas mas para esa única petición que hace el cliente. Por otro lado, el servidor suele recibir varias peticiones de clientes distintos a la vez y es aquí donde entran en juego los protocolos.

Modelo cliente-servidor

Cómo ya sabemos, si por ejemplo, nosotros queremos ver una página web desde nuestro dispositivo móvil u ordenador, primero tenemos que hacer una petición al servidor que contiene esa información. Bien, pues esto es básicamente en lo que consiste este modelo. El usuario hace una petición al servidor y este contesta. Este modelo se encuentra dentro de la capa de aplicación, ya que es la forma más directa que tiene un cliente para recibir información. Los protocolos de esta capa son los responsables de darle un formato a esas solicitudes y respuestas.
Para que quede más claro, este tipo de modelo de red puede ser nuestro cliente de correo. Nosotros abrimos el cliente de correo y este hace una petición al servidor de correo para que le envíe los correos nuevos que tenga.
Dentro de este modelo de red estaría la carga y descarga de datos de un cliente a un servidor o viceversa.

Redes y aplicaciones P2P

Antes de explicar qué son las redes y aplicaciones punto a punto, hay que decir que son parecidas pero que en la practica son diferentes. Redes P2P: En este tipo de redes nos encontramos dos o más equipos conectados entre sí por una red, pero no dependen de un servidor para compartir información. Cada equipo funciona como cliente y servidor a la vez. Las funciones de cliente o servidor se activan por solicitud.
Un ejemplo de este tipo de redes son las que tenemos en casa, es decir, un par de ordenadores conectados entre sí para compartir archivos. Incluso si colocamos una impresora en un equipo y la compartimos, también estaríamos hablando de red punto a punto. (OJO, siempre y cuando la impresora este conectada a un equipo de forma directa y no a la red). El problema de este tipo de redes es la seguridad, ya que cada equipo debe administrar su propia seguridad al no tener un servidor que centralice las peticiones, las cuentas de usuario y sus contraseñas.
Aplicaciones P2P: Una aplicación punto a punto permite a un dispositivo actuar como cliente o como servidor dentro de la misma comunicación. En este tipo de aplicaciones cada cliente es un servidor y cada servidor es un cliente. Este tipo de aplicaciones requieren de una interfaz de usuario, aunque luego tengan servicio ejecutándose en segundo plano. Este tipo de aplicaciones puede darse entre las redes cliente-servidor, en las redes punto a punto y en Internet. Un ejemplo de este tipo de aplicación serían las ya mundialmente conocidas como aplicaciones de intercambio de archivos (Emule, Torrent, etc) o los sistemas de mensajería instantánea (Messenger, WhatsApp, etc)
Ya en el siguiente artículo veremos ejemplos de servicios y protocolos de la capa de aplicación, este artículo será algo mas técnico pero espero que igual de interesante que los escritos hasta el momento.

Protocolos y servicios DNS

En el presente artículo vamos a ver los protocolos y servicios más utilizados dentro de la capa de aplicación, prestando luego atención a uno de los servicios más importantes en la Red, como son los servidores de nombres o DNS. Comenzaremos ofreciendo una lista de los protocolos considerados como principales:
  • Sistema de nombres de dominios, comúnmente llamado DNS
  • Protocolo de transferencia de hipertexto (HTTP)
  • Protocolo simple de transferencia de correo (SMTP)
  • Protocolo de oficina de correos (POP)
  • Protocolo de trasferencia de archivos (FTP)
 

Servicio y protocolo DNS

En todas las redes, los dispositivos tienen asignada una etiqueta numérica, llamada IP. Al ser complicado recordar tantas etiquetas numéricas, se crearon los llamados nombres de dominio (DNS) que nos asocian dichas IPs con un nombre sencillo de recordar por los humanos. Por ejemplo, es más fácil recodar un nombre tal que www.desarrolloweb.com que 192.25.169.122. Además, si por algún problema se tuviera que cambiar de servidor y la IP cambiara, el nombre del dominio puede continuar siendo el mismo y dirigir a la IP correcta con tan solo asociarle la nueva. En definitiva, el DNS se creó para facilitar el reconocimiento de redes, dominios, etc.
El protocolo DNS define un servicio que coincide con nombres de recursos que tienen la dirección IP solicitada. Las comunicaciones del protocolo DNS utilizan un formato simple llamado mensaje. Este mensaje se utiliza para todas las acciones que realiza el protocolo.
El servicio DNS tiene una arquitectura cliente-servidor, aunque hay que destacar que se ejecuta por si mismo sin necesidad de una aplicación determinada. En definitiva, por sí mismo ofrece un servicio a otras aplicaciones que lo requieran.
Después de ver qué es y cómo funciona un DNS a grandes rasgos, podemos entender por qué cuando nos conectamos en red nos pide unos servidores DNS. Éstos son para facilitar el enrutado de la información y las peticiones de direcciones de Internet.

Formato del mensaje DNS

La comunicación cliente/servidor del protocolo DNS, o mensaje, tiene un formato como se puede ver a continuación: Encabezado - pregunta – respuesta – autoridad – adicional
  1. Pregunta: la pregunta para el servidor de nombres
  2. Respuesta: registros de recursos que responden a la pregunta
  3. Autoridad: registros de recursos que apuntan a una autoridad
  4. Adicional: registros de recursos que poseen información adicional

Jerarquía en DNS

El sistema de nombres de dominio (DNS) utiliza un sistema jerárquico para crear una base de datos para proporcionar una resolución de nombres optimizada. En la parte superior, los servidores raíz tienen registros que les indican cómo alcanzar los servidores de niveles inferiores y así sucesivamente.
Veamos un ejemplo: nosotros queremos acceder a una pagina italiana desde España. Bien, pues nuestro DNS primero buscará la URL en listados de IPs españolas y al no encontrarlo, pasará al siguiente nivel para buscarlo dentro de otra lista de IPs y así sucesivamente hasta dar con la correcta.
 A veces un DNS no encuentra la IP solicitada y se ve obligado a pedir ayuda a otros servidores, que actuarán de la misma forma que el primero. Esto forma una gran red de servidores de DNS que son los encargados realmente de que Internet funcione correctamente de cara a los usuarios y sus peticiones.