핵심 인사이트 (3줄 요약)

  1. 본질: VPI와 VCI는 ATM 셀 헤더 안에 들어있는 번호로, IP 주소나 MAC 주소를 철저히 배제하고 망 내부의 길을 뚫어주는 프레임 릴레이의 DLCI와 같은 역할을 하는 2단계 계층적 논리 연결 식별자다.
  2. 계층적 구조: 수백만 개의 가상 채널(VCI)을 하나하나 다 관리하면 스위치가 터져버리므로, 유사한 방향으로 가는 VCI 여러 개를 **가상 경로(VPI)**라는 하나의 큰 다발로 묶어서 스위칭하는 투-트랙(Two-track) 라우팅을 구현했다.
  3. 로컬 식별성: 프레임 릴레이의 DLCI와 마찬가지로, VPI/VCI 값 역시 글로벌하게 고정된 것이 아니라, ATM 스위치를 한 칸씩 통과(Hop)할 때마다 스위치 내부의 라우팅 테이블에 의해 다른 숫자로 끊임없이 변환(Translation)된다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: ATM 망은 연결 지향형(Virtual Circuit) 네트워크다. 통신을 시작하기 전에 미리 길을 뚫어놓는데, 이때 만들어지는 논리적 파이프라인의 이름표가 **VPI(Virtual Path Identifier)**와 **VCI(Virtual Channel Identifier)**다.

  • 필요성: 프레임 릴레이는 DLCI 번호 하나로만 길을 구분했다. 하지만 전 세계 음성/데이터망을 통합하려 했던 ATM은 동시 접속 채널이 수억 개에 달할 것으로 예상했다. 하나의 스위치가 수억 개의 VCI를 일일이 표 검사(스위칭)하다가는 뻗어버린다. 그래서 "광주로 가는 채널(VCI) 1000개를 '광주행 터널(VPI)' 하나로 묶어버리자! 그럼 중간 스위치는 VPI 번호 딱 하나만 보고 통째로 넘기면 되잖아?"라는 혁신적인 계층 구조를 도입했다.

  • 💡 비유:

    • VCI (가상 채널): 우리 집 TV 셋톱박스에서 넷플릭스, 유튜브, 지상파 방송을 동시에 볼 때 뚫어놓는 개별적인 **"데이터 빨대(실가닥)"**들입니다.
    • VPI (가상 경로): 이 가느다란 실가닥 수십 개를 고무줄로 한데 묶어서 통신사 국사까지 한 번에 보내기 위해 감싼 굵은 **"전선 튜브(다발)"**입니다.

📢 섹션 요약 비유: VPI/VCI는 우체국의 택배 분류 시스템입니다. 개별 택배 상자(VCI)를 부산행이라는 "커다란 철제 컨테이너(VPI)" 안에 몽땅 때려 넣은 뒤, 중간 우편집중국들은 상자 주소는 안 보고 오직 컨베이어 벨트 위의 '컨테이너(VPI)'만 쿨하게 목적지별로 넘겨버립니다.


Ⅱ. VPI / VCI의 스위칭 메커니즘 (Deep Dive)

1. 2단계 스위칭 계층 (Path 와 Channel)

ATM 망을 구성하는 스위치(크로스 커넥트 장비)는 역할에 따라 2가지로 나뉜다.

  • VP 스위치 (코어 스위치): 백본망 한가운데 있는 대형 스위치다. 이들은 셀 헤더의 VCI(채널) 번호는 아예 쳐다보지도 않는다. 오직 굵직한 VPI(경로) 번호만 보고 거대한 파이프 자체를 목적지 쪽으로 스위칭해 버린다. (처리 속도 극대화)
  • VC 스위치 (엣지 스위치): 통신사 망의 끝자락, 사용자 쪽에 붙은 스위치다. 이들은 커다란 튜브(VPI)를 풀어서 그 안에 들어있는 개별 실가닥(VCI) 번호들을 꼼꼼히 확인하고 각각의 사용자 PC 쪽으로 분류해 준다.
 ┌─────────────────────────────────────────────────────────────┐
 │                VPI 다발(Bundle)을 이용한 스위칭 예시              │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │   [ 사용자 A ] ── VCI 10 ──┐                                 │
 │   [ 사용자 B ] ── VCI 11 ──┼──▶ [ VPI 5 번으로 묶음! ]          │
 │   [ 사용자 C ] ── VCI 12 ──┘        │                       │
 │                                     ▼                       │
 │   [ ATM 코어 스위치 ] "오 VPI 5번이군! 무조건 광주 지사로 던져!"       │
 │                     (VCI 번호가 뭔지는 까보지도 않음)             │
 │                                     │                       │
 │                                     ▼                       │
 │   [ 광주 엣지 스위치 ] "도착했군. VPI 5 껍질 풀고 개별 VCI 배달!"     │
 │                     ┌── VCI 10 ──▶ [ 수신자 A ]              │
 │                     ├── VCI 11 ──▶ [ 수신자 B ]              │
 │                     └── VCI 12 ──▶ [ 수신자 C ]              │
 └─────────────────────────────────────────────────────────────┘

2. 셀 헤더(5바이트)에서의 비트 할당 (UNI vs NNI)

VPI/VCI 번호를 담는 공간은 사용자와 통신사 사이(UNI)냐, 통신사 스위치끼리(NNI)냐에 따라 미세하게 다르다.

  • UNI (User-Network Interface): 헤더 40비트 중 맨 앞 4비트는 흐름 제어(GFC)로 쓰고, VPI는 8비트, VCI는 16비트를 쓴다.
  • NNI (Network-Network Interface): 통신사 스위치끼리는 흐름 제어(GFC)가 필요 없으므로 4비트를 VPI에 줘버린다. 즉 VPI가 12비트, VCI가 16비트로, 통신사 구간에서는 더 굵직한 VPI 번호를 만들 수 있다.

📢 섹션 요약 비유: VPI/VCI의 투-트랙 스위칭은 **"KTX 단체 예매"**와 같습니다. 코레일 승무원(코어 스위치)은 열차 한 칸을 통째로 빌린 단체 여행객들의 개별 좌석 번호(VCI)를 검사하지 않고, 그냥 인솔자(VPI) 한 명만 확인하고 쿨하게 열차에 태워버립니다.