Prof. Claudio Benossi Aula 06 Aula passada Camadas de protocolos ◦ Modelo de referência OSI Atrasos Exercícios Conjunto de regras que determinam como deve ocorrer a comunicação entre duas estações em uma rede ◦ Mensagens específicas são enviadas ◦ Ações específicas são tomadas Em redes de computadores Pedido de conexão Protocolos definem formato, ordem de mensagens enviadas e recebidas entre entidades de rede e ações tomadas ao enviar ou receber uma mensagem. Resposta positiva GET: http://www.inf.unisinos.br <arquivo> tempo Redes de computadores modernas ◦ organizadas de uma forma estruturada ◦ componentes hierarquizados em camadas Por quê? ◦ isolar as camadas superiores dos detalhes de implementação dos níveis inferiores ◦ possibilitar a substituição da implementação de uma camada por outra Redes são complexas! ◦ Muitos componentes Hosts Roteadores Enlaces Aplicações Protocolos Hardware, Software… Pergunta: Como organizar melhor a estrutura da rede? Divisão em camadas Modelo de Camadas • Por que usar camadas? • Ao lidar com sistemas complexos: – Estrutura explícita permite identificação de relações entre componentes do sistema complexo. • Modelo de referência para discussão. – Modularização facilita implementação, atualização do sistema • Mudanças de implementação do serviço da camada é transparente ao resto do sistema • Exemplo: mudança no procedimento do portão não afeta o resto do sistema Modelo de Referência OSI ◦ Conjunto de diretrizes para permitir interconexão de redes heterogêneas ◦ Define sete camadas cada um com um conjunto de funções específicas Aplicação Apresentação Sessão Transporte Rede Enlace Física Máquina A Máquina B Protocolo de aplicação Aplicação Apresentação Sessão Protocolo de apresentação Protocolo de sessão APDU PPDU SPDU Protocolo de transporte TPDU Transporte SUB-REDE DE COMUNICAÇÕES Rede pacote Enlace quadro Físico bit Roteador Roteador Nível Físico Aplicação ◦ transmissão de bits através do canal de comunicação Apresentação manipulação das características mecânicas, elétricas, funcionais e procedurais para acessar o meio físico Taxas de transferência Controle de acesso ao meio Move os bits através do meio de transmissão Sessão Transporte Rede Enlace Física Nível de Enlace ◦ Transmite/recebe conjuntos de bits chamados quadros (frames) ◦ Detecta/corrige erros do meio de transmissão ◦ Implementado parte em software, parte em firmware (programação permanente da placa de rede) Aplicação Apresentação Sessão Transporte Rede Enlace Física Nível de Rede ◦ Permite que os dados sejam enviados em pacotes a máquinas em outras redes que não a local Roteamento Localização dos computadores na Internet ◦ Rota do pacote Aplicação Apresentação Sessão Transporte Rede Enlace Física Nível de Transporte ◦ provê comunicação transparente e confiável entre pontos finais ◦ Provê ordenação Aplicação Apresentação Sessão Transporte Rede Enlace Física Nível de Sessão ◦ Noção de “período de utilização” Tempo durante o qual um usuário interage com o sistema Ex.: Autenticação no site do banco é válida por alguns minutos Aplicação Apresentação Sessão Transporte Rede Enlace Física Nível de Apresentação Aplicação ◦ provê independência para as aplicações em relação às diferentes formas de representação dos dados Apresentação Converte dados para um formato conhecido pelo protocolo Compressão de dados e criptografia Nível de Aplicação ◦ transferência de arquivos, e-mail ◦ terminal virtual ◦ serviço de diretórios Sessão Transporte Rede Enlace Física Modelo de Referência OSI ◦ Não obteve êxito comercial ◦ Modelo Internet cresceu mais rapidamente ◦ Modelo OSI muito complexo Primeiras versões demoraram a ser lançadas e não tinham bom desempenho ◦ Modelo Internet mais simples e eficiente Aplicação Apresentação Sessão Transporte Rede Enlace Física Nem sempre precisamos usar todas as camadas O software de rede não deve exigir isso! ◦ Ex.: FTP não usa criptografia, Email não usa a noção de sessão É possível, portanto, fazer um programa que usa diretamente a camada de rede, por exemplo Pilha de Protocolos da Internet ◦ Aplicação: suporta aplicações de rede FTP, SMTP, HTTP ◦ Transporte: transferência de dados entre sistemas terminais Aplicação Transporte TCP, UDP ◦ Rede: roteamento de datagramas da origem ao destino IP ◦ Enlace: transferência de dados entre elementos de rede vizinhos PPP, ethernet ◦ Física: bits “nos fios” Rede Enlace Física Comunicação vertical ◦ Cada nível comunica-se apenas com camadas adjacentes ◦ Dentro do mesmo dispositivo Comunicação horizontal ◦ Camadas adicionam informações de controle no cabeçalho da mensagem (overhead) ◦ No destino, cada camada processa o cabeçalho referente a sua camada no host de origem Aplicação Transporte Rede Enlace Física • Cada camada: – Distribuída – “Entidades” implementam funções da camada em cada nó – Entidades realizam ações, trocas de mensagens com pares Aplicação Transporte Rede Enlace Física Rede Enlace Física Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física • Ex.: transporte – Obtém dado da aplicação – Inclui informação para confiabilidade – Envia datagrama ao par – Espera receber “ack” (confirmação) do par dados Aplicação Transporte Rede Enlace Física dados Rede Enlace Física ack Aplicação Transporte Rede Enlace Física dados Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física dados Aplicação Transporte Rede Enlace Física Rede Enlace Física Aplicação Transporte Rede Enlace Física dados Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física Cada camada recebe dados da camada superior Acrescenta um cabeçalho com informação para criar nova unidade de dados Passa nova unidade de dados para camada inferior M Ht M Hn Ht M Hl Hn Ht M Origem Destino Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física M Mensagem Ht M Segmento Hn Ht M Datagrama Hl Hn Ht M Quadro Atrasos Transmissor ou origem Canal de comunicação interface interface dado Receptor ou destino Enquanto um pacote viaja de um nó (seja um host ou roteador) até o nó subseqüente, o pacote sofre diversos tipos diferentes de retardo (ou atraso) em cada nó ao longo do trajeto Os mais importantes são: ◦ ◦ ◦ ◦ ◦ Atraso Atraso Atraso Atraso Atraso de processamento nodal -> Dpro de enfileiramento -> Dqueue de transmissão -> Dtrans de propagação -> Dprop nodal total -> Dnodal Transmissão A B Propagação Processamento nodal Enfileiramento • • • (Dproc) Atraso de processamento: o tempo necessário para examinar o cabeçalho do pacote e determinar onde enviar o pacote é parte do atraso de processamento O atraso de processamento pode também incluir outros fatores, tais como o tempo necessário para verificar se há erros eventualmente ocorridos ao transmitir os bits do pacote do host ao roteador A Os atrasos de processamento em roteadores de alta velocidade estão tipicamente na ordem de microssegundos ou menores. Após este processamento nodal, o roteador envia o pacote à fila que precede a ligação até o roteador B Transmissão A B Propagação Processamento nodal Enfileiramento • • • • Uma vez na fila o pacote experimenta um atraso de enfileiramento Dqueue enquanto espera para ser transmitido na ligação. O atraso de enfileiramento de um pacote específico dependerá da quantidade de outros pacotes que chegaram anteriormente, que são enfileirados e estão aguardando a transmissão através do enlace. Se a fila estiver vazia e nenhum outro pacote estiver sendo transmitido no momento, então o atraso de enfileiramento do pacote é zero. Já se o tráfego for pesado e muitos outros pacotes também estiverem esperando para ser transmitidos, o atraso de enfileiramento será longo. Transmissão A B Propagação Processamento nodal Enfileiramento • O pacote só pode ser transmitido se todos os pacotes que chegaram antes já tiverem sido transmitidos. • Tendo o comprimento do pacote representado por L bits e considere a taxa de transmissão do enlace roteador A ao roteador B de R bits/sec • A taxa R é determinada pela taxa de transmissão do enlace ao roteador B – Ethernet-10Mbps, a taxa é R=10 Mbps – Ethernet-100Mbps, a taxa é R=100 Mbps • O atraso de transmissão é L/R. Esta é a quantidade de tempo necessário para transmitir todos os bits do pacote para o enlace. Na prática, os atrasos de transmissão estão tipicamente na ordem dos microsegundos ou menos. R = banda do enlace (bps) L = tamanho do pacote (bits) Tempo para transmitir pacote no enlace = L/R Transmissão A B Propagação Processamento nodal Enfileiramento Cuidado para não confundir com atraso de propagação • (Dprop) PROPAGAÇÃO: – Uma vez que um bit seja empurrado no link, ele necessita propagar para o roteador seguinte (B). O tempo gasto para propagar do começo do link até o router B é o atraso de propagação. Bit propaga na velocidade da propagação do link – A velocidade de propagação depende do meio físico do link (i.e., fibra, fio de cobre....) – O atraso da propagação é a distância entre os dois roteadores dividida pela velocidade da propagação no link. Isto é, o atraso da propagação é D/S, onde D está a uma distância entre os roteadores A e B, e S é a velocidade de propagação no link. – Em redes WAN, os atrasos de propagação estão na ordem de milisegundos. D = distância do enlace físico S = velocidade de propagação média (~2x108 m/seg ~velocidade da luz) Atraso de propagação = D/S Transmissão A B Propagação Processamento nodal Enfileiramento • Importante entender a diferença entre atraso de propagação e atraso de transmissão. A diferença é sútil, mas importante. – Atraso de transmissão: quantidade de tempo exigida para o roteador “empurrar” o pacote. É uma função do comprimento do pacote e da taxa de transmissão do link, mas não tem relação com a distância entre dois roteadores. – Atraso de propagação: tempo que um bit leva para propagar de um roteador ao seguinte. É uma função da distância entre os dois roteadores, mas não tem relação com o comprimento do pacote, nem com a taxa de transmissão da ligação. • Uma analogia pode esclarecer as noções do atraso da transmissão e da propagação • Considere uma estrada que tenha uma cabine de pedágio a cada 100 quilômetros. • Pensar nos segmentos da estrada entre cabines do pedágio como links, e as cabines do pedágio como routers. • Suponha que os carros viajam na estrada a uma taxa (instantânea) de 100Km/h (isto é, propagação). • Há uma caravana de 10 carros que estão viajando juntos. • Pensar em cada carro como um bit e o comboio como um pacote. • Cada cabine de pedágio presta serviços para cada carro em um tempo de 12 segundos (isto é, transmite 5 carros/minuto) • A caravana, são os únicos carros na estrada • Sempre que o primeiro carro da caravana chega em uma cabine de pedágio, espera até os nove outros carros chegarem e se alinharem atrás dele (caravana inteira é “armazenada” na cabine do pedágio antes de começar a ser “enviada”) • O tempo necessário para a cabine do pedágio “empurrar” (servir) a caravana inteira na estrada é: [10 carros / (5 carros/minuto)] = 2 minutos. – R = banda do enlace (bps) – L = tamanho do pacote (bits) Este tempo é análogo ao atraso de transmissão em um roteador • O tempo para um carro viajar desde a saída de uma cabine até a próxima é: – 100Km / (100Km/h) = 1hora Este tempo é análogo ao atraso da propagação. • Considerando Dproc, Dqueue, Dtrans, e Dprop denotando respectivamente o atraso de processamento, atraso de fila, atraso de transmissão e atraso de propagação, o atraso total é dado por: dnodal dproc dqueue dtrans dprop A contribuição destes componentes do atraso pode variar significativamente • A capacidade da fila não é infinita, os pacotes se perdem • Um pacote pode chegar e encontrar uma fila cheia. Sem lugar para armazenar tal pacote, o roteador descartará esse pacote, isto é, o pacote será perdido • De um ponto de vista da extremidade do sistema, isto parece com um pacote que está sendo transmitido para o núcleo da rede, mas nunca emergindo da rede no destino • A fração de pacotes perdidos aumenta enquanto a intensidade de tráfego aumenta. Consequentemente, o desempenho em um nó é medido não somente nos termos do atraso, mas também nos termos da probabilidade de perda do pacote • Até agora foi visto apenas o atraso nodal, istó é, o atraso em um único roteador. • Deve-se tratar do atraso TOTAL da origem ao destino. Suponha que há outros (Q-1) routers entre o host origem e o host destino. Suponha que: – A rede não é congestionada, os atrasos de fila são insignificantes – O atraso de processamento em cada roteador e também na origem é Dproc – A taxa de transmissão de cada roteador e da origem é R bits/seg – O atraso de propagação entre cada nó ou roteadores, e entre o host origem e o primeiro roteador é Dprop. – Os atrasos nodais se acumulam, resultando em um atraso fim-a-fim: Dend-end = Q (Dproc + Dtrans + Dprop) 1.) Considere dois hosts A e B, conectados por um único enlace com taxa de R bits por segundo (b/s). Suponha que estes dois hosts estejam separados por d metros, e que a velocidade de propagação neste enlace seja de s metros por segundo. O host A tem que enviar um pacote de L bits ao host B. Pede-se: a.) Escreva o atraso de propagação dprop em termos de d e s. b.) Determine o tempo de transmissão dtrans, em termos de L e R. c.) Ignorando os atrasos de processamento e de fila, obtenha uma expressão para o atraso fim-a-fim, justificando-a. d.) Suponha que o host A comece a transmitir o pacote no instante t = 0. Neste caso, no instante t = dtrans onde estará o último bit do pacote? Justifique. e.) Suponha que dprop é MAIOR que dtrans. Onde estará o primeiro bit do pacote no instante t = dtrans ? f.) Suponha dprop seja MENOR do que dtrans. Onde estará o primeiro bit do pacote no instante t = dtrans ? g.) Suponha que s = 2,5 x 108 m/s, L= 100 bits e R = 28 Kbps. Para qual distância d temos dprop igual a dtrans? a) dprop = (d / s ) SEGUNDOS b) dtrans = (L / R ) SEGUNDOS c) Uma vez que o atraso de fila e o atraso de processamento são nulos, e os hosts estão conectados por um único enlace, o atraso nodal total fim a fim será apenas a soma do atraso de propagação com o atraso de transmissão, portanto temos que Dend-end = [(L/R) + (d/s)] SEGUNDOS d) O último bit já está no enlace, partindo do host A. e) O primeiro bit está no enlace, no caminho entre os hosts A e B, mas ainda Não chegou em B. f) O primeiro bit já chegou no host B. g) d/s = (L/R) d/2,5x108m/s = (100b/28000b/s) d = 2,5x108m/s / 280s d = 250000000m / 280 d = 892857,1429m (aproxim. 893 Km) 1.) Considere dois hosts X e Y, conectados por um único enlace com taxa de 50 Mbps. Estes dois hosts estão separados por 300 kilômetros, e a velocidade de propagação neste enlace é de 2,5 x 108 metros por segundo. O host X tem que enviar um pacote de 3 Mbits ao host B. Pede-se: a) Qual o atraso de propagação? b) Qual o atraso de transmissão? c) Ignorando os atrasos de processamento e de fila, qual é o atraso fim-a-fim neste caso? d) Que tamanho de pacote seria necessário para que o atraso de transmissão fosse igual ao atraso de propagação? f ) Para qual distância d temos dprop igual a dtrans? e) Se o enlace fosse substituído por um enlace de 1Gbps, qual seria o atraso total (desconsiderando fila e processamento)?