Diferencia entre revisiones de «Capa de trasporte»
Etiqueta: Deshacer |
(→TCP) |
||
Línea 46: | Línea 46: | ||
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. | 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. | ||
+ | |||
+ | Os puntos de acceso o servizo na capa de transporte en TCP/IP chamanse ''scokets'' ou conectores TCP/IP e son útiles na programación de aplicacións de rede. | ||
== Formato do segmento TCP == | == Formato do segmento TCP == |
Revisión del 01:08 12 dic 2020
Sumario
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:
- establecimiento
- transferencia de datos
- 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.
Os puntos de acceso o servizo na capa de transporte en TCP/IP chamanse scokets ou conectores TCP/IP e son útiles na programación de aplicacións de rede.
Formato do segmento 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
+ | 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 | |||||||||||||||||||||||||||||||||||||||||||||
|
Establecemento da conexión
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
- 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