BAB I. DASAR TEORI
2.1. Spesifikasi Dasar IPv6
IP versi 6 (IPv6) adalah protokol Internet versi baru yang didesain sebagai pengganti dari Internet protocol versi 4 (IPv4) yang didefinisikan dalam RFC 791.
2.1.1. Pendahuluan
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.
2.1.2. Terminologi
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.
2.1.3. Format header IPv6
Format header alamat IPv6 menyederhanakan format header pada alamat IPv4. Perbandingan antara format header IPv6 (Gambar II.1) dan IPv4 (Gambar II.2).
Ver.
header
TOS
Total length
Identification
flag
Fragment offset
TTL
Protokol
Checksum
32 bit Source Address
32 bit Destination Address
Gambar I Gambar II.1Format Header IPv4
Ver.
TrafficClass
Flow Label
Payload Length
Next Header
Hop Limit
128 bit Source Address
128 bit Destination Address
Gambar II Gambar II.2 Format header IPv6
Keterangan
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)
2.1.4. IPv6 Extension Header (Header Tambahan IPv6)
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 II.3 contoh berikut ini, suatu paket IPv6 mungkin membawa nol, satu, atau lebih header ekstensi, setiap paket tersebut diidentifikasi oleh field Next Header dari header yang mendahului :
IPv6 header
TCP header + data
Next Header =
TCP
IPv6 header
Routing heaer
TCP header + data
Next Header =
Next Header =
Routing
TCP
IPv6 header
Routing header
Fragment header
Fragment of TCP
header + data
Next Header =
Next Header =
Next Header =
Routing
Fragment
TCP
Gambar III Gambar II.3Contoh header tambahan pada IPv6
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
2.1.5. 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.
2.1.6. 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.
2.1.7. 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:
Next Header
Hdr Ext Len
Options
Gambar IV Gambar II.4 Format Header Hop-by-Hop
Keterangan gambar:
Next Header
Selektor 8-bit. Mengenali tipe header tepat setelah header Hop-by-Hop Option. Menggunakan nilai yang sama seperti field Protokol Ipv4.
Hdr Ext Len
8-bit unsigned integer. Panjang dari header Hop-by-Hop Option dalam satuan 8-oktet, tidak termasuk 8 oktet awal.
Options
Field variable-length, dari panjang dimana header Hop-by-Hop Option yang lengkap adalah suatu integer dengan panjang 8 oktet ganda. Berisi satu atau lebih opsi TLV-encoded, seperti yang dijelaskan pada bagian 4.2.
2.1.8. Routing Header
Header Routing digunakan oleh suatu IPv6 source untuk mendaftar satu atau lebih node intermediate yang dikunjungi dalam perjalanan menuju Destination dari paket. Fungsi ini hampir sama dengan opsi Loose Source dan Record Route pada Ipv4. Header Routing dikenali dengan nilai 43 pada Next Header tepat pada header sebelumnya, dan memiliki format sebagai berikut:
Next Header
Hdr Ext Len
Routing Type
Segments Left
Type-Spesific Data
Gambar V Gambar II.5 Format Header Routing
Keterangan gambar:
Next Header
8-bit selektor. Mengidentifikasi tipe header tepat sebelum header Routing. Menggunakan nilai yang sama seperti field Protokol IPv4.
Hdr Ext Len
8-bit unsigned integer. Panjang dari header Routing dalam satuan 8-oktet, tidak termasuk 8 oktet pertama.
Routing Type
8-bit pengenal dari varian header Routing utama.
Segment Left
8-bit unsigned integer. Jumlah segmen route berikutnya, sebagai contoh, jumlah intermediate node yang terdaftar secara eksplisit masih akan dilewati sebelum mencapai Destination akhir.
Type-specific data
Field Variable-length, dari format ditentukan oleh Routing Type, dan dari panjang dimana header Routing lengkap merupakan suatu integer dengan panjang 8 oktet ganda.
Jika saat memproses paket yang diterima, suatu node menangani header Routing dengan nilai Routing Type yang tidak dikenali, tingkah laku yang diharuskan dari node tersebut bergantung pada nilai dari field Segment Left, sebagai berikut :
Jika Segment Left sama dengan nol, node tersebut harus mengabaikan header Routing dan lebih dahulu memproses Next Header dalam paket tersebut, yang tipenya dikenali oleh field Next Header dalam header Routing.
Jika Segment Left tidak sama dengan nol, node tersebut harus menolak/membuang paket tersebut dan mengirim suatu pesan ICMP Parameter Problem, Code 0, ke Source Address dari paket tersebut, mengacu/menunjuk pada Routing Type yang tidak dikenali.
Jika, setelah memproses suatu header Routing dari paket yang diterima, intermediate node menentukan bahwa paket tersebut akan diteruskan ke suatu link yang link MTU-nya lebih kecil dari ukuran paket tersebut, node tersebut harus membuang paket dan mengirim pesan ICMP Packet Too Big ke Source Address dari paket tersebut.
Tipe 0 header Routing memiliki format sebagai berikut:
Next Header
Hdr Ext Len
Routing Type=0
Segments Left
Reserved
Address[1]
Address[2]
Address[n]
Gambar VI Gambar II.6 Format Header Routing Nol
Keterangan gambar:
Next Header
8-bit selektor. Mengidentifikasi tipe header tepat sebelum header Routing. Menggunakan nilai yang sama seperti field Protokol IPv4.
Hdr Ext Len
8-bit unsigned integer. Panjang dari header Routing dalam satuan 8-oktet, tidak termasuk 8 oktet pertama. Untuk Type 0 header Routing, Hdr Ext Len sama dengan dua kali jumlah alamat-alamat dalam header tersebut.
Routing Type
0.
Segment Left
8-bit unsigned integer. Jumlah segmen route berikutnya, sebagai contoh, jumlah intermediate node yang terdaftar secara eksplisit masih akan dilewati sebelum mencapai Destination akhir.
Reserved
32-bit field reserved. Diinisialisasi dengan nol untuk transmisi; diabaikan pada penerimaan.
Address[1..n]
Vektor dari 128-bit alamat, dinomori 1 s/d n.
Alamat-alamat multicast harus tidak muncul dalam suatu header Routing dari Type 0, atau dalam field IPv6 Destination Address dari suatu paket pembawa header Routing dari Type 0.
Suatu header Routing tidak diperiksa atau diproses sampai header tersebut mencapai node yang diidentifikasi dalam field Destination Address dari header IPv6. Dalam node tersebut, pengiriman pada field Next Header dari header tepat sebelumnya menyebabkan modul header Routing yang diminta, dalam hal ini Routing Type 0, melakukan algoritma sebagai berikut:
If Segments Left = 0 {
memulai untuk memproses next header dalam paket tersebut, yang memiliki tipe yang diidentifikasi oleh field Next Header dalam header Routing
}
else if Hdr Ext Len adalah ganjil {
mengirim suatu pesan ICMP Parameter Problem, Code 0, ke Source Address, menunjuk pada field Hdr Ext Len, dan membuang paket tersebut
}
else {
hitung n, jumlah dari alamat-alamat dalam header Routing, dengan membagi Hdr Ext Len dengan 2
if Segments Left lebih besar dari n {
mengirim suatu pesan ICMP Parameter Problem, Code 0, ke Source Address, menunjuk pada field Segments Left, dan membuang paket tersebut
}
else {
kurangi Segments Left dengan 1;
hitung i, index dari alamat selanjutnya yang akan dilewati/dikunjungi dalam vektor alamat, dengan mengurangkan Segments Left dari n
if Address [i] atau IPv6 Destination Address adalah multicast {
membuang paket tersebut
}
else {
kosongkan IPv6 Destination Address dan Addres [i]
if IPv6 Hop Limit kurang dari atau sama dengan 1 {
mengirim suatu pesan ICMP Time Exceeded – Hop Limit Exceeded in Transit ke Source Address dan membuang paket
}
else {
mengurangi Hop Limit dengan 1
mensubmit kembali paket tersebut pada modul IPv6 untuk transmisi ke Destination baru
}
}
}
}
Gambar VII Kode II‑1.Algoritma Dasar Routing
2.1.9. Fragment Header
Header Fragment digunakan oleh suatu source IPv6 untuk mengirim suatu paket yang lebih besar dari yang akan berada pada path MTU ke Destination-nya. (Catatan: tidak seperti IPv4, Fragmentasi dalam IPv6 hanya dilakukan oleh node source, bukan oleh router sepanjang delivery path dari suatu paket) Header Fragment diidentifikasi dengan nilai 44 Next Header pada tepat sebelum header, dan memiliki format sebagai berikut :
Next Header
Reserved
Fragment Offset
Res
M
Identification
Gambar VIII Gambar II.7 Format Fragment Header
Keterangan gambar:
Next Header
Selektor 8-bit. Mengidentifikasi inisial tipe header Fragmentable Part dari paket asli/awal (yang didefinisikan sebelumnya). Menggunakan nilai yang sama dengan field IPv4 Protocol.
Reserved
Field reserved 8-bit. Diinisialisasi dengan nol untuk transmisi; diabaikan pada penerimaan.
Fragment Offset
13-bit unsigned integer. Offset, dalam satuan 8-oktet, dari data yang mengikuti/setelah header ini, relatif pada awal Fragmentable Part dari paket mula-mula.
Res
Field reserved 2-bit. Diinisialisasi dengan nol untuk transmisi; diabaikan pada penerimaan.
M flag
1 = more Fragments; 0 = last Fragment.
Identification
32 bit. Lihat deskripsi di atas.
Untuk mengirim suatu paket yang terlalu besar yang sesuai dengan path MTU ke Destination-nya, suatu node source boleh membagi paket tersebut menjadi Fragment-Fragment dan mengirim masing-masing Fragment sebagai paket terpisah, kemudian disatukan kembali pada penerima.
Untuk setiap paket yang akan dipecah-pecah, node asal harus membangkitkan nilai yang digunakan untuk mengidentifikasi paket yang dipecah tersebut. Dalam satu paket yang dipecah-pecah tersebut harus mempunyai nilai identifikasi yang berbeda. Jika header routing terdapat pada paket, tujuan alamat dikonsentrasikan pada tujuan terakhir.
2.1.10. Destination Option Header (Header Pilihan Tujuan)
Header Destination Options digunakan untuk membawa informasi opsional yang dibutuhkan hanya untuk diuji oleh node Destination dari suatu paket. Header Destination Options dikenali dengan nilai 60 pada Next Header dalam tepat sebelum header, dan memiliki format sebagai berikut:
Next Header
Hdr Ext Len
Options
Gambar IX Gambar II.8 Format Header Destination
Keterangan gambar:
Next Header
Selektor 8-bit. Mengidentifikasi tipe dari header tepat setelah header Destination Options. Menggunakan nilai yang sama dengan field IPv4 Protocol
Hdr Ext Len
8-bit unsigned integer. Panjang dari header Destination Options dalam satuan 8-oktet, tidak termasuk 8 oktet pertama/awal.
Options
Field variable-length, dari panjang seperti header Destination Options lengkap merupakan suatu integer yang panjangnya 8 oktet ganda. Terdiri dari satu atau lebih opsi TLV-encoded.
Perlu dicatat bahwa ada dua kemungkinan cara untuk meng-enkode informasi Destination opsional dalam suatu paket IPv6 baik seperti suatu opsi dalam header Destination Options, atau seperti extension header yang terpisah. Header Fragment dan header Authentication adalah contoh dari pendekatan akhir. Pendekatan mana yang dapat digunakan bergantung pada tindakan apa yang diinginkan dari node Destination yang tidak mengetahui informasi opsional :
a. Jika tindakan yang diinginkan adalah agar node Destination membuang paket tersebut dan , hanya jika Destination Address dari paket tersebut bukan multicast Address, mengirim suatu pesan ICMP Unrecognized Type pada Source Address dari paket tersebut, lalu informasinya mungkin di-enkode baik sebagai suatu header yang terpisah atau sebagai suatu opsi dalam header Destination Options yang memiliki Option Type bernilai 11 pada dua bit urutan teratasnya. Pilihan tersebut boleh tergantung pada faktor-faktor serupa sesuai yang mengambil oktet lebih sedikit, atau yang menghasilkan penjajaran yang lebih baik atau penguraian yang lebih efisien.
b. Jika aksi lain yang diinginkan, informasinya harus dienkode sebagai suatu opsi dalam header Destination Options yang memiliki Option Type bernilai 00, 01, atau 10 pada dua bit urutan teratas, yang menunjukkan aksi yang diinginkan.
2.1.11. No Next Header
Nilai 59 dalam field Next Header dari suatu header IPv6 atau extension header manapun menandakan bahwa tidak ada yang mengikuti header tersebut. Jika field Payload Length dari header IPv6 menandakan keberadaan dari oktet-oktet sebelum akhir dari suatu header yang memiliki field Next Header berisi 59, oktet-oktet tersebut harus diabaikan, dan dibiarkan tidak berubah jika paket tersebut diteruskan.
2.1.12. Packet Size Issues (Isu Ukuran Paket)
IPv6 mensyaratkan bahwa setiap link dalam Internet harus mempunyai MTU (Maximum Transfer Unit) 1280 oktet atau lebih. PAda setiap link yang tidak dapat membawa paket sebesar 1280 oktet dalam satu buah paket, spesifikasi link untuk Fragmentasi dan penyatuan kembali harus disediakan oleh layer sebelum IPv6.
Link yang mempunyai MTU yang dapat dikonfigurasi (sebagai contoh, link PPP [RFC 1661]) harus dikonfigurasi untuk mempunyai MTU minimal 1280 oktet; dan direkomendasikan untuk dikonfigurasi dengan MTU 1500 oktet atau lebih, dimana hal ini untuk mengakomodasikan kemungkinan adanya enkapsulasi atau tunneling tanpa adanya Fragmentasi pada layer IPv6.
Dari setiap link tempat node terhubung secara langsung node harus mampu menerima paket sebesar link MTU. Hal ini sangat direkomendasikan bahwa node IPv6 mengimplementasikan discovery Path MTU (RFC 1981), dalam rangka untuk mencari dan mengambil keuntungan dari adanya path MTU yang lebih besar dari 1280 oktet. Namn, implementasi minimum IPv6 (misalkan pada boot ROM) boleh melakukan pembatasan dengan membatasi pengiriman paket yang besarnya tidak lebih dari 1280 oktet, dan menghindari implementasi dari discovery path MTU.
Pada pengiriman paket yang lebih besar dari path MTU, node boleh menggunakan header Fragment IPv6 untuk paket memecah paket sudah sampai pada alamat tujuan. Bagaimanapun juga, penggunaan Fragmentasi ini menggagalkan setiap aplikasi yang mampu menepatkan ukuran paket sesuai dengan path MTU.
Node harus mampu menerima paket yang terFragmentasi, yang setelah disusun kembali, sebesar 1500 oktet. Node diijinkan untuk menerima paket yang terFragmentasi dan telah disusun kembali lebih besar dari 1500 oktet. Protokol atau aplikasi pada level diatas level IPv6 yang bergantung pada Fragmentasi IPv6 untuk mengirimkan paket yang lebih besar dari 1500 oktet kecuali node tersebut memastikan bahwa node tujuan mampu menyusun kembali paket yang mempunyai ukuran lebih besar.
2.1.13. Flow Labels
Kolom pelabelan aliran sepanjang 20 bit dalam header IPv6 mungkin digunakan oleh alamat sumber untuk menandai/mengklasifikasikan sekumpulan paket yang meminta penanganan khusus oleh router IPv6, seperti kualitas layanan (QoS) yang tidak sesuai standar atau layanan real-time. Aspek ini dalam IPv6, pada saat tulisan ini ditulis, masih dalam percobaan dan perubahan pokok yang sesuai dengan yang diperlukan untuk dukungan flow dalam Internet menjadi diperjelas. Router atau host yang tidak mendukung fungsi dari kolom label flow diminta untuk mengeset kolom tersebut menjadi nol ketika menjadi asal dari paket, dan melewatkan paket dengan ridak ada perubahan pada kolom, dan mengabaikan kolom tersebut ketika menerima paket.
2.1.14. Pengkelasan Trafik
Kolom kelas trafik 8 bit dalam header IPv6 tersedia untuk digunakan oleh node asal dan atau routing yang melewatkan paket untuk mengidentifikasikan dan membedakan antara kelas atau prioritas yang berbeda dari paket IPv6. Pada waktu tulisan ini ditulis, ada sejumlah eksperimen yang dilaksanakan dengan menggunakan tipe layanan dari IPv4 atau diawali dengan menyediakan bermacam-macam bentuk perbedaan layanan untuk paket IP. Kolom kelas trafik dalam header IPv6 diharapkan menyediakan fungsi yang sama untuk didukung dalam IPv6.
2.2. Arsitektur Pengalamatan IP versi 6
Alamat IPv6 adalah pengindetifikasi sepanjang 128 bit untuk interface dan sekumpulan interface. Ada tuga tipe dari alamat IPv6 :
a. Unicast : Pengidentifikasi untuk interface tunggal. Paket yang dikirimkan ke alamat unocast adalah paket yang dikirimkan ke sebuah interface yang diidentifikasi oleh alamat tersebut.
b. Anycast : Pengidentifikasi untuk sekumpulan interface (umumnya 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 (alamat yang paling dekat, mengacu pada pengukuran jarak dari protokol routing).
c. Multicast : pengidentifikasi untuk sekumpulan interface (umumnya milik node yang berbeda). Paket yang dikirimkan ke alamat multicast adalah paket yang dikirimkan ke semua interface yang diidentifikasi oleh alamt tersebut.
Tidak ada alamat broadcast dalam IPv6, fungsi alamat broadcast digantikan oleh alamat multicast.
2.2.1. 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.
2.2.2. 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
2.2.3. 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
2.2.4. 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:
Alokasi
Prefix
Fraction of
(biner)
Address Space
Reserved
0000 0000
1/256
Unassigned
0000 0001
1/256
Reserved for NSAP Allocation
0000 001
1/128
Reserved for IPX Allocation
0000 010
1/128
Unassigned
0000 011
1/128
Unassigned
0000 1
1/32
Unassigned
0001
1/16
Aggregatable global Unicast Address
001
1/8
Unassigned
010
1/8
Unassigned
011
1/8
Unassigned
100
1/8
Unassigned
101
1/8
Unassigned
110
1/8
Unassigned
1110
1/16
Unassigned
1111 0
1/32
Unassigned
1111 10
1/64
Unassigned
1111 110
1/128
Unassigned
1111 1110 0
1/512
Link-local Unicast Address
1111 1110 10
1/1024
Site-local Unicast Address
1111 1110 11
1/1024
Multicast Address
1111 1111
1/256
Gambar X Gambar II.9 Tabel Inisialisasi Alamat IPv6
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.
2.2.5. Alamat Unicast
Alamat Unicast merupakan alamat yang dapat diagregasi dengan masking pada bit-bit seperti pada alamat IPv4 di bawah CIDR (Class-less InterDomain Routing).
Ada beberapa bentuk pemberian alamat unicast dakam IPv6, termasuk alamat unicast global teragregatisasi, alamat NSAP, alamat hierarki IPX, alamat site-local, alamat link-local, dan alamat dengan gabungan IPv4. Tipe alamat tambahan dapat didefinisikan pada masa depan. Node IPv6 boleh mempunyai sedikit pengetahuan dari struktur internal dari alamat IPv6, tergantung pada peran tersebut dilaksanakan (misal di host atau router). PAda minimumnya, node boleh menganggap bahwa alamat unicast tidak mempunyai internal struktur:
Host yag sedikit pintar (tapi masih cukup sederhana) dapat sedikit perhatian pada prefix subnet pada link tempat host tersebut tersambungkan. Alamat yang berbeda mempunyai nilai-nilai yang berbeda, missal untuk n di bawah ini :
Host yang lebih pintar lagi mungkin perhatian pada batasan hirarki dalam alamat unicast. Meskipun pada router yang kecil tidak mengetahui struktur internal alamat IPv6, router pada umumnya mempunyai pengetahuan satu atau lebih batasan structural alamat unicast untuk operasi dari protokol routing.
2.2.5.1. Pengidentifikasi Interface
Pengidentifikasi interface dalam alamat unicast IPv6 digunakan untuk mengidentifikasi interface pada link. Mereka diharuskan untuk unik pada link tersebut. Mereka mungkin juga unik pada cope yang besar. Pada banyak kasus pengidentifikasi interface akan sama dengan alamat interface pada layer link atau layer 2. Pengidentifikasi interface yang sama mungkin digunakan pada interface-interface pada node tunggal.
Dalam sejumlah format prefix, interface id disyaratkan mempunyai panjang 64 bit dan disusun dalam format IEEE EUI-64. Pnegidentifikasi interface berbasis EUI-64 boleh mempunyai scope global ketika terdapat token global (misalnya MAC, Media Access Control, IEEE 48 bit atau biasa disebut alamat MAC) atau boleh mempunyai scope local ketika tidak terdapat token global (seperti serial link tunnel end-point).
2.2.5.2. Alamat Tak Terspesifikai
Alamat 0:0:0:0:0:0:0:0 disebut alamat yang tak terspesifikasi. Alamat tersebut tidak boleh diberikan pada setiap node. Alamat tersebut mengidentifikasikan kehadiran alamat. Salah satu contoh penggunaannya adalah di dalam kolom alamat asal dari setiap paket IPv6 yang dikirim oleh host penginisialisasi sebelum host tersebut telah mempelajari alamatnya sendiri.
Alamat yang tak terspesifikasikan tidak boleh digunakan sebagai alamat tujuan dari paket IPv6 atau dalam header routing.
2.2.5.3. Alamat Loopback
Alamat unicast 0:0:0:0:0:0:0:1 disebut alamat loopback. Alamat tersebut mungkin digunakan oleh node untuk mengirimkan paket IPv6 ke dirinya sendiri. Alamat tersebut tidak pernah diberikan pada setiap interface fisik. Hal ini mungkin dihubungkan dengan intergace virtual (misalkan interface loopback).
Alamat loopback tidak boleh digunakan sebagai alamat asal dalam paket IPv6 yang dikirimkan keluar host. Paket IPv6 dengan alamat tujuan loopback tidak boleh dikirim keluar dari host dan tidak dapat diforwardkan/dilewatkan oleh router IPv6.
2.2.5.4. Alamat IPv6 Digabung engan Alamat IPv4
Mekanisme transisi IPv6 memasukkan teknik untuk host dan router secara dinamik mentunnel paket IPv6 melalui infrastruktur routing IPv4. Node IPv6 yang menggunakan teknik ini diberikan alamat unicast IPv6 spesial yang membawa alamat IPv4 dalam low order 32-bit. Tipe alamat ini diistilahkan “IPv4-compatible IPv6 Address”.
Tipe kedua dari alamat IPv6 dimana terdapat gabungan dengan alamat IPv4 juga didefinisikan. Alamat ini diginakan untuk merepresentasikan node dengan alamat IPv4 saja (dimana tidak mendukung IPv6) sebagai alamat IPv6. Tipe alamat ini diistilahkan “IPv4-mapped IPv6 Address”.
[1] S. Deering, R. Hinden, 1998, Internet Protocol, Version 6 (IPv6) Specification, Request for Comments 2460
[2] R. Hinden, S. Deering, 1998, IP Version 6 Addressing Architecture, Request for Comments 2373