전공/네트워크

[네트워크] #22 링크 계층 (Error dection, Parity checking, CRC)

Campus Coder 2023. 12. 12. 12:47
728x90
반응형

목차

  1. 링크 계층
  2. Error detection

1. 링크 계층

노드: 호스트 및 라우터

링크(Link): 통신 경로를 따라 인접 노드들을 연결하는 통신 채널(그래프의 간선)

링크계층 패킷: 데이터그램

 

데이터 링크 계층은 하나의 노드에서 링크를 통해 물리적으로 인접한 노드로 데이터그램을 전송

 

Freaming

  • 데이터그램을 프레임에 캡슐화, 헤더 추가, 트레일러

 

Link access

  • 공유 매체인 경우 채널 액세스
  • 프레임 헤더에서 소스, 대상을 식별하는 데 사용되는 "MAC" 주소
    • IP 주소와는 다름

 

인접 노드 간의 안정적인 전달

  • 무선 링크: 높은 오류율
  • 낮은 비트 오류 링크(파이버, 일부 트위스트 페어)에서는 거의 사용되지 않음

 

Error detection

  • 신호 감쇄, 잡음에 의한 오류
  • 수신기가 오류의 존재를 감지: 재전송을 위해 송신된 신호 또는 프레임을 드롭

 

Error correction:

  • 수신기는 재전송에 의존하지 않고 비트 오류를 식별하고 수정함

 

 

링크 계층이 구현되는 위치

"어댑터"(일명 네트워크 인터페이스 카드 NIC) 또는 칩 상에 구현

 

송신 측과 수신 측의 기능

sending side

  • 프레임에 데이터그램을 캡슐화
  • 오류 검사 비트, rdt 등을 추가

 

receiving side

  • 오류, rdt 등을 찾음
  • 데이터그램을 추출하여 수신 측 상위 계층으로 전달

2. Error detection and Correction

Error detection

EDC(Error Dection and Correction bits) = 오류 탐지 및 수정 비트(redundancy)

D = 오류 검사로 보호되는 데이터, 헤더 필드가 추가됨 → 체크섬

 

  • 오류 감지
  • 프로토콜은 일부 오류를 놓칠 수 있지만 놓치는 경우가 거의 없음
  • EDC 필드가 커지면 감지 및 보정 성능이 향상됨

 

Parity checking

single bit parity

단일 비트 오류 탐지

데이터 비트에 패리티 비트를 추가해서 이진수의 1의 개수를 짝수 혹은 홀수로 만듦

짝수 개의 비트에 오류가 발생하면 오류를 탐지하지 못할 수 있음

 

two-dimensional bit parity

단일 비트 오류 탐지 및 수정

 

FEC(forward error correction): 수신기가 오류를 탐지하고 수정하는 능력

 

Checksumming Methods

패킷의 이진 데이터를 더해서 체크섬을 만듦

 

CRC (Cyclic redundancy check)

  • 데이터 비트, D를 이진수로 보기
  • r+1 비트 패턴 선택(생성기), G
  • 목표: r CRC 비트, R을 선택하여 다음을 수행
    • <D, R> 정확히 G로 나눗셈 (모듈로 2)
    • 수신기는 G를 알고, <D, R>을 G로 나눕니다. 0이 아닌 나머지일 경우: 오류
    • r+1비트 미만의 모든 버스트 오류를 감지할 수 있음

실무에서 널리 사용되는 (이더넷, 802.11 WiFi)

 

CRC Example

want: \(𝐷×2^𝑟 𝑋𝑂𝑅 𝑅 = 𝑛𝐺\)

\(D×2^r\)을 G로 나누면 나머지 R이 다음을 만족시키기를 원함

\[R = remainder[D×2^r/G]\]

728x90
반응형