460 likes | 668 Views
Camadas de Protocolos e Atrasos. Prof. Claudio Benossi. Sumário. Aula passada Camadas de protocolos Modelo de referência OSI Atrasos Exercícios. Protocolos. Conjunto de regras que determinam como deve ocorrer a comunicação entre duas estações em uma rede
E N D
Camadas de Protocolos e Atrasos Prof. Claudio Benossi
Sumário • Aula passada • Camadas de protocolos • Modelo de referência OSI • Atrasos • Exercícios
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
Protocolos • Em redes de computadores Pedido de conexão Resposta positiva Protocolos definem formato, ordem de mensagens enviadas e recebidas entre entidades de rede e ações tomadas ao enviar ou receber uma mensagem. GET: http://www.inf.unisinos.br <arquivo> tempo
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
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
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
Aplicação Apresentação Sessão Transporte Rede Enlace Física 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
Máquina B Máquina A Protocolo de aplicação APDU Aplicação Protocolo de apresentação PPDU Apresentação Protocolo de sessão Sessão SPDU Protocolo de transporte TPDU Transporte SUB-REDE DE COMUNICAÇÕES pacote Rede quadro Enlace bit Físico Roteador Roteador Modelo de Referência OSI
Aplicação Apresentação Sessão Transporte Rede Enlace Física Modelo de referência OSI • 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 • Taxas de transferência • Controle de acesso ao meio • Move os bits através do meio de transmissão
Aplicação Apresentação Sessão Transporte Rede Enlace Física Modelo de referência OSI • 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 Modelo de referência OSI • 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 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 Modelo de referência OSI • 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 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 • Nível de Aplicação • transferência de arquivos, e-mail • terminal virtual • serviço de diretórios
Aplicação Apresentação Sessão Transporte Rede Enlace Física 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
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
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 • 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” Aplicação Transporte Rede Enlace Física
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
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 Transporte Rede Enlace Física 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
Camadas: comunicação lógica • 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 Aplicação Transporte Rede Enlace Física Rede Enlace Física dados ack dados Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física
Camadas: comunicação física dados Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física Rede Enlace Física dados Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física
M M Ht Ht M M Hn Hn Ht Ht M M Hl Hl Hn Hn Ht Ht M M 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 Origem Destino Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física Mensagem Segmento Datagrama Quadro
dado Visão geral de uma rede Transmissor ou origem Canal de comunicação interface interface Receptor ou destino
Transmissão A B Propagação Processamento nodal Enfileiramento 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 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 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.
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 bitse 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.
Transmissão A B Propagação Processamento nodal Enfileiramento Atraso de Transmissão • R = banda do enlace (bps) • L = tamanho do pacote (bits) • Tempo para transmitir pacote no enlace = L/R Cuidado para não confundir com atraso de propagação
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.
Transmissão A B Propagação Processamento nodal Enfileiramento 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
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.
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 estradaentre cabines do pedágio como links, e as cabines do pedágio como routers.
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)
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”)
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
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.
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: • A contribuição destes componentes do atraso pode variar significativamente
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
Atraso fim a fim • Até agora foi visto apenas o atraso nodal, istó é, o atraso em um único roteador. • Deve-se tratar do atraso TOTALda 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)
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 dpropem 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 = dtransonde 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 dpropseja 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 bitse R = 28 Kbps. Para qual distância dtemos dpropigual a dtrans?
Respostas • 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.
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)
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 108metros 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 dtemos dpropigual a dtrans? e) Se o enlace fosse substituído por um enlace de 1Gbps, qual seria o atraso total (desconsiderando fila e processamento)?