Diferencia entre revisiones de «Capa de trasporte»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 120: Línea 120:
 
== Establecemento da conexión ==
 
== Establecemento da conexión ==
  
[[File:TCP establecemento conexion.png|frame|Establecemento dunha conexión TCP]]
+
[[File:TCP establecemento conexion.png|thumb|200px|Establecemento dunha conexión TCP]]
 
Un extremo (o servidor) fai unha apertura pasiva e outro (o cliente) fai unha apaertura activa.
 
Un extremo (o servidor) fai unha apertura pasiva e outro (o cliente) fai unha apaertura activa.
  

Revisión del 00:35 12 dic 2020

Introducción

Este nivel está encargado da transferencia libre de erros dos datos entre o emisor e o receptor, aínda que non estén directamente conectados e de mantener o fluxo da rede.

Hay dous tipos de servizo na capa de transporte: orientado e non orientado á conexión.

No servizo orientado á conexión consta de tres partes:

  1. establecimiento
  2. transferencia de datos
  3. liberación

No servizo non orientado á conexión tratanse os paquetes de xeito individual.

Porén, dous son os protocolos máis utilizados desta capa: TCP e UDP.

TABLA

Direccionamento. Portos

A capa de trasnporte engade a noción de porto para distinguir entre moitos destinos dentro dunha máquina para coñecer qué aplicación recollerá a mensaxe; así pois cada aplicación estará a espera dunha mensaxe nun porto determinado (escoitando un porto).

Os portos utilízanse tanto para recepción coma para o envío de mensaxes. Os portos están numerados e as aplicacións estándaar utilizan sempre o mesmo porto.

O uso de portos permite que unha máquina poida conectarse simultáneamente a diversas máquinas, xa que aínda que todos os paquetes terán o mesmo enderezo, contarán con distintos portos.

Os números de portos están formados por 2 bytes, polo que existen 65.536 posibles portos diferentes para cada máquina:

  • O 0 é un porto reservado
  • Do 1 o 1023 reciben o nome de portos ben coñecidos
    • ICMP 8
    • FTP 20 para transmisión de datos e 21 para control
    • SSH 22
    • Telnet 23
    • SMTP 25
    • HTTP 80
    • HTTPS 443
  • Do 1024 ó 49151 son os portos denominados rexistrados que poden usados por calquera aplicación
  • Do 49152 o 65535 son os portos denominados efímeros; son dinámicos, de uso temporal utilizados polo sistema operativo cando unha aplicación ten que conectarse a un servidor e necesita un porto por onde sair.

TCP

O Protocolo de control de transmisión crea “conexións” a través das cales pode enviarse un fluxo de datos. O protocolo garantiza que os datos serán entregados no seu destino sen erros e no mesmo orde no que se transmitiron.; proporciona tamen un mecanismo para distinguir distintas aplicacións dentro dunha mesma máquina a través do concepto de porto.

É por tanto fiable porque se garantiza que os datos enviados chegan correctamente o seu destino e é orientado a conexión porque establece unha conexión previa a transmisión dos datos entre orixe e destino que será pechada cando finalice a transmisión.

A unidade de datos (PDU) do protocolo TCP chámase segmento e viaxa no campo de datos dun paquete IP. IMAXE

Para acadar ese servizo fiable facendo uso do protocolo IP (que non o é) utilizase un sistema de recoñecemento de mensaxes que consiste en que para cada mensaxe recibido devolvese unha confirmación (acknowledgemente ou ACK) para que o emisor saibe que chegou correctamente; se pasado un tempo non o recibe, o emisor reenvía a mensaxe.

O protocolo utilizado chámase protocolo de fiestra deslizante. As mensaxes e as confirmacións van umeradas e o emisor pode enviar máis dunha mensaxe antes de ter reecibidas todas as confirmacións anteriores.

Formato do segmento TCP

Cabezallo TCP

Coma se amosa na figura, o formato do segmento TCP conta cos seguintes campos:

  • Porto TCP Orixe. 16 bits que identifican o porto da máquina orixe
  • Porto TCP Destino. 16 bits que identifican o porto da máquina destino
  • Número de secuencia. 32 bits que indican o número de secuencia do primeiro byte que transporta o campo de datos do segmento
  • Número de acuse de recibo. 32 bits que indican o número de secuencia do seguinte byte que se agarda recibir. Con este campo indícaselle o outro extremo da conexión que os bytes anteriores foron recibidos correctamente.
  • HLEN. 4 bits que indican a lonxitude da cabecera medida en múltiplos de 32 bits (4 bytes). O valor mínimo deste campo é 5 (20 bytes), que corresponde a un segemento sen datos; o máximo é de 15 palabras (60 bytes). Utilízase para determinar onde comeza o campo de datos
  • Reservado. 6 bits reservados para un posible uso futuro. O seu valor é de 0.
  • Bits de código, flags ou indicadores. 6 bits de control de TCP que se utilizan para determinar o propósito e contido do segmento. De esquerda a deerita, se hai un un un está activado
    • URG
    • ACK
    • PSH
    • RST
    • SYN
    • FIN
  • Fiestra. 16 bits que indican o número de octetos de datos, a contar a partir do número indicado no campo Número de acuse de recibo, que o emisor deste segmento está disposto a aceptar. É un sistema de control de fluxo.
  • Checksum. 24 bits que portan a suma de comprobación de erros, que serve para comprobar se hai erros tanto no cabezallo coma nos datos do segmento actual
  • Puntero de urxencia. Este campo de 16 bits é valido cando o indicador URG está activo; é a cantidade de bytes desde o número de secuencia que indica o lugar onde acaban os datos urxentes.
  • Opcións. De lonxitude variable pero múltiplo de 8 bits, permite engadir características non cubertas polo cabezallo fixo
  • Recheo. Composto por ceros, utilízase para asegurarse de que o cabezallo acaba cun tamaño múltiplo de 32 bits.
  • Datos
Cabezallo dunha trama TCP
+ Bits 0 - 3 4 - 9 10 - 15 16 - 31
0 Porto na orixe Porto no destino
32 Número de secuencia
64 Número de confirmación (ACK)
96 Offset Reservados Flags Fiestra
Window
128 Checksum Punteiro de urxencia
160 Opcións (opcional)
Padding (ata 32)
224  
Datos
 
Detalle do campo Flags
+ 10 11 12 13 14 15
96 UrgPtr ACK Push RST SYN FIN

Establecemento da conexión

Establecemento dunha conexión TCP

Un extremo (o servidor) fai unha apertura pasiva e outro (o cliente) fai unha apaertura activa.

  • A máquina que quere iniciar a conexión....
  • A máqina receptora ...
  • A primeira máquina...
  • A máquina receptora recibe a confirmación e entende...

Transmisión de datos

LOREM IPSUM

LOREM IPSUM


LOREM IPSUM


LOREM IPSUM


LOREM IPSUM

Peche da conexión

Peche dunha conexión TCP
  • A máquina que xa non ten máis datos que transferir, envía un segmento co bit FIN activado e pecha o sentido do envío
  • A máquina receptora recibe o segmento co bit FIN activado e devolve a correspondente confirmación; pero non pecha inmediatamente o outro sentido da conexión. Informa a aplicación da petición de peche, e prodúcese un lapso de tempo ata que a aplicación decide pechar o outro sentido da conexión.
  • A primeira máquina recibe o segmento ACK
  • Cando a máquina receptora toma a decisión de pachar o outro sentido da comunicación, envía un segmento co bit FIN activado e pecha a conexión
  • A primeira máquina recibe o segmento FIN e envía o correspondente ACK; aínda que teña pecha o seu sentido da conexión segue devolvendo as confirmacións
  • A máquina receptora recibe o segmento ACK

UDP

O protocolo de datagramas de usuario permite o envío de datagramas a través da rede sen establecer previamente unha conexión tampouco ten confirmación ni control de fluxo, polo que os paquetes poden adiantarse uns a outros; e igualmente non se sabe se chegan correctamente, xa que non hay confirmación de entrega ou recepción.

Polo tanto non é fiable porque as mensaxes UDP poden chegar danadas, duplicadas ou non chegar; e non é orientado a conexión porque non esteblece conexión previa co outro extremo.

O seu uso principal é para protocolos como DHCP, BOOTP, DNS e outros nos que o intercambio de paquetes para a conexión/desconexión sería maior que o contido, así como para a transmisión de audio e vídeo en tiempo real, oonde é deseable un menor retardo aínda que se perda parte da información.

A unidade de datos (PDU) do protocolo UDP chámase datagrama e viaxa no campo de datos do paquete IP.

Formato do segmento UDP

Os campos do segmento UDP son os seguintes:

  • Porto UDP orixe. 16 bits que identifican o porto da máquina orixe
  • Porto UDP destino. 16 bits que identifican o porto da máquina destino
  • Lonxitude da mensaxe UDP. 16 bits que indican a lonxitude en bytes da mensaxe UDP incluindo cabecera. A lonxitude mínima e de 8 bytes.
  • Checksum. Campo opcional de 16 bits que porta a suma de comprobación de erros da mensaxe
  • Datos. Información que envía a aplicación