본문 바로가기
대학교 공부 기록

[데이터 통신/네트워크] DLC (Data Link Control)

by GoldenEgg 2023. 11. 25.

데이터 링크와 DLC 


DLC를 설명하기 전에 데이터링크 계층의 기본적인 내용을 설명하고자 합니다.

 

Data-Link Layer(데이터링크 계층)

- 데이터링크의 통신 방식은 응용, 전송, 네트워크 계층과 달리 Node-to-Node 방식입니다.

- 출발지에서 목적지로 가는 것을 목표로 하지않고, 그 사이에 있는 노드로 이동하는 것만 생각하는 계층입니다.

- 점대점(Point-to-Point)브로드캐스트(Broadcast) 링크를 지원합니다.

- 데이터링크 계층은 DLC(Data Link Control)MAC(Media Access Control) 두 개의 Sublayer로 구성되어 있습니다.

 

Point-to-Point Link

 

점대점 링크에서는 공유매체를 접근하는 MAC 부계층은 사용하지 않고 DLC 부계층만 사용합니다.

 

Broadcast Link

 

반면 Broadcast Link에서는 DLC와 MAC 모두 사용합니다.

 


DLC (Data Link Control) Sublayer

 

DLC의 기능

- 프레임 짜기(Framing)

- 흐름제어(Flow Control)

- 오류제어(Error Control)

 

[ 1. Framing ]

Framing

- 전송되는 연속적인 비트를 프레임으로 감싸서 다른 프레임과 겹치지 않도록 하는 작업

- 편지를 편지봉투에 담아서 보내는 것과 비슷한 개념

 

Framing의 종류

1) 고정 길이 프레임 짜기(Fixed-size Framing)

2) 가변 길이 프레임 짜기(Variable-size Framing)

 

가번 길이 프레임 짜기( Variable-size Framing)의 두 가지 방법

- Character 중심 방법 (A character-oriented approach)

- bit 중심 방법(A bit-oriented apporach)

 

프레임의 구조

- 프레임의 시작과 끝을 알리는 Flag 필드와 Header, 데이터 필드, 오류검출을 위한 Traier 필드로 구성됨

 

Character-Oriented Porotocls

- 데이터가 8bit(1byte)로 구성됨

 

Byte Stuffing and Unstuffing

 

Byte Stuffing and Unstuffing

 

만약 데이터 필드에 Flag와 동일한 값이 있을 경우, 프레임의 끝으로 오인할 수 있다.

이러한 문제를 해결하기 위해 데이터 필드에 Flag나 ESC와 동일한 값이 있을 경우, 그 앞에 'ESC'를 추가한다.

 

수신측에서는 ESC가 있으면 다음 값은 Flag나 ESC가 아닌 데이터라는 것을 알게 된다.

 

Character-Oriented Porotocls

- 데이터가 1bit로 구성됨

 

Bit Stuffing and Unstuffing

 

Byte Stuffing과 동일한 개념이다. 만약 Flag와 동일한 값이 데이터필드에 있으면 0을 추가한다.

 

 

[ 2. Error Control ]

오류제어

- 오류검출

- 오류정정

 

오류 검출

- 오류를 검출하기 위해 중복비트를 추가하여 전송한다.

 

Block Coding

- 전송되는 메세지를 k개의 블록으로 나누어, 각 블록마다 중복비트를 추가하여 전송하는 방식

- k+r(중복비트) = n

 

※ 미리 설계된 오류만 검출할 수 있으며, 예외적인 오류는 검출이 불가능하다. 

 

Hamming Distance(해밍 거리)

- 동일한 길이를 갖는 words의 서로 다른 비트의 수

- 최소 해밍거리 = S(검출할 수 있는 오류의 수) + 1

 

※ 만약 최소 해밍거리가 4일 경우 검출할 수 있는 오류의 수는 3개이다.

 

Linear Block Codes

임의의 Codewords 두 개를 XOR연산을 수행한 값이 유요한 코드(위 표에 존재하면) 이면 선형블록 코드이다.

 

Parity-Check Code

- 단지 한개의 중복비트만 추가하는 오류검출 방법 (k + 1 = n)

- 해밍거리는 항상 2 이다. 즉, 단 한개의 오류만 검출할 수 있다.

 

Cyclic Codes

- 주로 LAN과 WAN 네트워크에서 오류검출 및 정정을 위해 사용