센로그

Chapter 12. MULTIPLE ACCESS 본문

CS/컴퓨터 네트워크

Chapter 12. MULTIPLE ACCESS

seeyoun 2022. 11. 8. 17:45


◆ Data Link - Sublayer

데이터 링크 계층의 두 부계층(sublayer)

ㆍDLC(Data Link Control sublayer)

흐름 및 오류를 제어하는 부분

 

MAC(Media Access Control sublayer) :

실제 매체에 접근하는 부분

 

Chapter 10~11까지 DLC에 대해 언급했고, 이번에 공부할 것은 MAC 부분임.

 


◆ 다중 접근 프로토콜이란?

공유 링크를 사용하는 경우, 링크에 접근하는 것을 조율하기 위한 다중 접근 프로토콜(Multiple-access protocol)이 필요함.

 

여러 사람이 회선을 사용(Bus Topology 등)할 때 생기는 문제(방해, 충돌 등)들을 해결하기 위한 방법에 대한 규정!

 

< 분류 >

1. Random-access protocol (임의 접근 프로토콜)

2. Controlled-access protocol (제어 접근 프로토콜)

3. Channelization protocol (채널화 프로토콜)

 


◆ Random access protocols (임의 접근 프로토콜)

어느 타임에 매체에 접근할지를 임의적으로 결정하는 방식.

 

종류

  • ALOHA
  • CSMA
  • CSMA/CD ( Collision Detection; 유선 LAN )
  • CSMA/CA ( Collision Avoidance; 무선 LAN )

 


■ ALOHA

누구든 보낼 프레임이 있으면 언제든 보냄!! 

그러나 당연하게도 충돌이 발생함.

 

 

(R : Random number)

 

누구든 보내고싶은 게 있을때 언제든 보냄.

그러나 타임아웃 시간까지 잘 받았다는 응답이 안 오는 경우, Tb (전송시간 * Random number) 만큼 기다렸다가 다시 보냄.

이것을 Kmax번 만큼 반복함. (15번까지 시도해보고 16번째 되면 포기. 채널 막히는걸 방지하기 위함!!)

 


■ slotted ALOHA (틈새 ALOHA)

ALOHA의 효율을 높이고자 나온 개념. Station들 모두 시간이 동기화되어 있다고 가정.

타임 슬롯(정해진 한 구간)이 시작될 때에만 프레임을 전송할 수 있음!!

=> 타임 슬롯 안에서만 충돌이 발생함! 처리율 두 배 높임.

 

 

ㆍ순수 ALOHA (위에서 설명한 ALOHA 개념을 의미)

 

-> 처리율(Throughput) 0.184 

 

 

 

ㆍ틈새 ALOHA

타임 슬롯 시작할 때 충돌이 안나면 끝날때까지 충돌이 안 나겠죠?

-> 처리율(Throughput) 0.368

 


■ CSMA (Carrier Sense Multiple Access)
: 반송파 감지 다중 접근

" Listen before talk. " 

내가 전송하기 전에, 누가 회선을 쓰고있는지를 감지할 수 있도록 하자는 개념. 

=> 충돌 가능성을 줄일 수 있음! (완전히 없앨 수는 없음 ㅠㅠ. propagation delay 때문.)

 

 

회선이 바쁜지 감지하고 보내기까지의 방식 - 다음 세 가지 방식이 있음. (중요)

  • 1-persistent method (1-지속 방식)
  • non-persistent method (비지속 방식)
  • p-persistent method (p-지속 방식)

 

(참고)

Idle 상태(==휴지 상태)란, 회선이 안 바쁜 상태

busy 상태란, 회선이 바쁜 상태(누가 쓰고 있음)

 

 

 

ㆍ1-persistent  (1의 확률로, 즉 100% 보냄)

매체가 바쁜지 계속해서 감지하다가, Idle 상태가 되자마자 프레임 보냄.

=> 보낼 수 있는 상태가 되면 바로 보내기 때문에 효율 높음. but Idle 상태 되자마자 다같이 보내면 충돌 위험.

 

 

 

non-persistent

1-persistent에 비해 조금 더 간격(랜덤 간격)을 두고 감지하다가, Idle 상태가 확인되자마자 보냄.

=> 충돌 위험 낮춤. but 보낼 수 있음에도 쉬고있을 수 있으니까 효율 낮아짐

 

 

 

p-persistent  (p의 확률로 보냄)

앞의 두가지 방식의 장점을 합한것!!

매체가 바쁜지 계속해서 감지하다가, Idle 상태가 되면 앞의 충돌 확률에 따라 좀 기다렸다가, 그래도 여전히 Idle이면 보냄.

(busy 상태면 다시 계속 감지하러 들어감)

 

타임 슬롯을 계산하는 방법. p의 확률로 보내고, 1-p의 확률로 타임 슬롯만큼 더 기다림.

 


■ CSMA /CD (Carrier Sense Multiple Access/Collision Detection)
: 반송파 감지 다중 접근 - 충돌 검출

- 유선 LAN (이더넷)에서 사용.

 

앞의 persistent 방법들에 따라 회선이 바쁜지 감지함.

(방법에 따라) 보낼 수 있게 되면 보내는데, 이때 충돌이 난 경우 전송을 즉시 중단하고 jamming signal(충돌 신호)을 보냄.

=> 네트워크 내 모든 station들은 충돌 발생했다는 사실, 지금 회선이 바쁘다는 사실을 알게됨.

그리고 나서 ALOHA 처럼 랜덤 시간에따라 기다리고, 15번까지 반복함

 

 

 

충돌 발생시 전송 매체 상에서 더 큰 신호가 잡힘.

 


■ CSMA /CA (Carrier Sense Multiple Access/Collision Avoidance)
: 반송파 감지 다중 접근 - 충돌 회피

- 무선 LAN (WiFi)에서 사용.

무선 구간인 경우 전송 매체(공기 등) 상에서 충돌 검출이 어려움 => 사전에 조심해서 보내자!! 

(조심하는 방법: IFS, Contention Window, ACK의 세가지 전략)

 

 


1. 안테나에 신호가 계속 들어오면( == busy 상태) 기다려.

2. Idle 되는시점에, 바로 안 보내고 한 타임 기다려(Inter Frame Space).

3. 여전히 Idle이면, 그 다음부터는 각자 랜덤 슬롯만큼 기다려보자(Contention window).

이 Contention window 타이머 끝나면 전송하는데, 타이머 도중에 busy 상태를 감지하면 처음부터 다시 시작하는 게 아니라 타이머를 잠깐 멈추는 방식. => 가장 오래 기다린 Station이 우선순위 갖게 됨!

4. 그리고 나서 보내자.

5. 타임 아웃 나면 15번까지 반복해.

 

IFSpropagation delay에 따른 충돌을 피하기 위해 존재하는 것. Station이나 프레임의 우선순위를 규정하는 것에도 사용될 수 있음(IFS가 짧으면 짧게 기다리는 것이므로 먼저 보낼 수 있음)

 

CSMA/CD에서는 충돌을 감지 못했으면 잘 전송 된 거지만, CSMA/CA에서는 잘 전송됐는지 확인할 방법이 없기 때문에 ACK 신호를 받는거로 확인하는 것임!!

 


◆ Controlled access protocols (제어 접근 프로토콜)

전송할 권리가 있을 때만 전송할 수 있음

 

 

종류

  • Reservation
  • Polling
  • Token Passing

(별로 안 중요함)

 


■ Reservation

데이터를 전송하기 전, 예약 프레임의 자신의 미니슬롯에 예약을 함.

예약이 되면 그 다음 프레임에 데이터를 보냄.

 

▲ 맨 앞 예약 프레임에서 1, 3, 4번 Station이 예약을 했고, 그 다음 프레임들에 자신의 데이터를 실어나름

 

 


■ Polling

주국(primary)에 의해 작동되는 것.

주국이 링크를 제어하고, 어느 시간에 어느 지국(Station)이 채널을 사용할지 결정함.

but 주국이 에러나면 전체 시스템이 에러남.

 

이 과정을 이해하기 위해, Select Poll의 개념이 필요함. (구분하기)

 

 

ㆍSelect  (주국지국에게 보낼 때)

- 주국이 지국에게, 너 받을 준비 됐니? 하고 묻는 거. (SEL 프레임)

- ㅇㅋ 응답(ACK 프레임) 오면 데이터 보냄

 

 

 

ㆍPoll (지국주국에게 보낼 때)

 

- 주국이 지국에게, 너 보낼 데이터 있니? 하고 계속해서 물어봄.(Poll 프레임)

- ㄴㄴ응답(NAK 프레임)오면 다음 지국에게 물어봄. 다음 지국이 보낼 게 있으면 바로 데이터 보냄.

 

처음에 1초 – 못 보내면 1.2초 – 이런식으로 늘려가면서 보냄. ==> 처음에 보내는 1초 이거를 굉장히 짧게 가져가는 것.

처음에는 다 잘게 쪼개고, 그다음에 못가면 더 크게보내고 그런거임.

왜 짧게할까? 평등. 골고루에게 혜택을 짧게짧게 빨리 주는 거. 일 적은 사람은 빨리 쓰고 나가라!

 


■ Token-passing

토큰을 가진 Staion에게 기회를 주는 것. 

토큰이 없는 Station은 그 시간에 통신을 못하기 때문에 충돌이 잘 발생하지 않음!

 

- Ring Topology에서 사용

 

주로 Hub에 Ring들이 연결된 형태인 Star ring 많이 씀.

 


◆ Chanelization Protocol (채널화 프로토콜)

링크의 대역폭을 여러명이서 동시에 사용할 수 있도록 하는 것.

사용 가능한 대역폭이 모든 사용자에게 공유된다.

 

종류

  • FDMA (Frequency-Division Multiple Access)
  • TDMA (Time-Division Multiple Access)
  • CDMA (Code-Division Multiple Access)

( MA는 무조건 2계층!! )

 

 

"...근데, 그럼 Multiplex랑 뭐가 다르냐?"

 


◆ Chanelization vs Multiplex

(주파수로 station들을 구분한다고 할 때!!)

Multiplex같은 조건으로 들어온 걸 가지고, 각각 다른 주파수를 할당하는 거였다. (변조)

Chanelization애초부터 각 단말에게 각각 다른 주파수로 접근하라고 하는 것임!

 


■ FDMA (Frequency-Division Multiple Access)

: 주파수를 쪼갬

 

Station별로 사용 가능한 주파수 대역미리 정해져있음!

 

사이사이 GuardBand (보호대역) 있음!!

 

※ Multiplex - FDM은 데이터가 들어온 후에 각각 다른 주파수를 할당함

 


■ TDMA (Time-Division Multiple Access)

: 시간을 쪼갬

 

Station별로 사용 가능한 타임 슬롯이 미리 정해져있음! 

 

※ Multiplex - TDM은 데이터가 들어온 후에 각각 다른 시간을 할당함

 


■ CDMA (Code-Division Multiple Access) 

: 주파수도 안 쪼개고, 시간도 안 쪼개면서도 동시에 보냄!! 헉~?! 이건 뭐지! (휴대폰의 핵심 기술)

채널별로 Code ( == Chips)를 할당함. 각 채널은 부여받은 Code를 사용해서 데이터를 부호화함.

이것들을 하나로 합쳐서 동시에 전송함.

수신측에서는 부여했던 Code를 사용해 복호화하면 각 채널별로 뭘 보냈는지 알아낼 수 있음!!

 

 

< 방법 >

 

[송신부]

1.

우선, 내가 보낼 데이터가

0이면 -1

1이면 +1

지금 보낼 거 없으면 0으로 표시

 

채널별로 Chip sequence( == Code)를 할당받음. (<-이거 언제 받음? 휴대폰 개통할 때 받음! 유심 번호 등록)

 

2.

각자의 데이터를 할당 받은 코드와 곱함.

이 값을 모두 더하면 중간의 노란부분 값이 나옴. 

▼ 지금까지 이 그림처럼 된 것임.

 

 

 

[수신부]

3.

이제 들어온 데이터에 다시 할당받았던 코드를 곱함.

그리고 나온 결과값을 모두 더한 후, Maximum 값으로 나눔! (Station이 4개니까 Data의 Maximum은 4)

~> 쨘~ 보냈던 진짜 비트 등장!!

 


그럼, 이 코드는 어떻게 만들어지냐?

-> Walsh table

 

 

- 처음 값(사용자가 한명일 때)은 +, - 둘 중 하나.

- 두번째 값부터는 우측 아래 부분만 보수 취해주면 됨. (각 행이 각자 사용자의 코드임)

- 사용자가 늘어날 경우 코드도 2의 제곱승 단위로 늘어남!! 

(예를들어 사용자가 90명인 경우, 128개의 코드를 만들어야 함)

 

 

Comments