Redes de Computadores

Documentos relacionados
: TMS M

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte

Redes de Computadores RES 12502

TCP - controle de fluxo

Camada de Transporte. Redes Industriais Rone Ilídio UFSJ CAP

TCP - controle de fluxo

Redes de Computadores

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

Redes de Computadores

Redes de Computadores

Camada de Transporte. Protocolos TCP e UDP

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Redes de Computadores e Telecomunicações - Camada de Transporte

PTC Aula Princípios do controle de congestionamento 3.7 Controle de congestionamento no TCP

Arquitetura de Redes de Computadores

Redes de Computadores

Redes de Computadores Camada de Transporte Protocolo TCP

Redes de Computadores

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN

Redes de Computadores

Redes de Computadores I

PROTOCOLOS DE COMUNICAÇÃO

Redes de Computadores e Aplicações. Aula 43 - Camada de Transporte TCP (Transmission Control Protocol)

Universidade Federal de Minas Gerais Departamento de Ciência da Computação

Funções da Camada de

Camada de Transporte Protocolos TCP e UDP

Causas/custos do congestionamento: cenário 1

Redes de computadores. Protocolo TCP

Capítulo 6. A camada de transporte. slide 1 1 reservados.

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

Redes de computadores e a Internet. Capítulo 3. Camada de transporte

Nível de Transporte Portas, Protocolos UDP e TCP

Redes de Computadores Aula 5

Redes de computadores e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

TCP - formato do segmento. Formato do segmento TCP (fonte: Kurose)

PTC Aula Princípios da transferência de dados confiável 3.5 Transporte orientado para conexão: TCP

Protocolos com paralelismo (pipelining) Pipelining: aumento da utilização

Capítulo 6. A camada de transporte

Jéfer Benedett Dörr

TRANSPORTE. Prof. Me. Hélio Esperidião

Redes de Computadores I Internet - Conceitos

Arquitetura de Redes TCP/IP. Camada de Transporte

PTC Aula Transporte orientado para conexão: TCP. (Kurose, p ) (Peterson, p e ) 23/05/2017

PTC Aula A camada de transporte. (Kurose, p ) 15/03/2017

Parte I: Introdução. O que é a Internet. Nosso objetivo: Visão Geral:

Rede de computadores Protocolos TCP. Professor Carlos Muniz

Camada de Transporte Parte II Gerson Porciúncula 5 semestre

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade.

SSC0641 Redes de Computadores

SSC0641 Redes de Computadores

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

Redes de Computadores

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

TCP - estabelecimento de conexão

Fragmentos das máquinas de estados finitos do RDT 2.2 (fonte: Kurose)

REDES DE COMPUTADORES

Redes de Computadores

Jéfer Benedett Dörr

Serviços de Comunicações Capítulo 3

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Redes de computadores e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte

Capítulo 9: Camada de Transporte

Redes de Computadores. Camada de Transporte4. A necessidade por um serviço o de transporte confiável

Protocolos de Interligação de Redes Locais e a Distância Camada de Transporte

Aplicações de Redes de Computadores

Redes de Computadores. Prof. André Y. Kusumoto

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Redes de Computadores. Ricardo José Cabeça de Souza

A camada de enlace de dados executa diversas funções específicas. Dentre elas

Redes de Computadores

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Redes de Computadores

Desempenho de Redes de Computadores. Ricardo Couto A. da Rocha 2015

Redes de Computadores I Prof. Mateus Raeder

Redes de Computadores

SSC0641 Redes de Computadores

Capítulo 3: Camada de Transporte

Redes de Computadores. Camada de Transporte

Camada de Transporte

REDES DE COMPUTADORES

Redes de Computadores

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Capítulo 3. Camada de transporte

Novas Propostas para Protocolos de Streaming Luiz Eduardo Fontes Mello de Almeida

Escola Politécnica da Universidade de São Paulo

Prof. Marcelo Cunha Parte 6

Redes de Computadores

Redes: Quais as diferenças entre o Protocolo TCP e UDP

Módulo 08 - Protocolo IP Página 1. Tecnologia de Redes. Volnys B. Bernal Versão de 15/06/2000. Agenda. Tecnologia de Redes

SSC0641 Redes de Computadores

Camada de transporte. serviços providos a camadas superiores. qualidade de serviço. parâmetros-alvo (opções a negociar)

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Redes de Computadores

Datagrama IP. Professor Leonardo Larback

Redes de Computadores

Lista de Exercícios. Camada de Enlace de Dados

Novos Protocolos de Streaming MMTP e SCTP

Transcrição:

Redes de Computadores Camada de Transporte - Parte II Prof. Thiago Dutra <thiago.dutra@ifrn.edu.br> Agenda n Parte I n Introdução n Protocolos de Transporte Internet n Multiplexação e Demultiplexação n UDP n Parte II n TCP n Controle de 2 1

Agenda Parte II n TCP - Introdução n TCP - Estabelecendo uma Conexão n TCP - Encerrando uma Conexão n TCP - Estados da Conexão n Transferência de Dados Confiável n TCP - Transferência de Dados n Controle de n TCP - Controle de 3 TCP - Introdução n Transmission Control Protocol n Protocolo de Controle de Transmissão n RFC s: 793, 1122, 1323, 2018, 2581,... n Oferece um serviço : n Orientado à conexão n Confiável n Com controle de erros n Com controle de fluxo n Com controle de congestionamento 4 2

TCP - Introdução n Segmento TCP 5 TCP Estabelecendo uma Conexão n Para que cliente e servidor possam se comunicar usando TCP, eles precisam primeiramente estabelecer uma conexão n Durante o estabelecimento dessa conexão, diversas preparações são realizadas, ex.: n Cliente escolhe uma porta de origem n Servidor aloca buffers e variáveis à conexão n O procedimento de estabelecimento da conexão é denominado apresentação de três vias n 3-Way Handshake 6 3

TCP Estabelecendo uma Conexão n 3-Way Handshake n (1) Cliente envia um segmento TCP para o servidor com o bit SYN habilitado (igual a 1 ) n (2) Servidor responde com outro segmento TCP para o cliente com os bits SYN e ACK habilitados n (3) Cliente responde com outro segmento TCP para o servidor com o bit ACK habilitado 7 TCP Estabelecendo uma Conexão 8 4

TCP Encerrando uma Conexão n Tanto o cliente quanto o servidor podem encerrar a conexão n Quando uma conexão é encerrada os recursos associados são liberados n Quem desejar fechar a conexão inicia o processo : n O primeiro envia segmento TCP com o bit FIN habilitado n O outro responde com um ACK e envia um FIN n O primeiro responde com um ACK 9 TCP Encerrando uma Conexão n Cliente solicitando o encerramento da conexão n Em geral são trocados 4 segmentos, isto é, um FIN e um ACK para cada sentido n É possível que o primeiro ACK e o segundo FIN ocupem o mesmo segmento 10 5

TCP Estados da Conexão n Sequência típica de estados de uma conexão TCP cliente 11 TCP Estados da Conexão n Sequência típica de estados de uma conexão TCP servidor 12 6

Transferência de Dados Confiável n 1º dentre os TOP 10 problemas fundamentalmente importantes para o trabalho em rede. n O serviço fornecido para as camadas superiores por um protocolo de transferência de dados confiável deve ser um canal confiável de comunicação n Em um canal confiável os dados transferidos: n Não são corrompidos n Não são perdidos n São entregues na ordem em que foram enviados 13 Transferência de Dados Confiável n Protocolos de camadas mais baixas podem ser não confiáveis n Ex.: TCP sobre IP 14 7

Transferência de Dados Confiável n Resumo de mecanismos de transferência confiável de dados 15 TCP Transferência de Dados n Após estabelecida uma conexão TCP os processos de aplicação podem trocar dados 16 8

TCP Transferência de Dados n Em uma transferência do cliente para o servidor: n Processo cliente envia dados através do socket associado (após essa passagem, o TCP possui o controle sobre os dados) n Os dados são direcionados para o buffer de envio da conexão (buffer criado durante o 3-way handshake) n De tempos em tempos o TCP retira grandes porções de dados do buffer de envio (não existe normatização de quando o TCP deve realmente retirar os dados do buffer) n O TCP encapsula os dados com um cabeçalho criando os segmentos que são enviados para a camada de rede n O servidor recebe os segmentos e coloca os dados do segmento no buffer de recepção n A aplicação lê a cadeia de dados desse buffer 17 TCP Transferência de Dados n Números de sequência n Possibilitam a remontagem dos dados da mesma forma que foram transmitidos na origem n Apesar da nomenclatura ser número de sequência seu valor não é sequencial n São aplicados sobre os dados transmitidos, e não sobre a série de segmentos n O número de sequência para um segmento é o número do primeiro byte dos dados do segmento 18 9

TCP Transferência de Dados n Números de sequência n Suponha que um servidor irá enviar um arquivo de 4287 bytes para o cliente em pedaços de 800 bytes n Neste caso, os números de sequência dos segmentos TCP serão: 0, 800, 1600, 2400, 3200 e 4000 19 TCP Transferência de Dados n Números de reconhecimento n Sempre que um servidor ou cliente recebe um segmento TCP ele envia um outro segmento, com o bit ACK habilitado, confirmando sua recepção n Esta técnica é chamada reconhecimento positivo n O número de reconhecimento é igual ao próximo byte que se deseja receber n Se após um tempo limite o ACK correspondente não for recebido, o segmento é retransmitido 20 10

TCP Transferência de Dados n Reconhecimento n Retransmissão 21 TCP Transferência de Dados n Reconhecimento acumulativo n Retransmissão rápida 22 11

Controle de n Controle de fluxo x Controle de congestionamento n Controle de fluxo n Eliminar a possibilidade do remetente saturar o buffer do destinatário n Serviço de compatibilização de velocidades: taxa de envio com taxa de recepção n Controle de congestionamento n Evitar saturação do canal de comunicação n Os dois controles utilizam a mesma abordagem n Controle do remetente 23 Controle de n O volume de segmentos transmitidos é ajustado dinamicamente através da análise de vários fatores: n Tempo médio para o recebimento de ACK s n Quantidade de retransmissões n Valor do campo janela de recepção do segmento n... n Os ajustes são feitos para que a origem e o destino da conexão não fiquem: n Nem ociosos (esperando por segmentos) n Nem saturados (recebimento excessivo de segmentos) 24 12

n Controle de n Um dos TOP 10 problemas na Internet n Definição informal : muitas fontes enviando dados acima da capacidade da rede de tratá-los n Sintomas n Perda de pacotes (saturação de buffer dos roteadores) n Atrasos grandes (fila nos buffers dos roteadores) 25 Controle de n Abordagens gerais para o problema de controle de congestionamento: ncontrole de congestionamento assistido pela rede ncontrole de congestionamento fim a fim 26 13

Controle de n Controle de congestionamento assistido pela rede n Camada de rede (roteadores) realimenta o remetente sobre o estado de congestionamento da rede n A realimentação pode ser simples (envio de um bit indicando congestionamento) ou sofisticada (envio da taxa de transmissão que um transmissor suporta) n Modos de realimentação : n Pelo destinatário n Pela rede 27 Controle de n Controle de congestionamento fim a fim nnão usa realimentação explícita da rede n é inferido a partir de observações (ex.: perdas e atrasos) realizadas pelos sistemas finais 28 14

TCP Controle de n TCP utiliza controle de congestionamento fim a fim n Obriga o remetente a limitar sua taxa de envio como uma função do congestionamento de rede percebido n Remetente percebe pouco congestionamento -> aumentar taxa n Remetente percebe congestionamento -> reduzir taxa n Questionamentos: n (1) Como o remetente limita sua taxa? n (2) Como o remetente percebe um congestionamento? n (3) Qual algoritmo utilizado pelo remetente para modificar sua taxa de envio como uma função do congestionamento fim a fim? 29 TCP Controle de n (1) Como o remetente limita sua taxa? n Através do monitoramento da variável adicional janela de congestionamento n (2) Como o remetente percebe um congestionamento? n Ocorrência de um evento de perda n Variável janela de congestionamento é modificada n Eventos de perda: n Esgotamento de temporização n Recebimento de 3 ACK s duplicados do destinatário 30 15

TCP Controle de n (3) Qual o algoritmo utilizado pelo remetente para modificar sua taxa como uma função do congestionamento? n O algoritmo deve se preocupar para que não ocorra ociosidade e/ou saturação n Princípios do algoritmo: n Um segmento perdido implica em congestionamento, então a taxa deve diminuir n Um segmento reconhecido implica que esta ocorrendo entrega, então a taxa deve aumentar n Busca por largura de banda: taxa é aumentada até que ocorra um evento de perda, nesse momento a taxa é diminuída 31 TCP Controle de n Componentes principais do algoritmo n Partida lenta (obrigatório) n Prevenção de congestionamento (obrigatório) n Recuperação rápida 32 16

TCP Controle de n Partida lenta n Inicia a transmissão com um baixo volume de segmentos n A cada ACK aumenta exponencialmente o volume n Evento de perda = Esgotamento de temporização n Reinicia a partida lenta n Cria nova variável: ssthresh = (janela de congestinamento)/2 n Novo início: ssthresh atingido -> prevenção de congestionamento n Evento de perda = 3 ACK s duplicados n -> recuperação rápida 33 n Partida lenta TCP Controle de 34 17

n Prevenção de congestionamento n Aumento do volume de forma linear n Recuperação rápida n Modifica o ponto de reinício da transmissão n Evita reinício da partida lenta TCP Controle de 35 Referências n KUROSE, J. F. e ROSS, K. - Redes de Computadores e a Internet - 5a Ed., Pearson, 2010. n TANENBAUM, A. S. - Redes de Computadores - 5a Ed., Pearson, 2011. 36 18

Redes de Computadores Camada de Transporte - Parte II Prof. Thiago Dutra <thiago.dutra@ifrn.edu.br> 19