Apa Itu IPv6 Neighbor Discovery?
IPv6 Neighbor Discovery (ND) adalah sekumpulan mekanisme dan pesan yang digunakan perangkat-perangkat dalam jaringan IPv6 untuk saling mengenali, berkomunikasi, dan mengkonfigurasi diri secara otomatis. Protokol ini didefinisikan dalam RFC 2461, RFC 2462, dan RFC 4861.
Di MikroTik RouterOS, dukungan IPv6 Neighbor Discovery dan stateless address autoconfiguration diimplementasikan menggunakan RADVD (Router Advertisement Daemon). RADVD bertugas secara periodik mengiklankan informasi jaringan kepada semua node yang terhubung dalam satu segmen jaringan.
Dibandingkan IPv4, IPv6 Neighbor Discovery menggantikan dan menyatukan beberapa fungsi yang sebelumnya terpisah-pisah, yaitu:
- ARP (Address Resolution Protocol) — resolusi alamat IPv4 ke MAC address.
- ICMP Router Discovery — penemuan router secara otomatis.
- ICMP Redirect — pemberitahuan jalur yang lebih baik ke tujuan tertentu.
Selain menggantikan ketiga fungsi di atas, ND juga menyediakan kemampuan tambahan seperti Duplicate Address Detection (DAD) dan Neighbor Unreachability Detection (NUD).
Node dalam Jaringan IPv6
Dalam konteks IPv6, istilah node merujuk pada perangkat apa pun yang mengimplementasikan protokol IPv6. Node dibagi menjadi dua jenis yang terpisah secara tegas — artinya sebuah perangkat tidak bisa berperan sebagai keduanya secara bersamaan:
- Router — node yang meneruskan (forward) paket IPv6 yang bukan ditujukan kepada dirinya sendiri. Router bertugas mengiklankan informasi jaringan kepada host melalui Router Advertisement.
- Host — node mana pun yang bukan router. Host menerima informasi dari router dan menggunakannya untuk mengkonfigurasi alamat IPv6-nya secara otomatis.
Stateless Address Autoconfiguration (SLAAC)
Salah satu fitur paling berguna dari IPv6 adalah kemampuan perangkat untuk mengkonfigurasi alamat IPv6-nya secara otomatis tanpa membutuhkan server DHCP. Mekanisme ini disebut Stateless Address Autoconfiguration (SLAAC) dan hanya bisa dilakukan pada interface yang mendukung multicast.
Disebut “stateless” karena router tidak perlu menyimpan informasi status tentang alamat yang telah diberikan ke setiap host — router cukup mengiklankan prefix jaringan, dan host-lah yang bertanggung jawab membentuk alamat lengkapnya sendiri.
Tiga Mode Autokonfigurasi
- Stateless — Konfigurasi alamat dilakukan berdasarkan pesan Router Advertisement (RA) yang diterima dari router. Pesan RA mengandung prefix alamat stateless. Mode ini mensyaratkan host tidak menggunakan protokol konfigurasi stateful (DHCPv6) untuk mendapatkan alamat.
- Stateful — Konfigurasi alamat dilakukan menggunakan protokol stateful, yaitu DHCPv6. Mode ini digunakan apabila pesan RA tidak menyertakan prefix alamat.
- Both (Keduanya) — Pesan RA menyertakan prefix alamat stateless sekaligus mewajibkan host untuk menggunakan protokol stateful (DHCPv6) untuk mendapatkan informasi konfigurasi tambahan di luar alamat IP.
Cara Kerja SLAAC
RouterOS menggunakan RADVD untuk secara periodik mengiklankan informasi jaringan ke semua node dalam satu link melalui paket ICMPv6 Router Advertisement. Informasi yang dikandung dalam paket RA meliputi:
- IPv6 subnet prefix — prefix jaringan yang akan digunakan host untuk membentuk alamat globalnya.
- Default router link-local address — alamat link-local router yang akan dijadikan gateway default oleh host.
- Parameter opsional — seperti link MTU, default hop limit, dan router lifetime.
Setelah menerima paket RA, host akan:
- Membaca prefix jaringan dari pesan RA.
- Menggabungkan prefix tersebut (64 bit pertama) dengan interface identifier EUI-64 yang diturunkan dari MAC address-nya sendiri (64 bit terakhir).
- Mengkonfigurasi alamat IPv6 global yang terbentuk ke interface-nya.
- Menetapkan alamat link-local router sebagai default gateway.
Host juga dapat secara aktif meminta informasi dari router dengan mengirimkan paket ICMPv6 Router Solicitation (RS), tanpa harus menunggu jadwal pengiriman RA berikutnya. Ini berguna terutama untuk perangkat mobile yang berpindah-pindah jaringan.
Catatan: Proses autokonfigurasi hanya berlaku untuk host, bukan router. Router mendapatkan konfigurasi alamatnya melalui metode yang berbeda (konfigurasi manual atau DHCPv6).
Status Alamat dalam Proses Autokonfigurasi
Ketika alamat IPv6 baru dikonfigurasi secara otomatis melalui SLAAC, alamat tersebut akan melewati beberapa status (state) berikut sebelum dapat digunakan sepenuhnya:
- Tentative (Sementara) — Status awal setelah alamat dikonfigurasi. Pada tahap ini, host sedang memverifikasi bahwa alamat tersebut benar-benar unik dalam jaringan melalui proses Duplicate Address Detection (DAD). Selama dalam status ini, host tidak dapat mengirim atau menerima paket unicast dengan alamat tersebut.
- Preferred (Disukai) — Alamat telah terbukti unik dan sepenuhnya aktif. Host dapat mengirim dan menerima traffic unicast menggunakan alamat ini. Durasi status preferred ditentukan oleh nilai preferred lifetime yang ada dalam pesan RA.
- Deprecated (Usang) — Alamat masih valid dan bisa digunakan untuk koneksi yang sudah ada, namun tidak direkomendasikan untuk koneksi baru. Status ini terjadi ketika preferred lifetime sudah habis tetapi valid lifetime belum berakhir.
- Invalid (Tidak Valid) — Alamat sudah tidak dapat digunakan sama sekali untuk mengirim maupun menerima traffic unicast. Status ini terjadi setelah valid lifetime habis sepenuhnya.
Lima Tipe Pesan Neighbor Discovery
RFC 4861 mendefinisikan lima tipe pesan yang digunakan dalam protokol Neighbor Discovery:
- Router Solicitation (RS) — Dikirim oleh host kepada router untuk meminta Router Advertisement segera, tanpa menunggu jadwal pengiriman periodik. Router yang menerima RS akan membalas dengan mengirimkan RA.
- Router Advertisement (RA) — Dikirim oleh router secara periodik (unsolicited) maupun sebagai respons terhadap RS. Berisi informasi prefix jaringan, flag konfigurasi, lifetime, MTU, dan parameter lainnya yang dibutuhkan host.
- Neighbor Solicitation (NS) — Dikirim oleh node untuk mengetahui MAC address (link-layer address) dari node lain yang diketahui alamat IPv6-nya. Fungsinya setara dengan ARP Request pada IPv4. Juga digunakan dalam proses DAD dan Neighbor Unreachability Detection.
- Neighbor Advertisement (NA) — Respons terhadap Neighbor Solicitation. Berisi MAC address dari node yang diminta. Setara dengan ARP Reply pada IPv4.
- Redirect — Dikirim oleh router untuk memberitahu host bahwa ada jalur (next-hop) yang lebih baik untuk mencapai tujuan tertentu. Bersifat opsional dan secara default dinonaktifkan di RouterOS (
redirect=no).
Penting: Di RouterOS, menambahkan interface ke menu
/ipv6 ndhanya mengaktifkan pesan dari sisi router (RS, RA, NS, dan NA untuk alamat router itu sendiri). Komunikasi NS/NA antar host ditangani secara otomatis oleh stack jaringan host dan tidak dikontrol melalui menu ND ini.
Konfigurasi Neighbor Discovery di RouterOS
Konfigurasi IPv6 Neighbor Discovery di RouterOS dilakukan melalui submenu /ipv6 nd. Berikut penjelasan lengkap setiap properti yang dapat dikonfigurasi:
Properti Interface ND
- interface — Interface tempat Neighbor Discovery dijalankan. Gunakan nilai
alluntuk menjalankan ND di semua interface yang aktif. - disabled — Menonaktifkan entri ND tanpa menghapusnya. Default:
no. - comment — Komentar deskriptif untuk memudahkan identifikasi entri.
Properti Router Advertisement (RA)
- ra-interval — Interval minimum-maksimum antar pengiriman multicast Router Advertisement yang tidak diminta (unsolicited). Format:
min-max. Default:3m20s-10m. Rentang valid: 3 detik hingga 30 menit untuk nilai maksimum. - ra-delay — Waktu minimum yang diperbolehkan antara pengiriman multicast RA dari interface. Default:
3s. Mencegah router membanjiri jaringan dengan RA. - ra-lifetime — Masa berlaku Router Advertisement. Nilai
0menunjukkan bahwa router tidak berfungsi sebagai default router. Default:30m. Jika ND dikonfigurasi otomatis oleh LTE, lifetime maksimum dibatasi 1 jam. - ra-preference — Preferensi router yang dikomunikasikan ke host melalui RA. Host menggunakan nilai ini untuk memilih router default terbaik. Pilihan:
low,medium,high. Default:medium. - advertise-mac-address — Jika diaktifkan, alamat link-layer (MAC) interface akan disertakan dalam pesan RA. Default:
yes.
Properti Konfigurasi Host
- managed-address-configuration — Flag yang memberitahu host agar menggunakan DHCPv6 (stateful autoconfiguration) untuk mendapatkan alamat IPv6. Jika
yes, host akan mencari DHCPv6 server. Default:no. - other-configuration — Flag yang memberitahu host agar menggunakan DHCPv6 untuk mendapatkan informasi konfigurasi tambahan selain alamat IP (seperti DNS server, NTP, dll.). Default:
no. - hop-limit — Nilai default yang ditempatkan pada field Hop Count di header IP untuk paket unicast keluar. Setara dengan TTL pada IPv4. Default:
unspecified(tidak dikirimkan dalam RA). - mtu — Opsi MTU dalam pesan RA untuk memastikan semua node dalam link menggunakan nilai MTU yang sama. Default:
unspecified(opsi MTU tidak dikirimkan).
Properti DNS
- advertise-dns — Opsi untuk mendistribusikan informasi DNS server melalui RADVD. Jika
yes, RA akan menyertakan alamat DNS yang terkonfigurasi di router. Jikaself, link-local address interface router akan diiklankan sebagai penyedia layanan DNS. Default:no. - dns-servers — Tentukan satu atau lebih alamat IPv6 yang akan diberikan kepada host sebagai konfigurasi DNS server. Default:
unspecified.
Properti Waktu (Timer)
- reachable-time — Durasi waktu node mengasumsikan tetangganya masih dapat dijangkau setelah menerima konfirmasi keterjangkauan. Digunakan oleh algoritma Neighbor Unreachability Detection (NUD). Default:
unspecified. - retransmit-interval — Interval antar pengiriman ulang pesan Neighbor Solicitation. Digunakan dalam proses resolusi alamat dan NUD. Default:
unspecified.
Properti NAT64
- pref64-prefixes — Tentukan satu atau lebih prefix IPv6 dalam subnet /32, /40, /48, /56, /64, atau /96 yang akan diiklankan ke host sebagai prefix NAT64. Default:
unspecified.
Pengaturan Global ND
Submenu /ipv6 nd settings menyediakan pengaturan global yang berlaku untuk semua konfigurasi Neighbor Discovery:
- router-advertisement-route-distance — Menentukan nilai distance (jarak administratif) yang digunakan saat router memasang rute default SLAAC ke tabel routing. Default:
0. - router-advertisement-ignored-options — Memungkinkan router mengabaikan opsi tertentu yang diterima dalam pesan RA dari router lain. Opsi yang bisa diabaikan:
mtudandns. Berguna untuk menghindari konflik konfigurasi dalam lingkungan multi-router.
Konfigurasi Prefix ND
Informasi prefix yang dikirimkan dalam pesan RA untuk keperluan stateless address autoconfiguration dikelola melalui submenu /ipv6 nd prefix.
Properti Prefix
- prefix — Prefix IPv6 yang akan digunakan host untuk menghasilkan alamat melalui SLAAC. Format:
prefix/length. Default:::/64. Jika diisinone, hanya opsi yang akan diiklankan tanpa menyertakan prefix spesifik. - interface — Interface tempat stateless autoconfiguration akan berjalan.
- autonomous — Jika
yes, menandakan prefix ini dapat digunakan untuk autonomous address configuration (SLAAC). Jikano, informasi prefix diabaikan oleh host. Default:yes. - on-link — Jika
yes, menandakan prefix ini dapat digunakan untuk menentukan apakah tujuan berada dalam satu link (on-link determination). Default:yes. - valid-lifetime — Durasi waktu alamat yang dihasilkan dari prefix ini berada dalam status valid. Harus lebih besar atau sama dengan preferred-lifetime. Default:
4w2d(30 hari 2 hari = 32 hari). Dapat diset keinfinityuntuk alamat yang tidak pernah kedaluwarsa. - preferred-lifetime — Durasi waktu setelah alamat berstatus “preferred” berakhir dan menjadi “deprecated”. Alamat deprecated masih dapat digunakan untuk koneksi yang sudah ada, tetapi tidak untuk koneksi baru. Default:
1w(7 hari). - 6to4-interface — Jika diisi, prefix akan dikombinasikan dengan alamat IPv4 dari interface yang ditentukan untuk menghasilkan prefix 6to4 yang valid. 16 bit pertama prefix akan diganti dengan
2002dan 32 bit berikutnya diganti dengan alamat IPv4 interface tersebut. - disabled — Menonaktifkan entri prefix tanpa menghapusnya. Default:
no.
ND Proxy
ND Proxy adalah mekanisme dalam IPv6 yang memungkinkan router atau host untuk merespons pesan Neighbor Discovery atas nama node lain. Ini berguna untuk memungkinkan komunikasi antar segmen jaringan yang berbeda seolah-olah mereka berada dalam satu link yang sama.
Di RouterOS, ND Proxy dikonfigurasi melalui submenu /ipv6 nd proxy dan bekerja per-interface untuk alamat IPv6 tunggal yang spesifik.
Properti ND Proxy
- address — Alamat IPv6 yang akan “dimiliki” dan direspons oleh proxy. Router akan menjawab NS yang ditujukan ke alamat ini atas nama node lain.
- interface — Interface tempat proxy untuk alamat IPv6 tersebut akan bekerja.
- disabled — Menonaktifkan entri proxy tanpa menghapusnya. Default:
no. - comment — Komentar deskriptif untuk memudahkan identifikasi.
Neighbor Cache (Daftar Tetangga)
RouterOS menyimpan daftar semua node yang telah ditemukan melalui protokol IPv6 Neighbor Discovery dalam sebuah tabel yang disebut neighbor cache. Tabel ini dapat diakses dan dikelola melalui submenu /ipv6 neighbor.
Menambahkan Entri Manual
Selain entri yang dibuat secara dinamis oleh protokol ND, administrator dapat menambahkan entri secara manual dengan properti berikut:
- address — Alamat IPv6 dari tetangga yang ingin ditambahkan.
- interface — Interface tempat tetangga ini terhubung.
- mac-address — MAC address perangkat yang ditambahkan.
Status Entri Neighbor Cache
Setiap entri dalam neighbor cache memiliki status yang menunjukkan kondisi keterjangkauan tetangga tersebut. Berikut penjelasan setiap status:
- noarp — Entri tetangga valid dan tidak akan dicoba divalidasi ulang. Entri ini bisa dihapus ketika masa berlakunya habis.
- incomplete — Proses resolusi alamat sedang berlangsung. Alamat link-layer (MAC address) tetangga belum diketahui. Router sedang mengirimkan Neighbor Solicitation dan menunggu respons.
- reachable — Tetangga diketahui dapat dijangkau baru-baru ini (dalam beberapa puluh detik terakhir). Ini adalah status normal dan sehat.
- stale — Tetangga tidak lagi diketahui dapat dijangkau, namun belum ada upaya verifikasi ulang. Status ini berlaku selama belum ada traffic yang dikirim ke tetangga tersebut.
- delay — Tetangga tidak lagi diketahui dapat dijangkau, dan traffic baru saja dikirim ke tetangga tersebut. Probe keterjangkauan ditunda sebentar untuk memberi kesempatan kepada protokol layer atas (seperti TCP) untuk mengkonfirmasi keterjangkauan.
- probe — Tetangga tidak lagi diketahui dapat dijangkau, dan router sedang mengirimkan Neighbor Solicitation unicast untuk memverifikasi keterjangkauannya.
- failed — Router gagal menemukan MAC address tetangga menggunakan protokol Neighbor Discovery. Komunikasi ke tetangga ini tidak mungkin dilakukan.
Catatan Kapasitas: Jumlah maksimum entri neighbor cache secara default bergantung pada jumlah RAM yang terpasang di router. Nilai ini dapat disesuaikan menggunakan perintah
/ipv6 settings set max-neighbor-entries=x. Lihat dokumentasi IPv6 Settings untuk detail lebih lanjut.
Contoh Konfigurasi: Stateless Autoconfiguration
Berikut ini contoh lengkap implementasi SLAAC di MikroTik RouterOS dan bagaimana hasilnya terlihat di sisi host (Linux).
Langkah 1: Konfigurasi IPv6 Address di Router
Pastikan alamat IPv6 pada router sudah dikonfigurasi dengan flag advertise=yes:
[admin@MikroTik] > ipv6 address print
Flags: X-disabled, I-invalid, D-dynamic, G-global, L-link-local
# ADDRESS INTERFACE ADVERTISE
0 G 2001:db8::1/64 ether1 yes
Ketika flag advertise diaktifkan, RouterOS secara otomatis membuat entri dinamis di tabel /ipv6 nd prefix:
[admin@MikroTik] > ipv6 nd prefix print
Flags: X-disabled, I-invalid, D-dynamic
0 D prefix=2001:db8::/64 interface=ether1 on-link=yes autonomous=yes
valid-lifetime=4w2d preferred-lifetime=1w
Langkah 2: Hasil di Sisi Host Linux
Pada host Linux yang terhubung langsung ke router, periksa alamat IPv6 yang telah dikonfigurasi secara otomatis:
atis@atis-desktop:~$ ip -6 addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2001:db8::21a:4dff:fe56:1f4d/64 scope global dynamic
valid_lft 2588363sec preferred_lft 601163sec
inet6 fe80::21a:4dff:fe56:1f4d/64 scope link
valid_lft forever preferred_lft forever
Host menerima prefix 2001:db8::/64 dari router dan secara otomatis membentuk alamat global 2001:db8::21a:4dff:fe56:1f4d/64 dengan menggabungkan prefix tersebut dengan interface identifier EUI-64 yang diturunkan dari MAC address-nya.
Langkah 3: Mengiklankan DNS Server via RADVD
RouterOS juga dapat mendistribusikan informasi DNS server kepada host melalui RA. Caranya:
[admin@MikroTik] > ip dns set server=2001:db8::2
[admin@MikroTik] > ipv6 nd set [find] advertise-dns=yes
Di sisi host Linux, install paket rdnssd untuk dapat menerima dan menggunakan informasi DNS dari RA:
$ sudo apt-get install rdnssd
Setelah paket terinstal dan daemon berjalan, file /etc/resolv.conf akan otomatis diperbarui dengan DNS server yang diiklankan oleh router:
$ cat /etc/resolv.conf
# Generated by resolvconf
nameserver 2001:db8::2
Dengan begitu, host sudah bisa melakukan resolusi nama menggunakan DNS server IPv6 tersebut:
$ ping6 www.mikrotik.com
PING www.mikrotik.com(2a02:610:7501:1000::2) 56 data bytes
64 bytes from 2a02:610:7501:1000::2: icmp_seq=1 ttl=61 time=2.11 ms
64 bytes from 2a02:610:7501:1000::2: icmp_seq=2 ttl=61 time=1.33 ms
2 packets transmitted, 2 received, 0% packet loss
Kesimpulan
IPv6 Neighbor Discovery adalah tulang punggung jaringan IPv6 yang menggantikan dan menyempurnakan beberapa protokol IPv4 sekaligus. Berikut rangkuman poin-poin kunci:
- ND menggabungkan fungsi ARP, ICMP Router Discovery, dan ICMP Redirect dalam satu protokol yang lebih terstruktur dan efisien.
- SLAAC memungkinkan host mengkonfigurasi alamat IPv6 secara otomatis tanpa DHCP server, cukup dari informasi prefix yang diiklankan router melalui Router Advertisement.
- Alamat yang dikonfigurasi melalui SLAAC melewati empat status: tentative → preferred → deprecated → invalid.
- Lima pesan utama ND: RS, RA, NS, NA, dan Redirect — masing-masing memiliki peran spesifik dalam ekosistem jaringan IPv6.
- Di RouterOS, konfigurasi ND dilakukan melalui
/ipv6 nd(pengaturan interface),/ipv6 nd prefix(informasi prefix untuk SLAAC),/ipv6 nd proxy(proxy ND), dan/ipv6 neighbor(neighbor cache). - RouterOS juga mendukung distribusi informasi DNS server melalui RADVD, sehingga host bisa mendapatkan konfigurasi DNS secara otomatis bersama alamat IPv6-nya.