Roteamento e Comutação Camada de Enlace A camada de enlace, cujo protocolo é utilizado para transportar um datagrama por um enlace individual, define o formato dos pacotes trocados entre os nós nas extremidades, bem como as ações realizadas por tais nós ao enviar e receber pacotes. As unidades de dados trocadas pelo protocolo de camada de enlace são denominadas quadros, sendo que cada quadro de camada de enlace encapsula um datagrama de camada de rede. Enlace Rede Transporte Quadro Pacote/datagrama Segmento Dados Dados Camada de Enlace Se a camada de rede tem a tarefa de movimentar segmentos da camada de transporte fim a fim, do hospedeiro de origem ao de destino, a camada de enlace é encarregada de movimentar datagramas de camada de rede nó a nó por um único enlace de caminho, sendo uma característica importante o fato de que um datagrama pode ser transportado pelo protocolo Ethernet no primeiro enlace, pelo PPP no último enlace e por um WAN de camada de enlace nos enlaces intermediários. I.P. Ethernet I.P. I.P. FRAME RELAY I.P. Ethernet Camada de Enlace Embora o serviço básico de qualquer camada de enlace seja mover um datagrama de um nó até um nó adjacente por um único enlace de comunicação, os detalhes do serviço podem variar de um protocolo de camada de enlace para outro. Dentre os serviços que podem ser oferecidos figuram: • Enquadramento de dados: Quase todos os protocolos de camada de enlace encapsulam cada datagrama de camada de rede dentro de um quadro, consiste em um campo de dados no qual o datagrama da camada de rede é inserido e em uma série de campos de cabeçalho, de camada de enlace antes de transmiti-lo pelo enlace. • Acesso ao enlace: Um protocolo de controle de acesso ao meio (MAC) especifica as regras segundo as quais um quadro é transmitido pelo enlace. Para enlaces ponto-a-ponto, o protocolo MAC é simples, o remetente pode enviar um quadro sempre que o enlace estiver ocioso. Camada de Enlace • Entrega confiável: Quando o protocolo fornece esse serviço, ele garante que vai transportar cada datagrama pelo enlace sem erro. Um serviço confiável de entrega de camada de enlace é muito usado por enlaces que costumam ter altas taxas de erro, como é o caso de um enlace sem fio. Contudo a entrega confiável de camada de enlace pode ser considerada uma sobrecarga desnecessária para enlaces de baixa taxa de erros. Muitos protocolos de camada de enlace com fio não fornecem entrega confiável. • Controle de fluxo: Os nós de cada lado de um enlace têm uma capacidade limitada de armazenar quadros, por isso, um protocolo de camada de enlace pode fornecer controle de fluxo para evitar que o nó remetente de um lado de um enlace congestione o nó receptor do outro lado do enlace. Camada de Enlace • Detecção de erros: Erros de bits são introduzidos por atenuação de sinal e ruído eletromagnético, como não há necessidade de repassar um datagrama que tem um erro, muitos protocolos oferecem detecção de erros. Isso é feito obrigando o nó transmissor a enviar bits de detecção de erros no quadro e obrigando o receptor a realizar um verificação de erros. A detecção de erros na camada de enlace geralmente é mais sofisticada e é implementada por hardware. • Correção de erros: É semelhante à detecção de erros, exceto que um receptor não somente detecta se foram introduzidos erros, mas também determina exatamente em que lugar do quadro os erros ocorreram e então os corrige. Alguns protocolos fornecem a correção apenas para o cabeçalho do pacote e não para o pacote inteiro. • Half-duplex e full-duplex: Com transmissão full-duplex, os nós em ambas as extremidades de um enlace podem transmitir pacotes ao mesmo tempo. Com transmissão half-duplex um nó não pode transmitir e receber pacotes ao mesmo tempo. Camada de Enlace Protocolos: Os protocolos da camada de enlace são divididos de acordo com o tipo de acesso ao meio: Acesso múltiplo: Vários equipamentos compartilhando o mesmo meio. O mesmo domínio de broadcast. Acesso múltiplo com acesso aleatório: Com tantos equipamento utilizando o mesmo domínio não é raro ocorrer uma colisão. Quando ocorre uma colisão cada nó retransmite seus dados em um tempo aleatório independente. Um exemplo de protocolo de acesso múltiplo e aleatório é o CSMA (Carrier Sense Multiple Access). Camada de Enlace CSMA/CD Duas regras são incorporadas neste protocolo. Detecção de portadora: O nó ouve o canal antes de transmitir. Detecção de colisão (CD – Collision Detection): O nó ouvi durante a transmissão e detecta que outro nó esta transmitindo e interferindo na sua transmissão. O protocolo Ethernet é um protocolo CSMA que usa detecção de colisão Camada de Enlace Protocolos Acesso múltiplo com revezamento e seleção: O protocolo de seleção requer que um dos nós seja designado como nó mestre e este nó seleciona cada um dos nós para permitir ele transmitir uma determinada quantidade de quadros e repassa a permissão para outro nó. O protocolo Bluetooth é um exemplo. Acesso múltiplo com revezamento e passagem de permissão: O protocolo de passagem de permissão não requer que um nó seja designado como mestre. Um pequeno quadro chamado token é passado entre os nós obedecendo uma determinada ordem fixa. O nó que precisa transmitir quadros “pega” o token e transmite uma certa quantidade de dados e repassa o token para o próximo. O protocolo FDDI é um exemplo. Camada de Enlace Redes locais Nos anos 80 duas tecnologias de LAN eram populares. A Ethernet (IEEE 802.3) para acessos aleatórios e a Token Ring (IEEE 802.5) para passagem de permissão. A Ethernet hoje é a mais popular e utilizaremos ela para estudar em mais detalhes a camada de enlace em redes locais. Endereçamento na camada de enlace: O endereçamento de camada de enlace também é conhecido como endereço LAN, endereço físico ou endereço MAC. Na Ethernet o endereço MAC tem 6 bytes que são expressos em hexadecimal: Resultado do comando arp -a Estes endereços são projetados para serem permanentes e a única maneira de trocá-los deveria ser trocando a placa, mas é possível alterá-los via software. Camada de Enlace MAC O endereços MAC deve ser único e a IEEE gerencia os endereço, então quando uma empresa quer produzir placas deve antes conversar com a IEEE. Endereços MAC são lineares ao contrário do I.P. que é hierárquico. O adaptador envia um quadro contendo o endereço MAC destino via broadcast, então todos recebem e apenas o com o endereço MAC correto extrai o quadro e repassa o datagrama para a camada superior. Caso o quadro seja para todos o endereço de destino será broadcast MAC (ff-ff-ff-ff-ff-ff) ARP Quando um nó deseja enviar uma mensagem e não sabe o MAC do destino ele gera uma consulta ARP com o endereço I.P. do destino no broadcast MAC, então o nó que esta com o endereço I.P. responde com seu MAC apenas para o nó que fez a pesquisa. Cada host possui uma tabela ARP interna que é criada e atualizada dinamicamente. Camada de Enlace ARP Em um mesmo domínio de broadcast o processo é simples, mas em uma comunicação entre duas redes diferentes? 200.200.200.2 AA-BB-CC-00-11-22 200.200.200.1 BB-BB-CC-00-11-33 100.100.100.1 CC-BB-CC-00-11-44 100.100.100.2 DD-BB-CC-00-11-55 O computador com I.P. 200.200.200.2 quer enviar uma mensagem ao 100.100.100.2, mas se ele enviar uma consulta arp com este I.P. de destino não funcionará, pois ele não esta na mesma rede e não receberia o broadcast, então o correto é o computador endereçar o quadro com o destino 100.100.100.2 e o MAC da sua rota de saída da rede, que é a do roteador 200.200.200.1, e esta como sabemos utilizará sua tabela de roteamento para encaminhar o os dados para a interface correta e lá uma nova consulta arp será efetuada e o I.P. de destino encontrado. Camada de Enlace Ethernet A LAN Ethernet original foi inventada em meados da década de 70 e desde então se tornou cada vez mais popular e superou suas concorrentes com cada vez mais velocidade e equipamentos com custos acessíveis. De cabos coaxiais em redes de barramento passou para redes estrela com hubs, que ainda permitiam colisões e hoje os hubs foram substituídos em sua maioria por comutadores (switches) resolvendo o problema de colisões. Preâmbulo Endereço de destino Endereço de origem Tipo Dados Quadro Ethernet Preâmbulo: é utilizado para iniciar e sincronizar a comunicação de dados. Tipo: I.P., AppleTalk, ARP e etc. CRC: é utilizado para verificação de erros. CRC Camada de Enlace Ethernet com comutadores e roteadores Domínio de colisão e broadcast Domínio de broadcast switch Roteador HUB Domínio de colisão Domínio de colisão O switch esta sem VLAN Camada de Enlace Camada 2 Estudamos exemplos de protocolos da camada 2 focados em rede local e agora serão citados exemplos de protocolos utilizados em redes WAN. Ethernet FRAME RELAY PPP HDLC X.25 FDDI ATM Ethernet Camada de Enlace Ethernet 10BASE-T, 10BASE-2, 100BASE-T, 1000BASE-LX e 10GBASE-T dão algumas das tecnologias Ethernet padronizadas pela IEEE. A primeira parte refere-se à velocidade 10, 100 FastEthernet, 1000 Gigabit Ethernet e 10000 10-Gigabit Ethernet, a última parte é a mídia física no caso T de twisted (par trançado) e LX para fibra óptica. Fibra óptica Cabo de par trançado Conectores Comutação Comutação é a forma como os dados são trocados entre dois computadores em uma rede. Também conhecida como chaveamento, a comutação em uma rede refere-se à utilização de recursos de rede para a transferência de dados pelos diversos equipamentos conectados. Os comutadores de camada de enlace tem como função receber quadros de camada de enlace e encaminhá-los para enlaces de saída. Filtragem é a capacidade que determina se um quadro deve ser repassado para alguma interface ou se deve apenas ser descartado. Repasse é a capacidade de um comutador que determina as interfaces para as quais um quadro deve ser dirigido e então dirigir o quadro a essas interfaces. Filtragem e repasse de comutadores são feitos com uma tabela de comutação. Comutação Um registro de um nó na tabela de comutação contém: -O endereço MAC do nó; -A interface do comutador que leva em direção ao nó. -E o horário em que o registro foi colocado na tabela. Supondo que um quadro com endereço de destino DD-DD-DD-DD-DD-DD chegue ao comutador na interface X, o comutador indexará sua tabela com o endereço MAC DD-DD-DD-DD-DD-DD, existindo três casos possíveis: • Não existe entrada na tabela, caso no qual o comutador encaminha anteriormente cópias do quadro para os buffers de saída a todas as interfaces, exceto a interface X. • Existe uma entrada na tabela, associando DD-DD-DD-DD-DD-DD com a interface X. Não há necessidade de encaminhar o quadro para qualquer outra interface, o comutador realiza a função de filtragem ao descartar o quadro. • Existe uma entrada na tabela, associando DD-DD-DD-DD-DD-DD com a interface Y, caso no qual o quadro precisa ser encaminhado ao segmento da LAN anexado à interface Y. O comutador realiza sua função de encaminhamento. Comutação Um comutador tem a propriedade de montar sua tabela automática, dinâmica e automaticamente, sem nenhuma intervenção de um administrador de rede ou de um protocolo de configuração: • A tabela de comutação inicialmente está vazia • Para cada quadro recebido em uma interface, o comutador armazena em sua tabela o endereço MAC, registrando assim o segmento MAC no qual reside o nó remetente • O comutador apagará um endereço na tabela se nenhum quadro que tenha aquele endereço como endereço de fonte for recebido após certo período de tempo. Desse modo se um PC for substituído por outro, o endereço MAC do PC original acabará sendo expurgado da tabela Pontes e Switches Tanto a Ponte quanto o Switch segmentam o tráfego, pois impedem que o tráfego gerado entre computadores do mesmo segmento, passem para o outro segmento. Uma grande rede pode ser segmentada em redes menores usando várias pontes ou switches. Essa segmentação aumenta a performance da rede já que teremos menos computadores competindo pelo acesso ao cabo no mesmo segmento. Operação O propósito original de uma ponte era conectar dois segmentos Ethernet LAN. A ponte iria ler todos os quadros em cada segmento e encaminhar somente os quadros que foram abordados para computadores no outro segmento. Portas Tradicionalmente uma ponte tinha duas portas e encaminharia quadros entre os dois portos. Quando Ethernet começou a utilizar a fiação de par trançado, como é comum hoje em dia, pontes com várias portas se tornaram comum. Hoje, cada computador se conecta a uma porta do switch. Switches Funcionamento de um Switch O princípio básico de funcionamento de um switch é através da comutação dos quadros de acordo com o endereço de hardware, ou seja, através do MAC Address. Seu funcionamento deve ser o mais rápido possível, para que não cause muita latência na rede. Como eles apenas analisam dados referentes a camada de Enlace do Modelo OSI, endereçamento lógico na camada de rede não é levado em consideração, o que torna mais simples o processo de encaminhamento dos quadros. Durante o processo de encaminhamento dos dados, o conteúdo do quadro não é modificado, apenas sua PDU, que pode sofrer mudanças nos endereços de destino. Podemos utilizar a comutação da camada de enlace para delimitação entre grupos de trabalhos e quebra dos domínios de colisão. Porém, para que a delimitação seja eficiente, é importante que ao menos 80% do tráfego gerado seja de destino no mesmo segmento de rede. Redes comutadas quebram domínios de colisão, entretanto, a rede ainda é um grande domínio de broadcast, ou seja, switches de camada 2 não podem substituir completamente os roteadores em uma rede. Switches As principais funções dos switches são: • Aprendizagem de Endereços: Os switches têm a capacidade de aprender quais endereços são acessados em cada uma de suas interfaces. • Decisões de Encaminhamento: Assim que um quadro é recebido em alguma das portas do switch, ele verifica o endereço do hardware de destino consta na tabela MAC, enviando o dado para a interface indicada na tabela. Se o endereço não constar na tabela, o quadro é propagado para todas as interfaces ativas, com exceção da interface na qual ele foi recebido. • Inibição de Loops: Em uma rede de alta disponibilidade é necessário o estabelecimento de links redundantes entre os switches, de maneira que haja caminhos alternativos em caso de falhas. Onde houver redundâncias haverão loops, fazendo com que os switches fiquem propagando continuamente quadros repetidos na rede. Esse fenômeno chama-se tempestade de broadcast. O protocolo STP é utilizado para evitar loops, permitindo a criação de links redundantes. Switches Cascateamento X Empilhamento • Cascateamento: Vários comutadores podem ser interligados em uma configuração hierárquica caracterizando o que se chama de cascateamento. No cascateamento, a interligação se dá através de uma porta de um equipamento com a outra porta de outro equipamento, sendo a largura de banda limitada à velocidade da porta. As regras para o cascateamento dependem das especificações dos dispositivos porque neste tipo de ligação, e em geral, à medida que vai se "cacasteando", o desempenho da rede vai piorando. Dentro das limitações impostas por cada fabricante, é possível interligar equipamentos distintos e de marcas distintas. Por exemplo, deve-se obedecer à regra "5-4-3“ (5 segmentos conectados por 4 hubs e somente 3 deles podem ser povoados) para repetidores em série quando em redes de 10 e 100 Mbps, porém, redes de 1 Gbps permitem somente um único repetidor, ou seja, não é permitido cascateamento de repetidores (hubs) em redes de 1Gbps. Quanto ao uso de comutadores (switches) não há limitação de segmentação estipulada pela tecnologia, porém, deve-se observar as normas do Sistema de Cabeamento Estruturado. Switches Cascateamento X Empilhamento • Empilhamento: No empilhamento, a interligação ocorre através de uma porta específica para empilhamento ("stack") e cada fabricante possui um tipo de interface própria a qual possui velocidade transmissão maior que a velocidade das portas de conexão. Nesse caso, o empilhamento pode ser feito apenas entre equipamentos de um mesmo fabricante. Os equipamentos assim empilhados tornam-se um único equipamento.