Diferencia entre revisiones de «Capa de trasporte»
(No se muestran 39 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
= Introducción = | = 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. | + | Este nivel (''layer 4'') 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. | Hay dous tipos de servizo na capa de transporte: orientado e non orientado á conexión. | ||
Línea 11: | Línea 11: | ||
No servizo non orientado á conexión tratanse os paquetes de xeito individual. | 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. | + | Porén, dous son os protocolos máis utilizados desta capa: TCP e UDP, que confrontan fiabilidade fronte a rendemento. |
− | + | E estas son as súas diferencias: | |
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | !TCP | ||
+ | !UDP | ||
+ | |- | ||
+ | |É un protocolo confiable | ||
+ | |Non é confiable | ||
+ | |- | ||
+ | |Orientado a conexión | ||
+ | |Non establece unha conexión inicial | ||
+ | |- | ||
+ | |Leva xestión das retransmisións e control de fluxo | ||
+ | |Non xestiona retransmisións | ||
+ | |- | ||
+ | |Secuencia numéricamente os segmentos (paquetes de datos enviados/recibidos) | ||
+ | |Non xestiona un secuenciamento de segmentos | ||
+ | |- | ||
+ | |Admite segmentos de acuse de recibo | ||
+ | |Non incorpora acuse de recibo | ||
+ | |} | ||
= Direccionamento. Portos = | = Direccionamento. Portos = | ||
Línea 38: | Línea 59: | ||
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. | 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. | + | '''É 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 | + | A unidade de datos (PDU) do protocolo TCP chámase '''segmento''' e viaxa no campo de datos dun paquete IP. |
IMAXE | IMAXE | ||
Línea 47: | Línea 67: | ||
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 == | ||
+ | {| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; float:right;" | ||
+ | |+<small>''Cabezallo dunha [[trama]] TCP''</small> | ||
+ | |- align="center" | ||
+ | ! colspan="1"|+ | ||
+ | ! colspan="4"|Bits 0 - 3 | ||
+ | ! colspan="6"|4 - 9 | ||
+ | ! colspan="6"|10 - 15 | ||
+ | ! colspan="16"|16 - 31 | ||
+ | |- align="center" | ||
+ | ! colspan="1"|0 | ||
+ | | colspan="16"|<small>Porto na orixe</small> | ||
+ | | colspan="16"|<small>Porto no destino</small> | ||
+ | |- align="center" | ||
+ | ! colspan="1"|32 | ||
+ | | colspan="32"|<small>Número de secuencia</small> | ||
+ | |- align="center" | ||
+ | ! colspan="1"|64 | ||
+ | | colspan="32"|<small>Número de confirmación (ACK)</small> | ||
+ | |- align="center" | ||
+ | ! colspan="1"|96 | ||
+ | | colspan="4"|<small>Offset</small> | ||
+ | | colspan="6"|<small>Reservados</small> | ||
+ | | colspan="6"|<small>''Flags''</small> | ||
+ | | colspan="16"|<small>Fiestra<br />''Window''</small> | ||
+ | |- align="center" | ||
+ | ! colspan="1"|128 | ||
+ | | colspan="16"|<small>Checksum''</small> | ||
+ | | colspan="16"|<small>Punteiro de urxencia</small> | ||
+ | |- align="center" | ||
+ | ! colspan="1"|160 | ||
+ | | colspan="32"|<small>Opcións (opcional)</small> | ||
+ | |- align="center" | ||
+ | | colspan="8"|<small>''Padding'' (ata 32)</small> | ||
+ | |- align="center" | ||
+ | ! colspan="1"|224 | ||
+ | | colspan="32"| <br />Datos<br /> | ||
+ | |- align="center" bgcolor="#ffffff" | ||
+ | | colspan="33" align="center" | | ||
+ | {| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; align:center;" | ||
+ | |+ <small>Detalle do campo ''Flags''</small> | ||
+ | |- | ||
+ | ! + !! 10 !! 11 !! 12 !! 13 !! 14 !! 15 | ||
+ | |- | ||
+ | | 96 || ''UrgPtr'' || ACK || ''Push'' || RST || SYN || FIN | ||
+ | |} | ||
+ | |||
+ | |} | ||
+ | |||
+ | 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. ''Urgent''. Indica que o campo Puntero de urxencia conten información válida. | ||
+ | ** ACK. ''Acknowledgement''. Indica que o campo Número de acuse de recibo conten información válida, e dices, o segmento actual leva un ACK. | ||
+ | ** PSH. ''Push''. Indica que a aplicación solicitou unha operación push, e dicir, que os datos dese segmento e os que foron almacenados anteriormente no ''buffer'' do receptor deben ser transferidos á aplicación receptora o antes posible. | ||
+ | ** RST. ''Reset''. Reinicia a conexión actual. | ||
+ | ** SYN. ''Synchronize''. Sincronización dos números de secuencia. Utilízase ó crear unha conexión para indcarlle ó outro extremo cal vai ser o primeiro número de secuencia co que vai comezar a transmitir. | ||
+ | ** FIN. Indicalle o outro extremo que a aplicación xa non ten máis datos para enviar. Utilízase para solicitar o peche da conexión actual. | ||
+ | * 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. Información que envía a aplicación. | ||
+ | |||
+ | <gallery mode="packed-hover"> | ||
+ | File:TCP_Header.png|Cabezallo TCP | ||
+ | </gallery> | ||
== Establecemento da conexión == | == Establecemento da conexión == | ||
− | == Transmisión | + | [[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. | ||
+ | |||
+ | * A máquina que quere iniciar a conexión fai unha apertura activa enviando o outro extremo un segmento co bit SYN activado; informa ademais do primeiro número de secuencia que utilizará para enviar a suas mensaxes | ||
+ | * A máqina receptora recibeo e devolve a correspondente confirmación. Se desexa abrir a conexión, activa o bit SYN do segmento e informa do seu primeiro número de secuencia. E deixa aberta a conexión polo seu extremo. | ||
+ | * A primeira máquina recibe o segmento e envía a súa confirmación. A partir dese momento pode enviar datos o outro extremo. Abre a conexión polo seu extremo | ||
+ | * A máquina receptora recibe a confirmación e entende que o outro extremo xa ten aberta a súa conexión. A partir dese intre pode enviar ela tamen datos. A conexión queda aberta nos dous sentidos. | ||
+ | |||
+ | == Transmisión de datos == | ||
+ | Durante a fase de transferencia o TCP está equipado con varios mecanismos que aseguran a fiabilidade e robustez: números de secuencia que garanten a entrega ordenada, código detector de erros (checksum) para detección de fallos en segmentos específicos, confirmación de recepción e temporizadores que permiten o axuste e contorno de eventuais atrasos e perdas de segmentos. | ||
== Peche da conexión == | == Peche da conexión == | ||
− | + | [[File:TCP_peche_conexion.png|thumb|200px|Peche dunha conexión TCP]] | |
− | [[File:TCP_peche_conexion.png| | + | |
− | + | * 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 = | = 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 == | == 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 | ||
+ | |||
+ | |||
+ | A cabeceira UDP é extremadamente '''simple''', contendo apenas os números de porto, lonxitude da mensaxe e o checksum. A cabeceira dos datagramas UDP colócase a seguir á cabeceira IP. | ||
+ | |||
+ | {| border="1" cellpadding="0" cellspacing="0" align="center" width="300" style="float:center; margin-left:1em; margin-bottom:1em;" | ||
+ | !colspan="2" bgcolor="#DDDDDD"|Porto orixe | ||
+ | !colspan="2" bgcolor="#DDDDDD"|Porto destino | ||
+ | |- | ||
+ | !colspan="2" bgcolor="#DDDDDD"|Lonxitude da mensaxe | ||
+ | !colspan="2" bgcolor="#DDDDDD"|Checksum | ||
+ | |} | ||
+ | <br />RFC0768-UDP (User Datagram Protocol): [ftp://ftp.rfc-editor.org/in-notes/rfc768.txt] | ||
+ | |||
+ | = Referencias = | ||
+ | * [https://gl.wikipedia.org/wiki/TCP TCP na Wikipedia] | ||
+ | * [https://gl.wikipedia.org/wiki/UDP UDP na Wikipedia] | ||
+ | * Redes locales. Editorial Paraninfo |
Revisión actual del 01:39 12 dic 2020
Sumario
Introducción
Este nivel (layer 4) 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, que confrontan fiabilidade fronte a rendemento.
E estas son as súas diferencias:
TCP | UDP |
---|---|
É un protocolo confiable | Non é confiable |
Orientado a conexión | Non establece unha conexión inicial |
Leva xestión das retransmisións e control de fluxo | Non xestiona retransmisións |
Secuencia numéricamente os segmentos (paquetes de datos enviados/recibidos) | Non xestiona un secuenciamento de segmentos |
Admite segmentos de acuse de recibo | Non incorpora acuse de recibo |
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
+ | 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 | |||||||||||||||||||||||||||||||||||||||||||||
|
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. Urgent. Indica que o campo Puntero de urxencia conten información válida.
- ACK. Acknowledgement. Indica que o campo Número de acuse de recibo conten información válida, e dices, o segmento actual leva un ACK.
- PSH. Push. Indica que a aplicación solicitou unha operación push, e dicir, que os datos dese segmento e os que foron almacenados anteriormente no buffer do receptor deben ser transferidos á aplicación receptora o antes posible.
- RST. Reset. Reinicia a conexión actual.
- SYN. Synchronize. Sincronización dos números de secuencia. Utilízase ó crear unha conexión para indcarlle ó outro extremo cal vai ser o primeiro número de secuencia co que vai comezar a transmitir.
- FIN. Indicalle o outro extremo que a aplicación xa non ten máis datos para enviar. Utilízase para solicitar o peche da conexión actual.
- 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. Información que envía a aplicación.
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 fai unha apertura activa enviando o outro extremo un segmento co bit SYN activado; informa ademais do primeiro número de secuencia que utilizará para enviar a suas mensaxes
- A máqina receptora recibeo e devolve a correspondente confirmación. Se desexa abrir a conexión, activa o bit SYN do segmento e informa do seu primeiro número de secuencia. E deixa aberta a conexión polo seu extremo.
- A primeira máquina recibe o segmento e envía a súa confirmación. A partir dese momento pode enviar datos o outro extremo. Abre a conexión polo seu extremo
- A máquina receptora recibe a confirmación e entende que o outro extremo xa ten aberta a súa conexión. A partir dese intre pode enviar ela tamen datos. A conexión queda aberta nos dous sentidos.
Transmisión de datos
Durante a fase de transferencia o TCP está equipado con varios mecanismos que aseguran a fiabilidade e robustez: números de secuencia que garanten a entrega ordenada, código detector de erros (checksum) para detección de fallos en segmentos específicos, confirmación de recepción e temporizadores que permiten o axuste e contorno de eventuais atrasos e perdas de segmentos.
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
A cabeceira UDP é extremadamente simple, contendo apenas os números de porto, lonxitude da mensaxe e o checksum. A cabeceira dos datagramas UDP colócase a seguir á cabeceira IP.
Porto orixe | Porto destino | ||
---|---|---|---|
Lonxitude da mensaxe | Checksum |
RFC0768-UDP (User Datagram Protocol): [1]
Referencias
- TCP na Wikipedia
- UDP na Wikipedia
- Redes locales. Editorial Paraninfo