동기화 및 오류제어

2025. 9. 23. 20:14개발/컴퓨터통신

반응형

1) 동기화 & 전송 방식

  • 비동기 전송(Asynchronous): 문자(보통 8비트) 단위로 Start–Data–Parity–Stop 전송, 문자마다 재동기화 → 간헐적/저속 통신에 적합(UART/RS-232). 효율 = 8/(1+8+P+S). 예: (Start1, Data8, Parity1, Stop2) ⇒ 8/12=66.6%.
  • 동기 전송(Synchronous): 큰 블록(≈100B~64KB) 단위, 공통 클럭(또는 데이터 내 임베디드 클럭)으로 연속 동기화 → 고속/대용량에 적합(이더넷, SDH/SONET). 클럭 복원: 별도 클럭선 or 데이터 내 임베디드 + DPLL/PLL, 맨체스터/차분 맨체스터/바이폴라 RZ 등.

2) 직렬 vs 병렬

  • 직렬: 한 비트씩, 선로 적어 장거리 유리(USB, RS-232).
  • 병렬: 여러 비트를 동시에, 짧은 거리·시스템 내부 버스(CPU–메모리/PCI 등)에 적합. 교차/간섭 이슈로 거리 제약.

3) 회선 구성 & 전송 모드

  • 토폴로지: 점대점 / 점대다점.
  • 전송 모드: 단방향(Simplex) / 반이중(Half-duplex) / 전이중(Full-duplex).
  • 정의와 예시(워키토키=반이중, 전화=전이중) 정확히 외우기.

4) 헤더–데이터 경계 구분

  • Byte Stuffing(문자지향): 데이터 안에 제어문자 패턴이 나타나면 앞에 DLE 삽입해 구분. 수신 시 DLE 제거. (예: SYN DLE STX … DLE ETX).
  • Bit Stuffing(비트지향): 플래그 01111110과 혼동 방지 위해 ‘1이 5개 연속’ 뒤에 0을 강제 삽입. 수신 시 해당 0 제거.

5) 오류 검출(Detection)

  • Parity(패리티): 프레임의 1의 개수를 짝수/홀수로 맞춤. 홀수 개 비트 오류만 검출, 짝수 개 동시 오류는 검출 실패(중요 함정).
  • VRC: 글자(행)마다 패리티 추가. #LRC: 블록(열) 단위 패리티(BCC)로 ‘버스트 에러’에 대응—둘을 함께 써 이중 점검(수평=odd, 수직=even의 예).
  • CRC: 모듈로-2(=XOR) 다항식 나눗셈으로 나머지(검사값)를 붙여 전송. 생성다항식 G(x) 예시와 시프트(왼쪽 n비트=×Xⁿ) 개념 기억. 수신 측은 동일 G(x)로 나눠 나머지가 0이면 정상.

6) 오류 정정(Correction)

  • Backward(ARQ): 오류 검출 → 재전송 요구(일반 데이터 통신).
  • FEC: 재전송 어려운 상황(우주 통신/실시간)에 수신 측만으로 정정.
  • 대표: Hamming(7,4). 배치: 비트1(P1),2(P2),4(P3) = 패리티, 3(D1),5(D2),6(D3),7(D4)=데이터.
    • 패리티 집합(예): P1=1,3,5,7 / P2=2,3,6,7 / P3=4,5,6,7 (XOR) → 수신 시 세 패리티 검사 결과(시드롬)로 오류 위치(1~7) 찾아 반전.

7) 꼭 나오는 계산/암기 포인트

  • RS-232 프레임 효율: η = 데이터비트수 / (Start + Data + Parity + Stop) (예: 8/(1+8+1+2)=66.6%). 전압 레벨: 논리1 ≤ −3V, 논리0 ≥ +3V, 전송속도 대략 4.8~200 kbps.
  • Bit Stuffing 규칙: ‘1 다섯 번 연속’ 뒤에는 0을 삽입(수신 시 제거). 플래그는 01111110.
  • CRC 직관: 데이터 뒤에 0을 n개(다항식 차수) 붙여 나눗셈 → 나머지를 덧붙여 전송. 수신은 전체를 G(x)로 나눠 나머지=0 확인.
  • Hamming(7,4) 자리 기억: 1,2,4=P / 3,5,6,7=D. 시드롬=0이면 무오류.

8) 자주 나오는 비교 한 줄 정리

  • 비동기 vs 동기: 문자별 재동기(오버헤드↑, 간헐적용) vs 블록/연속 동기(고속, 효율↑).
  • 문자지향 vs 비트지향: 제어정보를 ‘문자’로 구분(Byte Stuffing) vs ‘플래그 비트’로 구분(Bit Stuffing).
  • VRC/LRC vs CRC: 간단/이중 체크 vs 강력한 다항식 기반 검출.
  • ARQ vs FEC: 재전송 필요 vs 재전송 없이 정정(해밍 등).

9) 미니 퀴즈(정답 바로 아래)

  1. 비트지향 프레이밍에서 데이터가 플래그 01111110과 섞여 보일 때 어떻게 처리?
    → 1이 5개 연속일 때 0을 삽입(Bit Stuffing), 수신 시 해당 0 제거.
  2. (7,4) 해밍에서 오류 위치를 어떻게 찾나?
    → P1,P2,P3 검사로 얻은 3비트 시드롬을 2진수로 해석해 위치(1~7) 결정 후 반전.
  3. 패리티의 한계는?
    → 짝수 개 동시 오류는 검출 실패.
  4. RS-232 프레임이 Start1, Data7, Parity0, Stop1이면 효율은?
    → 7/(1+7+0+1)=7/9≈77.8%.
반응형

'개발 > 컴퓨터통신' 카테고리의 다른 글

LAN & WAN Technologies  (0) 2025.09.30
데이터링크제어 (Data Link Control)  (0) 2025.09.23
전송 (Transmission)  (0) 2025.09.23
Electronics & Signals (전기와 신호)  (1) 2025.09.23
OSI 7계층과 TCP/IP 프로토콜  (0) 2025.09.23