Serviços da camada de transporte

Tamanho: px
Começar a partir da página:

Download "Serviços da camada de transporte"

Transcrição

1 Camada de Transporte Serviços da camada de transporte Multiplexagem/desmultiplexagem Serviço não orientado à ligação: UDP Transferência fiável de dados Serviço orientado à ligação: TCP transferência fiável controlo de fluxo gestão de ligações Controlo de congestionamento TCP 1º Semestre 2003/2004 Redes de Computadores II 3.1 Serviços da camada de transporte Os protocolos da camada de transporte executam-se nos sistemas terminais e fornecem um serviço de comunicação ao nível lógico entre as aplicações Serviços de transporte/serviços de rede: Camada de rede: transferência de dados entre sistemas terminais Camada de transporte: transferência de dados entre processos; estes serviços são construídos com base nos serviços da camada de rede com o objectivo de os melhorar application transport data link physical data link physical logical end-end transport data link physical data link physical data link physical data link physical application transport data link physical 1º Semestre 2003/2004 Redes de Computadores II 3.2 1

2 Protocolos da camada de transporte - Internet TCP ( Transmission Control Protocol ) - comunicação fiável, com garantia de entrega na ordem de extremo a extremo ( unicast ) controlo de fluxo estabelecimento e gestão de ligações controlo de congestionamento UDP ( User Datagram Protocol ) - comunicação não fiável, sem garantia de entrega na ordem ( best-effort ), de um para um ou mais extremos ( unicast ou multicast ) application transport data link physical data link physical logical end-end transport data link physical data link physical data link physical data link physical application transport data link physical 1º Semestre 2003/2004 Redes de Computadores II 3.3 Multiplexagem/Desmultiplexagem As entidades da camada de transporte trocam entre si segmentos ou TPDU s ( Transport Protocol Data Unit ) Desmultiplexagem: mecanismo que permite entregar os segmentos recebidos ao processo da camada de aplicação a que pertencem segment header segment application-layer data Ht M Hn segment P1 M application transport P3 receiver M M application transport P4 M P2 application transport 1º Semestre 2003/2004 Redes de Computadores II 3.4 2

3 Multiplexagem/Desmultiplexagem Multiplexagem: mecanismo que permite recolher e enviar dados de vários processos da camada de aplicação 32 bits source port # dest port # other header fields multiplexagem/desmultiplexagem: mecanismos baseados nos portos e nos endereços IP de origem e de destino application data (message) TCP/UDP segment format 1º Semestre 2003/2004 Redes de Computadores II 3.5 Multiplexagem/Desmultiplexagem: exemplos host A Source IP: A Dest IP: B source port: x dest. port: 23 server B Web client host C Source IP: B Dest IP: A source port: 23 dest. port: x Multiplexagem não orientada à ligação Source IP: C Dest IP: B source port: y dest. port: 80 Source IP: C Dest IP: B source port: x dest. port: 80 Web client host A Source IP: A Dest IP: B source port: x dest. port: 80 Web server B Multiplexagem orientada à ligação 1º Semestre 2003/2004 Redes de Computadores II 3.6 3

4 UDP - User Datagram Protocol Serviço de melhor esforço ( best effort ); os segmentos UDP podem ser: perdidos entregues à aplicação fora de ordem Serviço não orientado à ligação cada segmento UDP é tratado independentemente dos outros RFC 768 Porque existe o protocolo UDP não há necessidade de estabelecer uma ligação não há necessidade de manter um estado (ao nível da camada de transporte ) no emissor ou no receptor pequeno cabeçalho em cada segmento o emissor pode transmitir a qualquer ritmo - não se executam mecanismos de controlo de congestionamento 1º Semestre 2003/2004 Redes de Computadores II 3.7 UDP Usado em: aplicações multimédia tolerantes a perdas exigentes em ritmo de transmissão outras aplicações DNS SNMP Uma aplicação pode incluir mecanismos de transferência de dados fiável usando depois UDP ao nível de transporte Length, in bytes of UDP segment, including header 32 bits source port # dest port # length Application data (message) checksum UDP segment format 1º Semestre 2003/2004 Redes de Computadores II 3.8 4

5 UDP - detecção de erros Procedimento abreviado: Emissor: trata cada segmento como uma sequência de inteiros de 16 bits cálculo do controlo de erros: complemento para 1 da soma do conteúdo do segmento o resultado é colocado no campo checksum do segmento Receptor: calcula o checksum do segmento o resultado é igual ao inscrito no segmento? NÃO - erro detectado: deita fora o segmento informando, ou não, um processo da camada de aplicação SIM - segmento aceite (a existir erro não foi detectado) soma checksum º Semestre 2003/2004 Redes de Computadores II 3.9 Camada de Transporte Serviços da camada de transporte Multiplexagem/desmultiplexagem Serviço não orientado à ligação: UDP Transferência fiável de dados Serviço orientado à ligação: TCP transferência fiável controlo de fluxo gestão de ligações Controlo de congestionamento TCP 1º Semestre 2003/2004 Redes de Computadores II

6 Transferência fiável de dados Importante nas camadas de aplicação, transporte e ligação de dados As características do canal de comunicação subjacente determinam a complexidade do protocolo de transmissão fiável ( reliable data transfer - rdt) 1º Semestre 2003/2004 Redes de Computadores II 3.11 Transferência fiável: implementação rdt_send(): called from above, (e.g., by app.). Passed data to deliver to receiver upper layer deliver_data(): called by rdt to deliver data to upper send side receive side udt_send(): called by rdt, to transfer packet over unreliable channel to receiver rdt_rcv(): called when packet arrives on rcv-side of channel 1º Semestre 2003/2004 Redes de Computadores II

7 Transferência fiável: metodologia Vamos desenvolver incrementalmente as partes emissora e receptora do protocolo de transferência fiável (rdt) Vamos considerar transferência de dados unidireccional a informação de controlo flui nos dois sentidos! Na especificação do emissor e do receptor, usam-se máquinas de estados finitos ( Finite State Machines - FSM) event causing state transition actions taken on state transition Uma vez num estado, o próximo é completamente determinado pelo acontecimento seguinte state 1 event actions state 2 1º Semestre 2003/2004 Redes de Computadores II 3.13 rdt1.0 - transferência fiável sobre canal fiável Canal subjacente completamente fiável sem erros sem perda de pacotes Receptor call from below rdt_rcv(packet) extract (packet,data) deliver_data(data) call from above rdt_send(data) packet = make_pkt(data) udt_send(packet) Emissor 1º Semestre 2003/2004 Redes de Computadores II

8 rdt2.0 - canal com erros Canal subjacente pode introduzir erros Como recuperar dos erros? Confirmações positivas, acknowledgements (ACKs): o receptor informa explicitamente o emissor que recebeu bem um pacote Confirmações negativas, negative acknowledgements (NAKs): o receptor informa explicitamente o emissor que recebeu um pacote com erros o emissor retransmite um pacote sempre que recebe um NAK Mecanismos introduzidos: detecção de erros informação de controlo do receptor para o emissor (ACK s e NAK s) 1º Semestre 2003/2004 Redes de Computadores II 3.15 rdt2.0 - especificação da máquina de estados rdt_send(data) sndpkt = make_pkt(data, checksum) call from above ACK or NAK rdt_rcv(rcvpkt) && isnak(rcvpkt) Receptor rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(nak) rdt_rcv(rcvpkt) && isack(rcvpkt) Λ Emissor call from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ack) 1º Semestre 2003/2004 Redes de Computadores II

9 rdt2.0 - funcionamento sem erros rdt_send(data) sndpkt = make_pkt(data, checksum) call from above rdt_rcv(rcvpkt) && isack(rcvpkt) Λ Emissor ACK or NAK rdt_rcv(rcvpkt) && isnak(rcvpkt) Receptor rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(nak) call from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ack) 1º Semestre 2003/2004 Redes de Computadores II 3.17 rdt2.0 - funcionamento com erros rdt_send(data) sndpkt = make_pkt(data, checksum) call from above ACK or NAK rdt_rcv(rcvpkt) && isnak(rcvpkt) Receptor rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(nak) rdt_rcv(rcvpkt) && isack(rcvpkt) Λ Emissor call from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ack) 1º Semestre 2003/2004 Redes de Computadores II

10 rdt2.0 - mau funcionamento O que acontece se os ACK s/nak s têm erros? O emissor não sabe o que aconteceu no receptor se o emissor se limitar a retransmitir o pacote pode provocar um duplicado no receptor Tratamento de duplicados: o emissor junta um número de sequência a cada pacote o receptor pode detectar duplicados e deitá-los fora Pára e espera ( stop and wait ) O emissor envia um pacote e espera pela resposta do receptor 1º Semestre 2003/2004 Redes de Computadores II 3.19 rdt2.1 - emissor (ACK/NAK com erros) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt) Λ rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isnak(rcvpkt) ) rdt_send(data) sndpkt = make_pkt(0, data, checksum) call 0 from above ACK or NAK 1 rdt_send(data) ACK or NAK 0 call 1 from above rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isnak(rcvpkt) ) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt) sndpkt = make_pkt(1, data, checksum) Λ 1º Semestre 2003/2004 Redes de Computadores II

11 rdt2.1 - receptor (ACK/NAK com erros) rdt_rcv(rcvpkt) && (corrupt(rcvpkt) sndpkt = make_pkt(nak, chksum) rdt_rcv(rcvpkt) && not corrupt(rcvpkt) && has_seq1(rcvpkt) sndpkt = make_pkt(ack, chksum) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq0(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ack, chksum) 0 from below 1 from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ack, chksum) rdt_rcv(rcvpkt) && (corrupt(rcvpkt) rdt_rcv(rcvpkt) && not corrupt(rcvpkt) && has_seq0(rcvpkt) sndpkt = make_pkt(ack, chksum) 1º Semestre 2003/2004 Redes de Computadores II 3.21 rdt2.1 - discussão Emissor: Inclui um número de sequência em cada pacote (0,1). Verifica se o ACK/NAK tem erros O número de estados duplica porque tem de ter em conta se espera confirmação do pacote número 0 ou 1. Receptor: tem de verificar se o pacote recebido é duplicado o estado indica se está à espera de um pacote número 0 ou 1 1º Semestre 2003/2004 Redes de Computadores II

12 rdt2.2 - protocolo sem NAK s Mesma funcionalidade de rdt2.1 mas usando apenas ACK s o receptor manda um ACK por cada pacote bem recebido tem de incluir o número do pacote que está a confirmar a recepção, pelo emissor, de dois ACK s seguidos para o mesmo pacote tem o mesmo efeito que um NAK 1º Semestre 2003/2004 Redes de Computadores II 3.23 rdt2.2 - protocolo sem NAK s rdt_send(data) sndpkt = make_pkt(0, data, checksum) rdt_rcv(rcvpkt) && (corrupt(rcvpkt) has_seq1(rcvpkt)) call 0 from above 0 from below Emissor (parcial) ACK 0 Receptor (parcial) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,0) Λ rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ack1, chksum) 1º Semestre 2003/2004 Redes de Computadores II

13 rdt3.0 - canal com erros e perdas Nova hipótese: o canal subjacente pode perder pacotes (dados ou ACK s) usam-se checksum, nº de sequência, ACK/NAK s e retransmissões, mas é necessário incluir outros mecanismos. Abordagem: o emissor espera um intervalo de tempo razoável por um ACK retransmite se o ACK não for recebido durante esse intervalo se o pacote (ou o ACK) estiver apenas atrasado (e não perdido): a retransmissão provoca um pacote duplicado, mas o nº de sequência possibilita a detecção correcta no receptor Requisitos adicionais: o receptor tem de incluir em cada ACK o nº de sequência do pacote que está a confirmar temporizador timer. 1º Semestre 2003/2004 Redes de Computadores II 3.25 rdt3.0 - emissor rdt_rcv(rcvpkt) Λ call 0from above rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,1) stop_timer timeout start_timer rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,0) ) Λ rdt_send(data) sndpkt = make_pkt(0, data, checksum) start_timer Wait for ACK1 rdt_send(data) Wait for ACK0 call 1 from above sndpkt = make_pkt(1, data, checksum) start_timer rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,1) ) Λ timeout start_timer rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,0) stop_timer rdt_rcv(rcvpkt) Λ 1º Semestre 2003/2004 Redes de Computadores II

14 rdt3.0 - exemplos 1º Semestre 2003/2004 Redes de Computadores II 3.27 rdt3.0 - exemplos 1º Semestre 2003/2004 Redes de Computadores II

15 rdt3.0 - desempenho Emissor Receptor Ritmo de transmissão - R bps (ex.: 1 Gbps ) Tempo de propagação extremo a extremo - A s (ex.: 15 ms) Tamanho dos pacotes de dados - L i bits (ex.: 1kB (8kbit) ) Tamanho dos pacotes ACK - L A bits (ex.: 125B (1kbit) ) Tempo de processamento de um pacote - T p s (ex.: 0 sec) T T L i /R pck T p Exemplo: ACK T transmissão = 8kb/pkt 10 9 bps = 8 µs L A /R Fracção do tempo em que Utilização = U = = se transmite dados = Em geral (T p =0): Utilização = U = L i /R 2A + (L i +L A )/R = L i 2AR + L i +L A 1º Semestre 2003/2004 Redes de Computadores II 3.29 Protocolos de janela Técnica de janela: o emissor envia vários pacotes de seguida (tantos quantos o tamanho da janela) sem esperar pela confirmação de cada um. Aumento do nº de bits destinados à numeração dos pacotes armazenamento no emissor e/ou no receptor Dois tipos de protocolos de janela: voltar atrás ( go-back-n) e repetição selectiva ( selective repeat ) 1º Semestre 2003/2004 Redes de Computadores II

16 Voltar Atrás - GBN ( Go-Back-N ) Emissor: números de sequência com k bits Janela de tamanho N, (são permitidos N pacotes consecutivos sem confirmação) ACK(n): confirma todos os pacotes até ao número n inclusivé Temporizador para o pacote ainda não confirmado timeout: retransmite os pacotes que estão na janela de emissão 1º Semestre 2003/2004 Redes de Computadores II 3.31 GBN - emissor Λ base=1 nextseqnum=1 rdt_rcv(rcvpkt) && corrupt(rcvpkt) rdt_send(data) if (nextseqnum < base+n) { sndpkt[nextseqnum] = make_pkt(nextseqnum,data,chksum) udt_send(sndpkt[nextseqnum]) if (base == nextseqnum) start_timer nextseqnum++ } else refuse_data(data) Wait rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) timeout start_timer udt_send(sndpkt[base]) udt_send(sndpkt[base+1]) udt_send(sndpkt[nextseqnum-1]) base = getacknum(rcvpkt)+1 If (base == nextseqnum) stop_timer else 1º Semestre 2003/2004 start_timer Redes de Computadores II

17 GBN - receptor default Λ expectedseqnum=1 Wait sndpkt = make_pkt(expectedseqnum,ack,chksum) rdt_rcv(rcvpkt) && notcurrupt(rcvpkt) && hasseqnum(rcvpkt,expectedseqnum) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(expectedseqnum,ack,chksum) expectedseqnum++ Confirmações: por cada pacote bem recebido envia o ACK(n) onde n é o maior número do último pacote que chegou na ordem podem ser gerados ACK s duplicados precisa apenas de guardar em memória o número de sequência do pacote de que está à espera - expectedseqnum Pacotes fora de ordem: deita fora não há necessidade de memória para pacotes no receptor! Envia confirmação do último pacote que chegou na ordem 1º Semestre 2003/2004 Redes de Computadores II 3.33 GBN Exemplo de funcionamento 1º Semestre 2003/2004 Redes de Computadores II

18 GBN - tamanho da janela Emissor Receptor Ritmo de transmissão - R bps (ex.: 1 Gbps ) Tempo de propagação extremo a extremo - A s (ex.: 15 ms) Tamanho dos pacotes de dados - L i bits (ex.: 1kB (8kbit) ) Tamanho dos pacotes ACK - L A bits (ex.: 1kB (8kbit) ) Tempo de processamento de um pacote - T p s (ex.: 0 s ) T i 1º pck 2º pck T T = 2A + 2T P + T i + T A T i = L i /R T A = L A /R T T T A 1º ACK T p Para que o emissor não pare o tamanho da janela, N, é: 1º pck N T T / T i Quantos bits se têm de usar para numerar os pacotes? 1º Semestre 2003/2004 Redes de Computadores II 3.35 Repetição Selectiva - SR ( Selective Repeat ) O receptor confirma individualmente todos os pacotes recebidos tem de ter capacidade de armazenamento para entrega na ordem à camada superior o emissor apenas retransmite os pacotes que não foram confirmados um temporizador para cada pacote não confirmado janela do emissor contém N números consecutivos, dos quais o primeiro ainda não foi confirmado 1º Semestre 2003/2004 Redes de Computadores II

19 SR - janelas do emissor e do receptor 1º Semestre 2003/2004 Redes de Computadores II 3.37 SR - funcionamento emissor Dados da camada superior: se o próximo número de sequência cabe na janela envia um pacote timeout(n): retransmite o pacote n e reinicializa o temporizador ACK(n) [sendbase,sendbase+n]: marca o pacote n como confirmado se n era o menor número de sequência não confirmado avança a janela até ao próximo não confirmado receptor Pacote n [rcvbase, rcvbase+n-1] envia ACK(n) armazena o pacote, envia para a camada superior os pacotes na ordem e avança a janela Pacote n [rcvbase-n,rcvbase-1] envia ACK(n) Em qualquer outro caso: não faz nada 1º Semestre 2003/2004 Redes de Computadores II

20 SR - exemplo 1º Semestre 2003/2004 Redes de Computadores II 3.39 SR - numeração Exemplo: n os de sequência: 0, 1, 2, 3 tamanho da janela = 3 o receptor não pode distinguir entre as duas situações da figura! Qual a relação entre o tamanho da sequência e o tamanho da janela? 1º Semestre 2003/2004 Redes de Computadores II

21 Camada de Transporte (cont.) Serviços da camada de transporte Multiplexagem/desmultiplexagem Serviço não orientado à ligação: UDP Transferência fiável de dados Serviço orientado à ligação: TCP transferência fiável controlo de fluxo gestão de ligações Controlo de congestionamento TCP 1º Semestre 2003/2004 Redes de Computadores II 3.41 TCP - RFCs: 793, 1122, 1323, 2018, 2581 ligação ponto a ponto: um emissor e um receptor transferência fiável e por ordem de uma sequência de bytes: não há delimitação de mensagens controlo por janela: tamanho da janela imposto pelos algoritmos de controlo de fluxo e de congestionamento memórias de emissão e de recepção socket door application writes data TCP send buffer segment application reads data TCP receive buffer ligação full duplex : transferência bidireccional de dados na mesma ligação os segmentos têm um tamanho máximo - MSS, Maximum Segment Size protocolo orientado à ligação: estabelecimento de uma ligação (com inicialização do emissor e do receptor) antes do início da transferência de dados controlo de fluxo: o emissor não ultrapassa a capacidade de memória do receptor socket door 1º Semestre 2003/2004 Redes de Computadores II

22 Estrutura do segmento TCP URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP) head len 32 bits source port # dest port # sequence number acknowledgement number not used UAP RS F checksum rcvr window size ptr urgent data Options (variable length) application data (variable length) counting by bytes of data (not segments!) # bytes rcvr willing to accept 1º Semestre 2003/2004 Redes de Computadores II 3.43 Números de sequência e ACK s N os de sequência: número do primeiro byte de dados do segmento ACK s: número do próximo byte esperado no receptor cumulativos: um ACK confirma a recepção correcta dos bytes anteriores Segmentos fora de ordem dependente da implementação User types C host ACKs receipt of echoed C Host A Host B Seq=42, ACK=79, data = C Seq=79, ACK=43, data = C Seq=43, ACK=80 host ACKs receipt of C, echoes back C simple telnet scenario time 1º Semestre 2003/2004 Redes de Computadores II

23 Round Trip Time e Timeout Determinação do timeout maior que um intervalo de ida e volta - RTT, Round Trip Time RTT é variável durante uma ligação TCP demasiado curto retransmissões desnecessárias demasiado longo reacção lenta a perdas de segmentos Estimação do RTT SampleRTT: intervalo de tempo medido entre o envio de um segmento e a recepção do ACK correspondente O valor medido de SampleRTT varia muito de segmento para segmento é necessário extrair um valor médio usando vários valores de SampleRTT 1º Semestre 2003/2004 Redes de Computadores II 3.45 Round Trip Time e Timeout EstimatedRTT = (1-x)*EstimatedRTT + x*samplertt Média deslizante com pesos exponenciais, exponential weighted moving average a influência de um valor medido decresce exponencialmente valor típico de x: 0.1 Determinação do valor timeout EstimatedRTT + margem de segurança Grandes variações em EstimatedRTT -> grandes margens de segurança Timeout = EstimatedRTT + 4*Deviation Deviation = (1-x)*Deviation + x* SampleRTT-EstimatedRTT 1º Semestre 2003/2004 Redes de Computadores II

24 Transferência fiável de dados event: data received from application above create, send segment Emissor TCP simplificado, transferência unidireccional sem controlo de fluxo sem controlo de congestionamento wait for event event: timer timeout retransmit not-yet-aknowledge segment with smallest sequence number event: ACK received, with ACK # y ACK processing 1º Semestre 2003/2004 Redes de Computadores II 3.47 Transferência fiável de dados sendbase = initial_sequence number nextseqnum = initial_sequence number loop (forever) { switch(event) event: data received from application above create TCP segment with sequence number nextseqnum start timer for segment nextseqnum pass segment to IP nextseqnum = nextseqnum + length(data) Emissor TCP simplificado event: timer timeout retransmit not-yet-aknowledge segment with smallest sequence number start timer event: ACK received, with ACK field value of y if (y > sendbase){ sendbase = y if(there are currently any not-yet-aknowledged segments start timer } else { /* a duplicate ACK for already ACKed segment */ increment number of duplicate ACKs received for y if (number of duplicate ACKS received for y == 3) { /* TCP fast retransmit */ resend segment with sequence number y } } /* end of loop forever */ 1º Semestre 2003/2004 Redes de Computadores II

25 Geração de ACK s - RFC 1122, RFC 2581 Acontecimento chegada de segmento na ordem, tudo o resto já confirmado chegada de segmento na ordem, uma confirmação atrasada chegada de segmento fora de ordem com nº de sequência superior ao esperado Acção do receptor TCP Espera até 500ms pela chegada do próximo segmento. Se não chegar, envia ACK envia imediatamente um ACK cumulativo envia um ACK duplicado, indicando o próximo byte esperado chegada de segmento que completa parcial ou totalmente um buraco existente envia imediatamente ACK se o segmento segue o último bem recebido na ordem 1º Semestre 2003/2004 Redes de Computadores II 3.49 Cenários de retransmissão Host A Host B Host A Host B Seq=92, 8 bytes data Seq=92, 8 bytes data timeout X loss ACK=100 Seq=92, 8 bytes data timeout Seq=100, 20 bytes data ACK=100 ACK=120 Seq=92, 8 bytes data ACK=100 ACK=120 time lost ACK scenario time premature timeout, cumulative ACKs 1º Semestre 2003/2004 Redes de Computadores II

26 Controlo de fluxo O emissor não excede a capacidade do receptor RcvBuffer = tamanho da memória de recepção RcvWindow = espaço livre na memória de recepção receptor: informa explicitamente o emissor do espaço livre na memória de recepção RcvWindow (campo no segmento TCP) emissor: mantém a quantidade de dados transmitidos e ainda não confirmados menor que o mais recente valor recebido de RcvWindow 1º Semestre 2003/2004 Redes de Computadores II 3.51 Gestão de ligações Estabelecimento em 3 passos: 1: o cliente envia um segmento de controlo (TCP SYN) para o servidor especifica o nº de sequência inicial 2: o servidor recebe o SYN e responde com um segmento de controlo SYNACK confirma a recepção do SYN reserva memória de recepção especifica o nº de sequência inicial 3: o cliente confirma o estabelecimento da ligação e o nº de sequência inicial. Este segmento pode já transportar dados. 1º Semestre 2003/2004 Redes de Computadores II

27 Gestão de ligações Fecho da ligação: 1: o cliente envia um segmento de controlo (TCP FIN) para o servidor close client FIN server 2: o servidor recebe o FIN e envia uma confirmação. Envia separadamente um FIN para o cliente. ACK FIN close 3: o cliente recebe o FIN e envia um ACK. Entra no estado de timed wait respondendo com ACK s aos FIN s recebidos 4: o servidor recebe o ACK e fecha a ligação. timed wait closed ACK 1º Semestre 2003/2004 Redes de Computadores II 3.53 Gestão de ligações Cliente TCP Servidor TCP 1º Semestre 2003/2004 Redes de Computadores II

28 Camada de Transporte Serviços da camada de transporte Multiplexagem/desmultiplexagem Serviço não orientado à ligação: UDP Transferência fiável de dados Serviço orientado à ligação: TCP transferência fiável controlo de fluxo gestão de ligações Controlo de congestionamento TCP 1º Semestre 2003/2004 Redes de Computadores II 3.55 Controlo de Congestionamento Congestionamento: informalmente: demasiadas fontes enviando demasiados dados, demasiado depressa, para uma rede com capacidade limitada Refere-se ao que se passa no interior da rede (não confundir com o problema de controlo de fluxo que tratámos atrás). Manifestações: perda de pacotes (excesso da capacidade de memória nos nós da rede) grandes atrasos (tempo de espera nas filas dos nós) 1º Semestre 2003/2004 Redes de Computadores II

29 Causas e custos do congestionamento: cenário 1 dois emissores e dois receptores um nó com memória ilimitada sem retransmissões grandes atrasos para tráfego intenso existe um valor máximo para o throughput 1º Semestre 2003/2004 Redes de Computadores II 3.57 Causas e custos do congestionamento: cenário 2 Tem-se sempre: λ in = λ out ( goodput ) se há retransmissões apenas quando há perdas: λ in >λ out se há retransmissões de pacotes atrasados (não perdidos) então λ in é maior que no caso anterior para o mesmo λ out Custos do congestionamento: para um dado goodput o trabalho nos nós é maior (retransmissões) há retransmissões desnecessárias: uma ligação transporta várias cópias de um pacote 1º Semestre 2003/2004 Redes de Computadores II

30 Causas e custos do congestionamento: cenário 3 Quatro emissores caminhos origem/destino com mais de uma ligação retransmissões/ timeouts Custo de congestionamento adicional: quando um pacote é deitado fora num nó a capacidade gasta nos nós a montante para a sua transmissão é desperdiçada 1º Semestre 2003/2004 Redes de Computadores II 3.59 Abordagens ao controlo de congestionamento Dois tipos de abordagens: Controlo com intervenção da rede: os nós informam explicitamente os sistemas terminais do estado da rede enviando apenas um bit (SNA, DECbit, TCP/IP ECN, ATM) enviando a taxa a que o emissor deve trabalhar (ATM) Controlo extremo a extremo (TCP): não há informação explícita fornecida pela rede o estado de congestionamento é inferido pela observação das perdas e do atraso 1º Semestre 2003/2004 Redes de Computadores II

31 Controlo de congestionamento em ATM-ABR ABR ( Available Bit Rate ): elastic service se as ligações origem/destino têm banda disponível: o emissor deve utilizar essa banda se as ligações origem/destino estão congestionadas: o emissor deve reduzir o seu ritmo de transmissão (até um mínimo garantido) Solução: Células/pacotes RM ( Resource Management ): enviadas pelo emissor entrelaçadas com as células de dados campos nas células RM marcados pelos nós da rede NI bit: não aumentar o ritmo (capacidade próxima do máximo) CI bit: indicação de congestionamento (capacidade excedida) campo ER ( Explicit Rate): indicação explícita do valor do ritmo do emissor células RM devolvidas ao emissor pelo receptor 1º Semestre 2003/2004 Redes de Computadores II 3.61 Controlo de congestionamento em ATM-ABR dois bytes em cada célula RM para o campo ER ( Explicit Rate ) um nó ( switch ) congestionado pode reduzir o valor inscrito no campo ER O ritmo de transmissão do emissor é o mínimo suportado pelos nós ao longo do caminho origem/destino um bit em cada célula de dados para o campo EFCI ( Explicit Forward Congestion Indication ) pode ser marcado em nós congestionados se as células de dados têm o EFCI bit marcado o receptor marca o bit CI da próxima célula RM 1º Semestre 2003/2004 Redes de Computadores II

32 Controlo de congestionamento no protocolo TCP Controlo extremo a extremo (sem intervenção directa da rede) o ritmo de transmissão é limitado pelo tamanho da janela de congestionamento, Congwin: w segmentos, cada um com tamanho MSS, enviados num intervalo RTT: throughput = w * MSS RTT Bytes/sec 1º Semestre 2003/2004 Redes de Computadores II 3.63 Controlo de congestionamento no protocolo TCP Teste de banda disponível ( probing for bandwidth ): idealmente: ritmo de transmissão tão grande quanto possível (Congwin tão grande quanto possível) sem perdas ausência de perdas: aumento gradual do tamanho da janela de congestionamento, Congwin perdas: diminuição de Congwin; reinício da fase de teste de banda, aumentando gradualmente o tamanho da janela Distinguem-se duas fases: slow start congestion avoidance variáveis importantes: Congwin threshold: define o limiar entre a fase slow start e a fase congestion avoidance 1º Semestre 2003/2004 Redes de Computadores II

33 Fase slow start no protocolo TCP Algoritmo Slowstart Host A Host B initialize: Congwin = 1 for (each segment ACKed) Congwin++ until (loss event OR CongWin > threshold) RTT one segment two segments four segments Crescimento exponencial (por cada RTT) do tamanho da janela de congestionamento perdas: timeout (Tahoe TCP) e/ou quatro ACK s do mesmo segmento (Reno TCP) time 1º Semestre 2003/2004 Redes de Computadores II 3.65 Fase congestion avoidance no protocolo TCP Congestion avoidance /* slowstart is over */ /* Congwin > threshold */ Until (loss event) { every w segments ACKed: Congwin++ } threshold = Congwin/2 Congwin = 1 1 perform slowstart 1: a versão TCP Reno não executa a fase slow start depois de quatro ACK s do mesmo segmento 1º Semestre 2003/2004 Redes de Computadores II

34 Justiça ( Fairness ) no protocolo TCP Fase congestion avoidance : AIMD ( Additive Increase, Multiplicative Decrease ) aumento do tamanho da janela de uma unidade (segmento) por cada RTT diminuição do tamanho da janela para metade (diminuição de um factor de 2) quando se perde um segmento Justiça ( Fairness ): objectivo se N sessões TCP partilharem a mesma ligação congestionada, cada uma deve poder usar 1/N da capacidade total TCP connection 1 TCP connection 2 bottleneck router capacity R 1º Semestre 2003/2004 Redes de Computadores II 3.67 Justiça ( Fairness ) no protocolo TCP Exemplo: duas sessões simultâneas; capacidade disponível R o crescimento aditivo ( additive increase - AI) traduz-se pelo aumento de ambos os throughput ao longo de uma recta de derivada 1 a diminuição multiplicativa ( multiplicative decrease - MD) traduz-se na redução proporcional do throughput de cada sessão R equal bandwidth share Connection 2 throughput Connection 1 throughput 1º Semestre 2003/2004 Redes de Computadores II 3.68 R loss: decrease window by factor of 2 congestion avoidance: additive increase 34

35 Modelação da latência Quanto tempo demora a receber um ficheiro de um servidor a partir do instante em que se iniciou o pedido? Estabelecimento da ligação TCP Tempo de transferência dos dados Hipóteses e notação: existe apenas uma ligação entre cliente e servidor de capacidade R janela de congestionamento de tamanho W segmentos S: MSS (bits) O: tamanho dos dados (bits) sem retransmissões (não há perdas nem erros) 1º Semestre 2003/2004 Redes de Computadores II 3.69 Modelação da latência (W fixo) Caso 1: WS/R > RTT + S/R o ACK do primeiro segmento da janela chega ao emissor antes do fim da transmissão de todos os segmentos na janela latência = 2RTT + O/R 1º Semestre 2003/2004 Redes de Computadores II

36 Modelação da latência (W fixo) Caso 2 - WS/R < RTT + S/R é necessário esperar pelo ACK depois de enviar todos os segmentos na janela para retomar a transmissão. K= O/WS número de janelas necessárias à transmissão do objecto latência = 2RTT + O/R+ (K-1)[S/R + RTT - WS/R] 1º Semestre 2003/2004 Redes de Computadores II 3.71 Modelação da latência: fase slow start Exemplo: initiate TCP connection Objecto: O/S = 15 segmentos número de janelas necesárias para transmitir o objecto ( ): K = 4 Tempos envolvidos: RTT = 2S/R WS/R <> RTT + S/R? W=2: 2S/R<2S/R+S/R; W=4: 4S/R>2S/R+S/R; W=8 número de janelas em que há paragem para um objecto arbitrário com esta relação de tempos Q = 2 P = min{k-1,q} = 2 (o servidor pára 2 vezes) request object object delivered RTT time at client time at server first window = S/R second window = 2S/R third window = 4S/R fourth window = 8S/R complete transmission 1º Semestre 2003/2004 Redes de Computadores II

37 Modelação da latência: fase slow start S +RTT = R Intervalo de tempo entre o envio de um segmento e recepção do ACK initiate TCP connection k 2 1 S = Tempo de transmissão da janela k R S 2 1 S RTT k + R R = + Tempo de paragem depois da janela k request object RTT first window = S/R second window = 2S/R third window = 4S/R latência O = + 2RTT + R P tempo de paragem k k = 1 P O S k = + 2RTT + [ + RTT 2 R k = 1 R O S = + 2RTT + P[ RTT + ] (2 R R 1 P S ] R S 1) R object delivered time at client time at server fourth window = 8S/R complete transmission 1º Semestre 2003/2004 Redes de Computadores II 3.73 Modelação da latência: fase slow start Mostra-se que a latência para um ficheiro de dados de tamanho O é: O S P Latência = 2RTT + + P RTT (2 1) R + R S R P é o número de vezes que o TCP é obrigado a parar: P = min{ Q, K 1} - onde Q é o número de vezes que o TCP seria obrigado a parar se os dados tivessem tamanho infinito (WS/R <> RTT + S/R) - e K é o número de janelas que contêm todos os dados do ficheiro (2 k-1 <>O/S) 1º Semestre 2003/2004 Redes de Computadores II

38 Débito em TCP-Reno (modelo simplificado) TCP-Reno: Janela de congestionamento de tamanho cw Na ausência de perdas, por cada ACK a janela cresce de 1/cw Em TCP-Reno a chegada de 4 ACK s do mesmo segmento (3 duplicados) conduz à redução da janela para cw/2+3 segmentos se continuar a haver duplicados a janela cresce um segmento por duplicado logo que se receba um ACK de um segmento novo a janela passa a cw/2 Cenário simplificado A Janela de congestionamento exibe um funcionamento periódico Os segmentos da janela são enviados em rajada Por cada segmento recebido na ordem é emitido um ACK A Janela de tamanho w conduz à perda de um segmento No início de um período a janela tem tamanho w/2+1 Cada período tem duração x+2 intervalos RTT Em cada período transmitem-se y segmentos novos A fracção de perdas é p 1º Semestre 2003/2004 Redes de Computadores II 3.75 Débito em TCP-Reno (modelo simplificado) 3w/2-1 w w/2 Segmento Posição na janela Segmento perdido Segmento retransmitido 1 x t x x = w/2; y = Σ (w/2+i) +3w/2-2 = (3/8)w 2 + (7/4)w -2; p=1/(y+1) i=1 B = (1/RTT) y/(x+2) = (1/RTT) (3/2p) 1/2 + o(1/p 1/2 ) 1º Semestre 2003/2004 Redes de Computadores II

39 Camada de Transporte Aspectos Fundamentais Multiplexagem/desmultiplexagem Transmissão fiável sobre um canal com erros e perdas Gestão de ligações Controlo de Fluxo Controlo de Congestionamento data application transport link physical application transport link physical data ack application transport link physical link physical Transporte fiável com confirmações (ack) data application transport link physical 1º Semestre 2003/2004 Redes de Computadores II

Camada de transporte. Serviços

Camada de transporte. Serviços Camada de transporte Serviços fornecidos pela camada de transporte Multiplexagem/desmultiplexagem Camada de transporte não-orientada à sessão: UDP Princípios da transmissão fiável e ordenada de dados Máquina

Leia mais

PTC Aula Princípios da transferência de dados confiável. (Kurose, Seções 3.4 e 3.5) 28/04/2017

PTC Aula Princípios da transferência de dados confiável. (Kurose, Seções 3.4 e 3.5) 28/04/2017 PTC 3450 - Aula 11 3.4 Princípios da transferência de dados confiável (Kurose, Seções 3.4 e 3.5) 28/04/2017 Muitos slides adaptados com autorização de J.F Kurose and K.W. Ross, All Rights Reserved Capítulo

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2011 Camada de Transporte

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Camada de Transporte

Leia mais

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

Universidade Federal de Minas Gerais Departamento de Ciência da Computação Redes de Computadores Camada de Transporte Capítulo 3 Kurose & Ross Prof: José Marcos Silva Nogueira Universidade Federal de Minas Gerais Departamento de Ciência da Computação Belo Horizonte - 2006 Capítulo

Leia mais

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

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 ponto-a-ponto: um transmissor, um receptor confiável, seqüêncial byte stream: não há contornos de mensagens pipelined: (transmissão de vários pacotes em

Leia mais

Planejamento. Revisão. Desempenho em Protocolos de Transporte

Planejamento. Revisão. Desempenho em Protocolos de Transporte Desempenho em Protocolos de Transporte Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática DI Laboratório de Pesquisas em Redes Multimidia LPRM Planejamento Serviços

Leia mais

Camada de Transporte. Serviços da camada de transportet. Multiplexagem / desmultiplexagem

Camada de Transporte. Serviços da camada de transportet. Multiplexagem / desmultiplexagem Camada de Transporte Serviços da camada de transporte Multiplexagem / desmultiplexagem Serviço não orientado à ligação: UDP Transferência fiável de dados Serviço orientado à ligação: TCP transferência

Leia mais

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

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 ponto-a-ponto: um transmissor, um receptor confiável, seqüêncial byte stream: não há contornos de mensagens pipelined: (transmissão de vários pacotes em

Leia mais

SSC0641 Redes de Computadores

SSC0641 Redes de Computadores SSC0641 Redes de Computadores Capítulo 3 - Camada de Transporte Prof. Jó Ueyama Março/2011 1 Serviços da Camada de Transporte 2 Protocolos e Serviços de Transporte 3 Serviços de Transporte Fornecem comunicação

Leia mais

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

Fragmentos das máquinas de estados finitos do RDT 2.2 (fonte: Kurose) RDT 2.2 Não usa NACK Destinatário deve incluir o número de sequência do pacote que está sendo reconhecido Remetente deve verificar o número de sequência do pacote que está sendo reconhecido ACKs duplicados

Leia mais

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

Redes de computadores e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte Redes de computadores e a Internet Redes de computadores e a Internet Prof. Gustavo Wagner Capítulo 3 Camada de transporte Camada de transporte 3.1 Serviços da camada de transporte 3.2 Multiplexação e

Leia mais

Redes de Computadores Camada de Transporte Protocolo TCP

Redes de Computadores Camada de Transporte Protocolo TCP Redes de Computadores Camada de Transporte Protocolo TCP Capítulo 3 Kurose & Ross (Especial p/ Curso Telecom 2008) Prof: José Marcos Silva Nogueira Universidade Federal de Minas Gerais Departamento de

Leia mais

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

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços RTP Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços Identificação do tipo de carga útil (mídia) Números de sequência Estampa

Leia mais

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

TCP - formato do segmento. Formato do segmento TCP (fonte: Kurose) TCP - formato do segmento Formato do segmento TCP (fonte: Kurose) TCP - formato do segmento Porta de origem (16 bits) Porta de destino (16 bits) Número de sequência (32 bits) Usado na implementação do

Leia mais

SSC0641 Redes de Computadores

SSC0641 Redes de Computadores SSC0641 Redes de Computadores Capítulo 3 - Camada de Transporte Prof. Jó Ueyama Abril/2013 1 Serviços da Camada de Transporte 2 Protocolos e Serviços de Transporte 3 Serviços de Transporte Fornecem comunicação

Leia mais

3Camada de transporte

3Camada de transporte Redes de computadores e a Internet Capítulo Camada de transporte Objetivos do capítulo: Entender os princípios por trás dos serviços da camada de transporte: Multiplexação/demultiplexação Transferência

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Transporte TCP Slide 1 TCP RFC s 793, 1122, 1323, 2018 e 2581; Orientado a conexão; Serviço full-duplex; Transmissão confiável de dados; Conexão ponto a ponto (apresentação

Leia mais

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

Protocolos com paralelismo (pipelining) Pipelining: aumento da utilização Protocolos com paralelismo (pipelining) Paralelismo: transmissor envia vários pacotes ao mesmo tempo, todos esperando para serem reconhecidos Faixa de números de seqüência deve ser aumentada Armazenamento

Leia mais

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581 TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581 socket door ponto a ponto: 1 remetente, 1 receptor fluxo de bytes, ordenados, confiável: não estruturado em msgs dutado: tam. da janela ajustado por controle

Leia mais

Capítulo 3: Camada de Transporte

Capítulo 3: Camada de Transporte 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

Leia mais

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

PTC Aula Princípios da transferência de dados confiável 3.5 Transporte orientado para conexão: TCP PTC 3450 - Aula 14 3.4 Princípios da transferência de dados confiável 3.5 Transporte orientado para conexão: TCP (Kurose, p. 164-177) (Peterson, p. 242-264) 02/05/2017 Muitos slides adaptados com autorização

Leia mais

Camada de Transporte. Protocolos TCP e UDP

Camada de Transporte. Protocolos TCP e UDP Camada de Transporte Protocolos TCP e UDP O estabelecimento de conexão Como estabelecer a conexão de maneira confiável? Handshake de 3 vias SYN SYN ACK ACK Transferência Confiável de Dados Importante nas

Leia mais

Capítulo 3: Camada de Transporte

Capítulo 3: Camada de Transporte Serviços e protocolos de transporte Capítulo 3: Camada de Transporte Antônio Abelém Abelém@ufpa.br provê comunicação lógica entre processos de executando em hospedeiros diferentes protocolos de transporte

Leia mais

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

Redes de computadores e a Internet. Capítulo 3. Camada de transporte Redes de computadores e a Internet Capítulo Camada de transporte 2005 by Pearson Education - 2 Camada de transporte Objetivos do capítulo: Entender os princípios por trás dos serviços da camada de transporte:

Leia mais

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

PTC Aula Princípios do controle de congestionamento 3.7 Controle de congestionamento no TCP PTC 3450 - Aula 16 3.6 Princípios do controle de congestionamento 3.7 Controle de congestionamento no TCP (Kurose, p. 190-205) (Peterson, p. 105-124 e 242-264) 26/05/2017 Muitos slides adaptados com autorização

Leia mais

Camada de transporte. Camada de transporte

Camada de transporte. Camada de transporte Camada de transporte Camada de transporte Objetivos do capítulo: Entender os princípios dos serviços da camada de transporte: Multiplexação/demultiplexação Transferência de dados confiável Controle de

Leia mais

Infra-Estrutura de Comunicação (IF678)

Infra-Estrutura de Comunicação (IF678) Infra-Estrutura de Comunicação (IF678) Módulo III Fonte: kurose Adaptações : Prof. Paulo Gonçalves pasg@cin.ufpe.br CIn/UFPE Camada Transporte 3-1 Módulo 3: Camada Transporte Nossos objetivos: Compreender

Leia mais

Capítulo 3 Camada de Transporte

Capítulo 3 Camada de Transporte Redes de Computadores DCC/UFJ Capítulo 3 Camada de Transporte Material fortemente baseado nos slides do livro: Computer Networking: A Top-Down Approach Featuring the Internet. Os slides foram disponibilizados

Leia mais

Redes de Computadores

Redes de Computadores Prof. Universidade Federal de Mato Grosso do Sul brivaldo@facom.ufms.br 26 de maio de 2017 Visão Geral 1 2 3 4 Protocolos e Serviços de Transporte comunicação lógica entre aplicativos executando em diferentes

Leia mais

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

Redes de computadores e a Internet. Capítulo 3. Camada de transporte Redes de computadores e a Internet Capítulo 3 Camada de transporte Camada de transporte Objetivos do capítulo: Entender os princípios por trás dos serviços da camada de transporte: Multiplexação/demultiplexação

Leia mais

Redes de computadores e a Internet

Redes de computadores e a Internet Redes de computadores e a Internet Capítulo Camada de transporte Camada de transporte Objetivos do capítulo: Entender os princípios por trás dos serviços da camada de transporte: Multiplexação/demultiplexação

Leia mais

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

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços RTP Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços Identificação do tipo de carga útil (mídia) Números de sequência Estampa

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Roteiro Resumido Princípios básicos da Internet Princípios básicos de comunicação em redes Descrição das diferentes

Leia mais

Capítulo 3: Camada de Transporte

Capítulo 3: Camada de Transporte Capítulo 3: Camada de Transporte Metas do capítulo: entender 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

Leia mais

Serviços e Protocolos de Transporte

Serviços e Protocolos de Transporte Redes de Computadores Redes de Computadores Camada Transporte 1 Camada Aplicação Revisão Princípios e caracteristicasdos protocolos da da camada de de aplicação A Web Web e o HTTP (Hypertext Transfer Protocol)

Leia mais

TCP - controle de fluxo

TCP - controle de fluxo TCP - controle de fluxo Elimina a possibilidade do remetente saturar o destinatário Apresentação supõe que segmentos fora de ordem são descartados Baseado em janelas Remetente mantém uma variável chamada

Leia mais

Redes de Computadores Aula 6

Redes de Computadores Aula 6 Redes de Computadores Aula 6 Aula passada Camada de transporte Multiplexação Princípios de transmissão confiável Aula de hoje Eficiência Go Back N Selective Repeat Stop and wait Eficiência do Stop-and-Wait

Leia mais

EEL878 - Redes de Computadores I

EEL878 - Redes de Computadores I EEL878 - Redes de Computadores I Prof. Luís Henrique Maciel Kosmalski Costa http://www.gta.ufrj.br/ensino/eel878 luish@gta.ufrj.br EEL878: Redes de Computadores 1 Del-Poli/UFRJ Professor Miguel Campista

Leia mais

Nível de Transporte Portas, Protocolos UDP e TCP

Nível de Transporte Portas, Protocolos UDP e TCP Departamento de Ciência da Computação - UFF Disciplina: Nível de Transporte Portas, Protocolos UDP e TCP Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Protocolo TCP 48 Timeout e Retransmissão

Leia mais

EEL878 - Redes de Computadores I. Prof. Luís Henrique Maciel Kosmalski Costa.

EEL878 - Redes de Computadores I. Prof. Luís Henrique Maciel Kosmalski Costa. EEL878 - Redes de Computadores I Prof. Luís Henrique Maciel Kosmalski Costa http://www.gta.ufrj.br/ensino/eel878 luish@gta.ufrj.br EEL878: Redes de Computadores 1 Del-Poli/UFRJ Professor Miguel Campista

Leia mais

TCP - controle de fluxo

TCP - controle de fluxo TCP - controle de fluxo Elimina a possibilidade de o remetente saturar o destinatário Apresentação supõe que segmentos fora de ordem são descartados Baseado em janelas Remetente mantém uma variável chamada

Leia mais

Capítulo 3: Camada de Transporte. Multiplexação/desmultiplexação. Serviços e protocolos de transporte. Antônio Abelém abelem@ufpa.

Capítulo 3: Camada de Transporte. Multiplexação/desmultiplexação. Serviços e protocolos de transporte. Antônio Abelém abelem@ufpa. Serviços e protocolos de Capítulo 3: Camada de Transporte Antônio Abelém abelem@ufpa.br provê comunicação lógica entre processos de executando em hospedeiros diferentes protocolos de executam em sistemas

Leia mais

Camada de transporte. Serviços

Camada de transporte. Serviços Camada de transporte Serviços fornecidos pela camada de transporte Multiplexagem/desmultiplexagem Camada de transporte não-orientada à sessão: UDP Princípios da transmissão fiável e ordenada de dados Máquina

Leia mais

Camada de Transporte

Camada de Transporte Departamento de Ciência da Computação Instituto de Computação Universidade Federal Fluminense Aulas 8, 9, e 10 Camada de Transporte Conceitos, protocolos UDP e TCP Igor Monteiro Moraes Redes de Computadores

Leia mais

Capítulo 3. Camada de transporte. Pearson. Todos os direitos reservados.1

Capítulo 3. Camada de transporte. Pearson. Todos os direitos reservados.1 Capítulo 3 Camada de transporte slide 1 Área de Telecomunicações 2014 Pearson. Todos os direitos reservados.1 Introdução e serviços de camada de transporte A camada de transporte fornece comunicação lógica

Leia mais

Camada de Transporte. Serviços de Transporte. Desempenho em Protocolos de Transporte. Aprender sobre protocolos de transporte na Internet

Camada de Transporte. Serviços de Transporte. Desempenho em Protocolos de Transporte. Aprender sobre protocolos de transporte na Internet Desempenho em Protocolos de Transporte Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática DI Laboratório de Pesquisas em Redes Multimidia LPRM Camada de Transporte

Leia mais

PROTOCOLOS DE COMUNICAÇÃO

PROTOCOLOS DE COMUNICAÇÃO PROTOCOLOS DE COMUNICAÇÃO 3º ANO / 2º SEMESTRE 2014 INFORMÁTICA avumo@up.ac.mz Ambrósio Patricio Vumo Computer Networks & Distribution System Group Serviços de Transporte na Internet Arquitectura TCP/IP

Leia mais

Redes de Computadores Aula 5

Redes de Computadores Aula 5 Redes de Computadores Aula 5 Aula passada DNS Sockets Programação com sockets Teste relâmpago Aula de hoje Camada de transporte Multiplexação Princípios de transmissão confiável Stop and wait Camada de

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Parte V: Camada de Transporte Professor: Reinaldo Gomes reinaldo@dsc.ufcg.edu.br Camada de transporte 3.1 Serviços da camada de transporte 32 3.2 Multiplexação e demultiplexação 3.3

Leia mais

Roteiro Resumido. Camada de Transporte. Parte III. Camada de Transporte. Camada de Transporte. Redes de Computadores 25/4/2017

Roteiro Resumido. Camada de Transporte. Parte III. Camada de Transporte. Camada de Transporte. Redes de Computadores 25/4/2017 Roteiro Resumido Princípios básicos da Internet Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Princípios básicos de comunicação em redes Descrição das diferentes

Leia mais

Redes de Computadores

Redes de Computadores Prof. Universidade Federal de Mato Grosso do Sul brivaldo@facom.ufms.br 29 de junho de 2017 Visão Geral 1 Controle de Congestionamento 2 Princípios do Controle de Congestionamento Congestionamento: informalmente:

Leia mais

TCP 1 TCP. Manuel P. Ricardo

TCP 1 TCP. Manuel P. Ricardo TCP 1 TCP Faculdade de Engenharia da Universiadade do Porto Manuel P. Ricardo TCP 2 Bibliografia L. Peterson, B. Davie, Computer Networks A Systems Approach, Morgan Kaufamnn, 2000 (Sec. 5.1, 5.2, 6.1,

Leia mais

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte Capítulo 3 Camada de transporte slide 1 Introdução e serviços de camada de transporte A camada de transporte fornece comunicação lógica, e não física, entre processos de aplicações: slide 2 Relação entre

Leia mais

Arquitetura de Redes de Computadores

Arquitetura de Redes de Computadores Arquitetura de Redes de Computadores Unidade III Camada de Transporte Apresentado por Prof. Fred Sauer Baseado em Material didático de Prof Sergio Cardoso Objetivos do Capítulo Entender os princípios dos

Leia mais

Capítulo 3: Camada de Transporte

Capítulo 3: Camada de Transporte Capítulo 3: Camada de Transporte Metas do capítulo: compreender os princípios que guiam os serviços da camada de transporte: multiplexação/ demultiplexação transferência confiável de dados controle de

Leia mais

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

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 ponto-a-ponto: dados full-duplex: um transmissor, um receptor confiável, seqüêncial -> byte stream: mensagens não são delimitadas pipelined: transmissão

Leia mais

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte Capítulo 3 Camada de transporte slide 1 Introdução e serviços de camada de transporte A camada de transporte fornece comunicação lógica, e não física, entre processos de aplicações: slide 2 Relação entre

Leia mais

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

Camada de Transporte. Redes Industriais Rone Ilídio UFSJ CAP Camada de Transporte Redes Industriais Rone Ilídio UFSJ CAP Itens do Livro Livro Rede de Computadores e a Internet Kurose 5ª edição 3 Camada de Transporte 3.1 Introdução 3.3 Transporte não orientado a

Leia mais

Capítulo 3: Camada de Transporte

Capítulo 3: Camada de Transporte Capítulo 3: Camada de Transporte Metas do capítulo: entender 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

Leia mais

Roteiro Resumido. Camada de Transporte. Parte III. Camada de Transporte. Camada de Transporte. Redes de Computadores 14/08/2015

Roteiro Resumido. Camada de Transporte. Parte III. Camada de Transporte. Camada de Transporte. Redes de Computadores 14/08/2015 Roteiro Resumido Princípios básicos da Internet Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Princípios básicos de comunicação em redes Descrição das diferentes

Leia mais

TCP Round Trip Time e temporização

TCP Round Trip Time e temporização TCP Round Trip Time e temporização P.: como escolher o valor da temporização do TCP? Maior que o RTT Nota: RTT varia Muito curto: temporização prematura Retransmissões desnecessárias Muito longo: a reação

Leia mais

Capítulo 3: Camada de Transporte. Multiplexação/desmultiplexação. Multiplexação/desmultiplexação. Multiplexação/desmultiplexação: exemplos

Capítulo 3: Camada de Transporte. Multiplexação/desmultiplexação. Multiplexação/desmultiplexação. Multiplexação/desmultiplexação: exemplos Capítulo 3: Camada de Transporte Serviços e protocolos de transporte Metas do capítulo: compreender os princípios atrás dos serviços da camada de transporte: multiplexação/ desmultiplexação transferência

Leia mais

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

PTC Aula A camada de transporte. (Kurose, p ) 15/03/2017 PTC 2550 - Aula 03 1.3 A camada de transporte (Kurose, p. 135-209) 15/03/2017 Muitos slides adaptados com autorização de J.F Kurose and K.W. Ross, All Rights Reserved Serviços e protocolos de transporte

Leia mais

Camada Transporte. 2 Camada de Transporte

Camada Transporte. 2 Camada de Transporte Redes de Computadores Redes de Computadores Camada Transporte 1 Camada Transporte Serviços da camada de transporte Multiplexagem e desmultiplexagem Transporte não orientado à ligação: UDP Princípios da

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Parte III: Camada de Transporte Março, 2012 Professor: Reinaldo Gomes reinaldo@dsc.ufcg.edu.br Camada de transporte 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação

Leia mais

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

PTC Aula Transporte orientado para conexão: TCP. (Kurose, p ) (Peterson, p e ) 23/05/2017 PTC 3450 - Aula 15 3.5 Transporte orientado para conexão: TCP (Kurose, p. 177-190) (Peterson, p. 105-124 e 242-264) 23/05/2017 Muitos slides adaptados com autorização de J.F Kurose and K.W. Ross, All Rights

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de

Leia mais

Camada de transporte. Serviços fornecidos pela camada de transporte Multiplexagem/desmultiplexagem Camada de transporte não-orientada à sessão

Camada de transporte. Serviços fornecidos pela camada de transporte Multiplexagem/desmultiplexagem Camada de transporte não-orientada à sessão Camada de transporte Serviços fornecidos pela camada de transporte Multiplexagem/desmultiplexagem Camada de transporte não-orientada à sessão O caso UDP Transmissão fiável e ordenada de dados Máquinas

Leia mais

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

Redes de Computadores e Aplicações. Aula 43 - Camada de Transporte TCP (Transmission Control Protocol) Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do N Campus Currais Novos Redes de Computadores e Aplicações Aula 43 - Camada de Transporte TCP (Transmission Control Protocol) Prof. Diego

Leia mais

SSC0641 Redes de Computadores

SSC0641 Redes de Computadores SSC0641 Redes de Computadores Capítulo 3 - Camada de Transporte Prof. Jó Ueyama Março/2011 SSC0641-2011 1 Mecanismos: Transferência de Confável de Dados Soma de verifcação Temporizador Número de Seqüência

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Roteiro Resumido Princípios básicos da Internet Princípios básicos de comunicação em redes Descrição das diferentes

Leia mais

Capítulo 3. Camada de transporte

Capítulo 3. Camada de transporte Capítulo 3 Camada de transporte 2 Redes de computadores I Prof.: Leandro Soares de Sousa E-mail: lsousa@id.uff.br Site: http://www.ic.uff.br/~lsousa Não deixem a matéria acumular!!! Datas das avaliações,

Leia mais

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

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol Protocolos TCP e UDP Transmission Control Protocol Protocolo de transporte orientado à conexão. Transferência de dados confiável fim-a-fim recuperação de dados perdidos, duplicados organização dos dados

Leia mais

Camada de Transporte Transferindo Mensagem entre Processos

Camada de Transporte Transferindo Mensagem entre Processos Camada de Transporte Transferindo Mensagem entre Processos 1 Serviços e protocolos de transporte rede enlace física rede enlace física a tr aplicação transporte rede enlace física rt po ns e gi ló rede

Leia mais

SSC0641 Redes de Computadores

SSC0641 Redes de Computadores SSC0641 Redes de Computadores Capítulo 3 - Camada de Transporte slide 1 Prof. Jó Ueyama Abril/2017 1 Capítulo 3: Camada de transporte Objetivos do capítulo: entender princípios por trás dos serviços da

Leia mais

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

Serviços de Comunicações Capítulo 3 Capítulo 3 A Camada de Transporte da Arquitectura TCP/IP 3.1 Portos e Sockets 3.2 O Protocolo UDP 3.3 O Protocolo TCP 1 3.1. Portos e Sockets A Camada de Transporte fornece transferência de dados fim-a-fim

Leia mais

TCP - multiplexação/demultiplexação

TCP - multiplexação/demultiplexação TCP Protocolo de controle de transmissão (Transmission Control Protocol) Definido em diversas RFCs (793, 1122, 1323, 2018 e 2581) Diversos flavors (tipos) Serviços Multiplexação/demultiplexação Detecção

Leia mais

Redes de Computadores RES 12502

Redes de Computadores RES 12502 Instituto Federal de Santa Catarina Redes de Computadores Redes de Computadores RES 12502 2014 2 Área de Telecomunicações slide 1 O material para essas apresentações foi retirado das apresentações disponibilizadas

Leia mais

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

Desempenho de Redes de Computadores. Ricardo Couto A. da Rocha 2015 Desempenho de Redes de Computadores Ricardo Couto A. da Rocha 2015 Parâmetros de Desempenho Largura de Banda (bandwidth) Throughput Latência Jitter Escalabilidade parâmetro típico de sistemas distribuídos

Leia mais

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte Capítulo 3 Camada de transporte Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

Camada de Transporte Parte II Gerson Porciúncula 5 semestre

Camada de Transporte Parte II Gerson Porciúncula 5 semestre Camada de Transporte Parte II Gerson Porciúncula 5 semestre 1)Explicar os seguintes mecanismos e conceitos do protocolo TCP: 1. Slow Start Ocorre no início de uma conexão ou de uma reconexão, serve para

Leia mais

Camada de Transporte Protocolos TCP e UDP

Camada de Transporte Protocolos TCP e UDP Arquitetura de Redes de Computadores e Tecnologia de Implementação de Redes 2016.1 Camada de Transporte Protocolos TCP e UDP Curso Técnico Integrado em Informática Turma: INT.INF.3M Arquitetura de Redes

Leia mais

Camada de Transporte. Processo: Instância de uma aplicação que está. 3: Camada de Transporte 3a-1

Camada de Transporte. Processo: Instância de uma aplicação que está. 3: Camada de Transporte 3a-1 Camada de Transporte Transferindo Mensagem entre Processos Processo: Instância de uma aplicação que está sendo executada em um 3: Camada de Transporte 3a-1 Motivando... TCP is optimized for accurate delivery,

Leia mais

Causas/custos do congestionamento: cenário 1

Causas/custos do congestionamento: cenário 1 Princípios de controle de Congestionamento: informalmente: muitas fontes enviando muitos dados muito rápido para a rede tratar diferente de controle de fluxo! manifestações: pacotes perdidos (estouro de

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Transporte Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br Departamento de Ciência da Computação Universidade Federal de Minas Gerais UFMG/DCC Redes de Computadores

Leia mais

SSC0641 Redes de Computadores

SSC0641 Redes de Computadores SSC0641 Redes de Computadores Capítulo 3 - Camada de Transporte slide 1 Prof. Jó Ueyama Abril/2014 1 Capítulo 3: Camada de transporte Objetivos do capítulo: entender princípios por trás dos serviços da

Leia mais

Redes de computadores. Protocolo TCP

Redes de computadores. Protocolo TCP Redes de computadores Protocolo TCP Dilema dos Comandantes Dilema dos Comandantes Dois comandantes estão em montes prestes a atacar uma cidade no vale Eles precisam combinar um horário para o ataque Seu

Leia mais

Curso de Redes de Computadores 2010

Curso de Redes de Computadores 2010 Curso de Redes de Computadores 2010 Adriano Mauro Cansian adriano@acmesecurity.org Capítulo 3 Camada de Transporte 1 Capítulo 3: Camada de Transporte Metas do capítulo: Compreender os princípios dos serviços

Leia mais

Camada de Transporte

Camada de Transporte Camada de Transporte arliones.hoeller@ifsc.edu.br abril de 2014 1 Camada de transporte Objetivos do capítulo: Entender os princípios por trás dos serviços da camada de transporte: Multiplexação/demultiplexação

Leia mais

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte Capítulo 3 Camada de transporte Todo o material copyright 1996-2009 J. F Kurose e K. W. Ross, Todos os direitos reservados. slide 1 Capítulo 3: Camada de transporte Objetivos do capítulo: entender princípios

Leia mais

Redes de Computadores I

Redes de Computadores I UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores I Nível de Transporte (TCP & UDP) Prof. Helcio Wagner da Silva.

Leia mais

Arquitetura de Redes TCP/IP. Camada de Transporte

Arquitetura de Redes TCP/IP. Camada de Transporte Arquitetura de Redes TCP/IP Camada de Transporte n Fundamentos n Define a unidade de dados do serviço de circuito virtual, denominada seguimento TCP n Especifica o formato e a função dos campos n Multiplexa

Leia mais

Nível de Transporte Portas, Protocolos UDP e TCP

Nível de Transporte Portas, Protocolos UDP e TCP Departamento de Ciência da Computação - UFF Disciplina: Nível de Transporte Portas, Protocolos UDP e TCP Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Nível de Transporte 3 Camada de Transporte

Leia mais

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581. TCP: nos. de seq. e ACKs. TCP: estrutura do segmento. TCP: Tempo de Resposta (RTT) e Temporização

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581. TCP: nos. de seq. e ACKs. TCP: estrutura do segmento. TCP: Tempo de Resposta (RTT) e Temporização socket door : Visão geral FCs: 793, 1122, 1323, 2018, 2581 ponto a ponto: 1 remetente, 1 receptor fluxo de bytes, ordenados, confiável: não estruturado em msgs dutado: tam. da janela ajustado por controle

Leia mais

TCP. Bibliografia FEUP/MRSC/AMSR MPR. » Aula preparada com base nos seguintes documentos

TCP. Bibliografia FEUP/MRSC/AMSR MPR. » Aula preparada com base nos seguintes documentos 1 FEUP/MRSC/AMSR MPR 2 Bibliografia» Aula preparada com base nos seguintes documentos L. Peterson, B. Davie, Computer Networks A Systems Approach, Morgan Kaufamnn, 2000 (Sec. 5.1 e 5,2) Acetatos do autor

Leia mais

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte Capítulo 3 Camada de transporte Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2011 Camada de Transporte

Leia mais

Redes de Computadores. Prof. André Y. Kusumoto

Redes de Computadores. Prof. André Y. Kusumoto Redes de Computadores Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Nível de Transporte Responsável pela comunicação fim-a-fim entre dois ou mais computadores As redes são normalmente complexas

Leia mais

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

AULA 3 - REDES. Prof. Pedro Braconnot Velloso AULA 3 - REDES Prof. Pedro Braconnot Velloso Resumo da última aula Começo da Internet Princípios básicos Comutação pacotes x circuitos Protocolos Arquitetura em camadas Arquitetura TCP/IP APLICAÇÃO TRANSPORTE

Leia mais