12장 매체 접근 제어 (MAC: Media Access Control)
12장: 개요 12.1 임의 접근 12.2 제어 접근 12.3 채널화 12.4 요약
12장: 목표 다중 접근(Multiple Access): 노드나 지국이 다중점 또는 브로드캐스트 링크라고 부르는 공유 링크를 사용할 때 링크에 접근하는 것을 조율하기 위한 다중 접근 프로토콜이 필요 그림 12.1: 다중 접근 프로토콜의 분류
12.1 임의 접근 임의 접근 각 지국은 다른 어느 지국에 의해 제어받지 않은 매체 접근 권리를 가지고 있음 매 순간 전송할 데이터가 있는 지국은 전송할지 말지를 결정하기 위해 프로토콜에서 정해진 절차를 따름 이 결정은 매체의 상태(휴지 상태이냐 바쁘냐)에 좌우 충돌을 피하기 위한 절차 언제 지국이 매체에 접속할 수 있는가? 만약 매체가 사용된다면 지국은 무엇을 할 수 있는가? 어떤 방법으로 지국은 전송의 실패와 성공을 파악할 수 있는가? 만약 매체 충돌이 발생한다면 지국은 무엇을 할 수 있는가?
12.1.1 ALOHA 가장 오래된 임의 매체 접근 방법인 ALOHA는 70년대 초반에 하와이 대학에서 개발됨 지국들은 매체를 공유 지국이 데이터를 전송할 때 동시에 다른 지국도 같은 시도를 할 수 있음 두 지국으로부터의 데이터는 서로 충돌하여 서로 망가질 수 있음
12.1.1 ALOHA 순수 ALOHA(pure ALOHA) 각 지국은 지국이 전송할 프레임이 있으면 언제든지 전송 그러나 오직 하나의 채널만이 있으므로 서로 다른 지국에서 전송한 프레임 간에 충돌이 있을 수 있음 프레임 전송 후 확인응답을 기다리고 시간 내에 확인응답을 받지 못하면 프레임을 잃어버렸다고 간주하고 재전송을 시도
12.1.1 ALOHA 그림 12.2: 순수 ALOHA 네트워크의 프레임
12.1.1 ALOHA 그림 12.3: 순수 ALOHA 프로토콜의 절차
12.1.1 ALOHA 예제 12.1: 무선 ALOHA 네트워크의 지국들은 최대 서로 600 km 떨어져 있다. 신호가 3×108 m/s의 속도로 전파한다면 Tp = (600×103) / (3×108) = 2 ms이다. K = 2인 경우에는 범위는 {0, 1, 2, 3}이다. 이는 TB는 난수로 어느 값을 선택하느냐에 따라 0, 2, 4 또는 6 ms 중 하나가 된다는 것을 의미한다.
12.1.1 ALOHA 그림 12.4: 순수 ALOHA 프로토콜의 취약 시간
12.1.1 ALOHA 예제 12.2: 순수 ALOHA 네트워크는 200비트 프레임을 공유하는 200 kbps 채널을 사용하여 전송한다. 충돌이 안 생기게 하기 위한 조건은 무엇인가? 해답: 평균 프레임 전송 시간 Tfr은 200bits/200kbps 즉 1 ms이다. 취약 시간은 2×1 ms = 2 ms이다. 이는 특정 지국이 프레임을 전송하기 1 ms 이전부터는 아무 지국도 전송을 해서는 안 되며 또한 이 특정 지국이 프레임을 전송하기 시작한 이후 1 ms가 지나기 전에는 다른 지국은 전송을 해서는 안 된다는 것을 말한다.
12.1.1 ALOHA S는 처리량이라 불리는 성공적으로 전송되는 프레임의 평균 개수 G 는 한 프레임 전송 시간 동안에 시스템 전체에서 생성되는 프레임의 평균 개수
12.1.1 ALOHA 예제 12.3: 어떤 순수 ALOHA 네트워크가 200 kbps의 공유 채널을 사용하여 200비트의 프레임을 전송한다고 한다. 만일 전체 시스템의 지국들이 다음의 프레임을 생성한다고 하면 처리량은 얼마가 되겠는가? a. 매 초 1000 프레임 b. 매 초 500 프레임 c. 매 초 250 프레임 해답: 프레임 전송 시간은 200/200 kbps 즉, 1 ms이다. 시스템이 매초 1,000개의 프레임을 만들어낸다면 이는 1 ms마다 1개의 프레임이다. 부하는 1이다. 이 경우에는 S = G×e-2G 즉 S = 0.135 (13.5%)이다. 이는 처리량은 1000× 0.135 = 135 프레임이다. 1000개 중에 135개만 전송에 성공한다.
12.1.1 ALOHA 예제 12.3(계속): b. 시스템이 매초 500개의 프레임을 만들어낸다면 이는 1 ms마다 1/2개의 프레임이다. 부하는 1/2이다. 이 경우에는 S = G × e-2G 즉 S = 0.184(18.4%)이다. 이는 처리량은 500 × 0.184 = 92 프레임이다. 500개 중에 92개만 전송에 성공한다.퍼센트로 보았을 때 이 경우가 최대 처리량의 경우라는 것에 유의하라. c. 시스템이 매초 250개의 프레임을 만들어낸다면 이는 1 ms마다 1/4개의 프레임이다. 부하는 1/4이다. 이 경우에는 S = G × e-2G 즉 S = 0.152(15.2%)이다. 이는 처리량은 250 × 0.152 = 38프레임이다. 250개 중에 38개만 전송에 성공한다.
12.1.1 ALOHA 틈새 ALOHA에서는 시간을 Tfr 의 틈새로 나누어 지국은 매 시간 틈새가 시작할 때에 전송하도록 규제 그림 12.5: 틈새 ALOHA 네트워크의 프레임
12.1.1 ALOHA 그림 12.5: 틈새 ALOHA 프로토콜의 취약 시간
12.1.1 ALOHA 예제 12.4: 어떤 틈새 ALOHA 네트워크가 대역폭 200 kbps의 채널을 공유하여 200비트 프레임을 전송한다고 한다. 시스템 전체에서 다음과 같이 프레임을 생성할 때 그 처리량을 구하라. a. 매초 1000프레임 b. 매초 500프레임 c. 매초 250프레임 해답: 이 상황은 순수 ALOHA대신에 틈새 ALOHA를 사용한다는 것을 제외하고는 앞의 예제와 유사하다. 프레임 전송 시간은 200/200 kbps 즉 1 ms이다.
12.1.1 ALOHA 예제 12.4(계속): 이 경우에는 G는 1이다. 그러므로 S = G × e-G 즉, S = 0.368 (36.8%)이다. 이는 처리량은 1000×0.0368 = 368 프레임이다. 1000개 중 368개만 살아남는다. 이 경우가 퍼센트로 보았을 때 최대 처리량의 경우라는 것에 유의하라. 이 경우에는 G는 1/2이다. 그러므로 S = G × e-G 즉, S = 0.303(30.3%)이다. 이는 처리량은 500×0.0303 = 151 프레임이다. 500개 중 151개만 살아남는다. 이 경우에는 G는 1/4이다. 그러므로 S = G × e-G 즉, S = 0.195 (19.5%)이다. 이는 처리량은 250×0.195 = 49 프레임이다. 250개 중 49개만 살아남는다.
12.1.2 CSMA 반송파 감지 다중 접근(CSMA, Carrier Sense Multiple Access) 각 지국은 전송 전 매체의 상태를 점검 “전송 이전에 감지” 또는 “말하기 이전에 듣기” 원칙에 기반 충돌 가능성을 줄일 수는 있지만 제거는 할 수 없음 전파지연 때문에 충돌 가능성은 존재
12.1.2 CSMA 그림 12.7: CSMA에서의 충돌에 대한 시공간 모델
12.1.2 CSMA 그림 12.8: CSMA의 취약 시간
12.1.2 CSMA 지속 방식 1-지속 방식(1-persistent method) 지국의 회선이 휴지 상태인 것을 감지하게 되면 즉각 프레임을 전송(확률 1을 가지고) 비지속 방식(nonpersistent method) 전송할 프레임이 있는 지국이 회선을 감지 회선이 휴지 상태에 있으면 즉각 프레임을 보냄 회선이 휴지 상태에 있지 않으면 임의 시간을 대기하고 있다가 다시 회선을 감지 p-지속 방식(p-persistent method) 확률 p를 가지고 프레임을 전송 확률 q=1-p를 가지고 지국은 다음 틈새 시작까지 기다리다가 회선을 다시 감지
12.1.2 CSMA 그림 12.9: 세 가지 지속 방식의 행태
12.1.2 CSMA 그림 12.10: 세 가지 지속 방식의 흐름도
12.1.3 CSMA/CD 충돌 검출 반송파 감지 다중 접송(CSMA/CD; Carrier sense multiple access with collision detection) 충돌을 처리하는 절차를 더함 충돌 발생시 재전송을 요구 두 번째 충돌을 줄이기 위해 대기 지속적인 백오프 방법에서 대기 시간 0과 2N×최대전송시간 사이만큼 대기(N: 전송 시도 회수)
12.1.3 CSMA/CD CSMA/CD에서 지국은 프레임을 전송한 뒤에 전송이 성공적인지 매체를 관찰 성공적이면 지국은 소임을 다한 것 그렇지 않다면 충돌이 생긴 것이며, 프레임은 다시 전송됨 그림 12.11: CSMA/CD에서의 첫 번째 비트의 충돌
12.1.3 CSMA/CD 그림 12.12: CSMA/CD에서의 충돌과 폐기 최소 프레임 크기 프레임 전송 시간 Tfr은 최소한 최대 전파 시간 Tp의 2배가 되어야 함
12.1.3 CSMA/CD 예제 12.5: 어느 CSMA/CD를 사용하는 네트워크의 대역폭이 10 Mbps 이다. 최대 전파 시간(장치에서의 지연 시간을 포함하되 충돌을 알리는 데 걸리는 시간을 무시)은 25.6μs이다. 최소 프레임의 크기는? 해답: 최소 프레임 전송 시간은 Tfr = 2×Tp = 51.2 ms. 이는 최악의 경우에는 지국이 전송하면서 충돌 여부를 확인하기 위해서는 최소 51.2 ms 동안 기다려야 한다는 것을 의미한다. 프레임의 최소 크기는 10 Mbps×51.2 ms = 512비트, 즉 64바이트이다. 이는 뒤의 장에서 보겠지만 실제로 표준 이더넷 프레임의 최소 크기이다.
12.1.3 CSMA/CD 그림 12.13: CSMA/CD의 흐름도
12.1.3 CSMA/CD 그림 12.14: 전송, 휴지기, 충돌의 전력 수준
12.1.4 CSMA/CA 충돌 회피를 하는 반송파 감지 다중 접근(CSMA/CA, carrier sense multiple access with collision avoidance) 무선 네트워크를 위해 고안 충돌은 프레임 간 공간, 경쟁 구간 및 응답이라는 세 가지 전략에 의해 회피
12.1.4 CSMA/CA 그림 12.15: CSMA/CD의 흐름도
12.1.4 CSMA/CA CSMA/CA에서는 프레임 간 공간(IFS, Interframe Space) 시간은 지국이나 프레임의 우선순위를 매기는 데에도 사용할 수 있음 CSMA/CA에서는 채널이 사용 중긴 것을 감지하면 다툼 구간의 타이머를 다시 시작하지 않고 단치 멈춘 후에 채널이 휴지 상태인 것을 감지하면 다시 작동 그림 12.16: 경쟁 구간
12.1.4 CSMA/CA 그림 12.17: CSMA/CA와 NAV
12.2 제어 접근 제어 접근(Controlled Access) 제어접근 방식 어느 지국이 전송 권리를 가지고 있는지 서로 상의하여 찾음 지국은 다른 지국들에 의해 권리를 인정받을 때까지는 전송할 수 없음 제어접근 방식 예약(Reservation) 폴링(Polling) 토큰전달(Token passing)
12.2.1 예약 예약(Reservation) 그림 12.18: 예약 접근 방법 지국은 데이터를 송신하기 전에 예약을 필요로 함 N개의 지국이 존재하면 N개의 예약된 미니 틈새(mini slot)들이 예약 프레임 안에 존재 예약을 한 지국은 데이터 프레임을 예약 프레임 뒤에 전송 그림 12.18: 예약 접근 방법
12.2.2 폴링 폴링(Polling) 지국 중 하나가 주국(primary station)이 되고 다른 지국들은 종국(secondary station)이 되는 접속 형태에서 동작 궁극적으로는 종국으로 가는 데이터도 모두 주국을 통해서 전달 주국이 링크를 제어하며 종국은 그 지시에 따름 폴 주국이 종국으로부터 전송을 요청하는데 사용 선택 주국이 언제든지 송신할 것이 있을 사용 예정된 전송을 위해 주국은 종국의 준비 상태에 대한 확인 응답을 대기 주국은 전송 예정된 장치의 주소를 한 필드에 포함하고 선택 프레임(SEL)을 만들어 전송
12.2.2 폴링 그림 12.19: 폴링 접근 방법에서의 선택과 폴링
12.2.3 토큰 패싱 토큰 패싱(token passing) 방식에서 네트워크 안의 지국들은 지역 고리 형태로 구성된다. 다시 말하면 각 지국에는 선행자와 후행자가 있다. 선행자는 고리 형상에 있어서 논리적으로 앞에 있는 지국이며 후행자는 고리의 바로 뒤에 있는 지국이다.
12.2.3 토큰 패싱 토큰을 가진 지국이 데이터 송신할 권한을 가짐 그림 12.20: 토큰 전달 접근 방법에서의 논리적 링과 물리적 형상
12.2.3 채널화 채널화(또는 채널 분할이라고도 불림)는 링크의 가용 대역폭을 지국들 사이에서 시간적으로, 주파수상으로 또는 코딩을 통해 다중 접근 채널화 프로토콜 주파수 분할 다중 접근(FDMA, frequency division multiple access) 시간 분할 다중 접근(TDMA, time-division multiple access) 코드 분할 다중 접근(CDMA, code-division multiple access)
12.3.1 FDMA 주파수 분할 다중 접근(FDMA) 사용 사능한 대역폭은 모든 지국들에 의해 공유 각 지국들은 할당된 대역을 사용하여 데이터를 전송 각각의 대역은 특정 지국을 위해 예약되어 있음
12.3.1 FDMA 그림 12.21: 주파수 분할 다중 접근(FDMA)
12.3.2 TDMA 시분할 다중 접근(TDMA) 지국들이 시간상에서 채널을 공유 각 지국은 자신이 데이터를 전송할 수 있는 타임 틈새를 할당받음 각 지국은 할당받은 타임 틈새에 자신의 데이터를 전송
12.3.2 TDMA 그림 12.22: 시분할 다중 접근(TDMA)
12.3.3 CDMA 코드 분할 다중접속(CDMA) 링크이 전체 대역폭을 하나의 채널에서 점유 모든 지국들은 시분할 없이 동시에 데이터를 송신 가능
12.3.3 CDMA 그림 12.23: 코드 사용 통신의 간단한 이해
12.3.3 CDMA 칩스 그림 12.24: 칩 순열 CDMA는 코드 이론에 근거 각 지국은 코드를 할당 받으며, 이 코드는 칩스(chips)라고 불리는 일련의 숫자 그림 12.24: 칩 순열
12.3.3 CDMA 직각 순열(orthogonal sequence) 각 수열은 N개의 요소로 되어있으며 N은 지국의 수 수열을 어떤 수로 곱하면 수열의 각 요소는 그 수로 곱해지는데 이를 스칼라로 곱한다고 함 두 서로 같은 수열을 곱하면 요소 별로 곱하여 그 합이 결과가 되는데, 그 합은 N이 되고 N은 각 수열의 요소의 개수인데 이를 동일한 수열의 내적이라고 함 서로 다른 두 수열을 곱하면 요소별로 곱하여 그 합이 결과가 되며 그 값은 0이 되는데 이를 서로 다른 두 수열의 내적이라고 함 두 수열을 더 하는 것은 해당 요소를 더하는 것이다. 그 결과는 다른 수열이 됨
12.3.3 CDMA 데이터 표현 그림 12.25: CDMA에서의 데이터 표현 지국이 휴지 상태이면 아무 신호도 보내지 않고 이는 0으로 해석 그림 12.25: CDMA에서의 데이터 표현
12.3.3 CDMA 그림 12.26: CDMA에서의 채널 공유
12.3.3 CDMA 그림 12.27: CDMA의 네 개의 지국에서 생성된 디지털 신호
12.3.3 CDMA 그림 12.28: CDMA에서의 복합 신호의 복호화
12.3.3 CDMA 칩 수열을 생성하기 위해서 동일한 개수의 열과 행을 갖는 2차원 표인 월쉬 표(Walsh table)를 사용 월쉬 표에서 각 열은 칩 수열이 됨
12.3.3 CDMA 그림 12.29: 월쉬 표의 생성에 대한 일반 법칙과 예
12.3.3 CDMA 예제 12.6: 다음 네트워크에 대한 칩스를 구하라. 2개 지국 4개 지국 해답: 그림 12.29의 W2와 W4의 행을 사용할 수 있다. 2 지국 네트워크의 경우에는 [+1 +1]과 [+1 -1]. 4 지국 네트워크의 경우에는 [+1 +1 +1 +1]과 [+1 -1 +1 -1], [+1 +1 -1 -1] 및 [+1 -1 -1 +1].
12.3.3 CDMA 예제 12.7: 네트워크에 90개의 지국이 있을 때의 최소한 몇 개의 수열이 있어야 하는가? 해답: 수열의 개수는 2m이어야한다. 여기서 m = 7로 잡으면 N = 27 즉 128이다. 이들 중 90개의 수열을 사용한다.
12.3.3 CDMA 예제 12.8: 수신 기지국은 채널의 전체 데이터를 수신 지국의 칩스로 곱한 다음에 지국의 수로 나누면 특정 지국이 전송한 데이터를 수신할 수 있는 것을 증명하라. 해답: 여기서는 앞 예제의 4개 지국에 대해 1번 지국을 예로 들어 증명한다. 채널의 데이터 D = (d1 · c1 + d2 · c2 + d3 · c3 + d4 · c4)이다. 1번 지국이 전송한 데이터를 받고자 하는 수신자는 이 데이터에 c1을 곱한다.
12.4 요약 Q & A
연습문제 풀이해서 Report로 다음 주까지(일주일 후) 제출해 주세요! 알림