데이터 통신 #8
데이터 링크3
- MAC
- ALOHA
- CSMA/CD
- 제어 접근
- 링크 계층 주소 지정
MAC
이전 글 까지는 데이터링크 층에서 DLC 부계층에 대해 작성하였다. 이번 글에서는 매체 접근 제어(MAC) 부계층에 대해서 작성한다.
두 종단이 전용 링크를 사용한다면 PPP와 같은 DLC 프로토콜만 필요로 한다. 하지만 브로드캐스트처럼 매체를 여러 사용자가 공유한다면, 공유 프로세스를 관리하는 프로토콜이 필요하다.
다중 접근(Multiple Access) 프로토콜은 위와 같이 노드나 지국이 다중점 또는 브로드캐스트 링크라는 ‘공유 링크’를 사용할 때 사용자들이 링크에 접근하는 것을 조율하기 위한 프로토콜이다.
- 임의 접근(Random Access)
- 각 지국은 다른 지국에 의해 제어 받지 않는다.
- 매 순간 전송할 데이터가 있는 지국은 프로토콜의 절차를 따른다.
- 매체가 이용가능한 상태(휴지 상태) 인지 바쁜 상태인지에 큰 영향을 받는다.
- 제어 접근 (Controlled Access)
- 어느 지국이 전송 권리를 가지고 있는지 찾음 (어느 한 지국이 전송 권리를 갖고 있음)
- 지국은 ‘전송 권리’ 가 없다면 전송할 수 없음
- 예약, 폴링, 토큰 전달의 방식
ALOHA
- 충돌의 발생 이유
- 지국은 매체를 공유한다
- 한 지국에서 데이터 전송을 하면 다른 지국도 동시에 같은 시도를 할 수 있음
- 두 지국이 동시에 데이터 전송을 하면 충돌, 데이터가 손상됨
순수 ALOHA
- 지국은 전송 가능한 프레임이 있으면 즉시 전송
- 채널은 하나이므로 프레임 충돌 발생 가능
- 프레임 전송 후 확인 응답을 받지 못하면 재전송
순수 ALOHA 프로토콜 절차
- $K$ : 전송 시도 횟수, $T_{p}$ : 최대 전파 시간, $T_{fr}$ : 평균 프레임 전송 시간 , $T_{B}$ : 대기 시간, $R$ : 난수, $0 \sim 2^{K}-1$ 의 값을 갖는다.
- 지국에서 프레임 전송을 시도, K는 전송 시도 횟수이므로 처음에는 0임
- $2 \times T_{p}$ 의 시간만큼 대기
- 대기 시간( $2 \times T_{p}$ ) 안에 ACK을 받았으면 전송이 성공했으므로 종료
- 실패했으면 K를 1증가 시킴
- K값이 정해진 K의 최대값인 $K_{max}$ 보다 크다면 Abort (프레임 제거, 전송 포기)
- 작다면 R값을 설정, R값은 $0 \sim 2^{K}-1$ 사이의 랜덤값으로 정해짐
- 매 순환마다 K값이 1씩 증가하므로 R값의 범위도 점점 커짐
- $T_{B}$ 시간 만큼 대기, $T_{B} = R \times T_{p} $ 또는 $ R \times T_{fr}$ 임
- $T_{p}$ 는 최대 전파 시간, ‘지국이 떨어진 거리(m) / 신호의 속도(m/s)’ 로 계산된다.
순수 ALOHA 취약 시간(Vulnerable time)
- 취약 시간 = $2 \times T_{fr}$
- $T_{fr}$ ( 평균 프레임 전송 시간 ) : 비트 프레임(b) / 채널의 전파속도 (kbps)
- 취약 시간이란 특정 지국이 프레임을 전송하기 -취약시간/2 , +취약시간/2 시간 동안에 다른 지국은 전송을 하면 안됨을 의미한다.
- 어떤 프레임(B)이 전송된다고 할 때 앞선 프레임(A)도 B와 겹치면 안되고 나중에 전송되는 프레임(C)도 B와 겹치면 안된다.
순수 ALOHA 처리율
- 처리량($S$) : 성공적으로 전송되는 프레임의 평균 개수
- $G$ : 한 프레임 전송 시간 동안에 생성되는 프레임의 평균 개수
- $S_{max}$ 는 $G = \frac{1}{2}$ 일 때이며, 그 때의 처리량은 $0.184$ 임
- 처리량이 $0.184$ 라는 것은 1천개의 프레임이 생성되면 184개의 프레임이 전송 성공 가능하다는 의미
틈새 ALOHA
- 시간을 $T_{fr}$ 의 Slot으로 나누어 지국은 매 Slot이 시작하는 순간에만 프레임을 전송 가능하도록 제어하는 방식
- 틈새 ALOHA의 취약시간 : $T_{fr}$
- 틈새 ALOHA의 처리량 : $S$
CSMA/CD
CSMA(반송파 감지 다중 접근)
- 충돌의 기회를 최소화해서 성능을 높임
- 각 지국은 전송 전에 매체를 점검
- ‘전송 이전에 감지’ 를 수행 (ALOHA는 전송 후 ACK신호로 충돌 판단)
- 충돌을 완벽하게 제거하지는 못함
- 전파지연으로 인해 지국의 첫번째 비트가 다른 곳에 도달하지 못했다면 다른 지국은 매체가 휴지 상태라고 판단
- CSMA의 취약시간은 전파 시간 $T_{p}$ 가 된다.
지속 방식(매체 점검 & 전송 방식)
- 1-persistent(지속) 방식
- 휴지 상태인 것을 감지하면 바로 프레임을 전송
- Nonpersistent(비지속) 방식
- 지국이 회선을 감지해서 휴지 상태이면 바로 프레임을 보냄
- 휴지 상태가 아니면 임의 시간을 기다리고 다시 회선을 감지
- p-persistent 방식
- 확률p를 가지고 프레임을 전송
- 확률 1-p로 지국은 다음 슬롯 시작까지 기다린 후 회선을 다시 감지
- 1-persistent(지속) 방식
- CSMA/CD
- 충돌을 처리하는 절차 추가
- 충돌 발생시 재전송 요구
- 두 번째 충돌을 줄이기 위해 대기
- 백오프 방법 사용
- 프레임의 크기에 제한을 둬야한다. 지국이 전체 프레임을 보내고 나면 프레임의 사본을 갖고 있지 않으며 회선을 관찰해 충돌을 확인하지 않기 때문이다.
- 프레임 전송 시간 $T_{fr}$ 은 최대 전파시간 $T_{p}$ 의 2배가 되야함
- 프레임의 최소 크기 = 네트워크 대역폭 X 최소 프레임 전송 시간 , 단위는 대부분 bit를 사용함
CSMA/CD 흐름도
- ALOHA와는 3가지 차이점 존재
- 지속 과정의 추가 : 비지속,1지속,p지속 중 하나의 방법으로 프레임을 전송하기 전에 채널을 감지하는 과정
- 프레임 전송 과정 : ALOHA는 프레임을 보내고 응답을 기다리지만, CSMA/CD은 프레임 전송과 충돌 감지를 연속적인 과정으로 수행
- Jamming Signal : 충돌이 발생하면 모든 지국이 알 수 있게 메시지(재밍 신호)를 보냄
제어 접근(Controlled Access)
1
2
3
- 어느 지국이 전송 권리를 가지고 있는지 찾음
- 지국은 ‘전송 권리’ 가 없다면 전송할 수 없음
- 예약, 폴링, 토큰 전달의 방식
예약(Reservation)
- 지국은 데이터 전송 전에 ‘예약’을 해야함
- N개의 지국이 존재하면 N개의 미니 슬롯들이 예약 프레임 안에 존재
- 예약을 한 지국은 데이터 프레임을 예약 프레임 뒤에 전송
폴링(Polling)
- 지국 중 하나가 ‘주국’ 이 되고 다른 지국은 종국이 됨
- 종국으로 가는 데이터는 모두 주국을 통해 전달
- 주국이 링크를 제어하고 종국은 제어에 따라 행동
- 선택과 폴링이 존재
- 폴링(Polling) - 폴(poll)
- 주국이 종국으로부터 전송 요청하는데 사용
- 종국은 폴에 대해서 보낼 것이 있으면 데이터를 보내고 없으면 NAK을 보냄
- 주국은 NAK을 받으면 데이터를 보낼 다음 종국을 찾아감
- 주국은 데이터를 받으면 프레임을 읽어들이고 종국에게 ACK신호를 보냄
- 폴링(Polling) - 선택(Select)
- 주국이 무언가 보낼 것이 있을 때마다 수행
- 주국은 링크가 사용 가능한지 늘 알고 있지만, 수신 장치가 준비 되어있는지는 모름
- 따라서 주국은 종국에게 곧 데이터 전송을 할건데 받을 수 있는 지 물어봐야 함
- 물어보기 위해 주국은 종국에게 SEL 프레임을 송신
- 종국은 받을 수 있는 상태면 주국에게 ACK신호를 송신
- ACK 신호를 수신 받은 주국은 DATA를 전달, 종국은 DATA를 받았으면 ACK 신호 전달
- 토큰(Token) 전달
- 지국들이 ‘논리 링’ 형태로 구성
- ‘선행자’, ‘후행자’의 존재, 선행자- 현행 지국(토큰을 갖고있는 지국) - 후행자(다음에 토큰을 가질 지국)의 구조
- 채널에 접근할 권리는 선행자로부터 현행 지국으로 전해짐
- 현행 지국은 전송할 것이 없으면 후행자에게 넘김
- 토큰을 가진 지국이 송신 권한을 가짐
링크 계층 주소 지정
- 링크 계층 주소 지정의 필요성
- 발신지와 목적지 IP 주소는 두 종단을 정의하지만, 패킷이 경유하는 경로는 정의하지 않음
- 비연결형 네트워크에서는 두 노드들의 링크 계층 주소를 결정하기 위해 다른 주소 지정 매커니즘이 필요
- 데이터그램은 네트워크층에서 데이터 링크층으로 전달될 때 프레임으로 캡슐화 되고, 데이터 링크 주소는 프레임 헤더에 추가됨
- 링크 계층 주소는 링크 주소, 물리 주소, MAC 주소라고도 불림
- 주소의 3가지 유형
- 유니캐스트 / 멀티캐스트 / 브로드 캐스트 주소를 정의
- 유니캐스트 : 일대일 통신, 유니캐스트 주소를 목적지로 갖는 프레임은 링크에서 하나의 장치와 연결됨
- 멀티캐스트 : 일대다 통신, 범위는 로컬 링크로 국한됨
- 브로드캐스트 : 일대전체 통신, 브로드캐스트 주소를 가진 프레임은 링크 내 모든 장치로 전달
- 유형별 주소 비트
- 주소 표현 : 콜론과 12개의 16진수로 표현, 48bit
- 유니캐스트 : 16진수로 표현했을 때 두 번째 수가 홀수
- 멀티캐스트 : 16진수로 표현했을 때 두 번째 수가 짝수
- 브로드캐스트 : 48bit가 모두 1인 주소 (FF:FF:FF:FF:FF:FF)
- 주소 변환 프로토콜(ARP : Address Resolution Protocol)
- 노드는 전송될 때 수신 노드의 IP 주소를 가지지만, 다음 노드의 IP주소는 링크를 통과하는 프레임이 이동하는데 도움이 되지 않기 때문에 다음 노드의 링크 계층 주소를 알아야 함
- 주소 변환 프로토콜은 IP주소를 지정된 링크 계층 주소에 매핑 시킨 후, 데이터 링크 층으로 전달함
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.










