[컴퓨터네트워크] Ch10 | 오류제어와 흐름제

Ogu·2024년 6월 12일
0

1. 오류 제어 (Error Control)

오류의 종류

단일 비트 에러 (Single-Bit Error)

  • 데이트 부분의 한 비트만 변경

다중 비트 에러 (Multiple-Bit Error)

  • 데이터 부분의 2개 또는 그 이상의 비연속적인 비트가 변경 Untitled

집단 오류 (Burst Error)

  • 데이터 부분의 2개 또는 그 이상의 연속적인 비트가 변경 Untitled

오류 검출

  • 송신측에서 보내고자 하는 원래의 정보 이외에 별도로 잉여분의 데이터를 추가
  • 수신측에서는 이 잉여(Redundancy) 데이터를 검사함으로써 오류검출이 가능
  • 종류
    • 패리티 검사, 블록 합 검사, CRC(Cyclic Redundancy Check), Checksum Untitled

잉여 정보 (redundancy)

Untitled

패리티 검사 (Parity Check)

  • 한 블록의 데이터 끝에 한 비트추가
  • 구현이 간단해 널리 사용

종류

  • 짝수 패리티 : 1의 전체 개수가 짝수개
  • 홀수 패리티 : 1의 전체 개수가 홀수개

동작과정

  • 송신측
    • 짝수 또는 홀수 패리티의 협의에 따라 패리티 비트 생성
    • ASCII 문자(7bit) + 패리티 비트(1bit) 전송
  • 수신측
    • 1의 개수를 세어 오류 유무 판단(짝수 또는 홀수)
    • 맞지 않다면 재전송 요청

홀수 패리티 사용

  • 전송하고자 하는 데이터 : 1101001
  • 1의 개수를 홀수로 하기 위해 패리티 비트를 1로 지정
  • 패리티 비트 추가한 최종 전송 데이터 : 11101001
  • 수신측은 패리티 비트를 포함한 데이터 내의 1의 개수를 세어 홀수인지 판단 ; 11111001
  • 홀수가 아니면 재전송 요청

짝수 패리티 VRC(Vertical Redundancy Check)

Untitled

단점

  • 짝수개의 오류는 검출 불가
  • 11**01**1001 : 짝수개 오류 발생 → 1의 개수가 홀

블록 합 검사 (Block Sum Chesck)

  • 이차원 패리티 검사 : 가로와 세로로 두 번 관찰
  • 검사의 복잡도를 증가
    • 다중 비트의 오류와 폭주오류를 검출할 가능성을 높임
  • 동작 과정
    • 데이터를 일정 크기의 블록으로 묶음
    • 각 블록을 배열의 열로 보고 패리티 비트를 계산하여 추가
    • 각 블록의 행에 대한 패리티 비트를 계산하여 추가한 후 전송

  • 전송하고자 하는 데이터
  • 비트들이 함께 더해지고 블록 합에 따라 짝수 혹은 홀수 중 하나의 패리티를 얻음
  • 블록 합의 마지막 비트는 블록 합 데이터 단위 자체를 위한 패리티 비트이고 블록 내의 모든 패리티 비트들을 위한 비트임
  • VRC(Vertical Redundancy Check), LRC(Longitudinal Redundancy) Untitled Untitled

단점

  • 하나의 블록에서 두 개에 오류가 생기고, 다른 블록의 동일한 위치에서 두 개의 오류가 발생한 경우 검출 불가 Untitled → 두 번째 블록과 마지박 블록의 동일 위치에 각 두 개의 오류 발생

CRC (Cyclic Redundancy Check) - 순환 중복 검사

  • 전체 블록 검사
  • 이진 나눗셈 기반

계산 방법

  • 메시지는 하나의 긴 2진수로 간주
  • 특정한 이진 소수에 의해 나누어짐
  • 나머지는 송신되는 프레임에 첨부
  • 나머지를 BCC(Block Check Character)라고도 함
  • 프레임이 수신되면 수신기는 같은 제수(generator)를 사용하여 나눗셈의 나머지를 검사
  • 나머지가 0이 아니면 오류가 발생했음을 의미
  • 제수 : 생성 다항식(generator polynomial)

→ 2진 나눗셈 이용

Untitled

Untitled

부호화 과정

  • 각 비트들의 값을 보면서 하나의 함수를 만드는 과정
  • 정보 비트를 전송비트의 다항식(polynomial)에 의한 표현으로 변환

Untitled

CRC 비트의 생성

Checksum

  • 전송 데이터의 맨 마지막에 앞서 보낸 모든 데이터를 다 합한 합계를 보수화하여 전송
  • 수신측에서는 모든 수를 산하여 검사

2. 흐름 제어

profile
Hello! I am Ogu, a developer who loves learning and sharing! 🐤🐤 <br> こんにちは!学ぶことと共有することが好きな開発者のOguです!🐤

0개의 댓글