-
4. 데이터링크와 전송제어 기법전공공부/컴퓨터 네트워크 2020. 2. 25. 11:52728x90반응형
목차
1. 데이터링크와 회선제어
2. 흐름제어 기법
3. 오류제어 기법
4. 대표적인 데이터링크 프로토콜
4.1 데이터링크와 회선제어
데이터링크(data link)란?
데이터링크 제어 프로토콜이 적용되는 스테이션 사이의 회선(line)
단방향 전송: 링크에서의 데이터 흐름이 한쪽 방향만 허용되는 경우
양방향 링크: 양방향으로 전송 및 수신이 가능한 링크
- 반이중 전송 링크: 양방향 전송이 가능하지만, 동시 전송이 허용되지 않음
- 전이중 전송 링크: 양방향으로 동시전송이 허용
회선 규칙 (line discioline):
- 반이중 전송 링크에서 두 개의 스테이션이 동시에 신호를 전송하는 경우 발생하는 신호 간의 충돌 현상이 발생하지 않도록 제어하는 규칙
* 데이터링크 계층-> 회선제어, 흐름제어, 오류제어 기능 수행
4.1.1 회선제어 기능
ENQ/ACK 기법
- 전용 전송 링크로 구성된 스테이션 사이에서 주로 사용되는 기법
- A 스테이션이 ENQ 프레임을 전송하여 연결의 초기화를 진행
- B 스테이션은 ACK을 전송하여 데이터 수신 준비되었음을 알림
- 전송이 완료되면 EOT 프레임 전송 [그림 4-1]
폴링 기법
하나의 스테이션을 주 스테이션으로 지정하고 나머지는 종속 스테이션으로 구성
선택 모드
- 주 스테이션이 데이터를 전송하고자 할 때 사용하는 모드로, 주 스테이션이 링크에 대한 제어 권한을 가짐.
폴(poll) 모드
- 주 스테이션이 다수의 종속 스테이션에게 보낼 데이터가 있는지의 여부를 확인하여 데이터 전송을 하는 모드 -> 다중점 폴링 절차
- 주 스테이션에서 폴 프레임을 전송하면 전송할 데이터가 없는 종속 스테이션은 NAK를, 전송할 데이터가 있는 종속 스테이션은 ACK를 보냄.
4.2 흐름제어 기법
정지 - 대기 흐름제어 기법
흐름제어 : 전송 스테이션으로 부터 전송 데이터의 양을 제한하기 위해서 사용되는 절차
정지-대기(stop-and-wait) 기법
- 전송 측이 프레임을 전송한 후 각 데이터 프레임에 대한 ACK를 기다려서, 이에 대한 ACK 프레임이 도착하면 그 후에 다음 프레임을 전송하는 기법
- EOT 프레임이 전송되면 데이터 전송이 종료 [그림 4-4]
장점 : 정지-대기 기법은 구조가 간단
단점 : 하나의 프레임을 보내고 ACK 프레임이 수신되어야만 그 다음 프레임을 전송할 수 있기 때문에 효율성은 떨어짐
슬라이딩 윈도우 흐름제어 기법
전송한 프레임에 대한 ACK 프레임을 수신하지 않더라도, 여러 개의 프레임을 연속적으로 전송하도록 허용하여 전송-대기 기법의 효율성을 개선한 방법
‘윈도우(window)’란?
전송 및 수신 스테이션 양쪽에서 만들어진 버퍼(buffer)의 크기
전송 측 윈도우
- 프레임이 전송된 후, 윈도우의 왼쪽 경계가 오른쪽을 향하여 이동하여 그 결과 윈도우의 크기가 줄어듬 [그림4-5]
- 윈도우의 크기를 W라 하고, 3개의 프레임이 전송된다고 가정하면 윈도우에 남아있는 프레임의 수는 (W-3)이 됨
- ACK 프레임이 도착하면 전송 측 윈도우는 ACK 프레임(도착된 프레임의 수)에 따른 프레임의 수만큼 오른쪽 경계가 오른쪽으로 이동하여 윈도우 크기가 늘어남
수신 측 윈도우 : ACK 프레임을 전송한 후 오른쪽 경계를 오른쪽으로 이동 -> 윈도우 크기가 커짐
-윈도우 크기가 7인 경우
이전에 프레임 2에 대한 ACK 프레임을 전송하였고, 현재 ACK 프레임이 프레임 5에 대한 것이라면, ‘5-2’, 즉 3의 크기만큼 윈도우가 늘어남
- 확장되는 윈도우의 크기 = (가장 최근 ACK로 응답한 프레임의 수) – (이전에 ACK 프레임을 보낸 프레임의 수)
4.3 오류제어 기법
정지 - 대기 ARQ
데이터링크 계층에서의 오류제어 기법은 주로 오류검출(error detection) 과정과 재전송(retransmission) 과정을 포함
ARQ(Automatic Repeat Request) : 데이터 전송 시 프레임이 손상되었거나 분실되었을 때 재전송이 수행되는 재전송 과정
‘정지-대기 흐름제어’ -> ‘정지-대기 ARQ’로 구현
‘슬라이딩 윈도우 흐름제어’ -> ‘GBn (Go-Back-n ARQ)’ 또는 ‘SR (Selective-Repeat 또는 Selective-Reject) ARQ’의 형태로 구현
정지-대기 ARQ 재전송 절차
➊ 전송 스테이션은 전송한 프레임의 ACK를
받을 때까지 프레임의 복사본을 유지
➋ 식별을 위해 데이터 프레임과 ACK 프레임은
각각 0, 1의 값으로 번호 부여
➌ 만약 프레임에서 오류제어가 발견되면
NAK 프레임이 반환되고, 이에 따라 전송 측은
복사해두었던 동일한 프레임을 재전송
➍ 전송장치에는 타이머가 있어서 주어진
시간 내에 ACK이 오지 않으면 재전송
GBn ARQ
GBn ARQ 기법의 동작 : 프레임 3이 손상된 경우를 가정 [그림 4-10]
- 프레임 3에서 오류가 발견되기 전에 6개의 프레임이 전송됨
- 수신 측은 ACK 3을 반환하여, 전송 측에 프레임 0, 1, 2가 잘 도착했다고 알려줌
- 프레임 3은 손상되었기 때문에 곧바로 NAK 3이 전송되고, 그 이후의 프레임 4, 5는 폐기
- 이때 전송 측에서는 NAK 3을 수신하여, 프레임 3이 잘못되었음을 알고 프레임 3, 4, 5와 같은일련의 프레임을 재전송함
GBn ARQ에서 데이터 프레임이 분실된 경우 [그림 4-11]
프레임 2가 분실되어 수신 측에서 NAK 2를 반환하고, 이에 따라 프레임 2~4와 같이 연속적으로 전송됨
ACK 프레임이 분실된 경우 [그림 4-12]
수신 측에서 보낸 ACK 3이 분실되어, 전송 측에서는 프레임 0~2와 같이 연속적으로 프레임이 재전송됨
오류제어 기법의 특성 비교
정기 - 대기 ARQ GBn ARQ 구조가 간단하여 구현이 용이하나, 비효율적이어서 활용도가 낮음 구조가 비교적 간단하고, 효율성이 향상되어 가장 널리 사용됨 4.4 대표적인 데이터링크 프로토콜
데이터링크 프로토콜은 BSC와 같은 문자 방식의 프로토콜과 SLC, HDLC와 같은 비트 방식의 프로토콜로 구분
문자 방식 프로토콜(byte-oriented, character-oriented)은 전송된 프레임을 1바이트의 문자로 해석하며, 모든 제어 정보는 ASCII 코드로 구성
비트 방식의 프로토콜에서는 전송 프레임을 개별적인 비트의 전송으로 해석
HDLC 프로토콜
데이터링크의 표준으로 채택한 대표적인 비트 방식 프로토콜
스테이션의 3 종류
주 스테이션: 명령을 전송
종속 스테이션: 명령에 응답
혼성 스테이션: 명령과 응답 모두 전송
HDLC 프레임 형식
플래그 영역: 프레임의 시작과 끝
- 8비트. 고유의 패턴(01111110)으로 구성
- 비트삽입 절차: 프레임의 처음이나 마지막이 아닌 중간에 1이 연속해서 5개 발생하면 그 뒤에 0 추가
주소 영역
- 프레임을 수신하는 종속 스테이션(목적지 스테이션)을 식별하는 데 사용
- 보통 8비트길이를 갖지만, 확장 형식을 사용할 수도 있음
- 주 스테이션이 모든 부 스테이션에게 프레임을 방송할 때는 ‘11111111’ 주소값 사용
제어 영역
- 정보 프레임(I-프레임), 감시 프레임(S-프레임), 번호가 붙지 않은 프레임(U-프레임)
정보 영역
- 정보 영역은 I-프레임과 U-프레임에만 있으며, 길이는 정해져 있지 않으나, 일반적으로 구현 방법에 따라 특정한 최댓값을 갖고, 일반적으로 길이는 8비트의 배수가 되어야 한다.
FCS 영역
- 16비트
HDLC 프레임의 종류와 동작
HDLC의 프레임의 종류에는 사용자 정보를 전송하는 프레임을 I-프레임, 오류제어를 관리하고 감시하는 S-프레임, 링크의 연결과 해제와 관련하여 쓰이는 U-프레임 등이 있음
정보 프레임 (I-프레임)
감시 프레임 (S-프레임)
- 흐름제어나 오류제어를 위해 사용되며, GBn ARQ와 SR ARQ를 허용
번호가 붙지 않은 프레임 (U-프레임)
- 링크의 연결과 해제 등 여러 가지 제어 기능을 위해 사용
- 순서번호가 없으며, 번호를 가진 I- 프레임의 순서나 흐름을 바꾸지 않는다.
HDLC 프레임의 동작
S-프레임과 U-프레임은 제어 및 관리 감시 목적으로만 사용 -> 정보 영역을 포함하지 않음
세 가지 프레임 중 어느 프레임이 전송되는지는 8비트의 제어 영역에 따라 결정
프레임 ID를 위해 할당된 영역이 제어 영역의 처음 두 비트로, 제어 영역의 첫 번째 비트가 0이면 I-프레임을 나타내고, 1, 2번째 비트가 10과 11이면 각각 S-프레임과 U-프레임을 나타냄
S-프레임의 세 번째와 네 번째 비트는 4가지의 S-프레임 종류를 분류할 수 있게 하며, U-프레임에 위치한 다섯 개의 M비트들은 32가지로 세분화됨
모듈로-8 순차번호 매김 방식이 HDLC의 표준이므로 순차번호를 위해서 3비트 영역 할당
I-프레임의 N(S)는 현재 I-프레임의 순차 번호를 나타내며, 뒤이어 보내지는 I-프레임의 N(S)는 1씩 증가함
모듈로-8의 유한한 값을 갖는 순차번호가 사용되므로, 전송 측에서 N(S)가 최대 순차번호에 이르게 되면 전송을 중지해야 함
수신 측에서 전송 측으로 정상적인 수신을 알리는 프레임(ACK)을 받은 후에야 전송 측은 다시 전송 시작
I-프레임과 S-프레임의 안에 위치한 N( R)영역은 I-프레임의 정상적 수신을 알리고자 할 때 사용
N(R)의 숫자는 N( R)-1 이하의 모든 프레임은 정상적인 수신과 N(R)번호를 갖는 정보 프레임의 수신을 원한다는 것을 나타냄
HDLC에서 데이터 전송, 오류검출 및 복원 : I-프레임과 S-프레임을 사용하여 이루어짐
U-프레임은 데이터링크 순차의 연결과 해제 시 사용
728x90반응형'전공공부 > 컴퓨터 네트워크' 카테고리의 다른 글
6. 이더넷과 LAN 프로토콜 (0) 2020.02.26 5. 네트워크 계층과 라우팅 기법 (0) 2020.02.25 3. 네트워크 프로토콜과 계층모델 (0) 2020.02.24 2. 데이터 전송기술과 전송미디어 (0) 2020.01.20 1. 데이터통신과 네트워크의 개요 (0) 2020.01.20