Resume N
Resume N
Resume N
TELNET
Tiene como principal característica se ser un servicio transparente porque hace parecer
que el teclado y monitor del usuario está conectado directamente a la maquina remota a la cual se
le accede ya sea por su nombre o dirección IP.
Ofrece 3 tipos de servicios: “Terminal Virtual” (proporciona un interfaz estándar para los
sistemas remotos por lo que los clientes no tiene que entender sus detalles), “Negociación de
opciones” (la cual la puede realizar cualquier extremo en la comunicación con lo que puede
reconfigurar una conexión el servidor y cliente, además de poseer opciones estándar), “Conexión
en los extremos simétrica”.
¿Cómo trabaja? Básicamente funciona como un esquema de maestro-esclavo, en el
sentido de que existirá un proceso servidor maestro que escucha las conexiones y al aceptar una le
asigna un esclavo, en un principio un usuario invoca TELNET un programa de aplicación se
convierte en cliente estableciendo una conexión TCP con el servidor con el cual se conecta, una
vez realizada el cliente a medida que recibe lo que el usuario teclea lo manda al servidor a la vez
que recibe caracteres desde el servidor al que se conecta en forma concurrente y los muestra al
usuario. Cuando un servidor acepta la comunicación la aplicación servidor deberá transmitir los
datos entre la conexión TCP y el sistema operativo a través de un punto de entrada llamado
pseudo terminal que oficiara como enlace (si no existiera tal característica sería imposible
construir un servidor TELNET a través de una aplicación) esa pseudo terminal estará asociada a
una corriente TCP de cliente en particular siempre determinada por la aplicación esclavo.
Que el servidor TELNET este hecho a nivel de aplicación provee la ventaja de que la
modificación y control del servidor sea más fácil de que si estuviera incorporado en el sistema
operativo aunque a costos de ineficiencia por que por cada vez que se tenga que enviar un dato
sea desde el lado cliente o servidor se tendrá que pasar a través del sistema operativo, es decir va
del teclado del cliente pasa por el sistema operativo a la aplicación cliente de esta pasa por el
sistema operativo nuevamente a partir de allí viaja por la red hasta que alcanza al destino aquí se
pasa a través del sistema operativo del servidor para entregar los datos a la aplicación servidor y
desde está a través del sistema operativo nuevamente, siempre utilizando una pseudo terminal ,
de regreso al cliente y de vuelta todo lo mismo.
SSH
SSH (o Secure SHell) es un protocolo que facilita las comunicaciones seguras entre dos
sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un
host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o
Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener
contraseñas no encriptadas.
SSH está diseñado para reemplazar los métodos más viejos y menos seguros para
registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o rsh.
Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar archivos entre
hosts como rcp. Ya que estas aplicaciones antiguas no encriptan contraseñas entre el cliente y el
servidor, evite usarlas mientras le sea posible. El uso de métodos seguros para registrarse
remotamente a otros sistemas reduce los riesgos de seguridad tanto para el sistema cliente como
para el sistema remoto.
Características de SSH
Después de la conexión inicial, el cliente puede verificar que se está conectando al mismo
servidor al que se conectó anteriormente.
El cliente transmite su información de autenticación al servidor usando una encriptación
robusta de 128 bits.
Todos los datos enviados y recibidos durante la sesión se transfieren por medio de
encriptación de 128 bits, lo cual los hacen extremamente difícil de descifrar y leer.
El cliente tiene la posibilidad de reenviar aplicaciones X11 desde el servidor. Esta técnica,
llamada reenvío por X11, proporciona un medio seguro para usar aplicaciones gráficas
sobre una red.
Ya que el protocolo SSH encripta todo lo que envía y recibe, se puede usar para asegurar
protocolos inseguros. El servidor SSH puede convertirse en un conducto para convertir en seguros
los protocolos inseguros mediante el uso de una técnica llamada reenvío por puerto, como por
ejemplo POP, incrementando la seguridad del sistema en general y de los datos.
DNS
DNS
0 8 16
NAME
TYPE
CLASS
TTL
RDLENGTH
RDATA
Compresión de mensajes
Registros DNS:
Transporte UDP
Transporte TCP
Zonas
Un dominio puede particionarse en distintas zonas.
Una zona es una parte del DNS que contiene RRs con nombres contiguos.
Una zona puede delegar un subdominio en otra zona.
Un servidor se considera autoritativo para una zona si tiene una copia de la misma.
Las zonas son las unidades de replicación del DNS.
Replicación de zonas
Zone: utn.edu.ar
SOA
Master: panda.utn.edu.ar Slave
Serial: 2002071103 panda.utn.edu.ar
Refresh: 7200
Retry: 3600
Expires: 604800
Zone Transfer
NS
panda.utn.edu.ar Master Slave
ns1.riu.edu.ar (slave) panda.utn.edu.ar ns1.retina.ar
ns1.retina.ar (slave)
ns2.retina.ar (slave)
Slave
ns2.retina.ar
Zona: edu.ar
$ORIGIN edu.ar.
Zona: utn.edu.ar utn IN NS ns1.retina.ar.
IN NS ns2.retina.ar.
$ORIGIN edu.ar. IN NS panda.utn
utn IN NS ns1.retina.ar.
IN NS ns2.retina.ar. panda.utn IN A 170.210.22.1
IN NS panda.utn
Glue records
Para delegar un subdominio se listan los registros NS correspondientes a los servidores del
subdominio.
Si el nombre del servidor de dominio al que se delega está dentro del subdominio
delegado debe agregarse un “glue record” para especificar la dirección IP del servidor.
Las direcciones IP de los demás servidores se resuelven usando el DNS normalmente.
SMTP/MIME/POP3/IMAP
SMTP
MIME
El estándar define 4 posibles subtipos para un mensaje multipart. El subtipo mixed permite
que un solo mensaje contenga submensajes independientes, de los que cada uno tiene un tipo
independiente y una codificación diferente. Los mensajes multipart mezclados hacen posible
incluir textos, gráficos y audio en un solo mensaje. El subtipo alternative permite que un solo
mensaje incluya varias representaciones de los mismos datos. El subtipo parallel permite que un
solo mensaje incluya subpartes que deben ser vistas juntas (por Ej. Audio y video juntos). El
subtipo digest permite que un solo mensaje contenga un conjunto de otros mensajes.
POP3:
El protocolo POP3 se utiliza para que una estación de trabajo pueda obtener mensajes de
correo electrónico desde un servidor que los está manteniendo.
POP3 no posee características avanzadas de manipulación de mensajes.
Normalmente los mensajes se descargan y se borran del servidor.
Ni bien se abre la conexión el servidor envía un mensaje como: OK POP3 server ready
Posibles comandos
USER / PASS
APOP
Ejemplo:
+OK POP3 server ready
USER juanperez
+OK
PASS secreto
+OK juanperez has 1 messages (120 octets)
IMAP
Similar a POP, con la diferencia de que provee a los usuarios más funcionalidades. Es más
complejo que POP. Permite a los usuarios tener múltiples mailbox remotos pudiendo seleccionar
de entre cualquiera de ellos. Siempre mantiene los mensajes en el Servidor y envía copias de estos
a los Clientes.
A diferencia de POP (donde el Cliente debe estar conectado al Servidor para que se
realicen los cambios), IMAP permite a los Clientes realizar cambios tanto estando estos
conectados como desconectados.
Al igual que POP, en IMAP, la interacción entre Cliente y Servidor se da a través de
Comandos - Respuestas.
Modelos de Implementación
Offline: Similar a POP3. El Cliente se conecta al Servidor (Port 143), descarga los mensajes
y luego se desconecta del Servidor. Los mensajes descargados son borrados del Servidor
por lo que solamente existirán en el Cliente.
Online: El Cliente no baja ningún mensaje del Servidor sino que establece una conexión y
manipula los mensajes dentro del/los mailbox del Servidor.
Disconnected: Es una combinación de los modos Offline y Online.
Cuando se utiliza dicho esquema se utiliza un servidor DHCP el cual contendrá toda las
direcciones IP (establecidas por un administrador) que puede asignar a los host que soliciten una
cuando arranquen.
A diferencia de BOOTP con DHCP una maquina obtiene todo la información necesaria en
un solo mensaje y puede disponer de una dirección IP en forma rápida y dinámica.
Existen 3 tipos de asignación de dirección: “Configuración Manual” (un administrador asigna una
IP específica a un host especifico), “Configuración automática” (el servidor da una dirección IP
permanente cuando una maquina la solicite en el arranque), “Configuración Dinámica” (el servidor
asigna una ip por determinado tiempo).
Para realizar una asignación de dirección el servidor se vale de la identidad (dirección
hardware o MAC) del host que la solicita como también la dirección de red a la que se ha
conectado y luego la asigna, con la configuración dinámica un host se comunica con el servidor
DHCP y obtiene una dirección IP luego configura el software para utilizar esa dirección
(autoconfiguración) y comienza a utilizarla siempre y cuando se cumplan con las restricciones
administrativas.
¿Cómo se logra la autoconfiguración? Un servidor DHCP dispone de un conjunto de
direcciones IP establecidas por un administrador las cuales son asignadas de acuerdo a una/s
regla/s de operación, para obtenerla se negocian mensajes entre el host y el servidor y como
resultado de tal negociación se obtiene un IP y si el host está de acuerdo en utilizarla la utiliza
siempre durante un periodo de tiempo (que dependerá de la red y del anfitrión, ya que DHCP no
lo estable específicamente, sino que el administrador lo establece pero si establece que un cliente
puede solicitar un periodo especifico de uso ) establecido por el servidor durante el cual esa
dirección no será asignada a ningún otro host pero cuando termina se la puede asignar a otro
siempre y cuando no se le haya extendido el plazo (un periodo más) de uso al que la estaba
usando o el cliente tenga asignada una dirección con el periodo de arrendamiento de infinito
(como asignación estática de BOOTP).
Cuando se usa DHCP nos podemos encontrar con máquinas que tiene más de una interfaz
de red disponible (multi-homed) por lo cual deberá tener asignada una IP por cada interfaz en este
caso se utiliza un “Agente relevador” para permitir que una computadora contacte al servidor en
una red no local.
Por último DHCP no interactúa con DNS sino que son cosas que se manejan
independientemente, es decir, en DHCP una maquina puede actuar sin nombre con los
inconvenientes que esto provoca o utilizar un nombre asociado a la IP asignada sin hacer cambios
sobre el DNS aunque teniendo el problema de que una maquina cambiaria de nombre cada vez
que termine su tiempo de arrendamiento y por último se le puede asignar un nombre permanente
lo que permite que se puede acceder a un host independientemente del lugar donde se encuentre
ya que para hacerlo tomo en cuenta ese nombre.
Cuando el cliente DHCP arranca resulta evidente que ignora la configuración de red por lo
que necesita realizar las primeras comunicaciones mediante mensajes de difusión o broadcast.
Esta difusión y el resto de las comunicaciones se basan en 8 tipos de mensajes en DHCP:
1. DHCPDISCOVER: El cliente envía un mensaje de difusión para localizar a los servidores
DHCP activos.
2. DHCPOFFER: El servidor responde al cliente con una oferta de parámetros de
configuración conforme a la situación del cliente.
3. DHCPREQUEST: Respuesta del cliente solicitando los parámetros ofertados, en caso de que
el mensaje del servidor haya sido aceptado, rechazando la oferta, si el mensaje del
servidor ha sido desestimado o confirmando la solicitud de una dirección IP obtenida
anteriormente.
4. DHCPACK: Mensaje de confirmación y cierre desde el servidor hacia el cliente indicando
los parámetros definitivos.
5. DHCPNACK: Mensaje que informa desde el servidor al cliente de que la dirección IP que
solicita no es válida para la subred en la que se encuentra o la dirección IP ya no la puede
asignar porque está asignada a otro equipo.
6. DHCPDECLINE: El cliente informa al servidor de que la dirección está en uso, normalmente
porque otro usuario ha asignado esa dirección manualmente.
7. DHCPRELEASE: El cliente informa al servidor de que ha finalizado el uso de la dirección IP.
8. DHCPINFORM: El cliente consulta al servidor la configuración local. El cliente ya está
configurado cuando envía este mensaje.
HTTP
HTTP
HTTP significa Hypertext Transfer Protocol. Es el protocolo de red que se utiliza para
transferir los archivos (llamados recursos) que forman parte de la World Wide Web. Ya sean estos
archivos HTML, imágenes, sonidos, etc. Normalmente HTTP utiliza a TCP como medio de
transporte.
HTTP utiliza el modelo cliente/servidor. Un cliente HTTP abre una conexión hacia un
servidor HTTP y envía un mensaje de petición (request message), luego el servidor envía un
mensaje de respuesta (response message) el cual contiene el recurso que se solicitado. Luego de
enviar la respuesta el servidor cierra la conexión. Por ende el protocolo no mantiene estado
(stateless) entre las distintas transacciones de un mismo cliente.
Mensajes HTTP
La línea inicial de una solicitud tiene tres partes separadas entre sí por un espacio.
El método (GET, PUT, POST, OPTIONS, TRACE, DELETE,...)
El identificador del recurso (URI).
La versión del protocolo HTTP en uso.
Ejemplos:
GET /directorio1/directorio2/index.html HTTP/1.0
GET / HTTP/1.1
La línea inicial de una respuesta (llamada línea de estado) tiene tres partes separadas
entre sí por un espacio.
Versión de HTTP
Código de estado
Frase explicativa (legible por humanos)
Ejemplos:
HTTP/1.0 200 OK
HTTP/1.0 404 Not Found
Líneas de encabezado
Ejemplos:
User-Agent: Mozilla/6.0
From: juan@perez.com
Content-Type: text/html
HTTP 1.0 define 16 headers (ninguno es obligatorio).
HTTP 1.1 define 46 headers (solo Host: es obligatorio).
En las solicitudes suelen incluirse los siguientes:
User-Agent: (Identifica al software del cliente y la versión).
From: (La dirección de e-mail de quien envía la solicitud).
En las respuestas algunos encabezados comunes son:
Server: (análogo a User-Agent: ej. Server: Apache/1.3.14).
Last-Modified: (fecha de última modificación del recurso, se utiliza para mantener
actualizados los cachés, ej. Last-Modified: Fri, 31 Jan 2000 12:12:12 GMT)
El método HEAD
Una solicitud con el método HEAD es similar al GET con la diferencia que en este caso la
respuesta solo contiene los encabezados y no el cuerpo. Es útil para verificar las características de
un recurso sin necesidad de transferirlo. Las respuestas a métodos HEAD nunca contienen cuerpo.
El método POST:
Para enviar datos al servidor. Se diferencia del Get ya que:
Hay un bloque de datos que se envía en el cuerpo de la solicitud.
Hay headers que describen el cuerpo que se envía. Ej: Content-Type y Content-Lenght.
El URI solicitado no es un recurso sino un script al que se le envían los datos.
La respuesta es generada dinámicamente.
Ejemplo:
El método POST se usa comúnmente para enviar un formulario HTML a un script que se
ejecuta en el servidor. En este caso Content-Type y Content-Lenght indica su longitud.
Ejemplo, enviar nombre=Juan y Apellido=Pérez:
Nombre=Juan&Apellido=Pérez
HTTP 1.1:
Definido para nuevas necesidades y solucionar problemas de HTTP 1.0. Las mejoras incluyen:
Respuesta más veloz (en una conexión se realizan varias transacciones).
Ahorro de ancho de banda mediante caché.
Respuesta más rápida a páginas generadas automáticamente. Una respuesta se envía aun
si saber so longitud total (chunked encoged).
Uso eficiente de las direcciones IP (permite servidores virtuales basados en nombres).
Para que un servidor en una dirección IP maneje múltiples sitios webs virtuales.
Cada solicitud debe incluir el encabezado “Host”.
Ejemplo:
Get /directorio/archivo.html HTTP/1.1
Host: www.sitio.com
<línea en blanco>
Host es obligatorio en una solicitud HTTP 1.1.
HTTP/1.1 200 OK
Date: Sar, 18 Nov 2000 13:29:14 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
HTTP/1.1 200 OK
Date: Sat, 18 Nov 2000 13:29:14 GMT
Content-Type: text/plain
Content-Lenght: 45
Footer1: valor1
Footer2: valor2
Características
Acceso interactivo: Existe una interfaz interactiva para interactuar con los servidores
remotos).
Especificación de formato: El FTP permite al cliente especificar el tipo de formato de datos
almacenados.
Control de autenticación: Los clientes se deben autorizar a si mismo con el envío de un
nombre de conexión y una clave de acceso al servidor para poder interactuar con los
archivos remotos (login).
Funcionamiento
Existe un servidor que escucha conexiones y crea un proceso esclavo que las maneja (uno
por cada una) es decir acepta y maneja la “conexión de control” (una por conexión – la cual
transporta los comandos desde el cliente al servidor que indica que archivo se va a descargar y
permanecerá activa con los procesos de conexión mientras dura una sesión FTP) de cliente pero
utiliza procesos adicionales para manejar una “conexión de transferencia de datos” separada (una
por cada archivo – transporta las transferencias de datos utilizando TCP como protocolo de
transporte y terminara cuando se cierra la conexión de control), para establecer la comunicación
inicial el cliente utiliza un puerto cualquiera asignado localmente pero siempre se conectara al
puerto 21 del servidor y cuando se tengan que realizar las transferencias será el servidor el que se
ponga en contacto con el cliente para hacerlo mediante un puerto valido (se supone que la
comunicación va de cliente a servidor para descargar desde este, en caso de ser al revés se da
vuelta todo), es decir, el proceso de control de cliente puede obtener un puerto local para la
transferencia de archivos lo comunica al servidor a través de la conexión de control y cuando ya
existe una conexión de transferencia de datos usa ese puerto para transferir.
Todos los mensajes utilizados en FTP respetan el protocolo TELNET a diferencia de que
aquí no se negocian opciones y emplea la definición básica de NVT, dando como resultado que la
conexión de control sea más fácil de controlar que una conexión estándar de TELNET.
FTP anónimo
Como se dijo, para acceder a un FTP se necesita de una conexión y una clave de acceso
para la máquina en la que opera el servidor, esto sería en un FTP común y corriente pero con el
FTP anónimo no se lo necesitaría, en tal caso se utiliza una conexión “anónimo” y un pass
“invitado” aunque solo podrá acceder a los archivos públicos.
TFTP
A diferencia del FTP el TFTP por un lado no necesita una conexión de flujo confiable sino
que puede utilizar cualquier otro protocolo como UDP de entrega no confiable utilizando tiempos
límites y retransmisión si lo necesitare, también resulta ser un servicio económico y poco
sofisticado ya que fue diseñado para las transferencia entre cliente y servidor cuando no se tienen
interacciones complejas, restringiendo las operaciones a transferencia de archivos sencilla y sin
autenticación , ahora dado que es un protocolo más sencillo que el FTP será de un menor tamaño
lo que permitirá incorporarlo en la memoria ROM de una maquina lo que permitirá obtener una
imagen de memoria y a su vez utilizando los protocolos TCP subyacentes .
Funcionamiento
El primer paquete (con una cierta cantidad de bloques de archivos en el) enviado necesita
de una transferencia de archivo lo cual establece la interacción cliente-servidor, tal paquete
tendrá un nombre y que tipo de operación tiene destinado (si sube o baja archivos, una vez que se
haya declarado esto el servidor utilizara la dirección IP y el puerto UDP para identificar las
operación siguiente) y una cierta cantidad de bloques de archivo numerados secuencialmente
(sobre los que se tendrá un acuse de recibo asociándolo con dicho numero), número que se
informara en el encabezado del paquete, cuando se recibe un paquete de menos de 512 octetos
se asume que es el final del archivo.
En cuanto a fallas de transmisión se dijo que se utiliza la retransmisión que en este caso
será simétrica (garantizando una mayor confiabilidad) utilizando tiempos limites es decir si en un
extremos se llega a dicho valor se retransmite el último bloque hacia el otro extremo, también, si
en un extremo se llega al tiempo límite y tiene que enviar acuses de recibo retransmite el ultimo,
si bien es un esquema potente sufre de lo que se llama el problema de “Aprendiz de brujo” que se
presenta cuando dado ciertos problemas hacen que un acuse de recibo llegue más tarde de lo
tendría que haber llegado razón por la cual el extremo emisor retransmite un bloque por cada
acuse de recibo a partir de la demora.
NFS
Funcionamiento
Cuando se ejecuta un programa de aplicación se llama al sistema operativo para que abra
o recupere datos desde un archivo, el mecanismo de acceso de archivos acepta la petición y la
transmite al software de sistema de archivo local o cliente NFS (dependiendo si el archivo está en
el sistema local o remoto).
Cuando se recibe una petición el software cliente utiliza NFS para contactarse con el
servidor en la maquina remota y ejecuta la operación requerida de modo que cuando contesta el
servidor en cuestión el software de cliente devuelve los datos a la aplicación.
SSL
SSL
El protocolo SSL (Secure Sockets Layer) permite establecer conexiones seguras a través de
Internet, de forma sencilla y transparente. La idea consiste en interponer una fase de codificación
de los mensajes antes de enviarlos por la red. Una vez que se ha establecido la comunicación,
cuando una aplicación quiere enviar información a otra computadora, la capa SSL la recoge y la
codifica, para luego enviarla a su destino a través de la red. Análogamente, el módulo SSL del otro
ordenador se encarga de decodificar los mensajes y se los pasa como texto plano a la aplicación
destino.
Cada sesión SSL lleva asociado un identificador único que evita la posibilidad de que un
atacante escuche la red y repita exactamente lo mismo que ha oído, aún sin saber lo que significa,
para engañar a uno de los interlocutores.
Las ventajas de este protocolo son evidentes, ya que liberan a las aplicaciones de llevar a
cabo las operaciones criptográficas antes de enviar la información, y su transparencia permite
usarlo de manera inmediata sin modificar apenas los programas ya existentes.
Cuando el cliente pide al servidor seguro una comunicación segura, el servidor abre un
puerto cifrado, gestionado por un software llamado Protocolo SSL Record, situado encima de TCP.
Será el software de alto nivel, Protocolo SSL Handshake, quien utilice el Protocolo SSL Record y el
puerto abierto para comunicarse de forma segura con el cliente.
La fase Hola, usada para ponerse de acuerdo sobre el conjunto de algoritmos para
mantener la intimidad y para la autenticación.
La fase de intercambio de claves, en la que intercambia información sobre las
claves, de modo que al final ambas partes comparten una clave maestra.
La fase de producción de clave de sesión, que será la usada para cifrar los datos
intercambiados.
La fase de verificación del servidor, presente sólo cuando se usa RSA como
algoritmo de intercambio de claves, y sirve para que el cliente autentique al
servidor.
La fase de autenticación del cliente, en la que el servidor solicita al cliente un
certificado X.509 (si es necesaria la autenticación de cliente).
Por último, la fase de fin, que indica que ya se puede comenzar la sesión segura.
Los nodos administradores pueden ser hosts, enrutadores u otros dispositivos capaces de
comunicar información de estado al mundo exterior.
Para ser administrado directamente por el SNMP, un nodo debe ser capaz de ejecutar un
proceso de administración SNMP, llamado agente SNMP. Cada agente mantiene una base de
datos local de nombres que describen su estado e instancia y que afectan su operación.
La administración de la red se hace desde estaciones administradoras que contienen
procesos que se comunican con los agentes a través de la red, emitiendo comandos y recibiendo
respuestas.
El SNMP describe la información exacta de cada tipo de agentes que tiene el administrador
y el formato con que tiene que proporcionarle los datos.
Cada dispositivo mantiene una o más variables que describen su estado; estas variables se
llaman objetos.
El conjunto de todos los posibles estados de una red se da en la estructura de datos MIB
(Base de Información de Administración. Especifica los elementos de los datos que un anfitrión o
un ruteador deben conservar y las operaciones permitidas en cada uno. MIB especifica que
software IP debe llevar una cuenta de todos los objetos que llegan en cada interfaz de red y cuál
es el software de administración de red que puede leer estos valores. MIB para TCP/IP divide la
información de administración en 8 categorías). La estación administradora interactúa con los
agentes usando SNMP. Este protocolo permite a la estación administradora consultar el estado de
los objetos locales de un agente y cambiarlo de ser necesario.
Además de MIB, un estándar especifica reglas para definir e identificar variables MIB. A las
reglas se las conoce como SMI (Structure of management information) y describen como se refiere
MIB a las tablas de valores.
Para mantener los protocolos de administración de red simples, SMI restringe los tipos de
variables permitidas en MIB, especifica reglas para nombrarlas y crea reglas para definir tipos de
variables.
SMI especifica que las variables MIB deben definirse y referirse mediante la Abstract
Syntax Notation 1 (ASN.1), que es un lenguaje formal usado con dos características principales:
una notación utilizada en documentos que los usuarios pueden leer y una representación
codificada compacta de la información empleada en los protocolos de comunicación. La notación
formal precisa suprime la ambigüedad de la representación y del significado. Importante para
implantaciones con computadoras heterogéneas, donde no todas utilizan la misma representación
de datos.
ASN.1 simplifica la implantación de protocolos de administración de red y garantiza su
interoperabilidad. Define como codificar nombres y datos en un mensaje.
ASN.1 permite al usuario definir objetos primitivos y luego cambiarlos para formar otros
más complejos.
Ruteo Dinámico (RIP/OSPF)
Ruteo dinámico:
Todos los routers que componen la red intercambian información de los componentes del
SA.
Los routers solo intercambian información con los routers vecinos.
Cada router de la red envía periódicamente la tabla de ruteo a las redes directamente
conectadas.
Los routers que reciben la tabla de ruteo, analizan la información y si encuentran rutas
nuevas o redes alcanzables con mejor métrica actualizan su tabla de ruteo.
Cuando una red falla debe enviarse con métrica infinito (inalcanzable)
OSPF
Características
Es un protocolo estándar
Especificación disponible en la información pública: Cualquiera puede ver su RFC y
programar un protocolo OSPF sin pagar algo.
Ruteo servicio de tipo: En un paquete TCP se cuenta con las opciones de mejor
rendimiento, retardo lento, etc. las cuales pueden ser utilizadas por OSPF para informar
una ruta por cada tipo de servicio especificado.
Balance de carga: Si se difunde varias rutas hacia un mismo destino con costo de alcance
igual OSPF dividirá el tráfico en forma igual entre todas esas rutas.
Áreas: Cada localidad puede dividir sus redes y ruteadores en áreas donde cada una
tendrá su propio grafo siendo autónoma de las demás utilizando su propia esquema de
ruteo ocultando su topología de red a las otras áreas, utilizando su propio esquema de
autenticación, etc.
Intercambio autenticados: solo los ruteadores confiables pueden difundir información de
ruteo.
Rutas específicas para anfitriones y rutas de subred.
Ruteador designado: Las redes de acceso múltiple pueden tener un ruteador designado
que manda información del estado de enlace en nombre de todos los ruteadores
conectados en la misma red.
Topología de red virtual: Lo que permite una abstracción de la topología de conexiones
física.
Intercambio de información de ruteo aprendida desde otras localidades externas (desde
otra red).
Todos los mensajes OSPF pueden ser de 5 tipos diferenciados en el encabezamiento del
mensaje en el campo TYPE, el cual posee el campo VERSIÓN, LONGITUD DEL MENSAJE, DIRECCIÓN
DEL RUTEADOR FUENTE, CHECKSUM, ID AREA (Área del ruteador fuente), AUTENTICACIÓN
(esquema de autenticación de mensaje utilizado).
Los tipos de mensaje son:
HELO: Se lo utiliza para saber si un vecino es accesible)
Intercambio de base de datos: Se lo utiliza para iniciar la base de datos de la
topología de red de un ruteador, en este intercambio el que manda la solicitud es
el maestro y el que responde con la información con un acuse de recibo es el
esclavo, dado que la base de datos puede ser grande podemos dividirla en
segmentos (se utiliza el bit I para mensaje inicial y el M para decir que vienen más
atrás) y mandarlos en paquetes OSPF separados identificando quien es el amo y
quien es el esclavo (bit S).
Solicitud de estado de enlace: Cuando se utilizó ya un mensaje de descripción de
base de datos y por ende se recibió una copia de la base de datos del vecino un
ruteador puede encontrarse con que esta desactualizada por lo que le manda al
vecino una solicitud de estado de enlace a lo que responde con la información más
actualizada que disponga acerca de los enlaces.
Actualización de estado de enlace: Se lo utiliza para informar el estado de un
enlace.
RIP
Protocolo que utiliza un algoritmo de vector distancia con conteo de saltos hacia las redes
alcanzables por un router, en este tipo de implementación un router puede estar en estado activo
o pasivo ( manda información de ruteo o escucha información de ruteo ) pero a diferencia de otros
solamente hay un router activo y el resto son todos pasivos (dentro de una misma red) y no
realizaran la averiguación de las rutas pero si escucharan los mensajes que mandan los activos (los
cuales también escuchan a otros activos) con la información de distancia hacia otra red (mensaje:
dirección IP de red -distancia en saltos hacia una red) de este modo siempre tienen las rutas más
cortas hacia otros destinos ( manteniendo esta hasta que se aprenda una más corta) aunque tal
vez no eficiente por las diferencias de tecnología en la red subyacente (no es lo mismo pasas por
una serial que una Ethernet.) aunque se le puede solucionar poniendo valores grandes en los
contadores de salto cuando se deba pasar por una red lenta.
Cada vez que se aprende una ruta se inicia un temporizador asociado a esa ruta si durante
un periodo de tiempo de 180 segundos no se recibe un mensaje que indique esa red de destino
esta activa se borra de la tabla manteniéndose la información actualizada.
Problemas que sufre el protocolo:
No detección de ciclos: Salvo que tome las políticas necesarias para ello, por lo
que de entrada se asume que los participantes del ruteo son confiables.
Valor de distancia máxima (infinito) bajo: Lo cual limita al tamaño de una red (si
estamos hablando de una red como puede ser la de una empresa) salvo que se use
un protocolo alternativo o dividir la red en segmentos.
Convergencia lenta: También lo sufren otros protocolos de vector distancia.
Producida por que lo mensaje se difunden lentamente a través de una red, el caso
es como sigue, cuando un ruteador trabaja normalmente manda las distancia
hacia las redes de destinos con su IP y los saltos para alcanzarla pero cuando falla y
no puede alcanzar una ruta lo que hace es mandar la IP de esa red pero con una
valor de distancia de 16 (para que no se haya ruteo a través de este router ) pero
puede de que no se difunda ya que cuando lo intenta y le llegan mensajes desde
otros router (que utilizan a este como pasarela hacia la red que fallo) con una ruta
hacia la red fallida más corta (obviamente menor que 16 ya que no pudieron
actualizar sus tablas por que el router que lo debía hacer no lo hizo a tiempo) este
descartará el valor de 16 y pondrá el valor que se le ha informado por lo que
cuando se tenga que rutear hacia la red fallida se entrara en un ciclo entre los
router hasta que el TTL del mensaje llegue a 0 o hasta que las rutas de los
ruteadores lleguen hasta infinito (16 - ya que en primera instancia no se informó el
16 y se tomó un valor menor , entonces cuando se informe nuevamente las rutas
hacia los demás router (con la red de destino fallida) se incrementara el valor de
distancia en las tablas de los que participen del ciclo en un valor igual a 1 por cada
ciclo de difusión de rutas y así hasta llegar a 16).
Entre las soluciones a la convergencia lenta están:
Horizonte separado: Cuando se recibe un mensaje se toma en cuenta la interfaz de
red por la cual se recibió y no difunde esa información acerca de la ruta de regreso
sobre la misma interfaz.
Hold down: Ignorar la información acerca de que un destino es inaccesible por un
periodo de tiempo desde la recepción del mensaje que lo informa (se sigue
ruteando normalmente hasta que expire ese tiempo de modo de que todos los
router sepan que la red de destino es inaccesible y no ocurran ciclos entre routers
después de ese tiempo). Aunque sí se presentan antes de que expire ese tiempo lo
cual es una desventaja ya que puede que no considere las rutas alternativas.
Poisson reverse: Se anuncia un destino inaccesible pero se mantiene la entrada
hacia esa red en la tabla por un periodo de tiempo colocando un valor de infinito
Actualizaciones activadas Se le obliga a un ruteador a informar inmediatamente
una mala noticia cuando ocurre así no ocurren ciclos como se mencionó
anteriormente cuando llegan rutas con valores más cortos. Se la puede combinar
con Poisson reverse.
Si bien estas técnicas solucionan el problema introducen otros como lo son las avalanchas
de difusiones (surgidas como resultado de las actualizaciones de las tablas por cada ciclo de
difusión de rutas ) y el ancho de banda que ocupan esas difusiones (a mayor cantidad de routers
que difunden hay más tráfico sobre la red y por ende la reducción del ancho de banda en cada
difusión lo cual puede ser peligroso cuando se presentan ciclos ya que existirá trafico cuando en
realidad no lo debe haber saturado la línea lo cual puede provocar que la información necesaria
para romper el ciclo no llegue a tiempo).
Los mensajes pueden ser información de ruteo y de solicitud de información básicamente
pero están divididos en 5 tipos (los cuales se distinguen en la sección command –8 bits- del
paquete), también en el paquete están las direcciones de red de destino (con una extensión de 14
octetos ya que RIP no se limita solamente a TCP-IP por lo que para saber con que tipo de dirección
se está tratando se utiliza el campo “Family of net”) y los saltos para alcanzarlas, no se dispone de
un campo longitud de mensaje pero la cual es averiguada por los mecanismos subyacentes de
entrega, si utilizamos para mandar el paquete TCP (medio de transporte) y UDP como medio de
entrega será UDP quien informe la longitud del mensaje (utilizando el puerto 520).
RIP se diferencia de OSPF porque solo considera una ruta por cada destino.
IPv6
IPv6:
Header:
IHL (Internet header lenght): Mencionaba cuál era la longitud del header, ya no está más,
porque el header de IPv6 es fijo.
Indet, Flag s y Fragment offset no están más.
Checksum del header: no está más, ya que había que calcularlo en cada salto. Era
ineficiente.
Options: como el header es fijo no tiene más opciones
Hop limit: Es igual al TTL, se disminuye en cada salto. Para evitar que los paquetes vivan
eternamente.
Cabeceras de extensión:
Todas son opcionales, pero si hay más de una, deben aparecer justo después de la
cabecera fija y de preferencia en el orden listado.
Pueden tener formato:
Fijo:
Variable: cada elemento está codificado como una tupla; (tipo, longitud, valor)
Tipo: indica la opción de la que se trata.
Longitud: indica la longitud de valor.
Valor: es cualquier información requerida.
Header salto por salto: Se usa para la información que deben examinar todos los
enrutadores a lo largo de la trayectoria.
Descripción según el orden de campos:
A: Next header, dice la cabecera que sigue.
B: indica la longitud del header salto por salto en bytes, excluyendo los primeros 8 bytes
que son obligatorios.
C: indica que opción define el tamaño del datagrama.
D: indica el tamaño del datagrama.
Cabecera de enrutamiento:
Lista uno o más enrutadores que deben visitarse en el camino de destino.
Cabecera de fragmentación:
Maneja la fragmentación. Contiene el identificador del datagrama, el número de
fragmento y un bit que indica si seguirán más fragmentos.+
Solo el host de origen puede fragmentar un paquete. Los enrutadores a lo largo del camino no
pueden hacerlo.
Si un enrutador confronta un paquete demasiado grande, lo descarta y devuelve un
paquete ICMP al origen.
Esto permite que el host origen fragmente el paquete en pedazos más pequeños usando
esta cabecera y lo intente de nuevo.
Path MTU:
Indica el máximo tamaño que puede tener el datagrama. En función del path MTU, el host
origen lo fragmenta y envía.
En IPv6 el MTU >= 1280.
El datagrama total tiene que ser de por lo menos 1500 octetos.
Tipo de direcciones:
Unicast: un identificador para una simple interface. Un paquete que se envía a una
dirección unicast, es entregado a la interface identificada con esa dirección.
Direcciones IPv6