찬란
데이터 링크 제어(DLC) 본문
해당 블로그의 내용은 학교에서 배운 내용을 개인적으로 정리한 내용이므로, 잘못된 부분이 있을 수도 있습니다.
개요
- DLC 서비스
- 데이터 링크층 프로토콜
- HDLC
- 점-대-점 프로토콜
DLC 서비스
프레임 짜기
- 비트들을 프레임으로 만들고 각 프레임은 다른 프레임과 구분
- ex) 우편 시스템
- 봉투에 편지를 넣는 행위
- 봉투가 분리 역할을 함, 서로 다른 정보가 뒤섞이지 않도록 함
고정 길이 프레임
- ex) ATM 광역네트워크의 셀(cell)
가변 길이 프레임
- 주로 LAN에서 사용
- 프레임이 끝나는 곳과 다음 프레임이 시작하는 곳 지정 (Flag, 프레임 경계 분리 목적)
- 프레임 짜기(framing)
- 송신자와 수신자의 주소를 넣음으로써 메세지에 대한 발신지와 목적지를 구분한다
- 문자 중심 프레임 짜기
- 시작과 마지막에 8비트 플래그(flag)를 추가
- 바이트 채우기(stuffing)와 빼기(unstuffing)
- 정보 내에 플래그로 사용되는 패턴이 있을 경우, 이를 플래그로 오인하지 않게 하기 위한 것
- 텍스트에 플래그나 ESC문자가 있을 때 여분의 1바이트(byte)를 추가
- 비트 중심 프레임 짜기
- 프레임의 데이터 부분을 전부 Bit 열로 인식
- 01111110 , 8비트 패턴의 플래그 사용
- 비트 채우기(stuffing)와 빼기(unstuffing)
- 수신자가 데이터 속의 01111110을 플래그로 오인하지 않도록 하기 위함
- 0 뒤에 연속하는 5개의 1이 있게 되면 0을 추가로 채우는 과정
흐름 제어와 오류 제어
- 흐름 제어(flow control)
- 수신자로부터 확인응답을 받기 전까지 얼마나 많은 데이터를 전송할 수 있는지를 알려주는 일련의 절차
- 2개의 버퍼(buffer)를 사용
- 패킷을 저장할 수 있는 메모리의 집합
- 하나는 송신 데이터 링크층에서, 다른 하나는 수신 데이터 링크층에서 사용
- 오류 제어(error control)
- 손상된 패킷을 수신 노드로 전달하는 것을 방지하기 위함
- 자동 반복 요구(ARQ)
- 오류가 확인된 순간 해당 프레임을 재전송하는 것
비연결형과 연결형
- 비연결형 프로토콜
- 프레임은 프레임들 사이에 독립적인 관계
- 데이터 링크 프로토콜들s
- 연결형 프로토콜
- 연결 설정 단계 / 전송 단계 / 연결 해제 단계
- 점-대-점 프로토콜, 무선 LAN 및 WAN에서 사용
프로토콜
- 한 노드에서 다른 노드로 데이터를 보내기 위한 규칙
- 프레임 짜기
- 흐름 제어/ 오류 제어
- 프로그램 언어를 사용하여 소프트웨어로 구현
- 각 프로토콜은 의사 코드를 사용하여 설명
- 구현 언어에 의존하지 않기 위함
- 언어 규칙에 구애 받지 않고 절차 자체를 설명하기 위해
데이터 링크층 프로토콜
잡음 없는 채널
- 우선 프레임 손실x
- 중복, 손상되지 않음
- 이상적인 채널, 오류 제어는 없음
- 단순 프로토콜(흐름, 오류 제어 X)
- 정지 후 대기 프로토콜
- 송신자가 한 개의 프레임을 전송한 후에 수신자로부터 확인응답(ACK)를 받음
- ACK를 받을 때까지 기다린 후, 다음 프레임을 전달
잡음 있는 채널
- 오류 제어를 사용하는 3개의 프로토콜
- ARQ(Automatic Repeat Request)
- 정지 후 대기 ARQ
- N-복귀 ARQ
- 선택적 반복
정지 후 대기 ARQ
- 오류 제어는 전송된 프레임의 사본 보관하고 있다가 타이머가 만료되면 해당 프레임을 다시 전달
- 순서 번호는 프레임에 부여하여 사용, 순서 번호는 모듈러-2 연산을 기반
- ACK 번호는 다음에 받기를 기대하는 프레임의 번호를 모듈러-2연산으로 만들어 전달
N - 복귀 ARQ
- 전송 효율 높이기 위함
- ACK를 기다리는 동안 여러 개의 프레임을 전송하는 방식
- 미닫이 창(Sliding window)
- 송신자와 수신자에게 필요한 순서 번호의 범위를 지정하는 추상 개념
- 송신 미닫이 창(send sliding window)
- 현재 전송할 수 있는 데이터 프레임의 순서 번호가 들어있는 가상의 상자
- 송신 창의 크기는 2^m 보다 작고, 수신 창의 크기는 항상 1로 일정
선택적 반복(Selective Repeat) ARQ
- 전체 N개의 프레임을 전달하는 대신 손상된 프레임만 전송하는 방식
- 잡음이 많은 채널에서 효율적
- 수신자 측의 처리절차가 복잡해짐
- 송신 창과 수신 창의 크기는 최대 2^m의 절반
피기백킹(Piggybacking)
- 양방향 프로토콜의 효율을 높이기 위해 데이터 프레임에 제어 정보를 포함해서 보내는 기술
- 위의 세 프로토콜은 모두 단방향
- 송수신 모두 각각 두 개의 창(수신 창, 송신 창)을 가지고 있다. (총 창의 개수는 4개가 된다)
- 도착 이벤트는 각 측에서 송수신, 2개의 창을 모두 이용한다
- 요청 이벤트는 오직 송신 창만 사용
- 송수신 양측 모두 같은 알고리즘을 사용한다.
HDLC (High-level Data Link Control)
- 고급 데이터 링크 제어
- 점-대-점과 다중점 링크에서 통신을 위한 비트 중심 프로토콜
- 반이중 통신과 전이중 통신을 지원하도록 설계
- 정규 응답 모드(NRM)
- 주국(primary station): 명령 전송
- 종국(secondary station): 응답 전송
- 비동기 균형 모드(ABM)
- 각 지국은 주국이자 종국의 기능을 수행한다.
- 요즘 사용되는 모드
프레임
- 정보 프레임(I-Frame, Information)
- 사용자 데이터 전달용
- 감시 프레임(S-Frame, Supervisory)
- 흐름 제어와 오류 제어용
- 비번호프레임(U-Frame, Unnumbered)
- 세션관리와 제어정보 교환용
- 제어 필드
- I-Frame
- N(S): 전송 중인 프레임 순서 번호
- N(R): ACK 번호
- P/F: Poll(주국 >> 종국), Final(종국 >> 주국)
- S-Frame
- 코드
- 수신 준비(RR), 00
- 수신 불가(RNR), 10
- 거부(REJ), 01
- 선택적 거부(SREJ), 11
- 코드
- I-Frame
점-대-점 프로토콜 (PPP, Point-to-Point Protocol)
- 점-대-점 접속을 위한 가장 널리 사용되는 프로토콜
- 데이터 전송을 제어하고 관리하기 위해 테이터 링크층에서 필요
- 바이트(Byte) 중심 프로토콜
- PPP가 제공하는 서비스
- 장치들 사이에서 교환될 프레임의 형식을 정의
- 두 장치가 어떻게 링크 설정을 교섭하고 데이터를 교환할지를 정의
- 여러 네트워크층으로부터 페이로드(payload)를 받도록 설계
- 인증 또한 프로토콜에 선택적으로 제공
- 다중링크(Multilink PPP)는 다중 링크로 연결을 제공
- 네트워크 주소 구성을 지원
- 사용자가 인터넷에 연결하기 위해 임시로 네트워크 주소가 필요할 때 유용
- PPP가 제공하지 않는 서비스
- 흐름 제어를 제공하지 않음
- 송신자를 수신자를 생각하지 않고 프레임을 게속 전송
- 매우 간단한 오류 제어
- CRC 필드가 오류 검출에 사용
- 오류 제어를 하지 못하고 순서 번호가 없기 때문에 순서가 바뀌어 패킷이 도달할 수 있음
- 다중점 링크에서 프레임을 다룰 수 있는 주소지정 방법이 없음
프레임 짜기
- PPP 프레임의 형식
- 플래그: 01111110
- 주소: 11111111 (브로드캐스트 주소)로 설정
- 제어: 00000011 , 흐름 제어 제공 X , 오류 제어 또한 오류 검출을 위해 제한됨
- 프로토콜: 데이터 필드에 사용자 데이터 또는 다른 정보가 들어 있는 것을 정의
- 페이로드 필드: 사용자 데이터나 그 밖의 정보들을 전달, 최대 1,500 바이트(Byte)
- FCS: 프레임 검사 순서 값
'데이터 통신' 카테고리의 다른 글
오류 검출과 정정 (0) | 2023.05.25 |
---|---|
데이터 링크계층 (0) | 2023.05.24 |
데이터 통신에서의 공식들 (0) | 2023.04.23 |
대역폭(Bandwidth)이란? (0) | 2023.04.23 |
정보 교환 (Data Switching) (0) | 2023.04.21 |
Comments