핵심 인사이트 (3줄 요약)
- 본질: ATM 망은 엄청난 속도로 연속해서 쏟아지는 53바이트 셀의 폭포수 속에서, 스위치가 "어디서부터가 새로운 셀의 시작(머리)인지"를 찾아내는 고유한 동기화 메커니즘을 갖추고 있다.
- 이더넷과의 차이: 이더넷은 프레임의 시작을 알리기 위해 앞에 무려 8바이트짜리 프리앰블(Preamble)이라는 낭비성 박자 신호를 두었지만, 극강의 오버헤드 최소화를 추구한 ATM은 프리앰블을 완전히 없애버렸다.
- HEC 기반 동기화: ATM은 대신 헤더의 맨 마지막 1바이트인 HEC(Header Error Control) 필드의 에러 검출 알고리즘을 역이용하여, 우연히 에러가 0이 되는 지점을 역산해 셀의 시작점을 찾아내는 천재적인 동기화(Delineation) 방식을 사용한다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: 셀 경계 판별(Cell Delineation). 수신기(ATM 스위치)가 끊임없이 들어오는 비트 스트림(
01011100...) 속에서 정확히 53바이트짜리 덩어리의 첫 번째 비트(경계선)가 어디인지 알아내는 과정이다. -
필요성: 이더넷은 1518바이트 등 크기가 지멋대로라 무조건 앞에 "지금 시작한다!(Preamble)"는 깃발을 흔들어줘야 했다. 하지만 ATM은 무조건 53바이트로 고정되어 있다는 맹점이 있다. 이 53바이트 구조체 안에 어차피 헤더가 안 깨졌는지 검사하는 HEC(에러 검출) 바이트가 있는데, "이 HEC 수학 공식을 거꾸로 이용하면 굳이 깃발(Preamble)을 흔들지 않아도 수신기가 시작점을 스스로 깨달을 수 있지 않을까?"라는 목적으로 개발되었다.
-
💡 비유: 길게 이어진 기차 칸막이를 찾는 것과 같습니다. 이더넷은 기차 칸막이마다 겉면에 **"빨간 페인트(Preamble)"**를 크게 칠해 놓은 것이고, ATM은 페인트를 아끼려고 아무 표시도 안 해둔 대신, **"검표원(HEC)이 있는 칸에서 앞쪽으로 정확히 4칸을 세면 거기가 문이다"**라는 숨겨진 수학적 규칙을 이용해 문을 찾는 방식입니다.
📢 섹션 요약 비유: ATM 동기화는 포장지에 시작 표시가 없는 대신, **바코드(HEC)의 수학 공식을 풀어서 포장지의 모서리 위치를 역추적해 내는 고도의 두뇌 플레이(알고리즘)**입니다.
Ⅱ. HEC 헌팅(Hunting) 알고리즘 메커니즘 (Deep Dive)
1. HEC (Header Error Control) 필드
ATM 셀 헤더 5바이트 중 마지막 5번째 바이트가 HEC다. 이 바이트는 앞의 4바이트(목적지 주소 등)가 전송 중 깨지지 않았는지 검사하는 CRC(순환 중복 검사) 값이다. (주의: 48바이트의 데이터(페이로드)는 에러 검사를 하지 않는다. 오직 헤더 4바이트만 검사한다!)
2. 셀 경계 찾기: 3단계 상태 전이 머신
수신기가 전원을 막 켰을 때는 어디가 셀의 시작인지 전혀 모르는 막막한 상태다. 수신기는 비트를 하나씩 움직여가며(Sliding Window) 5바이트 블록을 잡아 HEC 공식을 돌려본다.
- HUNT (탐색 상태):
- 비트를 하나씩 옆으로 밀어가며
앞 4바이트 ──▶ 5번째 바이트(HEC)공식이 맞아떨어지는지 무한 반복 계산한다. - 우연히 공식이 딱 맞아떨어지는 5바이트를 발견하면, "어? 여기가 셀 헤더인가?" 하고 다음 상태로 넘어간다.
- 비트를 하나씩 옆으로 밀어가며
- PRESYNC (가동기 상태):
- 우연의 일치일 수도 있으므로 검증을 시작한다. 방금 찾은 헤더 끝부분부터 정확히 53바이트(셀 1개 크기)를 건너뛰어 그다음 헤더 위치를 잡고 다시 HEC 공식을 돌려본다.
- 이것을 델타 번(통상 6번) 연속으로 테스트해서 6번 모두 HEC가 딱딱 들어맞으면 "아! 이건 우연이 아니라 진짜 셀의 흐름(동기화)이 맞다!"라고 확신한다.
- SYNC (동기 상태):
- 완벽하게 동기화가 달성되었다. 이제부터는 들어오는 족족 53바이트씩 뭉텅 썰어서 초고속 스위칭을 수행한다.
- 만약 선로 노이즈로 인해 HEC가 알파 번(통상 7번) 연속으로 실패하면 동기화가 깨졌다고 판단하고, 즉시 다시 1단계 HUNT(탐색) 상태로 추락한다.
┌─────────────────────────────────────────────────────────────┐
│ ATM 수신기의 HEC 셀 델리니에이션(동기화) │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ HUNT ] ── (우연히 1번 맞음) ──▶ [ PRESYNC ] │
│ ▲ │ │ │
│ │(에러 발생, 못 찾음) │ │(연속 6번 성공!) │
│ └─────────────────────────────┘ │ │
│ (연속 7번 에러 발생!) ▼ │
│ ◀───────────────────── [ SYNC ] │
│ (초고속 데이터 스위칭 가동!) │
│ │
│ * 53바이트라는 '고정 길이'가 보장되기에 가능한 마법의 알고리즘이다. │
└─────────────────────────────────────────────────────────────┘
📢 섹션 요약 비유: HEC 기반 동기화는 라디오 주파수를 맞출 때, 지지직거리는 잡음 속에서 다이얼을 0.1Mhz씩 미세하게 돌리다가(HUNT), DJ의 목소리가 어렴풋이 들리면 잠시 멈추고 계속 선명하게 들리는지 확인한 뒤(PRESYNC), 확실하다 싶으면 음악을 감상(SYNC)하는 과정과 완벽히 일치합니다.