Redes de Telecom
-
Upload
danicoppi221994 -
Category
Documents
-
view
219 -
download
2
description
Transcript of Redes de Telecom
Protocolo TCP.
TCP (Transmission Control Protocol) se diseñó específicamente para
proporcionar un flujo confiable de bytes de extremo a extremo sobre una red no
confiable. En un internet, es posible tener diferentes topologías, anchos de banda,
retardos, etc. TCP tiene un diseño que se adapta dinámicamente a las propiedades del
internet y que se sobrepone a diversas fallas. TCP es un protocolo orientado a la
conexión. El protocolo garantiza la entrega de los paquetes mediante el envío de de una
confirmación cada vez que un paquete es recibido.
Cada máquina que soporta TCP tiene una entidad de transporte, que maneja
flujos e interactúa con la capa IP. Una entidad TCP acepta flujos de datos de usuarios de
procesos locales, los divide en fragmentos que no excedan los 64KB, y envía cada
fragmento como un datagrama IP independiente. Cuando los datagramas que contienen
datos TCP llegan a una máquina, se pasan a la entidad que reconstruye los flujos de
bytes originales. Muchos programas dentro de una red de datos compuesta por redes
de computadoras, pueden usar TCP para crear “conexiones” entre sí a través de las
cuales puede enviarse un flujo de datos. El protocolo garantiza que los datos serán
entregados en su destino sin errores y en el mismo orden en que se transmitieron.
Características.
Orientado a conexión. Antes de transferir los datos, dos procesos de nivel de
aplicación deben negociar formalmente una conexión TCP utilizando el proceso
de establecimiento de conexión adecuado. Las conexiones de TCP se cierran
formalmente empleando el proceso de desconexión TCP.
Full Duplex. Para cada extremo de una conexión TCP, la conexión consta de dos
enlaces lógicos, uno de salida y otro de entrada. Con la tecnología apropiada en
el nivel de red los datos pueden fluir simultáneamente en ambos sentidos. La
cabecera TCP contiene tanto el número de secuencia de los datos de salida como
el reconocimiento de los datos de entrada.
Fiable. Los datos que se envían por una conexión TCP se numeran en secuencia
y se espera un reconocimiento positivo por parte del receptor. Si no se recibe
este reconocimiento, el segmento se retransmite. En el receptor, los segmentos
duplicados se descartan y los segmentos que llegan fuera de secuencia se
colocan en su posición dentro de la secuencia. Todo segmento transmitido va
protegido frente a errores mediante un código detector (CRC), que verifica la
integridad de la información recibida.
Flujo de bytes. Para TCP los datos que se envían por los enlaces lógicos de
entrada y salida se consideran un flujo continuo de bytes. El número de
secuencia y de reconocimiento que se envían en cada cabecera TCP definen
puntos concretos de este flujo de bytes. TCP no tiene en consideración otras
divisiones dentro del flujo de datos, siendo el protocolo de aplicación el que
establezca las divisiones lógicas adecuadas (por ejemplo, fin de registro ó de
campo en bases de datos, fin de orden, etc.)
Control de flujo en ambos extremos. Para evitar la transmisión de excesivos
datos simultáneos, que podría causar problemas de congestión en los routers,
TCP implementa un control de flujo en el emisor que regula la cantidad de datos
que se envían. Para evitar que el emisor transmita datos que el receptor no es
capaz de almacenar, TCP también implementa control de flujo en el receptor,
indicando cuánto espacio se encuentra disponible en los buffers del receptor.
Segmentación de datos de aplicación. TCP segmentará los datos obtenidos del
proceso de aplicación para que se ajusten al tamaño de los paquetes IP. Ambos
extremos TCP pueden negociar el tamaño máximo de segmento, existiendo
además la posibilidad de ejecutar un algoritmo de descubrimiento del tamaño
máximo en la ruta (PMTU).
Transmisión uno a uno. Las conexiones TCP son un circuito lógico punto a
punto entre dos procesos de nivel de aplicación. TCP no proporciona servicios
de difusión.
Funciones.
En la pila de protocolos TCP/IP, TCP es la capa intermedia entre el protocolo de
internet (IP) y la aplicación. Habitualmente, las aplicaciones necesitan que la
comunicación sea fiable y, dado que la capa IP aporta un servicio de datagramas no
fiable (sin confirmación), TCP añade las funciones necesarias para prestar un servicio
que permita que la comunicación entre dos sistemas se efectúe libre de errores, sin
pérdidas y con seguridad.
Los servicios provistos por TCP corren en el anfitrión (host) de cualquiera de los
extremos de una conexión, no en la red. Por lo tanto, TCP es un protocolo para manejar
conexiones de extremo a extremo. Tales conexiones pueden existir a través de una serie
de conexiones punto a punto, por lo que estas conexiones extremo-extremo son
llamadas circuitos virtuales.
Los servicios confiables de entrega de datos son críticos para aplicaciones tales
como transferencias de archivos (FTP por ejemplo), servicios de bases de datos, proceso
de transacciones y otras aplicaciones de misión crítica en las cuales la entrega de cada
paquete debe ser garantizada.
Formato de los datos TCP.
FIN SYN RST PSH ACK URG
0 1 2 3 4 5 6 7 8 9 1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
Puerto de origen Puerto de destino
Número de secuencia
Número de acuse de recibo
Margen
de
datos
Reservado Ventana
Suma de control Puntero urgente
Opciones Relleno
Datos
Significado de los diferentes campos:
Puerto de origen (16 bits): Puerto relacionado con la aplicación en curso en la máquina origen.
Puerto de destino (16 bits): Puerto relacionado con la aplicación en curso en la máquina destino.
Número de secuencia (32 bits): Cuando el indicador SYN está fijado en 0, el número de secuencia es el de la primera palabra del segmento actual.
Cuando SYN está fijado en 1, el número de secuencia es igual al número de secuencia inicial utilizado para sincronizar los números de secuencia (ISN).
Número de acuse de recibo (32 bits): El número de acuse de recibo, también llamado número de descargo se relaciona con el número (secuencia) del último segmento esperado y no el número del último segmento recibido.
Margen de datos (4 bits): Esto permite ubicar el inicio de los datos en el paquete. Aquí, el margen es fundamental porque el campo opción es de tamaño variable.
Reservado (6 bits): Un campo que actualmente no está en uso pero se proporciona para el uso futuro.
Indicadores (6x1 bit): Los indicadores representan información adicional: URG: Si este indicador está fijado en 1, el paquete se debe procesar en forma
urgente. ACK: Si este indicador está fijado en 1, el paquete es un acuse de recibo. PSH (PUSH): Si este indicador está fijado en 1, el paquete opera de acuerdo con
el método PUSH. RST: Si este indicador está fijado en 1, se restablece la conexión. SYN: El indicador SYN de TCP indica un pedido para establecer una conexión. FIN: Si este indicador está fijado en 1, se interrumpe la conexión.
Ventana (16 bits): Campo que permite saber la cantidad de bytes que el receptor desea recibir sin acuse de recibo.
Suma de control (CRC): La suma de control se realiza tomando la suma del campo de datos del encabezado para poder verificar la integridad del encabezado.
Puntero urgente (16 bits): Indica el número de secuencia después del cual la información se torna urgente.
Opciones (tamaño variable): Diversas opciones Relleno: Espacio restante después de que las opciones se rellenan con ceros para
tener una longitud que sea múltiplo de 32 bits.
Datos: Las aplicaciones envían flujos de bytes a la capa TCP para ser enviados a la
red. TCP divide el flujo de bytes llegado de la aplicación en segmentos de tamaño
apropiado (normalmente esta limitación viene impuesta por la unidad máxima de
transferencia (MTU) del nivel de enlace de datos de la red a la que la entidad está
asociada) y le añade sus cabeceras. Entonces, TCP pasa el segmento resultante a la
capa IP, donde a través de la red, llega a la capa TCP de la entidad destino. TCP
comprueba que ningún segmento se ha perdido dando a cada uno un número de
secuencia, que es también usado para asegurarse de que los paquetes han llegado a la
entidad destino en el orden correcto. TCP devuelve un asentimiento por bytes que
han sido recibidos correctamente; un temporizador en la entidad origen del envío
causará un timeout si el asentimiento no es recibido en un tiempo razonable, y el
(presuntamente desaparecido) paquete será entonces retransmitido. TCP revisa que
no haya bytes dañados durante el envío usando un checksum; es calculado por el
emisor en cada paquete antes de ser enviado, y comprobado por el receptor.
Handshake de 3 vías.
El establecimiento de la conexión en TCP es denominado three-way
handshaking. Considerando que este proceso de comunicación, que se produce con la
transmisión y el acuse de recibo de datos, se basa en un número de secuencia, las
máquinas originadora y receptora (cliente y servidor) deben conocer el número de
secuencia inicial de la otra máquina.
Las dos máquinas deben sincronizar sus secuencias usando un mecanismo
comúnmente llamado negociación en tres pasos que también se encuentra durante el
cierre de la sesión.
Este diálogo posibilita el inicio de la comunicación porque se realiza en tres
etapas, como su nombre lo indica:
En la primera etapa, la máquina originadora (el cliente) transmite un segmento
donde el indicador SYN está fijado en 1 (para indicar que es un segmento de
sincronización), con número de secuencia N llamado número de secuencia
inicial del cliente.
En la segunda etapa, la máquina receptora (el servidor) recibe el segmento
inicial que viene del cliente y luego le envía un acuse de recibo, que es un
segmento en el que el indicador ACK está fijado en 1 y el indicador SYN está
fijado en 1 (porque es nuevamente una sincronización). Este segmento incluye el
número de secuencia de esta máquina (el servidor), que es el número de
secuencia inicial para el cliente. El campo más importante en este segmento es el
de acuse de recibo que contiene el número de secuencia inicial del cliente
incrementado en 1.
Por último, el cliente transmite un acuse de recibo, que es un segmento en el que
el indicador ACK está fijado en 1 y el indicador SYN está fijado en 0 (ya no es
un segmento de sincronización). Su número de secuencia está incrementado y el
acuse de recibo representa el número de secuencia inicial del servidor
incrementado en 1.
Protocolo UDP.
User Datagram Protocol (UDP) o Protocolo de Datagramas de Usuario es un
protocolo del nivel de transporte basado en el intercambio de datagramas. Permite el
envío de dichos datagramas a través de la red sin que se haya establecido previamente
una conexión, ya que el propio datagrama incorpora suficiente información de
direccionamiento en su cabecera. Tampoco tiene confirmación ni control de flujo, por lo
que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado
correctamente, ya que no hay confirmación de entrega o recepción. Su uso principal es
para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el
intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables
con respecto a la información transmitida, así como para la transmisión de audio y vídeo
en tiempo real, donde no es posible realizar retransmisiones por los estrictos requisitos
de retardo que se tiene en estos casos.
UDP no admite numeración de los datagramas, factor que, sumado a que
tampoco utiliza señales de confirmación de entrega, hace que la garantía de que un
paquete llegue a su destino sea mucho menor que si se usa TCP. Esto también origina
que los datagramas pueden llegar duplicados y/o desordenados a su destino. Por estos
motivos el control de envío de datagramas, si existe, debe ser implementado por las
aplicaciones que usan UDP como medio de transporte de datos, al igual que el
reensamble de los mensajes entrantes.
Características.
1. Trabaja sin conexión, es decir que no emplea ninguna sincronización entre el
origen y el destino.
2. Trabaja con paquetes o datagramas enteros, no con bytes individuales como
TCP. Una aplicación que emplea el protocolo UDP intercambia información en
forma de bloques de bytes, de forma que por cada bloque de bytes enviado de la
capa de aplicación a la capa de transporte, se envía un paquete UDP.
3. No es fiable. No emplea control del flujo ni ordena los paquetes.
4. Su gran ventaja es que provoca poca carga adicional en la red ya que es sencillo
y emplea cabeceras muy simples.
5. Un paquete UDP puede ser fragmentado por el protocolo IP para ser enviado
fragmentado en varios paquetes IP si resulta necesario.
6. Puesto que no hay conexión, un paquete UDP admite utilizar como dirección IP
de destino la dirección de broadcast o de multicast de IP. Esto permite enviar un
mismo paquete a varios destinos.
Funciones.
En envío:
Está permitido enviar 0 bytes. El valor de retorno de la función indica el número de bytes que el S.O. acepta
mandar como datagrama, no la cantidad de bytes que llegó al destino (es unservicio no fiable).
No hay condición de error que indique que los datos no llegaron al destino.
En recepción:
Está igualmente permitido recibir 0 bytes de datos. El valor de retorno indica los bytes recibidos. Si el buffer (buff) no es suficientemente grande, los datos que no caben se
pierden.
Formato.
Segmento UDP
0 10 20 30
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Puerto UDP origen Puerto UDP destino
Longitud del datagrama Checksum UDP
Datos
...
Puerto de Origen: es opcional; cuando tiene sentido, indica el puerto del proceso
emisor, y puede que se asuma que ése sea el puerto al cual la respuesta debería ser
dirigida en ausencia de otra información. Si no se utiliza, se inserta un valor cero.
Puerto de Destino.- tiene significado dentro del contexto de una dirección de
destino en un entorno Internet particular.
Longitud.- representa la longitud en octetos de este datagrama de usuario,
incluyendo la cabecera y los datos. (Esto implica que el valor mínimo del campo
Longitud es ocho.)
Suma de Control (Checksum).- es el complemento a uno de 16 bits de la suma
de los complementos a uno de las palabras de la combinación de una pseudo-cabecera
construida con información de la cabecera IP, la cabecera UDP y los datos, y rellenada
con octetos de valor cero en la parte final (si es necesario) hasta tener un Múltiplo de
dos octetos. Si la suma de control calculada es cero, se transmite como un campo de
unos (el equivalente en la aritmética del complemento a uno). Un valor de la suma de
control trasmitido como un campo de ceros significa que el emisor no generó la suma de
control (para depuración o para protocolos de más alto nivel a los que este campo les
sea indiferente).
La pseudo-cabecera.- que imaginariamente antecede a la cabecera UDP contiene
la dirección de origen, la dirección de destino, el protocolo y la longitud UDP. Esta
información proporciona protección frente a datagramas mal encaminados. Este
procedimiento de comprobación es el mismo que el utilizado en TCP.
Puertos.
Los puertos UDP proporcionan una ubicación para enviar y recibir mensajes
UDP. Un puerto UDP funciona como una única cola de mensajes que recibe todos los
datagramas destinados al programa especificado mediante cada número de puerto del
protocolo. Es decir, los programas basados en UDP pueden recibir varios mensajes a la
vez.
El lado de servidor de cada programa que utiliza UDP atiende los mensajes que
llegan a su número de puerto conocido. Todos los números de puerto de servidor UDP
inferiores a 1.024 (y algunos números superiores) están reservados y registrados por la
Autoridad de números asignados de Internet.
Cada puerto de servidor UDP se identifica mediante un número de puerto
conocido o reservado. En la siguiente tabla se muestra una lista parcial de los números
de puerto de servidor UDP conocidos que utilizan programas basados en UDP estándar.
Número de puerto UDP Descripción
53 Consultas de nombres DNS
69 Protocolo trivial de transferencia de archivos (TFTP)
137 Servicio de nombres NetBIOS
138 Servicio de datagramas NetBIOS
161 Protocolo simple de administración de redes (SNMP)
520 Protocolo de información de enrutamiento (RIP)
Protocolos de la capa de aplicación.
En Arquitectura de redes, en los modelos de referencia como OSI o TCP/IP, el
nivel de aplicación es la capa más próxima al usuario. En este nivel se definen los
protocolos que utilizan las aplicaciones para la gestión de datos y también las
herramientas para el envío de esta información a través de todas las capas que siguen a
la de aplicación.
Hay un gran número de protocolos de aplicación, muchos de ellos ligados a una
aplicación concreta. No son protocolos que utilicen habitualmente los usuarios, sino los
programas que éstos manejan. Suele interactuar con programas que a su vez interactúan
con el nivel de aplicación pero ocultando la complejidad subyacente. Así por ejemplo
un usuario no manda una petición «GET /index.html HTTP/1.0» para conseguir una
página en html, ni lee directamente el código html/xml. O cuando chateamos con el
Mensajero Instantáneo, no es necesario que codifiquemos la información y los datos del
destinatario para entregarla a la capa de Presentación (capa 6) para que realice el envío
del paquete.
HTTP.
HTTP (en español protocolo de transferencia de hipertexto) es
el protocolo usado en cada transacción de la World Wide Web. HTTP define la sintaxis
y la semántica que utilizan los elementos de software de la arquitectura web (clientes,
servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y
sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que
efectúa la petición (un navegador web o un spider) se lo conoce como "user agent"
(agente del usuario). A la información transmitida se la llama recurso y se la identifica
mediante un localizador uniforme de recursos (URL). El resultado de la ejecución de un
programa, una consulta a una base de datos, la traducción automática de un documento,
etc.
HTTP es un protocolo sin estado, es decir, que no guarda ninguna información
sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente
mantener estado. Para esto se usan las cookies, que es información que un servidor
puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la
noción de "sesión", y también permite rastrear usuarios ya que las cookies pueden
guardarse en el cliente por tiempo indeterminado.
HTTP se basa en sencillas operaciones de solicitud/respuesta. Un cliente
establece una conexión con un servidor y envía un mensaje con los datos de la solicitud.
El servidor responde con un mensaje similar, que contiene el estado de la operación y su
posible resultado. Todas las operaciones pueden adjuntar un objeto o recurso sobre el
que actúan; cada objeto Web (documento HTML, fichero multimedia o aplicación CGI)
es conocido por su URL.
FTP.
FTP ('Protocolo de Transferencia de Archivos') en informática, es un protocolo
de red para la transferencia de archivos entre sistemas conectados a una
red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor.
Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde
él o para enviarle archivos, independientemente del sistema operativo utilizado en cada
equipo.
El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de
red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema
básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión,
pero no la máxima seguridad, ya que todo el intercambio de información, desde el login
y password del usuario en el servidor hasta la transferencia de cualquier archivo, se
realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede
capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.
En el modelo, el intérprete de protocolo (IP) de usuario inicia la conexión de
control en el puerto 21. Las órdenes FTP estándar las genera el IP de usuario y se
transmiten al proceso servidor a través de la conexión de control. Las respuestas
estándar se envían desde la IP del servidor la IP de usuario por la conexión de control
como respuesta a las órdenes.
Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de
datos, modo de transferencia, tipo de representación y estructura) y la naturaleza de la
operación sobre el sistema de archivos (almacenar, recuperar, añadir, borrar, etc.). El
proceso de transferencia de datos (DTP) de usuario u otro proceso en su lugar, debe
esperar a que el servidor inicie la conexión al puerto de datos especificado (puerto 20 en
modo activo o estándar) y transferir los datos en función de los parámetros que se hayan
especificado.
SMTP.
(SMTP) o “protocolo para transferencia simple de correo”, es un protocolo de
red utilizado para el intercambio de mensajes de correo
electrónico entre computadoras u otros dispositivos (PDA, teléfonos móviles, etcétera).
El funcionamiento de este protocolo se da en línea, de manera que opera en los servicios
de correo electrónico. Sin embargo, este protocolo posee algunas limitaciones en cuanto
a la recepción de mensajes en el servidor de destino (cola de mensajes recibidos).
SMTP es un protocolo orientado a la conexión basado en texto, en el que un
remitente de correo se comunica con un receptor de correo electrónico mediante la
emisión de secuencias de comandos y el suministro de los datos necesarios en un canal
de flujo de datos ordenado fiable, normalmente un protocolo de control de transmisión
de conexión (TCP). Una sesión SMTP consiste en comandos originados por un cliente
SMTP (el agente de inicio, emisor o transmisor) y las respuestas correspondientes del
SMTP del servidor (el agente de escucha, o receptor) para que la sesión se abra y se
intercambian los parámetros de la sesión. Una sesión puede incluir cero o más
transacciones SMTP.
MIME.
MIME (en español "extensiones multipropósito de correo de internet") son una
serie de convenciones o especificaciones dirigidas al intercambio a través de Internet de
todo tipo de archivos (texto, audio, vídeo, etc.) de forma transparente para el usuario.
Una parte importante del MIME está dedicada a mejorar las posibilidades de
transferencia de texto en distintos idiomas y alfabetos. En sentido general las
extensiones de MIME van encaminadas a soportar:
Texto en conjuntos de caracteres distintos de US-ASCII;
adjuntos que no son de tipo texto;
cuerpos de mensajes con múltiples partes (multi-part);
información de encabezados con conjuntos de caracteres distintos de ASCII.
Prácticamente todos los mensajes de correo electrónico escritos por personas
en Internet y una proporción considerable de estos mensajes generados automáticamente
son transmitidos en formato MIME a través de SMTP. Los mensajes de correo
electrónico en Internet están tan cercanamente asociados con el SMTP y MIME que
usualmente se les llama mensaje SMTP/MIME.
Los tipos de contenido definidos por el estándar MIME tienen gran importancia
también fuera del contexto de los mensajes electrónicos. Ejemplo de esto son
algunos protocolos de red tales como HTTP de la Web. HTTP requiere que los datos
sean transmitidos en un contexto de mensajes tipo e-mail aunque los datos pueden no
ser un e-mail propiamente dicho.
En la actualidad ningún programa de correo electrónico o navegador de Internet
puede considerarse completo si no acepta MIME en sus diferentes facetas (texto y
formatos de archivo).
DNS.
DNS (en español «Sistema de Nombres de Dominio») es un sistema de
nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado
a Internet o a una red privada. Este sistema asocia información variada con nombres de
dominios asignado a cada uno de los participantes. Su función más importante, es
traducir (resolver) nombres inteligibles para las personas en identificadores binarios
asociados con los equipos conectados a la red, esto con el propósito de poder localizar y
direccionar estos equipos mundialmente.
El servidor DNS utiliza una base de datos distribuida y jerárquica que almacena
información asociada a nombres de dominio en redes como Internet. Aunque como base
de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, los
usos más comunes son la asignación de nombres de dominio a direcciones IP y la
localización de los servidores de correo electrónico de cada dominio.
La asignación de nombres a direcciones IP es ciertamente la función más
conocida de los protocolos DNS. Por ejemplo, si la dirección IP del sitio FTP de
prox.mx es 200.64.128.4, la mayoría de la gente llega a este equipo
especificando ftp.prox.mx y no la dirección IP. Además de ser más fácil de recordar,
el nombre es más fiable. La dirección numérica podría cambiar por muchas razones, sin
que tenga que cambiar el nombre. Inicialmente, el DNS nació de la necesidad de
recordar fácilmente los nombres de todos los servidores conectados a Internet.
DHCP.
DHCP (en español «protocolo de configuración dinámica de host») es
un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de
configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el
que generalmente un servidor posee una lista de direcciones IP dinámicas y las va
asignando a los clientes conforme éstas van quedando libres, sabiendo en todo momento
quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha
asignado después.
Cada dirección IP debe configurarse manualmente en cada dispositivo y, si el
dispositivo se mueve a otra subred, se debe configurar otra dirección IP diferente. El
DHCP le permite al administrador supervisar y distribuir de forma centralizada las
direcciones IP necesarias y, automáticamente, asignar y enviar una nueva IP si fuera el
caso en que el dispositivo es conectado en un lugar diferente de la red.
El protocolo DHCP incluye tres métodos de asignación de direcciones IP:
Asignación manual o estática: Asigna una dirección IP a una máquina determinada.
Se suele utilizar cuando se quiere controlar la asignación de dirección IP a cada
cliente, y evitar, también, que se conecten clientes no identificados.
Asignación automática: Asigna una dirección IP a una máquina cliente la primera
vez que hace la solicitud al servidor DHCP y hasta que el cliente la libera. Se suele
utilizar cuando el número de clientes no varía demasiado.
Asignación dinámica: el único método que permite la reutilización dinámica de las
direcciones IP. El administrador de la red determina un rango de direcciones IP y
cada dispositivo conectado a la red está configurado para solicitar su dirección IP al
servidor cuando la tarjeta de interfaz de red se inicializa.
Otros protocolos.
ICMP.
El Protocolo de Mensajes de Control de Internet o ICMP es el sub protocolo de
control y notificación de errores del Protocolo de Internet (IP). Como tal, se usa para
enviar mensajes de error, indicando por ejemplo que un servicio determinado no está
disponible o que un router o host no puede ser localizado.
ICMP difiere del propósito de TCP y UDP ya que generalmente no se utiliza
directamente por las aplicaciones de usuario en la red. La única excepción es la
herramienta ping y traceroute, que envían mensajes de petición Echo ICMP (y recibe
mensajes de respuesta Echo) para determinar si un host está disponible, el tiempo que le
toma a los paquetes en ir y regresar a ese host y cantidad de hosts por los que pasa.
Este protocolo es parte de la suite de protocolo de Internet. Los mensajes de este
protocolo se utilizan con fines de diagnóstico o control y se generan en respuesta a los
errores en operaciones IP. Estos errores del protocolo ICMP se dirigen a la dirección IP
de origen del paquete originario.
Todos los dispositivos (como intermedio enrutador) reenvían un datagrama IP
que disminuye el tiempo de vida en el encabezado IP por uno. Si el tiempo de vida
(TTL) resultante es 0, el paquete se descartara y un ICMP de tiempo de vida superado
en tránsito enviara un mensaje de dirección al origen del datagrama.
Algunas características a destacar:
Los mensajes ICMP son encapsulados en datagramas IP. Sin embargo ICMP es
parte integral de IP y debe ser implementado por cada módulo IP.
ICMP se utiliza para reportar errores no para hacer fiable el IP. Los datagramas
pueden no ser entregados sin reportar su pérdida. La fiabilidad debe ser
implementada por los protocolos de alto nivel que utilizan servicios IP
El protocolo ICMP no puede ser utilizado para reportar errores con mensajes
ICMP. Esto evita repeticiones infinitas. Las respuestas ICMP son enviadas en
respuesta a mensajes ICMP query.
Para datagramas fragmentados, los mensajes ICMP únicamente son enviados para
errores con el primer fragmento. Es decir, los mensajes ICMP nunca se refieren a
un datagrama IP donde el campo ‘fragment offset’ sea diferente de 0.
Los mensajes ICMP nunca son enviados en respuesta a datagramas cuya dirección
destino sea broadcast o multicast.
Los mensajes ICMP sólo son enviados en respuesta a un datagrama cuya dirección
IP origen represente a un único host. Es decir, la dirección origen no puede ser 0,
una dirección de loopback, una dirección de broadcast o una dirección de multicast.
En la RFC 792 se indica que los mensajes ICMP pueden ser generados para
reportar errores en la gestión de datagramas IP. Sin embargo no es requerido. En la
práctica, los routers siempre generan mensajes ICMP para los errores.
Encapsulación de datos.
Durante una transmisión, los datos cruzan cada una de las capas en el nivel del
equipo remitente. En cada capa, se le agrega información al paquete de datos. Esto se
llama encabezado, es decir, una recopilación de información que garantiza la
transmisión. En el nivel del equipo receptor, cuando se atraviesa cada capa, el
encabezado se lee y después se elimina. Cuando se recibe, el mensaje se encuentra en su
estado original.
En cada nivel, el paquete de datos cambia su aspecto porque se le agrega un
encabezado. Por lo tanto, las designaciones cambian según las capas:
el paquete de datos se denomina mensaje en el nivel de la capa de aplicación;
el mensaje después se encapsula en forma de segmento en la capa de transporte;
una vez que se encapsula el segmento en la capa de Internet, toma el nombre
de datagrama;
finalmente, se habla de trama en el nivel de capa de acceso a la red.
Capa de acceso a la red.
La capa de acceso a la red es la primera capa de la pila TCP/IP. Ofrece la
capacidad de acceder a cualquier red física, es decir, brinda los recursos que se deben
implementar para transmitir datos a través de la red.
Por lo tanto, la capa de acceso a la red contiene especificaciones relacionadas
con la transmisión de datos por una red física, cuando es una red de área local (Red en
anillo, Ethernet, FDDI), conectada mediante línea telefónica u otro tipo de conexión a
una red. Trata los siguientes conceptos:
enrutamiento de datos por la conexión;
coordinación de la transmisión de datos (sincronización);
formato de datos;
conversión de señal (análoga/digital);
detección de errores a su llegada.
Afortunadamente, todas estas especificaciones son invisibles al ojo del usuario,
ya que en realidad es el sistema operativo el que realiza estas tareas, mientras los drivers
de hardware permiten la conexión a la red (por ejemplo, el driver de la tarjeta de red).
La capa de Internet.
La capa de Internet es la capa "más importante" (si bien todas son importantes a
su manera), ya que es la que define los datagramas y administra las nociones de
direcciones IP. Permite el enrutamiento de datagramas (paquetes de datos) a equipos
remotos junto con la administración de su división y ensamblaje cuando se reciben.
La capa de Internet contiene 5 protocolos:
el protocolo IP;
el protocolo ARP;
el protocolo ICMP;
el protocolo RARP;
el protocolo IGMP.
La capa de transporte.
Los protocolos de las capas anteriores permiten enviar información de un equipo a otro.
La capa de transporte permite que las aplicaciones que se ejecutan en equipos remotos
puedan comunicarse. El problema es identificar estas aplicaciones.
De hecho, según el equipo y su sistema operativo, la aplicación puede ser un programa,
una tarea, un proceso, etc. Además, el nombre de la aplicación puede variar de sistema
en sistema. Es por ello que se ha implementado un sistema de numeración para poder
asociar un tipo de aplicación con un tipo de datos. Estos identificadores se
denominan puertos.
La capa de aplicación.
La capa de aplicación se encuentra en la parte superior de las capas del protocolo
TCP/IP. Contiene las aplicaciones de red que permiten la comunicación mediante las
capas inferiores. Por lo tanto, el software en esta capa se comunica mediante uno o dos
protocolos de la capa inferior (la capa de transporte), es decir, TCP o UDP.
Existen diferentes tipos de aplicaciones para esta capa, pero la mayoría son
servicios de red o aplicaciones brindadas al usuario para proporcionar la interfaz con el
sistema operativo.