네트워크 - MAC Protocols without Collision

2021-01-18

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

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


MAC 프로토콜 중에서 collision이 발생하지 않는 기술중 하나인,

Channel Partitioning에 대해서 먼저 살펴 봅니다.

Channel Partitioning : FDMA

먼저 채널을 나누는 기술은 처음에 주파수로 나누는 기술을 FDMA라고 합니다.

FDMA(Frequency Division Multiple Access) : 주파수를 나눈다는 뜻.

그림처럼 하나의 케이블에서 전송 될 수 있는 주파수들을 여러 개로 분할을 해서

개별 노드 하나하나 한테 주파수 채널을 나누어 줍니다.

각각 개별 노드에는 서로 다른 주파수를 할당 받기 채문에 충돌이 날 일이 없습니다.

충돌이 날 일이 없지만 문제는 2번, 5번과 6번 노드처럼 보낼 데이터가 없을 때는

채널이 그냥 놀기 때문에 자원이 낭비가 되는 문제가 있게 됩니다.

그렇지만 가장 단순하고 가장 사람들이 가장 먼저 생각 해 낼 수 있는 방식입니다.

Channel Partitioning : TDMA

두 번째는 TDMA, time division multiple access 입니다.

이것은 전체 채널을 아까처럼 주파수 방식으로 나누는 것이 아니라

어떤 순간에는 전체 bandwidth를 한 사용자가 다 사용을 합니다.

여기서 프레임이라는 것으로 나누고 이 프레임을 타임 슬롯으로 나눕니다.

예를 들어서 만약에 여섯 개의 슬롯으로 나눴다고 하면,

전체 하나의 프레임을 똑같은 크기의 여섯 개의 타임 슬롯으로 나누고

각각의 타임 슬롯을 특정한 사용자한테 할당하는 방식입니다.

이 경우에도 FDMA 방식과 마찬가지로 어떤 노드가 데이터를 보낼게 없다면

타임 슬롯을 낭비하게 되는 단점이 있습니다.

그런데 FDMA보다 TDMA가 더 나은 점은

FDMA에서는 주파수로 나눌 때,

할당 되는 주파수 외에도 중간에 guard band로 남는 주파수들이 있습니다.

guard band로 낭비 되는 그런 것들이 있어서 효율성이 더 낮은데

타임 슬롯으로 나눈 TDMA

이런 guard band가 없기 때문에 보다 효율성 측면에서는 FDMA보다는 낫지만

그래도 어떤 특정 노드가 보낼 데이터가 없을 경우에 그 슬롯은 놀기 때문에

MAC 프로토콜에 대한 희망사항 첫 번째 전송 하려는 노드가 하나 뿐일 때는

전체 bandwidth를 다 쓰면 좋겠다라는 규칙을 지키지 못하게 됩니다.

Channel Partitioning : CDMA

그 다음 나온 기술은 CDMA, code division multiple access 입니다.

앞의 FDMATDMA와 비슷한 형태로 명칭을 짓다 보니까 CDMA로 작명되었으나,

코드를 가지고 뭘 나누는게 아니라 암호화 하는 개념입니다.

과거에 휴대폰에서 CDMA를 많이 사용했습니다.

휴대폰 사용자들은 기지국으로부터 코드를 할당 받아서 자기가 보낼 데이터를

이 코드로 인코딩을 해서 보내게 됩니다.

그러면 시간과 주파수를 동시에 다 같이 쓸 수 있는데

각각의 폰에서 나온 데이터들에는 개별 코드로

코드 1, 코드 2, 코드 N 처럼 적용이 되어서 전송이 됩니다.

전송이 되면 그것이 각각의 코드 별로 채널 1, 2, 채널 N 인 것 처럼 동작합니다.

그러면 receiver(기지국) 측에서도 코드 1에 대해서 알아야만

코드 1을 사용하는 휴대폰이 보내는 데이터를 해석 할 수 있습니다.

그래서 이렇게 코드를 적용해서 인코딩디코딩 방식으로

서로 데이터를 구별하는 것.

이것을 CDMA라고 얘기를 합니다.

그래서 전체적으로 효율은 앞의 FDMATDMA보다 훨씬 좋습니다.