Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN WEB
ALUMNO:
Leon Tapia Jesus Manuel
14310694
MAESTRO:
Luis Armando Cárdenas Florido
HTTPS
HTTP / TLS se diferencia de los URL HTTP mediante el uso de 'https' identificador de
protocolo en lugar del identificador de protocolo 'http'. El URL de ejemplo que especifica HTTP
/ TLS es: https://www.example.com/~smith/home.html
Conceptualmente, HTTP / TLS es muy simple. Simplemente use HTTP sobre TLS
precisamente como usaría HTTP sobre TCP.
El agente que actúa como cliente HTTP también debería actuar como TLS cliente. Debe iniciar
una conexión con el servidor en el puerto apropiado y luego enviar el TLS ClientHello para
comenzar el apretón de manos con TLS. Cuando el saludo de TLS ha terminado. El cliente
puede entonces iniciar la primera solicitud HTTP. Todos los datos HTTP deben enviarse como
"Datos de la aplicación" TLS.
TLS proporciona una instalación para el cierre seguro de la conexión. Cuando es válido se
recibe una alerta de cierre, se puede asegurar una implementación que no se recibirán más
datos sobre esa conexión. Las implementaciones TLS deben iniciar un intercambio de alertas
de cierre antes de cerrar una conexión. Una implementación de TLS puede, después de enviar
una alerta de cierre, cerrar la conexión sin esperar que el interlocutor envíe su alerta de cierre,
generando un "cierre incompleto".
Esto debe hacerse solo cuando la aplicación sepa (típicamente a través de la detección de
límites de mensajes HTTP) que ha recibido todos los datos del mensaje que le interesan.
Como se especifica en [ RFC2246], cualquier implementación que reciba una conexión
cerrada sin recibir primero una alerta de cierre válida (un "cierre prematuro") NO DEBE
reutilizar esa sesión. Tenga en cuenta que un cierre prematuro no cuestiona la seguridad de
los datos ya recibidos, pero simplemente indica que los datos posteriores podrían ser
truncados porque TLS es ajeno a los límites de solicitud / respuesta de HTTP, es necesario
examinar los datos HTTP (específicamente el encabezado Content-Length) para determinar
si el truncamiento ocurrió dentro de un mensaje o entre mensajes.
FTP
FTP es un protocolo estándar con el STD 9. Su status es recomendado. Se describe en el
RFC 959 - FTP ("File Transfer Protocol").
Para acceder a ficheros remotos, el usuario debe identificarse al servidor. En este punto el
servidor es responsable de autentificar al cliente antes de permitir la transferencia de ficheros.
Desde el punto de vista de un usuario de FTP, el enlace está orientado a conexión. En otras
palabras, es necesario que ambos hosts estén activos y ejecutando TCP/IP para establecer
una transferencia de ficheros.
FTP usa TCP como protocolo de transporte para proporcionar conexiones fiables entre los
extremos. Se emplean dos conexiones: la primera es para el login y sigue el protocolo TELNET
y la segunda es para gestionar la transferencia de datos. Como es necesario hacer un login
en el host remoto, el usuario debe tener un nombre de usuario y un password para acceder a
ficheros y a directorios. El usuario que inicia la conexión asume la función de cliente, mientras
que el host remoto adopta la función de servidor
En ambos extremos del enlace, la aplicación FTP se construye con intérprete de protocolo(PI),
un proceso de transferencia de datos, y una interfaz de usuario.
La interfaz de usuario se comunica con el PI, que está a cargo del control de la conexión. Este
intérprete de protocolo ha de comunicar la información necesaria a su propio sistema de
archivos.
En el otro extremo de la conexión, el PI, además de su función de responder al protocolo
TELNET, ha de iniciar la conexión de datos. Durante la transferencia de ficheros, los DTPs se
ocupan de gestionar la transferencia de datos. Una vez que la operación del usuario se ha
completado, el PI ha de cerrar la conexión de control.
SMTP
El correo electrónico (E-mail) es probablemente la aplicación TCP/IP más usada. Los
protocolos de correo básicos de correo proporcionan intercambio de correo y mensajes entre
hosts TCP/IP hosts; se han añadido servicios para la transmisión de datos que no se pueden
representar con texto ASCII de 7 bits.
Hay tres protocolos estándares que se aplican a este tipo de correo. Todos son
recomendados. El término SMTP se emplea con frecuencia para referirse a la combinación de
los tres protocolos, por su estrecha interrelación, pero estrictamente hablando, SMTP es sólo
uno de los tres.
POP3
El protocolo POP (Protocolo de oficina de correos), como su nombre lo indica, permite recoger
el correo electrónico en un servidor remoto (servidor POP). Es necesario para las personas
que no están permanentemente conectadas a Internet, ya que así pueden consultar sus
correos electrónicos recibidos sin que ellos estén conectados.
Existen dos versiones principales de este protocolo, POP2 y POP3, a los que se le asignan
los puertos 109 y 110 respectivamente, y que funcionan utilizando comandos de texto
radicalmente diferentes.
Al igual que con el protocolo SMTP, el protocolo POP (POP2 y POP3) funciona con comandos
de texto enviados al servidor POP. Cada uno de estos comandos enviados por el cliente
(validados por la cadena CR/LF) está compuesto por una palabra clave, posiblemente
acompañada por uno o varios argumentos, y está seguido por una respuesta del servidor POP
compuesta por un número y un mensaje descriptivo.
POP3 administra la autenticación utilizando el nombre de usuario y la contraseña. Sin
embargo, esto no es seguro, ya que las contraseñas, al igual que los correos electrónicos,
circulan por la red como texto sin codificar (de manera no cifrada). En realidad, según RFC
1939, es posible cifrar la contraseña utilizando un algoritmo MD5 y beneficiarse de una
autenticación segura. Sin embargo, debido a que este comando es opcional, pocos servidores
lo implementan. Además, el protocolo POP3 bloquea las bandejas de entrada durante el
acceso, lo que significa que es imposible que dos usuarios accedan de manera simultánea a
la misma bandeja de entrada.
SNMP
Simple Network Management Protocol (SNMP). Diseñado en los años 80, su principal
objetivo fue el integrar la gestión de diferentes tipos de redes mediante un diseño sencillo y
que produjera poca sobrecarga en la red.
El protocolo SNMP está compuesto por dos elementos: el agente (agent), y el gestor
(manager). Es una arquitectura cliente-servidor, en la cual el agente desempeña el papel de
servidor y el gestor hace el de cliente.
El agente es un programa que ha de ejecutase en cada nodo de red que se desea gestionar
o monitorizar. Ofrece un interfaz de todos los elementos que se pueden configurar. Estos
elementos se almacenan en unas estructuras de datos llamadas "Management Information
Base" (MIB), se explicarán más adelante. Representa la parte del servidor, en la medida que
tiene la información que se desea gestionar y espera comandos por parte del cliente.
Hay un comando especial en SNMP, llamado trap, que permite a un agente enviar datos que
no han sido solicitados de forma explícita al gestor, para informar de eventos tales como:
errores, fallos en la alimentación eléctrica, etc.
En esencia, el SNMP es un protocolo muy sencillo puesto que todas las operaciones se
realizan bajo el paradigma de carga-y-almacenamiento (load-and-store), lo que permite un
juego de comandos reducido. Un gestor puede realizar sólo dos tipos diferentes de
operaciones sobre un agente: leer o escribir un valor de una variable en el MIB del agente.
Estas dos operaciones se conocen como petición-de-lectura (get-request) y petición-de-
escritura (set-request). Hay un comando para responder a una petición-de-lectura llamado
respuesta-de-lectura (get-response), que es utilizado únicamente por el agente.
Casi todos los fabricantes implementan versiones agente de SNMP en sus dispositivos:
encaminadores, hubs, sistemas operativos, etc. Linux no es una excepción, existen varios
agentes SNMP disponibles públicamente en la Internet.
DNS
Un servidor DNS (Domain Name System - Sistema de nombres de dominio) es un servidor
que traduce nombres de dominio a IPs y viceversa. En las redes TCP/IP, cada PC dispone de
una dirección IP para poder comunicarse con el resto de PCs.
Es equivalente a las redes de telefonía en las que cada teléfono dispone de un número de
teléfono que le identifica y le permite comunicarse con el resto de teléfonos.
Trabajar con direcciones IP es incómodo para las personas, ya que requeriría conocer en todo
momento las direcciones IP de los equipos a los que queremos conectarnos. En su lugar
utilizamos nombres de dominio que son más fáciles de recordar y utilizar como por ejemplo
www.google.es, www.educacion.gob.es, etc...
Cada equipo y cada servidor conectado a Internet, dispone de una dirección IP y de un nombre
perteneciente a un dominio. Internamente, la comunicación entre los PCs se realiza utilizando
direcciones IP por eso es necesario algún sistema que permita, a partir de los nombres de los
PCs, averiguar las direcciones IPs de los mismos. Ejemplo, cuando queremos acceder a la
página web del Ministerio de Educación, en la barra de direcciones del navegador escribimos:
http://www.educacion.gob.es
http://193.147.0.112
No existe una base de datos única donde se almacenan todas las IPs existentes en el mundo,
sino que cada servidor almacena las IPs correspondientes a su dominio. Los servidores DNS
están dispuestos jerárquicamente de forma que cuando nuestro servidor más inmediato no
puede atender nuestra petición, éste la traslada al DNS superior.
En el proceso de resolución de un nombre, hay que tener en cuenta que los servidores DNS
funcionan frecuentemente como clientes DNS, consultando a otros servidores para resolver
completamente un nombre consultado. Muchas implementaciones de DNS proporcionan tres
utilidades bastante comunes para consultar a servidores de nombres:
Host:
Obtiene una dirección IP asociada con un nombre de host o un nombre de host
asociado con una dirección IP.
Nslookup:
Permite localizar información acerca de los nodos de red, examinar los contenidos de
la base de datos de un servidor de nombres y establecer la accesibilidad a servidores
de nombres.
Sockets
Los sockets son una forma de comunicación entre procesos que se encuentran en diferentes
máquinas de una red, los sockets proporcionan un punto de comunicación por el cual se
puede enviar o recibir información entre procesos.
Los sockets tienen un ciclo de vida dependiendo si son sockets de servidor, que esperan a
un cliente para establecer una comunicación, o socket cliente que busca a un socket de
servidor para establecer la comunicación.
Clase Descripción
Socket Esta clase implementa sockets del cliente
No orientado a conexión:
Clase Descripción
DatagramSocket Esta clase representa un socket para enviar y recibir paquetes
datagrama.
Bibliografía
http://neo.lcc.uma.es/evirtual/cdd/tutorial/aplicacion/http.html
https://tools.ietf.org/html/rfc2818#page-2
http://neo.lcc.uma.es/evirtual/cdd/tutorial/aplicacion/ftp.html
http://es.ccm.net/contents/279-protocolos-de-mensajeria-smtp-pop3-e-
imap4
http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m2/servid
or_dns.html
http://dsp.mx/blog/sistemas-de-informacion/49-sockets-tcp-udp
http://neo.lcc.uma.es/evirtual/cdd/tutorial/aplicacion/smtp.html
http://redesdecomputadores.umh.es/aplicacion/snmp.htm