네트워크 - MAC Protocols with Collision(2)

2021-01-21

컴퓨터 네트워크를 공부하면서 정리를 한 내용들 입니다.

-참고 K-mooc 부산 대학교 유영환 교수님 : 컴퓨터 네트워크 강의


이전 포스트에서는 알로하 네트워크의 효율성을

그리고 그 효율성이 낮음으로써 문제가 된다는 사실을 알게 되었습니다.

그래서 알로하를 개선한 slotted ALOHA 라는 것이 제안 되었습니다.

Slotted ALOHA

slotted ALOHA에는 전제 조건이 있습니다.

모든 노드들이 시간이 맞춰져야 됩니다.(synchronized)

전체 air time을 똑같은 사이즈의 타임슬롯으로 나누게 됩니다.

그래서 하나의 슬롯은 하나의 프레임을 전송 하는데

필요한 만큼으로 나누어 지게 됩니다.

그러면 각각의 노드들은 보낼 데이터가 있을 때

해당 슬롯의 시작 시간에 맞추어서 전송을 시작 할 수 있습니다.

만약 충돌이 났다면, 노드가 다음 연속 된 슬롯들 중에서

p라는 확률에 따라서 다음 슬롯이 전송 할 지 말 지 결정을 하고,

성공을 못 한다면 다시 다음 슬롯에서 전송 할 지 말 지 결정을 해서

성공할 때 까지 전송하는 형태입니다.

For Example


그림의 예 처럼 

첫 번째 슬롯에서 `1번`, `2번`, `3번`이 모두 전송을 시도합니다.

그로인해 `collision(C)`이 발생 하게 되었고,

`collision`이 발생 했기 때문에 데이터를 다시 전송 하기 위해

다음 타임슬롯에서는 `1번`, `2번`, `3번` 노드가 `p`의 확률로 전송 할지 말지 결정을 합니다.

전송 안하기로 결정을 해서 `비어 있는(E)` 슬롯으로 남아 버렸습니다.

다음 슬롯에서는 `1번`과 `2번`이 동시에 전송하기로 해서 

`p`의 확률로 계산 해서 전송하기로 결정을 했고 다시 `충돌`이 발생했습니다.

그러면 다음 슬롯에서는 노드 `2번` 만이 전송을 하기로 결정을 했습니다.

여섯 번째 슬롯에 와서야 첫 번째 노드 `1번`도 재전송 하기로 결정 했고

노드 `3번`도 충돌 한 것을 재전송 하기로 결정 했습니다만

또 같은 슬롯을 선택 함으로 인해서 또 `충돌`이 났고,

이렇게 나누어 짐으로써 최종적으로 `전송이 성공`하는 형태가 되었습니다.

Slotted ALOHA Efficiency

efficiency 측면에서 슬롯을 나누어 놓으면

데이터 충돌이 중간에 겹치는 경우가 없다는 장점이 있습니다.

프레임이 중간에 겹치는 경우가 없고

충돌이 나는 경우는 AC 또는 BD처럼 두 개 이상의 노드들이

같은 타임슬롯을 사용 하기로 결정을 하면 그 때 충돌이 발생합니다.

그래서 ALOHA에서는 선택한 타임슬롯 외에도

직전 한 타임슬롯 이 만큼 내에도 다른 노드가 전송하지 않아야 되는데

slotted ALOHA에서는 슬롯을 나눠 놓았기 때문에

선택한 슬롯에서만 누군가 전송하지 않으면 됩니다.

그래서 ALOHA에 비해서 충돌의 확률이 위의 이유로 반으로 줄어듭니다.

ALOHAefficiency0.184, 18.4% 였는데

충돌의 확률이 반으로 줄어들어서

maximum efficiency18.4%의 두 배인 37%로 증가하게 됩니다.

ALOHAslotted ALOHAefficiency throughput

비교한 것이 아래의 그래프입니다.

빨간색이 ALOHA이고 파란색이 slotted ALOHA,

이렇게 보면 maximum 값으로 보면 두 배의 efficiency를 볼 수 있습니다.