[네트워크] 데이터 링크 계층과 주요 기능

2023. 10. 4. 09:00·CS/네트워크
목차
  1. 데이터 링크 계층
  2. Data Link Layer
  3. 주요 기능
  4. 노드 대 노드 통신
  5. 전송 제어
  6. 흐름 제어
  7. 동기화
728x90
반응형

데이터 링크 계층

Data Link Layer

  • OSI 참조 모델 7계층 중 제 2계층
  • 물리적으로 연결된 이웃 간 전송 데이터의 신뢰성을 제공
  • 전송하는 데이터는 프레임이라는 논리적인 단위로 구성
  • 프레임에는 주소, 길이, 오류 검출 등의 다양한 제어 정보가 포함

주요 기능

  • 노드 대 노드 통신
  • 전송 제어
  • 흐름 제어
  • 오류 제어
  • 동기화

노드 대 노드 통신

  • 이웃 노드 간의 데이터 링크를 설정
  • 데이터 앞에 헤더, 뒤에는 트레일러를 추가
  • 헤더와 트레일러에는 발신지 주소와 목적지 주소 등 정보가 들어 있음
  • 수신 측의 데이터 링크 계층에서는 이 헤더와 트레일러를 삭제 후 수신 측의 상위 계층(네트워크 계층)으로 전달

전송 제어

  • 데이터 전송의 신뢰성을 보장하기 위한 일련의 절차를 제어

장점

  • 문자나 비트에 관계없이 전송 가능
  • 연속적으로 전송하고 일괄적으로 응답이 가능해서 전송 능력을 향상 시킬 수 있음
  • 전이중 방식으로 통신할 때는 역방향으로도 응다할 수 있어서 전송 능력 향상
  • 오류 검출 가능

전용회선과 교환회선 제어는 다름

회선 접속 단계

  • 정보를 전송하기 위한 직전 단계, 회선 접속이 필요
  • 모뎀이나 DSU(Digital Service Unit) 등의 상태를 데이터 전송이 가능한 상태로 전환

데이터 링크 설정 단계

  • 데이터의 송수신이 가능하도록 경로를 구성
  • 방법 : 폴링과 선택
  • 폴링 : 단말기에서 컴퓨터로 데이터를 전송하는 데 사용
  • 선택 : 컴퓨터가 특정 단말기를 지정하여 데이터를 전송하는 데 사용, 데이터 앞에 특정 단말기를 지정하는 제어 문자를 포함

정보 전송 단계

  • 데이터 링크가 확립 후 정보를 전송 시작
  • 오류가 검출 되면, 정정하도록 제어하며 정보를 전송

데이터 링크 해제 단계

  • 데이터 전송이 완료되면 그 내용을 수신 측에 알림
  • 전송의 끝을 알려주는 EOT(End Of Transmission)를 문자로 송신
  • 국(station)간의 논리적 연결을 절단

회선 절단 단계

  • 연결된 회선을 절단

흐름 제어

  • Flow Control
  • 송신 측과 수신 측의 원활한 데이터 흐름을 위한 기능(전송 속도를 변경하고 데이터의 크기를 조절함)
  • 단말 간 교착상태를 회피하기 위해 필요
  • 흐름 제어 방식 : 정지 대기 방식, 슬라이딩 윈도 방식

정지 대기 방식

  • 송신 측은 프레임 1개를 전송 후 수신 성공을 확인하면 다음 프레임을 전송하는 방식
  • 수신이 시패하면 직전 프레임을 다시 보냄
  • 흐름제어 방식 중 가장 간단한 방법
  • 프레임의 크키가 클수록 유리하고 단거리 일수록 유리하다.

슬라이딩 윈도 방식

  • 송신 측은 지정된 윈도 크기만큼 프레임들을 연속해서 전송하는 방식
  • 송신데이터의 오류 및 소실 등을 모니터링하여 윈도의 크기를 가변
  • 흐름 제어 방식 중에서 가장 대표적

오류 제어

  • Error Control 
  • 오류는 통신회선의 순간적인 절단(또는 단락), 잡음(noise)과 감쇄(distortion), 혼선, 지연, 찌그러짐 등 전기적인 신호 값이 환경의 영향을 받아 발생 
  • 물리 계층에서는 데이터를 주고받기만 할 뿐 오류를 검사하지 못함 
  • 오류 검출 및 수정/처리는 데이터 링크 계층에서 수행 
  • 제어 방식 종류 : 오류 무시, 에코, 검출 후 재전송(ARQ), 전진 오류 수정(FEC)

오류 무시(Ignore) 

  • 오류검출및수정방식이포함되지않음
  • 일부 데이터의 소실이나 왜곡이 발생되더라도 운영에 큰 문제가 없을 경우 무시 
  • 데이터의 안전성을 위해 일반적으로 동일 프레임을 여러 번 보냄
  • 대표적 예 : 루프/에코 방식(Loop/Echo) 
  • 루프/에코 방식 : 송신측에서 전송한 메시지를 수신측에서 다시 전송측으로 보냄. 송신측은 회신메시지와 전송 메시지를 비교하여 동일함을 판단

검출 후 재전송(ARQ: Automatic Repeat reQeust) 

  • 수신 측에서는 받은 데이터에 대한 오류(이상)를 검출하여 결과를 회신하는 형태로 동작
  • 정상 : ACK(ACKnowledgement) 회신
  • 오류 : NAK(Negative AcKnowledgement) 회신
  • 송신 측은 전송한 프레임을 기억해야 함
  • 버퍼필요
  •  버퍼의 크기는 프레임의 크기와 개수로 결정 
  • 오류를 검출하는 방식 : 패리티 검사(Parity Bit Check), 블록 합 검사(BSC: Block Sum Check), 순환 중복(CRC: Cycle Redundancy Check) 등

전진 오류 수정(FEC: Forward Error Correction)

  • 전송 프레임의 정보에 오류 검출과 복구를 위한 잉여 비트를 추가
  • 데이터에 오류가 발견되면, 수정하여 데이터를 복원
  • 연속적인 데이터 전송이 가능하며 역채널을 사용하지 않는다는 장점
  • 단, ARQ 방식에 비해 복구를 위한 더 많은 추가 정보들이 포함되어야 함
  • 오류 복구를 위한 하드웨어와 소프트웨어가 복잡
  • 특정 비율 이상의 오류는 복구가 불가

동기화

  • 송수신 측의 각 비트의 전송률과 전송 시간, 간격 등을 규정하는 약속
  • 동기화는 데이터 통신 시스템에서 꼭 필요
  • 송신 측에서는 비트를 구별하여 전송하는 데이터가 필요
  • 예: RS-232C 통신의 Preamble
  • Preamble -> 01111110 : 시작과 끝을 알리는 문자
 
감사합니다.

틀린 부분이 있거나 더 좋은 내용 훈수 환영합니다!

공감과 댓글 부탁드립니다.

728x90
반응형

'CS > 네트워크' 카테고리의 다른 글

[네트워크] Internet Protocol  (0) 2023.10.07
[네트워크] TCP/IP 계층 구조  (0) 2023.10.06
[네트워크] OSI 7계층 프로토콜과 물리계층  (0) 2023.10.03
[네트워크] 통신 프로토콜의 구조와 기능  (2) 2023.10.01
[네트워크] 정보전송방식과 기술  (0) 2023.09.11
  1. 데이터 링크 계층
  2. Data Link Layer
  3. 주요 기능
  4. 노드 대 노드 통신
  5. 전송 제어
  6. 흐름 제어
  7. 동기화
'CS/네트워크' 카테고리의 다른 글
  • [네트워크] Internet Protocol
  • [네트워크] TCP/IP 계층 구조
  • [네트워크] OSI 7계층 프로토콜과 물리계층
  • [네트워크] 통신 프로토콜의 구조와 기능
P_Piano
P_Piano
Apple 생태계 개발자가 되기 위한 학습과 경험의 기록

P_Piano님의
글이 좋았다면 응원을 보내주세요!

응원하기
응원은 창작의 힘

이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.

카카오 계정으로 누구나

응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.

응원 댓글 강조

글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.

쉬운 결제

응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.

응원 수익은 창작자에게 큰 힘이 됩니다.
응원 금액
응원 댓글
  • 창작 활동에 대한 감사와 격려의 의미로 창작자를 응원합니다.
  • '응원하기'는 자발적 결제이므로 청약철회(환불) 불가능합니다.
  • '응원하기'는 만 14세 이상 인증 사용자만 이용할 수 있습니다. 만 19세 미만 미성년 회원의 경우, 법정대리인이 응원하기 결제 이용에 동의하지 않으면 미성년자 본인 또는 법정대리인이 그 결제 내용을 취소할 수 있습니다.
  • '응원하기' 이용을 위한 자세한 내용은 티스토리 이용약관 및 카카오 유료서비스 이용약관을 따릅니다.
(주) 카카오 대표이사 정신아
사업자 등록 번호 120-81-47521
통신판매업신고번호 제2015-제주아라-0032호
주소 제주특별자치도 제주시 첨단로 242(영평동)
호스팅사업자 (주)카카오
고객센터 1577-3754
이메일 help.notice@kakaocorp.com
    반응형
    250x250
  • P_Piano
    피피아노의 개발 일지
    P_Piano
  • 전체
    오늘
    어제
    • 분류 전체보기 (201)
      • Apple (119)
        • iOS (22)
        • visionOS (4)
        • Swift (65)
        • UIKit (2)
        • SwiftUI (20)
        • RxSwift (2)
        • Xcode (4)
      • C언어 (5)
      • C++ (8)
      • Dart (1)
      • Python (3)
      • JavaScript (17)
      • Git (1)
      • CS (39)
        • 디자인 패턴 (6)
        • 네트워크 (20)
        • 운영체제 (8)
        • Database (5)
        • 자료구조 (0)
      • IT 지식 (2)
      • IT 뉴스 (4)
      • 출처 표기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Xcode
    함수
    코딩테스트
    배열
    오블완
    프로세스
    연산자
    메서드
    운영체제
    디자인패턴
    visionOS
    UIKit
    Initializers
    SWIFT
    제어문
    프로퍼티 래퍼
    Vision Pro
    swiftUI
    옵셔널
    이니셜라이저
    비동기
    티스토리챌린지
    클래스
    변수
    스위프트
    Optional
    자바스크립트
    combine
    ios
    네트워크
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
P_Piano
[네트워크] 데이터 링크 계층과 주요 기능

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.