Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


Barra lateral

Base de datos de juegos
GameBoy Advance (GBA)
Proyecto Integral de Ingeniería del Software
Metodologías Ágiles
Trabajo Fin De Grado
Guía Memoria TFG

Colecciones

Otros

dad:protocolos_comunicacion

Protocolos de Comunicación

Cuando hay una comunicación entre 2 procesos a través de internet aparecen los protocolos para indicar como se realizan estas comunicaciones. Hay 2 principales tipos:

  • basados en texto: se envían cadenas de caracteres en una representación ASCII.
  • De Solicitud-Respuesta: Un lado invoca una petición y espera la respuesta de la otra parte.

Protocolo HTTP

  • Hyper Text Transfer Protocol
  • Basado en la definición de URL, Universal Resource Locator. Que apunta a un recurso.
  • Un cliente realiza una petición al servidor y este le envía el resultado de realizar la acción.
  • HTTP 0.9 tiene texto sin formato, mientras que el HTTP 1.0 incluye formatos, el HTTP 1.1 incluye nuevos servicios y reinicio de comunicaciones.

Características

  • Utilizado por el 100% de usuarios y servidores
  • URL: Objeto al que se le suele pedir la ejecución de un método y obtener unos resultados en función de los parámetros
  • Protocolo tan genérico que permite definir tus propios comportamientos
  • No recuerda peticiones de clientes, utiliza cookies para saber peticiones anteriores (Fichero con información que se guarda en el navegador.) Las cookies se envían al servidor junto a la petición.

Mensajes

  • 3 cabeceras: General Header, Response Header y Entity Headar pormadas por pares:
    • field-name:field-value<CRLF>
  • Dos tipos de mensajes
    • Petición
    • Respuesta

Estructura del mensaje:

Primera Línea Header CRLF Entity Body

Mensaje de petición

  • Primera Línea
    • Método(Get, Post, Head y otros) a aplicar sobre:
      • Recurso elegido(URL)
      • Versión de HTTP
  • Cabeceras con los pares campo-valor
  • Cuerpo de la petición
    • Información extra para el servidor, puede contener parámetros para el método.

Mensajes de Respuesta

  • Primera línea (de estado)
    • Versión de HTTP
    • Código de estado de 3 dígitos
    • Frase descriptiva
  • Cabeceras con los pares campo-valor
  • Cuerpo de la Respuesta
    • Información extra para el cliente

Métodos HTTP 1.0

  • GET: Recupera URL especificada
  • POST: Envía datos al URL especificado
  • HEAD: igual que GET pero solo retorna carreteras

Métodos HTTP 1.1

  • PUT: Guarda los datos en la URL
  • PATCH: Como PUT pero con una lista de diferencias
  • COPY: Copia el contenido del recurso a las direcciones especificadas
  • MOVE: mueve el contenido del recurso a la dirección especificada
  • DELETE: Borra el recurso especificado

FTP: File Transfer Protocol

FTP tiene la siguiente serie de objetivos:

  • Permite compartir ficheros binarios o de datos
  • Facilita el uso de ordenadores remotos
  • Protege al usuario de las variaciones en el sistema de ficheros de los diferentes hosts
  • Transfiere ficheros real y eficientemente

Esta diseñado para ser usado por programas

Esquema 1 de FTP

Enviamos al servidor con 2 canales.

  • PI: Protocol Interpreter
  • DTP: Data Transfer Protocol
  • UserInterface: Programa o interfaz gráfica usada, por ejemplo, filezilla

Esquema 2 de FTP

Nos conectamos con un servidor, luego con otro, se mandan comandos y la transferencia de datos se hace entre los 2 servidores. Se establece un canal de datos entre 2 entidades y se realiza la transferencia. Transferencia de usuarios entre 2 servidores.

Ejemplo de funcionamiento Esquema 2

  • El Cliente C se conecta con los servidores A y B.
  • C le dice a A que se ponga en modo Pasivo.
  • A responde diciendo que entra en modo pasivo indicando la IP y el Puerto
  • C le dice a B que se conecte a las IP y puertos de B
  • B le envía confirmación a C
  • Comienza la transferencia de datos

Representación y almacenamiento

  • Transmisión de datos de un dispositivo de almacenamiento a otro

Control de formato

Para transmisión ACII/EBCDIC Especificar control vertical

  • Non Print
    • No hay Info de control vertical
  • Telnet Format Controls
    • <CR>,<KF>,<NL>, etc
  • Control de carro

Estructura del fichero

  • File estructure: secuencia de bytes
  • Record estructure: Secuencia de registros
  • Page estructure: Transmisión de ficheros discontinuos

Comandos

  • Cadenas de texto acabadas en <CRLF>
  • Todo comando tiene al menos una respuesta asociada
  • Algunos comandos deben suceder en grupos
  • Tipos
    • Control de acceso
    • Parámetros de transferencia
    • Servicios ofertados
dad/protocolos_comunicacion.txt · Última modificación: 2023/10/19 10:30 por thejuanvisu