❓문제
GRE(Generic Routing Encapsulation)에 대해 설명하시오.
✅답안
1. 개념 (Concept)
GRE(Generic Routing Encapsulation)은 IP 패킷을 다른 IP 패킷 안에 캡슐화(encapsulation)하여 논리적인 점대점 터널(Point-to-Point Tunnel)을 구성하는 L3 터널링 프로토콜이다.
즉, 원래의 IP 패킷에 새로운 IP 헤더를 씌워서 원격지로 전달하는 방식으로, 다양한 프로토콜을 IP망을 통해 전송할 수 있게 해준다.
2. 등장배경 & 목적 (Background & Purpose)
■ 등장배경
- 다양한 프로토콜(IPX, AppleTalk 등)을 IP 네트워크 위에서 전송하려는 요구
- 사설 네트워크 간 통신을 위해 공용망(인터넷) 상에 가상 전용 회선(VPN) 구성 필요
■ 목적
- 프로토콜 독립적인 터널링 제공
- IP 기반 통신망을 활용하여 이기종 네트워크 연결
- VPN, 멀티캐스트, IPv6 over IPv4 등 다양한 시나리오 지원
3. 역할 (Roles)
역할 | 설명 |
---|
캡슐화 | 원본 패킷에 GRE 헤더 및 외부 IP 헤더 추가 |
터널링 | 논리적인 점대점 터널을 통해 원격 네트워크 연결 |
프로토콜 투명성 | 다양한 네트워크 계층 프로토콜을 IP 기반으로 전달 |
전송 매체 추상화 | 중간 네트워크의 종류와 무관하게 종단 간 통신 가능 |
4. 활용 계층 또는 범위 (Scope)
- OSI 3계층(Network Layer)에서 동작
- IP over IP, IPv6 over IPv4, 멀티캐스트 전달, VPN 터널 구축 등에 사용
- 클라우드 네트워크에서 Overlay Network 구성 시 사용
(예: OpenStack Neutron, Kubernetes CNI)
5. 구성요소 (Components)
구성요소 | 설명 |
---|
GRE 헤더 | 캡슐화된 정보 구조, 기본 4바이트, 옵션 포함 시 최대 12바이트 이상 |
전송 IP 헤더 | 외부 전송용 IP 헤더, 송수신 터널 끝단의 주소 포함 |
원본 패킷 | 내부의 실제 전송하려는 데이터 패킷 |
6. 시간순 작동 순서 (Operation Sequence)
- 송신자가 IP 패킷 생성
- GRE 터널 엔드포인트에서 GRE 헤더 및 외부 IP 헤더 추가
- 캡슐화된 패킷이 인터넷 또는 IP 기반 네트워크를 통해 전달
- 수신 터널 엔드포인트에서 IP 및 GRE 헤더 제거
- 원본 패킷만 추출하여 최종 목적지로 전송
7. 종류 (Types)
종류 | 설명 |
---|
Point-to-Point GRE | 가장 일반적인 GRE 터널 구성 방식 |
Multipoint GRE (mGRE) | 한 터널 인터페이스에서 여러 대상과 연결 가능 (DMVPN에서 사용) |
IPSec + GRE | GRE로 터널 구성 후, IPSec으로 암호화 보안 추가 |
8. 장단점 (Pros & Cons)
✅ 장점
- 프로토콜 독립적 전송 (IPX, IPv6 등 다양한 프로토콜 전달 가능)
- 구성이 단순함 (IP 기반 환경이면 어디서든 구성 가능)
- VPN 기반 구축 시 유연성 확보
- 멀티캐스트 패킷 전송 가능 (IPSec 단독으로는 불가)
❌ 단점
- 암호화 기능 없음 → 보안 요구 시 IPSec 연계 필요
- 오버헤드 증가 (GRE + IP 헤더 추가로 MTU 감소)
- 라우팅 복잡성 증가 (경우에 따라 경로 루프 발생 가능)
- 신뢰성 보장 없음 (TCP/UDP 포트 미사용, 재전송 등 기능 없음)
9. 전망 및 개선점 (Future & Improvement)
🔮 전망
- GRE는 현재도 Overlay 네트워크, SD-WAN, VPN 구성에 널리 사용
- VXLAN, Geneve, LISP 등 차세대 캡슐화 프로토콜에 밀려 사용은 점차 감소 중이나,
여전히 간단하고 범용적인 터널링 방법으로 활용됨
🛠 개선점
- 보안 강화를 위해 IPSec 통합 사용 필수
- GRE 패킷 모니터링, 트래픽 경로 최적화 등 운영 도구 필요
- MTU 이슈 해결 위한 경량 캡슐화 방식 연구 필요
10. 어린이 버전 요약 (For Kids 🧒)
GRE는 택배 상자를 하나 더 씌워서 보내는 방법이야.
안에 편지를 넣고, 밖에 새로운 주소를 붙여서 다른 사람 집에 먼저 보내.
거기서 다시 꺼내서 원래 편지를 진짜 받는 사람에게 전달하는 거야!
보안은 없지만, 다양한 모양의 편지를 택배 상자에 넣어 보낼 수 있는 게 장점이지!
[내부 패킷] → [GRE 헤더] → [외부 IP 헤더] → 인터넷 → 수신지 → 원래 패킷 추출