Capítulo 3: Camada de Transporte

Slides:



Advertisements
Apresentações semelhantes
REDES DE COMPUTADORES Prof. Evandro Cantú.
Advertisements

Capítulo 3: Camada de Transporte
TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581 ponto a ponto:
Missão da camada de enlace Serviços oferecidos TCP UDP
Capítulo 3: Camada de Transporte
Família tcp/ip Prof: Diovani Milhorim
Bruno Rafael de Oliveira Rodrigues
Administração e Projeto de Redes
Redes I Os Protocolos Prof. Dr. Amine BERQIA
FEUPDEECRedes de Computadores, 4º Ano de EEC, ramo de ACI TCP (Transmission Control Protocol) Abril, 98Isidro Vila Verde 1 Aspectos Gerais.
URL: Redes Prof. Edgard Jamhour URL:
Transporte Referência:
Capítulo 3: Camada de Transporte
Capítulo 3: Camada de Transporte
TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581 ponto a ponto:
Capítulo 3: Camada de Transporte
Conteúdo do Capítulo Serviços da camada de transporte
Conteúdo do Capítulo Serviços da camada de transporte
Capítulo 3: Camada de Transporte
TCP Serviço de Transporte Confiável
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 ponto-a-ponto:
Camada de Transporte Teleprocessamento e Redes
3: Camada de Transporte1 Metas do capítulo: compreender os princípios atrás dos serviços da camada de transporte: o entrega de segmentos o transferência.
Prof. Marcelo Diniz Fonte:
Paulo Roberto Freire Cunha
3: Camada de Transporte3a-1 Capítulo 3: Camada de Transporte Objetivos: compreender os princípios atrás dos serviços da camada de transporte: multiplexação/
Obtenção de IP TCP UDP.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
REVISÃO MÓDULO 3(Camada de Transporte)
TCP (Transmission Control Protocol)
CCNA 1 – Camadas de Transporte e de Aplicação do TCP/IP
Escola Secundária Filipa de Vilhena Ano Lectivo 2010/ Turma IGR1
Modelo de referência OSI
Interconexão e Transporte em Redes
Disciplina: Princípios de Redes de Computadores Parte 3
URI - Santo Ângelo - DECC
Comparação entre as camadas
Camada de Transporte OSI
Aula 64 – TEC 11ºF Redes de computadores Prof. António dos Anjos.
Aula 2 Arquitetura & Protocolos
Camada de Transporte prof. Eduardo.
3: Camada de Transporte3a-1 Chapter 3 Camada de Transportes Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose,
Transmission Control Protocol TCP
ESPECIFICAÇÃO de PROTOCOLOS de TRANSPORTE
Transmission Control Protocol TCP
Comunicação de dados Protocolos básicos de enlace de dados.
Protocolos de Janela Deslizante
© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 1 Capítulo 3 Camada de transporte Nota sobre o uso destes slides ppt: Estamos disponibilizando.
TCP Conexão Fiabilidade Full Duplex Entrega ordenada Controlo de fluxo
Escola Secundaria Sebastião da Gama Trabalho realizado por: André Santos 12ºL nº:2 Prof: Carlos Pereira.
Camada de Transporte: protocolo TCP Parte 1
MODELO DE REFERÊNCIA TCP/IP
Arquitectura tcp. Camada tcp Ao contrário do protocolo UDP, o TCP representa um grande incremento de qualidade relativamente ao protocolo IP que lhe serve.
Arquitetura de Redes de Computadores – Luiz Paulo Maia Camada de Transporte1 Arquitetura de Redes de Computadores Luiz Paulo Maia Camada de Transporte.
1) A camada de transporte provê comunicação lógica entre hosts.
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 ponto-a-ponto:
Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA
Arquitetura TCP/IP Aplicação Transporte Rede Enlace Física.
Escola Politécnica da USP abril de 2013 PTC 2550 – Redes de Comunicação De Dados e P1 Transporte Multimídia PTC 2550 – Redes de Comunicação De Dados e.
Rede de Computadores MAT164 – Redes de Computadores I Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação.
Administração e Projeto de Redes Material de apoio Camada de Transporte Cap.4 10/02/2010.
Redes de computadores e a Internet
Protocolos de Comunicação e Passagem de Mensagens
Arquitetura em Camadas
© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 1 Capítulo 3 Camada de transporte Nota sobre o uso destes slides ppt: Estamos disponibilizando.
3: Camada de Transporte 3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 Transporte não orientado.
Prof. Ivair Teixeira Redes de Computadores.
3: Camada de Transporte 3a-1 Capítulo 3: Camada de Transporte Metas do capítulo: r entender os princípios atrás dos serviços da camada de transporte: m.
Redes de Computadores e Aplicações – Camada de Transporte IGOR ALVES.
Escola de Ciência e Tecnologia Arquitetura TCP/IP Arquitetura TCP/IP Protocolos TCP, UDP e ICMP Etienne César R. de Oliveira
Transcrição da apresentação:

Capítulo 3: Camada de Transporte Metas do capítulo: compreender os princípios atrás dos serviços da camada de transporte: multiplexação/ demultiplexação transferência confiável de dados controle de fluxo controle de congestionamento aprender os protocolos da camada de transporte da Internet: UDP: transporte sem conexão TCP: transporte orientado a conexões Controle de congestionamento do TCP 3: Camada de Transporte

Serviços e protocolos de transporte aplicação transporte rede enlace física transporte lógico fim a fim provê comunicação lógica entre processos de aplicação executando em hospedeiros diferentes protocolos de transporte executam em sistemas finais: lado transmissor: quebra as mensagens das aplicações em segmentos, repassa-os para a camada de rede lado receptor: remonta as mensagens a partir dos segmentos, repassa-as para a camada de aplicação existem mais de um protocolo de transporte disponível para as aplicações Internet: TCP e UDP 3: Camada de Transporte

Camadas deTransporte x rede Analogia doméstica: 12 crianças enviando cartas para 12 crianças processos = crianças mensagens da apl. = cartas hosts = casas protocolo de transporte = Envelope protocolo da camada de rede = serviço postal camada de rede: comunicação lógica entre hospedeiros camada de transporte: comunicação lógica entre processos depende de, estende serviços da camada de rede 3: Camada de Transporte

Protocolos da camada de transporte Internet aplicação transporte rede enlace física transporte lógico fim a fim entrega confiável, ordenada (TCP) controle de congestionamento controle de fluxo estabelecimento de conexão (“setup”) entrega não confiável, não ordenada: UDP extensão sem “frescuras” do “melhor esforço” do IP serviços não disponíveis: garantias de atraso garantias de largura de banda 3: Camada de Transporte

Multiplexação/demultiplexação Multiplexação no transm.: Demultiplexação no receptor: Entrega dos segmentos recebidos ao socket correto reúne dados de muitos sockets, envelopa os dados com o cabeçalho (usado posteriormente para a demultiplexação) = socket = processo aplicação transporte rede enlace física P1 P2 P3 P4 host 1 host 2 host 3 3: Camada de Transporte

Como funciona a demultiplexação host recebe os datagramas IP cada datagrama possui os endereços IP da origem e do destino cada datagrama transporta 1 segmento da camada de transporte cada segmento possui números das portas origem e destino (lembre: números de portas bem conhecidas para aplicações específicas) host usa os endereços IP e os números das portas para direcionar o segmento ao socket apropriado porta remetente porta receptor 32 bits dados da aplicação (mensagem) outros campos do cabeçalho formato de segmento TCP/UDP 3: Camada de Transporte

Demultiplexação sem Conexões Quando host recebe segmento UDP: verifica no. da porta de destino no segmento encaminha o segmento UDP para o socket com aquele no. de porta Datagramas IP com diferentes endereços IP origem e/ou números de porta origem são encaminhados para o mesmo socket Crie sockets com números de porta: DatagramSocket mySocket1 = new DatagramSocket(99111); DatagramSocket mySocket2 = new DatagramSocket(99222); socket UDP identificado pela dupla: (end IP dest, no. da porta destino) 3: Camada de Transporte

Demultiplexação sem Conexões (cont) DatagramSocket serverSocket = new DatagramSocket(6428); Cliente IP:B P2 cliente IP: A P1 P3 servidor IP: C SP: 6428 DP: 9157 SP: 9157 DP: 6428 DP: 5775 SP: 5775 SP (source port) provê “endereço de retorno” 3: Camada de Transporte

Demultiplexação Orientada a Conexões Socket TCP identificado pela 4-dupla: endereço IP origem número da porta origem endereço IP destino número da porta destino receptor usa todos os quatro valores para direcionar o segmento para o socket apropriado Servidor pode dar suporte a muitos sockets TCP simultâneos: cada socket é identificado pela sua própria 4-dupla Servidores Web têm sockets diferentes para cada conexão cliente HTTP não persistente terá sockets diferentes para cada pedido 3: Camada de Transporte

Conteúdo do Capítulo 3 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 UDP: Transporte não orientado a conexão 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado a conexão: TCP transferência confiável controle de fluxo gerenciamento de conexões 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento do TCP 3: Camada de Transporte

UDP: User Datagram Protocol [RFC 768] Protocolo de transporte da Internet mínimo, “sem frescura”, Serviço “melhor esforço”, segmentos UDP podem ser: perdidos entregues à aplicação fora de ordem do remesso sem conexão: não há “setup” UDP entre remetente, receptor tratamento independente de cada segmento UDP Por quê existe um UDP? elimina estabelecimento de conexão (o que pode causar retardo) simples: não se mantém “estado” da conexão no remetente/receptor pequeno cabeçalho de segmento sem controle de congestionamento: UDP pode transmitir o mais rápido possível 3: Camada de Transporte

Formato do segmento UDP Mais sobre UDP Comprimento em bytes do segmento UDP, incluindo cabeçalho muito utilizado para apls. de meios contínuos (voz, vídeo) tolerantes de perdas sensíveis à taxa de transmissão outros usos de UDP (por quê?): DNS (nomes) SNMP (gerenciamento) transferência confiável com UDP: incluir confiabilidade na camada de aplicação recuperação de erro específica à apl.! 32 bits porta origem porta dest. comprimento checksum Dados de aplicação (mensagem) Formato do segmento UDP 3: Camada de Transporte

Checksum UDP Meta: detectar “erro” (e.g., bits invertidos) no segmento transmitido Remetente: trata conteúdo do segmento como seqüência de inteiros de 16-bits campo checksum zerado checksum: soma (adição usando complemento de 1) do conteúdo do segmento remetente coloca complemento do valor da soma no campo checksum de UDP Receptor: calcula checksum do segmento recebido verifica se checksum computado é zero: NÃO - erro detectado SIM - nenhum erro detectado. Mas ainda pode ter erros? Veja depois …. 3: Camada de Transporte

Go-back-N (GBN) Remetente: Admite “janela” de até N pacotes consecutivos não reconhecidos ACK(n): reconhece todos os pacotes. temporizador para cada pacote em trânsito timeout(n): retransmite pacote n e todos os pacotes com no. de seq maiores na janela 3: Camada de Transporte

GBN em ação 3: Camada de Transporte

Retransmissão seletiva receptor reconhece individualmente todos os pacotes recebidos corretamente armazena pacotes no buffer, conforme necessário, para posterior entrega em-ordem à camada superior remetente apenas re-envia pacotes para os quais ACK não recebido temporizador de remetente para cada pacote sem ACK janela do remetente N nos. de seq consecutivos outra vez limita nos. de seq de pacotes enviados, mas ainda não reconhecidos 3: Camada de Transporte

Retransmissão seletiva remetente receptor dados de cima: se próx. no. de seq na janela, envia pacote timeout(n): reenvia pacote n, reiniciar temporizador ACK(n) marca pacote n “recebido” se n for menor pacote não reconhecido, avança base da janela ao próx. no. de seq não reconhecido pacote n envia ACK(n) fora de ordem: buffer em ordem: entrega (tb. entrega pacotes em ordem no buffer), avança janela p/ próxima pacote ainda não recebido pacote n em [rcvbase-N,rcvbase-1] ACK(n) senão: ignora 3: Camada de Transporte

Formação do pacote Formado por 32 bytes contendo os seguintes dados: 3: Camada de Transporte

Segunda parte 3: Camada de Transporte

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581 ponto a ponto: 1 remetente, 1 receptor fluxo de bytes, ordenados, confiável: com paralelismo (pipelined): tam. da janela ajustado por controle de fluxo e congestionamento do TCP buffers de envio e recepção transmissão full duplex: fluxo de dados bi-direcional na mesma conexão orientado a conexão: handshaking (troca de msgs de controle) inicia estado de remetente, receptor antes de trocar dados fluxo controlado: receptor não será afogado 3: Camada de Transporte

TCP: Tempo de Resposta (RTT – Round Trip Time) e Temporização P: como escolher valor do temporizador TCP? maior que o RTT note: RTT pode variar muito curto: temporização prematura retransmissões são desnecessárias muito longo: reação demorada à perda de segmentos P: como estimar RTT? RTTamostra: tempo medido entre a transmissão do segmento e o recebimento do ACK correspondente RTT_amostra vai variar, queremos um “amaciador” de RTT estimado usa várias medições recentes, não apenas o valor corrente (RTT_amostra) 3: Camada de Transporte

TCP: Tempo de Resposta (RTT) e Temporização RTT_estimado = (1-a)* RTT_estimado + a*RTT_amostra média corrente exponencialmente ponderada influência de cada amostra diminui exponencialmente com o tempo valor típico de a = 0,125 RTT_estimado = (1-0,165)* 1 + 0,125*1,5 RTT_estimado = (1-0,165)* 1 + 0,125*1,5 RTT_estimado = 0,835 + 0,18 RTT_estimado = 1,01 3: Camada de Transporte

TCP: Tempo de Resposta (RTT) e Temporização Escolhendo o intervalo de temporização RTT_estimado mais uma “margem de segurança” primeiro estima o quanto a RTTamostra desvia do RTT_estimado: Então, seta o temporizador para: Desvio_RTT = (1-b)* Desvio_RTT + b*|RTT_amostra - RTT_estimado| Temporização = RTT_estimado + 4*Desvio_RTT 3: Camada de Transporte

TCP: Tempo de Resposta (RTT) e Temporização Desvio_RTT = (1-0,165)* 0 + 0,165 * |1,50 – 1| Desvio_RTT = 0,835 + 0,085 Desvio_RTT = 0,92 Temporização = RTT_estimado + 4*Desvio_RTT Temporização = 1,01 + 4* 0,92 Temporização = 4,69 3: Camada de Transporte

Eventos do transmissor TCP: Dados recebidos da apl.: Cria segmento com no. de seqüência (nseq) nseq é o número de seqüência do primeiro byte do segmento Liga o temporizador Valor do temporizador: calculado anteriormente estouro do temporizador: Retransmite o segmento que causou o estouro do temporizador Reinicia o temporizador Recepção de Ack: Se reconhecer segmentos ainda não reconhecidos atualizar informação sobre o que foi reconhecido religa o temporizador se ainda houver segmentos pendentes (não reconhecidos) 3: Camada de Transporte

TCP: cenários de retransmissão Host A Seq=92, 8 bytes data ACK=100 loss timeout cenário de perda de ACK Host B X tempo Host A Host B Seq=92 timeout Seq=92, 8 bytes data Seq=100, 20 bytes data ACK=100 ACK=120 Sendbase = 100 Seq=92, 8 bytes data SendBase = 120 Seq=92 timeout ACK=120 SendBase = 100 SendBase = 120 estouro prematuro do temporizador tempo 3: Camada de Transporte

Controle de Fluxo do TCP Lado receptor da conexão TCP possui um buffer de recepção: o transmissor não inundará o buffer do receptor transmitindo muito e rapidamente serviço de casamento de velocidades: adaptando a taxa de transmissão à taxa de leitura da aplicação receptora Processo da apl. pode demorar a ler do receptor 3: Camada de Transporte

Controle de Fluxo do TCP: como funciona O receptor anuncia o espaço livre incluindo o valor da RcvWindow nos segmentos O transmissor limita os dados não reconhecidos ao tamanho da RcvWindow Garante que o buffer do receptor não transbordará (Suponha que o receptor TCP segmentos fora de ordem) espaço livre no buffer = RcvWindow = RcvBuffer-[LastByteRcvd - LastByteRead] 3: Camada de Transporte

TCP: Gerenciamento de Conexões Inicialização em 3 tempos: Passo 1: sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no. inicial de seq não envia dados Passo 2: sistema servidor recebe SYN, responde com segmento de controle SYNACK aloca buffers especifica no. inicial de seq. servidor-> receptor Passo 3: receptor recebe SYNACK, responde com segmento ACK que pode conter dados. 3: Camada de Transporte

Princípios de Controle de Congestionamento informalmente: “muitas fontes enviando muitos dados muito rapidamente para a rede poder tratar” diferente de controle de fluxo! manifestações: perda de pacotes (esgotamento de buffers em roteadores) longos atrasos (enfileiramento nos buffers dos roteadores) um dos 10 problemas mais importantes em redes! 3: Camada de Transporte

Causas/custos de congestionamento: cenário 1 unlimited shared output link buffers Host A lin : original data Host B lout dois remetentes, dois receptores um roteador, buffers infinitos sem retransmissão grandes retardos qdo. congestionada vazão máxima alcançável 3: Camada de Transporte

Causas/custos de congestionamento: cenário 2 Um roteador, buffers finitos retransmissão pelo remetente de pacote perdido Host A lout lin : original data l'in : original data, plus retransmitted data Host B finite shared output link buffers 3: Camada de Transporte

Abordagens de controle de congestionamento Duas abordagens amplas para controle de congestionamento: Controle de congestionamento fim a fim : não tem realimentação explícita pela rede congestionamento inferido a partir das perdas, retardo observados pelo sistema terminal abordagem usada pelo TCP Controle de congestionamento com apoio da rede: roteadores realimentam os sistemas terminais bit indicando congestionamento (SNA, DECbit, TCP/IP ECN, ATM) taxa explícita p/ envio pelo remetente 3: Camada de Transporte

Resumo: Controle de Congestionamento do TCP Quando a CongWin está abaixo do limiar, transmissor está na fase de início lento, janela cresce exponencialmente. Quando a CongWin está acima do limiar, transmissor está na fase de evitar congestionamento, janela cresce linearmente. Quando chegam ACKs triplicados, Limiar passa a ser CongWin/2 e CongWin passa ao valor do Limiar. Quando estoura o temporizador, Limiar passa a ser CongWin/2 e CongWin passa a ser 1 MSS. 3: Camada de Transporte