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

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

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

Transcrição

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

2 Motivando... TCP is optimized for accurate delivery, rather than a timely one. This, as it turns out, also creates some challenges when it comes to optimizing for web performance in the browser. 3: Camada de Transporte 3a-2

3 Embora tenha-se alternativa in practice all HTTP traffic on the Internet today is delivered via TCP due to the many great and convenient features it provides out of the box. 3: Camada de Transporte 3a-3

4 A realidade é que: Because of this, understanding some of the core mechanisms of TCP is essential knowledge for building an optimized web experience. 3: Camada de Transporte 3a-4

5 Serviços e protocolos de transporte provê canal de comunicação lógico entre instâncias de uma aplicação executando em sistemas finais diferentes aplicação transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física aplicação transporte rede enlace física 3: Camada de Transporte 3a-5 transporte lógico fim a fim

6 Serviços...Como? Segurança TLS Restrição temporal Integridade Vazão 3: Camada de Transporte 3a-6

7 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 fluxo controle de congestionamento instanciação e implementação na Internet dos protocolos de transporte UDP TCP Resumo do Capítulo: serviços da camada de transporte multiplexação/demultiplexação transporte sem conexão: UDP princípios da transferência confiável de dados transporte orientado a conexão: TCP transferência confiável controle de fluxo gerenciamento de conexões princípios do controle de congestionamento controle de congestionamento usados no TCP 3: Camada de Transporte 3a-7

8 Serviços e protocolos de transporte provê canal lógico entre instâncias de uma aplicação, que em geral executam em SF diferentes protocolos de transporte executam em sistemas finais emissor: fragmenta a mensagem da aplicação em segmentos e os envia para a camada de rede; receptor: rearranja os segmentos em mensagens e os transmite para a camada de aplicação; Mais de um protocolo de transporte disponível para as aplicações Internet: TCP e UDP aplicação transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física aplicação transporte rede enlace física 3: Camada de Transporte 3a-8 transporte lógico fim a fim

9 Camada de Rede e Camada de Transporte camada de rede : comunicação lógica entre hosts ou sistemas; camada de transporte: comunicação lógica entre processos; A dimensão implementada é a Integridade (canal confiável) Depende e estende os serviços da camada de rede; 3: Camada de Transporte 3a-9

10 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 fluxo controle de congestionamento instanciação e implementação na Internet dos protocolos de transporte UDP TCP Resumo do Capítulo: serviços da camada de transporte multiplexação/demultiplexação transporte sem conexão: UDP princípios da transferência confiável de dados transporte orientado a conexão: TCP transferência confiável controle de fluxo gerenciamento de conexões princípios do controle de congestionamento controle de congestionamento usados no TCP 3: Camada de Transporte 3a-10

11 Multiplexação/demultiplexação obter dados dos diversos processos, envelopando-os com cabeçalho (usado depois para demultiplexação) Multiplexação no transmissor: Demultiplexação no receptor: entrega de segmentos recebidos para os devidos processos da camada de aplicação. 3: Camada de Transporte 3a-11

12 Como seria? Para o serviço de transporte não orientado a conexão: O que o SO precisa para identificar o processo que deve receber a mensagem no corpo do segmento? Lembre-se: o segmento já foi retirado do datagrama. E como seria para o serviço orientado a conexão? 3: Camada de Transporte 3a-12

13 Multiplexação/demultiplexação = socket aplicação P3 = processo P1 P1 aplicação P2 P4 aplicação transporte transporte transporte rede rede rede enlace enlace enlace física física física host 1 host 2 host 3 3: Camada de Transporte 3a-13

14 Os elementos da demultiplexação host recebe os datagramas IP Cada datagrama tem um endereço IP de origem e de destino; Cada datagrama carrega 1 segmento da camada de transporte; Cada segmento tem um número de porta de origem e um de destino 32 bits porta remetente porta receptor outros campos do cabeçalho lembrete: número de porta bem conhecido para aplicações específicas host usa o endereço IP e o número de porta para direcionar o segmento para o socket apropriado; dados da aplicação (mensagem) formato de segmento TCP/UDP 3: Camada de Transporte 3a-14

15 Demultiplexação não orientada a conexão Cria sockets com os números de porta DatagramSocket mysocket1 = new DatagramSocket(); DatagramSocket mysocket2 = new DatagramSocket(9157); Socket UDP identificado pela 2-tupla: (endereço IP destino, no porta destino) Quando o host recebe o segmento UDP: Verifica o número da porta de destino no segmento Direciona o segmento UDP para o socket correspondente ao número da porta; Datagramas IP com diferentes endereços IP de origem e/ou números de porta de origem são direcionados para o mesmo socket desde que... 3: Camada de Transporte 3a-15

16 Demultiplexação não orientada a conexão (cont) DatagramSocket serversocket = new DatagramSocket(6428); P2 P3 P1P1 SP: 6428 DP: 9157 SP: 6428 DP: 5775 client IP: A SP: 9157 DP: 6428 server IP: C SP: 5775 DP: 6428 Client IP:B SP provê endereço de retorno 3: Camada de Transporte 3a-16

17 Demultiplexação orientada a conexão Identificação do socket, 4-tupla: endereço IP de origem número da porta de origem endereço IP de destino número da porta de destino Hosts receptor usa estes valores da tupla para direcionar os segmentos para o socket apropriado host servidor deve suportar múltiplos sockets TCP simultaneamente: Cada socket é identificado por sua 4-tupla servidores Web tem diferentes sockets para cada cliente HTTP não persistente tem diferentes sockets para cada requisição 3: Camada de Transporte 3a-17

18 Demultiplexação orientada a conexão P3 P3 P4 P1P1 SP: 80 DP: 9157 SP: 80 DP: 5775 cliente IP: A SP: 9157 DP: 80 servidor IP: C SP: 5775 DP: 80 cliente IP:B 3: Camada de Transporte 3a-18

19 QUESTÕES Considere uma conexão de dados confiável. Suponha que um segmento que viaja do Sistema A para o Sistema B tem número de porta fonte x e número de porta destino y. Quais são as portas de origem e destino em um segmento que viaja de B para A? É possível para uma aplicação obter transferência confiável de dados se ela estiver usando o serviço de transferência não confiável da camada de transporte? 3: Camada de Transporte 3a-19

20 QUESTÕES(II) Supondo um processo em um sistema C esteja usando um socket com número de porta 6789 criado para uma comunicação não-orientada a conexão. Suponha que o sistema A e B envie segmentos para C destinada a porta Serão esses segmentos destinados ao mesmo socket? Se sim como o processo irá identificar a origem dos segmentos? 3: Camada de Transporte 3a-20

21 Atividade: Protocolo para a camada de transporte Tarefa: Projetar um protocolo para a camada de transporte que ofereça um serviço de transferência Não-confiável. Espera-se: Dinâmica de troca de mensagens pelas entidades que usam o protocolo; Formato das mensagens enviadas(msg requisição; msg resposta). 3: Camada de Transporte 3a-21

22 UDP: User Datagram Protocol [RFC 768] Protocolo de transporte da Internet mínimo Serviço melhor esforço, segmentos UDP podem ser: perdidos entregues à aplicação fora de ordem do envio sem conexão: não há setup UDP entre remetente, destinatário tratamento independente para cada segmento UDP 3: Camada de Transporte 3a-22

23 Motivando a existência do UDP Elimina estabelecimento de conexão Mínimo de Um RTT para iniciar a transmissão dos dados Simples: não se mantém estado da conexão no remetente/receptor Variáveis de controle, e buffers de transmissão e recepção Pequeno cabeçalho por segmento Controle fino no nível da aplicação Qual dado enviar? o mais novo repassado pela camada de aplicação Quando enviar? Ao final da montagem do segmento; 3: Camada de Transporte 3a-23

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

25 Checksum UDP Objetivo: detectar erro (e.g., bits invertidos) no segmento transmitido Remetente: trata conteúdo do segmento como seqüência de inteiros de 16-bits campo checksum zerado checksum: soma (adição usando complemento de 1) do conteúdo do segmento remetente coloca complemento do valor da soma no campo checksum de UDP Receptor: calcula checksum do segmento recebido verifica se checksum computado possui algum zero: SIM - erro detectado NÃO - nenhum erro detectado. 3: Camada de Transporte 3a-25

26 Checksum UDP: Cálculo Porta Orig. Porta Dest. CheckSum Comprime nto 3: Camada de Transporte 3a-26

27 Checksum UDP: Cálculo Porta Orig Porta Dest : Camada de Transporte 3a-27

28 Checksum UDP: Cálculo resultado anterior + Checksum Resultado anterior Checksum : Camada de Transporte 3a-28

29 Checksum UDP: Cálculo resultado anterior + Tamanho Resultado anterior Comprim ento CheckSum Compleme nto de Lembra do campo checksum zerado???? 3: Camada de Transporte 3a-29

30 Checksum UDP: Cálculo Porta Orig Port Dest Tamanho CheckSum Compleme nto de 1 Lembra do campo checksum zerado???? 3: Camada de Transporte 3a-30

31 Checksum UDP: Após o Cálculo Porta Orig Porta Dest CheckSum Tamanho 3: Camada de Transporte 3a-31

32 Checksum UDP: No destinatário Resultado Porta Orig+ Porta Dest Tamanho CheckSum : Camada de Transporte 3a-32

33 Checksum, pra quê? Já que existe serviço similar na camada de Enlace, então pra quê um serviço redundante? 3: Camada de Transporte 3a-33

34 Exercícios TFTP é um protocolo de transferência de arquivos simples que permite um cliente obter um arquivo ou transferir um arquivo para um servidor. Pesquise sobre esse protocolo e indique, analisando a sua dinâmica, por quê ele usa o UDP. Se fosse possível desligar o CHKSUM do UDP, que motivos/cenário o levaria a fazer isso? Existe um limite para o tamanho de um datagrama UDP(2^16) bytes. Como transferir arquivos maiores que isso USANDO o UDP? Em uma rede global, a transferência não confiável de dados do UDP está mais sujeita as perdas. De que forma pode-se reduzir as perdas? 3: Camada de Transporte 3a-34

35 Exercícios Considere uma aplicação dependente da rede de dados móvel. O arquiteto dessa aplicação considera a utilização do UDP como protocolo de transporte a ser usado. Apresente argumentos, baseado unicamente no cenário de rede de dados móvel, que ajudem o arquiteto a fechar em torno do UDP. 3: Camada de Transporte 3a-35

36 Qual o custo da apresentação? A transmissão de uma mensagem Atraso de processamento ( roteador ) Microsegundos ou menos Enfileiramento (volume de tráfego no roteador) Microsegundos - milissegundos Transmissão (canal de saída) Microsegundos Propagação no meio Milissegundos 3: Camada de Transporte 3a-36

37 Na prática: Da LocaWeb para o icomp traceroute to ( ), 30 hops max, 60 byte packets ( ) ms ( ) ms ( ) ms ( ) ms ms ms ( ) ms ( ) ms ms ( ) ms ( ) ms ms 5 as1916.saopaulo.sp.ix.br ( ) ms ( ) ms as1916.saopaulo.sp.ix.br ( ) ms 6 sp-sp2.bkb.rnp.br ( ) ms ms as1916.saopaulo.sp.ix.br ( ) ms 7 ce-rj.bkb.rnp.br ( ) ms ms ms ( ) ms ce-rj.bkb.rnp.br ( ) ms ms ( ) ms ma-ce-oi.bkb.rnp.br ( ) ms ms 10 ma-ce-oi.bkb.rnp.br ( ) ms pa-ma-oi.bkb.rnp.br ( ) ms ms 11 to-jto.bkb.rnp.br ( ) ms pa-ma-oi.bkb.rnp.br ( ) ms ms ( ) ms ms ms ( ) ms ms ms 3: Camada de Transporte 3a-37

38 Cuidados no uso do UDP Ponto de partida para definição de novos protocolos de transporte Omite consagrados mecanismos da transferência confiável implementada no TCP Aplicações com geração intensiva de tráfego baseadas no UDP devem implementar mecanismos de controle e prevenção de congestionamento Insensibilidade ao congestionamento pode gerar sobrecarga da rede e eventualmente o colapso por congestionamento 3: Camada de Transporte 3a-38

39 Para as aplicações que precisam ainda usar o UDP Deve tolerar uma grande variedade de condições distintas nos caminhos da Internet; Precisam controlar as taxas de transmissão; Precisam exercer controle de congestionamento; Precisam usar a banda passante de forma similar ao TCP; Precisam retroceder contadores de retransmissão após perdas; Precisam evitar o envio de datagramas que excedam o MTU do caminho; Precisam lidar com perda, duplicação e reordenação; Precisam ser robustos para entregas com atraso superior a 2 minutos; Precisam habilitar Ipv4 UDP checksum, e deve habilitar Ipv6 Checksum Melhor que usem keepalives quando necessário (interval mínimo 15s) 3: Camada de Transporte 3a-39

40 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 fluxo controle de congestionamento instanciação e implementação na Internet dos protocolos de transporte UDP TCP Resumo do Capítulo: serviços da camada de transporte multiplexação/demultiplexação transporte sem conexão: UDP princípios da transferência confiável de dados transporte orientado a conexão: TCP transferência confiável controle de fluxo gerenciamento de conexões princípios do controle de congestionamento controle de congestionamento usados no TCP 3: Camada de Transporte 3a-40

41 Uma máquina de estado Estado: caracteriza uma certa configuração da máquina; Evento: podem causar mudanças no estado da máquina; Ações: executadas quando ocorre a transição de um estado para outro; Transição é determinada unicamente pelo próximo evento evento causando transição de estados ações tomadas na transição de estado estado 1 evento ações estado 2 3: Camada de Transporte 3a-41

42 Qual a suposição???? Serviço: Transfer. Conf. Dados 3: Camada de Transporte 3a-43

43 Princípios de Transferência confiável de dados Serviço Prestado: MELHOR Esforço 3: Camada de Transporte 3a-44

44 Princípios de Transferência confiável de dados (rdt) importante pois outras camadas implementam o conceito; características do canal não confiável determinam a complexidade de um protocolo de transferência confiável de dados (rdt) 3: Camada de Transporte 3a-45

45 Transferência confiável de dados (rdt): Interfaces do protocolo rdt_send(): chamada de cima, (p.ex.,pela apl.). Dados recebidos p/ entregar à camada sup. do receptor deliver_data(): chamada por rdt p/ entregar dados p/ camada superior Lado Trans. Lado Recep. udt_send(): chamada por rdt, p/ transferir pacote pelo canal ñ confiável ao receptor rdt_rcv(): chamada quando pacote chega no lado receptor do canal 3: Camada de Transporte 3a-46

46 Transferência confiável de dados (rdt): A abordagem Desenvolver incrementalmente os lados remetente, receptor do protocolo RDT; Considerar apenas fluxo unidirecional de dados mas info de controle flui em ambos os sentidos! Usar máquinas de estados finitos (FSM) p/ especificar remetente, e receptor. 3: Camada de Transporte 3a-47

47 Transferência confiável de dados (rdt): Uma máquina de estado Estado: caracteriza uma certa configuração da máquina; Evento: podem causar mudanças no estado da máquina; Ações: executadas quando da transição de um estado para outro; Transição é determinada unicamente pelo próximo evento evento causando transição de estados ações tomadas na transição de estado estado 1 evento ações estado 2 3: Camada de Transporte 3a-48

48 Rdt1.0: transferência confiável usando um canal confiável canal subjacente é confiável não tem erros de bits; não tem perda de pacotes. FSMs separadas para remetente e receptor: remetente envia dados pelo canal subjacente receptor recebe dados do canal subjacente 3: Camada de Transporte 3a-49

49 Rdt2.0: canal com erros de bits canal subjacente pode inverter bits no pacote lembre-se: um checksum pode detectar erros de bits a questão: como recuperar dos erros? reconhecimentos (ACKs): receptor avisa explicitamente ao remetente que pacote chegou bem reconhecimentos negativos (NAKs): receptor avisa explicitamente ao remetente que pacote tinha erros remetente retransmite pacote ao receber um NAK ARQ(Automatic Repeat request). novos mecanismos em rdt2.0 (em relação ao rdt1.0): deteção de erros realimentação pelo receptor: msgs de controle (ACK,NAK) receptor- >remetente Retransmissão 3: Camada de Transporte 3a-50

50 rdt2.0: especificação da FSM FSM do remetente FSM do receptor 3: Camada de Transporte 3a-51

51 rdt2.0: especificação da FSM FSM do remetente FSM do receptor 3: Camada de Transporte 3a-52

52 rdt2.0: em ação (sem erros) FSM do remetente FSM do receptor 3: Camada de Transporte 3a-53

53 rdt2.0: em ação (com erro) FSM do remetente FSM do receptor 3: Camada de Transporte 3a-54

54 rdt2.0 tem uma falha fatal! O que acontece se ACK/NAK com erro? Remetente não sabe o que passou no receptor! não se pode apenas retransmitir: possibilidade de pacotes duplicados O que fazer? remetente usa ACKs/NAKs p/ ACK/NAK do receptor? E se perder ACK/NAK do remetente? Melhorar o procedimento de Checksum permitindo a correção do erro, mas o pacote pode se perde; retransmitir, mas pode causar retransmissão de pacote recebido corretamente! 3: Camada de Transporte 3a-55

55 rdt2.1, lidando com a duplicação! remetente inclui número de sequência para cada pacote; remetente retransmite pacote atual se ACK/NAK foi recebido com erro; receptor descarta (não entrega) pacote duplicado. receptor transmite ACK para pacotes duplicados; 3: Camada de Transporte 3a-56

56 rdt2.1: remetente, trata ACK/NAKs c/ erro 3: Camada de Transporte 3a-57

57 rdt2.1: remetente, trata ACK/NAKs c/ erro 3: Camada de Transporte 3a-58

58 rdt2.1: receptor, trata ACK/NAKs com erro 3: Camada de Transporte 3a-59

59 rdt2.1: receptor, trata ACK/NAKs com erro 3: Camada de Transporte 3a-60

60 rdt2.1: discussão Remetente: no. de seq no pacote bastam dois nros. de seq. (0,1). Por quê? deve checar se ACK/NAK recebido tinha erro duplicou o no. de estados estado deve lembrar se pacote corrente tem no. de seq. 0 ou 1. Receptor: deve checar se pacote recebido é duplicado estado indica se no. de seq. esperado é 0 ou 1 note: receptor não tem como saber se último ACK/NAK foi recebido bem pelo remetente 3: Camada de Transporte 3a-61

61 rdt2.2: um protocolo sem NAKs mesma funcionalidade que rdt2.1, só com ACKs ao invés de NAK, receptor envia ACK p/ último pacote recebido corretamente receptor deve incluir explicitamente no. de seq do pacote reconhecido ACK duplicado no remetente resulta na mesma ação que o NAK: retransmite pacote atual 3: Camada de Transporte 3a-62

62 rdt2.2: Protocolo sem NAKs remetente 3: Camada de Transporte 3a-63

63 rdt2.2: Protocolo sem NAK - Receptor 3: Camada de Transporte 3a-64

64 Para-e-Espera: canais com erros e perdas suposição: canal subjacente também pode perder pacotes (dados ou ACKs) checksum, no. de seq., ACKs, retransmissões podem ajudar, mas não serão suficientes P: como lidar com perdas? remetente espera até ter certeza que se perdeu pacote ou ACK, e então retransmite 3: Camada de Transporte 3a-65

65 Para-e-Espera: canais com erros e perdas Abordagem: remetente aguarda um tempo razoável pelo ACK retransmite se nenhum ACK for recebido neste intervalo se pacote (ou ACK) apenas estiver atrasado (e não perdido): retransmissão será duplicada, mas o uso de no. de seq. já cuida disto receptor deve especificar no. de seq do pacote sendo reconhecido requer temporizador 3: Camada de Transporte 3a-66

66 Para-e-espera: Remetente 3: Camada de Transporte 3a-67

67 Para-e-Espera: em ação 3: Camada de Transporte 3a-68

68 Desempenho de Para-e-Espera Algoritmo Funciona, porém seu desempenho é muito ruim exemplo: enlace de 1 Gbps, retardo fim a fim(a ida) de 15 ms, pacote de 1KB: T transmitir = L (tamanho do pacote - bits) R (taxa de transmissão, bps) = 8Kb 10**9 b/sec = 8 microsec U = transmissor L / R RTT + L / R = = (0.027%) Utilização: porcentagem/fração de tempo remetente está ocupado KB pac. de 1KB a cada ~30 mseg -> vazão de 33KB/seg num enlace de 1 Gbps protocolo limita uso dos recursos físicos! 3: Camada de Transporte 3a-69

69 A operação do para-e-espera bit primeiro pacote transmitido, t = 0 último bit transmitido, t = L / R emissor receptor RTT bit do primeiro pacote recebido último bit do pacote recebido, envia ACK ACK recebido, envia próximo pacote, t = RTT + L / R U L / R RTT + L / R = emissor = = : Camada de Transporte 3a-70

70 Protocolos dutados (pipelined) Dutagem (pipelining): remetente admite múltiplos pacotes em trânsito, ainda não reconhecidos 3: Camada de Transporte 3a-71

71 Pipelining: aumenta utilização emissor receptor bit primeiro pacote transmitido, t = 0 último bit transmitido, t = L / R RTT ACK recebido, envia próximo pacote, t = RTT + L / R primeiro bit do pacote recebido último bit recebido, envia ACK último bit do 2 o pacote recebido, envia ACK último bit do 3 o pacote recebido, envia ACK U 3*L / R RTT + L / R = emissor = Aumenta a utilização de um fator de 3 = microsegundos 3: Camada de Transporte 3a-72

72 Protocolos dutados (pipelined) Volta-N e Retransmissão seletiva. 3: Camada de Transporte 3a-73

73 Protocolos para dutagem Volta-N: visão geral Remetente pode ter até N pacotes Não-acks no pipeline Receptor envia somente acks acumulativos Não reconhece pacotes se existir espaço. Remetente tem timer para o pacote mais antigo enviado Se o timer expirar, retransmite todos os pacotes não acks. Retransmissão Seletiva: Visão geral Remetente pode ter até N pacotes Não-acks no pipeline; Receptor reconhece pacotes individualmente; Remetente mantém timer para cada pacote não-ack Quando o timer expirar retransmite somente pacotes Não-acks. 3: Camada de Transporte 3a-74

74 Volta N Remetente pode ter até N pacotes Não-acks no pipeline Receptor envia somente acks acumulativos Não reconhece pacotes se existir espaço. Remetente tem timer para o pacote mais antigo enviado Se o timer expirar, retransmite todos os pacotes não acks. 3: Camada de Transporte 3a-75

75 Volta-N Remetente: no. de seq. de k-bits no cabeçalho do pacote admite janela de até N pacotes consecutivos não reconhecidos ACK(n): reconhece todos pacotes, até e inclusive no. de seq n - ACK cumulativo pode receber ACKs duplicados (veja receptor) temporizador que serve para cada pacote em trânsito timeout(n): retransmite pacote n e todos os pacotes com no. de seq maiores na janela 3: Camada de Transporte 3a-76

76 Volta-N: FSM do remetente rdt_send(data) base=1 nextseqnum=1 rdt_rcv(rcvpkt) && corrupt(rcvpkt) 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 timeout start_timer udt_send(sndpkt[base]) udt_send(sndpkt[base+1]) udt_send(sndpkt[nextseqnum-1]) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) base = getacknum(rcvpkt)+1 If (base == nextseqnum) stop_timer else start_timer 3: Camada de Transporte 3a-77

77 Volta-N: FSM do receptor default udt_send(sndpkt) 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) udt_send(sndpkt) expectedseqnum++ receptor simples: usa apenas ACK: sempre envia ACK para pacote recebido bem com o maior no. de seq. em-ordem pode gerar ACKs duplicados só precisa se lembrar do expectedseqnum pacote fora de ordem: descarta (não armazena) -> receptor não usa buffers! manda ACK de pacote com maior no. de seq em-ordem 3: Camada de Transporte 3a-78

78 Volta-N em ação 3: Camada de Transporte 3a-79

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

80 Retransmissão seletiva: janelas de remetente, receptor 3: Camada de Transporte 3a-81

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

82 Retransmissão seletiva em ação 3: Camada de Transporte 3a-83

83 Para-e-Espera: em ação 3: Camada de Transporte 3a-84

84 Questões de Implementação Perdas e atrasos são tratados pelas mesmas idéias ACK Número de Sequência Timer Retransmissão Como tratar o tamanho da dutagem? Como determinar que pacote foi perdido? Que pacote deve ser retransmitido? O duto tem tamanho fixo? 3: Camada de Transporte 3a-85

85 Exercício Capture, identifique e explique a troca de mensagens entre dois hospedeiros que se comunicam utilizando o TCP. Considere: O Uso do wireshark para capturar as mensagens Aponte as mensagens de sincronização da conexão Houve restabelecimento da conexão? A conexão foi aceita na primeira tentativa? Qual o tamanho do duto? 3: Camada de Transporte 3a-86

86 Princípios de Transferência confiável de dados (rdt) importante pois outras camadas implementam o conceito; características do canal não confiável determinam a complexidade de um protocolo de transferência confiável de dados (rdt) 3: Camada de Transporte 3a-87

87 TCP: Visão geral RFCs: 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 de fluxo e congestionamento do TCP buffers de envio e recepção s o c k e t d o o r a p p l i c a t i o n w r i t e s d a t a T C P s e n d b u f f e r s e g m e n t a p p l i c a t i o n r e a d s d a t a T C P r e c e i v e b u f f e r s o c k e t d o o r transmissão full duplex: fluxo de dados bidirecional na mesma conexão MSS: tamanho máximo de segmento orientado a conexão: handshaking (troca de msgs de controle) inicia estado de remetente, receptor antes de trocar dados fluxo controlado: receptor não será sobrecarregado 3: Camada de Transporte 3a-88

88 TCP: estrutura do segmento URG: aviso de dados Urgentes (pouco usado) ACK: no. ACK válido PSH: Transf. Imediata Cam. aplic(pouco usado) RST, SYN, FIN: gestão de conexão (comandos de estabelecimento, liberação) checksum Internet (como UDP) 32 bits no. porta origem no. porta dest tam. cab. número de seqüência número de reconhecimento sem uso UA P R S F checksum dados da aplicação (tam. variável) janela receptor ptr dados urg. Opções (tam. variável) contagem de dados por bytes (não segmentos!) no. bytes rcpt quer aceitar 3: Camada de Transporte 3a-89

89 TCP: n o s. de seq. e ACKs N o s. de seq.: ACKs: número do byte, relativo ao fluxo, no segmento n o de seq do próx. byte esperado do outro lado Que tipo de ACK? P: como receptor trata segmentos fora da ordem? R: espec do TCP omissa - deixado ao implementador Estação A Estação B 3: Camada de Transporte 3a-90 Seq=43, ACK=80 Seq=79, ACK=43, data = C Usuário tecla C A reconhece chegada do C ecoado cenário simples de telnet B reconhece chegada de C, ecoa C de volta tempo Seq=42, ACK=79, data = C

90 TCP: Tempo de Resposta (RTT) RTT_estimado = (1- )* RTT_estimado + *RTT_amostra média móvel exponencialmente ponderada influência de cada amostra diminui exponencialmente com o tempo valor típico de : : Camada de Transporte 3a-91

91 TCP: Temporização Escolhendo o intervalo de temporização RTT_estimado mais uma margem de segurança variação grande em RTT_estimado -> margem de segurança maior Temporização = RTT_estimado + 4*Desvio Desvio = (1- )* Desvio + * RTT_amostra - RTT_estimado valor típico de : : Camada de Transporte 3a-92

92 3: Camada de Transporte 3a-93 medidas RTT RTT medio (alpha=0.875) Timeout (Beta = 0.25) timeout Estimado ICOMP - Google Medido Estimativa RTT e Cálculo do Timeout

93 TCP: transferência confiável de dados TCP cria serviço rdt sobre o serviço não confiável IP Utiliza pipeline para enviar segmentos ACKS cumulativos TCP usa temporizador para retransmissão Retransmissões são disparadas por: timeout Acks duplicados 3: Camada de Transporte 3a-94

94 Eventos dotcp emissor: Dados recebidos da aplic: Cria o segmento com n o de seq X seq X é o número do byte do fluxo no segmento Inicia o temporizador se ele não foi iniciado anteriormente Intervalo de expiração: TimeOutInterval timeout: Retransmite o segmento que causou o timeout Reinicializa o temporizador Ack recebido: Se reconhece segmentos não reconhecidos anteriormente Atualiza a informação sobre pacotes reconhedidos Inicia o temporizador se existem ainda segmentos não reconhecidos 3: Camada de Transporte 3a-95

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

96 Transferência confiável de dados Remetente TCP simplificado 00 sendbase = número de seqüência inicial 01 nextseqnum = número de seqüência inicial loop (forever) { 04 switch(event) 05 event: dados recebidos da aplicação acima 06 cria segmento TCP com número de seqüência nextseqnum 07 inicia temporizador para segmento nextseqnum 08 passa segmento para IP 09 nextseqnum = nextseqnum + comprimento(dados) 10 event: expirado temporizador de segmento c/ no. de seqüência y 11 retransmite segmento com número de seqüência y 12 calcula novo intervalo de temporização para segmento y 13 reinicia temporizador para número de seqüência y 14 event: ACK recebido, com valor de campo ACK de y 15 se (y > sendbase) { /* ACK cumulativo de todos dados até y */ 16 cancela temporizadores p/ segmentos c/ nos. de seqüência < y 17 sendbase = y 18 } 19 senão { /* é ACK duplicado para segmento já reconhecido */ 20 incrementa número de ACKs duplicados recebidos para y 21 if (número de ACKs duplicados recebidos para y == 3) { 22 /* TCP: retransmissão rápida */ 23 reenvia segmento com número de seqüência y 24 reinicia temporizador para número de seqüência y 25 } 26 } /* fim de loop forever */ 3: Camada de Transporte 3a-97

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

98 3: Camada de Transporte 3a-99 time Cenário de ACK cumulativo ACK=120 loss timeout Seq=100, 20 bytes data X ACK=100 Seq=92, 8 bytes data Host A Host B TCP: cenários de retransmissão (cont)

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

100 Fast Retransmit Período de timeout é geralmente longo: Longo atraso até a retransmissão do segmento perdido Detectar segmentos perdidos via ACKs duplicados Emissores geralmente enviam vários segmentos Se um segmento é perdido, provavelmente vão ser recebidos ACKs duplicados Se o emissor recebe 3 ACKs para o mesmo segmento, supõe que o segmento subseqüente foi perdido: fast retransmit: retransmite o segmento antes que o temporizador expire 3: Camada de Transporte 3a-101

101 t im e o u t Seq=92, 8 bytes de dado Seq=100, 20 bytes de dado X ACK=100 ACK=100 ACK=100 ACK=100 Seq=100, 20 bytes de dado fast retransmit após remetente receber triplo ACK Duplicado Transport Layer 3-102

102 Algoritmo Fast retransmit: evento: ACK recebido, com valor de ACK igual a y if(y > SendBase) { SendBase = y if (existem segmentos ainda não reconhecidos) inicializa o temporizador } else { incrementa o contador de ACKs duplicados para y if (contador de ACKs duplicados para y = 3) { retransmite o segmento com n o seq y } Um ACK duplicado para um segmento já reconhecido previamente fast retransmit 3: Camada de Transporte 3a-103

103 TCP: Controle de Fluxo Lado receptor de uma conexão TCP tem um buffer de recepção: controle de fluxo remetente não esgotaria buffers do receptor por transmitir muito, ou muito rapidamente Processo da aplicação pode ser lento para retirar os dados do buffer Serviço de compatibilização de velocidades: compatibilizar a taxa de envio do emissor com a taxa de recebimento dos dados pela aplicação no receptor 3: Camada de Transporte 3a-104

104 TCP: estrutura do segmento 32 bits no. porta origem no. porta dest tam. cab. número de seqüência número de reconhecimento sem uso UA P R S F checksum janela receptor ptr dados urg. Opções (tam. variável) no. bytes rcpt quer aceitar dados da aplicação (tam. variável) 3: Camada de Transporte 3a-105

105 Controle de Fluxo TCP: como funciona? (Suponha que o TCP receptor descarte pacotes fora de ordem) = RcvWindow = RcvBuffer-[LastByteRcvd - LastByteRead] receptor: explicitamente avisa o remetente da quantidade de espaço livre disponível (muda dinamicamente) campo RcvWindow no segmento TCP remetente: mantém a quantidade de dados transmitidos, porém ainda não reconhecidos, menor que o valor mais recente de RcvWindow Garante que não tenha overflow no buffer do receptor 3: Camada de Transporte 3a-106

106 TCP: Gerenciamento de Conexões Lembrete: Remetente, receptor TCP estabelecem conexão antes de trocar segmentos de dados inicializam variáveis TCP: nos. de seq. buffers, info s/ controle de fluxo (p.ex. RcvWindow) cliente: iniciador de conexão Socket clientsocket = new Socket("hostname","port number"); servidor: contactado por cliente Socket connectionsocket = welcomesocket.accept(); Inicialização em 3 tempos: Passo 1: sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no. inicial de seq sem dados Passo 2: sistema servidor recebe SYN, responde com segmento de controle SYNACK aloca buffers especifica no. inicial de seq. Passo 3: sistema cliente recebe SYNACK, responde com um segmento de ACK, que pode conter dados 3: Camada de Transporte 3a-107

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

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

109 TCP: Gerenciamento de Conexões (cont.) Ciclo de vida de servidor TCP Ciclo de vida de cliente TCP 3: Camada de Transporte 3a-110

110 Princípios de Controle de Congestionamento 3: Camada de Transporte 3a-111

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

112 Controle de Congestionamento 20 Questões!!! Problema de Otimização (NUM) TCP Tahoe (1988) e Reno (fast recover) soluções para NUM específico Outras versões: TCP Vegas(1995), FAST TCP(2002), CUBIC (2005) 3: Camada de Transporte 3a-113

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

114 TCP: Controle de Congestionamento controle fim a fim (sem apoio da rede) taxa de transmissão limitada pela tamanho da janela de congestionamento: LastByteSent-LastByteAcked Min{CongWin, RcvWin} CongWin é dinâmica, e é função do congestionamento na rede; Como TCP detecta congestionamento? Evento de perda = timeout ou 3 acks duplicados TCP emissor reduz taxa de transmissão (CongWin) depois de um evento de perda Três mecanismos: AIMD Partida lenta Prevenção de congestionamento 3: Camada de Transporte 3a-125

115 TCP: Controle de Congestionamento Congwin w segmentos, cada um c/ MSS bytes, enviados por RTT: Vazão = w * MSS RTT Bytes/sec 3: Camada de Transporte 3a-126

116 TCP: Controle de Congestionamento sondagem para banda utilizável: O ideal: transmitir o mais rápido possível (Congwin o máximo possível) sem perder pacotes aumentar Congwin até perder pacotes (congestionamento) perdas: diminui Congwin, depois volta a à sondagem (aumento) novamente duas fases partida lenta Prevenção de congestionamento variáveis importantes: Congwin threshold: define limiar entre fases de partida lenta, controle de congestionamento 3: Camada de Transporte 3a-127

117 Os mecanismos: AIMD Multiplicative Decrease (decréscimo multiplicativo: reduz CongWin pela metade depois de um evento de perda 2 4 K b y t e s c o n g e s t i o n w i n d o w Additive Increase (crescimento aditivo): aumenta CongWin de 1 MSS a cada RTT na ausência de um evento de perda: probing 1 6 K b y t e s 8 K b y t e s t i m e Conexão TCP de longa duração 3: Camada de Transporte 3a-128

118 Os mecanismos: Partida lenta Quando a conexão começa, CongWin = 1 MSS Exemplo: MSS = 1460 bytes & RTT = 200 msec Taxa inicial = 7.3 kbps A banda disponível deve ser >> MSS/RTT Quando a conexão começa, aumenta a taxa exponencialmente até o primeiro evento de perda Resumo: taxa inicial baixa, mais cresce rapidamente (crescimento exponencial) 3: Camada de Transporte 3a-129

119 Dobra CongWin a cada RTT, através do incremento de CongWin, a cada ACK recebido 3: Camada de Transporte 3a-130 tempo Quando a conexão começa, aumenta a taxa exponencialmente até que ocorra uma perda quatro segmentos inicializa: Congwin = 1 for (cada segmento c/ ACK) Congwin++ until (evento de perda OR CongWin > threshold) dois segmentos RTT um segmento Algoritmo Partida Lenta Estação A Estação B Os mecanismos: Partida lenta

120 Refinamento: TCP Reno Depois de 3 DupACKs: CongWin é reduzida a metade Janela cresce linearmente Mas depois de um evento de timeout: CongWin é reduzida a 1 MSS; Janela cresce exponencialmente até o valor do threshold, e depois cresce linearmente Filosofia: ü o recebimento de 3 ACKs duplicados indica que a rede tem condição de transmitir alguns segmentos üocorrência de timeout antes de 3 ACKs duplicados é mais alarmante 3: Camada de Transporte 3a-131

121 Refinamento (mais) Q: Quando o crescimento deve mudar de exponencial para linear? A: Quando CongWin atinge 1/2 do seu valor antes do timeout. Implementação: Threshold variável Quando ocorre uma perda, faz-se Threshold = CongWin/2 3: Camada de Transporte 3a-132

122 Os mecanismos: Prevenção do Congestionamento prevenção congestionamento /* partida lenta acabou */ /* Congwin > threshold */ Until (event de perda) { cada w segmentos reconhecidos: Congwin++ } threshold = Congwin/2 Congwin = 1 faça partida lenta 1 1: TCP Reno pula partida lenta (recuperação rápida) depois de três ACKs duplicados 3: Camada de Transporte 3a-133

123 Resumo: Controle de Congestionamento Quando CongWin está abaixo do Threshold, o emissor está na fase de partida lenta, e a janela cresce exponencialmente Quando CongWin está acima do Threshold, o emissor está na fase de prevenção de congestionamento, e a janela cresce linearmente Quando são recebidos três ACK duplicados, faz-se Threshold = CongWin/2 e CongWin = Threshold. Quando ocorre um timeout, faz-se Threshold = CongWin/2 e CongWin = 1 MSS. 3: Camada de Transporte 3a-134

124 Resumo: Princípios Controle fim-a-fim via retorno negativo Inferido por ACK duplicado e temporizadores Controle baseado em janela deslizante Aumento e redução do tamanho da janela controla a taxa de dados Aumento aditivo e redução multiplicativa Evita congestionamento sendo conservador Infere congestionamento pela perda ou atraso de pacotes 3: Camada de Transporte 3a-135 Estima perda e atraso de pacotes usando

125 Eqüidade TCP Meta de eqüidade: se N sessões TCP compartilham o mesmo enlace de gargalo, cada uma deve ganhar 1/N da capacidade do enlace TCP conexão 1 TCP conexão 2 Roteador gargalo capacidade R 3: Camada de Transporte 3a-136

126 Por quê TCP é justo? Duas sessões concorrentes: Aumento aditivo dá gradiente de 1, enquanto vazão aumenta decrementa multiplicativa diminui vazão proporcionalmente R compartilhamento igual da banda Vazão da conexão 1 R 3: Camada de Transporte 3a-137 Vazão da conexão 2 perda: diminui janela por fator de 2 evitar congestionamento: aumento aditivo perda: diminui janela por fator de 2 evitar congestionamento: aumento aditivo

127 Eqüidade (mais) Eqüidade e UDP Aplic. Multimídia geralmente não usam TCP Não desejam que a taxa seja reduzida pelo controle de congestionamento Geralmente usam UDP: audio/video a taxa constante, toleram perdas de pacotes Área de pesquisa: TCP friendly Eqüidade e conexões TCP paralelas Nada previne que aplic. abram várias conexões simultânceas entre os 2 hosts; Browsers fazem isto Exemplo: enlace com taxa igual a R, com 9 conexões; Nova aplic. requer uma conexão TCP, recebe R/10 da taxa Nova aplic. requer 11 conexões TCP, recebe R/2 da taxa 3: Camada de Transporte 3a-138

128 TCP: modelagem de latência P: Quanto tempo custa para receber um objeto de um servidor WWW depois de enviar o pedido? Ignorando o congestionamento, a latência é influenciada por: Estabelecimento de conexão TCP retardo de transferência de dados Slow start Notação, suposições: Supomos um enlace entre cliente e servidor de taxa R Supomos: janela de congestionamento fixo, W segmentos S: MSS (bits) O: tamanho do objeto (bits) sem retransmissões (sem perdas, sem erros) Tamanho da janela: Assume-se: janela de transmissão fixa, igual a w segmentos; Depois janelas dinâmicas, modelando slow start 3: Camada de Transporte 3a-139

129 Janela de congestionamento de tamanho fixo (1) Primeiro caso: WS/R > RTT + S/R: ACK do primeiro segmento na janela chega antes de enviar todos dados na janela latência = 2RTT + O/R 3: Camada de Transporte 3a-140

130 Janela de congestionamento de tamanho fixo (2) Segundo caso: WS/R < RTT + S/R: aguarda ACK depois de enviar todos os dados na janela latência = 2RTT + O/R + (K-1)[S/R + RTT - WS/R] 3: Camada de Transporte 3a-141

131 TCP: modelagem de latência: Slow Start(1) Agora supomos que a janela cresce de acordo com o algoritmo de Slow Start. Mostramos que a latência de um objeto de tamanho O é: Latência=2RTT O R P [ RTT S R ] 2P 1 S R Onde: - P é o número de vezes TCP para no servidor: P=min{Q, K 1} - onde Q é o número de vezes que o servidor pararia se o objeto fosse de tamanho infinito. - e K é o número de janelas que cobrem o objeto. 3: Camada de Transporte 3a-142

132 TCP: modelagem de latência: Slow Start(2) Exemplo: O/S = 15 segmentos K = 4 janelas Q = 2 P = min{k-1,q} = 2 i n i t i a t e T C P c o n n e c t i o n r e q u e s t o b j e c t R T T f i r s t w i n d o w = S / R s e c o n d w i n d o w = 2 S / R Servidor para P=2 vezes Componentes da Latência: t h i r d w i n d o w = 4 S / R 2 RTT for connection estab and request f o u r t h w i n d o w = 8 S / R O/R to transmit object time server idles due to slow start o b j e c t d e l i v e r e d c o m p l e t e t r a n s m i s s i o n Servidor para: P = min{k-1,q} vezes t i m e a t c l i e n t t i m e a t s e r v e r 3: Camada de Transporte 3a-143

133 S R TCP: modelagem de latência: (3) RTT tempo quando o servidor inicia o envio do segmento até quando o servidor recebe reconhecimento k 2 1 S R S k R RTT tempo para enviar a k-ésima janela 2 1 S R tempo de bloqueio após a k-ésima janela inicia conexão TCP pede objeto RTT primeira janela = S/R segunda janela = 2S/R terceira janela = 4S/R latencia O R O R O R 2 RTT 2 RTT 2 RTT p k P P 1 1 TempoBloqueio S [ R P [ RTT RTT S ] R 2 k (2 P 1 p S ] R 1) S R objeto entregue tempo no cliente tempo no servidor quarta janela = 8S/R transmissão completa 3: Camada de Transporte 3a-144

134 Modelagem HTTP Assuma que páginas Web consistem de: 1 página HTML base (com tamanho igual a O bits) M imagens (cada uma com O bits) HTTP não-persistente : M+1 conexões TCP em série Tempo de resposta = (M+1)O/R + (M+1)2RTT + soma dos períodos de inatividade HTTP persistente : 2 RTT para requisitar e receber o arquivo base HTML 1 RTT para requisitar e receber M imagens Tempo de resposta = (M+1)O/R + 3RTT + soma dos períodos de inatividade HTTP não-persistente com X conexões paralelas 1 TCP conexão para o arquivo base M/X conjuntos de conexões paralelas para as imagens Tempo de resposta = (M+1)O/R + (M/X + 1)2RTT + soma dos períodos de inatividade 3: Camada de Transporte 3a-145

135 HTTP: tempo de resposta (em segundos) RTT = 100 msec, O = 5 Kbytes, M=10 e X= Kbps 100 Kbps 1 Mbps 10 Mbps não-persistente persistente paralela nãopersistente Para redes com valores de banda baixos, o tempo de conexão e resposta e domindado pelo tempo de transmissão Conexões persistentes não apresentam melhora significativa em relação a conexões paralelas 3: Camada de Transporte 3a-146

136 HTTP: tempo de resposta (em segundos) RTT =1 seg, O = 5 Kbytes, M=10 e X= não-persistente persistente paralela nãopersistente 0 28 Kbps 100 Kbps 1 Mbps 10 Mbps Para valores grandes de RTT, o tempo de resposta é dominado pelo atraso do estabelecimento da conexão e slow start. Conexões persistentes possibilita uma melhora importante para a redução do atraso: particularmente em redes com grandes valores de atrasoxbanda (delay bandwidth) 3: Camada de Transporte 3a-147

137 Capítulo 3: Resumo Princípios atrás dos serviços da camada de transporte: multiplexação/ demultiplexação transferência confiável de dados controle de fluxo controle de congestionamento instanciação e implementação na Internet UDP TCP Próximo capítulo: saímos da borda da rede (camadas de aplicação e transporte) entramos no núcleo da rede 3: Camada de Transporte 3a-148

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

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

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

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 que guiam os serviços da camada de transporte: multiplexação/ demultiplexação transferência confiável de dados controle de

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Serviços da camada de transporte

Serviços da camada de transporte 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

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

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

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

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

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

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

Curso de Redes de Computadores

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

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

Curso de Redes de Computadores

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

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

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

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

TCP / IP. Marcos Monteiro, MBA, ITIL V3, Perito computacional Forense. http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.

TCP / IP. Marcos Monteiro, MBA, ITIL V3, Perito computacional Forense. http://www.marcosmonteiro.com.br contato@marcosmonteiro.com. TCP / IP Marcos Monteiro, MBA, ITIL V3, Perito computacional Forense http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br A Internet nasceu da internet 2 História História da comunicação da Internet

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

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

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