이번에 알아볼 것은 구체적 프로토콜의 형태들이다. 크게 세 가지 분류로 나뉠 수 있으며 하나하나 알아보도록 하자~

image

Random-access protocols

모든 스테이션이 동등한 지위를 가지고 독립적으로 존재한다. 따라서 데이터를 보내고자하는 스테이션이 있을 때 각각이 독립적으로 데이터를 보내기 때문에 충돌이 일어나기 쉽다.

ALOHA

가장 최초의 통신 방법이다. 실제 하와이에서 이루어진 방식이라는 데, 하와이는 섬으로 이루어져있고 그 당시에는 간헐적으로 소량의 데이터만 전달했기 떄문에 가능한 방법이다. 보내고자하는 데이터가 있으면 바로 전송하고 일정 시간동안 기다린 후 잘 받았다는 응답이 오지 않는다면 계속해서 재전송한다. 다른 스테이션을 고려하지 않기 때문에 충돌 가능성이 높은 편이다.

image

Slotted ALOHA

ALOHA 는 데이터 충돌이 일어나는 순간 모든 데이터가 버려졌다. 데이터를 보내기 시작하는 시간과 끝나는 시간을 각 slot 으로 설정해서 버려지는 데이터를 최소화하는 방법이다. 단순하지만 성능 개선 효과는 컸다고 한다.

image

CSMA

Carrier sense multiple access. 유선에서 대규모 통신을 할 때 생겨난 기술이다. 각 스테이션이 메세지를 보내기 전에 미디움에서 데이터가 전송되고 있는 지 확인한 후에 아무 데이터도 전송되고 있지 않으면 전송을 시작하는 방법이다.

image

하지만 맹점도 존재한다. 실제 데이터가 미디움을 타고 흘러가기 때문에 흘러가는 시간이 존재한다. 아래 그림에서 A 가 데이터를 보내기 시작했을 때 B, C, D 가 미디움에서 데이터를 인식하는 시간은 각각 다르다. 멀리 떨어져 있는 스테이션일수록 취약 시간이 더 늘어나는 셈이다. 한 번 데이터를 보내기 시작하면 미디움을 더 이상 들여다보지 않기 떄문에 위의 그림처럼 계속해서 충돌이 일어난다.

image

미디움이 데이터를 전송하고 있을 때 wait 상태의 스테이션들이 데이터를 전송하기 시작하는 방법으로 총 세가지가 있다. 아직 Random-access protocol 이기 때문에 어느 누가 스케쥴링해줄 수 없다는 것을 다시 한 번 생각하자!

image

1-persistent

미디움에 데이터가 전송되고 있으면 계속해서 지켜보다가 데이터 전송이 끝나면 바로 보낸다. 지연효과 측면에서는 미디움을 쉬게하지 않고 데이터를 보낼 수 있을 때 바로 보내기 떄문에 가장 좋다. 하지만 계속해서 미디움을 들여다봐야하기에 전력 소모가 많고, 끝나자마자 두 개 이상의 스테이션이 데이터를 보낸다면 충돌할 가능성이 매우 높다.

Nonpersistent

누가 데이터를 보내고 있으면 랜덤한 시간을 텀으로 두고 미디움을 계속 확인한다. 각 스테이션이 다른 시간 텀을 가지기 때문에 충돌할 가능성이 낮아지고 전력 소모가 낮아진다. 하지만 긴급한 메세지를 보낼 때에도 랜덤한 시간을 미디움이 빌 때까지 계속해서 기다려야하므로 지연이 발생한다.

p-persistent

미디움에 데이터가 전송되고 있으면 전송이 끝날 때까지 쭉 지켜보다가 끝난 시점부터 랜덤한 시간을 다시 기다렸다가 전송을 시작한다. 끝나는 시점을 확인하기에 지연시간이 줄어들고 두 개 이상의 스테이션이 대기하더라도 대기하는 시간이 각 다르기 때문에 충돌 가능성이 낮다. 하지만 우선순위 없이 운에 따라 다음 전송이 정해지는 문제가 있다.

CSMA/CD

Collision Detect. 말 그대로 충돌을 감지하는 것이다. 기존 CSMA는 한 번 데이터를 전송하기 시작하면 미디움을 들여다보지 않기 때문에 모든 데이터들이 버려졌다. 하지만 CSMA/CD 에서는 미디움을 들여다보면서 충돌이 감지되면 데이터 전송을 멈추기 때문에 버려지는 시간을 줄일 수 있다. 이것이 이더넷을 만드는 기초가 되었다고 한다.

image

CSMA/CA

유선 망이 아닌 무선 망에서의 CSMA 이다. 무선에서는 유선처럼 데이터를 전송하면서 들여다보는 행위가 어렵다. 따라서 충돌을 감지하는 것보다 회피하는 방식을 선택하였다. 이전까지는 보내는 송신자만이 해야하는 역할이 존재했지만 CSMA/CA 에서는 수신자가 해야할 역할이 존재한다.

RTS로 송신자가 데이터를 보내겠다는 신호를 수신자에게 보낸다. 그러면 수신자는 주변 모두에게 자신이 데이터를 수신한다고 CTS 를 모두에게 보낸다. 송신자도 CTS 를 받으면 그때부터 데이터 전송을 시작하게되고 끝나면 수신자가 다시 ACK 를 주변 모두에게 알려 다른 스테이션들도 데이터를 주고받을 수 있도록 한다.

image

A 는 B, C 와 통신할 수 있지만 B, C 사이에서는 통신이 일어나지 않는 상황이 존재할 수 있다. 이때 B 가 A 에게 데이터를 보낸다 하면 C 는 이를 알 수 없기 떄문에 수신자인 A 에서도 자신이 데이터를 받겠다는 것을 주변에 알리는 작업이 필요하다!

image

Controlled-access protocols

중앙 통제자가 존재하는 프로토콜이다. 스테이션이 직접 통제자 역할을 할 수도 있고, 별도의 독립된 통제자가 존재할 수도 있다.

Reservation

말 그래도 예약 방법이다. 미디움을 누가 사용할 것인지 통제자에게 예약하는 방법이다. 데이터를 보낼 스테이션들은 Reservation frame 에 기록하게 되고 순서대로 정해진 시간동안 데이터를 보낸다. 이후 다시 새로운 Reservation frame 대로 데이터를 전송하게 한다.

미디움 낭비 없이 데이터를 꽉 채워 사용할 수 있는 장점이 있다. 하지만 스테이션의 입장에서 예약을 하고 기다려야하기 때문에 지연이 발생할 수 있다.

image

Polling

통제자인 Primary 가 존재할 때 여러 Station 들과 데이터를 주고 받는 방법으로 데이터를 보내고 받는 방법이 다르게 존재한다. Primary 에서 Station 으로 데이터를 보낼 때 Select 를 사용하고, 반대의 경우 Poll 을 사용한다.

먼저 Select 는 Primary 가 해당 스테이션에 SEL 을 보내 상태를 확인한다. 스테이션은 ACK 를 통해 데이터를 받을 수 있다는 것을 알린다. 그러면 Primary 는 데이터를 보내고 끝나면 스테이션이 잘 끝났다는 ACK 를 다시 보낸다.

Poll 의 경우 Primary 가 모든 스테이션에게 순서대로 보낼 데이터가 있는 지 묻는 과정이다. 이때 Poll 을 보내게 되고 보낼 데이터가 없는 스테이션은 NAK, 보낼 데이터가 있으면 바로 데이터를 보낸다. 이후 Primary 가 데이터를 모두 잘 받았다는 ACK 를 해당 스테이션에 보내고 마무리된다.

충돌은 없지만 보낼 데이터가 없어도 서로 신호를 주고받는 것이 미디움을 낭비하는 것이며, 스테이션은 데이터를 바로 보내지 못하고 Primary 가 물어볼 때 까지 기다려야하므로 지연이 늘어난다. 또한 보시다시피 스테이션 간의 데이터 전달을 직접하지 못하고 Primary 를 거쳐야하기에 더 많은 시간이 소요된다.

image

Token-passing

별도의 중앙통제자가 존재하는 것이 아니라 스테이션이 통제하며 통제 권한을 모든 스테이션이 돌아가면서 가지게 된다. 권한을 가진 스테이션만이 데이터를 보낼 수 있으며, 모두 보냈거나 보낼 데이터가 없으면 권한을 다른 스테이션에 넘길 수 있다. 따라서 토큰을 기다려야하기에 지연이 발생한다. 하지만 충돌이 없고 미디움도 효율적으로 사용할 수 있다.

토큰은 논리적 링을 형성하고 순서대로 넘겨지기 때문에 물리적인 링이나 논리적인 링을 구성해야한다.

image

Channelization protocols

유무선 모두에서 미디움을 어떻게 접근할 것인지에 대한 의문이다. 수 많은 스테이션들이 어떻게 미디움을 나눠 사용할 지에 대한 논리적 접근이라고 할 수 있다.

FDMA

Frequency-division multiple access. 주파수를 이용하는 방법이다. 4개의 스테이션이 존재할 때 아래처럼 주파수 대역을 4개로 나누어 각각 할당한다. 물리적으로 미디움을 분리한 것과 비슷하다. 실제 과거의 전화기는 해당 방법을 사용했다고 한다.

image

TDMA

Time-division multiple access. 주파수는 너무 비싼 자원이기에 물리적으로 나눠 사용하기에는 비효율적이다. 따라서 시간을 나눈 방법이다. 사람의 음성을 20ms 로 자르고 압축해서 5ms 만에 전달한다. 그리고 수신자가 이 5ms 를 다시 20ms 로 풀어서 들려주게되면 미디움에서 한 스테이션은 5ms 만 사용해 20ms 를 전달할 수 있다. 해당 스테이션은 15ms이 지나기 전에 다시 다음 20ms 를 압축해서 보내게 된다면 수신자는 끊김없이 음성을 연결해 들을 수 있다. 따라서 하나의 미디움에서 4개의 스테이션이 동시에 음성을 보낼 수 있다. 실제 지연시간이 매우 작아 알아차리지 못한다고 한다.

image

CDMA

Code-division multiple access. 본인이 데이터를 전송하지 않으면 계속해서 소량의 시그널이 미디움에 흘러간다. 보낼 데이터에 자신의 코드를 곱해서 전송하게 되고 미디움에서는 여러 스테이션에서 각자의 코드를 곱한 값들이 쌓이게 된다. 이 데이터에서 자신의 코드를 곱하면 1이 나오고 다른 코드를 곱하면 0이 나오기 때문에 자신의 코드만 추출할 수 있다. 일종의 암호화 기술이라고 볼 수 있다. 아래의 예제를 따라가보자!

image

image

image

image

업데이트:

댓글남기기