본문 바로가기

전공/네트워크

데이터 링크- Multiple Access Protocols(MAC) #3. Taking Turns

반응형

앞서 포스팅에서 채널 분할[Channel Partitioning] 방식과 Random Access 방식의 MAC 프로토콜을 살펴보았다. 채널 분할 방식은 보낼 프레임이 많을 때는 효율적이지만 IDLE한 환경에선 채널의 낭비가 발생했으며 이와 반대로 Random Access에선 채널이 IDLE 할 때는 효율적이지만 그렇지 않을 땐 충돌로 인해 채널의 낭비가 발생했다.

1. as-backup.tistory.com/5?category=1156499

 

데이터 링크- Multiple Access Protocols(MAC) #1. Channel Partition

Multiple Access란 무엇일까? 네트워크 상에 존재하는 하나의 채널 링크에는 여러 개의 노드가 동시에 접근할 수 있다. 그러나 하나의 링크 채널에는 한번에 하나의 데이터만 송신할 수 있다. 만약 ��

as-backup.tistory.com

2. as-backup.tistory.com/6?category=1156499

 

데이터 링크- Multiple Access Protocols(MAC) #2. Random Access

앞서 MAC 프로토콜에 대한 정의와 함께 채널을 분할[Channel Partitioning]해서 사용하는 방식에 대해 언급했었다. 해당 방법은 네트워크 환경이 IDLE 할 때는 성능이 좋지 않다는 단점을 가지고 있었다.

as-backup.tistory.com

 

 

그러면 이외에도 다른 프로토콜이 없을까? 있다. 오늘 알아볼 Taking Turn, 즉 '순서대로 실행하기' 방법이다. 굉장히 단순하고 직관적인 방식이다. 해당 방식에는 Polling과 Token Passing 방식이 존재한다.

 

1. Polling

마스터 노드와 슬레이브 노드가 존재한다. 마스터는 전송을 시작해도 되는 슬레이브를 순서대로 지정한다. 슬레이브는 지정받은 번호표에 맞춰 전송을 시작한다. 장점으로는 간단하고 충돌 걱정X 채널 낭비X다. 그러나 마스터가 슬레이브의 전송 순서를 정하는 것에도 오버헤드가 생길 수 있으며 마스터가 다운되면 시스템 전체가 다운될 수도 있다는 단점(=Single of Failure)이 존재한다.

 

2. Token Passing

하나의 네트워크에 참여한 모든 노드들은 Token을 공유한다. 그리고 해당 Token을 가진 자만이 데이터를 전송할 수 있다. 그리고 자신의 전송이 끝나면 옆 친구에게 Token을 전달하면서 순서대로 데이터를 전송한다. 단점으로는 Token을 돌리는 데에 대한 오버헤드와 Token 시스템이 죽으면 시스템 전체가 죽는 문제가 있다. 또한 Token이 순서대로 돌고 있을 경우에 생기는 Latency(=지연)도 존재한다.

예를 들어 노드 Z가 데이터를 전송하고 싶다. 그러나 현재 Token은 노드 A에게 있다. A는 B,C,D ... X,Y,Z의 노드 순서로 Token을 전달한다. B에서 Y까지 존재하는 모든 노드들은 지금 딱히 보낼 데이터가 없다. 그럼에도 불구하고 Token은 A에서 바로 Z로 가는 것이 아니라 B~Y를 전부 다 거쳐서 전달되어야 하기 때문에 Latency가 존재하게 된다.

 

이러한 Taking Turns 방법을 사용하여 통신하는 대표적인 기술에는 Bluetooth와 FDDI가 존재한다.

 

이렇게해서 MAC Protocol의 전달 방식을 배웠다. 

총 정리를 하자면 MAC Protocol은 3가지 유형이 존재한다. Channel Partitioning과 Random Access 마지막으로 Taking Turns 방식이다. 그 어떤 것 하나 절대적으로 유리한 방식이 아니며 각 네트워크의 환경에 따라서 어떤 방식이 최적일지를 먼저 고민해본 후 사용해야 한다.

 

반응형