Apa itu Generic Routing Encapsulation (GRE)?

Generic Routing Encapsulation (GRE) adalah sebuah protokol yang digunakan untuk membungkus paket data agar bisa merutekan berbagai jenis protokol melalui jaringan Internet Protocol (IP). GRE dijelaskan secara formal dalam dokumen Internet RFC 2784. GRE awalnya dikembangkan sebagai alat tunneling yang bisa membawa protokol layer 3 (OSI) apapun di atas jaringan IP. Intinya, GRE menciptakan koneksi point-to-point pribadi, mirip seperti VPN.

Protokol GRE bekerja dengan cara membungkus (encapsulating) paket data ke dalam paket lain. Ini menciptakan semacam tunnel atau terowongan antar dua router dan membentuk koneksi langsung antara dua jaringan IP atau protokol yang berbeda. Tunneling semacam ini mempermudah komunikasi antar jaringan tersebut.

Misalnya, kamu ingin menghubungkan dua jaringan atau LAN. Satu jaringan pakai protokol IPv6, sementara jaringan lainnya masih pakai IPv4. Tanpa GRE, komunikasi antara dua jaringan itu tidak bisa terjadi. Tapi dengan GRE, paket IPv6 bisa dibungkus dalam paket IPv4, lalu dikirim melalui jaringan IPv4 tanpa masalah.

Kenapa perlu pakai Generic Routing Encapsulation?

GRE tunneling berguna kalau kamu perlu membangun koneksi langsung antar jaringan yang berbeda protokol—contohnya di perusahaan besar yang punya banyak unit bisnis dengan jaringan sendiri-sendiri. Dengan encapsulation dan pembuatan tunnel GRE, dua router dari jaringan berbeda bisa seolah-olah terhubung langsung, memungkinkan pertukaran data yang tadinya tidak mungkin terjadi.

Bagaimana cara kerja Generic Routing Encapsulation?

GRE bekerja dengan cara membungkus payload (yaitu paket inti yang ingin dikirim) ke dalam paket IP luar. Endpoint GRE akan mengirim payload ini melalui jaringan IP yang ada, dan router-router di tengah hanya akan membaca bagian luar dari paket tersebut tanpa menyentuh isinya. Begitu sampai di ujung tunnel, encapsulation GRE dihapus dan payload asli diteruskan ke tujuan akhirnya.

Encapsulation ini terjadi antara dua router yang sudah dikonfigurasi sebagai endpoint GRE. Router pengirim akan mengenkripsi header GRE, dan router penerima akan mendekripsinya. Sepanjang perjalanan, paket tetap dalam bentuk terenkripsi hingga akhirnya dibuka oleh router penerima dan diteruskan ke tujuannya.

Router-router lain yang tidak dikonfigurasi dengan GRE akan tetap meneruskan paket berdasarkan header-nya, tanpa perlu membuka atau membaca isinya. Tugas membuka paket hanya ada di router penerima.

Paket dan header dalam GRE

Dalam jaringan, paket adalah satuan data yang dikirim dari sumber ke tujuan. Setiap paket terdiri dari dua bagian: payload (isi) dan informasi kontrol. Informasi kontrol ini ada dalam bagian header, yang berisi alamat sumber dan tujuan, serta urutan pengiriman.

Sebelum GRE tunnel dibuat, paket asli hanya punya satu header IP (20 byte). Tapi setelah tunneling, paket akan punya dua header IP. GRE akan menambahkan header tambahan sebesar 4 byte, yang menjelaskan jenis protokol dan informasi lain seperti alamat sumber/destinasi, nomor urutan, dan ID protokol.

Dengan dua header ini, paket bisa dikirim dari router sumber ke router tujuan. Setelah sampai, router penerima akan membuka encapsulation dan mengarahkan paket ke tempat tujuan sesuai isi header-nya.

Generic Routing Encapsulation (GRE) diagram.
Header GRE ditambahkan ke paket yang akan dikirimkan.

Fitur-fitur dari Generic Routing Encapsulation

Fitur utama GRE adalah kemampuannya untuk membungkus satu paket data ke dalam paket lainnya, sehingga memungkinkan pertukaran data antara jaringan yang protokolnya tidak kompatibel. GRE juga fleksibel karena bisa digunakan dengan banyak protokol Layer 3 seperti IP, IPX, dan DECnet. Jadi, satu tunnel GRE bisa membawa berbagai jenis lalu lintas data ke tujuan akhirnya.

GRE tunnel juga bersifat stateless, artinya router GRE tidak menyimpan informasi status dari router penerima. Karena itu, router pengirim tidak bisa tahu apakah router penerima sedang aktif atau tidak. Akibatnya, tunnel tetap dianggap “hidup” meskipun ujung lainnya sedang tidak bisa dijangkau.

Kelebihan dan kekurangan dari GRE

Dengan GRE tunnel, protokol yang tidak didukung jaringan bisa tetap digunakan. Ini memungkinkan komunikasi antara jaringan dan sub-jaringan yang berbeda. Tambahan header GRE juga membantu memastikan bahwa paket sampai ke tujuan.

Berbeda dari IP-to-IP tunneling biasa, GRE mendukung pengiriman multicast dan lalu lintas IPv6. Selain itu, karena sifatnya stateless, koneksi tetap terbuka meskipun ujung tunnel sedang tidak aktif.

Kelebihan lain dari GRE:

  • Bisa mengangkut banyak protokol di atas backbone satu protokol.
  • Memberikan solusi untuk jaringan yang punya batasan jumlah hop.
  • Menghubungkan sub-jaringan yang terpisah.
  • Membantu VPN beroperasi di atas jaringan WAN.

Kekurangan utama dari GRE adalah kurangnya keamanan. Protokol ini tidak menggunakan enkripsi seperti yang dimiliki oleh IPsec (IP Security) dalam Encapsulating Security Payload, yang dijelaskan di RFC 2406. Karena tidak dienkripsi secara default, GRE bisa disalahgunakan untuk serangan seperti DDoS. Misalnya, penyerang siber bisa membuat botnet, mengendalikannya lewat GRE, lalu membanjiri jaringan dengan trafik sampah. Untuk mencegah hal ini, disarankan untuk mengaktifkan otentikasi dan enkripsi pada tunnel GRE.

Pelajari juga perbedaan antara GRE dan IPsec tunnel, serta cara kerja arsitektur network functions virtualization (NFV).

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *