Capítulo 3 Camada de transporte

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

Download "Capítulo 3 Camada de transporte"

Transcrição

1 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 que você possa incluir, modificar e excluir slides (incluindo este) e o conteúdo do slide, de acordo com suas necessidades. Eles obviamente representam muito trabalho da nossa parte. Em retorno pelo uso, pedimos apenas o seguinte: Se você usar estes slides (por exemplo, em sala de aula) sem muita alteração, que mencione sua fonte (afinal, gostamos que as pessoas usem nosso livro!). Se você postar quaisquer slides sem muita alteração em um site Web, que informe que eles foram adaptados dos (ou talvez idênticos aos) nossos slides, e inclua nossa nota de direito autoral desse material. Obrigado e divirta-se! JFK/KWR Todo o material copyright J. F Kurose e K. W. Ross, Todos os direitos reservados. slide 1

2 Capítulo 3: Camada de transporte Objetivos do capítulo: entender princípios por trás dos serviços da camada de transporte: multiplexação/demultiplexação transferência de dados confiável controle de fluxo controle de congestionamento aprender sobre os protocolos da camada de transporte na Internet: UDP: transporte sem conexão TCP: transporte orientado a conexão controle de congestionamento TCP slide 2

3 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 3

4 Serviços e protocolos de transporte oferecem comunicação lógica entre processos de aplicação rodando em hospedeiros diferentes protocolos de transporte rodam em sistemas finais lado remetente: divide as msgs da aplicação em segmentos, passa à camada de rede lado destinatário: remonta os segmentos em msgs, passa à camada de aplicação mais de um protocolo de transporte disponível às aplicações Internet: TCP e UDP aplicação transporte rede enlace física transporte lógico fim a fim aplicação transporte rede enlace física slide 4

5 Protocolos da camada de transporte da Internet remessa confiável e em ordem (TCP) controle de congestionamento controle de fluxo estabelecimento da conexão remessa não confiável e desordenada: UDP extensão sem luxo do IP pelo melhor esforço serviços não disponíveis: garantias de atraso garantias de largura de banda aplicação transporte rede enlace física logical end-end transport rede enlace física rede enlace física network rede data enlace link physical física rede enlace física rede enlace física rede enlace física aplicação transporte rede enlace física slide 6

6 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 7

7 Como funciona a demultiplexação hospedeiro recebe datagramas IP cada datagrama tem endereço IP de origem, endereço IP de destino cada datagrama carrega 1 segmento da camada de transporte cada segmento tem número de porta de origem, destino hospedeiro usa endereços IP & números de porta para direcionar segmento ao socket apropriado 32 bits # porta origem # porta destino outros campos de cabeçalho dados da aplicação (mensagem) formato do segmento TCP/UDP slide 9

8 Demultiplexação não orientada para conexão cria sockets com números de porta: DatagramSocket mysocket1 = new DatagramSocket(12534); DatagramSocket mysocket2 = new DatagramSocket(12535); socket UDP identificado por tupla de dois elementos: (endereço IP destino, número porta destino) quando hospedeiro recebe segmento UDP: verifica número de porta de destino no segmento direciona segmento UDP para socket com esse número de porta datagramas IP com diferentes endereços IP de origem e/ou números de porta de origem direcionados para o mesmo socket slide 10

9 DatagramSocket serversocket = new DatagramSocket(6428); P2 P3 P1P1 SP: 6428 DP: 9157 SP: 6428 DP: 5775 SP: 9157 SP: 5775 cliente IP: A DP: 6428 servidor IP: C DP: 6428 Cliente IP:B SP oferece endereço de retorno slide 11

10 Demultiplexação orientada para conexão socket TCP identificado por tupla de 4 elementos: endereço IP de origem número de porta de origem endereço IP de destino número de porta de destino hospedeiro destinatário usa todos os quatro valores para direcionar segmento ao socket apropriado hospedeiro servidor pode admitir muitos sockets TCP simultâneos: cada socket identificado por usa própria tupla de 4 servidores Web têm diferentes sockets para cada cliente conectando HTTP não persistente terá diferentes sockets para cada requisição slide 12

11 P1 P4 P5 P6 P2 P1P3 SP: 5775 DP: 80 S-IP: B D-IP:C SP: 9157 SP: 9157 cliente IP: A DP: 80 S-IP: A D-IP:C servidor IP: C DP: 80 S-IP: B D-IP:C cliente IP:B slide 13

12 Demultiplexação orientada para conexão: servidor Web threaded P1 P4 P2 P1P3 SP: 5775 DP: 80 S-IP: B D-IP:C SP: 9157 SP: 9157 cliente IP: A DP: 80 S-IP: A D-IP:C servidor IP: C DP: 80 S-IP: B D-IP:C cliente IP:B slide 14

13 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 15

14 UDP: User Datagram Protocol [RFC 768] protocolo de transporte da Internet sem luxo, básico serviço de melhor esforço, segmentos UDP podem ser: perdidos entregues à aplicação fora da ordem sem conexão: sem handshaking entre remetente e destinatário UDP cada segmento UDP tratado independente dos outros Por que existe um UDP? sem estabelecimento de conexão (que pode gerar atraso) simples: sem estado de conexão no remetente, destinatário cabeçalho de segmento pequeno sem controle de congestionamento: UDP pode transmitir o mais rápido possível slide 16

15 UDP (User Datagram Protocol) Quando Utilizar o UDP (RFC 768)? Aplicações que implementam entrega confiável Aplicações tipo cliente/servidor ou solicitação/resposta, envolvendo msgs pequenas Consulta a DNS (Domain Name System) nslookup (Windows) RPC (Remote Procedure Call) get_ip_address (host_name) SNMP (gerência) Serviços em que pequenas perdas são suportadas Tráfego multimídia em tempo real VoIP, videoconferência, vídeo sob demanda, etc slide 17

16 UDP Cabeçalho com 8 bytes Tamanho máximo de 64 kbytes Formato do Datagrama 0 16 Source Port Length Data... Destination Port Checksum 31 slide 19

17 UDP Campos do Datagrama: Source/Destination Ports: Portas usadas pelos processos Source Port é opcional; necessária quando resposta tem que ser enviada à origem Length: Tamanho do datagrama (octetos), incluindo o cabeçalho de 8 bytes e os dados Checksum: Verificação de erro no datagrama (opcional) Data: Dados do usuário slide 20

18 Exemplo de soma de verificação da Internet nota Ao somar números, um carryout do bit mais significativo precisa ser somado ao resultado exemplo: somar dois inteiros de 16 bits contorna soma soma de verificação slide 22

19 Checksum e Header virtual Checksum calculado sobre o pacote UDP com o checksum zerado antecedido do header virtual 0 Zero 16 Source IP Address Dest. IP address Proto(17) UDP Length 31 Source Port UDP Length Data... Destination Port Zero slide 23

20 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 24

21 rdt3.0: operação pare e espere U remet = L / R RTT + L / R = 0,008 30,008 = 0,00027 slide 44

22 Paralelismo: utilização aumentada Aumento de utilização por fator de 3! U remet = 3 * L / R RTT + L / R = 0,02 30,008 = 0,0008 slide 45

23 Protocolos com paralelismo paralelismo: remetente permite múltiplos pacotes no ar, ainda a serem reconhecidos intervalo de números de sequência deve ser aumentado buffering no remetente e/ou destinatário duas formas genéricas de protocolo com paralelismo: Go-Back-N, repetição seletiva slide 46

24 Protocolos de Enlace Conceitos de ACK, Janela e Time-out STOP-AND-WAIT GO-BACK-N SELECTIVE REPEAT slide 47

25 Controle de Erro OK 1 1 OK ack 2 time-out 2 X 2 OK Ack 3 OK 2 2 OK, repetido, descartado ack 3 ACKs e quadros de dados são sempre numerados (ou sequenciados) Número de seqüência dos quadros é finito Protocolos tem que evitar receber quadros duplicados Corrupção de quadro ou perda de ACK provoca retx por time-out slide 48

26 Controle de Fluxo estanca tx RNR RNR congestionamento recomeça tx RR RR condição normal RR (Receiver Ready) e RNR (Receiver Not Ready) implementam controle de fluxo RR usado como ACK também slide 49

27 Transmissão Full Duplex A A ACK B ACK A B B Otimização : piggybacking A A ACK B ACK A B B slide 50

28 Premissas Quadros são recebidos na mesma seqüência de transmissão O transmissor trabalha com uma janela de números de seqüência que podem ser transmitidos O receptor trabalha também com uma janela e somente são processados os quadros que estiverem dentro da janela de recepção; quadros fora da janela são ignorados No receptor, o enlace somente repassa para o nível de rede os quadros recebidos em seqüência slide 51

29 Janela de Transmissão W W = 9 ACK transmissor receptor Time-out ótimo T = tempo de ida-e-volta W = # de quadros que podem ser transmitidos, pendentes de ACK Na ausência de erros, mantém enlace ocupado, evitando ociosidade No pior caso, W = 1 + T / Tmín onde T é o time-out ótimo e Tmín é o tempo de tx do menor quadro T = Tack + tempo de propagação ida-e-volta E se a janela for menor que o mínimo? E se for maior? slide 52

30 Janela Deslizante Na transmissão a janela inclui todos os quadros enviados e pendentes de confirmação ou ACK Ao receber uma confirmação para o quadro mais a esquerda, a janela desloca seu extremo inferior até o número de seqüência do próximo quadro não confirmado O limite superior avança à medida que novos quadros são transmitidos, respeitado o tamanho máximo da janela slide 53

31 Protocolo STOP AND WAIT Transmissor e receptor usam janela = 1 Eficiente apenas em ambientes onde o RTT (round-trip time ou tempo de ida e volta) entre transmissor e receptor é pequeno em relação ao tempo de transmissão de um quadro slide 54

32 Protocolo GO BACK N Transmissor opera com janela maior que 1 Receptor funciona com janela = 1 Quadros fora de seqüência são descartados no receptor e confirmação indica o próximo quadro esperado (no livro, o ack confirma o quadro recebido) No exemplo abaixo, transmissor opera com janela = 4 {01,2,3} {1,2,3,4} {2,3,4,5} 0 time-out ACK 1 ACK 1 ACK 1 0 D D D ACK 1 1 ACK 2 ACK {1} {2} {3} {4} {5} slide 55

33 GBN em operação slide 56

34 Janela máxima no GO BACK N Se sequenciamento <0,,7>, a janela de transmissão pode ser 8? 0 time-out X X X X X X X X {0} Duplicatas aceitas! Janela máxima de transmissão = # de seqüência máximo (7 ou 127) time-out X X X X X X X slide {7} Duplicatas descartadas!

35 GO BACK N com perda de ACK Janela de transmissão = 4, max_seq = 7 ACK 1 se perde, mas chegam os ACKs subseqüentes {0,1,2,3} {1,2,3,4} {3,4,5,6} ACK 1 X ACK 3 ACK 4 ACK 5 ACK6 ACK Um ACK 2 só poderia ser gerado se o quadro 1 chegou OK no receptor; logo, a perda de um ACK eventual não é relevante no GO BACK N e ACKs confirma todos os quadros anteriores na janela de transmissão slide 58

36 Protocolo GO BACK N Otimização: REJECT Se o tempo de time-out está alto, a retransmissão pode demorar e causa ineficiência {01,2,3} {1,2,3,4} {2,3,4,5} time-out ACK 1 ACK 1 ACK 1 ACK 1 ACK 2 ACK 3 0 D D D {1} {2} {3} {4} {5} slide 59

37 Protocolo GO BACK N Otimização: REJECT REJECT pode ser enviado para solicitar retransmissão de todos os quadros a partir do solicitado, antecipando ao time-out {01,2,3} {1,2,3,4} {2,3,4,5} ACK 1 0 D D D {1} REJ 1 ACK 2 ACK {2} {3} {4} {5} slide 60

38 Vantagens e Desvantagens do GO BACK N Vantagens Não requer buffers no destino Desvantagens Após um erro, quadros que chegam OK são descartados e terão que ser retransmitidos slide 61

39 Protocolo SELECTIVE REPEAT time-out ACK 1 ACK 1 ACK 1 ACK 1 ACK 5 ACK 5 ACK armazenados duplicatas Quadros fora de ordem são armazenados ACK confirma maior # de seqüência recebido sem erro slide 62

40 Janela máxima no SELECTIVE REPEAT Para funcionar, janela máxima = # de seq máx.+1 (4 ou 64) Restrição acima evita sobreposição da janela de recepção com a última janela de transmissão, cujos ACKs ainda não chegaram Contra exemplo: # de seq máx=7 e W=5 (na transmissão e na recepção) 2 time-out X X X X X ACK 4 ACK 4 {0,1,2,3,4} {5,6,7,0,1} {5,6,7,0,1} Duplicatas aceitas! Erro! slide 63

41 Protocolo SELECTIVE REPEAT Otimização: SELECTIVE REJECT {0,1,2,3} {1,2,3,4} time-out {1,2,3,4} ACK 1 ACK armazenados ACK 1 ACK 1 {0,1,2,3} {1,2,3,4} 1 ACK 5 ACK 5 ACK duplicatas {5,6,7,0} Se o tempo de time-out está alto, a retransmissão do quadro 1 perdido pode demorar e causa ineficiência Quadros em duplicata são transmitidos, desperdiçando banda slide 64

42 Protocolo SELECTIVE REPEAT Otimização: SELECTIVE REJECT SELECTIVE REJECT pede a retransmissão somente de um quadro específico {0,1,2,3} {1,2,3,4} {5,6,7,0} ACK 1 SELREJ 1 ACK ACK 1 1 ACK ACK 6 {0,1,2,3} {1,2,3,4} armazenados {5,6,7,0} {6,7,0,1} slide 65

43 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 76

44 TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581 ponto a ponto: um remetente, um destinatário cadeia de bytes confiável, em ordem: sem limites de mensagem paralelismo: congestionamento TCP e controle de fluxo definem tamanho da janela buffers de envio & recepção dados full duplex: dados bidirecionais fluem na mesma conexão MSS: tamanho máximo do segmento orientado a conexão: apresentação (troca de msgs de controle) inicia estado do remetente e destinatário antes da troca de dados fluxo controlado: remetente não sobrecarrega destinatário slide 77

45 Estrutura do segmento TCP URG: dados urgentes (quase não usado) ACK: # ACK válido PSH: empurrar dados agora (quase não usado) RST, SYN, FIN: estab. conexão (comandos setup, teardown) soma de verificação da Internet (como em UDP) porta origem 32 bits número sequência porta destino número reconhecimento compr. não UAP cab. usado R SF soma verificação janela recepção ponteiro dados urg. opções (tamanho variável) dados da aplicação (tamanho variável) contagem por bytes de dados (não segmentos!) # bytes destinatário pode aceitar (RWND) slide 78

46 #s sequência e ACKs do TCP # s de sequência: ACKs: número na cadeia de bytes do 1 o byte nos dados do segmento # seq do próximo byte esperado do outro lado ACK cumulativo P: como o destinatário trata segmentos fora de ordem R: TCP não diz a critério do implementador cenário telnet simples slide 79

47 Tempo de ida e volta e timeout do TCP P: Como definir o valor de timeout do TCP? maior que RTT mas RTT varia muito curto: timeout prematuro retransmissões desnecessárias muito longo: baixa reação a perda de segmento P: Como estimar o RTT? SampleRTT: tempo medido da transmissão do segmento até receber o ACK ignora retransmissões SampleRTT variará; queremos RTT estimado mais estável média de várias medições recentes, não apenas SampleRTT atual slide 80

48 EstimatedRTT = (1- α)*estimatedrtt + α*samplertt média móvel exponencial ponderada influência da amostra passada diminui exponencialmente rápido valor típico: α = 0,125 slide 81

49 Amostras de RTTs estimados: slide 82

50 Tempo de ida e volta e timeout do TCP definindo o timeout EstimtedRTT mais margem de segurança grande variação em EstimatedRTT -> maior margem de seg. primeira estimativa do quanto SampleRTT se desvia de EstimatedRTT: DevRTT = (1-β)*DevRTT + β* SampleRTT-EstimatedRTT (geralmente, β = 0,25) depois definir intervalo de timeout TimeoutInterval = EstimatedRTT + 4*DevRTT slide 83

51 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 84

52 Transferência confiável de dados no TCP TCP cria serviço rdt em cima do serviço não confiável do IP segmentos em paralelo ACKs cumulativos TCP usa único temporizador de retransmissão retransmissões são disparadas por: eventos de timeout ACKs duplicados inicialmente, considera remetente TCP simplificado: ignora ACKs duplicados ignora controle de fluxo, controle de congestionamento slide 85

53 TCP: cenários de retransmissão slide 88 Hosp. A Hosp. B Seq = 92, 8 bytes dados Seq = 100, 20 bytes dados ACK = 120 ACK = 100 Seq = 92 timeout Seq = 92, 8 bytes dados ACK = 120 Hosp. A Hosp. B tempo Timeout prematuro Seq = 92, 8 bytes dados ACK = 100 X timeout Seq = 92 timeout loss Seq = 92, 8 bytes dados ACK = 100 SendBase = 100 tempo Cenário de ACK perdido Sendbase = 100 SendBase = 120 SendBase = 120

54 slide 89 Host A Host B Seq = 92, 8 bytes dados ACK = 100 X Seq = 100, 20 bytes dados timeout perda ACK = 120 SendBase = 120 tempo Cenário ACK cumulativo

55 TCP: geração de ACK [RFC 1122, RFC 2581] Chegada de segmento na ordem esperada Espera até 500 ms pela chegada de próximo segmento antes de enviar ACK Chegada de segmento na ordem esperada e com segmento aguardando envio de ACK Envia ACK imediatamente (cumulativo) Chegada de segmento com número de seqüência acima do esperado Envia ACK indicando segmento esperado (duplicado) Chegada de um segmento que preenche lacuna total ou parcialmente Envia ACK imediatamente se segmento está na base da lacuna slide 91

56 Retransmissão rápida período de timeout relativamente grande: longo atraso antes de reenviar pacote perdido detecta segmentos perdidos por meio de ACKs duplicados remetente geralmente envia muitos segmentos um após o outro se segmento for perdido, provavelmente haverá muitos ACKs duplicados para esse segmento se remetente recebe 3 ACKs duplicados, assume que segmento foi perdido (rota está OK pois segmentos estão chegando no destino) retransmissão rápida: reenvia segmento antes que o temporizador expire slide 92

57 Hosp. A Hosp. B ACKs duplicados três vezes seq # 1 seq # 2 seq # 3 seq # 4 seq # 5 reenvia seq #2 X ACK 2 ACK 2 ACK 2 ACK 2 timeout tempo slide 93

58 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 95

59 Controle de fluxo TCP lado receptor da conexão TCP tem um buffer de recepção: datagramas IP espaço de buffer (atualmente) não usado dados TCP (no buffer) processo da aplicação pode ser lento na leitura do buffer processo da aplicação controle de fluxo remetente não estourará buffer do destinatário transmitindo muitos dados muito rapidamente serviço de compatibilização de velocidades: compatibiliza a taxa de envio do remetente com a de leitura da aplicação receptora slide 96

60 Controle de fluxo TCP: como funciona datagramas IP espaço de buffer (atualmente) não usado rwnd RcvBuffer dados TCP (no buffer) processo da aplicação (suponha que destinatário TCP descarte segmentos fora de ordem) espaço de buffer não usado: = rwnd = RcvBuffer-[LastByteRcvd - LastByteRead] destinatário: anuncia espaço de buffer não usado incluindo valor de rwnd no cabeçalho do segmento remetente: limita # de bytes não confirmados a rwnd garante que buffer do destinatário não estoura slide 97

61 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 98

62 Gerenciamento da conexão TCP lembre-se: Remetente e destinatário TCP estabelecem conexão antes que troquem segmentos dados inicializa variáveis TCP: slide 99 #s seq.: buffers, informação de controle de fluxo (p. e. RcvWindow) cliente: inicia a conexão Socket clientsocket = new Socket("hostname","port #"); servidor: contactado pelo cliente Socket connectionsocket = welcomesocket.accept(); apresentação de 3 vias: etapa 1: hosp. cliente envia segmento SYN do TCP ao servidor especifica # seq. inicial sem dados etapa 2: hosp. servidor recebe SYN, responde com segmento SYNACK servidor aloca buffers especifica # seq. inicial do servidor etapa 3: cliente recebe SYNACK, responde com segmento ACK, que pode conter dados

63 Gerenciamento da Conexão TCP transmissor estabelece conexão com o receptor antes de trocar segmentos de dados Inicializar variáveis e informar parâmetros: Números de seqüência Buffers, controle de fluxo (ex.rwnd) MSS desejável Cliente: iniciador da conexão Socket clientsocket = new Socket( hostname","port number"); Servidor: chamado pelo cliente Socket connectionsocket = welcomesocket.accept(); slide 100

64 Abertura de conexão: three way handshake Passo 1: sistema final cliente envia TCP SYN ao servidor Especifica número de seqüência inicial Opcionalmente informa o MSS, obrigando a outra ponta a não enviar segmento maior que esse valor indicado Caso o MSS não seja anunciado, a outra ponta pode assumir o valor default de 536 bytes Passo 2: servidor que recebe o SYN, responde com segmento SYNACK Confirma e o SYN recebido Aloca buffers Especifica o número de seqüência inicial do servidor Opcionalmente informa o MSS, obrigando a outra ponta a não enviar segmento maior que esse valor indicado Caso o MSS não seja anunciado, a outra ponta pode assumir o valor default de 536 bytes Passo 3: o sistema final cliente confirma o SYNACK recebido slide 101

65 Three way handshake Host A SYN seq=x MSS=256 Host B SYN seq=x MSS=256 SYN seq=y ACK=x+1 MSS=1460 SYN seq=y ACK=x+1 MSS=1460 seq=x+1 ACK=y+1 seq=x+1 ACK=y+1 Interface serial MTU = 296 Ethernet v2 MTU = 1500 Host A usará o MSS = 256 por causa do MTU local Host B usará o MSS = 256 anunciado pelo Host A por ser mais restritivo Pode evitar problemas em conexões como Velox que limitam o tamanho do pacote slide 102

66 MSS cabeçalho TCP dados TCP MSS cabeçalho enlace cabeçalho IP datagrama IP MTU dados do enlace quadro da camada de enlace dados IP CR C MSS = MTU 20 bytes (cabeçalho TCP) 20 bytes (cabeçalho IP) para não haver fragmentação do datagrama IP MSS default mínimo = 536 bytes, porque qualquer rede deve suportar pelo menos um datagrama IP de 576 bytes slide 103

67 Cenário Problemático MTU=1500 MTU=1500 A MTU=1500 MTU=256 MTU=256 MTU=1500 A R1 R2 SYN <MSS 1460> SYN <MSS 1460> Fragmentação ocorrerá entre R1 e R2. Como evitar isso? Path MTU discovery protocol: encontrar MTU mínimo numa rota Envia pacotes de controle de tamanho cada vez maior, com a indicação de não fragmentar (ICMP don t fragment no cabeçalho IP) Quando uma rota não pode repassar o pacote sem fragmentar, pacote de erro é retornado (ICMP can t fragment) Inicia com o menor entre os MSS trocados Para desempenho, evitar MSS default (536 bytes), pois pode encontrar um melhor valor (= MTU mínimo 40 bytes) slide 104

68 fechando uma conexão: cliente servidor cliente fecha socket: clientsocket.close(); fecha FIN etapa 1: sistema final do cliente envia segmento de controle TCP FIN ao servidor etapa 2: servidor recebe FIN, responde com ACK. Fecha conexão, envia FIN. espera temporizada fechado ACK FIN ACK fecha slide 105

69 etapa 3: cliente recebe FIN, responde com ACK entra em espera temporizada responderá com ACK aos FINs recebidos fechado cliente FIN ACK FIN servidor fechando etapa 4: servidor recebe ACK - conexão fechada Nota: Com pequena modificação, pode tratar de FINs simultâneos. espera temporizada fechado ACK fechado slide 106

70 ciclo de vida do servidor TCP ciclo de vida do cliente TCP slide 107

71 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 108

72 Princípios de controle de congestionamento 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 buffer nos roteadores) longos atrasos (enfileiramento nos buffers do roteador) um dos maiores problemas da rede! slide 109

73 Técnicas para controle de congestionamento duas técnicas amplas para controle de congestionamento: controle de congestionamento fim a fim: nenhum feedback explícito da rede congestionamento deduzido da perda e atraso observados do sistema final técnica tomada pelo TCP controle de congestionamento assistido pela rede: roteadores oferecem feedback aos sistemas finais único bit indicando congestionamento (SNA, DECbit, TCP/IP ECN, ATM) taxa explícita que o remetente deve enviar no enlace de saída slide 115

74 Capítulo 3: Esboço 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 Transporte não orientado para conexão: UDP 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado para conexão: TCP estrutura de segmento transferência confiável de dados controle de fluxo gerenciamento da conexão 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento no TCP slide 118

75 Controle de congestionamento TCP: busca por largura de banda procura por largura de banda : aumenta taxa de transmissão no recebimento do ACK até por fim ocorrer perda; depois diminui taxa de transmissão continua a aumentar no ACK, diminui na perda (pois largura de banda disponível está mudando, dependendo de outras conexões na rede) taxa de emissão ACKs sendo recebidos, de modo que aumenta taxa X X X X X perda e diminuição de taxa comportamento dente de serra do TCP slide 119 P: Com que velocidade aumentar/diminuir? detalhes a seguir tempo

76 Controle de congestionamento TCP: detalhes remetente limita taxa limitando número de bytes sem ACK na pipeline : LastByteSent-LastByteAcked cwnd cwnd: difere de rwnd (como, por quê?) remetente limitado por min(cwnd,rwnd) aproximadamente, taxa = cwnd RTT bytes/seg cwnd é dinâmico, função do congestionamento de rede percebido bytes cwnd RTT ACK(s) slide 120

77 Controle de congestionamento TCP: mais detalhes evento de perda de segmento: reduzindo cwnd timeout: sem resposta do destinatário corta cwnd para 1 3 ACKs duplicados: pelo menos alguns segmentos passando (lembre-se da retransmissão rápida) corta cwnd pela metade, menos agressivamente do que no timeout ACK recebido: aumenta cwnd fase de partida lenta: aumento exponencialmente rápido (apesar do nome) no início da conexão, ou após o timeout prevenção de congestionamento: aumento linear slide 121

78 Comportamento do TCP Vazão ocorre em dente de serra Janela de transmissão kbytes threshold inicial alto três acks duplicados Time-out threshold threshold threshold threshold threshold Referência slow start congestion avoidance slow start congestion avoidance tempo RFC2001, TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms, Janeiro 1997 slide 122

79 Partida lenta do TCP quando conexão começa, cwnd = 1 MSS exemplo: MSS = 500 bytes & RTT = 200 ms taxa inicial = 20 kbps largura de banda disponível pode ser >> MSS/RTT desejável subir rapidamente para taxa respeitável aumenta taxa exponencialmente até o primeiro evento de perda ou quando o patamar é alcançado cwnd duplo a cada RTT feito incrementando cwnd por 1 para cada ACK recebido RTT Hosp. A Hosp. B um segmento dois segmentos quatro segmentos tempo slide 123

80 Slow Start e Congestion Avoidance Slow Start Inicia com cwnd =1 (MSS) Incrementa cwnd de 1 MSS a cada ack recebido, ou seja, duplica a cada RTT, crescendo exponencialmente até alcançar threshold, e entrando em congestion avoidance Em slow start, temos cwnd < threshold cwnd threshold RTT 2RTT 3RTT tempo 4RTT 5RTT 6RTT 7RTT slide 124

81 Transição dentro/fora da partida rápida ssthresh: patamar de cwnd mantido pelo TCP um evento de perda: define ssthresh como cwnd/2 lembre-se (metade) da taxa TCP quando ocorreu perda de congestionamento quando transição de cwnd > = ssthresh: da partida lenta para fase de prevenção de congestionamento Λ cwnd = 1 MSS ssthresh = 64 KB dupackcount = 0 timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount = 0 retransmite segmento que falta duplicate ACK dupackcount++ partida lenta new ACK cwnd = cwnd+mss dupackcount = 0 transmite novos segmento(s), como permitido cwnd > ssthresh Λ timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount = 0 retransmite segmento que falta prevenção de congestionamento slide 125

82 Slow Start e Congestion Avoidance Congestion Avoidance A partir daí aumenta linearmente, incrementando de 1 MSS a cada RTT, ou seja, ao receber um ack incrementa cwnd de MSS/cnwd Incremento de cwnd pode não ser suficiente para permitir o envio de um pacote naquele instante Em congestion avoidance, cwnd threshold cwnd threshold RTT 2RTT 3RTT tempo 4RTT 5RTT 6RTT 7RTT slide 126

83 TCP: prevenção de congestionamento quando cwnd ssthresh cresce cwnd de forma linear aumenta cwnd em 1 MSS por RTT aborda possível congestionamento mais lento que na partida lenta implementação: cwnd = cwnd + MSS/cwnd para cada ACK recebido AIMD ACKs: aumenta cwnd em 1 MSS por RTT: aumento aditivo perda: corta cwnd ao meio (perda sem timeout detectado): diminuição multiplicativa AIMD: Additive Increase Multiplicative Decrease slide 127

84 FSM do controle de congestionamento TCP: visão geral perda: timeout partida lenta cwnd > ssthresh perda: timeout prevenção de cong. perda: 3dupACK perda: timeout recup. rápida novo ACK perda: 3dupACK slide 128

85 FSM do controle de congestionamento TCP: detalhes slide 129

86 Tipos populares de TCP slide 130

87 Resumo: controle de congestionamento TCP quando cwnd < ssthresh, remetente na fase de partida lenta, janela cresce exponencialmente. quando cwnd > = ssthresh, remetente está na fase de prevenção de congestionamento, janela cresce linearmente. quando ocorre o ACK duplicado triplo, ssthresh definido como cwnd/2, cwnd definido como ~ssthresh quando ocorre o timeout, ssthresh definido como cwnd/2, cwnd definido como 1 MSS. slide 131

88 Vazão do TCP P: Qual é a vazão média do TCP como função do tamanho da janela, RTT? ignorando partida lenta seja W o tamanho da janela quando ocorre a perda quando janela é W, a vazão é W/RTT logo após perda, janela cai para W/2, vazão para W/2RTT. após a vazão: 0,75 W/RTT slide 132

89 Futuros do TCP: TCP sobre pipes longos, gordos exemplo: segmentos de 1500 bytes, RTT de 100 ms, deseja vazão de 10 Gbps exige tamanho de janela W = segmentos no ar vazão em termos da taxa de perda: L = Uau! 1,22 MSS RTT novas versões do TCP para alta velocidade L slide 133

90 Equidade do TCP objetivo da equidade: se K sessões TCP compartilharem o mesmo enlace de gargalo da largura de banda R, cada uma deve ter uma taxa média de R/K conexão TCP 1 conexão TCP 2 capacidade de gargalo do roteador R slide 134

91 Por que o TCP é justo? duas sessões concorrentes: aumento aditivo dá inclinação 1, pois vazão aumenta diminuição multiplicativa diminui vazão proporcionalmente R compartilhamento de largura de banda igual Vazão da conexão 2 perda: diminui janela por fator de 2 prevenção de congestionamento: aumento aditivo perda: diminui janela por fator de 2 prevenção de cong.: aumento aditivo Vazão da conexão 1 R slide 135

92 Equidade (mais) equidade e UDP aplicações de multimídia normalmente não usam TCP não desejam que a taxa seja sufocada pelo controle de congestionamento em vez disso, use UDP: envia áudio/vídeo em taxa constante, tolera perdas de pacotes equidade e conexões TCP paralelas nada impede que a aplicação abra conexões paralelas entre 2 hospedeiros. navegadores Web fazem isso exemplo: enlace de taxa R admitindo 9 conexões; nova aplicação solicita 1 TCP, recebe taxa R/10 nova aplicação solicita 11 TCPs, recebe R/2! slide 136

93 Falta de Eqüidade com TCP Congestionamento afetando muitas ( > 100) conexões TCP pode levar a ineqüidade na captura da banda Conexões com RTT menor reagem mais rápido às perdas e estabelecem equilíbrio num ponto com vazão maior Referência: R. Morris, TCP Behavior with Many Flows, IEEE International Conference on Networks, Outubro 1997 slide 137

94 Capítulo 3: Resumo princípios por trás dos serviços da camada de transporte: multiplexação, demultiplexação transferência de dados confiável controle de fluxo controle de congestionamento instância e implementação na Internet UDP TCP Em seguida: saindo da borda da rede (camada de transportes da aplicação) no núcleo da rede slide 138

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 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

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 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

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

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

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

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

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

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

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

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 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

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

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

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

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

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: 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

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

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

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

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

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

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

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

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 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 Objetivos do capítulo: Entender os princípios por trás dos

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

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

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 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 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

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

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

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

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

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

Redes de Computadores Redes de Computadores Camada de Transporte - Parte II Prof. Thiago Dutra Agenda n Parte I n Introdução n Protocolos de Transporte Internet n Multiplexação e Demultiplexação n

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

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

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

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

: TMS M

: TMS M Infraestrutura de Redes de Computadores Turma : TMS 20171.3.01112.1M Camada de Transporte Prof. Thiago Dutra Agenda n Introdução n Protocolos de Transporte Internet n Multiplexação

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

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

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

GA-027 Redes de Computadores

GA-027 Redes de Computadores GA-027 Redes de Computadores Camada de Transporte Artur Ziviani LNCC/MCT Protocolos de transporte: Agenda Papel da camada de transporte Protocolo UDP Protocolo TCP Protocolos de transporte: Agenda Papel

Leia mais

Capítulo 6. A camada de transporte

Capítulo 6. A camada de transporte Capítulo 6 A camada de transporte slide 1 1 slide 2 Serviços fornecidos às camadas superiores As camadas de rede, transporte e aplicação. slide 3 Endereçamento TSAPs, NSAPs e conexões de transporte. slide

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

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

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

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

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

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

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

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

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

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

Redes de Computadores

Redes de Computadores Controle de s Redes de Computadores Controle de Aula 8 É o processo de garantir a entrega confiável dos dados, isto é, sem s, sem duplicação e entregues na ordem da emissão Fundamental para entrega confiável

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

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

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

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade. Funções da Os serviços oferecidos pelo protocolo IP não oferecem confiabilidade. Problemas comuns como congestionamento, perda ou ordenação de pacotes não são tratados. Entretanto as aplicações (HTTP,

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

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN Disciplina: Arquitetura de redes de computadores Professor: M. Sc. Rodrigo Ronner T. da Silva E-mail: rodrigo.tertulino@ifrn.edu.br

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

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

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

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

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

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

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

Redes de Computadores Redes de Computadores Camada de Transporte Parte I Prof. Thiago Dutra Agenda n Parte I n Introdução n Protocolos de Transporte Internet n Multiplexação e n UDP n Parte II n TCP

Leia mais

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

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP alexandref@ifes.edu.br Camada de Transporte 2 Camada de Transporte Função: Fornecer comunicação lógica entre processos de aplicação em diferentes hospedeiros. Os protocolos de transporte sã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

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

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

TCP - estabelecimento de conexão

TCP - estabelecimento de conexão TCP - estabelecimento de conexão Inicializa variáveis Números de sequência Buffers, RcvWindow 3-way handshake usado para eliminar o problema de duplicatas antigas (atrasadas) Ex.: pedidos de conexão, ACKs

Leia mais

Cap. 03 Camada de Transporte

Cap. 03 Camada de Transporte Cap. 03 Camada de Transporte 3.1 Introdução e Serviços 3.1.1 Camada de Transporte e de Redes 3.1.2 Visão Geral da Camada de Transporte 3.2 Multiplexação / Demultiplexaçã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: 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

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Macêdo Firmino Camada de Transporte Macêdo Firmino (IFRN) Redes de Computadores Setembro de 2011 1 / 61 Camada de Transporte Os protocolos dessa camada supervisionam o fluxo

Leia mais

Redes de Computadores

Redes de Computadores Nível de transporte Inst tituto de Info ormátic ca - UF FRGS s de Computadores Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons. Para visualizar uma cópia desta

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

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

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão Unidade 5 Camada de Transporte e Aplicação Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP

Leia mais

Aplicações de Redes de Computadores

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

Leia mais

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

Redes de Computadores e Telecomunicações - Camada de Transporte Redes de Computadores e Telecomunicações - Camada de Transporte Objetivos Motivação Os serviços oferecidos pelo protocolo IP não oferecem garantia de confiabilidade. Problemas como congestionamento, perda

Leia mais

Redes de Comunicações 2. Camada Transporte: TCP e UDP

Redes de Comunicações 2. Camada Transporte: TCP e UDP Capítulo 4 N O T A S D E A U L A, R E V 7.0 U E R J 2 0 1 8 F L Á V I O A L E N C A R D O R Ê G O B A R R O S Redes de Comunicações 2 Camada Transporte: TCP e UDP Flávio Alencar do Rego Barros Universidade

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

Redes de Computadores I Prof. Mateus Raeder

Redes de Computadores I Prof. Mateus Raeder Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Camada de Transporte É responsável pela transmissão lógica dos dados A camada de enlace é responsável

Leia mais

Capítulo 4: Camada de rede

Capítulo 4: Camada de rede Capítulo 4: Camada de Objetivos do capítulo: entender os princípios por trás dos serviços da camada de : modelos de serviço da camada de repasse versus roteamento como funciona um roteador roteamento (seleção

Leia mais

Jéfer Benedett Dörr

Jéfer Benedett Dörr Redes de Computadores Jéfer Benedett Dörr prof.jefer@gmail.com Conteúdo Camada 4 Camada de Transporte Objetivo Conhecer o funcionamento da camada de transporte; Apresentar os protocolos UDP e TCP; Aprender

Leia mais

Redes de computadores e a Internet. Capítulo3. Camada de transporte

Redes de computadores e a Internet. Capítulo3. Camada de transporte Redes de computadores e a Internet Capítulo Camada de transporte Pilha de protocolos da Internet M Aplicação Ht M Transporte Hr Ht M Rede Hr Ht M Enlace Mensagem Segmento Datagrama Quadro He Física -2

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

Funções da Camada de

Funções da Camada de Camada de Transporte Funções da Camada de Transporte Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores,

Leia mais

Prof. Marcelo Cunha Parte 6

Prof. Marcelo Cunha Parte 6 Prof. Marcelo Cunha Parte 6 www.marcelomachado.com ARP (Address Resolution Protocol) Protocolo responsável por fazer a conversão entre os endereços IPs e os endereços MAC da rede; Exemplo: Em uma rede

Leia mais

Protocolos de Interligação de Redes Locais e a Distância Protocolos de Transporte. Thiago Leite

Protocolos de Interligação de Redes Locais e a Distância Protocolos de Transporte. Thiago Leite Interligação de Redes Locais e a Distância Protocolos de Thiago Leite thiago.leite@udf.edu.br 1 Quadros (enlace), datagrama (rede) e segmento (transporte) 2 Funções da camada de transporte Transferência

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

Jéfer Benedett Dörr

Jéfer Benedett Dörr Redes de Computadores Jéfer Benedett Dörr prof.jefer@gmail.com Conteúdo Camada 4 Camada de Transporte/2 Objetivo Conhecer o funcionamento da camada de transporte; Apresentar os protocolos UDP e TCP; Aprender

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