CS/Network

[Chapter 5] MAC 계층(토큰 버스)

devrabbit22 2025. 2. 11. 15:23

IEEE 802.3 표준안의 문제점네트워크 트래픽이 심할 때 특정 호스트가 오랫동안 프레임을 전송하지 못할 염려가 있다는 점과 프레임의 우선 순위가 규정되어 있지 않아 프레임의 중요도를 표현하기 어렵다는 점이다. 이러한 문제점을 해결하려면 호스트가 순서를 정해 차례로 프레임을 전송하는 기능이 필요한데, 링 구조의 통신망이 이를 지원한다.

프레임 구조

LLC 계층에서 내려온 LLC 프레임을 물리 계층을 통해 수신 호스트에 전달하려면 토큰 버스 프로토콜에서 정의한 프레임이 맞게 토큰 버스 프레임을 만들어야 한다. 이때 LLC 프레임은 토큰 버스 프레임의 전송 데이터로 취급된다.

토큰 버스 프로토콜에서 정의한 토큰 버스 프레임의 구조

 

상단의 숫자는 각 필드의 크기로 단위는 바이트이다. 토큰 버스 프레임 구조는 CSMA/CD 프레임 구조와 거의 비슷하나 중요한 차이점이 있다. 토큰 버스 프레임에는 데이터 프레임과 토큰 프레임을 구분하기 위한 Frame Control 필드가 추가되어 있다. 

헤더와 트레일러에 정의된 필드의 기능

  • Start Delimiter/End Delimiter(시작 구분자/끝 구분자) : 프레임의 시작과 끝을 의미하는 경계를 표시한다. 이더넷 프레임에는 Length필드가 있어서 프레임 전체의 크기를 가늠하지만, 토큰 버스에서는 End Delimiter 필드가 이 역할을 대신한다.
  • Preamble/Source Address/Destination Address/Checksum : 이더넷 프레임과 기능이 동일하다.
  • Frame Control(프레임 제어) : 데이터 프레임과 제어 프레임을 구분해준다. 데이터 프레임에서는 프레임 우선순위와 수신 호스트의 응답 확인이 필요할 때 사용하고, 제어 프레임에서는 토큰의 전달, 링 관리와 같은 용도로 사용한다.

첫 번째 2비트 값에 따라 역할이 구분된다. 먼저 TT = 00 으로 정의된 제어용 MAC 프레임의 종류는 CCCCCC 비트 값으로 구분하는데, 00001000이 토큰 프레임이다. TT=01인 경우는 LLC 프레임으로 정의되므로 상위 계층인 LLC 계층에서 내려온 전송 데이터이다. 따라서 토큰 버스 프로토콜에서 상대 호스트에 전송할 데이터 프레임에 해당한다.

토큰 버스에서 우선순위는 값이 0, 2, 4, 6인 네 개의 클래스로 나누며 숫자가 클수록 우선순위가 높다. 따라서 호스트에서는 네개의 클래스를 관리하기 위한 논리적인 큐를 만들어야 하며, 토큰 프레임은 우선 순위가 6이다.

LLC 프레임의 좌우에 토큰 버스 프레임의 헤더와 트레일러 정보가 채워지면 물리 계층이 수신 호스트로 전송한다. 수신 호스트의 MAC 계층은 토큰 버스 프레임의 헤더와 트레일러 정보를 해석하여 이들을 떼어내고, 상위 계층인 LLC 프로토콜에는 LLC 프레임 정보만 올려준다.


Reference

쉽게 배우는 데이터 통신과 컴퓨터 네트워크