본문 바로가기
Computer Science/Computer Networking

[Computer Networking] The Link Layer and LANs : Multiple Access Protocols

by __K.Jun__ 2025. 1. 10.

Multiple access links, protocol

  브로드캐스트 링크(broadcast link): 동일한 하나의 공유된 브로드캐스트 채널에 다수의 송신 노드 및 수신 노드가 연결된다. 여기서 브로드캐스트라는 용어는 임의의 한 노드가 프레임을 전송하면 채널이 그 프레임을 브로드캐스트해서 다른 모든 노드가 그 프레임의 복사본을 수신하기 때문에 사용된 것이다. 이더넷과 무선 랜은 브로드캐스트 링크 기술의 대표적인 예다. 데이터 링크 계층에서 가장 중요한 문제 중의 하나는 다중 접속 문제(multiple access problem), 즉 '다수의 송수신 노드들의 공유되는 브로드캐스트 채널로의 접속을 조정하는 문제'이다.

 

Multiple access protocols

  다중 접속 프로토콜(mutiple access protocol)은 컴퓨터 네트워크에서 공유되는 브로드캐스트 채널로 보내는 노드들의 전송을 조절하는 프로토콜이다. 모든 노드가 프레임을 전송할 수 있으므로, 2개 이상의 노드가 동시에 프레임을 전송할 수 있다. 이런 일이 발생하면, 모든 노드는 동시에 여러 개의 프레임을 받게 된다. 즉, 전송된 프레임들이 각 수신자에서 충돌(collide)한다. 일반적으로 충돌이 발생하면 어떤 수신 노드도 전송된 프레임의 의미를 파악할 수 없게 된다. 즉, 충돌 프레임의 신호는 해석할 수 없을 정도로 엉망이 된다. 따라서 충돌에 관련된 모든 프레임을 손실되며, 브로드캐스트 채널은 충돌 기간만큼 낭비된다. 만일 다수의 노드가 빈번히 프레임을 전송하려고 한다면, 그 전송은 많이 충돌할 것이며, 따라서 브로드캐스트 채널의 대역폭이 많이 낭비된다.

 

  다중 접속 프로토콜은 채널 분할 프로토콜(channel partitioning), 랜덤 접속 프로토콜(random access), 순번 프로토콜(taking turns)의 세 가지로 분류할 수 있다. 초당 R 비트의 전송률을 갖는 브로드캐스트 채널에 대한 다중 접속 프로토콜은 다음과 같은 특성을 지니는 것이 바람직하다.

 

1. 단 하나의 노드가 전송할 데이터가 있을 때는 그 노드가 R bps의 처리율을 갖는다.

2. M개의 노드가 전송할 데이터가 있을 때는 각 노드가 R/M bps의 처리율을 갖는다.

3. 이 프로토콜은 분산되어 있다. 즉, 고장으로 인해 전체 시스템을 정지시킬 수 있는 마스터 노드가 없다.

4. 이 프로토콜은 단순해서 구현하는 데 비용이 적게 든다.

 

Random access protocol

랜덤 접속 프로토콜에서 전송 노드는 항상 채널의 최대 전송률인 R bps로 전송한다. 충돌이 생기면 충돌과 관련된 각 노드는 프레임이 충돌없이 전송될 때까지 자신의 프레임을 계속해서 재전송한다. 그러나 충돌했을 때 노드는 해당 프레임을 즉시 재전송할 필요가 없다. 대신 그 프레임을 재전송하기 전에 랜덤 지연 시간 동안 기다린다. 충돌과 관련된 각 노드는 자신만의 랜덤 지연 시간을 선택한다. 충돌이 생긴 후 각 노드는 지연 시간을 스스로 결정하며, 따라서 충돌했던 노드 중 하나는 다른 노드가 선택한 지연 시간보다 충분히 작은 지연 시간을 선택함으로써 충돌 없이 자신의 프레임을 채널로 전송할 수 있다.

 

CSMA (Carrier Sense Multiple Access)

1. 말하기 전에 듣는다. 만일 다른 사람이 말하고 있으면 기다려라. 네트워크에서는 이것을 캐리어 감지(carrier sensing)이라고 한다. 만일 다른 노드가 프레임을 채널로 전송하고 있을 경우, 노드는 임의의 짧은 시간 동안 전송 중단을 감지하면 프레임을 전송하기 시작한다. 

2. 다른 사람이 동시에 말하기 시작하면 말을 중단한다. 네트워크에서는 이것을 충돌 검출이라 한다. 만일 다른 노드가 방해 프레임을 전송하고 있음을 검출하면, 자신의 전송을 중단하고 랜덤 시간 동안 기다린 후 유휴 시 감지 및 전송 과정을 반복한다.

 

이 두 규칙은 CSMA와 CSMA/CD(CSMA with collision detection) 프로토콜에 포함된다.

위 그림에서 노드들은 충돌 검출을 수행하지 않는다. 두 번째 노드와 네 번째 노드 모두 충돌이 발생했음에도 불구하고 자신의 프레임 전체를 계속해서 전송한다.

노드가 충돌 검출을 수행하면, 충돌이 검출되었을 때 바로 자신의 전송을 중단한다. 다중 접속 프로토콜에 충돌 검출을 추가하면, 쓸모없는 손상된 프레임을 모두 전송하지 않아도 되므로 프로토콜의 성능을 확실히 향상할 수 있다.

 

CSMA/CD 프로토콜은 다음과 같이 동작한다.

1. 이더넷은 네트워크 계층으로부터 데이터그램을 받아서 링크 계층 프레임을 만든 후에 그 프레임을 이더넷의 버퍼에 저장한다.

2. 이더넷은 채널이 유후 상태임을 감지하면 프레임 전송을 시작한다. 만일 이더넷이 바쁜 상태임을 감지하면, 어떤 신호 에너지도 감지되지 않을 때 까지 더 기다렸다가 프레임을 전송하기 시작한다.

3. 전송하는 동안 이더넷을 브로드캐스트 채널을 사용하는 다른 이더넷으로 부터 신호 에너지가 있는지 감지한다.

4. 프레임 전체를 전송하는 동안 다른 어댑터로부터의 신호 에너지가 감지되지 않으면, 프레임 전송을 완료한다. 그러나 전송 도중에 다른 어댑터로부터의 신호 에너지를 감지하면, 자신의 프레임 전송을 취소한다.

5. 어댑터는 전송을 취소한 후 임의의 랜덤 시간만큼 기다린 후 2단계로 돌아간다. 

728x90