본문 바로가기
📖 CS/정보통신공학

📲 정보통신공학 - Ch6. 오류 검출 및 정정 - 1~4 오류의 종류/검출/패리티 검사/인터넷 체크섬

by 정람지 2024. 4. 12.

출처 : William Stallings, "Data and Computer Communications (10th Edition)," Pearson, 2014


[Ch6] 오류 검출 및 정정

배울 것

- 오류 검출 코드를 사용하는 기본 방법
- 인터넷 체크섬의 개요
- 순환 중복 검사 방법의 동작
- 해밍거리를 정의
- 블록 코드를 사용한 순방향 오류 정정 기법의 기본 원리

 

전송 오류를 대처하는데 사용되는 일반적인 세 가지의 방법
- 오류검출코드
- 순방향 오류 정정코드(FEC) 또는 오류 정정코드

- 자동 재전송(ARQ) 프로토콜

=> 데이터 전송 프로토콜에 따라 각각 프레임, 패킷 또는 셀이라 불리는 데이터 블록에 적용

 

 

- 단일비트 오류와 버스트 오류 간의 차이점

- 오류검출을위한 세 가지 접근 방법

설명


4.1  📲 오류의 종류

오류의 정의:

  • 디지털 전송 시스템에서는 송신된 비트와 수신된 비트가 다를 경우 오류가 발생했다고 함
  • ex : 이진 1을 전송했으나 이진 0으로 수신된 경우, 그 반대의 경우

오류의 종류:

  • 단일 비트 오류: 하나의 비트만 변경되는 경우로, 주변 비트들은 영향을 받지 않는 격리된 오류 상황
  • 버스트 오류: 연속된 비트열에서 첫 비트와 마지막 비트가 바뀌고, 그 사이의 임의의 개수의 비트들에서 오류가 발생한 경우(버스트의 마지막 오류 비트와 다음 버스트의 첫 오류 비트 사이에는 여러 개의 정상 비트들이 존재)

오류의 원인:

  • 단일 비트 오류: 주로 백색 잡음에 의해 발생 / 신호 대 잡음비가 악화되어 수신기가 비트값을 잘못 판정할 때 발생
  • 버스트 오류: 충격 잡음(impluse noise), 이동 무선 환경에서의 페이딩(fading) 등에 의해 발생/ 데이터 전송률이 높을수록 그 영향이 커짐


4.2  📲 오류 검출 

  1.  

비트 오류율이 증가하면 비트 오류 없이 프레임이 도착할 확률은 감소

프레임의 길이가 증가함에 따라 비트오류 없이 프레임이 도착할 확률 감소

프레임이 길어지면 더 많은 비트가 있게 되고 그 중 에 한 비트가 오류가 될 확률은 더 높아짐

 

 

오류검출코드 (error-detecting) ( 검사비트 check bit )

 

<송신>

부가적인 비트를 첨부

=> 나머지 다른 전송 비트들의 함수로 계산

- 일반적인 오류 검출 알고리즘은 k 비트로 구성된 데이터 블록에 대해 비트의 오류 검출 코드를 산출

- 데이터 블록 뒤에 부착되어 n비트의 프레임을 형성하여 전송

 

<수신>

들어오는 프레임으로부터 다시 k비트의 데이터와 k-n 비트의 오류 검출 코드를 분리

수신기는 동일한 계산을 수행하여 두 결과를 비교

일치하지 않으면 오류가 생긴 것

 

=> 

P2 : 프레임이 오류를 가지고 있고 오류 검출 기법을 통하여 그 사실이 발견될 확률

P3 : 잔여오류율(residual error rate)이라 하며, 오류 검출 방식의 사용에도 불구하고 오류가 발견되지 않을 확률


4.1  📲 패리티 검사

👀 패리티 비트

패리티 비트는 데이터 전송의 신뢰성을 높이기 위해 사용되는 가장 기본적인 오류 검출 방식

 

작동 원리:

  • 각 데이터 단어 또는 문자의 끝에 하나의 패리티 비트를 추가
  • 패리티 비트는 데이터에서 1의 개수가 짝수가 되도록 설정되는 짝수 패리티, 또는 홀수가 되도록 설정되는 홀수 패리티 중 하나를 사용

한계점:

  • 패리티 비트는 단일 비트 오류는 검출할 수 있지만, 두 개 이상의 비트가 동시에 오류를 보일 경우 (짝수 개의 오류가 발생할 경우) 이를 검출하지 못하는 한계
  • 고속 데이터 전송에서 여러 비트가 동시에 오류를 일으킬 수 있는 충격 잡음의 영향을 받을 때, 패리티 비트만으로는 충분한 보호를 제공하지 못함



👀 2차원 패리티 검사

2차원 패리티 검사는 패리티 비트를 활용한 보다 견고한 오류 검출 방식

  • 작동 원리:
    • 데이터 비트를 2차원 배열로 정렬하고, 각 행과 각 열에 대해 짝수 패리티를 계산하여 추가
    • 마지막으로, 전체 패리티 비트를 추가하여 데이터 매트릭스를 완성
    • 이 방법으로 각 비트는 두 번의 패리티 검사(행과 열)에 참여
  • 장점:
    • 이중 패리티 검사는 단일 패리티 방식보다 더 많은 오류 유형, 특히 임의의 홀수 개의 비트 오류를 검출할 수 있는 능력

이러한 패리티 검사 방법들은 데이터 전송의 오류를 감지하는 기본적인 방법으로, 특히 신뢰성이 중요한 통신에서 널리 사용

각각의 방법은 특정 상황과 요구 사항에 따라 선택되어 사용되며, 효과적인 데이터 보호를 위해 적절히 구현


4.1  📲 인터넷 체크섬

IP, TCP, UDP 와 같은 인터넷 표준 프로토콜에서 많이 사용되는 오류 검출 코드

 인터넷 프로토콜에서 추가적인 오류 검출 층을 제공하므로, 오류가 자주 발생할 수 있는 네트워크 환경에서 데이터의 정확성을 유지하는 데 중요한 역할

 

1의 보수 연산:

이 연산은 비트의 값을 반전 (1을 0으로, 0을 1로)

 

1의 보수 합 연산:

  • 두 수를 부호 없는 이진수처럼 처리하고 더함
  • 최상위 비트에서 캐리가 발생하면, 그 캐리를 합에 다시 더함 (윤회식 자리올림)
  • 체크섬 계산 전, 체크섬 필드는 0으로 설정되며, 헤더의 모든 워드에 대해 1의 보수합을 수행
  • 계산된 결과의 1의 보수 값이 체크섬 필드에 저장

체크섬 검증:

  • 수신측에서는 전체 헤더에 대해 1의 보수합을 계산
  • 만약 결과의 비트 값이 모두 1이면 (1의 보수 연산을 수행하면 0이 됨),  체크섬 검증이 성공한 것으로 간주

 

효율성과 한계:

  • 인터넷 체크섬은 상대적으로 간단한 계산 (합과 비교 연산)으로 구현될 수 있어 대부분 소프트웨어로 처리되며, 시스템에 큰 부담을 주지 않음
  • 비록 순환중복검사(CRC) 같은 기법에 비해 오류 검출 능력이 다소 낮을 수 있지만, 인터넷 체크섬은 추가적인 종단간 오류 검출을 담당하여 네트워크 데이터 전송의 신뢰성을 증가시킴

집에가자!

주말이닷!