# NNTP: ¿qué es exactamente el Network News Transfer Protocol?

A principios de la década de los 80, mucho antes de que se creara la World Wide Web, se creó una plataforma mundial para el intercambio de información, llamada **Usenet** (originalmente UNIX User Network), que sigue existiendo hoy en día como un **servicio** de Internet independiente paralelo a la Web. Los **grupos de noticias** o *newsgroups*, como se denominan las áreas temáticas individuales de Usenet, han perdido mucha relevancia en las últimas décadas con la aparición de nuevos puntos de encuentro digitales, como [foros](https://www.ionos.mx/digitalguide/paginas-web/creacion-de-paginas-web/crear-un-foro-aprende-como-hacerlo/ "Crear un foro: aprende cómo hacerlo") o [redes sociales](https://www.ionos.mx/digitalguide/online-marketing/redes-sociales/las-redes-sociales-mas-utilizadas-una-vision-general/ "Las redes sociales más utilizadas").

Sin embargo, la estructura jerárquica de Usenet, basada en el clásico intercambio de mensajes cliente-servidor, tiene un enorme valor histórico. Esto es razón más que suficiente para echar un vistazo al NNTP (Network News Transfer Protocol), que es esencial para la **comunicación entre servidores de noticias individuales y clientes.**

## ¿Qué significa NNTP?

El Network News Transfer Protocol, también conocido como NNTP, es un protocolo **de transferencia TCP/IP** para mensajes en grupos de noticias o *newsgroups*. Estos grupos de noticias se utilizan principalmente en el contexto de la llamada Usenet, una especie de antepasado de los modernos foros de Internet, y son puntos de encuentro que permiten el intercambio de un número ilimitado de **mensajes de texto** sobre una amplia variedad de temas. La primera especificación del protocolo NNTP, registrada en [RFC 977](https://tools.ietf.org/html/rfc977 "RFC 977 – Network News Transfer Procotol") data del **año 1986**. Desde entonces, el protocolo ha pasado por varias revisiones. La **versión actual** se encuentra en [RFC 3977](https://tools.ietf.org/html/rfc3977 "RFC 3977 – Network News Transfer Protocol (NNTP)"). Desde 2009, existe con [RFC 5536](https://tools.ietf.org/html/rfc5536 "RFC 5536 – Netnews Article Format"), además, una *Request for Comments* que especifica el formato del mensaje de la transmisión NNTP con mayor precisión.

---

### Nota

Hasta el desarrollo y lanzamiento del NNTP, la transmisión de datos en Usenet tenía lugar a través de líneas telefónicas usando el protocolo UNIX **UUCP** (Unix to Unix Copy).

---

## ¿Para qué se utiliza el protocolo NNTP?

Hoy en día, el NNTP ha perdido mucha relevancia en la comunicación digital, lo que está relacionado con el hecho de que la propia **Usenet** ya solo se utiliza esporádicamente y en círculos especializados. Desde 1986, el Network News Transfer Protocol ha sido un elemento indispensable para la red de información y se **utiliza tanto en el lado del servidor como en el del cliente**. Aparte de la transmisión de **mensajes directos personales,** Usenet se caracteriza por los **grupos de noticias** ya mencionados, que pueden crearse y gestionarse individualmente mediante el NNTP protocol. De este modo, a lo largo del tiempo numerosos subgrupos de noticias se han integrado en la jerarquía básica existente de la Usenet.

---

### Nota

Los **ocho temas principales de Usenet**, también conocidos como Big Eight o Big-8 (*los* *grandes 8*) son los siguientes:

**- comp**: Ordenadores.

**- sci**: Ciencia y tecnología.

**- soc**: Sociedad.

**- talk**: Temas generales.

**- rec**: Temas relacionados con el ocio, la recreación, el arte y la cultura.

**- noticias**: Información y noticias sobre la propia Usenet.

**- misc**: Miscelánea.

**- humanities**: Humanidades, Asuntos Culturales.

---

## ¿Cómo funciona el Network News Transfer Protocol?

El NNTP es un protocolo **basado en texto** y permite la transmisión de datos alterna entre el cliente y el servidor: por cada solicitud de NNTP se espera una respuesta del NNTP. Para esta comunicación, la IANA (Internet Assigned Numbers Authority) ha previsto el **puerto TCP 119**, que en este caso está reservado únicamente para este protocolo de comunicación. Una red TCP/IP como Internet es, por lo tanto, la estructura subyacente para la plataforma de información. El protocolo NNTP, que a su vez funciona en la capa de aplicación, se basa directamente en el [protocolo TCP](https://www.ionos.mx/digitalguide/servidores/know-how/que-es-tcp-transport-control-protocol/ "Qué es TCP (Transport Control Protocol)"), que tiene la ventaja de garantizar una **transmisión de datos segura** y fiable.

El concepto básico de Usenet establece que un mensaje nuevo enviado desde un cliente NNTP a cualquier servidor NNTP se **mantiene en ese servidor.** Todos los demás clientes que deseen participar en la conversación pueden **descargar ese mensaje o artículo** en cualquier momento para mantenerse al día de ese grupo de noticias. Esto quiere decir que, si un cliente se conecta a un servidor NNTP, descarga primero todos los mensajes que se han publicado desde la última conexión a ese servidor. Por lo tanto, cuanto más tiempo haya estado desconectado el cliente, más tiempo durará el **proceso de actualización** al establecer la conexión.

---

### Nota

Cuando un servidor recibe un **nuevo mensaje** a través del Network News Transfer Protocol, añade un **ID de mensaje único** a ese mensaje o artículo. Este tiene el formato "&lt;*número consecutivo@News-server&gt;"* y se utiliza para la **identificación** inequívoca y para la **recuperación** y **referencia** si otros clientes o usuarios desean reaccionar o responder con su propio mensaje.

---

Asimismo, con el fin de distribuir los nuevos mensajes en toda la red de Usenet, los servidores individuales reenvían los mensajes recibidos a todos los demás servidores del NNTP que conozcan. Antes de hacerlo, añaden su propio nombre al ***path-header* o cabecera del mensaje NNTP** para no volver a recibirlo.

## NNTP: ejemplo de transmisión de mensajes

Después de haberte explicado los fundamentos del Network News Transfer Protocol en las secciones anteriores, te mostramos un ejemplo concreto de comunicación entre los clientes y los servidores. El **punto de partida es el Cliente 1**, que introduce un nuevo mensaje o artículo en Usenet:

[![Imagen: Diagrama de intercambio de mensajes NNTP](https://www.ionos.mx/digitalguide/fileadmin/_processed_/2/0/csm_EN-NNTP_5377fc4361.webp "Diagrama de intercambio de mensajes NNTP")](https://www.ionos.mx/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/EN-NNTP.png) Aquí se muestra un intercambio de mensajes ejemplar mediante Network News Transfer Protocol: también sería posible, por ejemplo, que todos los clientes obtuvieran la información del servidor NNTP 1.       Los pasos individuales de la transmisión del mensaje, que aparecen en este diagrama, se pueden resumir así:

1. El usuario del **Cliente NNTP 1** escribe un nuevo mensaje (o artículo) y envía estos datos al servidor NNTP 1.
2. El **Servidor 1 de NNTP** proporciona al mensaje un ID de mensaje único y añade su nombre a la cabecera. Este conoce al Servidor NNTP 2 y al servidor NNTP 3 y reenvía el mensaje a ambos.
3. El **Servidor NNTP 2** recibe el mensaje e inserta su nombre en la cabecera. El **Servidor NNTP 3** recibe también el mensaje, añade su nombre a la cabecera, y reenvía el mensaje al servidor 4 de NNTP, que conoce.
4. El **Servidor NNTP 4** recibe y procesa este mensaje. Después, añade su propio nombre a la cabecera. Después, contacta con el servidor 5, que conoce, y le envía los datos.
5. **El Servidor NNTP 5** añade su identificación a la cabecera. Entonces, evalúa las entradas de la cabecera y por lo tanto no intenta reenviar el mensaje a los servidores 2 y 3, aunque los conoce (las flechas rojas significan que se omite el envío).
6. Tan pronto como están en línea, los **clientes** recogen el mensaje de su servidor personal de noticias. Por ejemplo, el Cliente NNTP 2 recibe la información directamente del servidor 1, mientras que el Cliente 6 la recibe del Servidor 4.

## Resumen de los comandos de NNTP y códigos de estado

Los clientes y los servidores utilizan comandos **ASCII** para comunicarse con el protocolo NNTP. De este modo, con cada solicitud de NNTP, un cliente envía automáticamente uno de estos comandos. El servidor responde con un mensaje de estado y envía los datos solicitados al cliente. Los **comandos más importantes para la comunicación NNTP** aparecen en esta tabla:

<table>
  <thead>
    <tr>
      <th>Comando NNTP</th>
      <th>Función</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>LIST</td>
      <td>Solicita una lista de los grupos de noticias disponibles (incluyendo el primer y último número de artículo)</td>
    </tr>
    <tr>
      <td>NEWGROUPS</td>
      <td>Consulta todos los nuevos grupos disponibles</td>
    </tr>
    <tr>
      <td>NEWNEWS</td>
      <td>Consulta todos los nuevos artículos disponibles creados a partir de una fecha determinada</td>
    </tr>
    <tr>
      <td>GROUP</td>
      <td>Especifica el grupo al que se realiza la solicitud</td>
    </tr>
    <tr>
      <td>ARTICLE</td>
      <td>Permite consultar un mensaje específico mediante su número en el grupo o su ID de mensaje</td>
    </tr>
    <tr>
      <td>HEADER</td>
      <td>Solicita solo la cabecera de un artículo</td>
    </tr>
    <tr>
      <td>BODY</td>
      <td>Solicita solo el cuerpo de un artículo</td>
    </tr>
    <tr>
      <td>STAT</td>
      <td>Es necesario para especificar el ID de mensaje de un artículo</td>
    </tr>
    <tr>
      <td>NEXT</td>
      <td>Selecciona el siguiente artículo en el grupo de noticias</td>
    </tr>
    <tr>
      <td>POST</td>
      <td>Informa al servidor que se está enviando un nuevo mensaje o artículo</td>
    </tr>
    <tr>
      <td>QUIT</td>
      <td>Corta la conexión con el servidor NNTP</td>
    </tr>
  </tbody>
</table>

El mensaje de estado que el servidor devuelve como respuesta NNTP (incluyendo los datos solicitados) es un **código numérico de tres cifras**. La **primera cifra** se interpreta de la siguiente manera:

<table>
  <thead>
    <tr>
      <th>Código de estado del servidor de NNTP</th>
      <th>Significado</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1xx</td>
      <td>Información general</td>
    </tr>
    <tr>
      <td>2xx</td>
      <td>Comando recibido, ejecución completada</td>
    </tr>
    <tr>
      <td>3xx</td>
      <td>Comando recibido, se requiere más información</td>
    </tr>
    <tr>
      <td>4xx</td>
      <td>Comando recibido, ejecución no completada</td>
    </tr>
    <tr>
      <td>5xx</td>
      <td>Comando desconocido</td>
    </tr>
  </tbody>
</table>

En la **segunda cifra del código numérico** se transmite la siguiente información:

<table>
  <thead>
    <tr>
      <th>Código de estado del servidor de NNTP</th>
      <th>Significado</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>x0x</td>
      <td>Información sobre la conexión, la configuración u otros datos</td>
    </tr>
    <tr>
      <td>x1x</td>
      <td>Información sobre un grupo de noticias seleccionado</td>
    </tr>
    <tr>
      <td>x2x</td>
      <td>Información sobre artículos seleccionados</td>
    </tr>
    <tr>
      <td>x3x</td>
      <td>Información sobre transferencia de mensajes</td>
    </tr>
    <tr>
      <td>x4x</td>
      <td>Información sobre los artículos enviados</td>
    </tr>
    <tr>
      <td>x5x</td>
      <td>Respuesta de autenticación</td>
    </tr>
    <tr>
      <td>x8x</td>
      <td>Mensaje para comandos añadidos no estandarizados</td>
    </tr>
    <tr>
      <td>x9x</td>
      <td>Mensaje de depuración</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.mx/digitalguide/servidores/know-how/nntp-network-news-transfer-protocol/](https://www.ionos.mx/digitalguide/servidores/know-how/nntp-network-news-transfer-protocol/) for AI/LLM consumption.