브래의 슬기로운 코딩 생활
네트워크기초실습 5주차 정리 - 1교시 본문
전송데이터의 오류 제어
오류 제어(Error Control)
개요
- 전송 매체의 외부 간섭(온도, 습도, 전자기 등)에 따라 전송 신호(값)이 변형됨
- 에러에 대한 탐지/검출과 수정/복구가 필요
- 오류 검출 및 정정 (FEC: Forward Error Control)
; 페리티 비트 (Parity Bit)
; 블록 합 검사 (BSC: Block Sum Check)
; 해밍 코드 (Hamming Code)
; 순환 중복 검사 (Cyclic Redundancy Check)
- 역방향 오류 정정 (BEC: Backward Error Correction)
; Stop-and-Wait
; Go-Back-N
; Selective-Repeat ARQ
; Adaptive ARQ
FEC
오류 검출 및 정정 (FEC: Forward Error Control)
- 페리티 비트 (Parity Bit)
- 블록 합 검사 (BSC: Block Sum Check)
- 해밍 코드 (Hamming Code)
- 순환 중복 검사 (Cyclic Redundancy Check)
-----------------------------------------------------------------------------------------
패리티 비트 검사(Parity Bit Check)
- 전송되는 문자(7비트 또는 8비트)마다 패리티 비트를 하나씩 추가
; 홀수 패리티 비트와 짝수 패리티 비트 방식으로 분류
- 정보 비트 수가 적고 오류가 발생할 확률이 낮을 때 사용
- 비동기 전송 또는 문자 기반의 전송에 적합
- 오류 비트가 짝수 개 발생하면 오류 검출 불가
- 7비트 문자에 대한 짝수 패리티 비트 방식 동작 예 / 문자 값:0101100
------------------------------------------------------------------------------------------------------------------
블록 합 검사(BSC: Block Sum Check)
- 패리티 비트 검사를 개선한 방법
- 데이터 블록의 수평과 수직에 각각 패리티 비트를 추가하여 다수의 비트 오류를 검출
- 오버헤드가 심함
- 수평 패리티: 각 문자에서 생성되는 패리티 비트를 검사
- 수직 패리티: 각 칼럼에 있는 비트들을 검사, 프레임의 마지막 문자는 블록 합 검사 영역
- 동작 방식 예
--------------------------------------------------------------------------------------------
해밍 코드(Hamming Code)
- 수신데이터에 대한 오류 검출
- 일부 오류에 대한 자체 교정
- 패리티 비트를 여러 개 추가하여 오류가 있는 비트를 찾음
; P = 패리티 비트 추가 개수
; N =데이터 비트 개수
- 패리티 비트의 위치: 2의x승 자리
----------------------------------------------------------------------------------------------
순환 중복(CRC: Cycle Redundancy Check)
- 집단 오류를 검출하기 위해 다항식 코드를 사용
- 프레임의 끝에 검사 코드(체크섬, check sum)를 추가하여 전송
- 동기식 전송에 많이 사용
- 프레임 내 다수의 오류를 검출
- 많은 프로토콜에서 활용
- 대표적인 체크섬:
방법
- CRC 발생코드를 원본 프레임과 XOR 연산한 나머지를 가장 뒤에 붙여 전송
- XOR 연산은 두 피연산자가 서로 다를 때에만 1의 값을 가짐
- 송신 프레임 생성
---------------------------------------------------------------------------------------------------
추가 용어
- Cut Through Switching : 패킷의 헤더 부분만 보고 바로 스위칭
- Store and Forward: 저장 후 오류 검사하고 이상이 없으면 전달
'1-2 > 네트워크 기초 실습' 카테고리의 다른 글
네트워크기초실습 5주차 정리 - 3교시 (0) | 2022.09.30 |
---|---|
네트워크기초실습 5주차 정리 - 2교시 (0) | 2022.09.30 |
네트워크기초실습 4주차 정리 - 2,3교시 (0) | 2022.09.25 |
네트워크기초실습 4주차 정리 - 1교시 (0) | 2022.09.23 |
네트워크기초실습 3주차 정리 - 3교시 (0) | 2022.09.17 |