Linguagem de Programação IV Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.
Transcript of REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.
![Page 1: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/1.jpg)
REDES DE COMPUTADORES
Camada de Transporte
Professor: M.Sc. Carlos Oberdan Rolim
![Page 2: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/2.jpg)
• O nível de transporte é o coração da pilha de protocolos. Sua tarefa é prover transporte confiável e eficiente de dados de uma máquina origem para uma máquina destino, independente da (ou das) rede física existente.
• Torna a complexidade dos níveis mais baixos transparente para os processos
– Comunicação fim-a-fim
• O hardware e software no nível de transporte que desempenha essa função é chamado de entidade de transporte, podendo se localizar no núcleo do sistema operacional, em um processo separado ou mesmo na placa de interface de rede.
![Page 3: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/3.jpg)
• O nível de transporte, de modo semelhante ao nível de rede, oferece o serviço com conexão e sem conexão. Por esse fato, levanta-se a questão:
Por que existir o nível de transporte?
• A resposta é sutil, mas crucial. O nível de rede é parte da subrede de comunicação e é implementado (pelo menos em MANs e WANs) pelas operadoras de telecomunicação. O que ocorre se o nível de rede oferece serviço orientado à conexão, mas não confiável? Se ele perde pacotes com freqüência? Se os roteadores envolvidos entram em pane com alguma freqüência?
• Problemas ocorrem na subrede de comunicação, sobre a qual os usuários finais não têm controle total. A solução do problema é colocar mais um nível sobre o nível de rede (o nível de transporte!) para melhorar a qualidade do serviço (Quality of Service – QoS).
• QoS de transporte pode permitir ao usuário especificar valores desejáveis, aceitáveis e mínimos para vários parâmetros na hora da abertura de uma conexão (quando se usa o serviço com conexão).
![Page 4: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/4.jpg)
Primitivas de Transporte• Fundamentalmente, o nível de transporte (nas várias
arquiteturasde rede) oferece as primitivas mostradas na tabela a seguir.
![Page 5: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/5.jpg)
• Para se ter uma idéia de funcionamento, considere uma aplicação de rede com um programa servidor e vários programas clientes (p.ex., o IRC). As primitivas usadas por cada elemento envolvido na comunicação seriam:
– De início, o servidor executa um LISTEN (chamando uma rotina de biblioteca que faz uma chamada ao sistema operacional que bloqueia o programa servidor) para ficar aguardando solicitações de abertura de conexão feitas por clientes;
– Um cliente, desejando "falar" com o servidor, executa um CONNECT, sendo bloqueado até obter uma resposta do servidor (ou até esgotar um temporizador);
– O servidor recebe o pedido de abertura de conexão, responde confirmando, e libera o fluxo de comunicação com o cliente;
– Cliente e servidor trocam dados entre si com chamadas a SEND e RECEIVE;– O cliente encerra a conexão com DISCONNECT;– O servidor aceita a desconexão e continua a aguardar pedidos de abertura de
conexão.
![Page 6: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/6.jpg)
Elementos de Protocolos de Transporte
• A camada de transporte guarda algumas semelhanças com a camada de enlace de dados:– Controle de erro;– Controle de sequenciamento;– Controle de fluxo.
• Apresenta, porém, algumas diferenças importantes:– Endereçamento de aplicação (processos) no emissor e receptor;– Abertura/ Encerramento de conexão mais elaborado com tratamento
de dados "em trânsito" na subrede;– Armazenamento temporário de segmentos no emissor e receptor;– Grande quantidade de conexões simultâneas, necessitando de maior
controle de fluxo.
![Page 7: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/7.jpg)
Endereçamento de aplicação ao nível de transporte
• Como um programa cliente que deseja abrir uma conexão com um programa servidor identifica de forma única o servidor? Como o próprio cliente se identifica para o servidor?
• Normalmente são usados endereços de transporte, a partir dos quais os servidores ficam aguardando ("escutando") pedidos de abertura de conexão.
• Esses endereços são chamados de portas
• As portas são números inteiros (padronizados em uma dada arquitetura) que identificam programas servidores e programas clientes em máquinas da rede.
![Page 8: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/8.jpg)
Endereçamento de aplicação ao nível de transporte
• De modo menos informal um endereço é definido como uma dupla composta por um endereço do nível de rede (endereço IP por exemplo) e uma porta
10.10.10.200:45000 10.10.10.1 : 80
Comunicação envolve porta+endereço local e porta+endereço remoto
Endereço local
IP : Porta
Endereço remoto
IP : Porta
![Page 9: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/9.jpg)
Endereçamento de aplicação ao nível de transporte
•Números de portas abaixo de 1024 são chamadas de portas “bem-conhecidas” precisam de permissão de super usuário
– 21: ftp– 23: telnet– 25: smtp– 80: http– 443 : https
– Outros: RFC 1700
•Acima de 1024 qualquer processo pode abrir uma porta
![Page 10: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/10.jpg)
Broadcast, multicast, unicast
• Ao endereçar uma comunicação cliente tem opção de fazer broadcast, multicast, unicast
Unicast Broadcast Multicast
![Page 11: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/11.jpg)
Estabelecimento de Conexão
• Teoricamente simples:– Origem envia solicitação de abertura de conexão (CONNECT REQUEST - CR)– Destino recebe CR e envia resposta favorável (ACCEPT ACK) ou desfavorável
(REJECT)– Origem inicia transmissão se recebe ACCEPT ACK
• O problema é que solicitações ou respostas podem se perder (ou serem duplicadas) no caminho:– Pode haver duplicação de solicitação quando uma confirmação demora muito
a chegar– A subrede pode reter um pacote por um tempo relativamente longo, gerando
instabilidades
• Como resolver o problema?– Usando um mecanismo Conhecido por Threeway Handshake (ou Aperto de
mão em três vias)
![Page 12: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/12.jpg)
Theeway Handshake
URI - Santo Ângelo - DECC
Cliente Servidor
SYN + ACK 101, 200
Envia SYN (Seq x, ACK = 0)
Envia SYN + ACK (ACK = x + 1, Seq y)
SYN, 100
Envia ACK (ACK = y + 1, Seq x + 1)
1.Cliente: Servidor, estou enviando a mensagem 100 (Número de sequência do cliente). Dá pra sincronizar (SYN)?2. Servidor: Claro, sincroniza a mensagem 200 (Número de sequência do servidor) que estou enviando (SYN). Prossiga com a mensagem 101 (ACK).3. Cliente: Ok, estou enviando a mensagem 101. Prossiga com a mensagem 201 (ACK).
ACK 101, 201
--- Conexão estabelecida ---
![Page 13: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/13.jpg)
Encerramento de Conexão
• Não é tão simples quanto possa parecer. Pode ser:– Assimétrico, quando emissor ou receptor fecha a conexão e a
comunicação física é interrompida (como no sistema telefônico)
– Simétrico, quando a comunicação é vista como duas conexões unidirecionais e o emissor e o receptor devem ser liberados separadamente.
• Problema dos dois exércitos– Como sincronizar os ataques da tropa A com a tropa B, para vencer a
tropa C, sendo que A e B juntas vencem a tropa C, mas A e B isoladas perdem da tropa C?
![Page 14: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/14.jpg)
• Se cada tropa esperar a confirmação do parceiro, nunca se fará nada!– Com rede é bem mais fácil, usando-se técnicas de retransmissão temporizada
e desconexão temporizada, como mostrado nas figuras a seguir.
Problema dos dois exércitos
![Page 15: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/15.jpg)
Encerramento normal de conexão
![Page 16: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/16.jpg)
Encerramento de conexão com perda de ACK
![Page 17: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/17.jpg)
Encerramento de conexão com perda de resposta
![Page 18: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/18.jpg)
Encerramento de conexão com perda de resposta e DR seguintes
![Page 19: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/19.jpg)
Controle de Fluxo e Armazenamento Temporário
• Controle de fluxo é facilmente resolvido com o uso de protocolos de janela deslizante (slide window), como visto na camada de enlace.
– Quando um emissor não pode (ou não quer) receber mais segmentos do receptor, envia para o mesmo uma mensagem definindo tamanho 0 (zero) para a janela deslizante de recepção
– Posteriormente, envia mensagem de controle indicando um novo N para o reinicio da transmissão emissor → receptor
![Page 20: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/20.jpg)
• Armazenamento temporário é necessário porque durante a transmissão de uma mensagem dividida em vários segmentos, a camada de transporte guarda os segmentos enviados e ainda não confirmados (ACK) pelo receptor, para poder fazer eventuais retransmissões.
• É preciso haver área de armazenamento temporários para diversos segmentos de diversas conexões em andamento.
• A gerência dessa área de armazenamento pode ser feita de várias formas, sendo bastante comum a utilização de listas encadeadas com elementos de tamanho fixo ou variável e listas circulares
• Esse armazenamento temporário é necessário para o emissor e para o receptor (que deve armazenar segmentos até poder recompor a mensagem original e entrega-lá para as camadas superiores).
![Page 21: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/21.jpg)
Gerência de armazenamento temporário
![Page 22: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/22.jpg)
A necessidade por um serviço de transporte confiávelA necessidade por um serviço de transporte confiável
• Aplicações em qualquer sistema de computação assumem que a transferência de dados é confiável, ou seja, o sistema garante que os dados não serão:– perdidos,– duplicados, e– entregues fora de ordem
• Uma internet deve prover um serviço idêntico a um sistema convencional
![Page 23: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/23.jpg)
Protocolo TCPProtocolo TCP
• Principal protocolo de transporte da arquitetura TCP/IP
• Existem outros como o UDP, RTP e RTCP
![Page 24: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/24.jpg)
Protocolo TCPProtocolo TCP
• Provê um serviço (missão) impossível?
– Usa um serviço datagrama não confiável para prover um serviço de entrega de dados confiável para as aplicações
– Deve ser capaz de compensar perdas e atrasos na sub-rede de comunicação de tal forma a prover o transporte de dados fim-a-fim de forma eficiente
– Deve ser capaz de executar essas tarefas sem sobrecarregar a sub-rede de comunicação e os roteadores
![Page 25: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/25.jpg)
Protocolo TCPProtocolo TCP
• De todos os protocolos de transporte propostos talvez o TCP seja o protocolo que executa essas funções da melhor forma possível
– Certamente existem outras propostas melhores quando outros ambientes são considerados, como redes de alta velocidade
• Atualmente, a maior parte das aplicações na Internet são baseadas no TCP
![Page 26: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/26.jpg)
Formato do segmento TCPFormato do segmento TCP– TCP usa o termo segmento para fazer referência a uma
mensagem
![Page 27: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/27.jpg)
Serviços que o TCP provê para as aplicaçõesServiços que o TCP provê para as aplicações
• Conexão
– Serviço baseado em três fases:
• Estabelecimento da conexão
• Transferência de dados
• Término da conexão
![Page 28: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/28.jpg)
Serviços que o TCP provê para as aplicaçõesServiços que o TCP provê para as aplicações
• Comunicação ponto-a-ponto– Cada conexão TCP tem dois endpoints
• Confiabilidade– TCP garante que os dados serão entregues da
forma que foram enviados
![Page 29: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/29.jpg)
Serviços que o TCP provê para as aplicaçõesServiços que o TCP provê para as aplicações
• Comunicação full-duplex
– TCP permite que dados sejam enviados em qualquer instante e em qualquer direção
– TCP pode armazenar dados de entrada e saída
– Libera a aplicação para continuar processando
![Page 30: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/30.jpg)
Serviços que o TCP provê para as aplicaçõesServiços que o TCP provê para as aplicações
• Interface do serviço é uma seqüência de bytes
– TCP não identifica estruturas lógicas nos dados transmitidos
– Dados transmitidos são vistos como uma seqüência de bytes
![Page 31: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/31.jpg)
Serviços que o TCP provê para as aplicaçõesServiços que o TCP provê para as aplicações
• Inicialização confiável da conexão– TCP requer que as aplicações reconheçam uma nova
conexão toda vez que uma for criada– Pacotes de conexões anteriores não podem aparecer como
válidos
• Término correto da conexão – TCP garante a entrega de todos os dados antes de fechar uma
conexão a pedido de uma aplicação
![Page 32: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/32.jpg)
Serviço fim-a-afim e datagramasServiço fim-a-afim e datagramas
• Protocolos de transporte são chamados de protocolos fim-a-fim– Provêem uma conexão entre duas aplicações em
computadores distintos
• Conexões são virtuais– Implementadas de software já que o sub-sistema de
comunicação não provê nenhuma facilidade
![Page 33: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/33.jpg)
Serviço fim-a-afim e datagramasServiço fim-a-afim e datagramas
• Mensagens TCP são encapsuladas em datagramas (pacotes) IPs
• Pacotes são encapsulados em quadros
• Quadros são transmitidos como uma sequência de bits
![Page 34: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/34.jpg)
Serviço fim-a-afim e datagramasServiço fim-a-afim e datagramas
![Page 35: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/35.jpg)
Dois cenários que afetam a confiabilidadeDois cenários que afetam a confiabilidade
• Serviço não confiável do sub-sistema de comunicação
– No sub-sistema de comunicação, mensagens de uma conexão podem ser:
• Perdidas
• Duplicadas
• Atrasadas
• Entregues fora de ordem e aparecerem em outra conexão
![Page 36: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/36.jpg)
Dois cenários que afetam a confiabilidadeDois cenários que afetam a confiabilidade
• Conexões devem ser identificadas de forma única
• Solução: um número de 32 bits é gerado por cada entidade toda vez que uma conexão é criada
![Page 37: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/37.jpg)
Dois cenários que afetam a confiabilidadeDois cenários que afetam a confiabilidade
• Reinicialização de um computador após uma conexão ter sido estabelecida– Computador que não reinicializou não sabe do
problema e considera a conexão válida– Computador que reinicializou não sabe da existência
da conexão e deve rejeitar esses pacotes
• Problema que não é simples de ser resolvido
![Page 38: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/38.jpg)
Como alcançar a confiabilidade?Como alcançar a confiabilidade?
• Através de uma série de técnicas que tratam partes do problema
• Princípio básico para cada mensagem:– Transmissão– Temporização ou confirmação (positiva ou negativa)– Retransmissão, se for o caso– Repetição do processo um número finito de vezes
![Page 39: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/39.jpg)
Como alcançar a confiabilidade?Como alcançar a confiabilidade?
![Page 40: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/40.jpg)
Como alcançar a confiabilidade?Como alcançar a confiabilidade?
• Problema decorrente:– Como configurar temporizadores para
comunicações em LANs e WANs?
• LANs: deve-se esperar pouco
• WANs: deve-se esperar mais
![Page 41: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/41.jpg)
Como alcançar a confiabilidade?Como alcançar a confiabilidade?
• Problema relacionado com a eficiência:
– Rajadas de datagramas podem causar congestionamento
– Tempo para enviar, receber e confirmar uma mensagem pode variar uma ordem de magnitude em poucos ms
– TCP deve adaptar-se a diferentes condições de tráfego que podem causar diferentes atrasos num pequeno intervalo de tempo
![Page 42: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/42.jpg)
Retransmissão adaptativaRetransmissão adaptativa
• Protocolos de transporte anteriores ao TCP usavam um valor fixo de espera de confirmação para efeito de retransmissão
![Page 43: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/43.jpg)
Retransmissão adaptativaRetransmissão adaptativa
• No TCP esse tempo é variável
– TCP monitora o atraso em cada conexão e modifica o temporizador de retransmissão para acompanhar mudanças
– Mudança é feita em função de uma análise estatística das mensagens transmitidas
• Na prática, retransmissão adaptativa funciona bem
![Page 44: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/44.jpg)
Retransmissão adaptativaRetransmissão adaptativa
![Page 45: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/45.jpg)
Controle de FluxoControle de Fluxo
• Baseado em um mecanismo de janela
• No momento do estabelecimento da conexão, um buffer de recepção é alocado e seu tamanho é informado para a entidade par
![Page 46: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/46.jpg)
Controle de FluxoControle de Fluxo
• Em toda confirmação é enviado o espaço disponível nesse buffer– Esse espaço é chamado de janela
• A notificação que contém o valor desse espaço é chamado de anúncio da janela (window advertisement)
![Page 47: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/47.jpg)
Controle de Controle de FluxoFluxo
Tamanho máximo do segmento para o exemplo: 1000 bytes
![Page 48: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/48.jpg)
Gerenciamento de conexõesGerenciamento de conexões
• É feito usando 3-way handshake (três mensagens são trocadas)
• TCP usa os campos:– Campo de sincronização (SYN)– Campo de término (FIN)– Campo de reset ( RST)– Campo de reconhecimento (ACK) todos pacotes após
estabelecimento de conexão precisam estar com ele setado
– Combinação entre eles: ACK/FIN
![Page 49: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/49.jpg)
Controle de congestionamentoControle de congestionamento
• Congestionamento da rede pode ser piorado se a camada de transporte retransmite pacotes que não foram perdidos
– Esse problema pode causar até um colapso da rede
![Page 50: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/50.jpg)
Controle de congestionamentoControle de congestionamento
• TCP usa a quantidade de pacotes perdidos como uma medida de congestionamento– Reduz a taxa de retransmissão a medida que esse valor
aumenta
• A transmissão de mensagens é feita de forma exponencial até atingir um dado valor, quando passa a aumentar mais lentamente
![Page 51: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/51.jpg)
Controle de congestionamentoControle de congestionamento
![Page 52: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/52.jpg)
UDPUDP• UDP: User Data Protocol
– Protocolo de transporte não confiável (não há estabelecimento de conexão)
![Page 53: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/53.jpg)
UDPUDP
• Onde é usado:
– Aplicações cliente-servidor onde existe apenas uma requisição e uma resposta
– O custo para estabelecer uma conexão é alto quando comparado com a transferência de dados
![Page 54: REDES DE COMPUTADORES Camada de Transporte Professor: M.Sc. Carlos Oberdan Rolim.](https://reader035.fdocument.pub/reader035/viewer/2022062700/552fc17c497959413d8f0c2e/html5/thumbnails/54.jpg)
Políticas de prevenção de congestionamento• A tabela a seguir resume as políticas adotadas em diversas camadas de uma pilha de
protocolos que afetam o congestionamento.