네트워크 공부 & 실습/네트워크 이론

[Network] VPN 의 개념과 원리

강_토발즈 2025. 3. 18. 17:45

 

VPN(가상 사설망, Virtual Private Network)의 개념과 원리

 

먼저 가상 사설망을 비유적인 표현으로 쉽게 이해하기 위해 가상의 상황(염원)을 가정해보자.
만약 내가 로또 1등에 혼자(500억) 당첨되어 서울역 근방에 위치한 농협 본점(출발지)에서 당첨금을 현금으로 모두 수령(중요한 데이터)했고, 이를 우리 집(도착지)까지 무사하게 가져오고 싶다.

 

누구나 다 아는 경로인 버스 - 지하철 - 도보 경로(공공 네트워크)에서는  내 당첨금을 노리는 사람들(악의적인 사용자)이 너무 많고, 또 내 개인정보를 아는 사람들 중에서는 누구나 출발지에서 도착지 까지의 경로를 검색해서, 중요한 길목 어디서든지 나의 당첨금을 가로챌 계획을 세울 수 있다.

 

이렇게 불안하기 때문에, 만약 농협은행 본점에서 우리집까지 바로 연결되는 비밀 지하 통로(VPN 터널링)가 있다면 얼마나 좋을까? 라고 상상한다. 또 만약을 대비해서 이 통로에 입장하기 위해서는 내 신원 확인을 하고 비밀번호를 입력(암호화, 인증)해서 딱 나만 이용하고 사라지면(연결 정료) 얼마나 안전할까? 

 

염원이자 망상을 통해 살펴본 VPN의 개념과 원리는 다음과 같이 설명할 수 있다.

 

1. VPN의 개념

  • VPN은 인터넷을 통해 데이터를 안전하게 전송할 수 있도록 도와주는 기술이다. 집에서 인터넷을 사용할 때, 일반적으로 내 데이터는 공공 네트워크를 통해 전송된다. 이 과정에서 악의적인 사용자가 내 정보를 가로챌 수 있다. 하지만 VPN을 사용하면 내 데이터가(출발지, 목적지, 데이터의 내용 등) 암호화되어 안전하게 전송된다.

2. VPN의 원리

  • 암호화
    VPN은 데이터를 암호화하여 제3자가 내용을 볼 수 없게 한다. 이를 통해 정보가 안전하게 보호된다.

  • 터널링
    VPN은 데이터를 전송할 때 "터널"을 만들어 인터넷을 통해 이동한다. 이 터널은 VPN 서버와 해당 기기 사이에 형성되며, 모든 데이터는 이 터널을 통해 안전하게 전송된다.
    이 터널을 구성하는데 다양항 방식(프로토콜)이 존재한다. 각각의 방식들의 장단점이 존재하기 때문에 필요에 따라 적합한 방식을 선택하여야 한다.
    ex) OpenVPN, L2TP, IPsec, PPTP, SSTP, WireGuard 등

  • IP 주소 변경
    VPN을 사용하면 해당 기기의 실제 IP 주소가 숨겨지고, VPN 서버의 IP 주소로 대체된다. 이를 통해 위치를 숨기고, 지역 제한 콘텐츠에 접근할 수 있다.

3. VPN 서버의 동작

  • VPN 서버는 앞서 설명한 VPN 의 개념과 원리들이 구현하는 역할을 한다. 즉 클라이언트와 서버간의 가상 터널을 생성하여 안전한 연결을 형성한다.

  • VPN 서버는 클라이언트로부터 받은 데이터를 암호화 하고, 목적지로 보내기 전에 복호화 한다. 이후 구축한 가상 터널을 통해 전송한다.
+----------------+       +----------------+       +----------------+
|   사용자 기기  | <---->|    VPN 서버    | <---->|   인터넷 서버   |
| (클라이언트)   |       |                |       | (웹사이트 등)   |
+----------------+       +----------------+       +----------------+
        |                         |                         |
        |                         |                         |
        |   암호화된 터널         |                         |
        +------------------------+--------------------------+

 

  • 사용자는 기기에서 VPN 클라이언트를 실행하고 VPN 서버에 접속해야 한다. VPN 서버에 접속이 완료되고 웹 브라우저를 통해 특정 인터넷 페이지에 접속하면, 사용자가 입력한 URL 요청 패킷이 암호화 되어, 암호화된 터널을 통해  VPN 서버로 전송된다. 이 때 사용자의 IP 주소는 숨겨지고, VPN 서버의 IP 주소로 요청이 전송된다.
  • 인터넷 서버(웹사이트)는 VPN 서버가 요청을 처리하고 응답을(데이터 및 페이지 정보 등) VPN 서버로 보낸다. VPN 서버는 받은 응답 패킷을 암호화하여 사용자 기기로 전달한다.