# Paquete de red

Paquete de red o paquete de datos es cada uno de los bloques en que se divide la información para enviar, en el nivel de red. Por debajo del nivel de red se habla de trama de red, aunque el concepto es análogo. En todo sistema de comunicaciones resulta interesante dividir, la información a enviar, en bloques de un tamaño máximo conocido. Esto simplifica el control de la comunicación, las comprobaciones de errores, la gestión de los equipos de encaminamiento (routers), etcétera.
Al igual que las tramas, los paquetes pueden estar formados por una cabecera, una parte de datos y una cola. En la cabecera estarán los campos que pueda necesitar el protocolo de nivel de red; en la cola, si la hubiere, se ubica normalmente algún mecanismo de comprobación de errores.

## Estructura

Un paquete de datos es una unidad fundamental de transporte de información en todas las redes de computadoras modernas. Un paquete está generalmente compuesto de tres elementos:
* una cabecera (header): que contiene generalmente la información necesaria para trasladar el paquete desde el emisor hasta el receptor,
* el área de datos (payload): que contiene los datos que se desean trasladar,
* y la cola (trailer): que comúnmente incluye código de detección de errores.
Dependiendo de que sea una red de datagramas o de circuitos virtuales, la cabecera del paquete contendrá la dirección de las estaciones de origen y destino o el identificador del circuito virtual. En las redes de datagramas no suele haber cola, porque no se comprueban errores, quedando esta tarea para el nivel de transporte.

## Paquete de IP

Se considera que un paquete corresponde a la capa de red del Modelo OSI (Open System Interconnection; interconexión de sistemas abiertos: ISO/IEC 7498-1), como por ejemplo, en el caso del protocolo IP. Siendo el paquete la unidad de datos de protocolo (PDU) de la capa de red.
Por lo general, cada capa emisora de un protocolo toma la PDU de una capa superior, y lo codifica dentro del área de datos. A medida que se transmite, la capa recibe la PDU de su capa par, recupera el área de datos y la transmite a una capa superior, que procede de igual manera. Por esto, las PDU tiene encapsuladas, en su área de datos, otras PDU.
El protocolo de red IP solo tiene cabecera, ya que no realiza ninguna comprobación sobre el contenido del paquete. Sus campos se representan siempre alineados en múltiplos de 32 bits. Los campos son, por este orden:
* Versión: 4 bits, se usa la versión 4 (IPv4), y ya está en funcionamiento la versión 6. Este campo permite a los routers discriminar si pueden tratar o no el paquete.
* Longitud de cabecera (IHL): 4 bits, indica el número de palabras de 32 bits que ocupa la cabecera. Esto es necesario porque la cabecera puede tener una longitud variable.
* Tipo de servicio: 6 bits (+2 bits que no se usan), en este campo se pensaba recoger la prioridad del paquete y el tipo de servicio deseado, pero los routers no hacen mucho caso de esto y en la práctica no se utiliza. Los tipos de servicios posibles son:
** D (Delay): menor retardo, por ejemplo: para audio o vídeo.
** T (Throughput): mayor velocidad, por ejemplo: para envío de ficheros grandes.
** R (Reliability): mayor fiabilidad, para evitar (en la medida de lo posible) los reenvíos.
* Longitud del paquete: 16 bits, como esto lo incluye todo, el paquete más largo que puede enviar IP es de 65535 bytes, pero la carga útil será menor, porque hay que descontar lo que ocupa la propia cabecera.
* Identificación: 16 bits, es un número de serie del paquete, si un paquete se parte en pedazos más pequeños (se fragmenta) por el camino, cada uno de los fragmentos llevará el mismo número de identificación.
* Control de fragmentación: son 16 bits que se dividen en:
** 1 bit vacío: sobraba sitio.
** 1 bit DF (dont't fragment): si vale 1, le advierte al router que este paquete no se corta.
** 1 bit MF (more fragments): indica que este es un fragmento de un paquete más grande y que, además, no es el último fragmento.
** Desplazamiento de fragmento: es la posición en la que empieza este fragmento respecto del paquete original.
* Tiempo de vida: 8 bits, en realidad se trata del número máximo de routers (o de saltos) que el paquete puede atravesar antes de ser descartado. Como máximo 30 saltos.
* Protocolo: 8 bits, este campo codifica el protocolo de nivel de transporte al que va destinado este paquete. Está unificado para todo el mundo en Números de protocolos por la Internet Assigned Numbers Authority (IANA).
* Checksum de la cabecera: 16 bits, aunque no se comprueben los datos, la integridad de la cabecera sí es importante, por eso se comprueba.
* Direcciones de origen y destino: 32 bits cada una; son las direcciones IP de las estaciones de origen y destino.
* Opciones: esta parte puede estar presente o no, de estarlo su longitud máxima es de 400 bytes.