개발자의 길/Infra

[Network] VPN 의 원리에 대해서

토아드 2024. 2. 19. 00:39
반응형

VPN 은 Virtual Private Network 로써, 말 그대로 가상으로 사설망과 같은 형태로 연결되는 네트워크를 의미한다.

 

사설망이라는 건 인터넷과는 차단된 독자적인 네트워크 체계를 의미한다. 특정 회사의 사설망이 서울에 하나 부산에 하나 있다고 하자, 회사 내부의 사람끼리는 두개의 사설망을 연결해서 같이 쓰고 싶다면 두 사설망을 연결해주는 전용 회선이 필요하다. 예전에는 이런 회선을 대여하거나 해서 비용을 내고 썻다고 하는데, 비용이 너무나 많이 들다 보니 회선을 따로 독점하지 않고 두 사설망을 연결하는 방법을 찾다가 나온게 VPN 이라고 한다.

 

VPN 은 사설망과 다른 네트워크나 클라이언트와 인터넷으로 통신을 하기 위해서 서로 주고받는 메시지를 서로만 알고있는 암호키를 이용해서 캡슐화, 암호화 하여 주고받도록 한다. 이러한 VPN 을 구현하는 데에는 주로 IPsec 라는 통신 프로토콜을 이용해서 구현한다고 한다. 그리고 이렇게 두 지점 사이에 전용 통로가 뚫린것 처럼 들여다 볼 수도 없고 서로간의 직선 통로가 생기도록 하는 기법을 '터널링' 이라고 한다.

 

그런데 사설망이라는 건 퍼블릭 IP (인터넷에서 사용되는 IP 주소) 가 부여되지 않았는데 어떻게 외부 인터넷과 연결될 수가 있을까? 하는 의문이 들 수 있는데, 그건 AWS 의 GW 를 통해서 할 수 있다. AWS GW 의 라우팅 테이블에 사설망에 대한 정보가 들어 있고, VPN 을 통해서 서로 통신을 할 때에는 어떤 사설망과 연결되어있는지 정보를 저장하고 있기 때문에 인터넷상의 클라이언트나 온프레미스 환경과 사설망의 통신이 가능하게 된다

반응형