miércoles, 13 de mayo de 2009

Dirección IP

Una dirección IP es un número que identifica de manera lógica y jerárquica a una interfaz de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red del protocolo TCP/IP. Dicho número no se ha de confundir con la dirección MAC que es un número hexadecimal fijo que es asignado a la tarjeta o dispositivo de red por el fabricante, mientras que la dirección IP se puede cambiar.

Es habitual que un usuario que se conecta desde su hogar a Internet utilice una dirección IP. Esta dirección puede cambiar cada vez que se conecta; y a esta forma de asignación de dirección IP se denomina una dirección IP dinámica (normalmente se abrevia como IP dinámica).

Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados, generalmente tienen una dirección IP fija (se aplica la misma reducción por IP fija o IP estática), es decir, no cambia con el tiempo. Los servidores de correo, DNS, FTP públicos, y servidores de páginas web necesariamente deben contar con una dirección IP fija o estática, ya que de esta forma se permite su localización en la red.

A través de Internet, los ordenadores se conectan entre sí mediante sus respectivas direcciones IP. Sin embargo, a los seres humanos nos es más cómodo utilizar otra notación más fácil de recordar y utilizar, como los nombres de dominio; la traducción entre unos y otros se resuelve mediante los servidores de nombres de dominio DNS.

Existe un protocolo para asignar direcciones IP dinámicas llamado DHCP (Dynamic Host Configuration Protocol).

Internet Control Message Protocol


El Protocolo de Mensajes de Control de Internet o ICMP

(por sus siglas de Internet Control Message Protocol) 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.

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.

Aspectos técnicos

ICMP es parte del conjunto de protocolos IP tal cual y como se definió en la RFC 792. 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.

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 UDP 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.

Formato del protocolo

Bit 0 7 Bit 8 15 Bit 16 23 Bit 24 31
Tipo Código Suma de verificación

Datos (opcional)


Ejemplo de envío y recepción de un ping

Lista de mensajes de control permitidos (incompleta):

  • 0 - Echo Reply
  • 1 - Reservado
  • 2 - Reservado
  • 3 - Destination Unreachable
  • 4 - Source Quench
  • 5 - Redirect Message
  • 6 - Dirección Alterna de Host
  • 7 - Reservado
  • 8 - Echo Request
  • 9 - Anuncio de Router
  • 10 - Solicitud de Router
  • 11 - Tiempo Excedido
  • 12 - Problema de Parámetro
  • 13 - Marca de tiempo
  • 14 - Respuesta de Marca de tiempo
  • 15 - Petición de Información
  • 16 - Respuesta de Información
  • 17 - Petición de Máscara de Dirección
  • 18 - Respuesta de Máscara de Dirección
  • 19 - Reservado para seguridad
  • 20-29 - Reservado para experimentos de robustez
  • 30 - Traceroute
  • 31 - Error de Conversión de Datagrama
  • 32 - Redirección de Host Móvil
  • 33 - IPv6
  • 34 - IPv6
  • 35 - Petición de Registro de Móvil
  • 36 - Respuesta de registro de Móvil
  • 37 - Petición de Nombre de Dominio
  • 38 - Respuesta de Nombre de Dominio
  • 39 - SKIP Protocolo de Algoritmo de Descubrimiento
  • 40 - Photuris, Fallas de Seguridad
  • 41-255 - Reservado

Internet Group Management Protocol

(Redirigido desde IGMP)

El protocolo de red IGMP se utiliza para intercambiar información acerca del estado de pertenencia entre enrutadores IP que admiten la multidifusión y miembros de grupos de multidifusión. Los hosts miembros individuales informan acerca de la pertenencia de hosts al grupo de multidifusión y los enrutadores de multidifusión sondean periódicamente el estado de la pertenencia.

La última versión disponible de este protocolo es la IGMPv3 descrita en el [RFC 3376]

  • TCP (Protocolo de Control de Transmisión): Es un servicio orientado a la conexión. Es decir, que las máquinas de origen y de destino están comunicadas continuamente.

  • IP (Protocolo de Internet): Proporciona los servicios necesarios para la transmisión de paquetes.
  • ICMP (Protocolo de mensajes para el control Interred): Regula la transmisión de mensajes de error y control entre los sistemas principales y las puertas.
  • ARP (Protocolo de resolución de direcciones): Asigna direcciones Internet a direcciones físicas.
  • RARP (Protocolo de resolución de direcciones inversa): Asigna direcciones físicas a direcciones Internet.
  • UDP (Protocolo de datagrama de usuario): Permite establecer servicios de envío de paquetes fiables y sin conexión entre los clientes.
  • FTP (Protocolo de Transferencia de archivos): Proporciona servicios de nivel de aplicación para la transferencia de archivos.
  • RIP (Protocolo de encaminamiento de información): Determina el mejor método de encaminamiento.
  • OSPF (Open Shortest Path First): Protocolo alternativo de encaminamiento.
  • DNS (Sistema de nombre de dominio): Determina la dirección numérica a partir del nombre de la máquina.
  • BOOTP (Boot Protocol): Inicia una máquina de red simplemente leyendo la información de arranque que se encuentra disponible en un servidor.
  • TFTP (Protocolo de traslado de archivo trivial): Es un método simple de transferencia de ficheros que utiliza como transporte el protocolo UDP.
  • EGP (Protocolo de entrada exterior): Transfiere la información de encaminamiento hacia redes externas.
  • GGP (Protocolo de entrada a entrada): Transfiere la información de encaminamiento entre gateways (entradas) de Internet.
  • IGP (Protocolo de entrada Interior): Transfiere la información de encaminamiento hacia redes internas.
  • NFS (Sistema de archivo de red): Permite montar el directorio de una máquina sobre el directorio de otra, accediendo al primero como si estuviese físicamente en el segundo.
  • NIS (Servicio de información de red): Mantiene cuentas de usuario a través de la red, simplificando el mantenimiento de los registros de entrada y sus passwords.
  • RPC (Llamada remota del procedimiento): Permite la comunicación entre aplicaciones remotas utilizando llamadas a funciones.
  • SMTP (Protocolo de traslado de correo simple): Protocolo utilizado en correo electrónico.
  • NTP (Protocolo de tiempo de red): Se utiliza para sincronizar los relojes de las máquinas de una red.
  • SNMP (Protocolo de dirección simple): Es un servicio de administración que permite disponer de mensajes de estado acerca de la red y los dispositivos conectados a ella.
  • Telnet (Telecommunicating Networks): Este es un servicio que permite la conexión remota entre dos ordenadores de modo que el usuario conectado puede actuar, en principio, como si estuviese sentado frente al ordenador al que se conecta.
Transmission Control Protocol

Transmission Control Protocol
(TCP)
Familia: Familia de protocolos de Internet
Función: Transporte confiable y bidireccional de datos .

Ubicación en la pila de protocolos
Aplicación ftp, http, SNMP, DNS, ...
Transporte TCP
Red IP
Enlace Ethernet, Token Ring,
FDDI, ...

Estándares: RFC 793 (1981)

RFC 1323 (1992)

TCP (Transmission-Control-Protocol, en español Protocolo de Control de Transmisión) es uno de los protocolos fundamentales en Internet. Fue creado entre los años 1973 - 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.

TCP da soporte a muchas de las aplicaciones más populares de Internet, incluidas HTTP, SMTP, SSH y FTP.




Transmission Control Protocol

De Wikipedia, la enciclopedia libre

Transmission Control Protocol
(TCP)
Familia: Familia de protocolos de Internet
Función: Transporte confiable y bidireccional de datos .

Ubicación en la pila de protocolos
Aplicación ftp, http, SNMP, DNS, ...
Transporte TCP
Red IP
Enlace Ethernet, Token Ring,
FDDI, ...

Estándares: RFC 793 (1981)

RFC 1323 (1992)

TCP (Transmission-Control-Protocol, en español Protocolo de Control de Transmisión) es uno de los protocolos fundamentales en Internet. Fue creado entre los años 1973 - 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.

TCP da soporte a muchas de las aplicaciones más populares de Internet, incluidas HTTP, SMTP, SSH y FTP.

Exterior Gateway Protocol

El Exterior Gateway Protocol (EGP) es un protocolo estándar usado para intercambiar información de enrutamiento entre sistemas autónomos. Las pasarelas EGP sólo pueden retransmitir información de accesibilidad para las redes de su AS. La pasarela debe recoger esta información, habitualmente por medio de un IGP, usado para intercambiar información entre pasarelas del mismo AS.

Introducción

Se basa en el sondeo periódico empleando intercambios de mensajes "Hello/I Hear You", para monitorizar la accesibilidad de los vecinos y para sondear si hay solicitudes de actualización. Restringe las pasarelas exteriores al permitirles anunciar sólo las redes de destino accesibles en el AS de la pasarela. De esta forma, una pasarela exterior que usa EGP pasa información a sus vecinos EGP pero no anuncia la información de accesibilidad de estos (las pasarelas son vecinos si intercambian información de encaminamiento) fuera del AS.

Características

  • Soporta un protocolo NAP ("Neighbor Acquisition Protocol). Dos pasarelas se pueden considerar vecinas si están conectadas por una red que es transparente para ambas. No especifica la forma en que una pasarela decide inicialmente que quiere ser vecina de otra. Para convertirse en vecina, debe enviar un mensaje "Acquisition confirm" como respuesta a un Acquisition Request. Este paso es necesario para obtener información de encaminamiento de otra pasarela.
  • Soporta un protocolo NR ("Neighbor Reachability"). La pasarela lo usa para mantener información en tiempo real sobre la accesibilidad de sus vecinos. El protocolo EGP proporciona dos tipos de mensajes para ese fin: un mensaje Hello y un mensaje I Hear You (respuesta a Hello).
  • Soporta mensajes de actualización (o mensajes NR) que llevan información de encaminamiento. No se requiere ninguna pasarela para enviar mensajes NR a otra pasarela, excepto como respuesta a una petición de sondeo ("poll request").

Tipos

Para realizar estas tres funciones básicas, EGP define 10 tipos de mensajes:

  • Acquisition Request: solicita que una pasarela se convierta en vecina.
  • Acquisition Confirm: respuesta afirmativa a un "acquisition request".
  • Acquisition Refuse: respuesta negativa a un "acquisition request".
  • Cease Request: solicitud de terminación de la relación de vecindad.
  • Cease Confirm: confirmación para que cesen las peticiones.
  • Hello: solicitud de respuesta e un vecino, si está vivo.
  • I Hear You: respuesta el mensaje Hello.
  • Poll Request: solicitud de la tabla de encaminamiento de la red.
  • Routing Update: información de accesibilidad de la red.
  • Error: respuesta a un mensaje incorrecto.

Los distintos campos son los siguientes (no se considera la cabecera EGP; referirse al RC 904 para más detalles):

  • Int GW: número de pasarelas interiores que aparecen en el mensaje.
  • Ext GW: número de pasarelas exteriores que aparecen en el mensaje.
  • IP Source Network: la dirección IP de red para la que se mide la accesibilidad.
  • GW1 IP addr: Dirección IP sin el número de red de la pasarela para la que se miden las distancias.
  • Dist.: número de distancias en el bloque de la pasarela.
  • Dist.Da: valor de la distancia.
  • Net Da: número de redes a una distancia dada(Da).
  • Net1 at distance Da: número IP de la red accesible por GW1 a una distancia Da de GW1.

Los mensajes EGP asocian un descriptor "distances" a cada ruta. Pero EGP no interpreta estos valores, simplemente sirven como indicación de la accesibilidad o inaccesibilidad de una red (un valor de 255 significa que la red es inalcanzable). El valor no se puede usar para calcular cuál es la más corta de dos rutas a menos que ambas pertenezcan al mismo AS. Por esta razón, EGP no se puede usar como algoritmo de encaminamiento. Como resultado sólo habrá una única ruta del exterior de la pasarela a una red.

Interior Gateway Protocol

Interior Gateway Protocol (IGP, protocolo de pasarela interno) hace referencia a los protocolos usados dentro de un sistema autónomo.

Por otra parte, un Protocolo de Pasarela Externo determina si la red es accesible desde el sistema autónomo al tiempo usa el IGP para resolver el encaminamiento dentro del propio sistema.

Los protocolos de pasarela internos se pueden dividir en dos categorías: (1) Protocolo de enrutamiento Vector-Distancia y (2) Protocolo de enrutamiento Enlace-Estado

Interior Gateway ProtocolInterior Gateway Protocol (IGP, protocolo de pasarela interno) hace referencia a los protocolos usados dentro de un sistema autónomo.

Por otra parte, un Protocolo de Pasarela Externo determina si la red es accesible desde el sistema autónomo al tiempo usa el IGP para resolver el encaminamiento dentro del propio sistema.

Los protocolos de pasarela internos se pueden dividir en dos categorías: (1) Protocolo de enrutamiento Vector-Distancia y (2) Protocolo de enrutamiento Enlace-Estado.

User Datagram Protocol

Para otros usos de este término, véase UDP (desambiguación).
User Datagram Protocol (UDP)
Familia: Familia de protocolos de Internet
Función: Intercambio de datagramas a través de una red.

Ubicación en la pila de protocolos
Aplicación DNS, DHCP, NTP, ...
Transporte UDP
Red IP
Enlace Ethernet, Token Ring,
FDDI, ...

Estándares: RFC 768 (1980)

User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de datagramas. 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.


Dynamic Host Configuration Protocol

De Wikipedia, la enciclopedia libre

DHCP (sigla en inglés de Dynamic Host Configuration Protocol - Protocolo Configuración Dinámica de Anfitrión) es un protocolo de red que permite a los nodos de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van estando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después.

Características

Provee los parámetros de configuración a las computadoras conectadas a la red informática con la pila de protocolos TCP/IP (Máscara de red, puerta de enlace y otros) y también incluyen mecanismos de asignación de direcciones IP.

Este protocolo se publicó en octubre de 1993, estando documentado actualmente en la RFC 2131. Los últimos publicados como RFC 3415.

Asignación de direcciones IP

Sin DHCP, cada dirección IP debe configurarse manualmente en cada computadora y, si la computadora se mueve a otra subred, se debe configurar otra dirección IP diferente. El DHCP le permite al administrador supervisar y distribuir de forma centralizada las direcciones IP necesarias y, automáticamente, asignar y enviar una nueva IP si la computadora es conectada en un lugar diferente de la red.

El protocolo DHCP incluye tres métodos de asignación de direcciones IP:

  • Asignación manual o estática: Asigna una dirección IP a una máquina determinada. Se suele utilizar cuando se quiere controlar la asignación de dirección IP a cada cliente, y evitar, también, que se conecten clientes no identificados.
  • Asignación automática: Asigna una dirección IP de forma permanente a una máquina cliente la primera vez que hace la solicitud al servidor DHCP y hasta que el cliente la libera. Se suele utilizar cuando el número de clientes no varía demasiado.
  • Asignación dinámica: el único método que permite la reutilización dinámica de las direcciones IP. El administrador de la red determina un rango de direcciones IP y cada computadora conectada a la red está configurada para solicitar su dirección IP al servidor cuando la tarjeta de interfaz de red se inicializa. El procedimiento usa un concepto muy simple en un intervalo de tiempo controlable. Esto facilita la instalación de nuevas máquinas clientes a la red.
Hypertext Transfer Protocol
Hypertext Transfer Protocol
(HTTP)
Familia: Familia de protocolos de Internet
Función: Transferencia de hipertexto
Última versión: 1.2
Puertos: 80/TCP

Ubicación en la pila de protocolos
Aplicación HTTP
Transporte TCP
Red IP

Estándares: RFC 1945 (HTTP/1.0, 1996)
RFC 2616 (HTTP/1.1, 1999)
RFC 2774 (HTTP/1.2, 2000)

El protocolo de transferencia de hipertexto (HTTP, HyperText Transfer Protocol) es el protocolo usado en cada transacción de la Web (WWW). HTTP fue desarrollado por el consorcio W3C y la IETF, colaboración que culminó en 1999 con la publicación de una serie de RFC, siendo el más importante de ellos el RFC 2616, que especifica la versión 1.1.

HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador o un spider) se lo conoce como "user agent" (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un URL. Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc.

HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de "sesión", y también permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado.

Simple Mail Transfer Protocol

Simple Mail Transfer Protocol (SMTP) Protocolo Simple de Transferencia de Correo, es un protocolo de la capa de aplicación. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA's, teléfonos móviles, etc.). Está definido en el RFC 2821 y es un estándar oficial de Internet.[1

Historia

En 1982 se diseñó el primer sistema para intercambiar correos electrónicos para ARPANET, definido en los Request for comments RFC 821 y RFC 822. La primera de ellas define este protocolo y la segunda el formato del mensaje que este protocolo debía transportar.

Con el tiempo se ha convertido en uno de los protocolos más usados en internet. Para adaptarse a las nuevas necesidades surgidas del crecimiento y popularidad de internet se han hecho varias ampliaciones a este protocolo, como poder enviar texto con formato.

Funcionamiento

SMTP se basa en el modelo cliente-servidor, donde un cliente envía un mensaje a uno o varios receptores. La comunicación entre el cliente y el servidor consiste enteramente en líneas de texto compuestas por caracteres ASCII. El tamaño máximo permitido para estas líneas es de 1000 caracteres.

Las respuestas del servidor constan de un código numérico de tres digitos, seguido de un texto explicativo. El número va dirigido a un procesado automático de la respuesta por autómata, mientras que el texto permite que un humano interprete la respuesta. En el protocolo SMTP todas las órdenes, réplicas o datos son líneas de texto, delimitadas por el carácter . Todas las réplicas tienen un código numérico al comienzo de la línea.

En el conjunto de protocolos TCP/IP, el SMTP va por encima del TCP, usando normalmente el puerto 25 en el servidor para establecer la conexión.

Resumen simple del funcionamiento del protocolo SMTP

  • Cuando un cliente establece una conexión con el servidor SMTP, espera a que éste envíe un mensaje “220 Service ready” o “421 Service non available”
  • Se envía un HELO desde el cliente. Con ello el servidor se identifica. Esto puede usarse para comprobar si se conectó con el servidor SMTP correcto.
  • El cliente comienza la transacción del correo con la orden MAIL. Como argumento de esta orden se puede pasar la dirección de correo al que el servidor notificará cualquier fallo en el envío del correo. El servidor responde “250 OK”.
  • Ya le hemos dicho al servidor que queremos mandar un correo, ahora hay que comunicarle a quien. La orden para esto es RCPT TO:. Se pueden mandar tantas órdenes RCPT como destinatarios del correo queramos. Por cada destinatario, el servidor contestará “250 OK” o bien “550 No such user here”, si no encuentra al destinatario.
  • Una vez enviados todos los RCPT, el cliente envía una orden DATA para indicar que a continuación se envían los contenidos del mensaje. El servidor responde “354 Start mail input, end with . Esto indica al cliente como ha de notificar el fin del mensaje.
  • Ahora el cliente envía el cuerpo del mensaje, línea a línea. Una vez finalizado, se termina con un . (la última línea será un punto), a lo que el servidor contestará “250 OK”, o un mensaje de error apropiado.
  • Tras el envío, el cliente, si no tiene que enviar más correos, con la orden QUIT corta la conexión. También puede usar la orden TURN, con lo que el cliente pasa a ser el servidor, y el servidor se convierte en cliente. Finalmente, si tiene más mensajes que enviar, repite el proceso hasta completarlos.

Puede que el servidor SMTP soporte las extensiones definidas en el RFC 1651, en este caso, la orden HELO puede ser sustituida por la orden EHLO, con lo que el servidor contestará con una lista de las extensiones admitidas. Si el servidor no soporta las extensiones, contestará con un mensaje "500 Syntax error, command unrecognized".

En el ejemplo pueden verse las órdenes básicas de SMTP:

  • HELO, para abrir una sesión con el servidor
  • MAIL FROM, para indicar quien envía el mensaje
  • RCPT TO, para indicar el destinatario del mensaje
  • DATA, para indicar el comienzo del mensaje, éste finalizará cuando haya una línea únicamente con un punto.
  • QUIT, para cerrar la sesión
  • RSET Aborta la transacción en curso y borra todos los registros.
  • SEND Inicia una transacción en la cual el mensaje se entrega a una terminal.
  • SOML El mensaje se entrega a un terminal o a un buzon.
  • SAML El mensaje se entrega a un terminal y a un buzon.
  • VRFY Solicita al servidor la verificación del argumento.
  • EXPN Solicita al servidor la confirmación del argumento.
  • HELP Permite solicitar información sobre un comando.
  • NOOP Se emplea para reiniciar los temporizadores.
  • TURN Solicita al servidor que intercambien los paquetes.

De los tres dígitos del código numérico, el primero indica la categoría de la respuesta, estando definidas las siguientes categorías:

  • 2XX, la operación solicitada mediante el comando anterior ha sido concluida con éxito
  • 3XX, la orden ha sido aceptada, pero el servidor esta pendiente de que el cliente le envíe nuevos datos para terminar la operación
  • 4XX, para una respuesta de error, pero se espera a que se repita la instrucción
  • 5XX, para indicar una condición de error permanente, por lo que no debe repetirse la orden

Una vez que el servidor recibe el mensaje finalizado con un punto puede bien almacenarlo si es para un destinatario que pertenece a su dominio, o bien retransmitirlo a otro servidor para que finalmente llegue a un servidor del dominio del receptor.

Ejemplo de una comunicación SMTP

En primer lugar se ha de establecer una conexión entre el emisor (cliente) y el receptor (servidor). Esto puede hacerse automáticamente con un programa cliente de correo o mediante un cliente telnet.

En el siguiente ejemplo se muestra una conexión típica. Se nombra con la letra C al cliente y con S al servidor.

S: 220 Servidor ESMTP
C: HELO miequipo.midominio.com
S: 250 Hello, please meet you
C: MAIL FROM: yo@midominio.com
S: 250 Ok
C: RCPT TO: destinatario@sudominio.com
S: 250 Ok
C: DATA
S: 354 End data with .
C: Subject: Campo de asunto
C: From: yo@midominio.com
C: To: destinatario@sudominio.com
C:
C: Hola,
C: Esto es una prueba.
C: Adiós.
C:
C: .
S: 250 Ok: queued as 12345
C: quit
S: 221 Bye

Post Office Protocol

En informática se utiliza el Post Office Protocol (POP3) en clientes locales de correo para obtener los mensajes de correo electrónico almacenados en un servidor remoto. La mayoría de los suscriptores de los proveedores de Internet acceden a sus correos a través de POP3.

Características

POP3 está diseñado para recibir correo, no para enviarlo; le permite a los usuarios con conexiones intermitentes ó muy lentas (tales como las conexiones por módem), descargar su correo electrónico mientras tienen conexión y revisarlo posteriormente incluso estando desconectados. Cabe mencionar que la mayoría de los clientes de correo incluyen la opción de dejar los mensajes en el servidor, de manera tal que, un cliente que utilice POP3 se conecta, obtiene todos los mensajes, los almacena en la computadora del usuario como mensajes nuevos, los elimina del servidor y finalmente se desconecta. En contraste, el protocolo IMAP permite los modos de operación conectado y desconectado.

Los clientes de correo electrónico que utilizan IMAP dejan por lo general los mensajes en el servidor hasta que el usuario los elimina directamente. Esto y otros factores hacen que la operación de IMAP permita a múltiples clientes acceder al mismo buzón de correo. La mayoría de los clientes de correo electrónico soportan POP3 ó IMAP; sin embargo, solo unos cuantos proveedores de internet ofrecen IMAP como valor agregado de sus servicios.

Los clientes que utilizan la opción dejar mensajes en el servidor por lo general utilizan la orden UIDL ('Unique IDentification Listing). La mayoría de las órdenes de POP3 identifican los mensajes dependiendo de su número ordinal del servidor de correo. Esto genera problemas al momento que un cliente pretende dejar los mensajes en el servidor, ya que los mensajes con número cambian de una conexión al servidor a otra. Por ejemplo un buzón de correo contenía 5 mensajes en la última conexión, después otro cliente elimina el mensaje número 3, el siguiente usuario se topará con que los últimos dos mensajes están decrementados en uno. El UIDL proporciona un mecanismo que evita los problemas de numeración. El servidor le asigna una cadena de caracteres única y permanente al mensaje. Cuando un cliente de correo compatible con POP3 se conecta al servidor utiliza la orden UIDL para obtener el mapeo del identificador de mensaje. De esta manera el cliente puede utilizar ese mapeo para determinar qué mensajes hay que descargar y cuáles hay que guardar al momento de la descarga.

Al igual que otros viejos protocolos de internet, POP3 utilizaba un mecanismo de firmado sin cifrado. La transmisión de contraseñas de POP3 en texto plano aún se da. En la actualidad POP3 cuenta con diversos métodos de autenticación que ofrecen una diversa gama de niveles de protección contra los accesos ilegales al buzón de correo de los usuarios. Uno de estos es APOP, el cual utiliza funciones MD5 para evitar los ataques de contraseñas. Mozilla, Eudora, Novell Evolution así como Mozilla Thunderbird implementan funciones APOP...

File Transfer Protocol

File Transfer Protocol
(FTP)
Familia: Familia de protocolos de Internet
Función: protocolo de transferencia de archivos
Puertos: 20/TCP DATA Port
21/TCP Control Port

Ubicación en la pila de protocolos
Aplicación FTP
Transporte TCP
Red IP

Estándares: FTP: RFC 959 (1985)
Extensiones de FTP para IPv6 y NATs: RFC 2428 (1998)


FTP (sigla 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, 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.

El Servicio FTP es ofrecido por la capa de Aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor, o apropiarse de los archivos transferidos.

Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.

Point-to-Point Protocol

Point-to-Point Protocol
(PPP)
Familia: Protocolos de enlace punto a punto
Función: Transmisión de datagramas IP no estándar en líneas serie.

Ubicación en la pila de protocolos
Aplicación FTP, SMTP, HTTP, DNS, ...
Transporte TCP o UDP
Red IP
Enlace PPP

Estándares: RFC 1661 (estándar 51) - El protocolo punto-a-punto.

RFC 1662 (estándar 51) - PPP en tramas HDLC.
RFC 1663 - Transmisión segura en PPP.
RFC 1994 - CHAP, método de autenticación en PPP.
RFC 2153 - Extensiones PPP de los fabricantes.
RFC 2472 - Encapsulación de IPv6 sobre PPP.
RFC 2687 (propuesto) - PPP en tramas HDLC orientadas a aplicaciones de tiempo real.

Point-to-point Protocol, es decir, Protocolo punto a punto, es un protocolo de nivel de enlace estandarizado en el documento RFC 1661. Por tanto, se trata de un protocolo asociado a la pila TCP/IP de uso en Internet. Más conocido por su acrónimo: PPP.

Network News Transport Protocol

Network News Transport Protocol (NNTP) es un protocolo inicialmente creado para la lectura y publicación de artículos de noticias en Usenet. Su traducción literal al español es "protocolo para la transferencia de noticias en red".

Contenido

[ocultar]

Historia

NNTP tuvo sus comienzos en marzo de 1986 cuando Brian Kantor de la Universidad de San Diego,y Phil Lapsley de la Universidad de Berkeley crearon el RFC 977, especificación en la que se basó el NNTP en ese momento. Este protocolo tuvo otros colaboradores como fueron Stan Barber de el Colegio de Medicina Baylor, y Erik Fair de Apple Computer.

En octubre de 2006, el IETF publicó el RFC 3977 que actualiza el protocolo NNTP y que incluye muchas de las mejoras creadas a lo largo de los años desde el RFC 977.

Hoy en día también algunos BBS usan este protocolo para dejar disponibles sus foros o áreas de correo de la red FidoNet u otras redes.

Principio de funcionamiento

El funcionamiento del NNTP es muy sencillo, consta de un servidor en el que están almacenadas las noticias y a él se conectan los clientes a través de la red.

La conexión entre cliente y servidor se hace de forma interactiva consiguiendo así un número de artículos duplicados muy bajo. Esto supone una gran ventaja respecto de servicios de noticias anteriores, en los que la tecnología por lotes era su principal aliada.

Esta conexión se realiza sobre el protocolo TCP. El puerto 119 está reservado para el NNTP. Sin embargo cuando los clientes se conectan al servidor de noticias mediante SSL se utiliza el puerto 563.

Cada artículo de noticias almacenado en el servidor está referenciado por el nombre de la máquina del cliente que ha publicado dicho artículo. Esta referencia queda presente en un campo de la cabecera llamado NNTP-Posting-Host.

Posibilidades que ofrece este protocolo

Al igual que otros servidores de noticias, los clientes podrán listar los grupos de noticias disponibles y descargar, enviar y publicar artículos mediante órdenes especificas del NNTP.

Cuando se publica se está creando un artículo nuevo, y por lo tanto la cabecera del mensaje sólo tendrá parte de la información. Al enviar estás trabajando con un artículo que realmente existe y que posee una información completa en la cabecera y que también contiene el identificador del mensaje cuando se publicó.

Tanto los lectores de noticias como los clientes de transferencia de noticias pueden descargar los artículos. Esto permite el acceso simultáneo de muchos clientes a las noticias, sin contar con los grandes inconvenientes del NFS

Métodos de transferencia de noticias

Para transferir noticias utilizaremos dos métodos:

  • Método pushing (activo): Cuando el cliente envía un artículo al servidor por este método, éste le devuelve un código de respuesta por el cual se sabe si ya tiene ese artículo, o sin embargo no lo tiene y es transferido desde el cliente. La orden para realizar dicho proceso es IHAVE msgid.

Este método también se llama coloquialmente empujar.

Cabe destacar una gran desventaja, y es que cada artículo es buscado individualmente, por lo que esto supone un gran número de accesos a la base de datos y una gran carga para el servidor.

  • Método pulling (pasivo):Con esta técnica se obtiene una lista de artículos de un grupo cuya fecha es posterior a la especificada por el cliente. Para ello se utiliza la orden NEWSNEWS. Después el cliente selecciona los artículos que no posee de la lista anterior, y le son transferidos. La orden ARTICLE sirve para realizar dicho propósito trabajando con cada uno de los IDs de los mensajes seleccionados.

Esta técnica también se puede llamar tirar.

Todo el proceso de transferencia de noticias está regulado por un estricto control por parte del servidor, ya que puede darse el caso de que exista información confidencial y ésta sólo puede ser vista por algunos clientes.

El protocolo IMAP también puede usarse para leer los grupos de noticias.

Spoofing Un Problema potencial

Un problema presente en el protocolo NNTP es el spoofing (falsificación de noticias) que consiste en una suplantación de la identidad de los clientes que participan en un grupo de noticias.

Una extensión del NNTP soluciona este problema y para ello pide una autentificación al usuario para algunas órdenes. Esto protege al servidor de noticias de un uso malintencionado.

Otros protocolos de transferencias de noticias, como el SMTP, también presentan este problema.

Paquetes NNTP (sistema operativo Linux)

Entre los diferentes paquetes NNTP podemos destacar el demonio NNTP (nntpd), que es uno de los más conocidos y además es usado como referencia. Sus creadores son Stan Barber y Phil Lapsley. Este paquete lo puedes encontrar en cualquier distribución de linux.

Otro paquete NNTP es el InterNetNews o INN. Fue creado por Rich Salz y combina dos protocolos, uno basado en NNTP y otro en UUCP. Esta característica hace a este paquete mejor que el anterior (nntpd) y es utilizado para manejar grupos de noticias de gran tamaño.