Tampilkan postingan dengan label IPv6. Tampilkan semua postingan
Tampilkan postingan dengan label IPv6. Tampilkan semua postingan

Senin, 02 Juli 2012

Mekanisme Configured Tunneling


Tunneling menyediakan sebuah cara untuk memanfaatkan infrastruktur routing IPv4 yang telah ada untuk membawa traffic IPv6. Host dan router IPv6/IPv4 dapat mengirimkan datagram IPv6 melalui topologi routing IPv4 dengan mengenkapsulasi datagram IPv6 tersebut kedalam paket IPv4. Tunneling dapat digunakan dalam berbagai macam cara:
  • Router-to-Router: Router IPv6/IPv4 yang saling terhubung oleh sebuah infrastruktur IPv4 dapat menggunakan tunnel untuk melewatkan paket IPv6 diantara mereka. Dalam hal ini, tunnel merupakan satu segmen jaringan dari end-to-end jalur yang dilalui oleh paket IPv6.
  • Host-to-Router: Host IPv6/IPv4 dapat men-tunnel paket IPv6 ke sebuah intermediary router IPv6/IPv4 yang dapat dicapai melalui sebuah infrastruktur IPv4.
  • Host-to-Host: Host IPv6/IPv4 yang terhubung melalui sebuah infrastruktur IPv4 dapat men-tunnel paket IPv6 diantara keduanya.
  • Router-to-Host: Router IPv6/IPv4 dapat men-tunnel paket IPv4 ke tujuan host IPv6/IPv4. Tunnel ini berada pada segmen terakhir dari jalur.
Configured Tunneling dapat digunakan pada semua kondisi diatas tetapi kebanyakan digunakan pada Router-to-Router karena membutuhkan konfigurasi secara eksplisit terhadap tunneling endpoint.
Mekanisme yang menjadi pokok dari tunneling adalah
    • Bagian dimana paket IPv6 memasuki tunnel (entry node [encapsulator]) membuat sebuah header IPv4 yang mengenkapsulasi paket dan mengirimkannya.
    • Bagian ujung dari tunnel (exit node [decapsulator]) menerima paket yang terenkapsulasi tersebut kemudian menyusun kembali paket tersebut bila diperlukan, menghapus header IPv4, lalu memproses paket IPv6 yang diterima.
    • Encapsulator dapat mungkin perlu memelihara soft-state information dari setiap tunnel seperti parameter sebagai MTU tunnel untuk memproses paket IPv6 yang diteruskan kedalam tunnel.
Enkapsulasi
Enkapsulasi dari sebuah datagram IPv6 didalam IPv4 adalah sebagai berikut


Gambar Peng-engkapsulasi-an datagram IPv6 dalam IPv4 (Sumber: Nordmark et al, 2005)


Dekapsulasi
Saat sebuah host atau router IPv6/IPv4 menerima sebuah datagram IPv4 yang ditujukan ke alamat IPv4 node tersebut atau ke sebuah alamat multicast dan field Protocol pada paket tersebut bernilai 41 maka sangat mungkin itu merupakan sebuah tunnel packet dan perlu diverifikasi apakah termasuk pada salah satu dari tunnel yang telah dikonfigurasi dengan memeriksa alamat sumber/tujuan, menyusun kembali (reassembly) apabila terfragmentasi, dan menghapus header IPv4. Decapsulator harus memastikan keabsahan alamat sumber tunnel sebelum memproses paket lebih jauh untuk mengurangi masalah dengan address spoofing. Pengecekan ini juga berlaku terhadap paket yang diarahkan kepada protokol transport dari decapsulator. Paket dengan alamat IPv4 sumber yang tidak sesuai harus dibuang dan decapsulator menciptakan pesan kesalahan ICMP. Efek samping dari verifikasi alamat ini adalah node akan membuang secara diam-diam paket dengan alamat sumber yang salah serta paket yang diterima oleh node tetapi tidak ditujukan secara langsung kepadanya (contohnya paket ke alamat broadcast).
Decapsulator harus memiliki IPv6 MRU paling kurang 1500 byte pada tunnel interface dan MTU IPv6 terbesar pada interface IPv6. Decapsulator juga harus dapat menyusun kembali (reassembly) paket IPv4 yang sesudah disusun kembali, maksimum berukuran 1500 byte. Jumlah 1500 byte merupakan dihasilkan oleh encapsulator yang menggunakan skema MTU statis, sedangkan untuk encapsulator yang menggunakan skema MTU dinamis dapat menyebabkan ukuran paket melebihi MTU terbesar pada interface decapsulator. Batasan terhadap reassembly ini membuat penentuan MTU tunnel secara dinamis oleh encapsulator dapat memanfaatkan MTU jalur IPv4 yang lebih besar. Decapsulator menyusun ulang paket IPv4 sebelum melakukan dekapsulasi. Dekapsulasi ditunjukkan sebagai berikut


Gambar Pendekapsulasian IPv6 dari IPv4 (Sumber: Nordmark et al, 2005)

Setelah melakukan dekapsulasi, decapsulator harus menghapus paket dengan alamat IPv6 sumber yang tidak valid yakni:
  • Alamat multicast (FF00::/8)
  • Alamat loopback (::1)
  • IPv4-compatible IPv6 Address (::/96).
  • Seluruh IPv4-mapped IPv6 address (::ffff:0:0/96)
Secara logis, maka prosedur tunneling dapat menggunakan beberapa algoritma. Pada dasarnya teknik tunneling dapat digunakan untuk implementasi pada arsitektur jaringan yang memiliki IPv4 dan IPv6.

Selasa, 26 Juni 2012

Implementasi IPv6 pada OS LINUX

Tentu saja, sistem operasi LINUX telah support IPv6. Sebut saja RedHat, PLD, SUse, Mandrake dan Debian. Kernel sebagai bagian inti OS Linux.

Kita dapat mengetik perintah dibawah ini untuk mengecek apakah Kernel kita sudah mendukung IPv6:
# test -f /prot/net/if_inet6 echo "IPv6 sudah siap"
atau kita dapat melihat apakah pada direktori/proc sudah terdapat file: 
/proc/net/if_inet6


Jika, melakukan kedua prosedur diatas, masih juga mengalami kegagalan,. maka kemungkinan yang ada adalah IPv6 masih berbentuk modul dan perlu dipanggil terlebih dahulu. Nah, pemanggilan modul IPv6 dapat dilakukan dengan cara: "modprobe ipv6". Apabila perintah tersebut sukses dieksekusi, maka modul IPv6 akan tampak di daftar modul kernel.


Untuk mengecek apakah modul IPv6 sudah terpanggil dapat dengan cara:
# modprobe ipv6
# 1smod | grep -w 'ipv6' && echo "IPv6 modul sukses"


Apabila tampil pernyataan "sukses" di monitor anda, ini berarti IPv6 sudah siap.


Untuk dapat meload kernel modul IPv6 secara otomatis dapat dilakukan dengan menambahkan konfigurasi di file /etc/modules.conf, berupa:
/etc/modules.conf
alias net-pf-10 ipv6 #automatically load IPv6 module on demand


Apabila prosedur-prosedur diatas masih belum berhasil, berarti dapat dipastikan bahwa kernel mesin OS anda masih belum mendukung IPv6. Ini berarti memerlukan kompilasi ulang kernel. Kompilasi ulang kernel dapat dilakukan dengan:
1. Mengunduh source kernel dari http://.kernel.org versi stable.
2. Extrak file kernel yang diunduh tersebut di direktori /usr/src dengan perintah:
# tar -jxvf Linux-2.4.18.tar.bz2 -C /usr/srt
3. Jalankan "make menuconfig" untuk memulai konfigurasi atas kernel.
4. Konfigurasi yang perlu diperhatikan untuk dapat mendukung IPv6 diantaranya adalah:

CONFIG_EXPERIMENTAL=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK_DEV=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_LARGE_TABLES=y
CONFIG_IP_PNP=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_ARPD=y
CONFIG_INET_ECN=y
CONFIG_SYN_COOKIES=y
CONFIG_IPV6=y
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_LIMIT=m
CONFIG_IP6_NF_MATCH_MAC=m
CONFIG_IP6_NF_MATCH_MULTIPORT=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_MARK=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_MARK=m

5. Konfigurasi kernel yang lainnya disesuaikan dengan kondisi hardware dan kemampuan dari linux box tersebut.
6. Untuk memulai kompilasi jalankan perintah:
# make dep
#make bssImage atau # make install
#make modules modules_install
7. Re-start mesin Linux tersebut
8. Kemudian lakukan prosedur checking apakah kernel sudah mendukung IPv6, dengan menulis perintah:
# dmesg | grep IPv6

Apabila nampak keluaran seperti dibawah ini, berarti kernel sudah mendukung IPv6
IPv6 v.08 for NET4.0
IPv6 over IPv4 tunneling driver









Protokol Routing pada IPv6


Protokol Routing pada IPv6
Protokol routing yang digunakan pad a IPv6 terbagi atas external routing dan internal routing. Untuk external routing digunakan BGP4+ sedangkan OSPFv6 dan RIPng untuk internal routing.

1) BGP4+
Border Gateway Protokol adalah routing protokol yang memakai system autonomous. Fungsi utama dari BGP adalah untuk saling tukar-menukar informasi konektivitas jaringan antar BGP sistem. Informasi konektifitas ini antara lain adalah daftar dari Autonomous System (ASs). Informasi ini digunakan untuk membuat daftar routing sehingga terjadi suatu koneksi.
BGP4 mampu melakukan suatu advertaisement dan IP-prefix serta menghilangkan keterbatasan tentang network class. BGP memakai pola Hop-by-Hop yang artinya hanya meggunakan jalur yang berikutnya yang terdaftar dalam Autonomous System.
BGP menggunakan TCP sebagai media transport. BGP menggunakan port 179 untuk koneksi BGP. BGP mendukung CIDR.


Gambar Model BGP
BGP mampu mempelajari jalur internet malalui internal atau eksternal BGP dan dapat memilih jalur terbaik dan memasukkannya dalam ip forwarding.
BGP dapat digunakan pada dual maupun multi-homed, dengan syarat memiliki nilai AS. BGP tidak dapat digunakan pada single-homed.

Type dari BGP:
OPEN, tipe pesan yang diterima sewaktu koneksi antar BGP tersambungkan. 
UPDATE, tipe pesan yang dikirimkan untuk mengirimkan informasi routing antar BGP.
KEEPALIVE, tipe pesan yang dikirimkan untuk mengetahui apakah pasangan BGP masih hidup
NOTIFICATION, tipe pesan yang dikirimkan apabila terjadi error.

Atribut yang dimiliki oleh BGP:
AS_path, adalah jalur yang dilalui dan dicatat dalam data BGP route, dan dapat mendeteksi loop.
Next_Hop, adalah jalur berikutnya yang akan dilalui dalam routing BGP, biasanya adalah local network dalam eBGP. Selain itu bisa didapat dari iBGP.
Local Preference, penanda untuk AS BGP local
Multi-Exit Discriminator (MED), bersifat non-transitif digunakan apabila memiliki eBGP yang lebih dari 1.
Community, adalah sekumpulan BGP yang berada dalam satu AS.
Perbandingan BGP-4  antara yang digunakan untuk IPv4 dan IPv6 adalah kemampuan dari BGP yang dapat mengenali scope dari IPv6, yaitu global, site-local, link-local. Apabila IPv6 masih menggunakan IPv4 sebagai transport maka alamat peer pada BGP yang lainnya harus diikutkan pada konfigurasi.

2.) RIPng 
Routing Information Protocol Next Generation adalah protokol routing yang berdasarkan protokol routing RIP di IPv4 yang sudah mendukung IPv6. RIPng ini digunakan untuk internal routing protokol dan menggunakan protokol UDP sebagai transport. RIPng ini menggunakan port 521 sebagai komunikasi antar RIPng.

Metode yang dipakai RIPng adalah distance vector (vektor jarak), yaitu:
1. Jarak local network dihitung 0
2. Kemudian mencari neighbour sekitar dan dihitung jaraknya dan cost.
3. Dibandingkan jarak dan cost antar neighbour. 
4. Dilakukan perhitungan secara kontinue.
5. Menggunakan algoritma Ballman-Ford.

Command pada RIPng Header berisi:
1 Request, meminta daftar tabel routing pada RIPng yang lain
2 Response, membalas request dari RIPng yang lain dan memberikan daftar routing.

Protokol RIPng ini memiliki beberapa kelemahan
1. Hanya bisa sampai 15 HOP
2. Lambat dalam memproses routing, dikarena melakukan pengecekan terus menerus
3. Bersifat Classful

Perbedaan yang terjadi antara RIP pada IPv4 (RIPv2) dan IPv6 (RIPng)  adalah port UDP dimana pada IPv4 menggunakan port 520 sedangkan IPv6 menggunakan port 521 sebagai media transpor. RIPng hanya memiliki 2 perintah yaitu response dan request, berbeda dengan RIPv2 yang memiliki banyak perintah dan banyak yang tidak terpakai dan ada yang dibuang pada RIPng seperti authentifikasi. Perubahan yang terjadi dari RIPv2 ke RIPng antara lain, ukuran routing yang tidak lagi dibatasi, subnet IPv4 digantikan dengan prefix IPv6, next-hop dihilangkan tetapi kegunaannya tidak dihilangkan, authentifikasi dihilangkan, namun kemampuan yang hanya sampai 15 hop masih sama.

3) OSPFv3
Open Shortest Path First adalah routing protokol yang digunakan pada IPv6. OSPF ini berdasarkan atas Link-state dan bukan berdasarkan atas jarak. Setiap node dari OSPF mengumpulkan data state dan mengumpulkan pada Link State Packet. 
LSP dibroadcast pada setiap node untuk mencapai keseluruhan network. Setelah seluruh network memiliki “map” hasil dari informasi LSP dan dijadikan dasar link-state dari OSPF. Kemudian setiap OSPF akan melakukan pencarian dengan metode SPF (Shortest Path First) untuk menemukan jarak yang lebih efisien.
Routing table yang dihasilkan berdasarkan atas informasi LSP yang didapat sehingga OSPF memberikan informasi LSP secara flood, karena OSPF sudah memiliki kemampuan untuk memilih informasi LSP yang sama maka flood ini tidak mengakibat exhousted.

OSPF ini menggunakan protokol TCP bukan UDP, mendukung VLSM (Variable Length Subnet Mask).

OSPF menggunakan algoritma Shortest Path First (SPF) oleh Dijkstra, yaitu:
1. Diasumsikan sudah ada data table sebelumnya. Data yang diperlukan antara lain PATH (ID, path cost, arah forwarding ) TENTATIVE (ID, path cost, arah forwarding), Forwarding database.
2. Taruh local sebagai root dari tree dengna ID,0,0 pada PATH.
3. Temukan link N dan taruh di PATH. Hitung jarak Root-N dan N-M, apabila M belum terdapat di PATH atau TENTATIVE, apabila nilainya lebih baik taruh di TENTATIVE.
4. Apabila TENTATIVE bernilai kosong , batalkan. Lainnya, masukkan nilai TENTATIVE ke PATH.

Transmisi Paket IPv6 melalui Ethernet


Transmisi Paket IPv6 melalui Ethernet 
1. MTU (maximum Transmission Unit)
Ukuran MTU secara default untuk paket IPv6 pada ethernet adalah 1500 oktet. Ukuran ini mungkin dikurangi oleh router advertisement yang berisi pilihan MTU yang menspesifikasikan MTU yang lebih kecil, atau oleh konfigurasi manual setiap node nya. Jika router advertisement diterima pada interface yang mempunyai pilihan MTU yang menspesifikasikan MTU lebih besar dari 1500, atau lebih besar dari nilai yang dikonfigurasi secara manual, pilihan MTU tersebut akan dicatat pada manajemen sistem dan harus diabaikan

2. Format Frame
Paket IPv6 ditransmisikan dalam frame standar ethernet. Header ethernet berisi alamat ethernet tujuan dan asal serta berisi kode tipe ethernet, dimana harus berisi alamat hexadesimal dengan nilai 86DD. Kolom data berisi header IPv6 diikuti secara langsung oleh payload dan oktet padding untuk memenuhi ukuran frame minimum pada link ehternet.

3. Stateless Autoconfiguration
Node yang pertama kali tersambung ke jaringan akan secara otomatis mengkonfigurasi alamat IPv6 site-local dan global tanpa memerlukan manual konfigurasi atau bantuan dari server seperti server DHCP (Dynamic Host Configuration Protocol). Dengan IPv6, router akan mengirimkan pesan router advertisement yang berisi prefix global dan site-local.
Pesan router advertisement ini akan dikirim secara periodik atau dapat dikirm sewaktu-waktu untuk merespon pesan router solicitation yang dikirim oleh host pada waktu startup sistem. Alamat global IPv6 dibentuk oleh prefix yang diberikan oleh pesan router advertisement dan pengidentifikasi unterface (EUI-64). Alamat prefix IPv6 digunakan untuk stateless autoconfiguration dari interface erhernet harus mempunyai panjang 64 bit.
Pengidentifikasi interface untuk interface ethernet berbasis pada pengidentifikasi EUI-64 yang diperoleh dari alamat interface IEEE 802 dengan pangjang 48 bit yang sudah ada pada tiap interface etheternet. Deskripsi EUI-64 sebagai berikut:
Tiga oktet pertama dari lamat ehternet menjadi perusahaan ID dari EUI-64 (tiga oktet pertama). Oktet keemapat dan kelima dari EUI diset tetap dengan nilai FFFE dalam hexadesimal. Tiga oktet terakhir dari alamat ethernet menjadi tiga alamat terakhir dari EUI-64.
Pengidentifikasi interface kemudia dibentuk dari EUI-64 dengan mengkomplemenkan bit “Universal/Local” (U/L), yang mana merupakan bit order terendah dari oktet pertama EUI-64. Mengkomplemenkan hal ini akan berubah dari nilai 0 menjadi 1, karena alamat yang sudah terdapat pada interface diharapkan dari alamat yang dialokasikan secara universal dan mempunyai nilai yang unik. Alamat IEEE 802 yang diaokasikan secara universal atau EUI-64 ditandai dengan 0 pada posisi U/L bitnya, sedangkan pengidentifikasi interface IPV6 secra global ditandai dengan nilai 1 pada posisi yang sama.
Sebagai contoh, pengidentifikasi interface untuk interface ethernet yang mempunyai alamat yang sudah berada didalamnya, dalam hexadesimal:
34-56-78-9A-BC-DE akan menjadi 36-56-78-FF-FE-9A-BC-DE. 

4. Alamat link-local
Alamat link local IPv6 untuk interface ethernet dibentuk oleh dengan menambahkan pengidentifikasi interface dengan prefix FE80::/64.

Senin, 25 Juni 2012

Pesan Error ICMPv6


Pesan Error ICMPv6
Berikut adalah beberapa Pesan Error pada ICMP version 6

1. Pesan Destination Unreachable






Gambar Format Pesan Destination Unreachable

Kolom IPv6 : alamat tujuan dilihat dari kolom alamat asal yang terdapat dari paket
Kolom ICMPv6:











Deskripsi:
Pesan Destination unreachable seharusnya dihasilkan oleh router atau layer IPv6 dalam node asal, untuk memberitahu bahwa paket tidak dapat dikirimkan ke alamat tujuan untuk asalan selain kongesti. Pesan ICMPv6 tidak harus dihasilkan jika paket drop/hilang karena kongesti.
Jika alasan kesalahan pengiriman adalah karena ketidaktepatan antara alamat tujuan dengan tabel routing dalam perutean ke arah node, kolom kode diset ke 0.
Jika alasan untuk kesalahan pengirim adalah larangan secara administratif seperti filter firewall, kolom kode diset 1.
Jika terdapat alasan lain dalam kesalahan pengiriman seperti ketidakmampuan untuk memutuskan alamat tujuan IPv6 ke dalam alamat link yang sesuai, atau link yang secara spesifik digunakan mengalami masalah yang singkat maka kolom kode diset ke 3.
Node tujaun harus mengirim pesan Destination unreachable dengan kode 4 untuk merespon jika paket dengan tujuan protokol transport (misal UDP) tidak mendengarkan atau merespon, atau jika protokol transport tersebut tidak mempunyai alternatif lain untuk menginformasikan pengirim.
Node yang menerima pesan ICMP Destination unreachable harus memberitahu pada proses layer di atasnya.

2. Pesan Packet Too Big









Gambar Format Pesan ICMPv6 Packet Too Big

Kolom IPv6: Alamat tujuan, dilihat dari kolom alamat asal yang terdapat dari paket.
Kolom ICMPv6:







Deskripsi:
Pesan ICMPv6 paket terlalu besar harus dikirim oleh router dalam merespon paket yang tidak dapat diteruskan karena paket lebih besar dari MTU dari link yang akan dilaluinya. Informasi dalam pesan ini digunakan sebagai bagian dari proses penemuan jalut MTU.
Pengirim pesan paket terlalu besar membuat saru perkecualian ke salah satu aturan yang terdapat pada pengiriman pesan kesalahan ICMPv6. Tidak seperti pesan lain, pesan ini dikirim dalam merespon paket yang diterima dengan alamat tujuan multicast, atau alamat layer layer link multicast atau broadcast.
Pesan paket yang terlalu besar yang dapat harus diteruskan ke proses di layer yang lebih atas.

3. Pesan Waktu Habis









Gambar Format Pesan ICMPv6 Time Exceeded

Kolom IPv6: Alamat tujuan dilihat dari kolom alamat asal yang terdapat dari paket.
Kolom ICMPv6:








Deskripsi:
Jika router menerima paket dengan batas hop sama dengan nol, atau router mengurangi limit hop sama dengan nol, router harus membuang paket tersebut dan mengirimkan pesan ICMPv6 bahwa batasan waktu telah terlampau dengan kode 0 ke alamat asal dari paket tersebut. Hal ini menandakan terjadinya routing yang berputar atau inisialisasi nilai batas hop terlalu kecil. Pesan ICMPv6 batas waktu terlampaui yang datang harus diteruskan ke proses pada layer di atasnya.

4. Pesan Masalah Parameter














Gambar Format Pesan ICMPv6 Masalah Parameter

Kolom IPv6: alamat tujuan, dilihat dari kolom alamat asal yang terdapat dari paket.
Kolom ICMPv6

Deskripsi:
Jika dalam pemrosesan paket IPv6, node menemukan masalah dengan kolom dalam header IPv6 atau pada header tambahan, misalkan masalah ini adalah node tidak dapat melakukan pemrisesan paket sampai selesai. Node harus membuang paket dan sebaiknya mengirimkan pesan ICMPv6 masalah parameter ke asal paket, untuk memberitahu tempat dan tipe masalah yang ada.

Spesifikasi ICMPv6 utk IPv6


Spesifikasi Internet Control Message Protocol (ICMPv6) untuk Internet Protocol Version 6 (IPv6) 

Internet Protocol (IP) versi 6 (IPv6) adalah versi baru dari IP. IPv6 menggunakan Internet Control Message Protocol (ICMP) seperti yang didefinisikan untuk IPv4 dalam RFC 793 dengan sejumlah perubahan. Hasil dari protokol ini disebut ICMPv6 dan mempunyai nilai 58 pada next header IPv6.

ICMPv6 (ICMP untuk IPv6)
ICMPv6 digunakan oleh node IPv6 untuk melaporkan kesalahan dalam pengolahan paket dan untuk memberikan pada fungsi layer Internet lainnya, seperti untuk diagnosa (ICMPv6 “ping”). ICMPv6 adalah bagian yang utuh dari IPv6 dan harus diimplementasikan penuh oleh setiap node IPv6.
Format Umum Pesan
Pesan-pesan ICMPv6 dikelompokkan dalam dua kelas yaitu pesan kesalahan dan pesan informasional. Pesan kesalahan diidentifikasi dengan mempunyai nilai nol pada bit-bit awal dari kolom tipe pesan. Sehingga, pesan kesalahan mempunyai nilai tipe-tipe pesan dari 0 sampai 127; pesan informasi mempunyai nilai tipe-tipe pesan 128 sampai 255.
Format untuk pesan ICMPv6 :
Pesan kesalahan ICMPv6:
1. Destination unreachable
2. Packet Too Big
3. Time Exceeded
4. Parameter Problem

Pesan Informasioanl ICMPv6:
128 Echo Request
129 Echo Reply

Setiap pesan ICMPv6 diawali oleh header IPv6 dan nol atau lebih header tambahan. Header ICMPv6 diidentifikasi oleh next header dengan nilai 58 dalam yang terdapat pada header sebelum header ICMPv6.

Pesan-pesan ICMPv6 mempunyai format umum seperti pada gambar dibawah ini:

Format Pesan ICMPv6
Keterangan:
Kolom tipe mengidentifikasikan tipe dari pesan. Nilai ini menentukan format sisa data.
Kolom kode tergantung pada tipe pesan. Ini digunakan untuk membuat tingkatan tambahan ukuran pesan.
Kolom checksum digunakan untuk mendeteksi data yang hilang/rusak dalam pesan ICMPv6 dan bagian dari header IPv6.

Penentuan Asal Alamat Pesan
Node yang mengirimkan pesan ICMPv6 harus menentukan kedua alamat IPv6 asal dan tujuan dalam header IPv6 header sebelumnya menghitung checksum. Jika node mempunyai lebih dari satu alamat unicast, node tersebut harus memilih alamat asal dari pesan sebagai berikut:
1. Jika pesan yang akan dikirim adalah respon ke pesan yang dikirim ke salah satu dari alamat unicast node, alamat asal dari pesan yang akan dibalaskan harus alamat yang sama dengan alamat tujuan dimana pesan tesebut dikirim (ke alamat unicast node). Contoh, jika pesan ICMPv6 dikirim ke a, maka alamat asal dari pesan balasan adalah a.
2. Jika pesan yang akan dikirim adalah respon dari pesan yang dikirim ke group multicast atau anycast yang terdapat node-node sebagai anggora, alamat asal dari pesan balasan harus alamat unicast milik interface node yang menerima paket multicast atau anycast.
3. Jika pesan adalah respon pesan yang dikirim ke alamat yang tidak milik dari node, alamat asal harus alamat unicast milik node yang akan sangat membantu dalam mempelajari kesalahan. Sebagai contoh, jika pesan adalah respon ke suatu tindakan penerusan paket (dalam router) yang tidak dapat berlangsung secara sukses, alamat asal harus alamat unicast milik interface dimana tindakan penerusan paket gagal.
4. Jika tidak, tabel routing dari node harus dipelajari guna menentukan interface ana akan digunakan untuk mengirimkan pesan ke tujuannya dan alamat unicast milik interface tersebut harus digunakan sebagai alamat asal dari pesan.

Sabtu, 23 Juni 2012

Arsitektur Pengalamatan IPv6


Catatan ini adalah tulisan bersambung mengenai IPv4 versus IPv6, 
tulisan sebelumnya, bisa dibaca pada bagian ini:
dan
[tulisan ini diadaptasi dari R. Hinden, S. Deering, 1998, IP Version 6 Addressing Architecture, Request for Comments 2373]

Arsitektur Pengalamatan IP versi 6 
Alamat IPv6 sebenarnya merupakan idetifikator sepanjang 128 bit untuk interface dan sekumpulan interface lainnya. Ada tiga tipe alamat IPv6 :
a. Alamat Unicast : dipergunakan untuk interface tunggal. Paket yang dikirimkan ke alamat unocast adalah paket yang dikirimkan ke sebuah interface yang diidentifikasi oleh alamat tersebut.
b. Alamat Anycast: dipergunakan untuk sekumpulan interface (milik node yang berbeda). Paket yang dikirimkan ke alamat anycast adalah paket yang dikirimkan ke salah satu dari sekumpulan interface yang diidentifikasi oleh alamat tersebut dimana alamat yang paling dekat, mengacu pada pengukuran jarak dari protokol routing.
c. Alamat Multicast: dipergunakan untuk sekumpulan interface (milik node yang berbeda). Paket yang dikirimkan ke alamat multicast adalah paket yang dikirimkan ke semua interface yang diidentifikasi oleh alamat tersebut.
Perlu diketahui, jika dibandingkan dengan format arsitektur pengalamatan pada IPv4, maka untuk IPv6, tidak ada alamat broadcast. Dalam arsitektur pengalamatan IPv6 fungsi alamat broadcast digantikan oleh alamat multicast.

Model Pengalamatan
Alamat-alamat IPv6 dari semua tipe diberikan pada interface, tidak pada node. Alamat unicast IPv6 mengacu pada interface tunggal. Karena setiap interface milik node tunggal, alamat unicast yang diberikan pada node tersebit juga digunakan untuk mengidentifikasi node tersebut.
Semua interface diharuskan untuk mempunyai setidaknya satu alamat unicast link-local. Satu buah interface dapat diberikan atau dialokasikan alamat IPv6 lebih dari satu dengan berbagai macam tipe alamat atau scope. Alamat unicast dengan scope lebih besar dari link-scope tidak diperlukan untuk interface yang tidak digunakan sebagai alamat asal atau tujuan dari paket IPv6. Hal ini kadang-kadang tepat untuk interface point-to-point, atau dalam bentuk link point-to-point, tidak perlu adanya pemberian alamat unicast pada kedua interface tersebut. Ada satu pengecualian pada model pengalamatan ini, yaitu alamat unicast atau sekumpulan ala,at unicast mungkin diberikan ke interface fisik yang banyak jika implementasi tersebut menganggap interface yang banyak tersebut sebagai satu kesatuan interface ketika dihadapkan pada layer internet. Hal ini sangat berguna untuk load-sharing melalui interface fisik yang banyak.
Saat ini IPv6 melanjutkan model IPv4 dimana prefix subnet diasosiasikan dengan satu link (link tunggal). Prefix subnet yang mungkin diberikan pada link yang sama dapat lebih dari satu.

Representasi Teks dari Alamat
Ada tiga jenis bentuk konversional untuk merepresentasikan alamat IPv6 sebagai string teks:
1. Bentuk yang disukai adalah x:x:x:x:x:x:x:x, x adalah nilai heksadesimal dari 8 satuan yang mana setiap satuan terdiri atas 16 bit
Contoh :
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A
Catatan :
Tidak perlu menulis permulaan nilai nol dalam setiap kolom (dipisahkan dengan tanda “:”), misalkan 0008 cukup dapat dituli 8 saja. Namun, setidaknya harus ada satu dalam setiap kolom jika semuanya berupa 0.

2. Ada beberapa metode dalam pengalokasian gaya tertentu dari alamat IPv6, hal ini khususnya untuk alamat yang berisi string nol bit yang panjang. Dalam rangka untuk membuat mudah penulisan alamat yang berisi bit nol, special sintaks tersedia untuk memadatkan kumpulan dari tiap-tiap nilai nol sepanjang 16 bit yng berurutan. Tanda “::” hanya dapat tampil sekali dalam sebuah alamat. Tanda “::” juga dapat digunakan untuk memadatkan kumpulan nilai 16 bit yang terdapat pada awal alamat.
Contoh :
1080:0:0:0:8:800:200C:417A alamat unicast
FF01:0:0:0:0:0:0:101 alamat multicast
0:0:0:0:0:0:0:1 alamat loopback
0:0:0:0:0:0:0:0 alamat tak terdefinisi
mungkin direpresentasikan menjadi:
1080::8:800:200C:417A alamat unicast
FF01::101 alamat multicast
::1 alamat loopback
:: alamat tak terdefinisi

3. Bentuk alternative yang kadang-kadang lebih tepat ketika dihadapkan dengan lingkungan gabungan dari IPv4 dan IPv6 adalah x:x:x:x:x:x:d.d.d.d dimana x menandakan nilai heksadesimal dari enam satuan yang masing-masing terdiri atas 16 bit, dan d adalah nilai decimal dari empat satuan yang masing-masing terdiri dari 7 bit (standar representasi IPv4). Contoh :
0:0:0:0:0:0:202.154.63.9
0:0:0:0:0:FFFF:10.122.1.77
atau dalam bentuk dipadatkan :
::202.154.63.9
::FFFF:10.122.1.77

Representasi Teks dari Alamat Prefix
Representasi teks dari alamat prefix sama dengan alamat prefix pada IPv4 yang ditulis dalam notasi CIDR (Classless Inter Domain Routing), alamat prefix IPv6 direpresentasikan degnan notasi berikut:
IPv6-Address/Prefix-length
IPv6-Address adalah alamat IPv6 dengan ketentuan notasi pengalamatan.
Prefix-length adalah nilai decimal yang menspesifikasikan berapa banyak bit yang berurutan disebelah kiri mulai dari awal bit yang termasuk dalam prefix.

Sebagai contoh, berikut ini representasi yang benar dari 60 bit prefix 12AB00000000CD3 (dalam heksa decimal) :
12AB:0000:0000:CD30:0000:0000:0000:0000/60
12AB::CD30:0:0:0:0/60
12AB:0:0:CD30::/60

Berikut ini adalah representasi yang salah dari prefix diatas:
12AB:0:0:CD3/60
menghilangkan nilai nol yang berada di depan tiap kolom, namun tidak mencantumkan nol yang berada di belakang.
12AB::CD30/60
alamat di sebelah kiri “/” jika diperlukan akan menjadi 12AB:0000:0000:0000:0000:0000:0000:CD30
12AB::CD3/60
alamat disebelah kiri “/” jika diperlukan akan menjadi 12AB:0000:0000:0000:0000:0000:0000:CD3

Ketika menulis alamat node dan prefix dari alamat node tersebut, keduanya dapat dikombinasikan sebagai berikut:
Alamat node : 12AB:0:0:CD30:123:4567:89AB:CDEF
Nomer Subnet : 12AB:0:0:CD30::/60
Dapat disingkat sebagai :
 12AB:0:0:CD30:123:4567:89AB:CDEF/60

Representasi Tipe Alamat
Tipe spesifik dari alamat IPv6 diindikasikan dengan bit-bit awal yang berada dalam alamat. Pangjang bit-bit awal yang bervariabel ini disebut format prefix (FP). Inisialisasi alokasi dari prefix-prefix ini ada sebagai berikut:


Catatan:
1. “unspecified Address” di atas adalah alamat loopback dan alamat IPv6 yang digabungkan dengan alamat IPv4. Alamat-alamat tersebut diberikan alokasi dengan spasi format prefix 0000 0000.
2. Format prefix-prefix dari 001 sampai 111, kecuali alamat multicast (111 1111), semuanya distaratkan harus mempunyai pengudentifikasi interface 64 bit dalam format EUI-64 (panjang prefix maksumum adalah 64 bit dan 64 bit selanjutnya adalah pengidentifikasi interface).
Alamat unicast dibedakan dari alamat multicast dengan nilai octet berorder tinggi dalam alamat. Nilai FF (1111 1111) mengidentifikasikan alamat sebagai alamat multicast, nilai lain dari alamat adalah alamat unicast. Alamat anycast diambil dari spasi alamat unicast, dan secara sintaks tidak berbeda dari alamat unicast.

Kamis, 21 Juni 2012

IPv4 versus IPv6 (bagian 3)


Suatu implementasi penuh dari IPv6 meliputi implementasi dari header ekstensi berikut ini:
1. Hop-by-Hop Options
2. Routing (Type 0)
3. Fragment
4. Destination Options
5. Authentication
6. Encapsulating Security Payload

Bagian sebelumnya dari tulisan ini, dapat dibaca pada link ini:
(disarankan untuk membaca bagian sebelumnya dari tulisan ini)

Extension Header Order (Urutan Header Tambahan)
Ketika lebih dari satu extension header digunakan dalam paket yang sama, seharusnya header tersebut muncul sebagai berikut:
1. IPv6 header
2. Hop-by-Hop Options header
3. Destination Options header (note 1)
4. Routing header
5. Fragment header
6. Authentication header (note 2)
7. Encapsulating Security Payload header (note 2)
8. Destination Options header (note 3)
9. upper-layer header

Note 1 : Untuk opsi yang diproses dalam field Destination Address IPv6.
Note 2 : Rekomendasi tambahan yang berkaitan dengan urutan relatif  dari header Authentication dan Encapsulating Security Payload yang terdapat dalam RFC-2406
Note 3 : Untuk opsi yang diproses hanya oleh Destination terakhir dari paket.

Setiap extension header seharusnya terjadi hanya sekali, kecuali untuk header Destination Options yang seharusnya terjadi dua kali (sekali sebelum header Routing dan sekali sebelum header upper-layer).
Jika header upper-layer adalah header IPv6 yang lain (dalam hal ini adalah IPv6 yang disalurkan melalui atau dienkapsulasi dalam IPv6), ini mungkin diikuti oleh extension header-nya sendiri, yang merupakan subyek terpisah pada rekomendasi pengurutan yang sama.
Ketika extension header yang lain didefinisikan, batasan pengurutannya yang relatif pada header yang terdaftar diatasnya harus ditentukan.
Node-node IPv6  harus menerima dan mencoba untuk memproses extension header dalam urutan apapun dan membuat terjadi berapa kali pun dalam paket yang sama, kecuali untuk  header Hop-by-Hop Options yang tiba-tiba muncul tiba-tiba setelah header IPv6 saja. Meskipun demikian, sangat disarankan agar source dari paket IPv6 menempel diatas urutan yang direkomendasikan sampai dan kecuali kalau spesifikasi berikutnya merevisi rekomendasi tersebut.

Option
Dua dari extension header yang terdefinisi saat ini – header Hop-by-Hop Options dan header Destination Options – membawa variabel jumlah dari Type-length-value (TLV) yang meng-encode “Options”, dari format berikut ini:
   
Option Type 8-bit pengidentifikasi dari tipe opsi.
Opt Data Len 8-bit unsigned integer. Panjang field Option Data dari opsi ini, dalam oktet.
Option Data Field Variable-length. Data Option-Type-spesific.

Rangkaian opsi dalam suatu header  harus diproses secara cepat dalam urutan dimana opsi tersebut muncul dalam header tersebut; penerima tidak harus demikian, sebagai contoh, mendeteksi sepanjang header tersebut untuk mencari jenis opsi dasar dan proses opsi itu sebelum pemrosesan semua opsi sebelumnya.
Pengidentifikasi Option Type di-encode secara internal sedemikian hingga dua bit urutan tertinggi-nya menentukan aksi yang harus diambil jika pemrosesan node IPv6 tidak mengenali Option Type tersebut :

00 - Menghiraukan/meloncati opsi tersebut dan melanjutkan pemrosesan header.
01 - Membuang paket.
10 - Membuang paket dan, tanpa menghiraukan apakah Destination Address dari paket tersebut adalah Address multicast, mengirim suatu ICMP Parameter Problem, Code 2, memberitahu Source Address dari paket, menunjuk pada Option Type yang tidak dikenali.
11 - Membuang paket tersebut dan, hanya jika Destination Address dari paket bukan merupakan suatu alamat multicast, mengirim suatu ICMP Parameter Problem, Code 2, memberitahu Source Address dari paket, menunjuk pada Option Type yang tidak dikenali.

Bit urutan tertinggi ketiga dari Option Type menentukan apakah Option Data dari opsi tersebut dapat merubah route pada Destination terakhir dari paket. Ketika terdapat suatu header Authentication dalam paket tersebut, untuk opsi manapun yang memiliki data yang dapat mengubah en-route, keseluruhan field Option Data-nya harus perlakukan sebagai nilai nol oktet ketika menghitung atau memverifikasi nilai autentikasi dari paket.

0  - Option Data tidak merubah route
1  - Option Data dapat merubah route

Bit urutan tertinggi ketiga yang dijelaskan diatas diperlakukan sebagai bagian dari Option Type, bukan di luar Option Type. Karena itu, suatu opsi utama yang diidentifikasi oleh 8-bit penuh Option Type, tidak hanya 5-bit urutan terendah dari Option Type.
Penomoran Option Type yang sama digunakan baik untuk header Hop-by-Hop Option dan header Destination Options. Bagaimanapun juga, Spesifikasi suatu opsi utama dapat membatasi fungsinya  hanya pada satu dari dua header tersebut.
Opsi individual dapat memiliki syarat pensejajaran yang spesifik, untuk memastikan bahwa nilai multi-octet dalam field Option Data yang terletak pada batasan alami. Syarat pensejajaran dari suatu opsi ditentukan menggunakan notasi xn+y, berarti Option Type harus muncul pada suatu perkalian integer x oktet dari awal header, ditambah y oktet. Sebagai contoh :

2n Artinya offset 2-oktet manapun dari awal header.
8n+2 Artinya offset 8-oktet manapun dari awal header, plus 2-oktet
Ada dua padding Option yang digunakan jika perlu untuk mensejajarkan Option berikutnya dan untuk membagi header menjadi 8-oktet ganda. Padding Option ini harus dikenali oleh seluruh implementasi IPv6.
 
CATATAN! Format dari Pad1 Option adalah kasus khusus – tidak memiliki field length dan value.
Pad1 Option digunakan untuk menyisipkan satu oktet padding ke dalam area Option dari suatu header. Jika lebih dari satu oktet padding diharuskan, PadB Option, yang akan dijelaskan selanjutnya, seharusnya digunakan dibanding Pad1 Option ganda.
PadN Option digunakan untuk menyisipkan dua atau lebih oktet padding ke dalam area Option dari suatu header. Untuk N oktet padding, field Opt Data Len berisi nilai N-2, dan Option Data terdiri atas N-2 nilai nol oktet.

Hop-by-Hop Option Header (Header Pilihan Hop-by-Hop)
Header Hop-by-Hop Option digunakan untuk membawa informasi opsional yang harus dicek oleh setiap node sepanjang path pengiriman dari suatu paket. Header Hop-by-Hop Option dikenali dengan nilai 0 Next Header dalam header Ipv6, dan memiliki format sebagai berikut:

Format Header Hop-by-Hop
 


IPv4 versus IPv6 (bagian 2)

Teknik pengalamatan IPv6 secara resmi telah digunakan di seluruh dunia (8 Juni 2012). Namun masih banyak yang belum memahami tentag teknik pengalamatan IPv6 ini. Tulisan ini, berupaya untuk menjelaskan teknik pengalamatan IPv6 dalam bahasa yang mudah dipahami oleh para mahasiswa Informatika dan masyarakat awam.
Tulisan bagian pertama dapat dilihat disini.

IP versi 6 (IPv6) adalah protokol Internet versi baru yang didesain sebagai pengganti dari Internet protocol versi 4 (IPv4) yang didefinisikan dalam RFC 791.
(spesifikasi dasar IPv6 dikutip dari   S. Deering, R. Hinden, 1998, Internet Protocol, Version 6 (IPv6) Specification, Request for Comments 2460)

Perubahan dari IPv4 ke IPv6 pada dasarnya terjadi karena beberapa hal yang dikelompokkan dalam kategori berikut :
1. Kapasitas Perluasan Alamat
IPv6 meningkatkan ukuran dan jumlah alamat yang mampu didukung oleh IPv4 dari 32bit menjadi 128bit. Peningkatan kapasitas alamat ini digunakan untuk mendukung peningkatan hirarki atau kelompok pengalamatan, peningkatan jumlah atau kapasitas alamat yang dapat dialokasikan dan diberikan pada node dan mempermudah konfigurasi alamat pada node sehingga dapat dilakukan secara otomatis. Peningkatan skalabilitas juga dilakukan pada routing multicast dengan meningkatkan cakupan dan jumlah pada alamat multicast. IPv6 ini selain meningkatkan jumlah kapasitas alamat yang dapat dialokasikan pada node juga mengenalkan jenis atau tipe alamat baru, yaitu alamat anycast. Tipe alamat anycast ini didefinisikan dan digunakan untuk mengirimkan paket ke salah satu dari kumpulan node.
2. Penyederhanaan Format Header
Beberapa kolom pada header IPv4 telah dihilangkan atau dapat dibuat sebagai header pilihan. Hal ini digunakan untuk mengurangi biaya pemrosesan hal-hal yang umum pada penanganan paket IPv6 dan membatasi biaya bandwidth pada header IPv6. Dengan demikian, pemerosesan header pada paket IPv6 dapat dilakukan secara efisien.
3. Peningkatan dukungan untuk header pilihan dan header tambahan (Options and extention header)
Perubahan yang terjadi pada header-header IP yaitu dengan adanya pengkodean header Options (pilihan) pada IP dimasukkan agar lebih efisien dalam penerusan paket (packet forwarding), agar tidak terlalu ketat dalam pembatasan panjang header pilihan yang terdapat dalam paket IPv6 dan sangat fleksibel/dimungkinkan untuk mengenalkan header pilihan baru pada masa akan dating.
4. Kemampuan pelabelan aliran paket
Kemampuan atau fitur baru ditambahkan pada IPv6 ini adalah memungkinkan pelabelan paket atau pengklasifikasikan paket yang meminta penanganan khusus, seperti kualitas mutu layanan tertentu (QoS) atau real-time.
5. Autentifikasi dan kemampuan privasi
Kemampuan tambahan untuk mendukung autentifikasi, integritas data dan data penting juga dispesifikasikan dalam alamat IPv6.

Berikut adalah beberapa terminologi yang harus dipahami terkait teknik pengalamatan IPv6:
Node: Peralatan yang mengimplementasikan IPv6.
Router: Node yang melewatkan paket IPv6.
Host: Node lainnya yang tidak merupakan router.
Upper-layer
Layer protocol yang secara langsung berada di atas IPv6. Sebagai contoh adalah protokol transport seperti TCP dan UDP, protokol control seperti ICMP, protokol routing seperti OSPF dan Internet atau protokol level bawah ditunnel melalui IPv6 seperti IPX, Appletalk, dan IPv6 sendiri (IPX over IPv6, Appletalk over IPv6 dan IPv6 over IPv6).
Link
Fasilitas komunikasi atau medium, yaitu node dapat berkomunikasi pada layer link. Layer link ini yang secara langsung dibawah layer IPv6. Sebagai contoh dari link adalah Ethernet (secara sederhana maupun menggunakan bridge); link PPP; X.25, Frame Relay, atau jaringan ATM, dan layer Internet tunnel seperti tunnel melalui IPv4 atau IPv6 sendiri.
Neighbors
Node lain yang dihubungkan dalam link yang sama
Interface
Media penghubung dari node (berada pada node) ke jaringan.
Address
Identifikasi pada layer IPv6 untuk interface atau sekumpulan interface.
Packet
Header IPv6 dan payload-nya (isi).
Link MTU
Maximum transmission unit. Ukuran maksimum paket dalam ukuran byte yang dapat disampaika melalui link.
Path MTU
Link MTU yang paling kecil dari semua link dalam path node asal sampai node tujuan.
Berikut ini adalah tampilan karakteristik IPv4 dan IPv6

 IP version 4

IP version 6

Keterangan Gambar:
Version 4-bit nomor versi Internet Protocol = 6.
Traffic Class 8-bit field traffic class.
Flow Label 20-bit flow label
Payload Length 16-bit unsigned integer. Panjang dari payload IPv6, sebagai contoh, keseluruhan paket tersebut mengikuti header IPv6  ini, dalam oktet. (Perlu diperhatikan bahwa header ekstensi manapun yang ada merupakan bagian dari payload, termasuk dalam jumlah panjangnya)
Next Header 8-bit selector. Mengidentifikasi tipe header yang langsung mengikuti header IPv6. Menggunakan nilai yang sama seperti field protokol IPv4.
Hop Limit 8-bit unsigned integer. Dikurangi dengan 1 oleh setiap node yang meneruskan paket. 
Source Address 128-bit alamat asal dari paket.
Destination Address 128-bit alamat penerima yang dituju dari paket (bisa jadi bukan penerima terakhir, jika terdapat header routing)


Dalam IPv6, pilihan informasi internet-layer di-encode dalam header-header yang terpisah yang mungkin diletakkan diantara header IPv6 dan header setingkat diatasnya dalam suatu paket. Ada sejumlah kecil header ekstensi yang serupa, setiap header tersebut diidentifikasi oleh suatu nilai Next Header yang pasti (fix). 
Sebagai ilustrasi dalam gambar dibawah ini, suatu paket IPv6 mungkin membawa nol, satu, atau lebih header ekstensi, setiap paket tersebut diidentifikasi oleh field Next Header dari header yang mendahului:


Dengan satu pengecualian, header ekstensi tidak diuji atau diproses oleh node manapun sepanjang path pengiriman dari suatu paket, hingga paket mencapai node tersebut (atau setiap node dari sekelompok node, dalam hal multicast) yang diidentifikasi dalam field Destination Address dari header IPv6. Demultiplexing normal pada field Next Header dari header IPv6 membutuhkan modul tersebut untuk memproses header ekstensi awal, atau header setingkat diatasnya jika tidak terdapat header ekstensi. Isi dan maksud dari setiap header ekstensi menentukan perlu atau tidak untuk meneruskan ke header selanjutnya. 

Pengecualian di atas adalah header Hop-by-Hop Options, yang membawa informasi yang harus diuji dan diproses oleh setiap node sepanjang path pengiriman suatu paket, meliputi node sumber dan node tujuan. Saat terdapat header Hop-by-Hop Options, harus segera mengiktui paket header IPv6. Keberadaannya ditandai oleh nilai nol dalam field Next Header dari header IPv6.

Jika sesuai dengan hasil dari pemrosesan suatu header, suatu node diharuskan untuk meneruskan ke header selanjutnya tetapi nilai Next Header dalam header saat ini tidak dikenali oleh node, ini seharusnya membuang paket tersebut dan mengirim suatu pesan Parameter Problem ICMP ke sumber/alamat asal paket tersebut, dengan suatu nilai Kode ICMP 1 (“unrecognized Next Header Type encountered”) dan field Pointer ICMP berisi offset dari nilai yang tidak dikenali dalam paket yang asli/semula. Tindakan yang sama seharusnya diambil, jika suatu node mendapati suatu Next Header bernilai nol dalam header IPv6.

Suatu implementasi penuh dari IPv6 meliputi implementasi dari header ekstensi berikut ini:
1. Hop-by-Hop Options
2. Routing (Type 0)
3. Fragment
4. Destination Options
5. Authentication
6. Encapsulating Security Payload