VPN OSI 7계층 역할과 2계층, 3계층 VPN의 차이 이해하기
“VPN은 몇 계층에서 돌아가요?”라는 질문이 어려운 이유
OSI 7계층은 통신을 “층층이 쌓인 역할 분담”으로 보는 모델이잖아요. 물리(1)→데이터링크(2)→네트워크(3)→전송(4)→세션(5)→표현(6)→응용(7) 이렇게요. 각 계층은 자기 할 일을 하고, 위에서 내려온 데이터를 “캡슐화(포장)”해서 아래로 넘깁니다. OSI와 TCP/IP 계층이 이런 식으로 캡슐화/역할 구분을 한다는 설명은 자료에 따르면 네트워크 문제를 계층별로 쪼개서 생각하게 해주는 도구예요(velog 자료 1).
제가 2021년에 독일(프랑크푸르트) 리전에 있는 VPN 게이트웨이 장애를 원격으로 트러블슈팅했을 때도, “몇 계층이냐”보다 “터널 안/밖에서 뭐가 포장돼서 흐르냐”를 먼저 나눠보는 게 해결이 훨씬 빨랐거든요.
근데 VPN은 “한 계층에만 딱 고정”이 아니라, 종류에 따라 2계층처럼도, 3계층처럼도, 심지어 7계층(앱)에서 동작하는 것처럼 보이기도 합니다. 그러니 답이 하나로 떨어지기 어렵고, 대신 “내가 쓰는 VPN은 무엇을 터널링(봉투에 넣어 운반)하느냐”로 봐야 정확해요.
실무에서 이 관점을 놓치면, 같은 “VPN 문제”를 두고도 라우팅(3계층)만 의심하다가 정작 터널 협상/캡슐화 구간을 못 보고 삽질하는 경우가 꽤 나오거든요.
VPN 트래픽이 처리되는 “진짜 자리”: 터널 안/밖을 나눠보면 쉬워요
VPN을 동네 비유로 풀면 이렇습니다.
원래 택배(내 트래픽)는 주소(목적지 IP) 보고 도로(인터넷)를 달리죠. VPN은 택배를 한 번 더 큰 박스에 넣고(암호화/캡슐화), 그 박스 겉면 주소는 “VPN 서버”로 붙여서 보내는 방식이에요. 그러면 중간 도로에서는 “어디로 가는지(원래 목적지)”를 자세히 못 보고, 일단 VPN 서버까지만 배송합니다.
여기서 계층이 두 겹으로 생겨요.
터널 “밖”의 패킷: VPN 서버로 가는 일반 IP 패킷(대개 3계층 + 4계층 UDP/TCP)
터널 “안”의 패킷: 원래 목적지로 가려던 내 트래픽(웹이면 HTTP/HTTPS 등 7계층까지 포함)
즉, VPN은 “내 원래 트래픽”을 다른 프로토콜로 한 번 감싸서 보내는 기술이라, 감싸는 방식에 따라 어느 계층에서 처리되는지 달라집니다. OSI에서 3계층은 라우팅, 4계층은 전송 제어 같은 역할로 구분된다는 설명은 자료에서도 비슷하게 정리돼 있어요(티스토리 자료 2).
가장 흔한 케이스: “3계층 VPN”처럼 동작하는 터널(대부분의 개인용 VPN 느낌)
많은 VPN은 터널이 잡히고 나면 “가상의 네트워크 인터페이스”가 생긴 것처럼 동작합니다. 즉, 내 PC/폰 입장에선 네트워크 카드가 하나 더 생긴 느낌이고, 그 인터페이스로 IP 패킷(3계층)을 넣으면 VPN이 알아서 포장해서 서버로 보내요.
Network Engineering Stack Exchange 자료에 따르면, 터널이 성립된 뒤에는 네트워크 계층 인터페이스처럼 동작하는 경우가 많다고 설명합니다(자료 3). 이 말이 핵심인데요, “VPN이 3계층에서 돌아간다”는 표현은 보통 이 상황을 가리킵니다.
정리하면 이런 흐름이에요.
1) 앱(7계층): 브라우저가 요청 생성
2) TCP/UDP(4계층): 세션 유지/전송
3) IP(3계층): 원래 목적지로 가야 할 패킷 생성
4) VPN이 그 IP 패킷을 “터널 프로토콜”로 캡슐화해서 VPN 서버로 전송
5) VPN 서버에서 포장 해제 후 원래 목적지로 라우팅
그래서 개인용 VPN을 쓰는 입장에서는 “3계층에서 내 트래픽이 우회된다”라고 이해하면 대체로 안 틀립니다. 다만 환경마다 구현이 달라질 수 있어요(예: UDP 기반/ TCP 기반, 커널 드라이버/유저 모드 등).
“2계층 VPN”은 뭐가 다르냐: LAN을 통째로 연장하는 느낌
2계층 VPN은 쉽게 말해 “IP만” 실어 나르는 게 아니라, 이더넷 프레임(2계층)을 통째로 터널에 태워 보내는 쪽에 가깝습니다. 그러면 멀리 떨어진 두 지점이 마치 같은 스위치에 꽂힌 것처럼 보이게 만들 수 있어요. 회사 지사끼리 “같은 사무실 LAN”처럼 묶고 싶을 때 이런 발상이 나오죠.
Juniper 문서 자료에 따르면, L2 VPN은 고객이 라우팅을 담당하고 서비스 제공자는 MPLS 등을 통해 2계층 트래픽을 전달하는 식으로 설명됩니다(자료 5). 즉, “라우팅(3계층)을 누가 책임지냐”가 L2/L3 VPN 구분의 포인트예요. L2 VPN은 라우팅을 고객이 하고, 사업자는 2계층 운반에 집중하는 그림이죠.
이 방식은 편할 때도 있지만, 브로드캐스트/ARP 같은 2계층 특성까지 같이 딸려가서 설계가 더 까다로울 수 있습니다. “LAN을 늘린다”는 건, 그만큼 LAN의 성격도 같이 늘어나는 거거든요.
흔한 오해 3가지: “VPN=무조건 7계층/무조건 3계층” 이런 식의 단정
1) “VPN은 보안이니까 7계층 아닌가요?”
보안 기능(암호화/인증)은 여러 계층에서 할 수 있어요. 예를 들어 HTTPS는 응용계층(7계층)에서 보안을 얹는 대표 사례고, VPN은 “터널링”으로 네트워크 경로 자체를 감싸는 쪽이라 2~3계층 성격이 강한 경우가 많습니다. 즉, “보안”이라는 목적이 곧 계층을 뜻하진 않아요.
2) “VPN 쓰면 내 IP가 무조건 숨겨지죠?”
대부분은 “외부에 보이는 출구 IP(egress)”가 VPN 서버로 바뀌는 효과가 있지만, 어떤 트래픽이 터널로 들어가느냐(전체 터널링 vs 분할 터널링)에 따라 달라질 수 있어요. 환경/설정에 따라 일부 트래픽은 VPN 밖으로 새는 경우도 있습니다.
3) “VPN은 딱 한 계층에서만 처리된다”
자료에서도 암시하듯이, 어떤 VPN은 네트워크 계층 인터페이스처럼, 어떤 건 데이터링크처럼 동작하는 등 스펙트럼이 있습니다(자료 3). 게다가 “터널 밖은 IP/UDP, 터널 안은 또 다른 IP”처럼 계층이 겹겹이 보이는 구조라, 한 줄로 못 박기 어렵죠.
참고로 IETF에서 공개한 RFC들(예: IPsec 관련 RFC 4301 같은 문서)은 이런 “원래 패킷을 다른 헤더로 감싸서 운반한다”는 캡슐화/터널 개념을 표준 문서 흐름으로 계속 다루고 있어요.
결론: VPN 트래픽은 “종류에 따라 2계층 또는 3계층 중심”, 그리고 항상 캡슐화 구조로 이해하세요
다만, 이 글에서 말한 건 “일반적인 VPN 동작을 OSI 관점으로 풀어보는” 설명이라서, 장비/프로토콜/설정(예: split tunneling, NAT 환경, 기업용 정책 라우팅)에 따라 체감 동작은 케이스마다 다를 수 있습니다.
개인이 흔히 쓰는 VPN은 터널이 잡힌 뒤 “3계층(네트워크 계층) 인터페이스처럼” 동작하는 경우가 많아요(자료 3).
사업자/기업 환경에서는 “2계층 VPN”과 “3계층 VPN”을 서비스로 구분해서 쓰기도 하고, L3 VPN은 PE가 라우팅을 처리하는 모델로 설명됩니다(자료 5).
제일 깔끔한 사고방식은 “터널 밖 패킷(서버로 가는 포장)”과 “터널 안 패킷(원래 트래픽)”을 나눠서 보는 겁니다. 그러면 OSI 몇 계층이냐는 질문도, “어떤 걸 기준으로 보냐”로 자연스럽게 풀리거든요.
원하시면, 지금 쓰는 VPN이 OpenVPN/WireGuard/IPsec/L2TP 중 뭐인지 기준으로 “정확히 어느 계층처럼 보이는지”를 케이스별로 더 딱 맞춰서 정리해드릴게요.
주제 컨텍스트
OSI 7계층: VPN 트래픽은 어디에서 처리될까