Redes Ethernet (IEEE 802.3)

André Moreira (andre@dei.isep.ipp.pt)
Professor Adjunto do Departamento de Engenharia Informática do ISEP

As redes Ethernet utilizam o protocolo CSMA/CD para coordenar o acesso ao meio de transmissão. O endereçamento é feito com base numa sequência de 6 bytes (48 bits) habitualmente conhecida por endereço físico, endereço MAC ou endereço “ethernet”. Alguns tipos de rede 802.3 mais antigos (ex.: StarLan) usam apenas dois bytes para endereço físico.

Formatos de trama Ethernet

As tramas 802.3 usam um cabeçalho de 14 bytes: 6 bytes para o endereço de origem; 6 bytes para o endereço de destino e mais dois bytes contendo o número de total de bytes de dados transmitidos. Esta soma de controlo permite detectar erros mais graves (por exemplo colisões). Depois dos dados surge o FCS correspondente ao CRC-32, é calculado com base em todos os campos da trama.

Quando ocorre uma colisão os emissores param e emitem um sinal de 48 bits designado por “jam” resultando numa trama designada por “jabber”, cuja soma de controlo é diferente dos dados transmitidos esta trama serve para avisar todos os nós de que ocorreu uma colisão. Para efeitos de sincronização, no inicio da trama é transmitida uma sequência de 8 bytes: 7 bytes contendo 10101010 (preambulo) que são usados para sincronização de bit, seguido de um byte conhecido por SFD (“Start Frame Delimiter”) contendo 10101011 que permite aos receptores detectarem o inicio da trama (sincronização de byte).

Entre os dados e o FCS pode ainda existir um campo (PAD) adicionado para que a trama tenha o comprimento mínimo exigido de 512 bits (64 bytes).

O formato de trama 802.3 é apresentado na figura seguinte, bem como o aspecto final de uma trama 802.2 encapsulada na trama 802.3.

Os formatos de trama 802.3/802.2 não são meticulosamente seguidos por todas as implementações, em muitos casos a trama 802.3 é usada directamente. A trama LLC (802.2) tem como principal objectivo definir um mecanismo de multiplexagem que permita a vários protocolos distintos usar em simultaneo o mesmo recurso, assim a cada protocolo é atribuido um SAP único que evita conflitos entre protocolos.

Como foi referido na prática nem sempre se usa a trama LLC, assim podemos considerar quatro tipos de trama que podem existir numa rede Ethernet:

  • Trama "Ethernet II", também conhecida por DIX (Digital; Intel; Xerox), é a trama "standard" para o protocolo IP, e por arrastamento tem uma utilização crescente. Pode observar-se que o formato é semelhante ao das tramas "normais" 802.3, contudo o campo "Total" toma agora a designação "E-Type", este campo é utilizado para multiplexagem de forma idêntica aos campos SAP da trama LLC, assim a cada protocolo de rede corresponde um "E-Type" único, por exemplo: IP=800; ARP=806; IPX=8137.
    Endereço de destino
    (6 bytes - 48 bits)
    Endereço de origem
    (6 bytes - 48 bits)
    Ethernet Type (E-Type)
    (2 bytes - 16 bits)
    Dados
    (até 1500 bytes)
    FCS
    (4 bytes - 32 bits)
  • Trama "802.3 RAW", corresponde a uma utilização directa do formato 802.3 que não especifica nenhum mecanismo de multiplexagem, este formato foi inicialmente usado nas redes Novell/NetWare com o protocolo IPX, mas está actualmente abandonado. Devido à ausencia de multiplexagem apenas pode ser usado por um protocolo (o IPX), para evitar conflitos com outros formatos de trama o primeiro octeto de dados tem obrigatoriamente o valor FF (255). Note-se que se imaginarmos um encapsulamento da trama LLC este byte corresponde ao DSAP.
    Endereço de destino
    (6 bytes - 48 bits)
    Endereço de origem
    (6 bytes - 48 bits)
    Comprimento dos dados
    (2 bytes - 16 bits)
    Octeto FF
    (1 byte)
    Dados
    (até 1499 bytes)
    FCS
    (4 bytes - 32 bits)
  • Trama "802.3" (802.2/802.3), corresponde a uma aplicação correcta da norma 802, ou seja o encapsulamento de uma trama LLC numa trama 802.3. Os campos DSAP e SSAP da trama LLC são geralmente usados para multiplexagem, por exemplo o protocolo IPX usa o SAP E0. Um dos problemas deste formato é que dispõe de um cabeçalho com um número impar de octetos (17) o que causa dificuldades às implementações que funcionam a 32 bits, por outro lado os SAP de 8 bits são muito limitados para identificar protocolos. Por estas razões foi ainda definido mais um formato, o "Ethenet SNAP".
    Endereço de destino
    (6 bytes - 48 bits)
    Endereço de origem
    (6 bytes - 48 bits)
    Comprimento dos dados
    (2 bytes - 16 bits)
    SAP de destino
    (1 byte)
    SAP de origem
    (1 byte)
    Controlo
    (1 byte)
    Dados
    (até 1497 bytes)
    FCS
    (4 bytes - 32 bits)
  • Trama "Ethernet SNAP", este tipo de trama obdece ao formato anterior (conforme a norma 802), mas adiciona mais um campo conhecido por SNAPID, com 5 octetos (40 bits) que garante o alinhamento de 32 bits do cabeçalho. Para manter total coerencia com a norma 802 as tramas "Ethernet SNAP" usam sempre os valores de SAP "AA" que foi atribuído para este efeito. O campo SNAPID é dividido em duas partes, os 3 octetos mais significativos identificam a organização - OUI ("Organizational Unit Identifier"). Com excepção do protocolo AppleTalk o campo OUI não é actualmente usado. Os dois octetos menos significativos identificam o protocolo, usando valores identicos ao E-TYPE do "Ethernet II".
    Endereço de destino
    (6 bytes - 48 bits)
    Endereço de origem
    (6 bytes - 48 bits)
    Comprimento dos dados
    (2 bytes - 16 bits)
    SAP de destino
    (1 byte)
    SAP de origem
    (1 byte)
    Controlo
    (1 byte)
    SNAP ID
    (5 bytes - 40 bits)
    Dados
    (até 1492 bytes)
    FCS
    (4 bytes - 32 bits)

Em termos práticos o mais aconselhável é uma dada rede usar apenas um tipo de "trama", de entre os vários formatos podemos verificar que a trama "Ethernet II" é a que permite transportar a maior quantidade de dados (1500 bytes). A quantidade de dados transportada pelas tramas é habitualmente conhecida por MTU ("Maximum Transfer Unit"). Este é um dado importante para os protocolos de nível superior já que estes protocolos terão de criar os seus pacotes de tal forma que se ajustem a este valor máximo.

Nível físico das redes 802.3

O nível físico da norma 802.3 pode ser de diferentes tipos, para proporcionar uma certa independência relativamente ao nível MAC está estruturado em dois sub-níveis:

  • “Physical Signaling” (PLS) - Produz e recebe os sinais eléctricos. Serve de interface do nível físico com o MAC, esta interface é independente do tipo de cablagem, sinal e codificação utilizada na transmissão.
  • “Physical Medium Attachment” (PMA) - Parte dependente do meio físico, coloca e extrai os sinais da cablagem.

Nas implementações mais correntes os dados são codificados usando o codigo de Manchester, trata-se de uma codificação bifásica com transições de nível em todos os bits. Com taxas de 10 Mbit/s a frequência máxima do sinal é de 10 MHz, mas tem a vantagem de facilitar a manutenção do sincronismo durante a recepção.

Para garantir independência entre estes dois sub-níveis, a interface entre eles está normalizada, sendo conhecida por “Attachment Unit Interface” (AUI), normalmente materializada por fichas D de 15 pinos. A interface do PMA com a cablagem é conhecida por MDI (“Medium Dependent Interface”).

O conjunto PMA + AUI + MDI designa-se por MAU (“Medium Attachment Unit”) ou simplesmente “transciver”. O “transciver” pode ou não estar fisicamente integrado no PLS, quando é esse o caso, não existe interface AUI. Se existe a interface AUI é possível a utilização alternativa de vários tipos de cablagem por simples permuta do “transciver”.

Os vários tipos de nível físico alternativos para a norma 802.3, são normalmente representadas segundo a seguinte convenção: TTbaseD ou TTbroadD

As letras TT são substituídas pela taxa de transmissão nominal em Mbit/s, a letra D é substituída pelo comprimento máximo de cada segmento, em centenas de metros. Os segmentos podem ser interligados por repetidores, o comprimento máximo que toda a rede pode ter é designado domínio de colisão.

As abreviaturas base e broad são utilizadas conforme se trate de banda base (“baseband” - sinais digitais) ou banda larga (“broadband” - sinais analógicos). A tabela seguinte mostra alguns exemplos:

DesignaçãoTaxa Transm.Comp. Max. SegmentoDomínio de ColisãoNós por SegmentoMeio FísicoConector e CablagemTopologia Física
10base510 Mbit/s500 m2500 m100coaxial 50 ohm grossonão existeBarramento
10base210 Mbit/s185 m925 m30coaxial 50 ohm finoBNCBarramento
10broad3610 Mbit/s1800 m3600 mvariávelcoaxial CATV 75 ohm-Barramento
1base51 Mbit/s500 m2500 m1UTP-Estrela
10baseT10 Mbit/s100 m500 m1UTPRJ-45Estrela
10baseFL10 Mbit/s1000 m-11 par de fibras ópticasSTEstrela
100baseTX100 Mbit/s100 m210 m12 pares entrançados blindados (STP)RJ-45Estrela
100baseT4100 Mbit/s100 m210 m14 pares entrançados não blindados (UTP)RJ-45Estrela
100baseFX100 Mbit/s100 m210 m11 par de fibras ópticasSTEstrela

"Fast Ethernet" (100baseT)

A utilização de taxas de 100 Mbit/s (vulgarmente conhecida por “Fast Ethernet”) obrigou a modificações apenas no nível físico. O MAC e LLC mantêm-se, o que permite uma total compatibilidade com as versões a 10 Mbit/s.

Existem duas implementações bastante diferentes para o "fast ethernet":

100baseT4
Trata-se de uma implementação em que são usados 4 pares de cobre sem blindagem. Actualmente esta implementação não é usada.
100baseTX e 100baseFX
Trata-se de uma cópia da implementação FDDI que utiliza apenas dois pares de cobre com blindagem (STP) ou duas fibras ópticas.
100baseTX e 100baseFX

As implementações 100baseTX e 100baseFX são copiadas do FDDI, logo a estrutura do nível físico é diferente. A figura seguinte ilustra as camadas dos níveis físicos nos dois casos:

O nível PLS foi substituido pelo PMI (“Physical Medium Independent”). A interface AUI foi substituida pela MII (“Media Independent Interface”). O PMA também foi alterado passando a chamar-se PMD (“Physical Medium Dependent”).

A utilização do código Manchester a 100 Mbit/s resultaria em sinais com uma frequência de 100 Mhz. Para evitar esta situação optou-se pela codificação NRZ-I que gera frequencias máximas de 50 MHz.

A codificação NRZ-I (“Non Return to Zero Inverted”), é uma designação alternativa de NRZ-M. Este tipo de codificação tende a provocar dificuldades no sincronismo de bit (uma sequência de zeros é transmitida sem qualquer transição de nível).

Para resolver os problemas de sincronismo a cada conjunto de 4 bits de dados é adicionado um quinto bit com o objectivo de facilitar a sincronização. Este mecanismo é conhecido por conversão 4B/5B.

Para que a taxa nominal entre o MAC e o nível físico seja de 100 Mbit/s a transmissão é na realidade realizada a uma taxa de 125 Mbit/s (100*5/4), mesmo assim a frequencia gerada é de apenas 62,5 MHz (125/2). O 100baseTX exige cablagem blindada (STP - "shielded twisted pair"), vulgarmente conhecida por cabo Tipo 5.

Esta é a implementação para o 100baseTX e 100baseFX que usam respectivamente dois pares de cobre e dois fios de fibra óptica.

100baseT4

O 100baseT4 utiliza quatro pares entrançados, o objectivo é permitir a utilização de cablagens já instaladas sem blindagem (Tipo 3). Para o efeito 3 pares são usados para transmitir dados e o quarto par é usado para detectar colisões.

Para cada um dos 3 pares os dados são comprimidos numa conversão 8B6T (8 bits - 6 transmitidos) a uma taxa de entrada de 33,(3) Mbit/s, correspondendo a uma taxa de transmissão no meio físico de 25 Mbit/s. Com a manutenção da codificação "Manchester" a frequencia máxima gerada é de 25 MHz.

"Gigabit Ethernet"

Esta já disponível a utilização de taxas de transmissão de 1 Gbit/s. Trata-se de uma tecnologia muito recente e ainda pouco normalizada.

De momento esta taxa de transmissão apenas pode ser usada em modo comutado "full-duplex" (2 Gb/s), isto é, com eliminação total do CSMA/CD. Devido à elevada taxa a detecção de colisões torna-se complicada devido ao baixo valor do tempo de transmissão para uma "trama" mínima de 64 bytes.

O "Gigabit" Ethernet partilhado está ainda em estudo, e será definido na norma 802.3z, para o implementar seria necessário aumentar o comprimento mínimo das tramas para 512 bytes, mesmo assim o dominio de colisão ficaria em cerca de 100 m.

Os dados são codificados em NRZ com inserção de bits de sincronismo numa conversão 8B/10B.

As especificações para as cablagens são totalmente diferentes:

1000baseSX
Fibra óptica multímodo com sinal laser, distância máxima: 550 m
1000baseLX
Fibra óptica monómodo com sinal laser, distância máxima: 3 Km
1000baseCX
Cabo STP, distância máxima: 25 m
1000baseT
Cabo de cobre categoria 5E ou superior, usa os 4 pares, não suporta "full-duplex", distância máxima: 100 m

Comutação de Tramas 802.3

Se os conceitos aplicados nas pontes inteligentes forem transportados para dispositivos com mais de duas portas temos uma verdadeira comutação de tramas. Estes dispositivos são normalmente conhecidos por comutadores (“switches”).

Tal como as pontes os comutadores constróem tabelas que associam endereços físicos a cada uma das portas, quando uma trama é recebida o seu endereço de destino é analisado e a trama é enviada para a porta correcta.

Como se pode calcular, este tipo de dispositivo é bastante dispendioso devido à sofisticação e velocidade necessária para a sua lógica interna, normalmente dispõem de um ou mais processadores RISC (“Reduced Instruction Set Computer”).

O grande problema dos comutadores é o seu custo, no entanto nos últimos anos tem vindo a assistir-se a um abaixamento de preços que está a levar à generalização deste tipo de equipamento.

Este abaixamento de custo funcionou como uma lufada de ar fresco para os MACs em geral, mas foi notório no caso das redes 802.3. O método de acesso CSMA/CD estava a revelar-se cada vez mais limitativo, mesmo a 100 Mbit/s era difícil obter resultados efectivos superiores a 30 Mbit/s. Os comutadores, em certas condições permitem a eliminação completa do CSMA/CD das redes 802.3.

Novamente a capacidade de comutação de tramas é fundamental, para uma rede 802.3 a 10 Mbit/s deverá ser de 14.880 tramas por segundo por cada par de portas. Outro aspecto a ter em conta é o débito interno do comutador que deve suportar o somatório das taxas de transmissão das suas portas.

Um comutador pode funcionar de dois modos:

  • “Store & Forward”, idêntico ao modo de funcionamento das pontes, uma trama é totalmente lida antes de se dar inicio à sua transmissão na porta de destino.
  • “Cut-Through”, após a leitura do endereço de destino inicia-se imediatamente a transmissão da trama.

O modo “Cut-Through” tira partido do facto de o endereço de destino se encontrar no inicio da trama, deste modo o atraso produzido é reduzido ao mínimo.

Os primeiros comutadores a surgirem no mercado com preços razoáveis utilizavam exclusivamente a técnica “Cut-Through” e recorriam a processadores e circuitos especializados ASIC (“Application Specific Integrated Circuit”).

A utilização do modo “Cut-Through” tem contudo várias desvantagens:

  • Não separa domínios de colisão 802.3, as colisões são propagadas a todas as portas pois não há capacidade de armazenamento de tramas.
  • Retransmite erros, como para determinar se existe um erro é necessário ler toda a trama, neste modo de funcionamento os comutadores propagam as tramas com erros.
  • Não permite a comutação entre portas de diferentes taxas de transmissão, por exemplo 10baseT, 100baseT e 1000baseSX. Não é possível estar simultaneamente a receber e a emitir a mesma "trama" a taxas diferentes.

A vantagem do baixo custo dos comutadores “Cut-Through” relativamente aos “Store & Forward” tem-se diluído rapidamente devido à generalização dos processadores RISC. Apesar deste facto a utilização do modo “Cut-Through” continua devido ao peso que o baixo tempo de transito das tramas tem sobre alguns protocolos dos níveis superiores que não utilizam protocolos de janela deslizante.

Existem mesmo comutadores Ethernet 10/100 (portas a 10 Mbit/s e portas a 100 Mbit/s) que seleccionam automaticamente o modo de funcionamento conforme se trate de uma comutação entre portas da mesma taxa ou não.

Transmissão “Full-Duplex” em redes locais

Numa porta de um comutador podem ser ligados um ou vários nós, no segundo caso continua a existir a possibilidade de surgirem colisões.

Quando existe apenas um nó ligado a uma porta do comutador, tratando-se de um dispositivo “Store & Forward” a única possibilidade de colisão é a emissão simultânea de uma trama pelo comutador e pelo nó, como nas cablagens de par entrançado são utilizadas linhas distintas para a emissão e recepção (exclua-se o 100baseT4) a ocorrência de colisões é completamente excluída.

Uma vez que não existem colisões e nem sequer a necessidade de esperar que o meio físico esteja livre, a função de acesso ao meio do MAC é completamente inútil (já não é necessário proceder ao “listen while talk”).

Nestas circunstancias temos uma ligação capaz de funcionar em “full-duplex” podendo circular dados simultaneamente nos dois sentidos à taxa característica da rede. Atinge-se assim débitos totais para cada ligação iguais ao dobro do débito habitual, por exemplo no caso do 802.3 respectivamente 20 Mbit/s e 200 Mbit/s.

A capacidade de funcionar em modo “full-duplex” não é um dado garantido à partida, tanto o comutador como a interface usada no nó devem ter essa capacidade. A entrada em modo “full-duplex” é negociada (“Auto-Negociation Sheme” ou “Nway”) entre os dois intervenientes e se aceite implica a anulação total do protocolo de acesso ao meio. Algumas interfaces de rede 10baseT que suportam “full-duplex” necessitam de ser colocadas explicitamente nesse modo pois não suportam o mecanismo de negociação automática.

Todas estas possibilidades forneceram às redes 802.3 um novo impulso sendo, pelo menos até à chegada do ATM às redes locais, uma das melhores opções para “collapsed backbone”

O “backbone” (Espinha dorsal) é um segmento de rede de alta velocidade onde são ligados os servidores e outras redes. Até à bem pouco tempo a tecnologia mais usada era o FDDI. Actualmente a utilização de um comutador começa a revelar-se mais eficaz para um número de nós não muito elevado e pouco dispersos. Como o “backbone” fica reduzido a uma caixa (Comutador) esta técnica é conhecida por “lan-in-a-box” ou “collapsed backbone”.

Existem actualmente muitos fabricantes a fornecer comutadores com portas Fast Ethernet e Gigabit Ethernet constuindo mais uma possibilidade de evolução para os "backbones".

Capacidade de um comutador 802.3

As capacidades de um comutador são extremamente importantes, trata-se de dispositivos dispendiosos que devem estar correctamente adaptados à situação em que vão operar.

Além do número máximo de entradas nas tabelas de encaminhamento que deve ser superior ao número total de nós da rede, temos de considerar a capacidade interna de comutação, ou seja o número de "tramas" que o dispositivo é capaz de encaminhar por unidade de tempo.

Numa rede 802.3 a 10 Mbit/s a taxa máxima de chegada de tramas é de 14.880 tramas por segundo (trata-se da situação menos favoravel com tramas de 64 bytes).

A capacidade de comutação ("full-duplex" a 10 Mbit/s) deve ser superior a n x 14.880 tramas/seg, onde n representa o número de portas.

Em comutadores com portas de diferentes velocidades basta fazer as contas: por cada porta a 100 Mbit/s 148.800 tramas/s, por cada porta a 1 Gbit/s 1.488.000 tramas/s.

É importante também saber o que o comutador faz quando não tem capacidade de comutação suficiente: armazena as tramas (capacidade de armazenamento) ou ignora as tramas.

Outro parâmetro importante é o débito total do comutador, trata-se da taxa de transmissão do(s) barramento(s) interno(s) do comutador, expressa em bit/s.

A taxa interna deve ser igual ao somatório das taxas de transmissão em cada porta (supondo "full-duplex"). Por exemplo um comutador com 16 portas a 10 Mbit/s e 2 portas a 100 Mbit/s deverá ter um débito superior a (2 x 100 + 16 x 10) = 360 Mbit/s.