Redes de Computadores I Prof Mateus Raeder Universidade
- Slides: 25
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos Redes de Computadores I – Prof. Mateus Raeder - São Leopoldo -
TCP – Controle de congestionamento • Quando ocorre um congestionamento? – Quando a carga enviada para a rede é maior que sua capacidade • A idéia, então, é não enviar um novo pacote até que um antigo tenha saído da rede • A tentativa de evitar congestionamentos é manipulando dinamicamente o tamanho da janela • O primeiro passo para gerenciar congestionamento é detectá-lo Redes de Computadores I – Prof. Mateus Raeder
TCP – Controle de congestionamento • Antigamente, detectar congestionamentos era mais difícil – Timeouts eram causados ou por ruído na rede ou descarte por um roteador congestionado – Difícil saber a diferença entre os dois casos • Hoje em dia, a perda de pacotes devido a erros de transmissão é rara • Maioria dos timeouts da Internet é devido a congestionamentos Redes de Computadores I – Prof. Mateus Raeder
TCP – Controle de congestionamento • Como o TCP evita congestionamentos? – Na conexão, deve-se escolher um tamanho de janela adequado – O remetente evita congestionamentos enviando pacotes dentro do tamanho da janela do receptor – Entretanto, ainda podem ocorrer devido a congestionamentos internos da rede – A solução é entender que existem estes dois tipos de congestionamentos (capacidade da rede e capacidade do receptor) Redes de Computadores I – Prof. Mateus Raeder
TCP – Controle de congestionamento • Cada remetente possui 2 janelas – A do receptor – A de congestionamento • Cada uma delas indica o número de bytes que o remetente pode enviar • O número de bytes que podem ser transmitidos é o mínimo entre as duas janelas – Se receptor pedir 10 KB e o remetente sabe que com mais de 6 KB congestiona a rede, ele enviará 6 KB – Se o remetente souber que até 32 KB não congestiona a rede, enviará 8 KB para não saturar o receptor Redes de Computadores I – Prof. Mateus Raeder
TCP – Controle de congestionamento • Quando a conexão é estabelecida, janela de congestionamento é ajustada ao tamanho máximo do segmento em uso na conexão • Envia um segmento máximo • Se o segmento for confirmado antes do timeout – Coloca na janela de congestionamento mais um tamanho máximo de segmento – Assim, a janela de congestionamento agora possui capacidade equivalente a dois segmentos máximos – Em seguida, envia 2 segmentos Redes de Computadores I – Prof. Mateus Raeder
TCP – Controle de congestionamento • Quando a janela de congestionamento chegar em n segmentos – se todos os n segmentos forem confirmados a tempo, a janela de congestionamento será aumentada em n segmentos – Assim sendo, cada rajada confirmada duplica a janela de congestionamento – O crescimento é exponencial, até que ocorra um timeout ou que a janela do receptor seja alcançada – Para evitar congestionamentos, então, quando ocorre um timeout a janela anterior é a que prevalece Redes de Computadores I – Prof. Mateus Raeder
TCP – Controle de congestionamento • Inicialização lenta – É utilizada para determinar o que a rede é capaz de gerenciar – Quando um timeout ocorre, a janela fica com a metade do último tamanho (o que gerou timeout) – A partir de então, cada rajada (tentativa de envio) não é mais exponencial (dobro), mas sim linear (um MSS) – Ou seja, a janela cresce exponencialmente até quando pode, e segue crescendo linearmente depois Redes de Computadores I – Prof. Mateus Raeder
TCP – Gerenciamento de timers • Dos vários timers que utiliza, o mais importante é o de retransmissão – Quando um segmento é enviado, um timer de transmissão é ativado – Se a confirmação do segmento chegar antes to final do timer, ele será interrompido – Senão, o segmento será retransmitido (mais um timer) • Obviamente surge a pergunta: – Qual deve ser o intervalo do timer? Redes de Computadores I – Prof. Mateus Raeder
TCP – Gerenciamento de timers • Não é fácil e é crítico – Se for muito pequeno: retransmissões desnecessárias – Se for muito grande: quando o pacote se perde demora-se muito a saber (retardo de retransmissão) • Solução: algoritmo altamente dinâmico, que ajusta os intervalos de timeout com base na avaliação contínua da rede • Descrito por Jacobson Redes de Computadores I – Prof. Mateus Raeder
TCP – Gerenciamento de timers • Algoritmo de Jacobson – Para cada conexão, guarda-se um valor RTT (melhor estimativa no momento para a ida e volta de 1 segmento) – O timer é disparado transmissão – Se voltar o ACK antes do timer, o TCP mede o tempo necessário, que será M – Assim, de acordo com a fórmula RTT = αRTT + (1 – α)M – onde α é um fator de suavização que determina o peso dado ao antigo valor Redes de Computadores I – Prof. Mateus Raeder
TCP – Gerenciamento de timers • O que fazer quando um pacote é retransmitido? – Pois não necessariamente a confirmação é do último pacote • Phil Karn sugeriu o seguinte: – Não atualizar o RTT em qualquer segmento enviado – Ao invés disso, duplica-se o timeout a cada falha ocorrida, até chegarem no destino pela primeira vez Redes de Computadores I – Prof. Mateus Raeder
TCP – Gerenciamento de timers • Existe ainda o timer de persistência – Receptor envia janela 0 – Remetente para de enviar (timer) – Receptor atualiza a janela para continuar recebendo (envia mensagem) – Mensagem do receptor se perde – Ambas as extremidades aguardando a outra fazer alguma coisa – Quando o timer de persistência expirar, envia teste ao receptor. A resposta fornece o tamanho da janela. Redes de Computadores I – Prof. Mateus Raeder
TCP – Máquina de estados • A conexão e desconexão podem ser representadas por uma máquina de estados finito com 11 estados • A cada estado, eventos podem ocorrer e gerar determinadas ações • TCP possui estados, UDP não Redes de Computadores I – Prof. Mateus Raeder
TCP – Máquina de estados • Estados e significados Redes de Computadores I – Prof. Mateus Raeder
TCP – Máquina de estados Redes de Computadores I – Prof. Fonte: Mateus slides Raeder Prof. Luiz Arthur
TCP x UDP • UDP – Entrega não confiável – Não ordenada – Sem controle nenhum sobre os dados • Erro, fluxo, congestionamento, retransmissão, etc. • TCP – Entrega confiável – Ordenada – Controle de fluxo, congestionamento, retransmissão de pacotes, controle de erros Redes de Computadores I – Prof. Mateus Raeder
Mas por que existe o UDP? • • Elimina retardos de conexão Não mantém estado entre o transmissor e receptor Cabeçalho muito mais simples Como não controla congestionamento, transfere o mais rápido possível • Utilizado para aplicações com a idéia de continuidade (vídeo, áudio) • Quem deve controlar a confiabilidade no UDP? – A própria aplicação! Redes de Computadores I – Prof. Mateus Raeder
Questão para discussão • Por que foram criadas camadas de protocolos? – Independência entre as camadas – Cada uma com suas funções • Cite um aspecto da Camada de Transporte que rompe este objetivo. – Checksum • Pseudo. Header (informações da camada de rede) Redes de Computadores I – Prof. Mateus Raeder
Exemplo de checksum • Transmissor – – Coloca checksum em 0 Soma complemento de 1 todos os campos Coloca complemento de 1 no campo checksum Envia • Receptor – Calcula checksum – Verifica se é zero • Se SIM, pacote correto; se NÃO, erro detectado Redes de Computadores I – Prof. Mateus Raeder
Exemplo de checksum • Exemplo: Três palavras de 16 bits enviadas: 00110101101 010011100101 0000010110100110 Somando as duas primeiras: Redes de Computadores I – Prof. Mateus Raeder
Lembrando somas de bits • Soma de bits utilizada nos protocolos: 0 + 0 = 00 (“vai zero”) 1 + 0 = 1 = 01 (“vai zero”) 0 + 1 = 1 = 01 (“vai zero”) 1 + 1 = 2 = 10 (“vai um”) 1 + 1 = 3 = 11 (“vai um”) 0¹ 0¹ 1¹ 1¹ 0¹ 0¹ 0¹ 1 0 1 1 1 -------1 0 0 0 0 Redes de Computadores I – Prof. Mateus Raeder
Lembrando carry • Quando ocorre carry, a o bit é adicionado ao resultado: 0 0 1 0 1 1 1 0 0 -------1 0 0 0 1 1 0 1 -------0 0 0 1 1 1 + + Redes de Computadores I – Prof. Mateus Raeder
Voltando. . . Exemplo de checksum • Exemplo: Três palavras de 16 bits enviadas: 00110101101 010011100101 0000010110100110 Somando as duas primeiras: 00110101101 010011100101 --------1000000010010010 Somando com a última: 1000000010010010 0000010110100110 --------10000111000 01111000111 checksum Complemento de 1: inverter bits Redes de Computadores I – Prof. Mateus Raeder
Exemplo de checksum • No receptor, todos os campos são somados, inclusive o checksum • Se não houver erros, a soma deve resultar em 11111111 – O complemento de 1 será 00000000 Redes de Computadores I – Prof. Mateus Raeder
- Mateus raeder
- Mateus raeder
- Mateus raeder
- Mateus raeder
- Redes de computadores
- Fundamentos de redes de computadores
- Algoritmo link state
- Stallings william comunicaciones y redes de computadores
- Redes de computadores
- Ligações ionicas
- "universidade paulista unip instituto"
- "prof universidade paulista unip"
- "prof universidade paulista unip"
- "prof universidade paulista unip"
- Curso ensamble y mantenimiento de computadores
- Arquitetura de computadores
- Computadores
- Provedor tier 1
- Computadores antiguos
- Classificação dos computadores
- Execusist
- Organização e arquitetura de computadores
- Pc compònentes
- Organização de computadores
- Rede de computadores
- Universidade federal de santa catarina