Modelos de Capas en Internet

Modelo de capas en internet El modelo de capas TCP/IP es una abstracción para juntar protocolos en un solo modelo. Repre

Views 159 Downloads 2 File size 599KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Modelo de capas en internet El modelo de capas TCP/IP es una abstracción para juntar protocolos en un solo modelo. Representa como un problema de comunicación puede ser particionado en partes que trabajan juntas. Describe un conjunto de guías generales de diseño e implementación de protocolos de red específicos para permitir que un equipo pueda comunicarse en una red. TCP/IP provee conectividad de extremo a extremo especificando cómo los datos deberían ser formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario. Para conseguir un intercambio fiable de datos entre dos equipos, se deben llevar a cabo muchos procedimientos separados. El resultado es que el software de comunicaciones es complejo. Con un modelo en capas o niveles resulta más sencillo agrupar funciones relacionadas e implementar el software modular de comunicaciones. Las capas están jerarquizadas. Cada capa se construye sobre su predecesora. El número de capas y, en cada una de ellas, sus servicios y funciones son variables con cada tipo de red. Sin embargo, en cualquier red, la misión de cada capa es proveer servicios a las capas superiores haciéndoles transparentes el modo en que esos servicios se llevan a cabo. De esta manera, cada capa debe ocuparse exclusivamente de su nivel inmediatamente inferior, a quien solicita servicios, y del nivel inmediatamente superior, a quien devuelve resultados. Cada capa encapsula el contenido de la anterior agregando un encabezado adelante del mensaje. Por último, cada capa física incluye las especificaciones del hardware y el medio de transmisión. Capa de Acceso de Red: Es la capa que maneja todos los aspectos que un paquete IP requiere para efectuar un enlace físico real con los medios de la red. Esta capa incluye los detalles de la tecnología LAN y WAN y todos los detalles de las capas física y de enlace de datos del modelo OSI. Los controladores para las aplicaciones de software, las tarjetas de módem y otros dispositivos operan en la capa de acceso de red. La capa de acceso de red define los procedimientos para realizar la interfaz con el hardware de la red y para tener acceso al medio de transmisión. Son funciones de esta capa: la asignación de direcciones IP a las direcciones físicas, el encapsulamiento de los paquetes IP en tramas. Basándose en el tipo de hardware y la interfaz de la red, la capa de acceso de red definirá la conexión con los medios físicos de la misma. Capa de Red: Esta capa tiene como propósito seleccionar la mejor ruta para enviar paquetes por la red. El protocolo principal que funciona en esta capa es el Protocolo de Internet (IP). La determinación de la mejor ruta y la conmutación de los paquetes ocurre en esta capa. Protocolos que operan en la capa de internet: 



IP proporciona un enrutamiento de paquetes no orientado a conexión de máximo esfuerzo. El IP no se ve afectado por el contenido de los paquetes, sino que busca una ruta de hacia el destino. ICMP, Protocolo de mensajes de control en Internet suministra capacidades de control y envío de mensajes. ARP RARP

Capa de Transporte: La capa de transporte proporciona servicios de transporte desde el host origen hacia el host destino. En esta capa se forma una conexión lógica entre los puntos finales de la red, el host transmisor y el host receptor. Los protocolos de transporte segmentan y reensamblan los datos mandados por las capas superiores en el mismo flujo de datos, o conexión lógica entre los extremos. La corriente de datos de la capa de transporte brinda transporte de extremo a extremo.

La capa de transporte envía los paquetes de datos desde la fuente transmisora hacia el destino receptor a través de la nube. El control de punta a punta, que se proporciona con las ventanas deslizantes y la confiabilidad de los números de secuencia y acuses de recibo, es el deber básico de la capa de transporte cuando utiliza TCP. La capa de transporte también define la conectividad de extremo a extremo entre las aplicaciones de los hosts. Los paquetes pueden tomar múltiples rutas para llegar a su destino, generalmente los saltos entre routers se representan con una nube que representa las distintas posibles rutas. La capa de transporte envía los paquetes de datos desde la fuente transmisora hacia el destino receptor a través de la nube. La nube maneja los aspectos tales como la determinación de la mejor ruta, balanceo de cargas, etc. Capa de Aplicación: La capa de aplicación del modelo TCP/IP maneja protocolos de alto nivel, aspectos de representación, codificación y control de diálogo. El modelo TCP/IP combina todos los aspectos relacionados con las aplicaciones en una sola capa y asegura que estos datos estén correctamente empaquetados antes de que pasen a la capa siguiente. TCP/IP incluye no sólo las especificaciones de Internet y de la capa de transporte, tales como IP y TCP, sino también las especificaciones para aplicaciones comunes. TCP/IP tiene protocolos que soportan la transferencia de archivos, e-mail, y conexión remota, además de los siguientes: FTP,TFTP, NFS, SMTP, TELNET, SNMP, DNS Funciones del Protocolo IP • Define un paquete y un esquema de direccionamiento. • Transfiere los datos entre la capa Internet y las capas de acceso de red. • Enruta los paquetes hacia los hosts remotos. A veces, se considera a IP como protocolo poco confiable. Esto no significa que IP no enviará correctamente los datos a través de la red. Llamar al IP, protocolo poco confiable simplemente significa que IP no realiza la verificación y la corrección de los errores. De esta función se encarga TCP, es decir el protocolo de la capa superior ya sea desde las capas de transporte o aplicación. 

Encabezamiento IP :El encabezamiento de un datagrama IP incluye: la versión del protocolo, el largo del encabezamiento, el tipo de servicio, la longitud total del datagrama, un número de identificación, flags, Tiempo de vida, la fragmentación, dirección ip de origen y de destino, checksum, etc.

Protocolo TCP El protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina, a través del concepto de puerto. Las conexiones TCP se componen de tres etapas: 1. establecimiento de conexión, 2. transferencia de datos, y 3. fin de la conexión.

Para establecer la conexión se usa el procedimiento llamado “negociación en tres pasos” (3way handshake). Para la desconexión se usa una “negociación en cuatro pasos” (4-way handshake). Durante el establecimiento de la conexión, se configuran algunos parámetros tales como el número de secuencia con el fin de asegurar la entrega ordenada de los datos y la robustez de la comunicación. El lado cliente de una conexión realiza una apertura activa de un puerto enviando un paquete SYN inicial al servidor como parte de la negociación en tres pasos. En el lado del servidor (este receptor también puede ser una PC o alguna estación terminal) se comprueba si el puerto está abierto, es decir, si existe algún proceso escuchando en ese puerto, pues se debe verificar que el dispositivo de destino tenga este servicio activo y esté aceptando peticiones en el número de puerto que el cliente intenta usar para la sesión. En caso de no estarlo, se envía al cliente un paquete de respuesta con el bit RST activado, lo que significa el rechazo del intento de conexión. En caso de que sí se encuentre abierto el puerto, el lado servidor respondería a la petición SYN válida con un paquete SYN/ACK. Finalmente, el cliente debería responderle al servidor con un ACK, completando así la negociación en tres pasos (SYN, SYN/ACK y ACK) y la fase de establecimiento de conexión. Durante la etapa de transferencia de datos, una serie de mecanismos claves determinan la fiabilidad y robustez del protocolo. Entre ellos están incluidos el uso del número de secuencia para ordenar los segmentos TCP recibidos y detectar paquetes duplicados, checksums para detectar errores, y asentimientos y temporizadores para detectar pérdidas y retrasos. Encabezado TCP:

Puerto origen (16 bits): Identifica el puerto emisor. Puerto destino (16 bits): Identifica el puerto receptor. Estos dos valores identifican la aplicación receptora y la emisora, junto con las direcciones IP del emisor y receptor identifican de forma unívoca cada conexión. 

Número de secuencia (32 bits): Identifica el byte del flujo de datos enviado por el emisor TCP al receptor TCP que representa el primer byte de datos del segmento.



Número de acuse de recibo (32 bits): Contiene el valor del siguiente número de secuencia que el emisor del segmento espera recibir.

Una vez que la conexión ha sido establecida, este número se envía siempre y se valida con el flag ACK activado. 

Longitud de cabecera (4 bits): especifica el tamaño de la cabecera en palabras de 32 bits.

Es requerido porque la longitud del campo “opciones” es variable. Por lo tanto el tamaño máximo de la cabecera está limitado a 60 bytes, mientras que sin “opciones” el tamaño normal

será de 20 bytes. A este campo también se le suele llamar “data offset” por el hecho de que es la diferencia en bytes desde el principio del segmento hasta el comienzo de los datos. Reservado (3 bits): para uso futuro. Debe estar a 0. Flags (9 bits): 

NS : ECN-nonce concealment protection. Para proteger frente a paquetes accidentales o maliciosos que se aprovechan del control de congestión para ganar ancho de banda de la red.



CWR : Congestion Window Reduced. El flag se activa por el host emisor para indicar que ha recibido un segmento TCP con el flag ECE activado y ha respondido con el mecanismo de control de congestión.



ECE : Para dar indicaciones sobre congestión.



URG: Indica que el campo del puntero urgente es válido.



ACK : Indica que el campo de asentimiento es válido. Todos los paquetes enviados después del paquete SYN inicial deben tener activo este flag.



PSH: Push. El receptor debe pasar los datos a la aplicación tan pronto como sea posible, no teniendo que esperar a recibir más datos.



RST: Reset. Reinicia la conexión, cuando falla un intento de conexión, o al rechazar paquetes no validos.



SYN: Synchronice. Sincroniza los números de secuencia para iniciar la conexión.



FIN: Para que el emisor (del paquete) solicite la liberación de la conexión.



Tamaño de ventana o ventana de recepción (16 bits): Tamaño de la ventana de recepción que especifica el número máximo de bytes que pueden ser metidos en el buffer de recepción o dicho de otro modo, el número máximo de bytes pendientes de asentimiento. Es un sistema de control de flujo.



Suma de verificación (16 bits): Checksum utilizado para la comprobación de errores tanto en la cabecera como en los datos.



Puntero urgente (16 bits): Cantidad de bytes desde el número de secuencia que indica el lugar donde acaban los datos urgentes.



Opciones: Para poder añadir características no cubiertas por la cabecera fija.



Relleno: Se utiliza para asegurarse que la cabecera acaba con un tamaño múltiplo de 32 bits.

Protocolo UDP User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de datagramas (Encapsulado de capa 4 Modelo OSI). Permite el envío de 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. El protocolo UDP se utiliza por ejemplo cuando se necesita transmitir voz o vídeo y resulta más importante transmitir con velocidad que garantizar el hecho de que lleguen absolutamente todos los bytes. Las características principales de este protocolo son: 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. Protocolo 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. También puede ser utilizado para transmitir mensajes ICMP Query. 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. 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 (como se especifica en el RFC 1122). Estos errores del protocolo ICMP se dirigen a la dirección IP de origen del paquete originario. Podríamos decir, que 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. Los mensajes ICMP son comúnmente generados en respuesta a errores en los datagramas de IP o para diagnóstico y ruteo. La versión de ICMP para IPv4 también es conocida como ICMPv4. IPv6 tiene su protocolo equivalente ICMPv6. Los mensajes ICMP son

construidos en el nivel de capa de red. IP encapsula el mensaje ICMP apropiado con una nueva cabecera IP (para obtener los mensajes de respuesta desde el host original que envía), y transmite el datagrama resultante de manera habitual. Los mensajes del protocolo ICMP se encuentra dentro de los paquetes IP estándar, los mensajes ICMP se procesan generalmente como un caso especial, para distinguirse de procesamientos de IP normal, en lugar de ser procesado como un sub-protocolo normal de IP. En la mayoría de los casos, es necesario analizar el contenido de los mensajes de ICMP( Protocolo de Mensajes de Control de Internet)y entregar el mensaje de error correspondiente a la aplicación que generó el paquete IP original, el que envió el paquete que se le solicitara el envió del mensaje ICMP. Por ejemplo, cada router que reenvía un datagrama IP tiene que disminuir el campo de tiempo de vida (TTL) de la cabecera IP en una unidad; si el TTL llega a 0, un mensaje ICMP "Tiempo de Vida se ha excedido en transmitirse" es enviado a la fuente del datagrama. Cada mensaje ICMP es encapsulado directamente en un solo datagrama IP, y por tanto no garantiza la entrega del ICMP. Aunque los mensajes ICMP son contenidos dentro de datagramas estándar IP, los mensajes ICMP se procesan como un caso especial del procesamiento normal de IP, algo así como el procesamiento de un sub-protocolo de IP. En muchos casos es necesario inspeccionar el contenido del mensaje ICMP y entregar el mensaje apropiado de error a la aplicación que generó el paquete IP original, aquel que solicitó el envío del mensaje ICMP. La utilidad del protocolo ICMP es controlar si un paquete no puede alcanzar su destino, si su vida ha expirado, etc. Es decir, se usa para manejar mensajes de error y de control necesarios para los sistemas de la red, informando con ellos a la fuente original para que evite o corrija el problema detectado. Muchas de las utilidades de red comunes están basadas en los mensajes ICMP. El comando traceroute está implementado transmitiendo datagramas IP con campos especiales TTL IP en la cabecera, y buscando los mensajes de "Tiempo de Vida en tránsito" y "Destino inalcanzable" generados como respuesta. La herramienta ping está implementada utilizando los mensajes "Echo request" y "Echo reply" de ICMP.



Tipo - Tipo de ICMP como se especifica a continuación.



Código - Subtipo al tipo dado.



Checksum - Datos comprobación de errores. Calculado a partir de la cabecera ICMP + datos, con un valor de 0 para este campo. El algoritmo de suma de comprobación se especifica en RFC 1071.



Resto del Header - Cuatro campo byte. Puede variar en función del tipo y código ICMP.

Direccionamiento IPv4 IPv6 El Protocolo de Internet versión 4 (IPv4), es la cuarta versión del Internet Protocol (IP), y la primera en ser implementada a gran escala. Definida en el RFC 791. IPv4 usa direcciones de 32 bits, limitándola a = 4 294 967 296 direcciones únicas, muchas de las cuales están dedicadas a redes locales (LAN).1Por el crecimiento enorme que ha tenido Internet (mucho más de lo que esperaba, cuando se diseñó IPv4), combinado con el hecho de que hay desperdicio de direcciones en muchos casos ya hace varios años se vio que escaseaban las direcciones IPv4. Esta limitación ayudó a estimular el impulso hacia IPv6. El desperdicio de direcciones IPv4 se debe a varios factores: Uno de los principales es que inicialmente no se consideró el enorme crecimiento que iba a tener Internet; se asignaron bloques de direcciones grandes (de 16 271 millones de direcciones) a países, e incluso a empresas. Otro motivo de desperdicio es que en la mayoría de las redes, exceptuando las más pequeñas, resulta conveniente dividir la red en subredes. Dentro de cada subred, la primera y la última dirección no son utilizables; de todos modos no siempre se utilizan todas las direcciones restantes. Por ejemplo, si en una subred se quieren acomodar 80 hosts, se necesita una subred de 128 direcciones (se tiene que redondear a la siguiente potencia de base 2); en este ejemplo, las 48 direcciones restantes ya no se utilizan.

El Protocolo de Internet versión 6 (IPv6), es una versión del Internet Protocol (IP) diseñada para reemplazar a Internet Protocol version 4 (IPv4) que actualmente está implementado en la gran mayoría de dispositivos que acceden a Internet. En muchos aspectos, IPv6 es una extensión conservadora de IPv4. La mayoría de los protocolos de transporte -y aplicación- necesitan pocos o ningún cambio para operar sobre IPv6; las excepciones son los protocolos de aplicación que integran direcciones de capa de red, como FTP o NTP. IPv6 especifica un nuevo formato de paquete, diseñado para minimizar el procesamiento del encabezado de paquetes. Debido a que las cabeceras de los paquetes IPv4 e IPv6 son significativamente distintas, los dos protocolos no son interoperables. El cambio más grande de IPv4 a IPv6 es la longitud de las direcciones de red. Las direcciones IPv6 son de 128 bits; esto corresponde a 32 dígitos hexadecimales, que se utilizan normalmente para escribir las direcciones IPv6.

El número de direcciones IPv6 posibles es de 2128 ≈ 3.4 x 1038. Este número puede también representarse como 1632, con 32 dígitos hexadecimales, cada uno de los cuales puede tomar 16 valores. En muchas ocasiones las direcciones IPv6 están compuestas por dos partes lógicas: un prefijo de 64 bits y otra parte de 64 bits que corresponde al identificador de interfaz, que casi siempre se genera automáticamente a partir de la dirección MAC de la interfaz a la que está asignada la dirección. Algunos de los cambios de IPv4 a IPv6 más relevantes son: 

Capacidad extendida de direccionamiento



Autoconfiguración de direcciones libres de estado (SLAAC)



Multicast



Seguridad de Nivel de Red obligatoria[editar]



Procesamiento simplificado en los routers



Movilidad



Soporte mejorado para las extensiones y opciones



Jumbogramas

Protocolos de Ruteo El routeo es la información utilizada para enviar en cada salto los datagramas en la dirección correcta. Puede ser estático o dinámico. El estático es una tabla que no cambia excepto manualmente por un administrador, el dinámico de acuerdo a un software. Los sistemas autónomos son redes contiguas conectadas entre si. Cada sistema autónomo tiene una autoridad administrativa. ISP, universidades, corporaciones, etc. Un ISP puede dividirse en varios sistemas autónomos Hay un solo protocolo de ruteo exterior (entre sistemas autónomos) en uso y es el BGP, las puertas de enlace intercambian información de listas de routers conocidos, las direcciones a las que pueden llegar y el costo asociado a cada camino para que se pueda elegir la mejor ruta. Los protocolos de ruteo interior (dentro de un sistema autónomo) más usados son RIP y OSPF. Cada router RIP mantiene una tabla de routeo con la lista de todos los destinos a los que sabe llegar y con la distancia hasta ese destino (cantidad de saltos). Se utiliza un algoritmo para decidir en que camino poner un paquete. Cada router envía su tabla a sus vecinos mas cercanos cada 30 segundos. Un router OSPF avisa inmediatamente con multicast cuando detecta un cambio en la red, y solo necesita enviar lo que cambió. En vez de contar la cantidad de saltos, se basa en estados de enlace, incluyendo información adicional como si es alámbrico o inalámbrico, velocidad máxima, etc.