Multiple-access protocols
여러 사람이 회선을 사용(ex. bus)할 때 생기는 문제들을 해결하기 위한 방법에 대한 규정
- Random-access protocol (임의 접근 프로토콜)
- Controlled-access protocol (제어 접근 프로토콜)
- Channelization protocol (채널화 프로토콜)
12.1 Random Access
- ALOHA
- CSMA
- CSMA/CD (Collision Detection - 유선 RAN)
- CSMA/CA (Collision Avoidance - 무선 RAN)
📁 ALOHA
보낼 frame이 있을 때 바로 보낸다.
- 타임아웃까지 잘 받았다는 응답이 안오는 경우 Tb(전송시간 * Random num) 만큼 기다린 후 다시 전송
- 많이 기다릴 수록 성공 확률이 높아진다.
- K max번까지 반복한다. K번을 시도한 후에는 포기한다
📁 CSMA (Carrier Sense Multiple Access)
= 내가 전송하기 전에 누가 회선을 사용하고 있는지 먼저 감지를 하자!
- 1-persistent method (1-지속 방식)
- non-persistent method (비지속 방식)
- p-persistent method (p-지속 방식)
🍪 1-persistent ( 1의 확률로 전송)
매체가 사용중인지 계속 감시 -> Idle 상태가 되자마자 frame 전송
- 효율이 높으나, Idle 상태가 되자마자 다같이 보내면 충돌이 일어날 수 있다
🍪 non-persistent
1-persistent에 비해 랜덤 간격을 두고 감지하다가 Idle 상태일 때 전송
🍪 p-persistent ( p의 확률로 전송 )
위의 두 방식의 장점을 합친 것
계속 감시를 하다가 Idle 상태가 되었을 때 이전의 충돌 확률에 따라 기다렸다가 보낸다.
📁 CSMA/CD (for 유선 LAN - 이더넷)
= Carrier Sense Multiple Access/Collision Detection
= 반송파 감지 다중 접근 - 충돌 검출
- 앞의 persistent 방법들을 이용해 회선이 바쁜지 감지
- 충돌이 난 경우 : jamming signal(충돌 신호)를 보낸다 -> 네트워크 내 모든 station들이 충돌이 발생했다는 것을 알게 된다.
- 이후 ALOHA처럼 랜덤 시간에 따라 기다린다.
= 갑자기 큰 E가 발생했을 때 충돌했다고 판정
📁 CSMA/CA (for 무선 LAN - WIFI)
= Carrier Sense Multiple Access/Collision Avoidance
= 반송파 감지 다중 접근 - 충돌 회피
- 무선 구간인 경우 전송 매체(공기 등) 상에서 충돌 검출이 어렵기 때문에 사전에 조심해서 보내야 한다
- 안테나에 신호가 계속 들어오면 기다린다.
- Idle이 되면 기다린다 / IFS 만큼
- 여전히 Idle이면, 랜덤 슬롯 만큼 기다린다(Contention window) 도중에 busy 상태를 감지하면 처음부터 시작하는 것이 아니라 타이머를 잠깐 멈춘다 = 가장 오래 기다린 Station이 우선순위를 갖는다.
- Send frame
- time-out이 나면 다시 반복
- ASK를 받은 거면 Success 한 것
- CSMA/CD에서는 충돌이 감지되지 않았으면 Success
12.3 Channelization
📁 CDMA
= Code-Division Multiple Access)
- 주파수와 시간을 쪼개지 않고 동시에 보낸다!
- 휴대폰에서 사용
- 채널 별로 Code(Chip sequence)를 할당받는다
- 내가 보낼 데이터가 0이면 -1 / 1이면 +1 / 없으면 0
- 각자의 데이터를 할당 받은 Code와 곱한 후 채널마다 도출된 값을 모두 더한다.
- 최종 data에 할당받았던 Code를 곱한 후 모두 더한다.
- 그 결과물에 Maximum 값을 나누어 보낸 data를 도출한다.