1. GRE (Generic Routing Encapsulation)
ㅇ 서로 떨어진 네트워크 간에,
- 마치 하나의 직접 연결된 (로컬) 네트워크처럼 통신 가능케 하는,
- 대표적인 터널링 프로토콜
ㅇ 하나의 프로토콜 패킷을 다른 프로토콜 안에 캡슐화하여 라우팅 전달
- 임의의 상위 프로토콜 패킷을 IP 망을 통해 운반 가능케 함
- 즉, "프로토콜 안에 프로토콜을 넣어 전달"하는 방식
ㅇ 원래 시스코社에서 개발, 이후 IETF 표준 RFC로 일반화됨
2. GRE의 특징
ㅇ Site-to-Site 터널링에 많이 사용
- 두 라우터 간에 논리적(가상적) 터널 인터페이스를 생성
ㅇ 암호화/인증 기능 없음
- 기밀성(Confidentiality), 무결성(Integrity), 인증(Authentication) 제공 안 함
- 따라서, 보통, GRE over IPsec, IPsec over GRE 형태로 함께 사용
ㅇ 멀티 프로토콜 캡슐화 지원
- 다양한 네트워크 계층 프로토콜 운반 가능
. IPv4, IPv6, IPX, AppleTalk 등
- 경우에 따라 2계층 프레임도 운반 가능
ㅇ 원본 패킷 보존 가능
- 내부 패킷의 주소 체계/프로토콜을 그대로 유지 가능
- 사설 주소 체계 운반에도 유리
ㅇ 단순하고 범용성이 높음
- 다양한 라우팅 프로토콜(OSPF, EIGRP, RIP, BGP 등) 전달 가능
- 멀티캐스트/브로드캐스트 트래픽 전달 가능
. 이것이 IPsec 단독 터널과 비교되는 큰 장점 중 하나
ㅇ 오버헤드 증가
- GRE 헤더 + 외부 IP 헤더가 추가됨
- MTU 감소 및 단편화(Fragmentation) 가능성 존재
ㅇ 터널 양 끝단에 사전 설정 필요
- 터널 종단(Tunnel Endpoint) 라우터 간에,
- source/destination 주소, 터널 인터페이스, 라우팅 등을 사전 설정해야 함
- 즉, 2 이상의 종단 라우터 간에 가상의 시리얼 링크 인터페이스를 설정 필요
3. GRE의 동작 원리
ㅇ 원래 패킷(Inner Packet)을 GRE 헤더로 감싼 후,
- 다시 외부 IP 헤더(Outer IP Header)를 붙여 전달
. 원본 패킷 → GRE 헤더 추가 → 외부 IP 헤더 추가 → IP 네트워크 통해 전달
ㅇ 터널 종단 라우터에서는,
- 외부 IP 헤더 제거 → GRE 헤더 제거 → 원래 패킷 복원 후 전달
ㅇ 논리적으로는,
- 두 라우터 사이에 가상의 전용 회선(Point-to-Point Link)이 존재하는 것처럼 동작
. 원래 패킷에 GRE 헤더를 붙인 패킷을, 2 이상의 라우터 간에,
. 미리 설정된 가상의 링크 상으로 전달하며,
. 라우터 간에는, 단대단 HDLC 캡슐화시킨 것 처럼 취급함
4. GRE의 헤더
ㅇ GRE는 비교적 단순한 헤더 구조를 가짐
- (GRE Header = Flags + Protocol Type + Optional Fields)
ㅇ 주요 필드
- Flags/Version : 옵션 존재 여부, 체크섬 사용 여부 등 표시
- Protocol Type : 내부에 캡슐화된 프로토콜 종류 식별 (IPv4, IPv6 등)
- Checksum (선택) : 오류 검출
- Key (선택) : 터널 식별
- Sequence Number (선택) : 순서 관리
ㅇ 캡슐화 형태 : [외부 IP 헤더] + [GRE 헤더] + [원래 IP 패킷]
5. GRE의 터널링 유형
ㅇ Point-to-Point GRE : (포인트 투 포인트 터널링)
- 두 종단 간 1:1 터널
- 가장 일반적 형태
ㅇ Multipoint GRE (mGRE) : (멀티 포인트 터널링)
- 하나의 터널 인터페이스로 여러 종단 연결
- DMVPN(Dynamic Multipoint VPN)의 기반 기술
ㅇ GRE over IPsec
- GRE의 유연성과 IPsec 보안을 함께 사용
- 기업 VPN에서 매우 흔함
6. GRE의 장단점
ㅇ 장점
- 다양한 프로토콜 전달 가능
- 멀티캐스트/브로드캐스트 지원
- 라우팅 프로토콜 전달 용이
- 구현 단순
ㅇ 단점
- 자체 보안 기능 부재
- 캡슐화 오버헤드 발생
- MTU 문제 가능
- 터널 관리 복잡성 증가
7. GRE의 활용 예
ㅇ 지사 간 VPN 연결
ㅇ 동적 라우팅 프로토콜 전달
ㅇ IPv6 over IPv4 터널
ㅇ 멀티캐스트 트래픽 전달
ㅇ DMVPN 구성
ㅇ 데이터센터 간 Overlay 네트워크
8. GRE의 표준
ㅇ RFC 1701 : 초기 GRE 정의
ㅇ RFC 2784 : GRE 표준 규격
ㅇ RFC 2890 : Key, Sequence Number 확장
ㅇ RFC 9601 : GRE 관련 최신 갱신 사항 포함