7. 데이어 링크 제어(DLC)

7. 데이어 링크 제어(DLC)

1. DLC 서비스

데이터 링크층은 2개의 부계층으로 나누어져있다. 그 중 DLC(data link control) 부계층에서 제공되는 일반적인 서비스를 정리할 것이다.

DLC는 두 인접한 노드 사이의 통신을 위한 절차를 다룬다. DLC는 프레임 짜기, 흐름 및 오류 제어 서비스를 포함하고 있다.

1) 프레임 짜기(framing)

전체 메시지를 하나의 프레임에 다 넣어 보낼수도 있지만 이 방법은 비트 하나에만 오류가 생겨도 전체 프레임을 재전송해야한다는 단점이 있고 프레임이 커지면 흐름 제어와 오류 제어가 매우 비효율적이다.

우편 시스템에서 봉투(프레임)들로서 정보들을 구분하고 목적지를 작성하여 보내게 된다. 이처럼 프레임을 만들어 비트들을 넣고 각 프레임들이 구분 되도록해야한다.

framing은 송신자와 수신자의 주소를 넣음으로써 발신지로부터 목적지로의 메시지를 분리하게 된다.

또한 목적지의 주소는 패킷이 가야할 곳을 정하고 송신자는 수신자로 하여금 메시지를 받았다는 응답을 할 수 있도록 도와준다.

2) 프레임 크기

● 고정 크기 프레임

프레임의 경계가 필요없는데 그 이유는 프레임 크기 자체가 고정이서 경계역할을 하기 때문이다.

ATM에서 cell이라 불리는 고정 크기의 프레임을 사용한다.

● 가변 크기의 프레임

LAN에 관련된 것으로 가변 크기 프레임에서는 프레임의 시작과 끝을 정의해야한다.

가변 크기의 프레임을 짜는 방법은 ' 문자 중심 프레임 짜기 '와 ' 비트 중심 프레임 짜기 ' 두 가지 방법이 있다.

3) 문자 중심 프레임 짜기(character-oriented framing)

전달 되는 데이터는 ASCII와 같은 8비트 문자열이다.

발신지, 목적지 주소, 다른 제어 정보를 담고 있는 헤더, 오류 검출 및 정정을 위한 중복 비트를 담고 있는 트레일러

등 모두 8비트 정수배로 되어 있다.

가변 크기의 문자 중심 프레임에서는 프레임을 구분하기 위해 프레임의 시작과 끝에 8비트 flag가 추가된다.

이 flag는 특수 문자로 구성되어 있는데, 프로토콜에 의해 좌우된다.

<보내려는 데이터 패턴이 플레그와 같은 경우의 문제점 및 해결방법1>

옛날에는 문자열 통신만 있어서 사용하지 않는 임의의 문자를 플레그로 사용할 수 있었다. 하지만 그래프, 사진, 오디오 등도 보내는 지금은 플래그의 패턴도 어떤 정보가 들어있을 수 있다.

이 문제를 해결하기 위해 '바이트 채우기 전략(byte stuffing)'을 '문자 중심 프레임 짜기'에 추가하였다.

byte stuffig에서는 만약 어떤 byte의 데이터가 플레그와 동일한 패턴으로 생긴다면 이 데이터에 '탈출 문자(ESC, escape character)'를 데이터 앞에 붙여진다.

이 '탈출 문자'는 미리 정해진 비트 패턴을 가지고 수신자가 ESC 문자를 보게 되면 데이터에서 ESC를 제거하고 플래그가 아닌 데이터라고 인지하게 된다.

<보내려는 데이터 패턴이 ESC와 같은 경우 문제점 및 해결방법2>

만약 데이터 패턴이 ESC 문자와 같고 그 뒤에 실제 flag가 오면 송신자는 ESC를 제거하고 문자의 끝을 알리는 flag를 데이터로 착각하게 된다.

따라서 ESC문자를 데이터(ESC와 똑같은 패턴)앞에 붙인다.

from http://jeonghoonmoon.tistory.com/51 by ccl(A) rewrite - 2021-10-29 01:26:57