핵심 인사이트
- B8ZS(Bipolar with 8-Zero Substitution)와 HDB3(High-Density Bipolar 3)은 T1/E1 통신에서 연속 0 비트의 동기화 손실을 방지하기 위한 회선 코딩 규칙으로, 정규 신호를 위반하는 특수 패턴(Violation)을 삽입해 수신측이 0 대체 위치를 역으로 식별한다.
- AMI(Alternate Mark Inversion) 규칙에서 연속된 0은 전압이 없으므로 수신측이 클럭을 잃어버리는데, B8ZS는 8개 0을 4칸 패턴으로 대체하고 HDB3은 4개 0을 V(Violation)+B(Balancing) 조합으로 대체한다.
- B8ZS는 북미 T1(1.544Mbps), HDB3은 유럽 E1(2.048Mbps)의 표준 스크램블링 방식으로 — 각각 ITU-T G.703 표준에 포함되어 있으며 DSL, ISDN, T1/E1 인터페이스 장비에 필수 구현된다.
Ⅰ. AMI와 연속 0 문제
AMI (Alternate Mark Inversion) 코딩:
1 → +V 또는 -V (교대 극성)
0 → 0V (무전압)
문제점: 연속 0 데이터:
입력: 0 0 0 0 0 0 0 0
AMI: 0 0 0 0 0 0 0 0 (계속 0V)
수신측: 클럭 동기화 실패!
이유: 전이(Transition)가 없으면 클럭 복원 불가
T1/E1 회선: 클럭이 데이터에서 추출됨
→ 연속 0 = 동기 신호 없음 = 데이터 손실
최소 1 밀도 요구사항:
T1: 15개 0 이상 연속 금지 (기존 규칙)
B8ZS 적용 후: 8개 0마다 강제 대체
스크램블링(Scrambling)의 역할:
의도적으로 AMI 규칙을 위반(Violation)시켜
수신측이 "이건 원래 0이 아니라 0 대체 패턴"임을 인지
📢 섹션 요약 비유: 연속 0 문제는 모스 부호에서 긴 침묵 — 너무 오래 신호가 없으면 "통화 종료인지 0인지" 판단 불가. B8ZS는 "나 살아있어요!" 신호를 주기적으로 삽입.
Ⅱ. B8ZS (Bipolar with 8-Zero Substitution)
B8ZS 규칙:
연속 8개 0 → 특수 8비트 패턴으로 대체
마지막 1의 극성에 따라:
마지막 1이 + 극성:
000 +V -V 0 -V +V
(위치: 4 5 7 8 에서 Violation)
마지막 1이 - 극성:
000 -V +V 0 +V -V
(위치: 4 5 7 8 에서 Violation)
위반(Violation) 탐지:
V: 이전 1과 같은 극성 (AMI 위반)
B: 이전 1과 다른 극성 (정상 AMI)
패턴: B-0-0-V-B-0-V-B (8비트)
수신측: V 패턴 탐지 → 원래 8개 0으로 복원
예시:
입력: 1 0 0 0 0 0 0 0 0
AMI: +V 0 0 0 0 0 0 0 0 (동기 손실!)
B8ZS: +V 0 0 0 +V -V 0 -V +V (V=+V, -V 포함)
수신측: 두 번의 Violation(+V→+V) 탐지 → 00000000으로 복원
사용처:
T1 (북미): 1.544Mbps, DS1 신호
ISDN PRI (북미): T1 기반
📢 섹션 요약 비유: B8ZS는 "0 대역에 비밀 서명" — 8개 0 대신 독특한 서명 패턴을 넣고, 받는 쪽은 서명을 보고 "이건 진짜 0 8개"임을 알아챔.
Ⅲ. HDB3 (High-Density Bipolar 3)
HDB3 규칙:
연속 4개 0 → 특수 4비트 패턴으로 대체
이전 대체 이후 1의 개수에 따라 결정
패턴 선택 규칙:
이전 1 개수가 홀수 → 000V (B=0이므로 B 생략)
이전 1 개수가 짝수 → B00V (B = Balancing bit)
목적:
AMI 기본 규칙: 누적 극성 합 = 0 유지 (DC 균형)
V만 있으면 DC 오프셋 발생 가능
B(Balancing bit)로 DC 균형 유지
예시 (이전 1 개수 짝수):
입력: 0 0 0 0
HDB3: +V 0 0 -V (직전 1이 +면 B=+V, V=-V)
수신측: -V 다음 +V = Violation → 0000으로 복원
예시 (이전 1 개수 홀수):
입력: 0 0 0 0
HDB3: 0 0 0 +V (직전 1이 +면 V=+V)
수신측 복원:
Violation(V) 탐지 → 해당 위치 포함 4개를 0000으로 교체
B bit도 제거
사용처:
E1 (유럽): 2.048Mbps
ISDN PRI (유럽): E1 기반
G.703 표준 (ITU-T)
📢 섹션 요약 비유: HDB3은 4개 0에 규칙적 경보 태그 부착 — 짝수/홀수 상황에 따라 다른 태그를 달아 수신측이 원래 0으로 복원.
Ⅳ. B8ZS vs HDB3 비교
비교표:
항목 | B8ZS | HDB3
------------------+-----------------------+---------------------
적용 표준 | T1 (북미, 1.544Mbps) | E1 (유럽, 2.048Mbps)
대체 단위 | 8개 0 | 4개 0
패턴 | 000+-0-+ 또는 000-+0+- | 000V 또는 B00V
Violation 수 | 2개 | 1개
DC 균형 | V 2개로 자동 균형 | B bit로 균형 유지
표준 | ANSI T1.403 | ITU-T G.703
복잡도 | 단순 | 약간 복잡 (짝홀 판단)
공통점:
AMI 기반 (교대 극성)
수신측 역변환(Descrambling) 가능
DC 성분 제거 (변압기 결합 가능)
클럭 복원 가능
한계:
두 방식 모두 '0' 입력에만 대응
랜덤 데이터: 충분히 빈번한 1이 보장되면 불필요
더 현대적인 해결책: 스크램블러 (PRBS 기반)
📢 섹션 요약 비유: B8ZS vs HDB3은 미국식 vs 유럽식 철자 — 같은 문제를 각자 표준대로 해결, 둘 다 맞지만 혼용 불가.
Ⅴ. 실무 시나리오 — T1/E1 인터페이스
기업 전용선 T1/E1 구성:
T1 회선 구성 (미국 기업):
속도: 1.544Mbps
채널: 24개 DS0 (64Kbps × 24)
프레임: D4 또는 ESF(Extended Super Frame)
회선 코딩: AMI 또는 B8ZS
B8ZS 설정 (Cisco):
controller T1 0/0/0
framing esf
linecode b8zs
channel-group 1 timeslots 1-24
E1 회선 구성 (유럽/아시아 기업):
속도: 2.048Mbps
채널: 30개 음성 + 2개 시그널링 (채널 0, 16)
회선 코딩: AMI 또는 HDB3
HDB3 설정 (Cisco):
controller E1 0/0/0
framing crc4
linecode hdb3
channel-group 1 timeslots 1-15,17-31
문제 진단:
연속 0 에러: "Line Code Violation" 카운터 증가
show controllers T1 0/0/0:
Line Code Violations: 0 (정상)
→ 증가하면 B8ZS/HDB3 설정 불일치
DSL과의 관계:
ADSL/VDSL: DMT(Discrete Multi-Tone) 사용
내부: PRBS 스크램블러로 클럭 동기
B8ZS/HDB3은 PSTN 백본 레거시 인터페이스
📢 섹션 요약 비유: T1/E1 B8ZS/HDB3 설정은 전화 교환기의 사투리 설정 — 미국 T1과 유럽 E1이 연결될 때는 공통 언어(변환 게이트웨이) 필요.
📌 관련 개념 맵
B8ZS / HDB3 스크램블링
+-- 배경
| +-- AMI 코딩
| +-- 연속 0 동기 손실 문제
+-- B8ZS
| +-- 8개 0 대체
| +-- T1/북미 표준
+-- HDB3
| +-- 4개 0 대체
| +-- E1/유럽 표준, ITU-T G.703
+-- 공통
| +-- Violation(V), Balancing(B)
| +-- DC 균형 유지
| +-- 클럭 복원 보장
📈 관련 키워드 및 발전 흐름도
[전신/전화 회선 (1870s~)]
극성 전신, 전압 기반 신호 전송
|
v
[PCM 디지털 전화 (1960s)]
AMI 코딩 도입, T1 개발 (Bell Labs)
|
v
[B8ZS 표준화 (1983)]
T1/D4 → ESF+B8ZS 업그레이드
ANSI T1.403
|
v
[E1/HDB3 (1980s, ITU-T G.703)]
유럽 디지털 전화망 표준
|
v
[ISDN/PRI (1990s)]
T1/E1 기반 디지털 음성+데이터
|
v
[현재: IP화 진행]
TDM(T1/E1) → IP 대체 (SIP, VoIP)
레거시 T1/E1: 금융권/공공기관 잔존
👶 어린이를 위한 3줄 비유 설명
- B8ZS/HDB3는 "0이 너무 많으면 거짓 신호 삽입" — 신호 없는 구간이 길어지면 시계(클럭)가 멈추니까, 특별한 거짓 신호로 "아직 살아있어요!"라고 알려줘요!
- B8ZS는 미국식 8개 0 교체, HDB3는 유럽식 4개 0 교체 — 같은 문제를 다른 방식으로 해결한 두 표준이에요.
- 수신측은 "이상한 신호(Violation)" 패턴을 보고 원래 0으로 돌려놓아요 — 일종의 비밀 코드 해독이에요!