A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

3: Camada de Transporte3b-1 Capítulo 3: Camada de Transporte Metas do capítulo: r compreender os princípios atrás dos serviços da camada de transporte:

Apresentações semelhantes


Apresentação em tema: "3: Camada de Transporte3b-1 Capítulo 3: Camada de Transporte Metas do capítulo: r compreender os princípios atrás dos serviços da camada de transporte:"— Transcrição da apresentação:

1 3: Camada de Transporte3b-1 Capítulo 3: Camada de Transporte Metas do capítulo: r compreender os princípios atrás dos serviços da camada de transporte: m multiplexação/ desmultiplexação m controle de fluxo m controle de congestionamento Sumário do Capítulo: r serviços da camada de transporte r multiplexação/desmultiplexação r transporte sem conexão: UDP r transporte orientado a conexão: TCP m transferência confiável m controle de fluxo m gerenciamento de conexões r principles de controle de congestionamento r controle de congestionamento em TCP

2 3: Camada de Transporte3b-2 Serviços e protocolos de transporte r provê comunicação lógica entre processos de aplicação executando em hospedeiros diferentes r protocolos de transporte executam em sistemas terminais r serviços das camadas de transporte X rede: r camada de rede : dados transferidos entre sistemas r camada de transporte: dados transferidos entre processos m depende de, estende serviços da camada de rede aplicação transporte rede enlace física rede enlace física aplicação transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física transporte lógico fim a fim

3 3: Camada de Transporte3b-3 Protocolos da camada de transporte Serviços de transporte na Internet: r entrega confiável, ordenada, ponto a ponto (TCP) m congestionamento m controle de fluxo m estabelecimento de conexão (setup) r entrega não confiável, (melhor esforço), não ordenada, ponto a ponto ou multiponto: UDP r serviços não disponíveis: m tempo-real m garantias de banda m multiponto confiável aplicação transporte rede enlace física rede enlace física aplicação transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física transporte lógico fim a fim

4 3: Camada de Transporte3b-4 aplicação transporte rede M P2 aplicação transporte rede Multiplexação/desmultiplexação Lembrança: segmento - unidade de dados trocada entre entidades da camada de transporte m = TPDU: transport protocol data unit receptor H t H n Desmultiplexação: entrega de segmentos recebidos para os processos da camada de apl corretos segmento M aplicação transporte rede P1 MMM P3 P4 cabeçalho de segmento dados da camada de aplicação

5 3: Camada de Transporte3b-5 Multiplexação/desmultiplexação multiplexação/desmultiplexação: r baseadas em números de porta e endereços IP de remetente e receptor m números de porta de remetente/receptor em cada segmento m lembrete: número de porta bem conhecido para aplicações específicas juntar dados de múltiplos processos de apl, envelopando dados com cabeçalho (usado depois para desmultiplexação) porta remetenteporta receptor 32 bits dados da aplicação (mensagem) outros campos do cabeçalho formato de segmento TCP/UDP Multiplexação:

6 3: Camada de Transporte3b-6 Multiplexação/desmultiplexação: exemplos estação A servidor B porta orig.: x porta dest: 23 porta orig:23 porta dest: x uso de portas: apl. simples de telnet cliente WWW estação A servidor WWW B Web client host C IP orig: C IP dest: B porta orig: x porta dest: 80 IP orig : C IP dest: B porta orig: y porta dest: 80 uso de portas : servidor WWW IP orig: A IP dest: B porta orig: x porta dest: 80

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

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

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

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

11 3: Camada de Transporte3b-11 TCP: estrutura do segmento no. porta origem no. porta dest 32 bits dados da aplicação (tam. variável) número de seqüência número de reconhecimento janela receptor ptr dados urg. checksum F SR PAU tam. cab. sem uso Opções (tam. variável) URG: dados urgentes (pouco usados) ACK: no. ACK válido PSH: envia dados já (pouco usado) RST, SYN, FIN: gestão de conexão (comandos de estabelecimento, liberação) no. bytes rcpt quer aceitar contagem de dados por bytes (não segmentos!) checksum Internet (como UDP)

12 3: Camada de Transporte3b-12 Princípios de Transferência confiável de dados (rdt) TransporteEnlace r importante nas camadas de: Transporte e de Enlace r na lista dos 10 tópicos mais importantes em redes! r características do canal não confiável determinam a complexidade de um protocolo de transferência confiável de dados (rdt)

13 3: Camada de Transporte3b-13 TCP: números de Seq. e ACKs Nos. de seq.: m númerodentro do fluxo de bytes do primeiro byte de dados do segmento ACKs: m no. de seq do próx. byte esperado do outro lado m ACK cumulativo P: como receptor trata segmentos fora da ordem? m R: espec do TCP omissa - deixado ao implementador Estação A Estação B Seq=42, ACK=79, data = C Seq=79, ACK=43, data = C Seq=43, ACK=80 Usuário tecla C A reconhece chegada do C ecoado B reconhece chegada de C, ecoa C de volta tempo cenário simples de telnet

14 3: Camada de Transporte3b-14 TCP geração de ACKs [ RFCs 1122, 2581] Evento chegada de segmento em ordem sem lacunas, anteriores já reconhecidos chegada de segmento em ordem sem lacunas, um ACK retardado pendente chegada de segmento fora de ordem, com no. de seq. maior que esperado -> lacuna chegada de segmento que preenche a lacuna parcial ou completamente Ação do receptor TCP ACK retardado. Espera até 500ms p/ próx. segmento. Se não chegar segmento, envia ACK envia imediatamente um único ACK cumulativo envia ACK duplicado, indicando no. de seq.do próximo byte esperado ACK imediato se segmento no início da lacuna

15 3: Camada de Transporte3b-15 HTTP request HTTP response TCP Estabelecimento da Conexão (3 Way Hand-shake) Transmissão dos Dados com Manutenção da Conexão Encerramento da Conexão Syn Ack, Syn Ack Fyn Controle de fluxo através da técnica do Janelamento !!! ClienteServidor TCP em ação: Tráfego http

16 3: Camada de Transporte3b-16 Syn Ack, Syn Ack Fyn PO: 2031, PD: 80, Seq: 100, Ack: 0, Janela: 3 PO:80, PD: 2031, Seq: 25, Ack: 101, Janela: 3 PO: 2031, PD: 80, Seq: 101, Ack: 26, Janela: 3 PO: 2031, PD: 80, Seq: 102, Ack: 26, Janela: 3 PO:80, PD: 2031, Seq: 26, Ack: 103, Janela: 3 PO:80, PD: 2031, Seq: 27, Ack: 103, Janela: 3 PO:80, PD: 2031, Seq: 28, Ack: 103, Janela: 3 PO:80, PD: 2031, Seq: 29, Ack: 103, Janela: 3 PO: 2031, PD: 80, Seq: 103, Ack: 30, Janela: 3 PO:80, PD: 2031, Seq: 31, Ack: 104, Janela: 3 PO:80, PD: 2031, Seq: 32, Ack: 104, Janela: 3 PO:80, PD: 2031, Seq: 30, Ack: 104, Janela: 3 PO: 2031, PD: 80, Seq: 104, Ack: 33, Janela: 3 PO:80, PD: 2031, Seq: 34, Ack: 105, Janela: 3 PO:80, PD: 2031, Seq: 35, Ack: 105, Janela: 3 PO:80, PD: 2031, Seq: 33, Ack: 105, Janela: 3 PO: 2031, PD: 80, Seq: 105, Ack: 36, Janela: 3 PO:80, PD: 2031, Seq: 36, Ack: 106, Janela: 3 PO: 2031, PD: 80, Seq: 106, Ack: 37, Janela: 3 ClienteServidor TCP em ação: Tráfego http (cont)

17 3: Camada de Transporte3b-17 TCP: cenários de retransmissão Estação A Seq=92, 8 bytes de dados ACK=100 perda temporização tempo cenário do ACK perdido Estação B X Seq=92, 8 bytes de dados ACK=100 Host A Seq=100, 20 bytes de dados ACK=100 Temp.p/ Seq=92 temporização prematura, ACKs cumulativos Host B Seq=92, 8 bytes de dados ACK=120 Seq=92, 8 bytes de dados Temp. p/ Seq=100 ACK=120 tempo

18 3: Camada de Transporte3b-18 remetente não esgotaria buffers do receptor por transmitir muito, ou muito rápidamente controle de fluxo TCP: Controle de Fluxo receptor: explicitamente avisa o remetente da quantidade de espaço livre disponível (muda dinamicamente) campo RcvWindow no segmento TCP remetente: mantém a quantidade de dados transmitidos, porém ainda não reconhecidos, menor que o valor mais recente de RcvWindow buffering pelo receptor RcvBuffer = tamanho do Buffer de recepção RcvWindow = espaço vazio no Buffer

19 3: Camada de Transporte3b-19 TCP: Gerenciamento de Conexões Lembrete: Remetente, receptor TCP estabelecem conexão antes de trocar segmentos de dados r inicializam variáveis TCP: m nos. de seq. buffers, info s/ controle de fluxo (p.ex. RcvWindow ) r cliente: iniciador de conexão Socket clientSocket = new Socket("hostname","port number"); r servidor: contactado por cliente Socket connectionSocket = welcomeSocket.accept(); Inicialização em 3 tempos: Passo 1: sistema cliente envia segmento de controle SYN do TCP ao servidor m especifica no. inicial de seq Passo 2: sistema servidor recebe SYN, responde com segmento de controle SYNACK m reconhece SYN recebido m aloca buffers m especifica no. inicial de seq. servidor-> receptor

20 3: Camada de Transporte3b-20 TCP: Gerenciamento de Conexões (cont.) Encerrando uma conexão: cliente fecha soquete: clientSocket.close(); Passo 1: sistema cliente envia segmento de controle FIN ao servidor Passo 2: servidor recebe FIN, responde com ACK. Encerra a conexão, enviando FIN. cliente FIN servidor ACK FIN fechar fechada espera temporizada

21 3: Camada de Transporte3b-21 TCP: Gerenciamento de Conexões (cont.) Passo 3: cliente recebe FIN, responde com ACK. m Entre em espera temporizada - responderá com ACK a FINs recebidos Step 4: servidor, recebe ACK. Conexão encerrada. Note: com pequena modificação, consegue tratar de FINs simultâneos. cliente FIN servidor ACK FIN fechando fechada espera temporizada fechada

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

23 3: Camada de Transporte3b-23 Capítulo 3: Sumário r Princípios atrás dos serviços da camada de transporte: m multiplexação/ desmultiplexação m transferência confiável de dados m controle de fluxo r instanciação e implementação na Internet m UDP m TCP Próximo capítulo: r saímos da borda da rede (camadas de aplicação e transporte) r entramos no núcleoda rede


Carregar ppt "3: Camada de Transporte3b-1 Capítulo 3: Camada de Transporte Metas do capítulo: r compreender os princípios atrás dos serviços da camada de transporte:"

Apresentações semelhantes


Anúncios Google