NNTP significa Network News Transfer Protocol, el cual es un protocolo de aplicación que define cómo se pasan los artículos de noticias entre servidores de noticias, leer y publicar artículos por parte de aplicaciones y cliente de usuario final. Cada ordenador pasa un artículo a cualquiera de sus vecinos que aún no lo tienen.
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.
Brian Kantor, de la Universidad de California, San Diego, y Phil Lapsley, de la Universidad de California, Berkeley, redactaron el RFC 977, la especificación para el Protocolo de Transferencia de Noticias, en marzo de 1986. Otros colaboradores incluyeron a Stan O. Barber del Baylor College of Medicine y Erik Fair de Apple Computer. La versión actual se encuentra en RFC 3977. Desde 2009, existe con RFC 5536, además, una Request for Comments que especifica el formato del mensaje de la transmisión NNTP con mayor precisión.
Usenet fue diseñado originalmente basándose en la red UUCP, con la mayoría de las transferencias de artículos realizándose a través de enlaces telefónicos punto a punto directos entre servidores de noticias. Los lectores y usuarios accedían a estos ordenadores leyendo los artículos directamente desde el disco local.
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. 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.
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, 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.
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 «<número consecutivo@News-server>» 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.
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.
El mensaje de estado que el servidor devuelve como respuesta NNTP (incluyendo los datos solicitados) es un código numérico de tres cifras.
En la segunda cifra del código numérico se transmite la siguiente información: