Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Camada de Transporte • É responsável pela transmissão lógica dos dados – A camada de enlace é responsável pela transmissão física • Dois tipos de transmissão: – Orientado a conexão • TCP – Transmission Control Protocol – Não orientado a conexão • UDP – User Datagram Protocol Redes de Computadores I – Prof. Mateus Raeder Camada de Transporte • O transporte dos dados pode ser tratado na camada de enlace – Entretanto, o transporte trabalha com a pior hipótese (enlace não controlar o transporte) – Isto, então, é tratado logicamente na Camada de Transporte • Na camada de Rede (abaixo do Transporte), sabe-se apenas o host destino – Sem distinções entre qual aplicação receberá Redes de Computadores I – Prof. Mateus Raeder Camada de Transporte • TCP e UDP acrescentam um mecanismo que escolhe diferentes “locais de entrega” em um host – Porta • Vários aplicativos enviam e recebem mensagens individualmente • Necessário, pois os Sistemas Operacionais geralmente são multitarefa – Várias tarefas ao mesmo tempo Redes de Computadores I – Prof. Mateus Raeder Camada de Transporte • Portas identificam os diferentes processos sendo executados – São definidas como um número inteiro positivo – Processos que utilizam a rede utilizam determinada porta para comunicação • Um processo transmissor precisa conhecer não somente o endereço IP do destino, mas também a porta a ser utilizada – Identifica host e aplicação Redes de Computadores I – Prof. Mateus Raeder Camada de Transporte • Além da identificação do destino, a porta de origem deve ser enviada também – Assim, o processo receptor pode responder a mensagem ao processo origem Origem Destino 198.12.3.11:27789 200.19.10.1:16784 198.12.3.11:27789 200.19.10.1:16784 Identifica a conexão, permitindo Várias conexões entre Origem e Destino Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Protocolo do nível de transporte • Entrega de mensagens sem conexão – Não confiável • O UDP também permite a distinção entre os vários processos (aplicativos) nos hosts • Uma mensagem UDP carrega dados, porta de destino e porta de origem • Mensagens UDP são Datagramas Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Aplicações que utilizam UDP são totalmente responsáveis por lidar com confiabilidade – – – – – Perda de mensagens Duplicação de mensagens Retardo de mensagens Erros de transmissão Erros de conexão Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) 0 31 16 Porta Origem Porta Destino Tamanho Checksum Dados • Datagrama UDP possui 2 partes – Cabeçalho – Dados Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) 0 31 16 Porta Origem Porta Destino Tamanho Checksum Dados • Portas Origem e Destino – Número de 16 bts, utilizado para entregar os datagramas entre os programas Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) 0 31 16 Porta Origem Porta Destino Tamanho Checksum Dados • Tamanho – Tamanho total incluindo cabeçalho e dados – Contagem de octetos (valor mínimo é 8) Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) 0 31 16 Porta Origem Porta Destino Tamanho Checksum Dados • Checksum – Soma de verificação – Verifica se o Datagrama UDP está correto VERIFICA mas não RECUPERA erros Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Checksum – Campo opcional • Preenchido com zeros no caso de não ser usado • Mínimo overhead possível – Unicamente para verificar se os dados chegaram intactos e possam ser usados – Para realizar o Checksum, o UDP utiliza mais informações do que existem no seu cabeçalho – Adiciona-se um pseudocabeçalho ao datagrama Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Checksum – O pseudocabeçalho é criado com o IP origem e destino e o campo protocolo • De onde vem estas informações? – Do datagrama IP, e não do UDP – O Tamanho é o único campo extraído do UDP 0 31 16 IP Origem IP Destino 00000000 (zeros) Protocol Tamanho Pseudoheader Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Checksum – Acrescenta um octeto de zeros para preencher, fazendo-o um múltiplo de 16 bits – A soma de verificação é calculada com todo o objeto – IMPORTANTE: pseudoheader não percorre a rede 0 31 16 IP Origem IP Destino 00000000 (zeros) Protocol Tamanho Pseudoheader Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Checksum – Remetente • O remetente calcula a soma dos valores contidos nos campos • Realiza complemento de 1 no resultado • Coloca no campo checksum da mensagem – Destino • Cria o pseudocabeçalho • Realiza o mesmo cálculo do remetente • Soma o resultado ao checksum Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Checksum – Se o resultado for 0, não houve erros na mensagem – Checksum é opcional • Coloca-se 0 quando não deseja – E se o checksum no remetente resultar em 0? • Neste caso, todos os bits do checksum são marcados em 1 Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) 0 31 16 Porta Origem Porta Destino Tamanho Checksum Dados • Dados – Dados do usuário – O que será entregue para a Camada de Aplicação Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Encapsulamento Cabeçalho Ethernet Cabeçalho UDP Dados Cabeçalho IP Cabeçalho UDP Dados Cabeçalho IP Cabeçalho UDP Dados Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Multiplexação e demultiplexação – Multiplexar: dados que saem da Camada de Aplicação e passam para a Camada de Transporte • Acrescentar informações – Demultiplexar: dados que saem da Camada de Transporte e passam para a Camada de Aplicação • Retirar informações – Baseados nas portas definidas na comunicação • No destino, UDP aceita as mensagens da Camada de Rede e desmultiplexa com base na porta destino do UDP Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Multiplexação e demultiplexação – UDP recebe um datagrama – Verifica se a porta de destino combina com alguma das que podem ser utilizadas – Caso não haja, envia uma mensagem de erro ICMP de porta inalcançável (port unreacheable), descartando o datagrama – Se encontra a combinação informada, enfileira na porta da aplicação • Fila cheia: mensagem descartada Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Multiplexação e demultiplexação Porta X Porta Y Porta Z Porta W UDP: realiza a demultiplexação de acordo com a porta Camada de Rede Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • UDP não realiza diversas ações – – – – Controle de fluxo Controle de erros Retransmissão de mensagens incorretas Sequenciamento de mensagens • Fornece apenas a principal tarefa dos protocolos de transporte – Entrega dos dados na Camada de Aplicação Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Trata-se de um protocolo simples – Implementação – Utilização • Aplicações de tempo real (como Voz sobre IP (VoIP), por exemplo) necessitam desta simplicidade • Deve ser utilizado em aplicações que não requerem segurança nos dados – Velocidade e simplicidade Redes de Computadores I – Prof. Mateus Raeder UDP (User Datagram Protocol) • Desvantagens – Não confirma a entrega dos dados – Não ordena os dados enviados – Os erros devem ser tratados na aplicação • Vantagens – Facilidade de implementação e utilização – Menos overhead na rede • Sem mensagens de controle Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • O protocolo TCP implementa a funcionalidade não implementada no UDP – Orientação a conexão – Trata-se, então, de uma implementação mais complexa • O protocolo TCP tem o objetivo de sanar os erros de envio das camadas mais baixas – Todas entregando pacotes de forma não confiável Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • As aplicações inúmeras vezes necessitam enviar grandes volumes de dados entre si • Sistemas não confiáveis e não orientados a conexão – Trazem tarefas nem sempre desejáveis aos programadores, pois eles são os que precisam controlar os erros que vão ocorrer • O TCP realiza estes controles para os aplicativos Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • Quatro características – Orientação de streams • Dados são considerados streams (fluxo) de bits • O receptor recebe a mesma sequência de bytes que o remetente enviou – Circuito virtual: • Como uma chamada telefônica (chamada/aceita) • A comunicação deve ser autorizada • Durante transferência, protocolos continuam se comunicando para eventuais erros Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • Quatro características – Transmissão bufferizada: • Programas enviam streams de dados através do circuito virtual • Repassam diversos octetos para o protocolo • Cada aplicativo pode enviar a quantidade de dados que achar necessário • O protocolo, então, entrega estes octetos na mesma ordem que recebeu • O protocolo pode, então, dividir o stream de dados em quantas partes ele desejar Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • Quatro características – Transmissão bufferizada (cont.): • Quanto mais dados houver no datagrama, mais eficaz e com menos tráfego na rede será a comunicação • Se a aplicação gerar blocos muito extensos, o protocolo pode dividir em pequenas partes para transmissão – Conexão full duplex • Permitem transferência de dados nas duas direções – De A B e de B A Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • O TCP garante os fluxos de uma máquina para a outra sem duplicação e sem perda de dados • Utiliza-se a técnica conhecida como Confirmação Positiva com Retransmissão – Positive Acknowledgement with Retransmition • Esta técnica requer que um destinatário envia uma mensagem de confirmação (ACK) Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • O remetente mantém registro de cada pacote enviado – aguarda confirmação para enviar o próximo pacote • Quando envia um pacote, dispara um timer – Retransmite o pacote quando o timer expira sem um ACK retornado Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • Envio sem problemas na transmissão Origem Envio do pacote 1 Destino Recebe pacote 1 Envio do ACK 1 Recebe ACK 1 Envio do pacote 2 Recebe pacote 2 Envio do ACK 2 Recebe ACK 2 Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • Envio com problemas na transmissão Origem Destino Envio do pacote 1 Início timer Fim do timer Retransmite pacote 1 Recebe pacote 1 Envio do ACK 1 Recebe ACK 1 Redes de Computadores I – Prof. Mateus Raeder TCP (Transmission Control Protocol) • Janelas deslizantes (Go-back-N) – Para conseguir confiabilidade, emissor aguarda o ACK de cada pacote enviado – Só então envia o próximo pacote – Rede permanece ociosa durante este tempo – Janelas deslizantes: tornam a transmissão de pacotes mais eficiente (vários pacotes antes do ACK) – Mais complexa que a confirmação positiva vista anteriormente Redes de Computadores I – Prof. Mateus Raeder TCP - Janela Deslizante 1 2 3 4 5 6 7 8 9 ... N Janela inicial (tamanho 3) • O protocolo cria uma janela de tamanho fixo – Pode transmitir todos os pacotes que se encontram nesta janela antes de receber uma confirmação – Um pacote é dito não-confirmado se foi enviado e nenhum ACK retornou – Máximo de confirmações: tamanho da janela Redes de Computadores I – Prof. Mateus Raeder TCP - Janela Deslizante 1 2 3 4 5 6 7 8 9 ... N Janela desliza • Quando o remetente recebe um ACK para o primeiro pacote da janela – Desliza a janela – Envia o próximo pacote – A janela continua deslizando de acordo com a chegada das confirmações Redes de Computadores I – Prof. Mateus Raeder TCP - Janela Deslizante ACK 1 recebido: 1 2 3 4 5 6 7 8 9 ... N 4 5 6 7 8 9 ... N Janela desliza ACK 3 recebido: 1 2 3 Janela desliza Indica que até o 3 (inclusive) Já chegaram todos corretamente Não enviados Enviados Confirmados Redes de Computadores I – Prof. Mateus Raeder TCP - Janela Deslizante ACK 4 recebido: 1 2 3 4 5 6 7 8 9 ... N 7 8 9 ... N Janela desliza ACK 7 recebido: 1 2 3 4 5 6 Janela desliza Não enviados Enviados Confirmados Redes de Computadores I – Prof. Mateus Raeder TCP - Janela Deslizante Remetente Receptor Envia PCT 0 Envia PCT 1 Envia PCT 2 (espera) Recebe PCT 0 Envia ACK 0 Recebe PCT 2 (descarta) Recebe ACK 0 Envia PCT 3 Timeout PCT 1 Envia PCT 1 Envia PCT 2 Envia PCT 3 . . . Recebe PCT 3 (descarta) Recebe PCT 1 Envia ACK 1 Recebe PCT 2 Envia ACK 2 Recebe PCT 3 Envia ACK 3 Redes de Computadores I – Prof. Mateus Raeder TCP - Janela Deslizante • Com um mecanismo bem ajustado de janela – Rede fica com mais pacotes trafegando – Tráfego mais eficiente na rede do que uma técnica de confirmação simples, baseada somente em ACKs • Mecanismo de janela continua oferecendo transferência confiável • Garante a ordem da entrega das mensagens Redes de Computadores I – Prof. Mateus Raeder TCP – Janela variável • TCP permite que o tamanho da janela varie com o tempo • Cada confirmação de recebimento contém uma informação sobre quantos pacotes o receptor está preparado para aceitar • Assim, o remetente atualiza o tamanho da sua janela de acordo com a capacidade informada pelo receptor – Aumento da capacidade do receptor, aumento da janela – Diminuição da capacidade do receptor, diminuição da janela • Fornece melhor controle de fluxo e transferência confiável • Controle de fluxo é essencial para redes e hosts heterogêneos – Cada um com sua velocidade e capacidade – Melhor utilização da rede Redes de Computadores I – Prof. Mateus Raeder Pacote TCP • A unidade de transferência entre dois hosts com TCP é chamada de segmento ou pacote • Pacotes são trocados para estabelecer conexões – Piggybacking (carona): permite envio de controle junto dos dados • Em uma mensagem, pode ser enviado um ACK anterior • Ameniza o overhead • Cada pacote TCP é dividido em duas partes – Cabeçalho – Dados Redes de Computadores I – Prof. Mateus Raeder Pacote TCP 0 31 16 Porta Origem Porta Destino Número de sequência Número ACK Tamanho cabeçalho Não usado U A P R S F R C S S Y I G K H T N N Checksum Tamanho da janela Ponteiro de urgência Opções (0 ou mais palavras de 32 bits) Dados Redes de Computadores I – Prof. Mateus Raeder Pacote TCP • Portas destino e origem • Número de sequência: do pacote do remetente • Número ACK: número de confirmação que identifica o próximo número de sequência esperado pelo outro host (receptor) • Tamanho do cabeçalho: especifica o tamanho do cabeçalho do pacote TCP. Tamanho mínimo é de 5 palavras de 32 bits • Não usado: reservados para uso futuro Redes de Computadores I – Prof. Mateus Raeder Pacote TCP • Bits de controle (identificam a finalidade do segmento) – URG: o campo Ponteiro Urgente é válido – ACK: o campo Número ACK é válido – PSH: força a entrega da mensagem (push – empurrar) • Receptor não armazena a mensagem até encher o buffer – RST: reiniciar a conexão • Caso tenha ficado confusa devido falhas no host, por exemplo • Rejeitar uma conexão ou um segmento inválido – SYN: sincroniza números de sequência (estabelece conexão) – FIN: remetente não tem dados Redes de Computadores I – Prof. Mateus Raeder Pacote TCP • Tamanho da janela: especifica o tamanho da janela (em bytes) que será usada na conexão – Técnica de piggybacking – Bits todos em 0: • Interrompe a transmissão por um tempo • Para receber novamente, basta enviar o Tamanho da Janela diferente de 0 Redes de Computadores I – Prof. Mateus Raeder Pacote TCP • Checksum: similar ao cálculo do UDP, com o pseudo cabeçalho • Ponteiro urgente: identifica que o receptor deve receber os dados o mais rápido possível – Não bufferiza – Não depende da sua posição no fluxo de dados – Por exemplo, abortar conexão antes de chegar ao fim • Informação deve ser recebida antes do processamento dos dados • Seguirá com bit URG ativado Redes de Computadores I – Prof. Mateus Raeder Opções TCP • Options: pode conter 0 ou mais opções – Cada opção começa com um campo de 1 octeto que indica o tipo da opção – Em seguida, 1 octeto que indica o tamanho da opção • Opção de Tamanho Máximo de Segmento (Maximum Segment Size – MSS) – Combina entre as extremidades o tamanho máximo do segmento a ser transferido – Permite que receptor diga o tamanho máximo, permitindo comunicação entre máquinas e redes heterogêneas de maneira mais eficiente Redes de Computadores I – Prof. Mateus Raeder Opções TCP • Opção de Tamanho Máximo de Segmento (Maximum Segment Size – MSS) cont... – Se não estão na mesma rede física, podem tentar descobrir a MTU (“capacidade da rede”) mínima ao longo do caminho – Escolha de MSS é crítica • Muito pequeno: pode causar overhead e sobrecarga na rede • Muito grandes: podem obrigar roteadores a fragmentar o pacote diversas vezes, diminuindo o desempenho da rede – Qual o tamanho de segmento ideal? • O maior possível sem exigir fragmentação alguma!! • Prática é muito difícil Redes de Computadores I – Prof. Mateus Raeder Opções TCP • Opção de Janela móvel – A janela do cabeçalho IP tem 16 bits • Máximo do tamanho é 64Kbytes – Para acomodar janelas maiores, a opção de Escala de Janela apresenta campos que permitem informar o tamanho real da nova janela • Opção de estampa de tempo – – – – Ajuda o TCP a calcular o atraso na rede Valor de tempo e um de estampa de tempo de resposta de eco Remetente: coloca a hora no estampa ao enviar um pacote Receptor: copia o tempo para o campo resposta de eco e manda confirmação Remetente sabe o tempo total gasto desde o envio do segmento Redes de Computadores I – Prof. Mateus Raeder Opções TCP • Retransmissão Seletiva – Substituir o Go-back-N – No Go-back-N, quando o receptor recebe um defeituoso seguido de vários perfeitos, todos os perfeitos deverão ser retransmitidos • Na Retransmissão Seletiva, o receptor reconhece individualmente todos os pacotes recebidos corretamente – Armazena em um buffer conforme necessário para entregar em ordem à camada superior Redes de Computadores I – Prof. Mateus Raeder Opções TCP • Retransmissão Seletiva – O remetente deverá retransmitir os pacotes que não receberam confirmação (ACK) • Temporizador para cada pacote sem ACK – Janela existe no remetente • Com os números de sequência consecutivos • Limita quantidade de pacotes enviados sem reconhecimento Redes de Computadores I – Prof. Mateus Raeder Opções TCP • Retransmissão Seletiva Redes de Computadores I – Prof. Mateus Raeder TCP – Abertura de conexão • As duas extremidades da conexão (diferentemente do UDP) devem concordar em participar da transmissão • A aplicação em uma extremidade realizará a abertura passiva: – Indica que aceitará uma conexão que irá chegar em uma determinada porta • Na outra extremidade, a aplicação realiza a abertura ativa – Indicará que deseja estabelecer uma conexão com determinada porta em determinado host Redes de Computadores I – Prof. Mateus Raeder TCP – Controle da conexão • Três fases – Estabelecimento da conexão – Transmissão de dados – Encerramento da conexão • Flags – – – – SYN: indica solicitação de conexão FIN: indica finalização da conexão RST: indica o reset da conexão ACK: indica um reconhecimento de recebimento de pacote Redes de Computadores I – Prof. Mateus Raeder TCP – Estabelecimento da conexão • Handshaking de 3 vias – Primeiro handshake: bit SYN marcado – Segundo handshake: SYN e ACK marcados – Terceiro handshake: somente uma confirmação Origem A Destino B SYN SYN + ACK ACK Redes de Computadores I – Prof. Mateus Raeder TCP – Números de sequência iniciais • Handshaking realiza 2 funções importantes: – Garante dois lados prontos para transmitir – Permite que os lados saibam os números de sequência inicial • Máquinas escolhem números de sequência iniciais aleatoriamente • As extremidades devem conhecer os números de sequência umas das outras – A envia SYN junto com seu número de sequência (x) para B – B recebe o SYN, guarda o número de sequência do fluxo de A, e responde com seu número de sequência (y), dizendo que espera o número de sequência x+1 agora de A - A guarda o número de sequência de B e confirma dizendo que espera por y+1 Redes de Computadores I – Prof. Mateus Raeder TCP – Números de sequência iniciais Redes de Computadores I – Prof. Mateus Raeder TCP – Fechando uma conexão • O término da conexão deve ser realizado de maneira controlada – Conexões são full duplex, e vão nos dois sentidos independentemente • Quando um aplicativo TCP não possui mais dados para enviar, fecha a conexão em uma direção – Somente a sua “metade” • Quando um lado recebe um pedido de encerramento, deve avisar a aplicação – Entretanto, a aplicação poderá continuar enviando dados pela sua “metade” de conexão Redes de Computadores I – Prof. Mateus Raeder TCP – Fechando uma conexão Host A Host B FIN + ACK ACK Dados ACK dos dados FIN + ACK ACK Redes de Computadores I – Prof. Mateus Raeder TCP – Fechando uma conexão • A conexão estará encerrada quando os dois sentidos da conexão estiverem desativados • São necessários, de modo geral, 4 segmentos TCP para encerrar uma conexão – FIN e ACK em um sentido e FIN e ACK no outro sentido • Pode ocorrer com apenas 3 segmentos? – Sim!! O primeiro ACK e o segundo FIN podem ser enviados pelo mesmo segmento (de “carona”) – Somente 3 segmentos Redes de Computadores I – Prof. Mateus Raeder TCP – Reinício da conexão • Algumas vezes condições anormais forçam a interrupção da conexão – Um lado inicia o término com o bit RST setado – O outro lado responde imediatamente com outro segmento de reset, abortando a conexão – O TCP informa ao programa aplicativo que houve um aborto Redes de Computadores I – Prof. Mateus Raeder TCP – Política de transmissão • Vamos supor que o receptor tem um buffer de 5000 bytes • Se o remetente enviar um segmento de 3000 bytes, o receptor confirmará o recebimento – Porém, até que alguma aplicação retire do buffer, o buffer possui 2000 bytes restantes – Esta informação (2000 bytes) vai para a janela do remetente • O remetente envia mais 2000 bytes, e são confirmados – Receptor anunciará janela 0, pois não cabem mais dados (buffer cheio) – Assim, o remetente deve parar de enviar mensagens até uma janela maior ser anunciada Redes de Computadores I – Prof. Mateus Raeder TCP – Política de transmissão • Existem 2 exceções para estes casos: – Setar os Dados Urgentes, para que o usuário remoto elimine o processo executado na máquina remota, liberando o buffer – O remetente pode enviar um segmento de 1 byte para fazer com que o receptor anuncie novamente o próximo byte enviado e o tamanho da janela Redes de Computadores I – Prof. Mateus Raeder TCP – Política de transmissão Redes de Computadores I – Prof. Mateus Raeder TCP – Síndrome da janela boba • Um problema que pode diminuir muito o desempenho do TCP • Dados repassados para o remetente são muito grandes, mas uma aplicação consome os dados um byte por vez • Buffer do lado receptor fica cheio, e o remetente sabe disso (janela é 0) • A aplicação então lê 1 caractere do fluxo TCP • O que acontece? – Receptor fica bem faceiro e envia a janela de tamanho 1 Redes de Computadores I – Prof. Mateus Raeder TCP – Síndrome da janela boba • Qual a solução? – Evitar que o receptor envie uma atualização de janela para 1 byte – Ele é forçado a aguardar até que haja espaço considerável para anunciar sua janela • Mas, qual é o espaço considerável? – Difícil de prever – É definido que o receptor não pode enviar uma atualização de janela até que ele possa lidar com o tamanho máximo do segmento (MSS) anunciado no começo da conexão, ou até metade da capacidade do seu buffer (o que for menor) Redes de Computadores I – Prof. Mateus Raeder