La capa de transporte añade la noción de puerto para distinguir entre los destinos dentro de una máquina. Los puertos se usan para la recepción y el envío de mensajes. Los números de puerto están formados por 2 bytes divididos en categorías: El 0 es un puerto reservado. Del 1 al 1.023 reciben el nombre de puertos bien conocidos, están reservados para protocolos estándares. El protocolo SMTP usa el 25, HTTP el 80 y FTP el 20 para la transmisión de datos y el 21 para el control. Del 1.024 al 49.151 son los puertos registrados y se pueden usar por cualquier aplicación. Del 49.152 al 65.535 son llamados efímeros, son dinámicos de uso temporal o privado.

Protocolo TCP

TCP es un protocolo fiable y orientado a la conexión basado en IP. Los campos del segmento TCP son:

  • Puerto TCP origen: 16 bits identifican el puerto de la máquina origen.
  • Puerto TCP destino: 16 bits que identifican el puerto de la máquina destino.
  • Número de secuencia: 32 bits que indican el número de secuencia del primer byte que transporta el campo de datos del segmento.
  • Número de acuse de recibo: 32 bits que indican el número de secuencia del siguiente byte que espera recibir.
  • HLEN: 4 bits que indican la longitud de la cabecera medida en múltiplos de 32 bits.
  • Reservado: 6 bits reservados para un posible uso futuro, su valor tiene que ser 0.

Bits de código

6 bits se utilizan para determinar el propósito y contenido del segmento:

  • URG (urgent): indica que el campo puntero de urgencia tiene información válida.
  • ACK (acknowledgement): indica que el campo número de acuse de recibo contiene la misma información válida.
  • PSH (push): indica que la aplicación ha solicitado los datos de ese segmento y almacenados deben de ser transferidos a la aplicación receptora.
  • SYN (synchronize): sincronización de los números de secuencia.
  • FIN: indica al otro extremo que la aplicación no tiene más datos para enviar. Se usa para solicitar el cierre de la conexión actual.
Ventana

16 bits que indican el número de bytes de datos que el emisor de este segmento está dispuesto a aceptar.

Checksum

24 bits que portan la suma de comprobación de errores, sirve para comprobar si hay errores en la cabecera.

Puntero de urgencia: 16 bits es válido cuando el indicador URG está activo, cuando se están enviando datos que tienen preferencia.

Opciones: campo de longitud variable pero siempre múltiplo de 8 bits.

Relleno: se utiliza para que la longitud de la cabecera sea múltiplo de 32 bits, está compuesto por ceros.

Datos: información que envía la aplicación. El protocolo TCP envía un flujo de información no estructurado.

Conexiones

Una conexión TCP se identifica por 2 pares de dirección IP: puerto uno para cada una de las app interconectadas. No puede haber 2 conexiones iguales en un mismo instante en toda la red. Si es posible que un mismo ordenador tenga varias conexiones distintas utilizando el mismo puerto. El protocolo TCP utiliza la conexión para identificar las transmisiones.

Establecimiento de una conexión

El protocolo TCP tiene 2 extremos, el servidor hace una apertura pasiva y el cliente una apertura activa.

  1. La máquina que quiere iniciar la conexión hace una apertura activa enviando un segmento con el bit SYN activado.
  2. La máquina receptora lo recibe y devuelve la confirmación. Si quiere abrir la conexión activa el bit SYN e informa del primer número de secuencia.
  3. La primera máquina recibe el segmento y envía la confirmación.
  4. La máquina receptora recibe la confirmación y entiende que el otro extremo ya abrió su conexión. La conexión ha quedado abierta en los 2 sentidos.
Cierre de una conexión

Cuando una app no tiene más datos que transferir, se cierra la conexión.

  1. La máquina que no tiene más datos que transferir envía un segmento con el bit FIN activado y cierra el sentido de envío.
  2. La máquina receptora recibe el segmento y devuelve la confirmación, pero no cierra el otro sentido de la conexión.
  3. La primera máquina recibe el segmento ACK.
  4. Cuando la máquina receptora cierra el otro sentido de la comunicación, envía un segmento con bit FIN activado y cierra la conexión.
  5. La 1ª máquina recibe el segmento FIN y envía un ACK.
  6. La máquina receptora recibe el segmento ACK.

TRANSFERENCIA DE LAS FASES HTTP: conexión, solicitud, respuesta, cierre. La conexión persistente permite al cliente descargarse varios objetos usando la misma conexión.

SEGURIDAD REDES INALÁMBRICAS Y CABLEADAS. Características: Integridad, confidencialidad, disponibilidad.

AMENAZAS: malware, intrusion, phishing, pharming, acceso no autorizado a servidores, ataques a través de navegadores, denegación de servicio.

MEDIDAS DE SEGURIDAD: uso de antivirus, activación de cortafuegos, uso de usuario y contraseña.

PROCEDIMIENTOS DE INSTALACIÓN: antes de instalar una red local tenemos que hacer un diseño. Los factores a tener en cuenta son: número de características de los equipos que formarán la red, si la red será cableada o inalámbrica, el cableado, adaptadores de red, hardware de red, estructura de la red.

CLIENTE Y SERVIDOR: Las app están estructuradas en 2 partes: cliente y servidor. El servidor ofrece un servicio al cliente que lo solicita. Se ejecutan en distintas máquinas el servidor en la máquina más potente y donde se realiza la mayor parte del procesamiento, el cliente realiza las peticiones a las que el servidor responde y hace de interfaz entre el servidor y el usuario de servicio.

P2P: estas redes permiten que cada uno de sus nodos pueda actuar como cliente y como servidor respecto a los demás nodos de la red. Estas redes se suelen usar para compartir ficheros y en telefonía VozIP para hacer más eficiente la transmisión de datos.