네트워크 링크는 두 종류로 나뉜다:
point-to-point link
broadcast link
broadcast link는 여러 노드가 공유해서 사용하고 있기 때문에 multiple access problem이 발생한다. 이는 여러 개의 노드가 동시에 프레임을 전송해 수신자 측에서 데이터 충돌이 발생하고, 전송된 프레임이 소실되는 상황을 일컫는다. Multiple access problem을 해결하기 위해 노드의 전송을 조정하는 것이 필요한데, 이것이 바로 multiple access protocol이다.
Multiple access protocol은 다음과 같은 특징을 갖고 있다.
지금까지 다양한 multiple access protocol이 개발되었지만, 크게 세 카테고리로 구분할 수 있다. 바로 channel partitioning protocols, random access protocols, 그리고 taking-turns protocols이다. 지금부터 각 카테고리를 설명해보도록 하겠다.
이 종류의 프로토콜들은 여러 개의 노드들이 충돌없이 frame을 보낼 수 있도록 하기 위해서 채널을 나누는 방법이다. 크게 세 가지가 있다.
1. time-division multiple access (TDMA)
이 방식은 시간을 time frame으로 나누고, 각 time frame을 노드 개수인 N개의 time slot으로 나누는 경우이다.
2. frequency-division multiple access (FDMA)
이 방식은 해당 채널에 할당된 frequency를 노드 개수만큼 나누는 경우이다. 각 frequency는 R/N bandwidth를 가지며 한 노드에 할당된다. FDMA의 장단점은 TDMA의 장단점과 동일하다
3. code division multiple access (CDMA)
CDMA는 각 노드에게 다른 코드를 할당한다. 각 노드는 유니크한 코드로 데이터를 인코딩하여 전송하는데, 수신자는 그 코드를 전달받아 알맞게 디코딩해서 데이터를 읽는다. 이때, 코드를 잘 선택 및 배정하기만 하면 여러 노드가 동시에 데이터를 충돌없이 전송할 수 있다는 장점이 있다. 그래서 군대나 핸드폰에 자주 사용된다.
이 종류는 말 그대로 랜덤하게 데이터를 전송하는 프로토콜들이다. Random access protocol에서는 전송하는 노드는 항상 채널의 전체 속도, 즉 R bps로 전송한다. 만약 충돌이 발생할 시, 충돌에 연관된 노드들은 전송하고자 하는 데이터가 도착할 때까지 반복적으로 재전송한다. 이때, 바로 재전송하는 것이 아니라 랜덤한 딜레이를 두고 보내게 되는데, 딜레이가 랜덤이기에 언젠가 프레임이 충돌없이 잘 도착하게 한다.
Random access protocol 중에서 자주 사용되는 프로토콜은 ALOHA protocol과 carrier
sense multiple access (CSMA) protocol이다.
1. Slotted ALOHA
이 방식은 다음과 같은 특징을 가지고 있다.
장점
효율성
2. ALOHA
ALOHA는 slotted ALOHA와 달리 노드가 전송할 프레임이 생기면 즉시 보낸다. 충돌이 일어나면 그 즉시 p의 확률로 재전송하고, 그렇지 않으면 프레임 전송 시간만큼 기다려 다시 반복한다.
효율성
3. Carrier Sense Multiple Access (CSMA)
이 방식은 노드가 전송하기 전에 채널의 상태를 확인한다. 만약 현재 채널에서 무엇이 보내지고 있다면, 노드는 채널이 어느 정도 시간 동안 안 보낼 때까지 기다리고 프레임을 전송한다. 이런 방식을 택해도 충돌이 일어나는 이유는 propagation delay 때문이다.
4. CSMA with collision detection (CSMA/CD)
이 방식은 노드가 전송하기 전에 채널의 상태를 확인하면서도 노드가 전송하는 도중에 채널의 상태를 확인한다. 만약 한 노드가 전송하고 있는 와중에 다른 노드도 전송하려고 한다는 것을 알게 되면, 전송을 그만하고 랜덤 시간동안 기다려 sense-and-transmit-when-idle cycle을 반복한다.
1. polling protocol
이 프로토콜은 한 노드를 마스터 노드로 지정한다. 마스터 노드는 round-robin 방식으로 다른 노드들에게 메세지(poll)을 보낸다. 가령, 마스터 노드는 노드 1한테 몇 개의 frame을 보낼 수 있음을 알리고, 노드 1이 다 보내면 노드 2한테 몇 개의 frame을 보낼 수 있음을 알리는 방식인 것이다.
장점
단점
2. token-passing protocol
이 방식에는 마스터 노드가 없고, Token이라는 작고 특정 목표를 가진 프레임이 노드 사이에서 특정 순서로 교환된다. 노드가 token을 받으면, 보낼 프레임이 있을 경우 붙잡고 있다. 보낼 것이 없으면 그 즉시 다음 노드에게 token을 전달한다. 이때, token을 가지고 있는 노드는 특정 수의 프레임까지만 보낼 수 있다.