Study/Network

[네트워크] 데이터링크 계층

ChoiSenn 2022. 5. 15. 18:37

 

 

데이터 링크 계층 프로토콜의 기초

- 데이터 링크 계층에서 두 호스트가 통신하려면 일대일 형식의 점대점 방식으로 연결해야 함.

- 점대점 연결 : 주소 개념 불필요

- 멀티드롭 연결 : 주소 개념 필요

 

프레임의 종류

- 정보 프레임 (I프레임) : 상위 계층이 전송을 요구한 데이터를 수신 호스트에 전송하는 용도로 사용.

순서 번호, 송수신 호스트 정보 등이 포함됨.

- 긍정 응답 프레임 (ACK 프레임) : 전송 데이터가 올바르게 도착했음을 회신하는 용도. 데이터를 수신한

호스트가 데이터를 송신한 호스트에게 전송.

- 부정 응답 프레임 (NAK 프레임) : 전송 과정에서 프레임 변형 오류가 발생했음을 회신하는 용도.

 

오류, 흐름 제어가 없는 프로토콜

- 가정 : 가장 이상적인 통신환경

- 단방향 통신 : 데이터는 송신 호스트에서 수신 호스트로만(한쪽으로만) 전달.

- 전송 오류 없는 물리 매체 : 통신 채널에서는 전송 오류가 발생하지 않음.

- 무한 개의 수신 버퍼 : 수신 호스트의 버퍼 수는 무한함.

- 단순 프로토콜 : 송신 호스트는 원하는 만큼 자유롭게 프레임을 전송할 수 있음.

- 오류 제어 : 프레임 분실/변형 오류가 발생하지 않음.

- 흐름 제어 : 수신 버퍼가 무한이므로 분실 오류 없음.

- 가정 : 수신 호스트의 버퍼 개수가 유한

- 단방향 통신 : 데이터는 송신 호스트에서 수신 호스트로만.

- 전송 오류 없는 물리 매체.

- 정지-대기 프로토콜 1

    - 수신 호스트 버퍼 개수가 제한일 경우, 흐름 제어 기능으로 송신 호스트의 전송 속도를 조절함.

- ACK 프레임 : 송신 호스트에 긍정 응답의 기능을 수행. 다음 프레임을 전송하도록 지시

- 정지-대기 방식 : 수신 호스트가 회신하는 ACK 프레임이 도착해야 다음 프레임을 전송할 수 있는 프로토콜 방식

 

단방향 프로토콜

- 가정 : 오류 제어와 흐름 제어 기능 지원

- 단방향 통신 : 데이터는 송신 호스트에서 수신 호스트로만 전달.

- 오류 제어와 흐름 제어가 모두 필요

- 프레임 변형 오류를 해결하기 위한 수신 호스트의 NAK 기능 필요

- 프레임 분실 오류를 해결하기 위한 송신 호스트의 타임아웃 기능 필요

- NAK가 없는 경우

    - 정보 프레임 분실 : 송신 호스트의 타임아웃 기능으로 오류 복구

    - ACK 프레임 분실 : 송신 호스트의 타임아웃 기능으로 오류 복구

    - 프레임 변형 오류 : 송신 호스트의 타임아웃 기능으로 오류 복구

- NAK가 있는 경우

    - 프레임 변형 오류 : 수신 호스트의 ACK

    - 프레임 분실 오류 : 송신 호스트의 타임아웃 기능으로 오류 복구

 

 

 

슬라이딩 윈도우 프로토콜

- 양방향 통신을 지원

- 오류 제어와 흐름 제어 기능을 모두 지원

- 기본 절차: 송신 호스트는 정보 프레임(전송 데이터, 순서 번호, 오류 검출 코드)을 순수 번호에 따라 순차적으로

전송함. 정보 프레임을 수신한 수신 호스트가 응답하는 순서번호는 정상적으로 수신한 번호가 아닌 다음에

수신하기를 기대하는 번호를 회신하는게 일반적.

 

흐름 제어

- 순서 번호

- 프레임 별로 부여되는 일련 번호

- 0부터 임의의 최댓값까지 순환 방식으로 사용

- 일반적으로 순서 번호의 최댓값이 송신 윈도우 크기보다 커야 함

- 프레임에서 순서 번호의 공간 크기 = n비트 : 순서 번호의 범위는 0 ~ 2^n-1

 

연속형 전송

- 정지-대기 프로토콜은 송신 윈도우 크기가 1인 경우

- 연속형 정지 : ACK 프레임을 받지 않고 여러 프레임을 연속 전송

- 장점 : 오류 가능성이 낮은 환경에서 효율적

- 오류 해결 방법

    - 선택적 재전송 : 오류가 발생한 프레임만 재전송

    - 고 백 N : 오류가 발생한 프레임 이후의 모든 프레임을 재전송

- Go-Back-N 방식

    - 오류가 발생한 프레임을 포함해 이후에 전송된 모든 정보 프레임을 재전송

    - 선택적 재전송 방식 : 오류가 발생한 프레임만 선택적으로 복구하는 방식

 

피기배킹

- 정보 프레임을 전송하면서 응답 기능까지 함께 수행, 전송 효율을 높임.

- 피기배킹을 사용하지 않는 경우 : 개별 정보 프레임에 대해 긍정 응답 혹은 부정 응답 프레임이

순서 번호와 함께 별도 처리

- 피기배킹을 사용하는 경우 : 정보 프레임의 표기방식은 I(i, j)로 재정의. i는 전송 데이터의 순서 번호,

j는 수신 데이터의 순서 번호.

 

 

 

HDLC 프로토콜

- HDLC 프로토콜 : 일대일 혹은 일대다로 연결된 환경에서 데이터의 송수신 기능 제공

- 주국에서 전송되는 메시지를 명령이라 정의

- 종국의 회신을 응답이라고 함

- 혼합국 : 주국과 종국 기능을 모두 지닌 호스트

 

프레임 종류

- 정보 프레임 : 네트워크 계층의 데이터 전송을 위해 정의

- 3비트의 순서 번호를 이용한 슬라이딩 윈도우 프로토콜을 사용

- 순서 번호는 0~7의 순서번호 8개를 순환하여 사용

- seq : 정보 프레임의 송신용 순서 번호로 사용

- Next : 피기배킹을 이용한 응답 기능으로 사용

- P/F : 값이 1로 지정되었을 경우에 한하여 Poll 혹은 Final의 의미를 가짐

- 감독 프레임 : 정보 프레임에 대한 응답 기능을 수행하는 프레임

- 긍정/부정 응답 프레임으로 구분

- Type 0 : RR로 정의된 긍정 응답 프레임

- Type 1 : REJ로 정의된 부정 응답 프레임

- Type 2 : RNR로 정의된 응답 프레임으로 프름 제어 기능까지 제공

- Type 3 : SREJ로 정의된 프레임, 선택적 재전송 방식에서 부정 응답 기능을 지원

- 비번호 프레임 : 순서 번호가 없는 프레임을 정의

- 프레임 종류(SABM, SNRM, SARM, DISC, RSET, FRMR, UA)

 

LAP 프로토콜

- LAP : 비동기 응답 모드인 ARM으로 동작하는 프로토콜.

- 주국에서 전송된 SARM 명령에 대하여 종국에 UA 응답을 전송함으로써 완료

- 종국에서 주국으로 SARM 응답을 전송하여 연결 설정을 요구

- 종국에서 시작된 연결 설정은 3단계로 이루어짐

 

LAPB 프로토콜

- 양쪽 호스트가 혼합국으로 동작, 누구나 먼저 명령을 전송 가능