Redes de Computadores Problemas Resolvidos {RC-ProblemasResolvidos.doc}

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

Download "Redes de Computadores Problemas Resolvidos {RC-ProblemasResolvidos.doc}"

Transcrição

1 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 1/41 Redes de Computadores Problemas Resolvidos {RC-ProblemasResolvidos.doc} Introdução 1. Suponha que 40 utilizadores partilham uma ligação de capacidade 1 Mbps. Cada utilizador transmite ao ritmo de 100 Kbps, mas só está activo 10% do tempo Admitindo que se usa a tecnologia de comutação de circuitos, quantos utilizadores simultâneos podem ser aceites? Admitindo que se usa a tecnologia de comutação de pacotes, o que acontece quando se admitem no sistema mais de 10 utilizadores? Escreva uma expressão para a probabilidade de 11 ou mais utilizadores estarem activos simultâneamente (admita que os utilizadores são independentes entre si). O contexto do problema é o da partilha da capacidade de comunicação de uma ligação por vários utilizadores; para o efeito, são consideradas duas alternativas: Em comutação de circuitos, a capacidade total de transmissão é dividida em vários canais simultâneos, cfr figura MeshedNets01.b! As técnicas utilizadas comummente são FDM (Multiplexagem por Divisão da Frequência) e TDM (Mutiplexagem por Divisão do Tempo). A pedido, e por um algum período de tempo, cada canal é cedido, em exclusivo, a cada utilizador: durante esse tempo, ele dispõe de toda a capacidade desse canal; no fim, liberta-o, e ele poderá subsequentemente ser aproveitado por algum outro utilizador; por ex., na figura, o canal 2 é por algum tempo - entre T 0 e T 1 - utilizado pelo utilizador "1", a que se segue um período de silêncio - até T 2 -, após o que é utilizado pelo utilizador "5" (o leitor poderá reparar que o sistema telefónico tradicional funciona exactamente nestes termos). No caso em apreço, um utilizador está activo 10% do tempo; considerando um período de 24 horas, isso volve-se em 144 minutos diários. Podemos entrever um utilizador estabelecer uma comunicação pelas 21:00, e prolongá-la até às 23:24 Durante esse tempo, precisa que lhe seja cedido um canal de 100 Kbps pelo que fica disponível para outros utilizadores um total de 1Mbps Kbps = 900 Kbps Então, nada impede que algum outro utilizador possa por seu turno estabelecer uma conversação, seja pelas 21:15 Ele também irá utilizar utilizar um canal de 100 Kbps; mas ainda assim ficará sobrando para os outros utilizadores um total de 1Mbps - 2 * 100 Kbps = 800 Kbps Quer dizer: é possível que outros utilizadores venham a estabelecer comunicações, seja nos instantes 21:18, 21:30, etc. À medida que mais comunicações se estabelecem, menos capacidade irá ficando disponível Se ninguém terminar, passará sucessivamente para 700, 600, Kbps. Qual o instante em que nenhum outro utilizador mais poderá estabelecer uma nova comunicação? Será, naturalmente, o instante em que o que ficar disponível advir insuficiente para um novo utilizador, isto é, se tornar inferior a 100 Kbps Isso ocorre quando N Utilizadores = 1 Mbps / 100 Kbps = 10: este é o número máximo de utilizadores simultâneos que podem ser aceites. Mas, sendo de 40 o número de utilizadores, o que acontecerá aos restantes 30? Muito simplesmente, isto: vão ter que aguardar O primeiro utilizador irá terminar a sua conversação pelas 23:24; então, logo após, o canal que estava utilizando ficará disponível - e por conseguinte, poderá de imediato ser desencadeada uma nova conversação por outro utilizador O leitor poderá verificar que, fixando o período de observação em T segs, - 1) a capacidade da ligação (1 Mbps) se pode dividir em 10 canais (de 100 Kbps cada); - 2) cada um deles pode ser utilizado durante T segs; - 3) cada utilizador necessita utilizar a ligação durante 10%*T segs; - por conseguinte, o total de utilizadores que pode ao longo de T segs vir a utilizar a ligação monta a 10 * T / (0,1*T) = o que é bem maior que os 40 referidos no enunciado

2 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 2/41 Em comutação de pacotes, a capacidade total de transmissão é toda ela atribuída a cada utilizador, dinâmicamente, cfr fig MeshedtNets01.c. A pedido, e por um algum período de tempo, ele dispõe de toda a capacidade da ligação; no fim, liberta-a, e ela poderá subsequentemente ser aproveitada por algum outro utilizador (o leitor poderá reparar que o sistema telegráfico tradicional funcionava exactamente nestes termos). Em cada segundo, a ligação pode transferir um total de até 1 Mbit; contribuindo cada utilizador activo com um total de 100 Kbit, então haverá um problema se forem admitidos simultâneamente ao sistema mais de 10 utilizadores: a quantidade de informação que lhe é apresentada irá ultrapassar 10*100 Kbps=1Mbps, isto é, irá exceder a sua capacidade "de escoamento": irão formar-se filas de informação à entrada do sistema, para armazenar temporariamente o pico de informação momentaneamente gerado pelo conjunto dos utilizadores. Qual é a probabilidade de isso acontecer? Será, naturalmente, a probabilidade de 11 ou mais dos utilizadores advirem activos simultâneamente. O leitor poderá verificar facilmente que a probabilidade - 1) de um utilizador activo é p activo =10%=0,1-2) de um utilizador estar inactivo é p inactivo =90%=0,9-3) de nenhum dos 40 utilizadores estar activo (ou todos estarem inactivos) é P 0 = 0,9 * * 0,9 = 0,9 40-4) de 1 dos utilizadores estar activo e os restantes 39 estarem inactivos é P 1 = C 40 1 * 0,1 * 0,9 39-5) de i dos utilizadores estarem activos e os restantes 40-i estarem inactivos é P 1 = C 40 i * 0,1 i * 0,9 40-i - 6) de 0 ou 1 ou 2 ou 3 ou 10 dos utilizadores estarem activos é P <11 =P 0 +P 1 +P 2 + P 10-7) de 11 ou 12 ou 13 ou 14 ou 40 dos utilizadores estarem activos é 1- P <11 2. Considere uma ligação entre dois computadores, A e B, com uma capacidade de 10 Mbps. Suponha que a distância entre os dois computadores é de 10 Km e que a velocidade de propagação na linha é de 2,5 * 10 8 m/s. Suponha que A envia um pacote de 300 bits. O tempo de processamento e de atraso nas filas de espera é desprezável Qual é o atraso extremo a extremo para o pacote transmitido (entre o instante em que A envia o primeiro bit e o instante em que B recebe o último bit do pacote)? A que distância de A se encontra o primeiro bit do pacote quando se termina o envio do último bit? Suponha que,no caminho de A para B, e a 5 Km de A, se introduz um nó de comutação "store-andforward". Para esta nova configuração, qual o atraso extremo a extremo do pacote? O diagrama temporal correspondente à situação descrita encontra-se esquematizado em MeshedNets02.a. Foi tido em consideração o seguinte: O primeiro bit do pacote é enviado no instante T 0 - que, sem perda de generalidade, se assume ser T 0 =0 seg; e logo após o 2º, 3º, e assim por diante; até que, em T 1, se dá por terminado o envio do último bit do pacote. Qual o valor de T 1? Para o seu cálculo, há que ter em conta dois factores: por um lado, a capacidade de transmissão da ligação, isto é, o ritmo a que o meio é capaz de aceitar bits - e que no caso é de 10 Mbps; por outro lado, a dimensão do pacote - e que no caso é de 300 bit. O raciocínio subsequente é trivial: se, em cada segundo, a ligação é capaz de aceitar 10 Mbit, quanto tempo é requerido para aceitar 300 bit? a resposta é 300/10 7 seg: o termo do envio do último bit do pacote acontece exactamente T xmt =30 µseg após ter começado o envio do primeiro bit. O primeiro bit (e bem assim todos os outros) propaga-se a 2,5*10 8 m/seg; com o que, no instante T 2, estará chegando a B. Qual o valor de T 2? Para o seu cálculo, há que ter em conta dois factores: por um lado, a velocidade de propagação da ligação, isto é, o ritmo a que a ligação transfere os bits - e que no caso é 2,5 * 10 8 m/s; por outro lado, o comprimento da ligação - e que no caso é de 10 Km. O raciocínio subsequente é trivial: se, em cada segundo, um bit se move 2,5 * 10 8 m, quanto tempo é requerido para se mover 10 Km? a resposta é 10*10 3 /(2,5 * 10 8 )seg: a chegada de um bit do pacote a B acontece exactamente T prop =40 µseg após ter começado o envio desse bit a partir de A. T xmt e T prop designam-se, respectivamente, de Tempo-de-Transmissão e Tempo-de-Propagação.

3 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 3/41 (Abra-se um parêntesis para uma comparação com uma situação do quotidiano: o leitor já terá experimentado tapetes ou escadas rolantes Admita que se encontra com mais alguns amigos, num dos extremos, seja A, de um tapete rolante e que se interroga: quanto tempo é necessário para todos chegarem ao outro extremo, seja B? isto é, quanto tempo irá decorrer entre o instante em que o primeiro se atreve a pôr um pé no tapete, em A, e o momento em que o último amigo abandona o tapete, em B? O raciocínio é análogo ao desenvolvido acima, e bem assim o diagrama temporal, com as adaptações necessárias: agora, o que conta é a velocidade de "propagação" do tapete, o comprimento do tapete, o número de amigos envolvidos, e a capacidade do tapete (nomeadamente, um tapete em que podem ir duas pessoas ombro-a-ombro tem uma capacidade maior do que um mais estreitinho onde a alguém mais encorpado não seria trivial aventurar-se ) A partir do diagrama temporal, as respostas às questões volvem-se em simples geometria euclideana: 1) o atraso extremo a extremo, isto é, entre T 0 e T 3 será: [T 0 a T 2 ]+[T 2 a T 3 ]=T Propagação +T Transmissão =40+30=70 µseg; 2) quando se termina o envio do último bit, isto é, em T 1, o primeiro bit já se encontra à distância E de A; posto que T xmt =30 µseg, e c=2,5*10 8 m/seg, então E=T xmt *c=7500 m. 3) a terceira alínea envolve a introdução de um nó de comutação entre A e B - pelo que o diagrama acima já não é aplicável! Então, que fazer? Utilizar o mesmo método acima, e que é: começar por desenhar o pertinente diagrama temporal! Agora, o pacote é primeiramente enviado para o nó "store-and-forward". O diagrama temporal entre A e esse nó é semelhante ao anterior, entre A e B, com as devidas adaptações, cfr fig MeshedtNets02.b: o primeiro e último bits chegam ao nó respectivamente nos instantes T 4 e T 5. Logo após aí ter chegado o último bit, isto é, em T 5, desencadeia-se o envio do pacote para B; o diagrama temporal entre o nó e B é também semelhante ao anterior, com as devidas adaptações: o primeiro e último bits partem do nó respectivamente nos instantes T 5 e T 6. A partir do diagrama temporal, as respostas às questões volvem-se em simples geometria euclideana: para facilitar, prolonga-se a tracejado a linha que representa a trajectória do 1º bit até ao nó; seja I o ponto de intersecção desse tracejado com a vertical em B. O atraso extremo-a-extremo, isto é, entre T 0 e T 3 será o somatório dos atrasos: [T 0 a I] + [I a T 2 ] + [T 2 a T 3 ], ou seja: T Propagação +2*T Transmissão =40+2*30=100 µseg; 3. Considere o envio de um ficheiro com F=M*L bits por um caminho com Q ligações. Cada ligação tem débito R bit/seg. A rede está pouco carregada, pelo que não há atrasos em filas de espera. Os atrasos de propagação são igualmente desprezáveis. Quando se usa uma qualquer tecnologia de comutação de pacotes, assume-se que o ficheiro é segmentado em M pacotes, cada qual com L bits. Para cada uma das alternativas seguintes, quanto tempo demora a transferência do ficheiro? Suponha que usa tecnologia de comutação de pacotes por circuitos virtuais. O tempo necessário ao estabelecimento de um VC é t s segundos. Cada pacote tem um cabeçalho de h bits Suponha que usa tecnologia de comutação de pacotes por datagramas. Cada pacote tem um cabeçalho de 2h bits. Comente a hipótese de o cabeçalho dos pacotes em datagrama ser maior do que o cabeçalho em circuitos virtuais Suponha que usa tecnologia de comutação de mensagens. As mensagens têm um cabeçalho de 2h bits Suponha que usa tecnologia de comutação de circuitos. O tempo necessário ao estabelecimento de um circuito é t s segundos, e são necessários h bits de cabeçalho para transferir o ficheiro. Conforme ao método seguido na resolução de problemas anteriores similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. No tocante à primeira alínea, cfr MeshedNets03, foi tido em consideração o seguinte: Antes de mais, é necessário estabelecer um circuito virtual. Ele envolve a troca das pertinentes mensagens call/accept, entre os instantes T 0 e T 1, em que, conforme ao enunciado, T 1 - T 0 = t s. No instante T 1, é enviado o primeiro bit do primeiro pacote, e logo após o 2º bit, o 3º bit, e assim por diante; até que, em T 2, se dá por terminado o envio do último bit do primeiro pacote. Quanto tempo decorre entre T 1 e T 2? Considerando a capacidade de transmissão da ligação - que é de R bps - e a dimensão do pacote - que é de L+h bit -, aquele tempo vem a ser exactamente T xmt =(L+h)/R seg.

4 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 4/41 No instante T 2, é enviado o primeiro bit do segundo pacote; este irá demorar também T xmt seg a enviar A intervalos de T xmt segundos, são enviados, um após outro, por ordem e "colados" entre si, os restantes pacotes.. até que, em T 4, termina o envio do último pacote. O tempo total gasto a despachar o ficheiro foi então de M * T xmt segundos. O primeiro pacote, entretanto, fez o seu caminho até ao primeiro nó: um a um, os seus bits são recebidos por esse nó e, logo que aí tiverem todos aportado, - isto é, quando já aí estiver todo o primeiro pacote -, desencadeia-se o seu envio para o segundo nó E este funcionamento há-de repetir-se para o segundo pacote, e para o terceiro, etc., e para o segundo nó, e para o terceiro,, etc. No diagrama, estão etiquetados com T 3, T 5, T 6, etc., os instantes em que o primeiro bit de cada um dos sucessivos pacotes vem a chegar ao destino final B; T 7, por seu turno, marca o instante em que chega ao destino o último bit do ficheiro. A partir do diagrama temporal, a resposta à questão posta volve-se em simples geometria euclideana: trata-se de determinar o tempo que medeia entre T 0 e T 7. Se o desenho estivesse à escala, seja 1 mm por cada mseg, bastaria colocar uma régua em cima da vertical que passa por B e medir Em alternativa, e para facilitar, prolongam-se a tracejado as linhas que representam as trajectórias do 1º bit de cada pacote; seja I 0, I 1, os pontos de intersecção desses tracejados com a vertical em B. O atraso extremo-a-extremo, isto é, entre T 0 e T 7 será o somatório dos atrasos parciais: [T 0 a I 0 ] + [I 0 a I 1 ] + [I 1 a T 3 ] + [T 3 a T 5 ] + [T 5 a T 6 ] + + [ a T 7 ], ou seja, T s +n* T xmt ; em que n representa o número de atrasos parciais, todos iguais a T xmt, entre I 0 e T 7. E que deixamos ao leitor verificar que montam exactamente a n=(q-1) + M Concluindo, T ficheiro =t s +(M+Q-1)*(L+h)/R seg Para a resolução da segunda alínea, segue-se o mesmo método: desenha-se um diagrama temporal que esquematize fielmente a situação descrita - e, depois, recorre-se à geometria euclideana No caso, o diagrama é quase uma cópia do anterior: a diferença vem a ser (porque o contexto agora é o da comutação de pacotes por datagramas) a ausência do período de estabelecimento de um circuito virtual. Intui-se que, no final, virá a ser T ficheiro =(M+Q-1)*(L+2*h)/R seg Para a resolução da terceira alínea, segue-se o mesmo método: desenha-se um diagrama temporal que esquematize fielmente a situação descrita - e, depois, recorre-se à geometria euclideana No caso, o diagrama é uma simplificação do anterior: porque o contexto agora é o da comutação de mensagens, tudo se passa como se o número de datagramas ficasse reduzido a um único, seja P 1, de comprimento F, isto é, suficientemente grande para lá caber toda a mensagem. Pelo que, no final, sendo M=1 e L=F, virá a ser T ficheiro =Q*(F+2*h)/R seg Para a resolução da quarta alínea, segue-se o mesmo método: desenha-se um diagrama temporal que esquematize fielmente a situação descrita - e, depois, recorre-se à geometria euclideana. No caso, o diagrama é uma simplificação daquele desenhado a propósito da primeira alínea: porque o contexto agora é o da comutação de circuitos, tudo se passa como se não houvesse nós entre A e B - e, por conseguinte, Q=1. Pelo que, no final, a solução será T ficheiro =t s + (F+h)/R seg; isto poderá ser conseguindo: - enviando a mensagem de uma só vez, isto é, M=1, L=F, com um cabeçalho de h bits; - segmentando a mensagem em M pacotes de comprimento L, e enviando-os, cada qual com um cabeçalho de tamanho h/m bit. 4. Considere o envio de informação de voz em tempo-real da estação A para a estação B. O caminho de A para B é constituído por uma única ligação com débito 1 Mbit/seg, e introduz um atraso de propagação igual a 2 mseg. Emprega-se uma tecnologia de comutação de pacotes. A estação A converte, em tempo-real, o sinal de voz num fluxo contínuo de bits de débito 64 K bit/seg. Estes bits são depois agrupados em pacotes com 48 bytes e enviados à estação B. Pretende-se saber qual o atraso na recepção da informação de voz, medido este desde o instante em que um bit é gerado em A até que é reproduzido em B.

5 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 5/41 Conforme ao método seguido na resolução de problemas anteriores similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. O diagrama temporal correspondente à situação descrita encontra-se esquematizado em MeshedNets04. Foi tido em consideração o seguinte: A voz é primeiramente digitalizada, mediante um conversor Analog/Digital; o fluxo contínuo de bits daí resultante é agrupado em pacotes; logo que um pacote está cheio, é de imediato despachado para a estação B; aí, e após ter sido recebido o último bit de cada pacote, a informação binária que transporta é, mediante um conversor Digital/Analog, devolvida à forma "voz". Considere-se o trajecto de um bit individual, seja aquele que é gerado no instante T 0. Ele é memorizado em A, e fica aguardando que sejam gerados os restantes bits que faltam para preencher o pacote em que ele é embebido. No instante T 1, acaba o preenchimento desse pacote - e começa de imediato a sua transmissão, para B: um após outro, os bits são despachados para B, ao ritmo de 1 Mbps. O primeiro bit desse pacote chega a B no instante T 5 ; o último irá chegar no instante T 3. Imediatamente após, os bits do pacote serão apresentados ao conversor D/A; em particular, o bit que havia sido gerado em T 0 será apresentado ao conversor no instante T 4 A partir do diagrama temporal, a resposta à questão posta volve-se em simples geometria euclideana: trata-se de determinar o tempo que medeia entre T 0 e T 4. Ele será o somatório dos atrasos parciais: [T 0 a T 1 ] + [T 1 a T 5 ] + [T 5 a T 3 ] + [T 3 a T 4 ]. O leitor pode verificar que - [T 0 a T 1 ] + [T 3 a T 4 ] = T Empacotamento, isto é, o tempo que A leva a compôr/decompôr um pacote - [T 1 a T 5 ] = T Propagação, isto é, o tempo necessário para um bit se propagar de A até B (e que é 2 mseg) - [T 5 a T 3 ] = T Transmissão, isto é, o tempo que A leva a transmitir (ou B a receber) um pacote. Os tempos acima referidos são: T Empacotamento = 48 * 8/(64*10 3 ) e T Transmissão = 48 * 8/(1*10 6 ) Pelo que a resposta final vem a ser : 48 * 8/(64) + 48 * 8/(1*10 3 ) + 2 = 8,384 mseg. 5. Pretende-se estimar o tempo necessário à recuperação de um documento da Web. O documento é constituído por um objecto HTML base que referencia três imagens. A dimensão do objectobase e das imagens é desprezável, o que significa que os tempos de transmissão dos objectos são também desprezáveis. O tempo-de-ida-e-volta entre o local onde acede à Web e o local onde se encontra o documento é representado por RTT. Qual o tempo necessário para recuperar o documento, se usar HTTP não-persistente sem sessões TCP paralelas? se usar HTTP não-persistente com sessões TCP paralelas? se usar HTTP persistente (com pipelining)? Camada de Aplicação Conforme ao método seguido na resolução de problemas anteriores similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. O diagrama temporal correspondente à situação descrita encontra-se esquematizado em Web01. Nele, o Cliente e o depositário do documento são designados respectivamente de A e B. Foi tido em consideração o seguinte:

6 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 6/41 O protocolo utilizado é HTTP, que se suporta em TCP; pelo que, em ordem a recuperar o objecto-base, há que estabelecer primeiro uma conexão-tcp entre A e B. Ela é iniciada no instante T 0 ; RTT segundos depois, em T 1, chega o correspondente accept... De imediato, A envia uma mensagem-http (Get), referindo o objecto-base; B replica devolvendo esse Objecto e (tratando-se de HTTP não-persistente) desencadeando de imediato o fecho da conexão-tcp. Em T 2, chega a A o objecto-base. Para obter a primeira imagem referenciada, segue-se um procedimento análogo: estabelecimento de uma conexão-tcp, imediatamente seguida de uma mensagem Get referindo essa imagem; e subsequente devolução dessa imagem, e terminação da conexão-tcp Para obter as duas imagens seguintes, repete-se o procedimento A partir do diagrama temporal, a resposta à questão proposta volve-se em simples geometria euclideana: trata-se de determinar quanto tempo medeia entre T 0 e T 6. Ele será o somatório dos tempos parciais [T 0 a T 1 ] + [T 1 a T 2 ] +[T 2 a T 3 ] +[T 3 a T 4 ] [T 5 a T 6 ], que se volve em 4 * (2 * RTT) = 8 RTT. Para a resolução da segunda alínea, a primeira etapa é, de novo: desenhar um diagrama temporal que esquematize fielmente a situação descrita. Ele vem a ser muito semelhante ao anterior, cfr fig Web02. A diferença é o que acontece após a recepção do Objectobase, em T 2 : o Cliente de imediato dá início ao estabelecimento de três conexões-tcp com o Servidor, B; e, quando receber os subsequentes accept, em T3, despacha de imediato três mensagens Get referindo as várias imagens, uma por cada comexão; B replica com a devolução das imagens e a terminação das conexões-tcp A partir do diagrama temporal, a resposta à questão proposta volve-se em simples geometria euclideana: trata-se de determinar quanto tempo medeia entre T 0 e T 4. Ele será o somatório dos tempos parciais [T 0 a T 1 ] + [T 1 a T 2 ] +[T 2 a T 3 ] +[T 3 a T 4 ], que se volve em 2 * (2 * RTT) = 4 RTT. Para a resolução da terceira alínea, a primeira etapa é, de novo: desenhar um diagrama temporal que esquematize fielmente a situação descrita. Ele vem a ser muito semelhante ao anterior, cfr fig Web03. A diferença é o que acontece após a recepção do Objectobase, em T 2 : em HTTP persistente, o Servidor não fecha logo a conexão quando devolve o Objecto solicitado; pelo que, e utilizando-se HTTP paralelo (com "pipelining"), o Cliente pode despachar de imediato três mensagens Get referindo as várias imagens, todas pela conexão já estabelecida; B replica com a devolução das imagens A partir do diagrama temporal, a resposta à questão proposta volve-se em simples geometria euclideana: trata-se de determinar quanto tempo medeia entre T 0 e T 4. Ele será o somatório dos tempos parciais [T 0 a T 1 ] + [T 1 a T 2 ] +[T 2 a T 4 ], que se volve em ((2 + 1 )* RTT) = 3 RTT. Abra-se um parêntesis: no contexto de HTTP-persistente, é também concebível a alternativa série (não-pipelining). Qual seria, nesse caso, o tempo necessário para recuperar o documento? O leitor pode verificar que ele monta a (2+3)*RTT = 5 RTT. 6. Suponha que se pretende recuperar uma página HTML, com determinado URL. Contudo, o endereço-ip do servidor HTTP que aloja a página não está guardado na sua estação; pelo que é necessário recorrer ao DNS. Suponha, então, que é necessário consultar n servidores DNS, até obter o endereço-ip do servidor que contém a página desejada, e suponha também que a pesquisa é recursiva. O tempo-de-ida-e-volta entre a estação e o servidor DNS local é RTT 1, e o tempo-de-ida-e-volta entre o (i-1)ésimo e o iésimo servidor DNS é RTT i. O tempo-de-ida-e-volta entre a estação e o servidor RTTP é RTT 0. Desprezando a dimensão da página HTML, diga qual o tempo necessário à sua recuperação. Conforme ao método seguido na resolução de problemas anteriores similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. O diagrama temporal que corresponde à situação descrita encontra-se esquematizado em Web04. Foi tido em consideração o seguinte:

7 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 7/41 No instante T 0, a estação envia um request ao servidor-dns local, DNS 1 ; no instante T 1, ele chega a esse servidor; de imediato, ele envia um request ao servidor-dns seguinte, DNS 2 ; e assim sucessivamente até que, ao ser interrogado o n-ésimo servidor-dns, este devolve um reply. Ele é propagado, de DNS em DNS, até atingir a estação Esta, então, estabelece uma conexão- TCP com o servidor do documento HTML pretendido, e, após o envio de uma mensagem Get, obtém esse documento (Repare-se: no contexto "HTTP", é imprescindível estabelecer uma conexão-tcp antes de enviar o Get; mas, no contexto "DNS", tal não é assim: o request não requere o estabelecimento de uma conexão ). A partir do diagrama temporal, a resposta à questão proposta volve-se em simples geometria euclideana: trata-se de determinar quanto tempo medeia entre T 0 e T 2n+4. Ele será o somatório dos tempos parciais [T 0 a T 2n ] + [T 2n a T 2n+2 ] +[T 2n+2 a T 2n+4 ], que se volve em Σ RTT i + 2 RTT 0. (Repare-se que o tempo entre T n-1 e T n+1 é de RTT n ; o tempo entre T n-2 e T n+2 é de RTT n-1 + RTT n )

8 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 8/41 Camada de Transporte 7. Considere um protocolo stop and wait para o envio de pacotes de dados de uma estação A para uma estação B. A especificação do protocolo impõe apenas que todos os pacotes de dados enviados por A sejam eventualmente recebidos em B, e que B saiba identificar pacotes de dados duplicados, para assim os descartar Suponha que o canal de comunicação bi-direccional que une a estação A à estação B pode corromper ou perder pacotes mas que, quando não são perdidos, os entrega sequencialmente ao destinatário. Os pacotes de dados a enviar de A para B são numerados módulo 2. Mostre através de um exemplo que, se os Acks enviados de A para B não forem numerados, então o protocolo não satisfaz a especificação Suponha que o canal de comunicação bi-direccional que une a estação A à estação B pode corromper, perder e re-ordenar pacotes. Suponha ainda que o atraso máximo de um pacote no canal de comunicação é T segundos, e que a estação A transmite a um débito máximo de R pacotes/seg. Que valores para o módulo de numeração de pacotes e de Acks satisfazem a especificação do protocolo? 1) O diagrama temporal TCP04.a esquematiza uma evolução possível: A submete ao nível transporte quatro mensagens, M 0 a M 3. Para efeitos de comunicação com B, A embebe-os em segmentos. Ademais de outros campos, cada segmento detém um campo Numeração, um campo Dados e um campo Check-sum. Numeração Outros campos Dados Check-sum No tocante a M 0, A encapsula-o num segmento, S 0 ; em termos práticos, o campo Dados será preenchido com os bits de M 0, o campo Numeração é posto a 0, e no campo Check-sum são vertidos os bits apropriados ao algoritmo em vigor para detecção de erro Após o que despacha S 0 para B Ao chegar a B, o segmento é testado e, não tendo ocorrido erros, M 0 é extraído da campo Dados, e passada ao nível Utilizador - e é devolvido a A o correspondente Ack. Quando este chegar a A, o nível transporte pode dar início à transmissão da mensagem seguinte, M 1 ; o procedimento é análogo Realce-se que a numeração dos segmentos é feita em módulo-2, isto é: conquanto estejam em jogo quatro mensagens, são utilizados apenas dois valores para distinguir os segmentos, no caso os valores 0 e 1. No que toca à troca das duas primeiras mensagens, isso não dá azo a confusões: o protocolo utilizado é Stop-and-wait, isto é, dá-se início ao envio de M 1 apenas depois de ter sido recebido o Ack correspondente a M 0 Mas essa é uma situação ideal: não há erros Que acontecerá no mundo real, em que há erros? Existem duas situações possíveis: 1. uma delas é a ocorrência de erros/perda no segmento transmitido de A para B, seja aquele, S 0, que transporta M 2 ; por aplicação do algoritmo acima assinalado, há alguma probabilidade de B chegar a detectar que o segmento está errado - pelo que: B não devolverá Ack! consequentemente, A não receberá Ack - e isso levanta uma questão: como evitar que A fique indefinidamente à espera?! A resposta é: dotando A de um relógio: imediatamente após o envio do último bit de um segmento, S 0 ou S 1, A dispara um relógio, por um certo período, seja T timeout. Se o Ack chegar antes de ter decorrido esse período, esse relógio será cancelado; caso contrário, A deverá admitir que o Ack não virá, pelo que deverá tomar as medidas apropriadas, nomeadamente: retransmitir o (último) segmento enviado. O diagrama temporal contempla este caso: aquando do envio de M 2, o timeout expira, e S 0 é retransmitido; à segunda tentativa, não ocorrem erros de comunicação, e o Ack vem a ser devolvido; mas, se voltara a acontecer erros de comunicação, o timeout teria voltado a expirar - e A teria que voltar a retransmitir S 0 - como regra, até um número máximo de vezes, após o que seria porventura aconselhável empreender outras medidas (pode acontecer que, por ex., B esteja power-off ). 2. uma outra situação possível é a ocorrência de erros/perda no Ack devolvido de B para A; considere-se aquele que corresponde ao segmento, S 0, que transporta M 4, cfr figura TCP04.b; de novo, A não receberá um Ack válido! Pelo que o timeout irá disparar - com a sabida consequência: A irá retransmitir S 0, isto é: B, que já recebeu S 0, irá recebê-lo outra vez Quer dizer: existe uma ameaça de duplicação de informação em B. Como superá-la? A resposta é: dotando B de uma variável de estado, w, que pode assumir dois valores, 0 e 1, que especifica qual o segmento que B está aguardando. No arranque, w=0, isto é, está-se aguardando o segmento S 0. Logo após a chegada deste, aquela variável evolui para w=1. À medida que forem chegando segmentos válidos cujo campo Numeração

9 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 9/41 coincide com o valor dessa variável de estado, assim ela muda de valor E que acontece se isso não acontecer, como é o caso da retransmissão do segmento S 0 que transporta M 4 - que vai atingir B quando w=1? O seguinte: B descarta o campo Dados desse segmento, mas devolve Ack Desse modo, não chega a haver duplicação de informação em B, e A é alertado para o facto de M 4 já estar em B Abra-se um parêntesis para sublinhar: a w, dá-se o nome de aresta inferior da janela de recepção. No caso presente, ela tem dimensão 1 (i.e., em Stop-and-wait, B está esperando no máximo um segmento de cada vez) Com a adição de um relógio e da variável de recepção w, o protocolo fica satisfazendo a especificação, as mensagens M 0,, M 4 estão sendo entregues por ordem pelo que está ainda por responder a questão enunciada: Onde está a falha do protocolo? Antes de mais, uma pergunta: Quanto deve ser T timeout? Obviamente, deverá ser suficientemente grande para cobrir o tempo que demora até A receber o Ack devolvido por B (senão, existiria o risco de A perder tempo a retransmitir um segmento bem recebido - apenas porque não esperou o tempo suficiente para receber o Ack devolvido a propósito). Seja RTT o tempo que medeia entre o instante em que último bit de um segmento foi despachado para o canal de comunicação e o instante em que se acaba de receber o correspondente Ack. Então, T timeout deverá ser não inferior a RTT. Mas não deve ser muito maior do que RTT: se, efectivamente, um segmento tem que se retransmitido, porque a sua última tentativa de transmissão se gorou, convém, por mor de eficiência, não hesitar tempo demasiado Considere-se então o seguinte cenário: em determinado momento, avalia-se a quanto monta RTT - e fixa-se T timeout algo superior a RTT. Ora pode acontecer que, algum tempo após, em virtude de maior tráfego na rede de comunicação, RTT advenha bem maior Pelo que o relógio vem a disparar antes de ter sido recebido o Ack correspondente a um segmento bem recebido. O diagrama temporal TCP04.c esquematiza esse cenário. O segmento, S 1, que transporta M 5, chega a B, é aceite, e é devolvido o correspondente Ack Este, todavia, atrasa-se a chegar a A; pelo que, decorridos T timeout, o relógio expira A retransmite S 1, a que B responde com novo Ack Entretanto, o Ack atrasado chega enfim a A; este de imediato dá início à transmissão de M 6, mediante S 0 Logo após, chega o Ack correspondente à recepção do segmento que havia sido retransmitido A, crendo, erroneamente, que tal Ack diz respeito a S 0, passa de imediato a enviar a Mensagem M 7, mediante S 1 Se, eventualmente, S 0 se corromper, B ainda permanecerá aguardando com w=0 quando S 1 o atingir - pelo que se descartará dele O leitor poderá verificar que as mensagens M 6 e M 7 não virão a ser entregues ao Utilizador em B: o protocolo falhará 2. A segunda alínea supõe um canal que pode re-ordenar pacotes Quer dizer, A pode enviar dois segmentos, seja S 0 - S 1, e a B chegarem esses dois segmentos mas por ordem inversa: S 1 - S 0. Terá isso alguma relevância quando a filosofia em jogo é StopAndWait - isto é, precisamente quando A pode enviar S 1 somente depois de ter recebido o Acknowledge relativo a S 0 - o que parece afastar a eventualidade de S 1 chegar antes de S 0? De facto, tem: o último exemplo esquematizado testemunha exactamente o envio de um segmento, S 0, sem antes A ter recebido o Acknowledge correspondente ao segmento que o precedeu, S 1. Para a resolução da segunda alínea convém então desenhar um diagrama temporal envolvendo uma situação similar: o disparo de um timeout imediatamente seguido da recepção de um Ack atrasado. Naquele que é apresentado em TCP05, assumiu-se que o módulo de numeração é 3. Nele, - a mensagem M 0 é comunicada de A para B, sem percalços: ela é encapsulada no segmento S 0, após o que segue o seu caminho até B; este devolve um Ack numerado, Ack 1, - cujo número (1) é exactamente o valor com que ficou a aresta inferior da sua janela de recepção, i.e., é o número do segmento que B ficou aguardando - já com M 1, transportada em S 1, vem a existir um contratempo: a correspondente confirmação de boa recepção, Ack 2, atrasa-se - pelo que o timeout vem a expirar: M 1 é retransmitida, de novo encapsulada no segmento S 1 ; - logo após o envio do primeiro bit de S 1, chega o primeiro bit do Ack atrasado; - pelo que o receptor pode dar M 1 por bem recebida e desencadear a comunicação de M 2, mediante S 2 ; B replicará com Ack 0 ;

10 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 10/41 - sucessivamente, na recepção de Ack 0, Ack 1, Ack 2, A envia as mensagens M 3, M 4 e M 5, suportadas respectivamente nos segmentos S 0, S 1, S 2 No que se segue, representar-se-á por S i (M j ) o segmento S i veiculandoa a Mensagem M j. Não se pode olvidar, entretanto, o segmento, S 1 (M 1 ), que havia sido transmitido aquando do expirar do timeout: em algum momento - no prazo máximo de T segs - ele irá findar o seu percurso pela rede Que acontecerá se chegar a B antes de S 2 (M 2 )? O seguinte: como B já está esperando S 2, (w=2), S 1 (M 1 ) será descartado; e o mesmo lhe sucederá se chegar logo após S 2 (porque então encontrará w=0). Mas sorte diferente terá se fizer a sua aparição após S 0 ter chegado a B - isto é, quando B já estiver esperando um segmento numerado precisamente 1! B aceitará como válido esse segmento - e passará ao Utilizador uma nova cópia de M 1! Em contrapartida, descartará o segmento, S 1, que transporta M 4, Este funcionamento é péssimo. A sua causa é óbvia: se, quando S 1 (M 1 ) chegasse a B, a janela de recepção fôra outro valor que não 1, ele seria descartado! Para o lograr, bastaria escolher um módulo de numeração maior. Se ele fôsse 4, por ex., então B ainda estaria com w=0 e descartaria esse S 1 atrasado. A não ser, é claro, que S 1 (M 1 ) se atrasasse ainda mais Claramente, o módulo de numeração a escolher depende do atraso sofrido por S 1 na rede Ele deve ser escolhido por forma a que o avanço da aresta inferior da janela de recepção, w, para w=1, deve ser feito após S 1 (M 1 ) chegar, ou seja, o primeiro bit de S 0 (M 3 ) deve chegar a B após o primeiro bit de S 1 (M 1 )! Sendo R pkt/seg o débito máximo, então o tempo que demora a transmitir/receber um pacote é de T xmt =1/R seg/pkt. Seja T a o instante em que é enviado o primeiro bit de S 1 (M 1 ), e T b o instante em que é recebido o último bit de S 1 (M 1 ); conforme ao enunciado, T b =T a +T. Seja M o módulo de numeração. O instante em que chega a B o primeiro bit de S 1 (M 1 ) é T M1 =T b -T xmt. O instante em que é recebido o primeiro bit de S 0 (M 3 ) é T M3 =T a +T xmt +T prog +[T xmt +RTT]*(M-2). Para um bom funcionamento, T M1 < T M3 ; admitindo T prop RTT/2, deduz-se, por manipulações alébricas triviais, T b -T xmt < T a +T xmt + RTT/2+[T xmt +RTT]*(M-2) M > [T + 3 RTT / 2)]/ (1 / R + RTT) O termo à direita na inequação acima é uma função decrescente com RTT: o seu valor máximo é obtido com RTT=0; por substituição, obtém-se M > T/(1/R) ou seja, enfim, M > RT. 8. Considere os protocolos GoBackN e SelectiveRepeat, desenhados para um canal que garante entrega sequencial de pacotes. Suponha que o espaço para numeração de pacotes tem dimensão K, isto é, os pacotes são numerados módulo K. Quis as dimensões máximas das janelas? A resolução de problemas anteriores acentuou já que a situação mais crítica ocorre quando o timeout dispara, com a conhecida reacção de A: retransmitir o segmento ainda não confirmado mais antigo. A situação é crítica porque, quando reage, A não sabe se o segmento ainda por confirmar foi ou não bem recebido por B. Quais as consequências desta "ignorância"? a propósito, convém esquematizar o diagrama temporal respeitante à situação: envio de uma janela completa, de A para B, cuja transmissão é bem sucedida - seguido de um timeout (porque os Acks devolvidos se perdem ou se atrasam) Nos diagramas temporais apresentados, assumiu-se que o tamanho da janela de transmissão é W T =4., e que de início, a aresta inferior da janela de recepção de B está a w=0 1. GoBackN O receptor tem janela de recepção de dimensão W R =1, i.e.: B está disponível para receber um segmento apenas (S 0 ). À medida que vão chegando os vários segmentos, "roda" sucessivamente para w=1, w=2, w=3, w=n. Qual deverá ser o último valor, n? claramente, existem duas alternativas: 4, ou 0. A questão é saber qual delas é a correcta A decisão é ditada pelo comportamento de A: quando ocorre o timeout, ele retransmite a mensagem M 0, embebida no segmento S 0, cfr figura TCP06.a Se w estivesse a 0 quando esse segmento chegasse a B, ele seria aceite como válido e o seu conteúdo, M 0, passado ao Utilizador: haveria duplicação da informação! Pelo que nesse momento w não deverá estar a 0: há que escolher a alternativa n=4; por conseguinte, para numerar os segmentos há que dispôr de pelo menos 5 (cinco) identificadores diferentes: o módulo de numeração deve ser pelo menos 5 - ou, mais geralmente, K W T + 1 ou W T K SelectiveRepeat O receptor tem janela de recepção de dimensão W R =4. B está disponível para receber os segmentos S 0, S 1, S 2 e S 3. Depois, à medida que vão chegando os vários segmentos, "roda" sucessivamente para w=1, w=2, w=3, w=n. Quando w=1, é tentador afirmar que B ficou disponível para receber os segmentos S 1 a S 4 ; mas tal seria estabelecer a priori a necessidade de pelo menos 5 identificadores, o que está por demonstrar Se bastassem 4 identificadores apenas, B teria ficado disponível para receber os segmentos S 1, S 2, S 3 e S 0. Ambas as situações ficam cobertas afirmando que, quando a aresta inferior da janela de recepção é n, B está disponível para receber os segmentos cujos identificadores pertençam ao conjunto

11 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 11/41 W n ={n, n+1 (módulo K),, n+3 (módulo K)} em que cada termo n+i (módulo K) significa o resto da divisão de n+i por K. Qual deverá ser o último valor, n? claramente, existem duas alternativas: 4, ou 0. A questão é saber qual delas é a correcta A decisão é novamente ditada pelo comportamento de A: quando ocorre o timeout, ele retransmite a mensagem M 0, embebida no segmento S 0, cfr figura TCP06.b. Se 0 fizesse parte de W n, então, quando esse segmento chegasse a B, ele seria aceite como válido e o seu conteúdo, M 0, passado ao Utilizador: haveria duplicação da informação! Pelo que nesse momento W n não deverá conter 0: há que escolher a alternativa W n = {4, 5, 6, 7}; por conseguinte, para numerar os segmentos deverão existir pelo menos 8 (oito) identificadores diferentes: o módulo de numeração deve ser pelo menos 8 - ou, mais geralmente, K 2 * W T ou W T K / Considere um caminho de 5000 Km de comprimento com atraso de propagação igual a 5 µseg/km, e sobre o qual consegue transmitir a um débito máximo de 100 Mbps. Suponha que usa um algoritmo de janela deslizante para controlo de erros e controlo de fluxo. Cada pacote tem 1000 bits. Se usar Go-Back-N, qual a dimensão mínima da janela, em número de pacotes, que garante uma eficiência de utilização do caminho de 100%? E se usar Selective-Repeat? Conforme ao método seguido na resolução de problemas similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. O diagrama temporal correspondente à situação descrita encontra-se esquematizado em TCP07. Nele, foi tido em consideração o seguinte: - no instante T 0, A desencadeia o envio do segmento S 0, bit após bit; - no instante T 1, finda o envio desse segmento; o tempo nisso despendido, T xmt =T 1 -T 0, dito tempo de transmissão, é dado por 1000/(100*10 6 )=10µseg; - logo após, sem qualquer interrupção, A desencadeia o envio do segmento seguinte, S 1 ; - este "ciclo" de envio contínuo de segmentos prossegue até A ter completado a transmissão dos W t segmentos cobertos pela janela de transmissão (por mor de comodidade de desenho, no diagrama admitiu-se que ela tem dimensão W t =2; pelo que o último segmento a ser transmitido é S 1, cuja transmissão cessa no instante T 2 ); - transmitido o último segmento que faz parte dessa janela, A aguarda que lhe chegue, do outro extremo, B, a confirmação de boa recepção de, ao menos, um segmento - entretanto, S 0 propaga-se O seu primeiro bit chega a B no instante T 6 ; e o seu último bit chega a B no instante T 7 ; de imediato, B testa o segmento chegado - e, não detectando a presença de erros de transmissão, devolve a confirmação de boa recepção, sob a forma de um segmento, Ack 1 ; - no instante T 3, esse segmento, Ack 1 chega a A; de imediato, A desencadeia o envio do segmento seguinte, S 2 ; pouco depois, em T 4, chega nova confirmação de recepção, Ack 2, e A envia o segmento seguinte e assim continua até esgotar de novo a janela de transmissão Do diagrama temporal, é patente que o comportamento genérico de A envolve duas "fases": uma primeira, entre T 0 e T 2, de envio de uma janela completa de informação, e uma outra, entre T 2 e T 3, de pausa. Em ordem a uma utilização eficiente dos recursos de transmissão disponíveis, convem que a duração da primeira fase seja bem maior que a duração da segunda; o óptimo seria, aliás, que esta última tivesse duração nula... Por eficiência de utilização do caminho designa-se precisamente a fracção de tempo que o caminho é de facto utilizado para transmitir informação útil; no caso, essa fracção volve-se em: (T 2 - T 0 )/(T 3 - T 0 ). O problema reduz-se então a determinar quanto tempo medeia entre T 0 e T 2 e entre T 0 e T 3 - o que, a partir do diagrama temporal, se volve em simples geometria euclideana: O período de tempo entre T 0 e T 2 mede-se sobre a vertical em A: é W t *T xmt. Quanto ao período de tempo entre T 0 e T 3, mede-se sobre a vertical em B: ele será o somatório dos tempos parciais [T 0 a T 6 ] + [T 6 a T 7 ] +[T 7 a T 3 ], que se volve em T Propag + T xmt + T Propag = 2*5000*5+10=50010 µseg. A eficiência em causa é, por conseguinte, W t *10/50010; igualando esta expressão a 1 (o objectivo é que a eficiência seja de 100%), deduz-se W t =50010/10=5001. De facto, o leitor poderá verificar que, se a janela de transmissão fôr superior ao valor encontrado, ainda assim a eficiência continuará a ser 100%; isso corresponderá à chegada de Ack 1 acontecer antes de

12 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 12/41 terminada a transmissão da janela: A não chega nunca a ingressar na fase de "pausa"! Esse valor encontrado é, pois a janela mínima. Notas: Na resolução acima, considerou-se desprezável o tempo de transmissão de um Ack; se essa assumpção não fôr válida, então, ao tempo T 3 -T 0, haverá que adicionar T Ack = Comprimento Ack /(100*10 6 ). A solução é a mesma, quer se esteja em Go-Back-N ou Selective-Repeat; a diferença ocorreria apenas na etiquetagem do diagrama: após o envio de S 2, dever-seia, em Selective-Repeat, enviar S Suponha que uma sessão tipo-tcp entre as estações A e B tem janela anunciada sempre igual a um segmento. O RTT é estimado tal como em TCP, com parâmetro x=0,1. No entanto, ao contrário do que acontece numa sessão TCP real, assuma que o intervalo de tempo até à retransmissão de um segmento (timeout) é simplesmente igual a y vezes o RTT estimado. Se as amostras de RTT forem alternadamente iguais a 1 e 5 segundos, qual o valor mínimo de y que não causa retransmissões? Em TCP, o RTT Estimado é um período de tempo dinâmicamente adaptado às condições de tráfego de momento. É uma ponderação entre o "historial" precedente de RTT e o valor de facto medido; vem a ser dado por RTT i+1 = (1-x) RTT i + x * RTT Real. No caso presente, os valores reais são alternadamente 1 e 5; intui-se que RTT tenderá também a assumir, alternadamente, dois valores, seja RTT 1 e RTT 5. Esses dois valores deverão satisfazer, cfr TCP08: Amostra: 1 RTT 1 = 0,9 RTT 5 + 0,1 Amostra: 5 RTT 5 = 0,9 RTT 1 + 0,5 A resolução deste sistema conduz a RTT 1 = 0,55 / 0,19 2,895 RTT 5 = 0,59 / 0,19 3,105 O timeout deverá fixar-se em RTT*y. Para que não haja retransmissões, é necessário que ele exceda o maior valor de RTT de facto experimentado, isto é, deve ser 1 < 3,105y e 5 < 2,895y que conduz a 0,19/0,59 < y ( 0,322<y) e 5*0,19/0,55 y ( 1,7272<y), de que se deduz: 1,7272<y. 11. Suponha que uma aplicação no computador W estabelece uma conexão-tcp com uma aplicação no computador E para receber o conteúdo de um ficheiro. O ficheiro tem bytes; os segmentos de dados têm 1000 bytes de dados. Os computadores estão ligados por um canal full-duplex com débito 8 Mbps e um atraso de ida e volta de RTT = 7 mseg. Pretende-se estimar a latência na recepção do ficheiro (intervalo de tempo desde que o cliente inicia o pedido até que recebe o ficheiro na sua totalidade). Considere o seguinte modelo simplificado (excepto quando fôr explicitamente indicado um outro comportamento): - o pedido de transferência feito pelo cliente segue juntamente com o terceiro segmento do estabelecimento da conexão; - é enviado um segmento de confirmação (Acknowledge, abreviadamernte: Ack) por segmento bem recebido; - a janela de emissão é apenas limitada pelos mecanismos de controlo de congestionamento, isto é, o mecanismo de controlo de fluxo não intervém (os buffers na recepção são ilimitados); - o protocolo TCP usa o mecanismo de controlo de congestionamento estudado nas aulas; - não ocorrem erros nem perdas; - o receptor não descarta segmentos recebidos fora de ordem; - os cabeçalhos têm dimensão desprezável; - o tempo de transmissão dos segmentos que não contêm dados (estabelecimento, pedido do ficheiro e Ack s) é desprezável Admita que todos os segmentos são transmitidos durante a fase de arranque lento ( slow start ), isto é, o limiar a partir do qual se inicia a fase de congestion avoidance nunca é atingido; Admita que se perdem: o Segmento 6 e os Ack's dos Segmentos 8 a 11; o timeout utilizado é de 13 mseg Admita que se perde o Segmento 6; utiliza-se a versão TCP-Tahoe; Admita que se perde o Segmento 6; utiliza-se a versão TCP-Reno;

13 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 13/41 Resolução (1): Conforme ao método seguido na resolução de problemas similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. O diagrama temporal apresenta-se em TCP21.a. W começa por estabelecer uma conexão com E; isso envolve a troca de dois segmentos, SYN (connect) e SYNAck (accept). Logo após, envia um segmento (simbolicamente, Get), referindo o ficheiro que pretende. E devolve esse ficheiro num total de 20 (=20000/1000) segmentos; cada um deles demora T Xmt =1000*8/(8*10 6 ) seg=1 mseg a ser transmitido. - De início, E encontra-se na fase Slow-Start - pelo que o tamanho da sua janela (entenda-se: janela de congestão) é de, apenas, w=1: envia o 1º segmento, {S 1 } - e aguarda (Nota: no presente contexto, em que o tamanho dos segmentos é fixo (1000 bytes), subentende-se: w é dado em "segmentos"). - Quando S 1 chega a W, a entidade TCP devolve Ack 2 - que adverte: W já está esperando o 2º Segmento, os anteriores-a-s 2 já foram todos bem recebidos! - Quando Ack 2 chega a E, este (descarta-se de S 1 e), incrementa (de 1) o tamanho da janela - ficando w=2: envia os segmentos {S 2 e S 3 } - e aguarda (Recorde-se: na fase Slow-Start, o tamanho da janela de congestão é incrementado de 1 por cada Ack fresco recebido - com esta consequência: se, em dado momento, ele é w - permitindo o envio de w segmentos -, então, quando forem recebidos os Ack's de todos esses segmentos, ele duplica, passará a ser 2*w). - Quando S 2 e S 3 chegam a W, este devolve Ack 3 e Ack 4. - Quando Ack 3 chega a E, este incrementa (de 1) o tamanho da janela, ficando w=3: envia {S 4 e S 5 } (Note-se: w=3 significa que podem ficar por confirmar um máximo de 3 segmentos; como está ainda por confirmar a recepção do segmento S 3, podem ser enviados apenas mais dois segmentos). - Quando S 4 e S 5 chegam a W, este devolve Ack 5 e Ack 6. - Quando Ack 4 chegar a E, este incrementa (de 1) o tamanho da janela, ficando w=4: envia {S 6 e S 7 }. - Quando S 6 e S 7 chegam a W, este devolve Ack 7 e Ack 8. - Quando {Ack 5, Ack 6, Ack 7 e Ack 8 } chegam a E, este incrementa o tamanho da janela, ficando sucessivamente w={5, 6, 7 e 8}: E envia, sucessivamente, {S 8 e S 9 }, {S 10 e S 11 }, {S 12 e S 13 } e {S 14 e S 15 }. - Quando {S 8,, S 15 } chegam a W, este devolve {Ack 9,, Ack 16 }. - O resto adivinha-se: à medida que os Ack's chegam a E, este incrementa o tamanho da janela e envia sucessivamente {S 16 a S 20 }. A janela de E evolui (roda e o seu tamanho altera-se) pari passu com a chegada de Ack's a E, cfr TCP21.b: [1] [2 3] [3 4 5] [ ] [ ] [ ] Na prática, E despacha uma janela com 1 segmento, {1}; depois, despacha uma janela com 2 segmentos {2-3}; depois, uma janela de 4 segmentos {4-7}; e, no fim, os 13 segmentos {8-20} que restam para perfazer os 20 segmentos em que se volve o ficheiro. Entre duas janelas consecutivas, E fica bloqueado (isto é, sem transmitir) algum tempo: - entre o termo do envio de S 1 e o começo do envio de S 2, E fica bloqueado wait=rtt=7; - entre o termo do envio de {S 2 -S 3 } e o começo do envio de S 4, E fica bloqueado wait=rtt-t Xmt =6; - entre o termo do envio de {S 4 -S 7 } e o começo do envio de S 8, E fica bloqueado wait=rtt-3*t Xmt =4 E vai ficando bloqueado um período de tempo cada vez menor. Mais genericamente, fica bloqueado RTT-(w-1)* T Xmt. Existe um valor w que torna nulo esta expressão: a partir desse valor, E deixa de ficar bloqueado! Esse valor é w=rtt/t Xmt +1=8: entre o termo do envio de {S 8 -S 15 } e o começo do envio de S 16, E fica bloqueado wait=0 (=RTT-7*T Xmt ) mseg. O significado físico é o seguinte: Ack 9 chega a E exactamente no instante em que E esgota a sua janela; como essa chegada re-abre essa janela, E, após o envio de S 15, não chega a ficar bloqueado: prossegue de imediato com a transmissão de {S 16 e S 17 } - e, continuamente, com a transmissão de todos os segmentos restantes, {S 18 a S 20 }, sem qualquer paragem. A partir do diagrama temporal TCP21.a, a resposta à questão proposta (qual o tempo de latência?), volve-se em simples geometria euclideana: trata-se de determinar quanto tempo medeia entre T 0 e T 6. Ele será o somatório dos tempos parciais {T 0 a T 1 }, {T 1 a T 2 }, {T 2 a T 3 }, {T 3 a T 4 }, {T 4 a T 5 } e {T 5 a T 6 }. Repare-se: - {T 0 a T 1 } e {T 1 a T 2 } são, ambos, RTT;

14 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 14/41 - entre T 2 e T 3, i.e., a chegada do primeiro bit da primeira janela ({S 1 }) e a chegada do primeiro bit da janela seguinte({s 2 -S 3 }), decorret Xmt +RTT; asserções idênticas podem fazer-se a respeito dos tempos parciais {T 3 a T 4 }, {T 4 a T 5 }; - entre T 5 e T 6, i.e., entre a chegada do primeiro bit da última janela e a chegada do seu último bit, decorre 13*T Xmt. O tempo de latência vem então a ser: T = 2 * RTT + ( T Xmt + RTT ) * 3 + ( 13 * T Xmt ) = 51 mseg. Nota: num cenário real, 1) o receptor pode escusar-se a replicar com um Ack por cada Segmento recebido e 2) o Ack pode perder-se ou corromper-se. Então, à chegada de um Ack, w poderá ser incrementado - não de 1 -, mas do número de Segmentos que ele confirma; em particular, isso previne: - a possibilidade de o receptor utilizar um Ack para confirmar dois Segmentos, que não um só; - a eventualidade de o Ack se perder/corromper no caminho de regresso até à fonte dos Segmentos. Por ex., tendo E enviado a janela {S 4 -S 7 }, W poderá replicar com apenas dois Ack's {Ack 6 e Ack 8 } - e o primeiro deles perder-se, por conseguinte chegando a W apenas o Ack 8 ; ele confirma, sozinho, a chegada de 4 Segmentos - por conseguinte habilitando à mudança do tamanho da janela, num ápice, de 4 para 8. Também num cenário real, os Segmentos não têm necessariamente um tamanho fixo; então, w poderá ser incrementado (de 1) apenas quando o número de bytes confirmados pelos Ack's precedentes atingir MSS. Também num cenário real, a confirmação é de bytes e, não, de segmentos. Resolução (2): Conforme ao método seguido na resolução de problemas similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. O diagrama temporal apresenta-se em TCP22.a. O diagrama é semelhante a TCP21.a até ao momento em que E envia a janela {S 4 -S 7 }: acontece que, agora, S 6 se perde - e, por conseguinte, - não apenas a entidade TCP em W não pode confirmar (com {Ack 7 }), a recepção de S 6 - como, ao receber S 7, ela permanece devolvendo Ack 6 - não caindo na asneira de devolver Ack 8 - que para E significaria que W já recebeu todos os segmentos até S 8, exclusivé - o que não é verdade - Resumindo: quando {S 4, S 5 e S 7 } chegam a W, este devolve Ack 5, Ack 6 e Ack 6. - Quando {Ack 5 e Ack 6 } chegam a E, este incrementa a janela, ficando sucessivamente w={5, 6}: E envia {S 8 e S 9 } e {S 10 e S 11 }; quando o segundo Ack 6 chega a E, o tamanho da janela não se altera, nem se enviam outros segmentos. - Quando {S 8 - S 11 } chegam a W, este devolve quatro Ack 6 s, que, de acordo com o enunciado, se perdem. Não recebendo Ack's frescos, o relógio em E expira. Abra-se um parêntesis para rever a política de relógio de retransmissão do TCP: - quando, nomeadamente, E recebe Ack 5, que confirma a chegada a W de S 4, E cancela o relógio - mas, recordando que tem pendente de confirmação outros segmentos (concretamente {S 5 -S 7 }), re-arma-o; - quando E recebe Ack 6, que confirma a chegada a W de S 5, E volta a cancelar o relógio - mas, recordando que ainda tem pendente de confirmação os segmentos {S 6 -S 7 }, arma-o de novo; - quando E recebe o segundo Ack 6, E repara que ele confirma a recepção de um segmento cuja recepção já havia sido confirmada - pelo que não mexe no relógio. Resumindo: o relógio vem a expirar Timeout =13 mseg após o último Ack fresco (i.e., não duplicado) recebido. - Quando o relógio expira, E leva a efeito o seguinte: memoriza em SSThreshold o valor que resulta de dividir por 2 o tamanho da janela actual (i.e., memoriza SSThreshold = 3); fixa w=1; envia o Segmento mais antigo ainda por confirmar - no caso, S 6. Entra na fase Slow-Start, - Quando S 6 chega a W, a entidade

15 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 15/41 TCP devolve Ack 12 - querendo com isso advertir: W já está esperando o Segmento S 12, os anteriores-a-s 12 já foram todos bem recebidos! - Quando Ack 12 chega a E, este, conforme à política Slow-Start, incrementa (de 1) o tamanho da janela - ficando w=2: envia {S 12 e S 13 } - e aguarda - Quando S 12 e S 13 chegam a W, este devolve Ack 13 e Ack Quando Ack 13 chega a E, este incrementa (de 1) o tamanho da janela - ficando w=3: envia {S 14 e S 15 } - e aguarda - Acentue-se: o tamanho da janela de E passou a ser w=3 - que é o valor memorizado em SSThreshold. Então, quando Ack 14 chega a E, este abandona a fase Slow-Start - ingressando na fase Congestion-Avoidance. O tamanho da janela é incrementado de, apenas, 1/3 - ficando w=3+1/3 - que não permite enviar senão um segmento mais, S 16 (Recorde-se: na fase Congestion-Avoidance, se, em dado momento, o tamanho da janela de congestão vale w - permitindo enviar w segmentos -, ela é incrementada de 1/w por cada Ack fresco recebido; quando forem recebidos os Ack's de todos esses w segmentos, a janela incrementou de 1). - Quando {S 14 - S 16 } chegam a W, este devolve Ack 15 - Ack Quando Ack 15 e Ack 16 chegam a E, este, por cada um, incrementa o tamanho da janela de 1/3 - ficando w=4; sucessivamente, envia {S 17 } e {S 18 - S 19 }. - Quando Ack 17 chega a E, este incrementa o tamanho da janela de 1/4 - ficando w=4+1/4 - que não permite enviar senão um segmento mais, S 20 A janela de E evolui pari passu com a chegada de Ack's a E - e o expirar do relógio, cfr TCP22.b. A partir do diagrama temporal TCP22.a, a resposta à questão proposta (qual o tempo de latência?), volve-se em simples geometria euclideana: será o somatório de um conjunto de tempos parciais Seguindo um raciocínio análogo àquele que acompanhou a resolução da alínea anterior, o tempo de latência vem então a ser: T = 2 * RTT + ( T Xmt + RTT ) * 3 + ( T Xmt + Timeout ) + ( T Xmt + RTT ) * 3 + ( 4 * T Xmt ) = 80 mseg. Nota 1: quando w atinge SSThreshold (no caso, aquando da chegada de Ack 13 ), a entidade-tcp é livre de escolher entre: ingressar de imediato na fase Congestion-Avoidance (como se optou acima) ou manter-se na fase Slow-Start (por conseguinte fixando w=4, e não w=3+1/3, à chegada de Ack 14 ); mas, desde que w se torne superior a SSThreshold, é obrigatório o ingresso na fase Congestion-Avoidance. Nota 2: num cenário real, w é dado em bytes; quando o timeout ocorre, o SSThreshold é fixado em metade do número de bytes ainda por confirmar (e não em metade do valor actual de w). Nota 3: em rigor, se, na fase Congestion-Avoidance, a regra em vigor fôr incrementar w de 1/w por cada Segmento confirmado, então a evolução de w será algo diferente da apresentada: esta deve ser vista somente como uma aproximação; em particular, quando se receberem os Ack's de todos os segmentos de uma janela, aquela regra não resulta num incremento total de 1! Considere-se por ex., que, sendo w=3, se enviaram 3 segmentos; quando chegar o Ack do primeiro deles, passará a ser w=3+(1/3)=10/3; quando chegar o Ack do segundo, passará a ser 10/3+3/10=109/30 - e, não, 3+(2/3); e, quando chegar o Ack do terceiro, passará a ser 109/30+30/109=12781/3270 3,9 que é menor que 3+(3/3)=4! Resolução (3): Conforme ao método seguido na resolução de problemas similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. O diagrama temporal apresenta-se em TCP23.a.

16 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 16/41 O diagrama é semelhante a TCP22.a até ao momento em que E recebe os Ack's dos Segmentos 8 a 11: E recebe um total de seis Ack 6 : um fresco e cinco duplicados - pelo que, vigorando a versão TCP-Tahoe, o timeout não chega a expirar. Ao receber o terceiro duplicado, a entidade-tcp em E procede como se o timeout tivera expirado nesse momento: memoriza em SSThreshold o valor que resulta de dividir por 2 o tamanho da janela actual (i.e., memoriza SSThreshold =3); fixa w=1; envia o Segmento mais antigo ainda por confirmar - no caso, S 6. Entra na fase Slow-Start O resto adivinha-se, cfr fig TCP23.a. A janela de E evolui pari passu com a chegada de Ack's a E - e a chegada do 3º duplicado, cfr TCP23.b. A partir do diagrama temporal TCP23.a, a resposta à questão proposta (qual o tempo de latência?), volve-se em simples geometria euclideana: será o somatório de um conjunto de tempos parciais Seguindo um raciocínio análogo àquele que acompanhou a resolução das alíneas anteriores, o tempo de latência vem então a ser: T = 2 * RTT + ( T Xmt + RTT ) * 3 + ( 2 T Xmt + RTT ) + (T Xmt + RTT) * 3 + ( 4 * T Xmt ) = 75 mseg. Resolução (4): Conforme ao método seguido na resolução de problemas similares, a primeira etapa é: desenhar um diagrama temporal que esquematize fielmente a situação descrita. O diagrama temporal apresenta-se em TCP24.a. O diagrama é semelhante a TCP23.a até ao momento em que E recebe o terceiro duplicado de Ack 6 : a entidade-tcp em E continua a memorizar em SSThreshold o valor que resulta de dividir por 2 a janela actual (i.e., memoriza SSThreshold =3); mas fixa w=ssthreshold+3=6. Entra na fase Slow-Start Quando chega o quarto duplicado de Ack6, w incrementa (de 1), para 7 - o que permite o envio de um Segmento mais, S 12 ; e quando chega o quinto duplicado, w incrementa de novo, permitindo o envio de S Quando S 6 e {S 12 e S 13 } chegam a W, este devolve Ack 12 e {Ack 13 e Ack 14 }. - Quando Ack 12 chega a E, este repara que se trata do primeiro Ack fresco após o 3º duplicado, pelo que: fixa w=ssthreshold=3 e envia o segmento {S 14 } - e ingressa na fase Congestion-Avoidance; - Quando {Ack 13 e Ack 14 } chegam a E, a janela é incrementada, de cada vez, de, apenas, 1/3 - ficando sucessivamente w={3+1/3 e w=3+2/3} - que não permite enviar senão dois segmentos mais, {S 15 e S 16 } O resto adivinha-se, cfr fig TCP24.a. A janela de E evolui pari passu com a chegada de Ack's a E - incluindo o 3º duplicado e seguintes, cfr TCP24.b. A partir do diagrama temporal TCP24.a, a resposta à questão proposta (qual o tempo de latência?), volve-se em simples geometria euclideana: será o somatório de um conjunto de tempos parciais Seguindo um raciocínio análogo àquele que acompanhou a resolução das alíneas anteriores, o tempo de latência vem então a ser: T = 2 * RTT + ( T Xmt + RTT ) * 3 + ( 2 T Xmt + RTT ) + ( T Xmt + RTT ) * 2 + ( 4 * T Xmt ) = 67 mseg. 12. [09E1.5] Considere dois computadores, W e E, que comunicam através de uma ligação TCP, trocando segmentos de acordo com a figura TCP30.a. Suponha que W envia sete segmentos (cujos primeiros e últimos bytes têm os números indicados) e em que um dos segmentos se perde. Considere que ambos os interlocutores executam o protocolo TCP com a opção SACK.

17 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 17/ Para cada um dos segmentos Ack devolvidos por E, especifique os respectivos números de Acknowledgement e a identificação dos blocos recebidos Relativamente ao segmento perdido, diga em que momento poderá o emissor decidir retransmiti-lo R1 A TCP30.c. apresenta a evolução do buffer do receptor, os Acks enviados e respectivos números. - inicialmente, E encontra-se aguardando o Segmento numerado 1000; - ao chegar o Segmento numerado 6000, devolve um Ack, declarando que continua a aguardar o Segmento 1000 porém utiliza SACK para notificar W que já recebeu o bloco ; - ao chegar o Segmento 1000, roda a Janela de Recepção (ficando a aguardar o Segmento numerado 2000) e notifica W (continando, com SACK, a referir que já recebeu o bloco ); - ao chegar o Segmento 3000, devolve um Ack, declarando que continua a aguardar o Segmento 2000 porém utiliza SACK para notificar W que já recebeu os blocos e ; - ao chegar o Segmento 7500, que é contíguo ao bloco , devolve um Ack, declarando que continua a aguardar o Segmento 2000 porém utiliza SACK para notificar W que já recebeu os blocos e (repare-se que começa por mencionar o bloco , pois foi o último onde houve mexidas ); - ao chegar o Segmento 2000, roda a Janela de Recepção (ficando a aguardar o Segmento numerado 4500) e notifica W (continando, com SACK, a referir que já recebeu o bloco ); - ao chegar o Segmento 5500, que é contíguo ao bloco , devolve um Ack, declarando que continua a aguardar o Segmento 4500 porém utiliza SACK para notificar W que já recebeu os blocos ; R2: Quando o temporizador expirar: re-envia-se o segmento Ademais, e admitindo que os Acks chegam todos ao emissor, sem perdas, e por ordem, respectivamente nos instantes t 1, t 2,, t 6, o emissor pode reenviar, logo em t 1, os octetos { } repartidos nos mesmos cinco segmentos ou re-organizados de outra maneira, por ex. em quatro segmentos: { }, { }, { }, { }. Há outras respostas aceitáveis: pode conceber-se um emissor menos agressivo que se refreie um pouco; nomeadamente, e assumindo MSS=1500, - re-enviar quando muito MSS octetos por cada Ack: por ex., enviar { } em t 1, { } em t 2, { } em t 3 - re-enviar um octeto apenas depois de ter sido SAcked um certo montante (como seja 2*MSS) de octetos subsequentes; por ex., esperar até t 3 para enviar { } pois então 3000 octetos mais recentes foram já SAcked (os octetos { } e { }). - re-enviar um octeto apenas depois de ter sido SAcked um certo montante (como seja 2) de segmentos subsequentes; por ex., esperar até t 3 para enviar { } pois então 2 segmentos mais recentes foram já SAcked (os segmentos 3000 e 6000; e em t4 re-enviar { } pois então 2 segmentos mais recentes foram já SAcked (os segmentos 6000 e 7500 Deixa-se à imaginação do leitor a congeminação de outros algoritmos para decidir quando retransmitir

18 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 18/41 Camada de Rede 13. Suponha que dispõe de um nó (router) com 10 entradas e 10 saídas, que funcionam ao mesmo ritmo e estão interligadas por uma malha de comutação Em que condições de funcionamento da malha de comunicação pode dispensar a utilização de "buffers" na sua entrada, garantindo que não há perdas no nó de comutação? Discuta a possibilidade de dispensar "buffers" nas saídas da malha de comutação, continuando a garantir perdas nulas. 1. Seja R bps o ritmo de funcionamento das entradas e saídas. O caso mais crítico acontecerá quando todos os bits provenientes das 10 entradas se destinarem à mesmíssima saída, por ex., S 1, cfr Routing01; em cada segundo, irão chegar 10 Rbit à malha de comutação - mas S 1, nesse segundo, apenas irá conseguir escoar R bit! Pelo que, pretendendo-se evitar perdas, há que, em cada segundo, armazenar 9R bit; estando posta de parte o recurso a memórias de entrada, resta colocar memória nas saídas 2. Se, todavia, se proibir o recurso a memórias nas saídas, então, novamente com o fito de evitar perdas, a solução será: dotar cada saída com um ritmo de saída de, ao menos, 10 Rbps. 14. Um "router" tem as seguintes três entradas na sua tabela de expedição: ( /19,A); ( /21,B); ( /22,C). Por qual das interfaces é expedido um datagrama com destino a ? Na decisão de "por onde" encaminhar um datagrama, um "router" baseia-se no endereço-de-destino desse datagrama. Tais endereços montam a 32 bits (em IPv4); mas, por mor de compactar as tabelas de encaminhamento, é política comum os "routers" associarem, a cada saída, blocos de endereços. É desperdício de memória registar que datagramas cujos endereços-ip sejam , ou ou ,, ou (um total de endereços), devem ser encaminhados por A: é preferível uma única entrada ( / 19, A), - com o significado óbvio: deve ser enviado por A "qualquer" datagrama cujos primeiros bits (à esquerda) do endereço-de-destino coincidam exactamente com os primeiros dezanove (19) bits de As restantes informações disponibilizadas no enunciado têem significados similares. As "aspas" em "qualquer" remetem para o seguinte: tais entradas poderão ser contraditórias! Por ex., a segunda entrada estabelece que um datagrama de endereço deve ser encaminhado por B mas tal colide com o que a entrada precedente estabelece! A regra para resolver tal conflito é a seguinte: prevalece a entrada a que estiver associado um número maior de bits de endereço-ip; em termos práticos, a ordem de confronto do endereço do datagrama em causa com a tabela de encaminhamento deve ser: 3ª entrada (22 bits) 2ª entrada (21 bits) 1ª entrada (19 bits), devendo a pesquisa dar-se por finda logo que houver uma correspondência (match). No caso presente, e convertendo para binário os endereços-ip, chega-se a: Datagrama em causa: ª Entrada bits C 2ª Entrada bits B 1ª Entrada bits A Repare-se: os primeiros dois bytes (198.24) não foram expandidos (para 16 bits); de facto, os primeiros dois bytes dos endereços das entradas referidas não se distinguem dos dois primeiros bytes do datagrama: não é por aí que se poderá discernir a solução Já quanto à expansão dos últimos dois bytes das entradas, só se apresentam os bits de facto relevantes; por ex., para a 3ª entrada, são relevantes apenas os primeiros 22 bits; posto que 16 deles são consumidos pelos dois primeiros

19 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 19/41 bytes (198.24), sobram apenas 6 (=22-16) bits, concretamente os seis bits mais significativos da representação binária de 4: Há agora que conferir os 6 bits relevantes da 3ª entrada com os correspondentes bits do endereço do datagrama ( ); são diferentes! Pelo que se passa a conferir os 5 bits relevantes da 2ª entrada com os correspondentes bits do endereço do datagrama (0001 1); de novo, são diferentes! Pelo que se passa a conferir os 3 bits relevantes da 1ª entrada com os correspondentes bits do endereço do datagrama (000); enfim, são iguais! de que se conclui: o datagrama deve ser transmitido através de A. (Nota: não se deverá concluir, pelo método de resolução acima - seguindo a ordem decrescente do número de bits de endereço a conferir -, que os "routers" procedem exactamente assim: as suas tabelas comportam muito mais do que três entradas, o que convoca à consideração de métodos mais rápidos ) 15. Na figura IP03.a, ao ISP1 está atribuído o bloco de endereços /13 e ao ISP2 está atribuído o bloco de endereços /13. Os blocos de endereços das redes RA e RB são retirados do bloco de endereços atribuído ao ISP1, enquanto que o bloco de endereços da rede RC é retirado do bloco de endereços atribuído ao ISP Sabendo que as redes RA, RB e RC necessitam, respectivamente, de 4096, 1024 e 2048 endereços, atribua blocos de endereços a estas redes pela ordem indicada e escolhendo sempre o endereço-base mais baixo possível Suponha que a rede RB muda o seu contrato de prestação de serviços do ISP1 para o ISP2., mantendo o bloco de endereços atribuído anteriormente. Que espaço de endereços é que os ISP1 e ISP2 anunciam para o resto da Internet? ISP1 dispõe de todos os endereços-ip que começam pelos primeiros 13 bits de Posto que estes se volvem em , isso significa que ISP1 dispõe de todos os endereços entre IP Lower = e IP Upper = , inclusivé. Isto monta a um total de 2 19 (=524288) endereços-ip, cfg IP03.b. RA necessita de 4096 endereços-ip. Posto que log 2 (4096)=12, isso remete para endereços cujos últimos 12 bits variem entre 0 0 e 1 1. ISP1, começando pelo endereço mais baixo de que dispõe, e que é IP Lower, entrega a RA todos os endereços até Com isso, o endereço disponível mais baixo em ISP1 passa a ser IP Lower = RB necessita de 1024 endereços-ip. Posto que log 2 (1024)=10, isso remete para endereços cujos últimos 10 bits variem entre 0 0 e 1 1. ISP1, começando pelo endereço mais baixo de que dispõe, e que é IP Lower, entrega a RB todos os endereços até Com isso, o endereço disponível mais baixo em ISP1 passa a ser IP Lower = A terminar, é de bom tom apresentar a solução sob o formato "bloco de endereços" O bloco de endereços atribuído a RA goza das seguintes características: o primeiro endereço é , os primeiros 20 bits são fixos, os últimos 12 bits podem assumir qualquer valor. De uma maneira compacta, ese bloco de endereços representa-se então por /20. Quanto ao bloco de endereços atribuído a RB: o primeiro endereço é , os primeiros 22 bits são fixos, os últimos 10 bits podem assumir qualquer valor. De uma maneira compacta, esse bloco de endereços representa-se então por /22. Para deduzir o bloco de endereços atribuído a RC, o raciocínio é análogo: RC necessita de 2048 endereços-ip. Posto que log 2 (2048)=11, isso remete para endereços cujos últimos 11 bits variem entre 0 0 e 1 1. ISP2 - e por conseguinte cujos primeiros 21 (=32-11) bits estão fixos. Então, começando pelo endereço mais baixo de que dispõe, e que é , entrega a RC o bloco /21. Quanto à resolução da segunda alínea: à partida, os blocos de endereços que ISP1 e ISP2 anunciam para o resto da Internet são, respectivamente, /13 e /13. Após RB alterar o seu contrato de prestação de seviços, os blocos anunciados para o resto da Internet passam a ser: ISP1: /13 (não há qualquer alteração); ISP2: /13 e /22. Será o leitor capaz de entrever por que é que isto não causa problemas? Afinal, o resto da Internet fica com entradas que parecem contradizer-se, [ /13 ISP1] e [ /22 ISP2]

20 Prof V Vargas, Instituto Superior Tecnico Redes de Computadores 12/09/11, Pg 20/ Suponha que um segmento TCP tem 2048 bytes de dados e 20 bytes de cabeçalho. Este segmento tem que atravessar duas ligações para chegar ao destino. A primeira ligação tem um MTU de 1024 bytes e a segunda um MTU de 512 bytes. Indique o comprimento e offsets de todos os fragmentos entregues à camada de rede do destino. Assuma que o cabeçalho de qualquer diagrama IP tem 20 bytes. Relativamente ao segmento TCP em causa, é passado à camada rede um total de 2068 (= ) bytes. Procedimentos relativos à primeira ligação: sendo MTU=1024 bytes, e havendo que reservar, em cada datagrama-ip, 20 bytes para o cabeçalho, sobram 1004 bytes (= ) para os dados - o que é menos que os 2068 bytes do segmento a transmitir. Há, pois, que o fragmentar As regras a observar são: tentar encher cada datagrama o mais possível, e operar a fragmentação em fronteiras de 8 bytes. Quantos bytes de dados é que cada datagrama irá carregar? Repare-se que 1004/8=125,5; por conseguinte, o maior múltiplo de 8 que não excede 1004 é 8*125=1000. Pelo que as regras acima ficarão cumpridas vertendo, no campo dados de cada datagrama (exceptuando o último), 125 blocos de 8 bytes. - numeram-se 0, 1, 2, os blocos de 8 bytes dos dados do segmento; inicializa-se offset=0, cfr IP01.a; - constroi-se um primeiro datagrama, com 125 blocos de 8 bytes do segmento-tcp, contados a partir de offset=0; offset incrementa de 125; ficam sobrando =1068 bytes - constroi-se um segundo datagrama, com 125 blocos de 8 bytes do segmento-tcp, contados a partir de offset=125; offset incrementa de 125; ficam sobrando =68 bytes - constroi-se o terceiro, e último datagrama, com os últimos 68 bytes do segmento-tcp, contados a partir de offset=250 Sumarizando, as características dos datagramas despachados para a primeira ligação são: Cabeçalho Dados Offset MF-Flag Comprimento do datagrama Procedimentos relativos à segunda ligação: sendo MTU=512 bytes, e havendo que reservar, em cada datagrama-ip, 20 bytes para o cabeçalho, sobram 492 bytes para os dados. O primeiro datagrama recebido da primeira ligação transporta 1000 bytes de dados - o que excede esses 492 bytes. Há, pois, que o fragmentar Quantos bytes de dados é que cada fragmento irá carregar? Repare-se que 492/8=61,5. Pelo que em cada fragmento (exceptuando o último), deverão ser colocados 61 blocos de 8 bytes. - constroi-se um primeiro fragmento, com 61 blocos de 8 bytes do datagrama, contados a partir de offset=0; offset incrementa de 61; ficam sobrando =512 bytes - constroi-se um segundo fragmento, com 61 blocos de 8 bytes do datagrama, contados a partir de offset=61; offset incrementa de 61; ficam sobrando =24 bytes - constroi-se o terceiro fragmento, com os últimos 24 bytes do datagrama, contados a partir de offset=122 Para o segundo datagrama proveniente da primeira ligação, o procedimento é análogo. Sumarizando, tem-se o seguinte, à chegada à camada rede do destino, cfr IP01.b:

Controlo de Congestão em TCP {TCPCongestion.doc} TCP - Controlo de congestão

Controlo de Congestão em TCP {TCPCongestion.doc} TCP - Controlo de congestão Prof V Vargas, IST Controlo de Congestão em TCP 03/11/11, Page 1 of 27 Controlo de Congestão em TCP {TCPCongestion.doc} TCP - Controlo de congestão 1. Indique, justificando, se a seguinte afirmação é verdadeira,

Leia mais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Número: Nome: Duração: 1 hora O teste é sem consulta O teste deve ser resolvido

Leia mais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 27 de Janeiro de 2006 Exame de 2ª Época A

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 27 de Janeiro de 2006 Exame de 2ª Época A Número: Nome: Redes de Computadores I Licenciatura em Eng. Informática e de Computadores o Semestre, 27 de Janeiro de 2006 Exame de 2ª Época A Duração: 2,5 horas A prova é sem consulta A prova deve ser

Leia mais

Redes de Computadores. Trabalho de Laboratório Nº7

Redes de Computadores. Trabalho de Laboratório Nº7 Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Trabalho de Laboratório Nº7 Análise do tráfego na rede Protocolos TCP e UDP Objectivo Usar o Ethereal para visualizar

Leia mais

2 Controle de Congestionamento do TCP

2 Controle de Congestionamento do TCP 2 Controle de Congestionamento do TCP 17 2 Controle de Congestionamento do TCP A principal causa de descarte de pacotes na rede é o congestionamento. Um estudo detalhado dos mecanismos de controle de congestionamento

Leia mais

Nível Transporte (Modelo Internet) {TCP.doc} UDP TCP

Nível Transporte (Modelo Internet) {TCP.doc} UDP TCP Prof V Vargas, IST Nível Transporte (Modelo Internet) 03/11/11, Page 1 of 9 Nível Transporte (Modelo Internet) {TCP.doc} 1. [07T1] Explique como são realizadas as funções de multiplexagem fornecidas pelo

Leia mais

Redes de Computadores. Problemas 2011/2012

Redes de Computadores. Problemas 2011/2012 Licenciatura em Engenharia Eletrónica (LEE) Licenciatura em Engenharia de Redes de Comunicações (LERC) Redes de Computadores Problemas Prof. Paulo Lobato Correia IST, Área Científica de Telecomunicações

Leia mais

4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ.

4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ. 4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ. Redes de Comunicações/Computadores I Secção de Redes de Comunicação de Dados Protocolos

Leia mais

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 1. Avaliação sumário da matéria do capítulo 1

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 1. Avaliação sumário da matéria do capítulo 1 REDES DE COMPUTADORES I 007/008 LEIC - Tagus-Park TPC Nº 1 Avaliação sumário da matéria do capítulo 1 Pergunta: 1 1. Que tipo de Elemento de Rede é um Cliente? 1 Sistema Terminal ou Host Servidor 3 Encaminhador

Leia mais

Métodos de Acesso em Redes de Área Local

Métodos de Acesso em Redes de Área Local Métodos de Acesso em Redes de Área Local (LanAccess.doc) 1. Em termos de métodos de acesso numa rede local/metropolitana, existem hoje várias alternativas. Descreva a topologia e o princípio de funcionamento

Leia mais

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II 1) Explicar os seguintes mecanismos e conceitos do protocolo TCP: 1. Slow Start O algoritmo

Leia mais

Multimédia, Qualidade de Serviço (QoS): O que são?

Multimédia, Qualidade de Serviço (QoS): O que são? Multimédia, Qualidade de Serviço (QoS): O que são? Aplicações Multimédia: áudio e vídeo pela rede ( meios contínuos ) QoS a rede oferece às aplicações o nível de desempenho necessário para funcionarem.

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Transporte Implementação de um Transporte Confiável Slide 1 Transferência Confiável de Dados sobre um Canal Confiável rdt1.0 Uma vez que o canal é confiável, não existe

Leia mais

A Camada de Transporte

A Camada de Transporte A Camada de Transporte Romildo Martins Bezerra CEFET/BA s de Computadores II Funções da Camada de Transporte... 2 Controle de conexão... 2 Fragmentação... 2 Endereçamento... 2 Confiabilidade... 2 TCP (Transmission

Leia mais

Redes de Computadores II. Módulo 1 Introdução e a camada de enlace

Redes de Computadores II. Módulo 1 Introdução e a camada de enlace Redes de Computadores II Módulo 1 Introdução e a camada de enlace 1 A Camada de Enlace Principal objetivo da camada: Comunicar dados entre dois equipamentos de rede conectados ao mesmo meio de transmissão

Leia mais

6 de Julho de 2015. Exercício 23 Para que servem portas na camada de transporte?

6 de Julho de 2015. Exercício 23 Para que servem portas na camada de transporte? Lista de Exercícios Camada de Transporte GBC-056 Arquitetura de Redes de Computadores Bacharelado em Ciência da Computação Universidade Federal de Uberlândia 6 de Julho de 2015 Exercício 1 Para que serve

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Folha de Exercícios 2 Proposta de Resolução 1 Calcule o tempo total necessário para transmitir um ficheiro (transmission delay ou latência de transferência de extremo a extremo) com

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro Material de Apoio VI PROTOCOLOS

Leia mais

Camada Transporte Parte 2. Prof. Dr. S. Motoyama

Camada Transporte Parte 2. Prof. Dr. S. Motoyama Camada Transporte Parte 2 Prof. Dr. S. Motoyama 1 Algoritmo de Janela Deslizante em TCP O TCP clássico emprega um protocolo de janela deslizante com confirmação positiva e sem repetição seletiva. O TCP

Leia mais

Controle de Congestionamento em TCP Parte 2. Prof. Dr. S. Motoyama

Controle de Congestionamento em TCP Parte 2. Prof. Dr. S. Motoyama Controle de Congestionamento em TCP Parte 2 Prof. Dr. S. Motoyama 1 Controle de Congestionamento em TCP Princípios de controle de congestionamento Saber que congestionamento está ocorrendo Adaptar para

Leia mais

Tratamento de erros. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006

Tratamento de erros. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006 Redes de Computadores Tratamento de erros Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006 Ligação de dados Conceitos e objectivos Uma ligação física caracteriza-se

Leia mais

1 Redes de comunicação de dados

1 Redes de comunicação de dados 1 Redes de comunicação de dados Nos anos 70 e 80 ocorreu uma fusão dos campos de ciência da computação e comunicação de dados. Isto produziu vários fatos relevantes: Não há diferenças fundamentais entre

Leia mais

Redes de Computadores (RCOMP 2014/2015)

Redes de Computadores (RCOMP 2014/2015) Redes de Computadores (RCOMP 2014/2015) Desenvolvimento de aplicações de rede UDP e TCP 1 Protocolo UDP ( User Datagram Protocol ) Tal como o nome indica, trata-se de um serviço de datagramas, ou seja

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 Comunicações Capítulo 6.1

Redes de Comunicações Capítulo 6.1 Capítulo 6.1 6.1 - Técnicas de Comutação 1 WAN s Wide Area Networks Uma WAN é uma rede dispersa por uma grande área física, sob o controlo de uma administração única e baseada em circuitos dedicados (exemplo:

Leia mais

Jones Bunilha Radtke. Tarefas:

Jones Bunilha Radtke. Tarefas: Faculdade de Tecnologia SENAC Pelotas Tecnólogo em Redes de Computadores Qualidade de Serviços de Rede Prof. Eduardo Monks Camada de Transporte Parte 2 Jones Bunilha Radtke Tarefas: 1.1) O algoritmo Slow

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Técnicas de comutação Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Maio de 2006 WAN s Wide Area Networks Uma WAN é uma rede dispersa por uma grande área

Leia mais

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de 2007 - Página

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de 2007 - Página Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação 1 Introdução à Camada de Transporte Camada de Transporte: transporta e regula o fluxo de informações da origem até o destino, de forma confiável.

Leia mais

Teleprocessamento e Redes

Teleprocessamento e Redes Teleprocessamento e Redes Aula 19: 29 de junho de 2010 1 camada de transporte camada de rede 2 Questão 1 (Kurose/Ross) camada de transporte camada de rede Um processo em um host C tem um socket UDP com

Leia mais

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

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP alexandref@ifes.edu.br O que é a Internet? Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações Enlaces de comunicação: fibra, cobre, rádio,

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.

Leia mais

Comunicação de Dados

Comunicação de Dados UNISUL 2013 / 1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática 1 Comunicação de Dados Aula 6 Agenda Projeto da camada de enlace de dados Detecção e correção de erros Protocolos

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

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE Capítulo 7 CAMADA DE TRANSPORTE SERVIÇO SEM CONEXÃO E SERVIÇO ORIENTADO À CONEXÃO Serviço sem conexão Os pacotes são enviados de uma parte para outra sem necessidade de estabelecimento de conexão Os pacotes

Leia mais

Camada de Transporte. Protocolos TCP e UDP

Camada de Transporte. Protocolos TCP e UDP Camada de Transporte Protocolos TCP e UDP Protocolo UDP Protocolo de transporte da Internet sem gorduras Serviço best effort, segmentos UDP podem ser: perdidos entregues fora de ordem para a aplicação

Leia mais

Endereçamento {Addressing.doc} Classes de Endereços

Endereçamento {Addressing.doc} Classes de Endereços Prof V Vargas, Instituto Superior Tecnico Endereçamento 03/11/11, Pg 1/10 Endereçamento {Addressing.doc} Classes de Endereços 1. [04E2] Indique a gama de endereços para cada uma das Classes, A, B, C e

Leia mais

3 Qualidade de serviço na Internet

3 Qualidade de serviço na Internet 3 Qualidade de serviço na Internet 25 3 Qualidade de serviço na Internet Além do aumento do tráfego gerado nos ambientes corporativos e na Internet, está havendo uma mudança nas características das aplicações

Leia mais

Eng.ª Informática. Redes de Computadores. Frequência. 4 de Julho de 2006

Eng.ª Informática. Redes de Computadores. Frequência. 4 de Julho de 2006 Eng.ª Informática Redes de Computadores 4 de Julho de 2006 Leia atentamente as perguntas seguintes e responda de forma breve e precisa. Pode acompanhar a suas respostas com figuras de forma a torná-las

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática 90 minutos * 24.05.2013 =VERSÃO A= 1 1. Esta teste serve como avaliação de frequência às aulas teóricas. 2. Leia as perguntas com atenção antes de responder. São 70 perguntas de escolha múltipla. 3. Escreva

Leia mais

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas

Leia mais

Redes de Computadores 1ª Colecção Exercícios diversos 2 de Novembro de 2006 Arquitecturas de comunicação, controlo de acesso ao meio

Redes de Computadores 1ª Colecção Exercícios diversos 2 de Novembro de 2006 Arquitecturas de comunicação, controlo de acesso ao meio I Introdução e modelos de Referência (OSI e TCPIP) ) Considere um sistema de comunicação, cuja arquitectura é baseada num modelo hierárquico e constituído por 4 camadas numeradas de a 4 (da inferior para

Leia mais

Redes de Computadores I. Gabarito da Lista de Exercícios

Redes de Computadores I. Gabarito da Lista de Exercícios Redes de Computadores I Gabarito da Lista de Exercícios 1) Uma rede comutada por circuitos cobra R$ 0,50 por minuto de utilização, comporta até 1000 circuitos simultâneos com capacidade de 64 kbps (cada)

Leia mais

Aulas 22 & 23. Controle de Fluxo e de Congestionamento. Eytan Modiano MIT

Aulas 22 & 23. Controle de Fluxo e de Congestionamento. Eytan Modiano MIT Aulas 22 & 23 Controle de Fluxo e de Congestionamento Eytan Modiano MIT 1 Controle de Fluxo Controle de fluxo: mecanismo fim a fim para controlar o tráfego entre fonte e destinatário. Controle de congestionamento:

Leia mais

1 - Cite o nome dos principais campos de um quadro Ethernet, explicando qual a funcionalidade de cada campo.

1 - Cite o nome dos principais campos de um quadro Ethernet, explicando qual a funcionalidade de cada campo. 1 - Cite o nome dos principais campos de um quadro Ethernet, explicando qual a funcionalidade de cada campo. Endereço de Destino = Endereço MAC de destino Endereço de Origem = Endereço MAC de origem Campo

Leia mais

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz Leandro@sulbbs.com.br

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz Leandro@sulbbs.com.br Camada de Enlace de Dados Prof. Leandro Pykosz Leandro@sulbbs.com.br Introdução A função desta camada parece trivial, pois a máquina A coloca os bits no meio e a máquina B tem que retirar de lá, porem

Leia mais

Técnicas de Múltiplo Acesso em Redes sem Fio, LANs, MANs

Técnicas de Múltiplo Acesso em Redes sem Fio, LANs, MANs Técnicas de Múltiplo Acesso em Redes sem Fio, LANs, MANs UERJ-FEN-DETEL Técnicas de Acesso Múltiplo na Comunicação sem Fio Vários esquemas de acesso múltiplo tem sido utilizados para permitir que vários

Leia mais

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord Encaminhamento em redes instáveis Encaminhamento em redes Ad Hoc Introdução Descoberta de rotas Manutenção de rotas Localização de nós em redes Peer-to-Peer Napster Gnutella Chord Encaminhamento em redes

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 1 Gustavo Reis gustavo.reis@ifsudestemg.edu.br - O que é a Internet? - Milhões de elementos de computação interligados: hospedeiros = sistemas finais - Executando aplicações

Leia mais

Redes de Computadores_Marcelo Furtado Pratica 2- Qualidade de serviços

Redes de Computadores_Marcelo Furtado Pratica 2- Qualidade de serviços Redes de Computadores_Marcelo Furtado Pratica 2- Qualidade de serviços Tarefas: 1) Explicar os seguintes mecanismos e conceitos do protocolo TCP: 1. Slow Start Slow start é um mecanismo do TCP desenvolvido

Leia mais

Aplicações {Applications.doc}

Aplicações {Applications.doc} Prof V Vargas, IST Aplicações 03/11/11, Pg 1/11 Aplicações {Applications.doc} 1. [07T1,10E2.4] Diga quais os métodos que conhece para delimitação de PDUs (Protocol Data Units) ao nível dos protocolos da

Leia mais

Redes de Computadores. Camada de Transporte

Redes de Computadores. Camada de Transporte Redes de Computadores Camada de Transporte Objetivo! Apresentar as características da camada de transporte da arquitetura TCP/IP! Apresentar os serviços fornecidos pela camada de transporte! Estudar os

Leia mais

ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa

ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa ELEMENTOS DE PROTOCOLOS DE TRANSPORTE Fabricio Sousa Elementos de protocolos de transporte 2 Serviço de transporte implementado por um protocolo de transporte usado entre duas entidades de transporte Em

Leia mais

WebSphere MQ Everyplace V2.0.2

WebSphere MQ Everyplace V2.0.2 WebSphere MQ Everyplace V2.0.2 ii WebSphere MQ Everyplace V2.0.2 Índice Configurando Comunicações..... 1 Considerações sobre o Sistema Operacional....1 Atributos...............1 Mensagens...............1

Leia mais

Redes de Computadores 3ª Colecção Exercícios diversos 16 de Dezembro de 2005 Spanning Tree, Protocolo IP, Encaminhamento em redes IP e Cam.

Redes de Computadores 3ª Colecção Exercícios diversos 16 de Dezembro de 2005 Spanning Tree, Protocolo IP, Encaminhamento em redes IP e Cam. I Bridging Transparente Spanning Tree 1) Considere a rede local, da figura. Admitindo que as bridges são transparentes e correm o algoritmo Spanning Tree (IEEE 802.1d) HOST Y HOST Z HOST X Bridge Prioridade

Leia mais

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Um pouco sobre Pacotes e sobre os protocolos de Transporte Um pouco sobre Pacotes e sobre os protocolos de Transporte O TCP/IP, na verdade, é formado por um grande conjunto de diferentes protocolos e serviços de rede. O nome TCP/IP deriva dos dois protocolos mais

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 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, independentemente

Leia mais

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento Professor Rene - UNIP 1 Revisão... Segmento A unidade de dados trocada entre as entidades de transporte é denominada

Leia mais

Projecto de Programação MEEC - 2010/2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Projecto de Programação MEEC - 2010/2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização do estado de

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

Subcamada MAC. O Controle de Acesso ao Meio

Subcamada MAC. O Controle de Acesso ao Meio Subcamada MAC O Controle de Acesso ao Meio Métodos de Acesso ao Meio As implementações mais correntes de redes locais utilizam um meio de transmissão que é compartilhado por todos os nós. Quando um nó

Leia mais

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Prof. Silvana Rossetto (DCC/IM/UFRJ) 1 13 de julho de 2010 Questões 1. Qual é a diferença fundamental entre um roteador

Leia mais

CCNA 1 Conceitos Básicos de Redes. Módulo 11 Camada de Transporte TCP/IP Camada de Aplicação

CCNA 1 Conceitos Básicos de Redes. Módulo 11 Camada de Transporte TCP/IP Camada de Aplicação CCNA 1 Conceitos Básicos de Redes Módulo 11 Camada de Transporte TCP/IP Camada de Aplicação Camada de Transporte TCP/IP 2 Introdução à Camada de Transporte As responsabilidades principais da camada de

Leia mais

Sistemas Operativos - 2005/2006. Trabalho Prático v1.0

Sistemas Operativos - 2005/2006. Trabalho Prático v1.0 Instituto Politécnico de Viseu Escola Superior de Tecnologia de Viseu Engenharia de Sistemas e Informática Sistemas Operativos - 2005/2006 Trabalho Prático v1.0 Introdução O presente trabalho prático visa

Leia mais

PEL/FEN Redes de Computadores 2015/1 Primeira Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein

PEL/FEN Redes de Computadores 2015/1 Primeira Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein PEL/FEN Redes de Computadores 2015/1 Primeira Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein 1) Descreva os tipos de topologias utilizadas em redes de computadores, destacando suas principais vantagens

Leia mais

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre Exercícios de Revisão Redes de Computadores Edgard Jamhour Segundo Bimestre Exercicio 1: Considere a seguinte configuração de rede estruturada em VLANs 220.0.0.2/24 C VLAN 2 B VLAN 1 A VLAN 1 VLAN 1,2,3

Leia mais

Camada de Transporte TCP/IP e Aplicação

Camada de Transporte TCP/IP e Aplicação Universidade do Sul de Santa Catarina Camada de Transporte TCP/IP e Aplicação 1 Camada de Transporte Os serviços de transporte incluem os seguintes serviços básicos: Segmentação de dados de aplicações

Leia mais

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2 REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2 Avaliação sumária da matéria do Capítulo 2 Pergunta: 1 A figura (ver Anexo) ilustra três diagramas de mensagens referentes a pedidos que clientes

Leia mais

Controle de Erro em Redes de Computadores

Controle de Erro em Redes de Computadores Controle de Erro em Redes de Computadores Prof. S. Motoyama Aula 24 Motoyama: Controle de Erro 1 Enlace de Dados O controle de erro em redes de computadores é feito na camada enlace de dados (ou na camada

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

Módulo 8 Ethernet Switching

Módulo 8 Ethernet Switching CCNA 1 Conceitos Básicos de Redes Módulo 8 Ethernet Switching Comutação Ethernet 2 Segmentação de Redes Numa Ethernet o meio de transmissão é compartilhado Só um nó pode transmitir de cada vez. O aumento

Leia mais

Aula 03 Regras de Segmentação e Switches

Aula 03 Regras de Segmentação e Switches Disciplina: Dispositivos de Rede II Professor: Jéferson Mendonça de Limas 4º Semestre Aula 03 Regras de Segmentação e Switches 2014/1 19/08/14 1 2de 38 Domínio de Colisão Os domínios de colisão são os

Leia mais

Redes de computadores. Redes para Internet

Redes de computadores. Redes para Internet Redes de computadores Redes para Internet Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações distribuídas Enlaces de comunicação fibra, cobre, rádio, satélite

Leia mais

Capítulo 4 - Roteamento e Roteadores

Capítulo 4 - Roteamento e Roteadores Capítulo 4 - Roteamento e Roteadores 4.1 - Roteamento Roteamento é a escolha do módulo do nó de origem ao nó de destino por onde as mensagens devem transitar. Na comutação de circuito, nas mensagens ou

Leia mais

Acronis Servidor de Licença. Manual do Utilizador

Acronis Servidor de Licença. Manual do Utilizador Acronis Servidor de Licença Manual do Utilizador ÍNDICE 1. INTRODUÇÃO... 3 1.1 Descrição geral... 3 1.2 Política de licenças... 3 2. SISTEMAS OPERATIVOS SUPORTADOS... 4 3. INSTALAR O SERVIDOR DE LICENÇA

Leia mais

3. Comunicação em Sistemas Distribuídos

3. Comunicação em Sistemas Distribuídos 3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas

Leia mais

Notas da Aula 6 - Fundamentos de Sistemas Operacionais

Notas da Aula 6 - Fundamentos de Sistemas Operacionais 1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a

Leia mais

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede Nível de Enlace Enlace: caminho lógico entre estações. Permite comunicação eficiente e confiável entre dois computadores. Funções: fornecer uma interface de serviço à camada de rede; determinar como os

Leia mais

Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes;

Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes; 2.3 A CAMADA DE REDE! Fornece serviços para o nível de transporte, sendo, freqüentemente, a interface entre a rede do cliente e a empresa de transporte de dados (p.ex. Embratel).! Sua principal função

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES O QUE É PROTOCOLO? Na comunicação de dados e na interligação em rede, protocolo é um padrão que especifica o formato de dados e as regras a serem seguidas. Sem protocolos, uma rede

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Redes e Serviços Internet (5388)

Redes e Serviços Internet (5388) Ano lectivo 2010/2011 * 2º Semestre Licenciatura em Engenharia Informática Aula 4 1 Agenda Redes e Serviços Internet (5388) Trabalho individual teórico Comunicação na camada de Dados (Data) Adaptação dos

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE Capítulo 7 CAMADA DE TRANSPORTE INTRODUÇÃO (KUROSE) A Camada de Rede é uma peça central da arquitetura de rede em camadas A sua função é a de fornecer serviços de comunicação diretamente aos processos

Leia mais

Protocolo Ethernet e Dispositivos de Interconexão de LANs

Protocolo Ethernet e Dispositivos de Interconexão de LANs Protocolo Ethernet e Dispositivos de Interconexão de LANs Prof. Rafael Guimarães Redes de Alta Velocidade Tópico 4 - Aula 1 Tópico 4 - Aula 1 Rafael Guimarães 1 / 31 Sumário Sumário 1 Motivação 2 Objetivos

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores 11 de Junho de 2004 Nota prévia O exame tem duração de duas horas e 30 minutos. Não se esqueça de identificar todas as folhas com o seu nome e número. Só poderá haver desistências

Leia mais

Projecto de Modelação, Engenharia de Software e Sistemas Distribuídos 2008-09. Requisitos para a 3ª entrega do projecto.

Projecto de Modelação, Engenharia de Software e Sistemas Distribuídos 2008-09. Requisitos para a 3ª entrega do projecto. Departamento de Engenharia Informática Modelação, Engenharia de Software, Sistemas Distribuídos Requisitos para a 3ª entrega do projecto Test O Matic 10 de Maio de 2009 1 Índice 1 Índice... 1 2 Sumário...

Leia mais

Mestrado em Engª de Redes de Comunicações. Redes de Comunicações Móveis Trabalho de Laboratório (2007/2008)

Mestrado em Engª de Redes de Comunicações. Redes de Comunicações Móveis Trabalho de Laboratório (2007/2008) Mestrado em Engª de Redes de Comunicações Redes de Comunicações Móveis Trabalho de Laboratório (2007/2008) 2007-10-18 Configuração, caracterização, desempenho e limitações de redes sem fios IEEE802 Objectivo

Leia mais

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino. Redes de Computadores Transporte Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Camada de transporte Sua função é: Promover uma transferência de dados confiável e econômica

Leia mais

switches LAN (rede de comunicação local)

switches LAN (rede de comunicação local) O funcionamento básico de uma rede depende de: nós (computadores) um meio de conexão (com ou sem fios) equipamento de rede especializado, como roteadores ou hubs. Todas estas peças trabalham conjuntamente

Leia mais

Camada de Ligação de Dados

Camada de Ligação de Dados Camada de Ligação de Dados Serviços Detecção e correcção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e Pontes de interligação Tecnologias da camada de ligação de dados Ethernet Anel

Leia mais

Redes de Computadores. Camada de Transporte de Dados: protocolos TCP e UDP Prof. MSc Hugo Vieira L. Souza

Redes de Computadores. Camada de Transporte de Dados: protocolos TCP e UDP Prof. MSc Hugo Vieira L. Souza Redes de Computadores Camada de Transporte de Dados: protocolos TCP e UDP Prof. MSc Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo ou quaisquer

Leia mais

Rede de Computadores II

Rede de Computadores II Rede de Computadores II Slide 1 Roteamento Determinar o melhor caminho a ser tomado da origem até o destino. Se utiliza do endereço de destino para determinar a melhor rota. Roteador default, é o roteador

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais Brad Hards Tradução: Pedro Morais 2 Conteúdo 1 Introdução 5 2 O protocolo do Remote Frame Buffer 6 3 Utilizar o Desktop Sharing 7 3.1 Gerir convites do Desktop Sharing............................ 9 3.2

Leia mais

Questionário de RC Nota3

Questionário de RC Nota3 Questionário de RC Nota3 Entrega: Individual e escrita à mão. Data de entrega: 30/10. Em todas as questões deverão constar o desenvolvimento da sua resposta, caso contrário a questão será desconsiderada.

Leia mais

ADSE DIRECTA - PROTOCOLOS DE DOCUMENTOS REGIME LIVRE MANUAL DE APOIO AOS ORGANISMOS

ADSE DIRECTA - PROTOCOLOS DE DOCUMENTOS REGIME LIVRE MANUAL DE APOIO AOS ORGANISMOS ADSE DIRECTA - PROTOCOLOS DE DOCUMENTOS REGIME LIVRE MANUAL DE APOIO AOS ORGANISMOS Este documento destina-se a apoiar os serviços processadores na elaboração dos protocolos dos documentos de despesa em

Leia mais