Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Sumário • Aula passada • Camadas de protocolos – Modelo de referência OSI • Atrasos • Exercícios Redes de Computadores I – Prof. Mateus Raeder Protocolos • 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 Redes de Computadores I – Prof. Mateus Raeder Protocolos • 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 I – Prof. Mateus Raeder Protocolos Hierárquicos • 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 de Computadores I – Prof. Mateus Raeder Camadas de Protocolos • 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 Redes de Computadores I – Prof. Mateus Raeder 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 Redes de Computadores I – Prof. Mateus Raeder Modelo de Camadas • 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 Redes de Computadores I – Prof. Mateus Raeder Modelo de Referência OSI 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 Redes de Computadores I – Prof. Mateus Raeder Modelo de referência OSI Aplicação • Nível Físico – transmissão de bits através do canal de comunicação • manipulação das características mecânicas, elétricas, funcionais e procedurais para acessar o meio físico Apresentação Sessão Transporte – Taxas de transferência – Controle de acesso ao meio Rede • Move os bits através do meio de transmissão Enlace Física Redes de Computadores I – Prof. Mateus Raeder Modelo de referência OSI Aplicação • 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) Apresentação Sessão Transporte Rede Enlace Física Redes de Computadores I – Prof. Mateus Raeder Modelo de referência OSI Aplicação • 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 Apresentação Sessão Transporte Rede – Rota do pacote Enlace Física Redes de Computadores I – Prof. Mateus Raeder Modelo de referência OSI • 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 Redes de Computadores I – Prof. Mateus Raeder Modelo de referência OSI Aplicação • 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 Apresentação Sessão Transporte Rede Enlace Física Redes de Computadores I – Prof. Mateus Raeder Modelo de referência OSI • Nível de Apresentação – provê independência para as aplicações em relação às diferentes formas de representação dos dados • Converte dados para um formato conhecido pelo protocolo • Compressão de dados e criptografia Aplicação Apresentação Sessão Transporte • Nível de Aplicação – transferência de arquivos, e-mail – terminal virtual – serviço de diretórios Rede Enlace Física Redes de Computadores I – Prof. Mateus Raeder Modelo de referência OSI • 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 Redes de Computadores I – Prof. Mateus Raeder Modelo de referência OSI • 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 Redes de Computadores I – Prof. Mateus Raeder Modelo de Camadas • 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 Rede Enlace Física – Física: bits “nos fios” Redes de Computadores I – Prof. Mateus Raeder Modelo de Camadas • 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 Redes de Computadores I – Prof. Mateus Raeder Camadas: comunicação lógica • Cada camada: – Distribuída – “Entidades” implementam funções da camada em cada nó – Entidades realizam ações, trocas de mensagens com pares Aplicaçã o Transport e Rede Enlace Física Aplicaçã o Transport e Rede Enlace Física Rede Enlace Física Aplicaçã o Transport e Rede Enlace Física Aplicaçã o Transport e Rede Enlace Física Redes de Computadores I – Prof. Mateus Raeder Camadas: comunicação lógica • Ex.: transporte dados – Obtém dado da aplicação – Inclui informação para confiabilidade – Envia datagrama ao par – Espera receber “ack” (confirmação) do par Aplicaçã o Transport e Rede Enlace Física dados Aplicaçã o Transport e Rede Enlace Física Rede Enlace Física ack Aplicaçã o Transport e Rede Enlace Física dados Aplicaçã o Transport e Rede Enlace Física Redes de Computadores I – Prof. Mateus Raeder Camadas: comunicação física dados Aplicaçã o Transport e Rede Enlace Física Aplicaçã o Transport e Rede Enlace Física Rede Enlace Física Aplicaçã o Transport e Rede Enlace Física dados Aplicaçã o Transport e Rede Enlace Física Redes de Computadores I – Prof. Mateus Raeder Camadas e protocolos de dados • 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 Redes de Computadores I – Prof. Mateus Raeder Atrasos Redes de Computadores I – Prof. Mateus Raeder Visão geral de uma rede Transmissor ou origem Canal de comunicação interface interface dado Receptor ou destino Redes de Computadores I – Prof. Mateus Raeder Atrasos • 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 de processamento nodal -> Dpro Atraso de enfileiramento -> Dqueue Atraso de transmissão -> Dtrans Atraso de propagação -> Dprop Atraso nodal total -> Dnodal Transmissão A B Propagação Processamento nodal Enfileiramento Redes de Computadores I – Prof. Mateus Raeder Atraso de Processamento • • • (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 Redes de Computadores I – Prof. Mateus Raeder Atraso de enfileiramento (ou fila) • • • • 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 Redes de Computadores I – Prof. Mateus Raeder Atraso de Transmissão • 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. Redes de Computadores I – Prof. Mateus Raeder Atraso de Transmissão • 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 Redes de Computadores I – Prof. Mateus Raeder 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. Redes de Computadores I – Prof. Mateus Raeder Atraso de Propagação • 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 Redes de Computadores I – Prof. Mateus Raeder Atraso de Transmissão x Atraso de Propagação • 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. Redes de Computadores I – Prof. Mateus Raeder Analogia da rodovia • 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. Redes de Computadores I – Prof. Mateus Raeder Analogia da rodovia • 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) Redes de Computadores I – Prof. Mateus Raeder Analogia da rodovia • 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”) Redes de Computadores I – Prof. Mateus Raeder Analogia da rodovia • 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 Redes de Computadores I – Prof. Mateus Raeder Analogia da rodovia • 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. Redes de Computadores I – Prof. Mateus Raeder Atraso Nodal Total • 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: d nodal d proc d queue d trans d prop A contribuição destes componentes do atraso pode variar significativamente Redes de Computadores I – Prof. Mateus Raeder Descarte de pacote • 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 Redes de Computadores I – Prof. Mateus Raeder Atraso fim a fim • 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) Redes de Computadores I – Prof. Mateus Raeder Exercícios 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? Redes de Computadores I – Prof. Mateus Raeder Respostas 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. Redes de Computadores I – Prof. Mateus Raeder Respostas 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) Redes de Computadores I – Prof. Mateus Raeder Exercícios 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)? Redes de Computadores I – Prof. Mateus Raeder Respostas Redes de Computadores I – Prof. Mateus Raeder