Redes: Sabe para que serve o protocolo CSMA/CD?
No mundo das redes há situações que certamente já questionou como funcionam. Por exemplo, num meio de acesso partilhado por vários dispositivos como é que se evitam as colisões de dados e como é que cada máquina tem acesso ao meio para transmitir dados?
O segredo está num protocolo designado de CSMA/CD (Carrier Sense Multiple Access With Collision Detection).
A Ethernet (IEEE 802.3x) foi originalmente concebida para que várias máquinas possam comunicar num mesmo meio de comunicação (meio de comunicação partilhado), isto é, duas ou mais máquinas podem comunicar no mesmo meio de comunicação físico.
Existem dois métodos de comunicação:
- Half-Duplex: As máquinas não podem comunicar (enviar e receber dados) simultaneamente
- Full-Duplex: As máquinas podem enviar e receber dados simultaneamente
Usando o método de comunicação Full-Duplex, e ao contrário do que acontece em comunicações Half-Duplex, não é necessário recorrer ao protocolo CSMA/CD pois as comunicações são bidirecionais e podem acontecer em simultâneo. Colisões nunca acontecem num cenário deste tipo. De referir anda que comunicações Full-Duplex apenas podem ocorrer entre máquinas, entre máquinas ligadas a um switch, etc. Num cenário onde temos vários PCs ligados a um Hub, aí as comunicações são Half-Duplex.
Esquecer o Half-Duplex?
Com os avanços da tecnologia e baixa de preços em equipamentos, hoje já não se usa muito comunicações Half-Duplex (podemos dizer que está obsoleto). Este tipo de comunicação faz uso do protocolo CSMA/CD que na prática faz o controlo do acesso ao meio de comunicação por parte das máquinas que pretendem comunicar.
CSMA/CD como funciona?
Quando o tipo de comunicação é Half-Duplex, na realidade só um dispositivo pode usar o meio de comunicação para comunicar… se houvesse comunicação em simultâneo, entre 2 ou mais máquinas ligadas a um Hub, estaríamos a presenciar uma colisão (acontece quando 2 equipamentos transmitem em simultâneo num meio partilhado, aumentando a amplitude do sinal elétrico transmitido).
Como os hubs não suportam comunicações Full Duplex, a transmissão simultânea de dados é tecnicamente impossível.
- (CS) Carrier Sense: refere-se ao dispositivo que está prestes a transmitir. Sense alude ao facto de antes de transmitir algo para o meio partilhado, o equipamento deve verificar (sense) o meio para o qual vai injectar pulsos elétricos.
- (MA) Multiple Access: refere-se ao meio partilhado, que é de acesso múltiplo mas não simultâneo.
- (CD) Collision Detection: é uma variante do CSMA que consiste na detecção de colisões no meio através da análise do sinal elétrico.
- Esta variante também discrimina o comportamento a ter por parte de cada dispositivo quando uma colisão acontece (o chamado algoritmo backoff e JAM Signal)
Se um dispositivo tiver de comunicar numa rede Ethernet, em Half-Duplex, deve:
- Escutar o meio físico de comunicação antes de transmitir;
- Se não houver sinal de transmissões, o dispositivo pode começar a transmitir. Caso seja detetadas comunicações, deve esperar até que fique livre;
- Sempre que uma colisão é detetada, a máquina pára a transmissão e emite um sinal de aviso (sinal JAM) no meio de comunicação físico para que todas as máquinas ali ligadas possam saber que aconteceu uma colisão. Estas frames enviadas são posteriormente descartadas pelas máquinas;
- Após receberem o sinal de aviso, todas as máquinas param de transmitir e esperam um tempo aleatório antes de iniciarem de novo as transmissões (algoritmo backoff);
Em resumo
Falar em Half-Duplex nos dias de hoje é já quase por questões históricas e evolução. Como referido, os equipamentos de comunicações suportam na generalidade Full-Duplex, sendo que o Half-Duplex é apenas usado quando temos Hubs na rede, algo que também já não é muito comum em redes modernas.
Via Cisco
Este artigo tem mais de um ano
Falta ai um disclaimer que isso é apenas em redes por cabo. Wifi é todo em half duplex.
A Ethernet (IEEE 802.3x)…
Ya, tá la em cima 😀 Depois vamos falar de CSMA/CA
Tem razão! Não reparei!
Fiquei mais culto hoje. Obrigado pplware.
Muito bom artigo!
Half-duplex histórico? Prato de cada dia em ligações, má configuradas, com operadoras!
Excelente artigo,Pedro Pinto,muito bom mesmo. 🙂
Acho que dei esta matéria na 3ª classe. O post serviu para relembrar a matéria.
boa 😉 Talvez no 3º ano…da faculdade 😀
Conhecimento nunca é demais. Excelente artigo!