Network

터널링이란 무엇인가?

Hyogu 2025. 3. 12. 20:48
728x90

또 네트워크를 공부하다 새로운 주제인 터널링을 발견했다. 오늘은 터널링에 대해서 알아보고 공부한 내용을 정리하였다.

 

터널링이란

네트워킹에서 터널은 특정 네트워크에서 직접 지원하지 않는 프로토콜을 사용하는 데이터 패킷을, 다른 프로토콜의 패킷 안에 캡슐화하여 전송하는 기술을 의미한다. 터널링을 통해 공용 네트워크를 사용하면서도 안전하고 암호화된 통신 경로를 확보할 수 있다. 예를 들어 회사 내부에서만 사용하는 IPv6 트래픽을, 외부망(IPv4만 지원)에 캡슐화하여 안전하게 보내거나 VPN을 설정할 때 자주 사용된다.


왜 캡슐화가 유용한가

  1. 네트워크 호환성
    특정 네트워크 구간에서 지원하지 않는 프로토콜을 감싸서 전송할 수 있다. 예를 들어 IPv6 패킷을 IPv4 패킷으로 감싸면, IPv4만 지원하는 구간을 통과하면서도 실제 데이터는 IPv6 형태로 전달될 수 있다.
  2. 데이터 암호화
    패킷이 완전히 암호화되어 있으면, 중간 라우터가 목적지 정보(헤더)를 알 수 없어 전달에 문제가 생긴다. 하지만 암호화된 패킷을 또 다른 프로토콜의 "겉껍질" 안에 넣어(캡슐화) 보내면, 중간 라우터는 바깥쪽 헤더를 읽어 정상적으로 패킷을 전달하고, 내부의 암호화된 데이터는 안전하게 보호된다.

VPN 터널

VPN(Virtual Private Network)은 공유 네트워크를 통해서도 사설망처럼 안전하고 암호화된 연결을 제공한다. 여기서 터널링은 VPN 패킷이 실제 목적지에 도달하도록 중간 과정을 담당한다. 대표적으로 IPsec, SSL/TLS 등을 사용하는 VPN이 있다.

  • IPsec VPN
    네트워크 계층에서 패킷을 암호화하고, 양 끝 지점(엔드포인트)이 암호를 해독한다. 보통 사무실 간 혹은 사무실-클라우드 간 안전한 연결을 구축할 때 쓰인다.
  • 분할 터널링
    모든 트래픽이 VPN을 거치지 않고, 특정 트래픽만 VPN을 통과하도록 구성하는 방법이다. 이를 통해 VPN 트래픽 과부하나 지연을 줄이면서, 필요한 데이터만 암호화된 경로로 전송할 수 있다.

GRE 터널링

GRE(Generic Routing Encapsulation)는 여러 터널링 프로토콜 중 하나로, 한 프로토콜의 패킷을 다른 프로토콜의 패킷 안에 캡슐화한다. GRE 헤더를 추가해 원래 패킷의 정보를 보호하고, IP 헤더를 한 번 더 추가하여 바깥 라우팅에 필요한 정보를 담는다.

  1. GRE 헤더
    캡슐화된 프로토콜 유형 정보를 포함한다.
  2. IP 헤더
    GRE 패킷을 목적지까지 전달하기 위한 IP 정보를 포함한다.

GRE 터널 양 끝에 있는 라우터만이 원래의 패킷을 확인하고, 중간 라우터들은 GRE에 의해 추가된 IP 헤더 정보만을 사용해 패킷을 전달한다.


IPsec

IPsec는 안전한 네트워크 연결을 설정하기 위한 통신 규칙(프로토콜 세트)이다. IP 위에서 작동하며, 암호화와 인증을 통해 데이터가 안전하게 교환되도록 한다.

  1. 암호화
    패킷 내용을 암호화하여 중간에 도청되는 것을 방지한다.
  2. 인증
    패킷 발신자의 정당성을 확인하여 위조·변조된 패킷을 차단한다.
  3. 무결성
    패킷이 전송 중에 변조되지 않았음을 검증한다.

IPsec 데이터 교환 절차

  1. 발신 컴퓨터가 보안 정책을 확인하여 IPsec 보호가 필요한지 결정한다.
  2. 두 컴퓨터는 암호화 알고리즘, 인증 방법 등을 협상하여 보안 연결을 설정한다 (SA: Security Association).
  3. 설정된 보안 연결을 통해 암호화된 패킷을 교환한다. 수신 측은 패킷이 신뢰할 수 있는 소스에서 온 것인지 검사한다.
  4. 전송이 완료되거나 세션이 만료되면, IPsec 연결을 종료한다.

터널링 방식별 비교

1. GRE

  • 장점
    1. 구조가 간단하여 CPU 오버헤드가 상대적으로 적다.
    2. 여러 프로토콜을 IP 위에서 캡슐화할 수 있다.
    3. 비교적 쉽고 빠른 설정이 가능하다.
  • 단점
    1. 기본적으로 암호화를 포함하지 않으므로, 보안 기능을 위해서는 IPsec 등 다른 보안 프로토콜을 함께 사용해야 할 수 있다.
    2. 추가적인 GRE 헤더로 인해 전송 단위(MTU) 크기가 줄어들 수 있다.
    3. QoS나 멀티캐스트 등 특정 네트워크 기능을 제어하기 위해서는 추가 작업이 필요할 수 있다.

2. IPsec

  • 장점
    1. IP 계층에서 바로 암호화·인증을 수행하므로, 엔드투엔드 보안이 뛰어나다.
    2. VPN 솔루션으로 많이 사용되어, 방화벽이나 라우터 등 대부분의 기업 네트워크 장비에서 지원한다.
    3. 데이터 무결성·기밀성 보장, AH를 통한 인증 등 다양한 보안 옵션을 제공한다.
  • 단점
    1. 암호화·복호화 오버헤드가 상당해 CPU 사용률이 높아질 수 있다.
    2. 키 교환, SA(Security Association) 협상 과정이 필요해 설정이 복잡하다.

3. SSL VPN

  • 장점
    1. HTTPS 트래픽처럼 보이므로, 방화벽·프록시에 의해 차단될 가능성이 상대적으로 낮다.
    2. 대부분의 운영체제나 브라우저 환경에서 쉽게 클라이언트를 설정할 수 있다.
    3. 애플리케이션 기반 접근 통제가 용이하다.
  • 단점
    1. SSL/TLS 암호화도 CPU 오버헤드가 발생하며, 트래픽 양이 많을수록 부하가 커진다.
    2. 전송 계층(Transport Layer) 수준에서 터널링을 제공하므로, 완전한 L3 가상화(IPsec)에는 제한이 있다.
    3. 패킷을 TLS 세션 안에 다시 캡슐화해야 하므로, 전송 용량 문제가 발생할 수 있다.

최적화 방법

  1. MTU / MSS 설정
    터널링 시 헤더가 추가되어 실제 전송 가능한 패킷이 줄어드는 문제가 있으므로 단편화가 일어나지 않도록 MTU 값을 조정해야 한다.
    • 예: 일반 이더넷 MTU(1500바이트) 환경에서 VPN 트래픽은 1400~1450 정도로 조정해 헤더로 인한 증가분을 고려한다.
    • TCP MSS 클램핑을 통해, TCP 세션에서 패킷이 단편화되지 않도록 미리 MSS값을 제한할 수도 있다.
  2. 고가용성(HA) 구성
    터널 종단점 간 링크 장애나 장비 장애에 대비해 Active-Standby 혹은 Active-Active 이중화를 구성하면 안정적 운영이 가능하다.

참고 사항

728x90