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

2023. 10. 4. 09:00·CS/네트워크
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
'CS/네트워크' 카테고리의 다른 글
  • [네트워크] Internet Protocol
  • [네트워크] TCP/IP 계층 구조
  • [네트워크] OSI 7계층 프로토콜과 물리계층
  • [네트워크] 통신 프로토콜의 구조와 기능
P_Piano
P_Piano
20대의 한 페이지를 꽃갈피 하다.
    반응형
    250x250
  • P_Piano
    피피아노의 개발 일지
    P_Piano
  • 전체
    오늘
    어제
    • 분류 전체보기 (189)
      • Apple (109)
        • iOS (21)
        • visionOS (4)
        • Swift (61)
        • SwiftUI (18)
        • RxSwift (2)
        • Xcode (3)
      • C언어 (5)
      • C++ (8)
      • Python (3)
      • JavaScript (17)
      • Git (1)
      • CS (38)
        • 디자인 패턴 (6)
        • 네트워크 (20)
        • 운영체제 (7)
        • Database (5)
        • 자료구조 (0)
      • IT 지식 (2)
      • IT 뉴스 (4)
      • 출처 표기 (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바