CS 기초/네트워크
[네트워크] CH4 다중접속 프로토콜(Multiple-access protocol)
땅어
2020. 11. 11. 11:18
728x90
300x250
다중접속 프로토콜이란
다수의 시스템들이 매체를 공유하는 환경에서 충돌없이 데이터를 전송하기 위한 프로토콜(멀티포인트 링크인 경우를 생각하면 됨) 다중접속 프로토콜은 일종의 "접근제어"로 데이터링크 계층에서 담당한다
다중접속 프로토콜의 분류
- 무작위 접근(Random access)
- 통제된 접근(Controlled-access protocol)
- 채널화(Channelization protocol)
데이터링크 계층의 세분화(부계층, sublayer)
- LLC(Logical Link Control) : error control, flow control
- MAC(Media Access Control) : access control(다중접속 프로토콜)
Random Access Protocol(무작위접근)
- 전송할 차례를 정하는 규칙 無(순번을 정해두지 X) -> 경쟁(Contention)이 발생
- 전송시간을 정해두지 않는다
- 충돌(Collision)이 생길 수 있다 - 두 시스템이 '동시'에 전송하는 경우
- CSMA/CD(CSMA with Collision Detection)가 매체를 계속 감시하다가 충돌이 감지되면 즉시 전송 중지
- CSMA/CA(CSMA with Collision Avoidance)는 "무선"의 경우에 사용. 무선의 경우 충돌 시 에너지가 두 배가 되기 때문에 감지 가능(신호중첩) 하지만, 무선의 경우 에너지 손실(감쇄)로 인해 충돌 감지가 어렵다 -> 그러니 충돌을 피해가자(avoidance)!! CSMA/CA는 충돌을 피하기 위해 아래 3가지 기법을 사용함.
- IFS(InterFrame Space) : 데이터를 바로 보내지 않고 잠시 기다리는 기간
- 충돌윈도우(Contention window) : 데이터를 보내기 전에 기다리는 시간(저마다 난수를 발생시켜 각기 다른 시간 동안 대기)
- ACK(Acknowledgment) : 데이터를 수신한 시스템이 보내는 응답
Controlled Access Protocol(통제된접근)
누가 데이터를 전송할 수 있는지 정해주는 통제가 존재.
- 예약(Reservation) : 데이터 전송을 사전에 예약함
- 풀링(Pooling) : 데이터 보낼 것이 있는지 물어봄(중재자 존재)
- 토큰전달(Token passing) : 토큰을 가져야 전달 가능
Channelization(채널화)
링크를 시간, 주파수, 코드로 나누어 여러 개의 채널을 만들고 이들을 서로 다른 시스템들이 이용하는 방법(매체는 하자미나 논리적인 길을 여러 개 만드는 셈)
- FDMA(Frequency-Division Multiple Access) : 주파수를 나누어 채널 사용(예. 공기라는 매체는 하나지만 라디오 FM, AM 등 주파수별 채널을 나누어 전달)
- TDMA(Time-Division Multiple Access) : 시간을 나누어 채널 사용
- CDMA(Code-Division Multiple Access) : 코드를 나누어 채널 사용
728x90
300x250