Modelo ISO/OSI 1 Modelo ISO/OSI • O modelo ISO/OSI possui 7 camadas. ISO corresponde a International Organization for Standardization, ou Organização Internacional para Padronização, e OSI corresponde a Open System Interconection, ou Sistema de Interconexão aberto. A idéia é "padronizar" para organizar e agilizar os processos. • É interessante notar que a ordem numérica das camadas é decrescente, ou seja, o processo começa na camada física, onde os sinais elétricos são convertidos em zeros e uns, e termina na camada de aplicação, onde atuam protocolos como o FTP por exemplo (File Tranfer Protocol), protocolo para troca de arquivos. 2 1 Modelo ISO/OSI Camada Aplicação Apresentação Sessão Transporte Rede Descrição Application Layer – Provê a interface com o usuário. Presentation Layer – trata da semântica, compressão / descompressão, criptografia e tradução dos dados. Session Layer – Gerencia o “diálogo” entre as portas lógicas e mantém a separação dos dados de diferentes aplicações. Transporte Layer – Provê a comunicação confiável (ou não) e executa verificação de erros antes da retransmissão dos segmentos. Network Layer – Define e gerencia o enderaçamento lógico da rede (ex. IP) Enlace / Link de Dados Data-link Layer – Acomoda os pacotes em “quadros” através do processo de encapsulamento. Detecta erros, porém, não os corrige. Física Physical Layer – Responsável pela movimentação dos bits entre as pontas e pela definição das interfaces, especificações elétricas e de pinagem dos cabos. 3 Modelo ISO/OSI • Para facilitar a memorização das camadas que compõe o modelo OSI, podemos utilizar frases, uma para os nomes das camadas em português e outra para os nomes em inglês. Fique a vontade para criar sua própria frase, caso ache necessário. • Lembre-se : as frases ilustram a inicial de cada camada, partindo da mais alta (Aplicação/Aplication) e indo para a mais baixa (Física/Physical) 4 2 Modelo ISO/OSI • “Amanhã Ao Sair do Trabalho Resolverei Entrar na Faculdade (português)” – (Aplicação / Apresentação / Sessão / Transporte / Rede / Enlace / Física) • “Amanhã Provavelmente Serei Transportado Numa Determinada Perua (inglês)” – (Aplication / Presentation / Session / Transport / Network / Data-Link / Physical) 5 Modelo ISO/OSI • Principais vantagens em se adotar um modelo de referência em camadas : – Divisão de complexas operações de rede em camadas individualmente gerenciáveis (é mais fácil focar numa parte que no todo); – Possibilidade de se alterar elementos de uma camada sem ter de alterar elementos de outras; – Definição de um padrão, possibilitando a interoperabilidade entre os diversos fabricantes. 6 3 Arquitetura de Redes Por Camadas Para compreendermos melhor as vantagens e o funcionamento do modelo OSI vamos tomar como exemplo a necessidade de um diretor de uma empresa, enviar uma mensagem para o diretor de outra empresa. 7 Arquitetura de Redes Por Camadas Em comunicação de dados, ocorre a mesma operação. Utiliza-se uma REDE, para transportar dados entre dois pontos. As especificações das funções de cada nível e os protocolos chama-se de Arquitetura de rede. Para Interligar dois pontos, as arquiteturas destes pontos deverão ser compatíveis. Agora ficará mais fácil de compreendermos o funcionamento do modelo OSI, que nada mais é do que uma arquitetura de redes por camadas. 8 4 Modelo OSI • Na transmissão de um dado cada camada pega as informações passadas pela camada superior, acrescenta informações pelas quais ela seja responsável e passa os dados para camada imediatamente inferior, como mostra a figura do slide 10. Esse processo é conhecido como encapsulamento. • Na camada 4, Transporte, o dado enviado pelo aplicativo é dividido em pacotes. Na camada 2, Link de Dados, o pacote é dividido em vários quadros. Na recepção de um dado, o processo é inverso. 9 10 5 Exemplo • Um usuário que pede ao seu programa de e-mail baixar os seus e-mails. Na verdade está fazendo com que o programa de e-mail inicie uma transmissão de dados com a camada 7 – Aplicação – do protocolo usado, pedindo para baixar os e-mails do servidor de e-mails. • Essa camada processa esse pedido, acrescenta informações de sua competência, e passa os dados para a camada imediatamente inferior, a camada 6 – Apresentação. • Esse processo continua até a camada 1 – Física enviar o quadro de dados para o cabeamento de rede, quando, então, atingirá o dispositivo receptor, que fará o processo inverso, até a sua aplicação. Nesse exemplo, um programa servidor de e-mail. 11 • A comunicação mostrada no slide 94 é a comunicação real de um dado através de uma rede. Na prática acabamos simplificando e falando que uma determinada camada do transmissor comunica-se diretamente com a mesma camada do dispositivo receptor. • Por exemplo, a camada 4 – Transporte, do transmissor comunica-se diretamente com a camada 4 do receptor e simplesmente ignoramos as comunicações efetuadas pelas camadas inferiores existentes. • Essa comunicação virtual ilustrada no slide 97 é possível porque cada camada, durante a criação do pacote que será enviado através da rede, acrescentou o seu próprio cabeçalho, como ilustrado no slide 94. 12 6 Comunicação Virtual no Modelo OSI 13 • A maioria dos protocolos comerciais também trabalham com o conceito de camadas, porém essas camadas não necessariamente possuem o mesmo nome e função das apresentadas no modelo OSI. • Normalmente para cada uma dessas camadas há um protocolo envolvido. • Dessa maneira, muitos protocolos são, na verdade, um conjunto de protocolos, cada um com um papel específico em sua estrutura de camadas. 14 7 • As camadas do modelo OSI podem ser divididas em três grupos: aplicação, transporte e rede, como você confere no slide 16. • As camadas de rede se preocupam com a transmissão e recepção dos dados através da rede e, portanto, são camadas de baixo nível. • A camada de transporte é responsável por pegar os dados recebidos pela rede e repassá-los para as camadas de aplicação de uma forma compreensível, isto é, ela pega os pacotes de dados e transforma-os em dados quase prontos para serem usados pela aplicação. • As camadas de aplicação, que são camadas de alto nível, colocam o dado recebido em um padrão que seja compreensível pelo programa (aplicação) que fará uso desse dado. 15 16 8 Pacotes x Quadros/Frames • Até agora estávamos usando os termos pacotes e quadros como sinônimos, mas estes termos se referem a duas coisas distintas : • Um quadro é um conjunto de dados enviado através da rede, de forma mais "bruta" ou, melhor dizendo, de mais baixo nível. Dentro de um quadro encontramos informações de endereçamento físico, como, por exemplo, o endereço real de uma placa de rede. Logo, um quadro está associado às camadas mais baixas (1 e 2) do modelo OSI. • Um pacote de dados se refere a um conjunto de dados manipulados nas camadas 3 e 4 do modelo OSI. No pacote há informações de endereçamento virtual. • Por exemplo, a camada 4 cria um pacote de dados para ser enviado pela rede e a camada 2 divide esse pacote em vários quadros que serão efetivamente enviados através do cabo da rede. Um pacote, portanto, contém a informação proveniente de vários quadros. 17 Exemplo : Para elucidar diferença, em uma rede usando o protocolo TCP /IP, a camada IP adiciona informações de endereçamento de um pacote (número do endereço IP da máquina de destino), que é um endereçamento virtual. Já a camada Controle de Acesso ao Meio (MAC) - que corresponde à camada 2 do modelo OSI transformará esse pacote em um ou mais quadros e esses quadros terão o endereço da placa de rede de destino (endereço real, físico) que corresponda ao número IP fornecido. Agora veremos cada uma das camadas do modelo OSI e suas funções. As explicações são dadas como se estivéssemos transmitindo um dado do computador A para o computador B. O processo de recepção é o inverso do descrito. 18 9 CAMADA 7 - APLlCAÇÃO • A camada de aplicação faz a interface entre o protocolo de comunicação e o aplicativo que pediu ou receberá a informação através da rede. Por exemplo, se você quiser baixar o seu e-mail com seu aplicativo de e-mail. ele entrará em contato com a camada de Aplicação do protocolo de rede efetuando este pedido. • Entre os aplicativos que trabalham nessa camada, poderíamos citar: FTP, HTTP, Banco de Dados e e-mail. Serve com uma janela em que os processos da aplicação podem acessar os serviços de rede. 19 CAMADA 6 - APRESENTAÇÃO • A camada de Apresentação, também chamada camada de Tradução, converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado na transmissão desse dado, ou seja, um formato entendido pelo protocolo usado. Um exemplo comum é a conversão do padrão de caracteres (código de página) quando, por exemplo, o dispositivo transmissor usa um padrão diferente do ASCII, por exemplo. Pode ter outros usos, como compressão de dados e criptografia. • A compressão de dados pega os dados recebidos da camada sete e os comprime (como se fosse um compactador comumente encontrado em PCs, como o Zip ou o Arj) e a camada 6 do dispositivo receptor fica responsável por descompactar esses dados. A transmissão dos dados torna-se mais rápida, já que haverá menos dados a serem transmitidos: os dados recebidos da camada 7 foram "encolhidos" e enviados à camada 5. • Para aumentar a segurança, pode-se usar algum esquema de criptografia neste nível, sendo que os dados só serão decodificados na camada 6 do dispositivo receptor. 20 10 CAMADA 5 - SESSÃO • A camada de sessão permite que duas aplicações em computadores diferentes estabeleçam uma sessão de comunicação. Nesta sessão, essas aplicações definem como será feita a transmissão de dados e coloca marcações nos dados que estão sendo transmitidos. Se rede falhar, os computadores reiniciam a transmissão dos dados a partir da última marcação recebida pelo computador receptor. • Por exemplo, você está baixando e-mails de um servidor de e-mails e a rede falha. Quando a rede voltar a estar operacional a sua tarefa continuará do ponto em que parou, não sendo necessário reiniciá-la. 21 CAMADA 4 - TRANSPORTE • A camada de Transporte é responsável por pegar os dados enviados pela camada de Sessão e dividi-los em pacotes que serão transmitidos pela rede, ou, melhor dizendo, repassados para a camada de Rede. No receptor, a camada de Transporte é responsável por pegar os pacotes recebidos da camada de Rede e remontar o dado original para enviá-lo à camada de Sessão. Isso inclui controle de fluxo (colocar os pacotes recebidos em ordem, caso eles tenham chegado fora de ordem) e correção de erros, tipicamente enviando para o transmissor uma informação de reconhecimento (acknowledge), informando que o pacote foi recebido com sucesso. • A camada de Transporte separa as camadas de nível de aplicação (camadas 5 a 7) das camadas de nível físico (camadas de 1 a 3). Como você pode facilmente perceber, as camadas de 1 a 3 estão preocupadas com a maneira com que os dados serão transmitidos e recebidos pela rede, mais especificamente com os quadros transmitidos pela rede. Já as camadas de 5 a 7 estão preocupadas com os dados contidos nos pacotes de dados, para serem enviados ou recebidos para a aplicação responsável pelos dados. A camada 4,Transporte, faz a ligação entre esses dois grupos. 22 11 CAMADA 3 - REDE • A camada de Rede é responsável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos, de forma que os pacotes consigam chegar corretamente ao destino. Essa camada também determina a rota que os pacotes irão seguir para atingir o destino, baseada em fatores como condições de tráfego da rede e prioridades. • Como você pode ter percebido, falamos em rota. Essa camada é, portanto, usada quando a rede possui mais de um segmento e, com isso, há mais de um caminho para um pacote de dados trafegar da origem até o destino. 23 CAMADA 2 – ENLACE / LINK DE DADOS • A camada de Link de Dados (também chamada camada de Enlace) pega os pacotes de dados recebidos da camada de Rede e os transforma em quadros que serão trafegados pela rede, adicionando informações como o endereço da placa de rede de origem, o endereço da placa de rede de destino, dados de controle, os dados em si e o CRC (Cyclic Redundancy Check) . • O quadro criado pela camada Link de Dados é enviado para a camada Física, que converte esse quadro em sinais elétricos para serem enviados através do cabo da rede. • Quando o receptor recebe um quadro, a sua camada Link de Dados confere se o dado chegou íntegro, refazendo o CRC. Se os dados estão o.k., ele envia uma confirmação de recebimento (chamada acknowledge ou simplesmente ack). Caso essa confirmação não seja recebida, a camada Link de Dados do transmissor reenvia o quadro, já que ele não chegou até o receptor ou então chegou com os dados corrompidos. 24 12 CAMADA 1 - FÍSICA • A camada Física pega os quadros enviados pela camada de Link de Dados e os transforma em sinais compatíveis com o meio onde os dados deverão ser transmitidos. Se o meio for elétrico, essa camada converte os Os e 1s dos quadros em sinais elétricos a serem transmitidos pelo cabo. Se o meio for óptico (uma fibra óptica), essa camada converte os Os e 1 s dos quadros em sinais luminosos e assim por diante, dependendo do meio de transmissão de dados. • A camada Física especifica, portanto, a maneira com que os Os e 1s dos quadros serão enviados para a rede (ou recebidos da rede, no caso da recepção de dados). Ela não sabe o significado dos Os e 1 s que está recebendo ou transmitindo. Por exemplo, no caso da recepção de um quadro, a camada física converte os sinais do cabo em Os e 1 s e envia essas informações para a camada de Link de Dados, que montará o quadro e verificará se ele foi recebido corretamente. • Como você pode facilmente perceber, o papel dessa camada é efetuado pela placa de rede dos dispositivos conectados em rede. Note que a camada Física não inclui o meio onde os dados circulam, isto é, o cabo da rede. O máximo com que essa camada se preocupa é com o tipo de conector e o tipo de cabo usado para a transmissão e recepção dos dados, de forma que os Os e 1s sejam convertidos corretamente no tipo de sinal requerido pelo cabo, mas o cabo em si não é responsabilidade dessa camada. 25 Padrão IEEE 802 • O IEEE (Institute of Electrical and Electronic Engineers) criou uma série de padrões de protocolos. • A mais importante é a série 802, que é largamente usada e é um conjunto de protocolos usados no acesso a rede. 26 13 Camadas dos protocolos IEEE 802 Como você pode ver na figura, os protocolos IEEE 802 possuem três camadas, que equivalem às camada 1 e 2 do modelo OSI. A camada 2 do modelo OSI no modelo IEEE 802 é dividida em duas : •Controle do Link Lógico (LLC, Logic Link Control) •Controle de Acesso ao Meio (MAC, Media Access Control) 27 Modelo de protocolo usado por dispositivos que usam o protocolo IEEE802 A maioria das redes usa o padrão IEEE 802 para acessar a rede (isto é, o cabeamento), podemos dizer que o modelo de protocolo é o mostrado na figura do slide 29. As camadas 3 a 7 do modelo OSI serão preenchidas de acordo com os protocolos usados pela rede, que poderão equivaler a uma ou mais dessas camadas. 28 14 Modelo de protocolo usado por dispositivos que usam o protocolo IEEE802 29 Padrões IEEE • Existem vários padrões IEEE 802, como IEEE 802.2, IEEE 802.3, etc. O padrão IEE 802.2 especifica o funcionamento da camada de Controle do Link Lógico (LLC). Os demais padrões IEEE operam na camada de Controle de Acesso ao Meio (MAC) e na camada física, como mostra a figura. 30 15 IEEE 802.3 (Ethernet) • Entre os padrões 802, o de maior destaque é o 802.3, que usa o conceito de detecção de colisão chamado CSMA/CD que já estudamos anteriormente. • Inicialmente a transmissão de dados desse padrão era de 10 Mbps, mas como já vimos existem revisões para suportar taxas de transmissão mais altas, 100 Mbps (Fast Ethernet) e 1 Gbps (Gigabit Ethernet). 31 • Os padrões IEEE, além de desempenharem parte do papel da camada 2 do padrão OSI (através da camada de Controle de Acesso ao Meio), desempenham também o papel da camada 1, a camada física. Esses padrões definem outros detalhes como, por exemplo, o tipo de conector que será usado pela placa de rede. • Em geral quando usamos o termo protocolo de rede normalmente estamos nos referindo a protocolos que trabalham nas camadas 3 e 4 do modelo OSI, como o TCP/IP. O padrão Ethernet trabalha nas camadas 1 e 2 e, portanto, podem coexistir com outros protocolos comerciais. 32 16 Representação do que ocorre no mundo real 33 Representação do que ocorre no mundo real • O modelo OSI apresenta um modelo de sete camadas que em princípio, poderia usar até sete protocolos (um para cada camada) para fazer uma rede funcionar. Na prática, para que computadores consigam trabalhar em rede, uma série de protocolos são usados, em geral cada um equivalendo a uma ou mais camadas do modelo OSI. • Os protocolos IEEE 802. trabalham nas camadas 1 e 2 e podem ser usados em conjunto com outros protocolos comerciais, como o TCP/IP. 34 17 Camada Física padrão IEEE 802 • A camada física pega os quadros enviados pela camada de Controle de Acesso ao Meio e os envia para o meio físico (cabeamento). • A camada física do padrão IEEE 802 define também o tipo de topologia usada pela rede e o tipo de conector usado pela placa de rede, e conseqüentemente, o tipo de cabo que será usado. 35 • O mais importante a saber sobre a camada física do padrão IEEE 802 é que ela pega os 0s e 1s enviados pela camada de Controle de Acesso ao Meio e não os envia diretamente para o cabo, sendo esses dados antes codificados. • Para entendermos melhor como essa codificação funciona, vamos estudar o funcionamento de um algoritimo chamado Manchester, ele é usado por redes Ethernet (IEEE 802.3) operando a 10 Mbps. 36 18 Codificação Manchester • A Codificação Manchester transforma um bit 0 em uma descida de 1 para 0 e um bit 1 em uma subida de 0 para 1, como mostra a figura. 37 Codificação Manchester • Esse sistema de codificação obriga o dado transmitido a ter uma inversão de fase (isto é, passar de 0 para 1 ou de 1 para 0) sempre. • Exemplo, se o dado a ser transmitido for 00000000, com essa codificação o dado passará a ter 8 inversões de fase, enquanto originalmente não haveria nenhuma. • • Independentemente do dado que está sendo transmitido, sempre haverá uma inversão de fase por bit transmitido. Dessa maneira, é criado um sistema de sincronismo entre o transmissor e o receptor, isto é, um sistema de clock, embora teoricamente este sinal não exista durante a transmissão. 38 19 Codificação Manchester • No dispositivo receptor esse sinal de clock podeser criado através de um circuito chamado Digital Phase Locked Loop (DPLL), que se encarrega de contar essas variações de fase e gerar um sinal de clock a partir dessas variações. • Como a codificação Manchester obriga a ter uma variação de fase por bit enviado, o receptor, em conjunto com esse circuito gerador de clock, pode facilmente receber os bits que estão sendo enviados, isto é, pode facilmente saber a hora de início e a ahora de término de cada bit enviado, já que haverá um sinal de sincronismo. 39 Codificação Manchester • Normalmente em transmissões em sére, se faz necessário o uso de informações adicionais de start bit e stop bit (que indicam, respectivamente, o início e o fim do byte transmitido) – que se tornam desnecessárias com esse esquema, tornando a transmissão mais rápida e mais eficiente. • No slide seguinte vemos o exemplo de codificação do dado 01001011 usando esta técnica. Como você pode contar, há oito inversões de fase, uma para cada bit. 40 20 Codificação Manchester 41 Controle de Acesso ao Meio (MAC) • Define o uso de um endereço MAC (MAC Adress) em cada placa de rede. • Cada placa de rede existente em um dispositivo conectado à rede possui um endereço MAC único, que é gravado em hardware e teoricamente não há como ser alterado (isto é, a placa de rede vem de fábrica com esse endereço gravado). Esse endereço utiliza seis bytes, como por exemplo, 02608C428197. 42 21 Controle de Acesso ao Meio (MAC) • Os endereços MAC são representados por números em hexadecimal. Cada algarismo em hexadecimal equivale a um número de quatro bits. Dessa forma, um byte é representado por dois algarismos em hexadecimal e, como isso, o endereço MAC é sempre representado como um conjunto de 12 algarismos em hexadecimal. 43 Controle de Acesso ao Meio (MAC) • Estrutura de um endereço MAC : O IEEE padronizou os endereços MAC como mostrado na figura acima : • Os três primeiros bytes são o endereço OUI (Organizationally Unique Identifier), que indicam o fabricante da placa de rede. •Os três último bytes são controlados pelo fabricante da placa de rede, e cada placa de rede produzida por cada fabricante recebe um número diferente. 44 22 Controle de Acesso ao Meio (MAC) • Cada fabricante que quiser produzir placas de rede deve se cadastrar no IEEE para obter seu número OUI • Cada fabricante é responsável por controlar a numeração MAC das placas de rede que produz. • Um mesmo fabricante pode ter mais de um endereço OUI, evitando assim problema de ter produzido mais placas que o o número de endereços disponível que possui para numerar suas placas. 45 Controle de Acesso ao Meio (MAC) • No quadro enviado a rede, a camada de Controle de Acesso ao Meio irá incluir o endereço MAC de origem e de destino. • A placa de rede contendo o endereço de destino irá capturar o quadro, enquanto as demais placas de rede não entrarão em ação naquele momento. 46 23 Controle de Acesso ao Meio (MAC) • A Camada de Controle de Acesso ao Meio controla o uso do cabo. Ela verifica se o cabo está ou não ocupado. Se o cabo estiver ocupado, o quadro não é enviado. • Caso o quadro seja enviado ao mesmo tempo em que outra máquina, haverá uma colisão, que é detectada pelas camadas de Controle de Acesso ao Meio das máquinas envolvidas com a colisão. • Essa camada então espera o cabo ficar livre para tentar uma retransmissão, esperando um período aleatório de tempo, para que não ocorra uma nova colisão. • Esse processo todo é chamado de CSMA/CD. • A camada MAC usa usa um driverr para acessar a camada física, que é justamente o driver da placa de rede. 47 Estrutura de um quadro MAC • O quadro MAC é passado para a camada física (através do driver da placa de rede) para ser enviado para o cabeamento da rede. Os dados presentes no quadro são fornecidos pela camada Controle do Link Lógico (LLC), que estudaremos na seqüência. 48 24 Estrutura de um quadro MAC Num quadro MAC encontramos as seguintes informações: •Preâmbulo : marca o início do quadro. Composto por 7 bytes 10101010. Junto com o SFD forma um padrão de sincronismo, isto é ao encontrar sete bytes 10101010 e um byte 10101011 (ver SFD), o dispositivo sabe estar diante do início de um quadro. Na realidade esse padrão 10101010 gerará, por causa da codificação Manchester, um sinal de clock de 10 Mhz (estamos falando da velocidade padrão Ethernet de 10 Mbps, utilizado no sincronismo entre o transmissor e o receptor. •SFD (Start of Frame Delimiter): é um byte 10101011. •Endereço MAC de destino: Neste campo é incluído o endereço MAC da placa de rede de destino, que possui seis bytes. •Endereço MAC de origem: Informa o endereço MAC da placa de rede que está gerando o quadro, também possui seis bytes. 49 Estrutura de um quadro MAC •Comprimento: Indica quantos bytes estão sento transferidos no campo de dados do quadro. Como veremos, esse tamanho é variável e não fixo. •Dados: são os dados enviados pela camada de controlo de Link Lógico (LLC). Possui um comprimento mínimo de 46 bytes e máximo de 1500 bytes. •Pad: Se a camada LLC enviar menos do que 46 bytes de dados para a camada MAC, serão inseridos dados chamados pad para que o campo de dados atinja o tamanho mínimo de 46 bytes. •FCS (Frame Check Sequence): Possui informaçoes para o controle de correções de erro (CRC). Possui 4 bytes. O CRC é o resultado de uma soma com os dados no campo de dados do quadro MAC. 50 25 Estrutura de um quadro MAC • Sendo o campo de dados do quadro usado em redes Ethernet variável, lembrando que ele pode conter entre 46 e 1500 bytes, o tamanho de um quadro Ethernet também é variável, entre 72 bytes e 1526 bytes. • Se dois quadros forem enviados em sequência e não ocorrerem colisões, haverá um “espaço” em brando esse esses dois quadros, chamado gap, de 9,6 µs 51 Estrutura de um quadro MAC • Vamos supor uma rede Ethernet padrão de com velocidade de 10 Mbps, esse tempo entre os quadros (gap) corresponde a 12 bytes. • Como chegamos a esse valor ? A conta é uma regra de três : 9,6 µs x 10.000.000 bps ÷ 1 s ÷ 8 ( a divisão por oito é para obtermos o resultado em bytes e não em bits ) • Para efeitos de cálculos práticos, devemos levar esse espaço em consideração, portanto na prática o tamanho mínimo de um quadro Ethernet é de 84 bytes e o máximo, 1538 bytes. • O número de quadros por segundo em uma rede Ethernet varia entre 14880 quadros por segundo (quadro com 46 bytes de dados) e 812,74 quadros por segundo (quadro com 1500 bytes de dados). Isso numa rede Ethernet padrão de 10 Mbps. 10 Mbps = 1250000 bytes (10000000 ÷ 8), depois é só dividir pelo tamanho do quadro que já está em bytes. 52 26 Controle do Link Lógico (LLC) • Permite que mais de um protocolo seja usado acima dela (protocolos de camada 3, Rede, no modelo OSI). • Ela define pontos de comunicação entre o transmissor e o receptor chamados SAP. • SAP (Service Access Point, ou Ponto de Acesso a Serviços). • No próximo slide exemplificamos três conexões entre os computadores A e B. Essas conexões poderiam ser efetuadas por três diferentes protocolos na camada superior da pilha de protocolos que está sendo utilizada nos computadores. 53 Controle do Link Lógico (LLC) 54 27 Controle do Link Lógico (LLC) • O papel da camada de Controle do Link Lógico (LLC) é adicionar ao dado recebido informações de quem enviou a informação (o protocolo responsável por passar essa informação) para que, no receptor, a camada de Controlo do Link Lógico consiga entregar a informação ao protocolo de destino, que conseguirá ler a informação corretamente. • Sem essa camada, caso os computadores estivessem usando mais de um protocolo de alto nível, o receptou não entenderia o dado recebido, pois não saberia para qual protocolo (camada 3 no modelo OSI) ele deveria entregar aquele dado. • Portanto a camada Controle do Link Lógico serve para endereçar o quadro de dados a um determinado protocolo da camada 3 do modelo OSI no computador de destino, permitindo que exista mais de um protocolo desta camada nos computadores da rede. 55 Estrutura do Quadro LLC • A camada LLC passa para a camada inferior, MAC, um dado que pode ter um tamanho que varia entre 46 e 1500 bytes. Desses bytes de dados, oito são usados para armazenar informações de controle inseridas por esta camada, sendo que os dados são passada da camada superior (camada de Rede no modelo OSI). Esses dados adicionados são o endereçamento SAP de origem e de destino, que como vimos, significa o protocolo usado na conexão. • Originalmente, um quadro LLC adicionava apenas 3 byte de controle aos dados recebidos das camada superior (SAP de origem, SAP de destino e controle). • O IEEE resolveu padronizar os números SAP (assim como ocorre com os edereços MAC) 56 28 Estrutura do Quadro LLC • Um determinado grupo de bits significa o fabricante/desenvolvedor do protocolo e o outro grupo de bits significa qual é o protocolo. • A estrutura do endereço SAP seria a seguinte: 57 Estrutura do Quadro LLC • O endereço SAP é um número de um byte, sendo que dentro dos oito bits disponíveis, dois são reservados e portanto não podem ser usados no endereçamento. Com isso sobram apenas seis bits. • Dado o grande número de protocolos existentes ou que venham a existir seis bits é muito pouco, inclusive para usar a estrutura proposta no slide anterior, que necessita de cinco bytes (40 bits). 58 29 Estrutura do Quadro LLC • Para que o endereçamento SAP possa funcionar corretamente para indicar o protocolo que enviou o dado a ser transmitido criou-se um novo campo, chamado SNAP (Sub Network Access Protocol, Protocolo de Acesso a sub-rede), que utiliza a estrutura apresentada no slide 60. • Quando o campo SNAP é utilizado, os campos contento os endereços SAP de origem e destino são colocados em 10101010, que indica o uso do campo SNAP para fazer o endereçamento dos protocolos usados. 59 Estrutura de um quadro de controle LLC Nesse quadro encontramos os seguintes campos: •DSAP (Destination Service Access Point): Indica o endereço SAP de destino (possui 1 byte). Se o campo SNAP for usado o valor do DSAP é fixado em 10101010. •SSAP (Source Service Access Point): Indica o endereço SAP de oritem (um byte). Se o campo SNAP for usado, o SSAP é fixado também em 10101010. •Controle : Também chamado CTL. Pode assumir três valores. –UI (Unumbered Information): utilizado quando é transmitido dados. –XID (eXchange IDentification): utilizado para a troca de dados de identificação entre o transmissor e o receptor. 60 30 Estrutura de um quadro de controle LLC –Teste: o transmissor envia um dado e o receptor o envia de volta, para testar a comunicação. •Código: é o código do fabricante/desenvolvedor do protocolo, definido pelo IEEE (ver figura do slide 140). •Tipo: é o código dado pelo fabricante/desenvolvedor ao seu protocolo. 61 Comutação (switching) • Na camada de enlace / link de dados ocorre a comutação (switching) • A comutação é baseada no endereço de hardware, portanto o endereço MAC. • Existem dois equipamentos que fazem a comutação na camada de Enlace: Switches e Bridges. 62 31 Switches x Bridges • Embora Switches e Bridges sejam definidos na camada de Enlace/Link de Dados, ambos são dispositivos bastante diferentes, vamos expandir nesse momento os conceitos básicos que tinhamos até o momento. • As principais diferenças entre Switches e Bridges são: – Bridges possuem processamento baseado em SW. Switches tem o processamento baseado em HW (chips ASICs). – Bridges só podem ter uma ocorrência de Spanning Tree já os Switches podem ter várias. – Bridges tem no máximo de 16 portas já os Switches podem ter centenas, pois o hardware é dedicado. 63 Switches • Na camada de enlace um switch tem 3 funções principais: – Aprendizagem de endereços. – Decisões de Filtragem / encaminhamento. – Esquema de inibição de loops. 64 32 Switches • Importante saber sobre switches: – Processo de comutação baseado em hardware, eles utilizam chips chamados “ASICs”, para montar e manter tabelas de filtragem (filter tables), que estudaremos na sequência. – Velocidade de transmissão limitada ao meio. – Baixa Latência/espera (low latency). – Baixo Custo. – Alta Eficiência. 65 Processo de Aprendizagem de endereços • Tabela MAC – todo switch monta uma tabela, que chamamos de tabela MAC, ele mapeia os MAC Adress dos dispositivos que estão conectados às suas portas. • Quando ligamos um switch pela primeira vez, obviamente, essa tabela se encontra vazia. • Se algum dispositivo inicia uma transmissão e uma porta (interface) do switch recebe um quadro/frame, o switch armazena o Mac Adress em sua tabela MAC juntamente com a informação da interface/porta à qual esse dispositivo está conectado. • Nesse momento o switch “inunda” a rede com esse quadro/frame pois ele não tem ainda em sua tabela MAC o registro da localização do dispositivo de destino. (Voltando aos conceitos básicos nesse momento ele atua como um HUB). 66 33 Processo de Aprendizagem de endereços • Esse tipo de transmissão, que “inunda” toda a rede com o quadro/frame é chamada de broadcast. • Se algum dispositivo responder ao broadcast enviando um quadro/frame de volta, o switch irá extrair o MAC Adress do dispositivo e registrá-lo em sua tabela MAC, associando esse MAC Adress à interface/porta que recebeu o quadro/frame. • A tabela MAC do Switch agora possui dois endereços. Portando o switch pode estabelecer uma conexão ponto a ponto entre os dois dispositivos. 67 Processo de Aprendizagem de endereços • Portando os quadros/frames dessa transmissão serão encaminhados apenas a esses dois dispositivos. Nenhuma outra porta do switch irá receber os frames dessa transmissão, somente as portas que foram mapeadas. • Relembrando os conceitos já estudados, essa é a grande diferença entre switches e hubs. Se temos uma rede composta por hubs, os frames/quadros são encaminhados a todas as portas, o tempo todo, o que obviamente gera um grande domínio de colisão. • A tabela MAC é atualizada continuamente, caso ocorra dos dois dispositivos não se comunicarem com o switch por um tempo, após um período de tempo ele irá deletar os endereços de sua tabela MAC. 68 34 Processo de Aprendizagem de endereços 69 Processo de Aprendizagem de endereços • No slide anterior é mostrado o funcionamento do processo. • Temos seis computadores interligados por um switch. O computador 1 quer se comunicar com o computador 6. O slide mostra exatamente como é feita a comunicação, notem que a tabela MAC desse switch já está devidamente montada. • Embaixo de cada computador temos o MAC Adress de sua placa de rede e cada um deles estaá conectado a uma porta do switch (e0, e1, ...). • Temos também a tabela MAC montada para essa rede. 70 35 Decisões de Filtragrem e Encaminhamento • Filtragem (frame filtering): – Quando um quadro/frame chega numa interface/porta de um switch, o MAC Adress de destino é comparado com os endereços armazenados na tabela MAC, se o endereço de destino estiver registrado na tabela, o quadro/frame será encaminhado apenas para a porta/interface de saída que está associada a esse endereço. Esse processo preserva a largura de banda de outros segmentos da rede. – Entretanto como sabemos pode ocorrer do MAC Adress de destino não constar na tabela MAC do Switch, quando isso ocorre o frame/quadro é replicado para todas as interfaces/portas ativas do switch (broadcasting) com exceção da interface/porta pela qual ele foi recebido. – Se após o broadcasting, algum dispositivo responder a transmissão, a tabela MAC é automaticamente atualizada. 71 Inibição de Loops • Como sabemos as redes de computadores tem que ter alta disponibilidade, para garantirmos alta disponibilidade é necessário pensarmos em redundância, dessa maneira estabelecer conexões (links) redundantes entre switches se faz necessário, assim evitamos uma queda completa de uma rede. • Entretanto a redundância de links pode nos trazer alguns problemas. Basta imaginar que frames/quadros podem ser propagados através de todos os links redundantes simultâneamente, a este fenômeno chamamos loop. 72 36 Inibição de Loops • A redundância de conexões(links) também pode ocasionar outros problemas: – Broadcast Storm. – Um dispositivo receber diversas cópias do mesmo frame/quadro. – Tabela MAC não confiável/Confusa – Múltiplos loops, o que pode até travar a rede. 73 Inibição de Loops • SOLUÇÃO: Protocolo Spanning Tree (STP): – Criado originalmente pela DEC (Digital Equipament Corporation) hoje já extinta. – Algum tempo depois o IEE homologou uma versão própria do protocolo denominada IEEE 802.1d. – Função principal : Evitar loops de rede de camada de Enlace/Lonk de Dados. 74 37 Protocolo Spanning Tree (STP) : FUNCIONAMENTO • O protocolo STP monitora a rede e identifica todos os links ativos. • Ele evita a ocorrência de loops desativando links redundantes. • O protocolo STP desativa links redundantes “elegendo” um switch-raiz também chamado root bridge. • O Switch raiz ou root bridge se torna responsável pela definição de toda a topologia da rede. 75 SWITCH RAIZ (ROOT BRIDGE) • Só pode existir um switch raiz em uma rede. • Denominamos todas as portas /interfaces do switch raiz como “portas designadas” (designated ports) • As “portas designadas do switch raiz ficam no modo de operação chamado “modo de encaminhamento” (forwarding-state). 76 38 E OS OUTROS SWITCHES DA REDE ? • São denominados “não raiz” (non-root bridges). • A porta de “menor custo” ao switch raiz é chamada de “porta-raiz” (root port). Nota : o menor custo é determinado pela largura de banda do link em questão. • Essa porta raiz estará em modo de encaminhamento (pode enviar e receber dados) 77 • As portas restantes com menor custo ao switchraiz são denominadas “portas designadas”. • Em uma rede com diversos switches se o custo de duas ou mais portas for idêntico, o ID do switch deverá ser usado e será considerada designada a porta referente ao switch com o menor ID. • As demais portas são consideradas portas nãodesignadas e ficarão em modo bloqueio (blocking mode), não podendo enviar ou receber dados. 78 39 Determinação do Switch-Raiz • A troca de informações entre Switches e Bridges rodando STP é feita através de BPDUs (Bridge Protocol Data Units). • BPDUs enviam mensagens de configuração via frames/quadros broadcast. • O ID de cada switch é enviado aos outros dispositivos através das BPDUs. • Na determinação do switch-raiz utilizamos o ID do switch. • O ID de um switch tem um comprimento de 8 bytes e inclui o valor de prioridade (priority value) e o MAC Adress. • O valor de prioridade default para todos os dispositivos rodando a versão IEEE do STP é 32.768 (IMPORTANTE !) 79 Determinação do Switch-Raiz • Na determinação do switch-raiz, os valores de prioridade e MAC Adress são combinados. • Como dois switches terem o mesmo valor de prioridade é algo bastante comum, então o MAC Adress é utilizado para a determinação do switch-raiz. • O Switch com o ID mais baixo será o switchraiz. 80 40 Determinação do Switch-Raiz • Exemplo: – Em nossa rede temos dois switches, ambos com o valor de prioridade default que é 32.768. – O Switch A tem o MAC Adress 0000.0f11.aab2.1111. – O Switch B tem o MAC Adress 0000.0f11.aab2.1112. – Como o Switch A possui o menor ID ele seria definido como switch raiz (0000.0f11.aab2.1111 < 0000.0f11.aab2.1112, lembrando que nesse caso ambos possuem a prioridade default que é 32.768. 81 Determinação da Porta Designada • Falamos anteriormente do “custo” do link, para determinação das portas/interfaces que serão utilizadas para a comunicação com o switch-raiz precisamos determinar o custo do link conectado à porta/interface. • O protocolo STP determina o custo se baseando na largura de banda disponível para cada link. 82 41 Largura de Banda • Largura de Banda em inglês, bandwitdth. Quantidade de informação que pode ser transmitida em um determinado meio de comunicação durante uma unidade de tempo. • A largura de uma banda de freqüência eletromagnética significa quão rápido os dados fluem, seja numa linha de comunicação ou no barramento de um computador. Quanto maior a largura de banda, mais informações podem ser enviadas num dado intervalo de tempo. Pode ser expressa em bits por segundo (bps), bytes por segundo (Bps) ou ciclos por segundo (Hz). 83 Modos de Operação das Portas de um Switch • Blocking: – Não encaminha frames/quadros. – Recebe e analisa BPDUs. – Quando um switch é ligado todas as suas portas estão em blocking. • Listening: – Recebe e analisa BPDUs com o objetivo de se certificar que não ocorrerão loops na rede antes de iniciar o encaminhamento de frames/quadros. 84 42 Modos de Operação das Portas de um Switch • Learning: – Registra os MAC Adress dos dispositivos conectados as interfaces/portas e monta a tabela MAC. – Ainda não encaminha frames/quadros. • Forwarding: – Envia e recebe frames/quadros 85 Definição de Convergência • Ocorre quando os switches encerram a alternância entre seus quatro modos, ou seja vai do modo blocking para o modo forwarding. • Durante o processo de convergência não ocorre transmissão de dados. • É esse processo que assegura a confiabilidade de todas as tabelas MAC de todos os switches da rede. • Em média esse processo demora 50 segundos, o que é considerado um problema, esse tempo pode ser alterado mas não é recomendado, pois pode comprometer a confiabilidade das tabelas MAC. 86 43 Exercício • Para fixarmos os conceitos apresentados vamos fazer um exercício. Observem a ilustração no próximo slide e de acordo com os conceitos determine explicando : – – – – O Switch-Raiz; A porta-raiz; As portas designadas; As portas não-designadas; 87 88 44