CUESTONARIO TCP/IP



En este cuestonario podran encontrar vario temas relacionados con el TCP/IP.
 
El Protocolo de Control de Transmisión (TCP) y Protocolo de Internet (IP), que fueron dos de los primeros en definirse, y que son los más utilizados de la familia. Existen tantos protocolos en este conjunto que llegan a ser más de 100 diferentes, entre ellos se encuentra el popular HTTP (HyperText Transfer Protocol), que es el que se utiliza para acceder a las páginas web, además de otros como el ARP (Address Resolution Protocol) para la resolución de direcciones, el FTP (File Transfer Protocol) para transferencia de archivos, y el SMTP (Simple Mail Transfer Protocol) y el POP (Post Office Protocol) para correo electrónico, TELNET para acceder a equipos remotos, entre otros.


El TCP/IP es la base de Internet, y sirve para enlazar computadoras que utilizan diferentes sistemas operativos, incluyendo PC, minicomputadoras y computadoras centrales sobre redes de área local (LAN) y área extensa (WAN).


TCP/IP
fue desarrollado y demostrado por primera vez en 1972 por el Departamento de Defensa de los Estados Unidos, ejecutándolo en ARPANET, una red de área extensa de dicho departamento.
El funcionamiento de los protocolos TCP/IP debe tenerse en cuenta la arquitectura que ellos proponen para comunicar redes. Tal arquitectura ve como iguales a todas las redes a conectarse, sin tomar en cuenta el tamaño de ellas, ya sean locales o de cobertura amplia. Define que todas las redes que intercambiarán información deben estar conectadas a una misma computadora o equipo de procesamiento (dotados con dispositivos de comunicación); a tales computadoras se les denominan compuertas, pudiendo recibir otros nombres como enrutadores o puentes.
Para que en una red dos computadoras puedan comunicarse entre sí ellas deben estar identificadas con precisión Este identificador puede estar definido en niveles bajos (identificador físico) o en niveles altos (identificador lógico) de pendiendo del protocolo utilizado. TCP/IP utiliza un identificador denominado dirección Internet o dirección IP, cuya longitud es de 32 bytes. La dirección IP identifica tanto a la red a la que pertenece una computadora como a ella misma dentro de dicha red.
El Protocolo de Control de Transmisión (TCP) permite a dos anfitriones establecer una conexión e intercambiar datos. El TCP garantiza la entrega de datos, es decir, que los datos no se pierdan durante la transmisión y también garantiza que los paquetes sean entregados en el mismo orden en el cual fueron enviados.

Los bits se compone de las direcciones de ip versión

VERSION 4 : 32 Bits
VERSION 6 : 128 Bits
La versión IP Version 6 fue creada ya a que hace falta de direcciones. IPv4 tiene un espacio de direcciones de 32 bits, en cambio IPv6 ofrece un espacio de 128 bits. El reducido espacio de direcciones de IPv4, junto al hecho de falta de coordinación para su asignación durante la década de los 80, sin ningún tipo de optimización, dejando incluso espacios de direcciones discontinuos, generan en la actualidad, dificultades no previstas en aquel momento.

Otros de los problemas de IPv4 es la gran dimensión de las tablas de ruteo en el backbone de Internet, que lo hace ineficaz y perjudica los tiempos de respuesta.

Debido a la multitud de nuevas aplicaciones en las que IPv4 es utilizado, ha sido necesario agregar nuevas funcionalidades al protocolo básico, aspectos que no fueron contemplados en el análisis inicial de IPv4, lo que genera complicaciones en su escalabilidad para nuevos requerimientos y en el uso simultáneo de dos o más de dichas funcionalidades. Entre las mas conocidas se pueden mencionar medidas para permitir la Calidad de Servicio (QoS), Seguridad (IPsec) y movilidad.

Las características de IPVersion6 son :

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 NTPv3, NTPv4.
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.

Algunos de los cambios de IPv4 a IPv6 más relevantes son:

Capacidad extendida de direccionamiento

El interés de los diseñadores era que direcciones más largas permiten una entrega jerárquica, sistemática y en definitiva mejor de las direcciones y una eficiente agregación de rutas.

Autoconfiguración de direcciones libres de estado (SLAAC)

Los nodos IPv6 pueden configurarse a sí mismos automáticamente cuando son conectados a una red ruteada en IPv6 usando los mensajes de descubrimiento de routers de ICMPv6.

Multicast

La habilidad de enviar un paquete único a destinos múltiples es parte de la especificación base de IPv6. Esto es diferente a IPv4, donde es opcional (aunque usualmente implementado).

IPv6 no implementa broadcast, que es la habilidad de enviar un paquete a todos los nodos del enlace conectado.

Seguridad de Nivel de Red obligatoria

Internet Protocol Security (IPsec), el protocolo para cifrado y autenticación IP forma parte integral del protocolo base en IPv6. El soporte IPsec es obligatorio en IPv6; a diferencia de IPv4, donde es opcional o fue un agregado posterior (pero usualmente implementado).
Procesamiento simplificado en los routers

Se hicieron varias simplificaciones en la cabecera de los paquetes, así como en el proceso de reenvío de paquetes para hacer el procesamiento de los paquetes más simple y por ello más eficiente.

Movilidad

A diferencia de IPv4 móvil (MIPv4), IPv6 móvil (MIPv6) evita el ruteo triangular y por lo tanto es tan eficiente como el IPv6 normal. Los routers IPv6 pueden soportar también Movilidad de Red (NEMO, por Network Mobility) (RFC 3963), que permite que redes enteras se muevan a nuevos puntos de conexión de routers sin reasignación de numeración.

Soporte mejorado para las extensiones y opciones
Los cambios en la manera en que se codifican las opciones de la cabecera IP permiten límites menos rigurosos en la longitud de opciones, y mayor flexibilidad para introducir nuevas opciones en el futuro.

Jumbogramas

IPv4 limita los paquetes a 64 KiB de carga útil. IPv6 tiene soporte opcional para que los paquetes puedan superar este límite, los llamados jumbogramas, que pueden ser de hasta 4 GiB. El uso de jumbogramas puede mejorar mucho la eficiencia en redes de altos MTU. El uso de jumbogramas está indicado en el encabezado opcional Jumbo Payload Option.

Aca podemos encontrar un ejemplo que explica de una manera mas sencilla 

 
Palabras breves de los diferentes protocolos:

TCP  Transmission Control Protocol (en español Protocolo de Control de Transmisión) o TCP, es uno de los protocolos fundamentales en Internet. Fue creado entre los años 1973 y 1974 por Vint Cerf y Robert Kahn.
Muchos programas dentro de una red de datos compuesta por computadoras, pueden usar TCP para crear conexiones entre ellos 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. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina, a través del concepto de puerto.
 

UDP o User Datagram Protocol: 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. 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.

Una dirección IP es una etiqueta numérica que identifica, de manera lógica y jerárquica, a un interfaz (elemento de comunicación/conexión) de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red del Modelo OSI. Dicho número no se ha de confundir con la dirección MAC, que es un identificador de 48bits para identificar de forma única la tarjeta de red y no depende del protocolo de conexión utilizado ni de la red. La dirección IP puede cambiar muy a menudo por cambios en la red o porque el dispositivo encargado dentro de la red de asignar las direcciones IP decida asignar otra IP (por ejemplo, con el protocolo DHCP). A esta forma de asignación de dirección IP se denomina también se ocupa para encontrar domicilios y toda la información necesariadirección IP dinámica (normalmente abreviado como IP dinámica).  
 
ICMP (Protocolo de mensajes de control de Internet) es un protocolo que permite administrar información relacionada con errores de los equipos en red. Si se tienen en cuenta los escasos controles que lleva a cabo el protocolo IP, ICMP no permite corregir los errores sino que los notifica a los protocolos de capas cercanas. Por lo tanto, el protocolo ICMP es usado por todos los routers para indicar un error (llamado un problema de entrega).

ARP Son las siglas en inglés de Address Resolution Protocol (Protocolo de resolución de direcciones).

Es un protocolo de la capa de enlace de datos responsable de encontrar la dirección hardware (Ethernet MAC) que corresponde a una determinada dirección IP. Para ello se envía un paquete (ARP request) a la dirección de difusión de la red (broadcast (MAC = FF FF FF FF FF FF)) que contiene la dirección IP por la que se pregunta, y se espera a que esa máquina (u otra) responda (ARP reply) con la dirección Ethernet que le corresponde. Cada máquina mantiene una caché con las direcciones traducidas para reducir el retardo y la carga. ARP permite a la dirección de Internet ser independiente de la dirección Ethernet, pero esto sólo funciona si todas las máquinas lo soportan.

ARP está documentado en el Request for comments RFC (Request For Comments) 826.

DNS o Domain Name System(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.

RARP son las siglas en inglés de Reverse Address Resolution Protocol (Protocolo de resolución de direcciones inverso).

Es un protocolo utilizado para resolver la dirección IP de una dirección hardware dada (como una dirección Ethernet). La principal limitación era que cada dirección MAC tenía que ser configurada manualmente en un servidor central y se limitaba sólo a la dirección IP, dejando otros datos como
la máscara de subred, puerta de enlace y demás información que tenían que ser configurados a mano. Otra desventaja de este protocolo es que utiliza como dirección destino, evidentemente, una dirección MAC de difusión para llegar al servidor RARP. Sin embargo, una petición de ese tipo no es reenviada por el router del segmento de subred local fuera de la misma, por lo que este protocolo, para su correcto funcionamiento, requiere de un servidor RARP en cada subred.

FTP (siglas en inglés de File Transfer Protocol, '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.

Telnet (TELecommunication NETwork) es el nombre de un protocolo de red a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella. También es el nombre del programa informático que implementa el cliente. Para que la conexión funcione, como en todos los servicios de Internet, la máquina a la que se acceda debe tener un programa especial que reciba y gestione las conexiones. El puerto que se utiliza generalmente es el 23.

Clasificaciones de las direcciones IP:

Una dirección IP es un número que identifica de manera lógica y jerárquica a un dispositivo dentro de la red.

En la versión 4 de TCP/IP estas direcciones están formadas por cuatro grupos de tres dígitos numéricos, de los que no se muestran los 0 a la izquierda del número, salvo que el valor del grupo sea 0.

El valor de estos grupos está comprendido entre 0 y 255, pero no todos los valores están disponibles para designar una dirección IP de usuario válida, ya que muchos de ellos están reservados para direcciones concretas.

La Internet Corporation for Assigned Names and Numbers (ICANN) reconoce tres clases de direcciones IP:

Clase A:
En esta clase se reserva el primer grupo a la identificación de la red, quedando los tres siguientes para identificar los diferentes host. Los rangos de esta clase están comprendidos entre 1.0.0.0 y 127.255.255.255. Actualmente la ICANN asigna redes de este grupo a gobiernos de todo el mundo, aunque hay algunas grandes empresas que tienen asignadas IP's de esta clase.

Clase B:
En esta clase se reservan los dos primeros grupos a la identificación de la red, quedando los dos siguientes para identificar los diferentes host. Los rangos de esta clase están comprendidos entre 128.0.0.0 y 191.255.255.255. Actualmente la ICANN asigna redes de este grupo a grandes y medianas empresas.

Clase C:
En esta clase se reservan los tres primeros grupos a la identificación de la red, quedando el último para identificar los diferentes hosts. Los rangos de esta clase están comprendidos entre 192.0.0.0 y 223.255.255.255. Actualmente la ICANN asigna redes de este grupo a aquellos que lo solicitan.

Dentro de estas clases hay otra serie de asignaciones:

- La dirección 0.0.0.0 se utiliza por las máquinas cuando están arrancando o no se les ha asignado dirección.

- La dirección que tiene su parte de host a cero sirve para definir la red en la que se ubica. Se denomina dirección de red. 

- La dirección que tiene su parte de host a unos sirve para comunicar con todos los hosts de la red en la que se ubica. Se denomina Dirección de broadcast. 

- Las direcciones 127.x.x.x se reservan para pruebas de retroalimentación. Se denomina Dirección de bucle local o loopback.

Al usuario lo que más le interesa es un grupo de direcciones IP que no están asignadas dentro de cada grupo. Son las que reciben el nombre de Redes privadas, y son las que pueden ser utilizadas por los hosts que usan traducción de dirección de red (NAT) para conectarse a Internet o por los hosts que no se conectan a Internet.

En una misma red no puede haber dos direcciones iguales, pero sí se pueden repetir en dos redes privadas que no tengan conexión entre sí. Las direcciones privadas dentro de cada clase son:

- Clase A: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts)
- Clase B: 172.16.0.0 a 172.31.255.255 (16 bits red, 16 bits hosts)
- Clase C: 192.168.0.0 a 192.168.255.255 (24 bits red, 8 bits hosts)


Pero no es esta la única dirección de tipo TCP/IP que tenemos en nuestra red. Vamos a ver los diferentes tipos y a qué corresponde cada uno de ellos:

Dirección IP:
Es la que hemos visto hasta el momento, y sirve para identificar a nuestra máquina. Esta dirección puede ser a su vez de dos tipos diferentes:

- IP pública:
Es la dirección IP con la que nos identificamos al conectarnos a otras redes (Internet). Esta IP nos la asigna nuestro proveedor ISP, y no tenemos control sobre ella. A su vez puede ser de dos tipos diferentes:

- IP estática:
Es cuando tenemos una dirección IP fija asignada. Este tipo es poco utilizado, carece de interés para el usuario doméstico y además los proveedores ISP suelen cobrar un suplemento por ellas.

- IP dinámica:

Es la utilizada habitualmente. Nuestro proveedor ISP nos asigna al conectarnos a la red (Internet) una dirección que tenga disponible en ese momento. Esta dirección cambia cada vez que nos desconectamos de Internet y nos volvemos a conectar.

OJO: desconectarse de Internet y volver a conectarse NO es cerrar y volver a abrir el explorador de Internet, sino que es, en el caso de un router, apagar el router y volver a encenderlo pasado un tiempo (normalmente más de 5 minutos) o bien en el caso de utilizar un módem cuando apagamos éste (o en ese caso cerramos la conexión).

Hay que recordar que esta IP se le asigna al equipo que conecta con Internet, entendiéndose como equipo al módem o router.

- IP privada:

Es la dirección IP de cada equipo (ordenador o cualquier elemento que se conecte a través del protocolo TCP/IP) de nuestra red.
Al contrario de lo que ocurre con la IP pública, la IP privada sí que la asignamos nosotros, aunque se puede asignar de forma automática (mediante DHCP).
  

Un datagrama IP tiene dos formas de encaminar los paquetes en una red conmutación de paquetes. Estas son: 

Datagrama y Circuito Virtual.

En la técnica de datagrama cada paquete se trata de forma independiente, conteniendo cada uno la dirección de destino. La red puede encaminar (mediante un router) cada fragmento hacia el Equipo Terminal de Datos (ETD) receptor por rutas distintas. Esto no garantiza que los paquetes lleguen en el orden adecuado ni que todos lleguen al destino.

Protocolos basados en datagramas: IPX, UDP, IPoAC, CL. Los datagramas tienen cabida en los servicios de red no orientados a la conexión (como por ejemplo UDP o Protocolo de Datagrama de Usuario). Los datagramas IP son las unidades principales de información de Internet. Los términos trama, mensaje, paquete de red y segmento también se usan para describir las agrupaciones de información lógica en las diversas capas del modelo de referencia OSI y en los diversos círculos tecnológicos.
 
El datagrama será analizado en fragmentos de 8 bytes, indicando la longitud de cada campo; recordemos que es un paquete de ICMP encapsulado en IP.

Del byte 0 al 7:


y tenemos la siguiente información de sus campos:

 
 
IHL: Especifica la longitud del encabezado de IP en palabras de 32 bits (4 Bytes) y el valor mínimo es 5.

TOS: Type of service, 8 bits, especifica los parámetros para el tipo de servicio solicitado. Los parámetros pueden ser utilizados por las redes para defini el manejo del datagrama durante el transporte. El bit M fue agregado en el RFC 1349.

 
 
Total Lenght: es la longitud total del datagrama, en este caso es  0x003C (60 bytes).

Identification: Usado para indentificar fragmentos de un datagrama deaquellos de otro. El módulo de protocolo que origina al datagrama fija el valor del campo de identificación  a un valor que debe ser único para el par de Fuente-Destino y protocolo por todo el tiempo que el datagrama estará activo en el sistema de red. El módulo de protocolo de origen de un datagrama completo pone los bits MF y el Fragment Offset a cero.

 
 
Fragment Offset, 13 bits: usado para dirigir el reensamblado de un datagrama fragmentado. En este caso es cero porque no hay más fragmentos.

Del byte 8 al 15:


TTL: Time to live, es un temporizador para llevar un control del tiempo de vida del datagrama. Cuando el TTL es decrementado a cero, el datagrama es desechado.

Protocol: este campo especifica el protocolo encapsulado, en este caso el valor es 1, lo que nos indica que se trata de un paquete de ICMP (ping). 

Header Checksum: 16 bits de la suma de verificación del encabezado de IP y las opciones IP.

Source IP Address: Es la dirección IP del transmisor, en este caso 192.168.1.1 (0xC0.A8.01.01).

Del byte 16 al 27:


Destination IP Address: es la dirección IP del destino, en este caso 192.168.1.17 (0xC0.A8.01.11).

C, 
Class y Option: en este caso indican (tabla de valores):

0x0: no copiar
0x00: mensaje de control
0x1000: solicitud de Echo (RFC 792, Summary of Message Types, 8  Echo).
Padding: es de longitud variable y sirve como relleno para asegurar que los datos comienzan tras de una frontera de 32 bits después de la dirección de destino.

Aquí es importante destacar que al tratarse de un mensaje de control (ICMP) se utilizan los bytes del 20 al 27 para información de control; y se usan de la siguiente manera (RFC792):

    20                  21                  22                  23
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Identifier          |        Sequence Number        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Data ...

   +-+-+-+-+-


De aquí obtenemos que:

Byte 20, es un paquete tipo 8 (echo request)

Byte 21, siempre va a cero

Byte 22 y 23, es el checksum de ICMP

Bytes 24 y 25, si el byte 21=0 el identificador ayuda a hacer match entre las solicitudes y las respuestas de eco; puede ser 0 o puede usarse para identificar una sesión.

Bytes 26 y 27 son para llevar la secuencia de las solicitudes de eco, y quien responde debe usar el mismo número; la secuencia debe incrementarse con cada nueva solicitud (en una instrucción típica de ping se envían 4 paquetes, y pueden enviarse cuantos se desee).
Bytes del 28 al 59 (32 bytes)

Son los datos de relleno que se colocaron dentro del mensaje de Echo, y se trata de una secuencia, del 0×61 al 0×77, y se vuelve a comenzar. Cuando se responde la solicitud de eco se debe incluir exactamente la misma información en el campo de datos.


  
Lista los Puertos Renombrados como los define la IANA y son utilizados por Red Hat Enterprise Linux como los puertos de comunicación predeterminados para varios servicios, incluyendo FTP, SSH y Samba. 

Puerto # / Capa
Nombre
Comentario
1
tcpmux
Multiplexador de servicios de puertos TCP
5
rje
Entrada de trabajo remota
7
echo
Servicio echo
9
discard
Servicio nulo para la evaluación de conexiones
11
systat
Servicio de estado del sistema para listar los puertos conectados
13
daytime
Envía la fecha y la hora al puerto solicitante
17
qotd
Envía la cita del día al host conectado



No hay comentarios:

Publicar un comentario