Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts

Membuat Project Sederhana Dengan Spring Roo

Pada artikel sebelumnya kita sudah mengenal apa itu Spring Roo dan cara menginstall nya. Pada artikel kali ini saya akan menjelaskan bagaimana membuat project sederhana dengan menggunakan Spring Roo. Seperti yang telah saya jelaskan sebelumnya, untuk membuat project ini dapat menggunakan command line atau Roo Shell pada IDE. Untuk IDE dapat digunakan Eclipse atau Spring Tool Suite (STS), pada Eclipse harus install dulu plugin STS nya yang tersedia di market Eclipse. Semua terserah anda :D. Tapi disini saya menggunakan command line (cmd) untuk mempermudah saja.

Baik, ikuti langkah-langkah berikut: :D
  • buka cmd
  • buat direktori dengan nama student, pindah ke direktori tersebut (terserah mau buat di drive mana)
  • ketikkan 'roo'.

Buat Project

Pada tahap ini anda dapat menggunakan TAB untuk auto complete command, atau 'hint' untuk mengetahui option manual perintah. Ketikkan command perintah berikut,
  • project --topLevelPackage com.putrajatim.student
  • persistence setup --provider HIBERNATE --database H2_IN_MEMORY

Buat Entity Class

Berikutnya buat kelas entitas beserta field-fieldnya. Ketikkan perintah berikut,
  • entity jpa --class ~.domain.Student (tanda ~ menunjukkan top level package yakni com.putrajatim.student)
  • field string --fieldName nama
  • field number --fieldName nim --type java.lang.Long
  • field date --fieldName tanggalLahir --type java.util.Date
  • controller all --package ~.web (perintah tersebut secara otomatis akan membuat Spring MVC Web UI, selain itu perintah ini sebenarnya sudah tidak digunakan lagi dan akan segera di disable, penggantinya adalah web mvc setup dan diikuti dengan web mvc all --package)

Run Project

Setelah melalui langkah-langkah diatas, selanjutnya project  bisa di deploy ke konfigurasi Tomcat atau Jetty Web Container, dengan mengetikkan perintah 'mvn tomcat:run' atau 'mvn jetty:run' (mvn artinya maven). Pada percobaan ini saya menggunakan Tomcat. Sebelumnya, keluar dulu dari shell 'roo' dengan ketik command quit, karena untuk menjalankannya harus di direktori project.
  • ketikkan mvn tomcat:run
 
  • sekarang, ketikkan alamat yang keluar di cmd di web browser http://localhost:8080/student 

Akses Project
  • tampilan awal di web browser

  • create new student (inputkan beberapa student)
  • kemudian pilih menu List All Students untuk melihat daftar student yang sudah diinput

Akhirnya project sederhana dengan Spring Roo telah selesai dibuat :). Dengan menggunakan Spring Roo, project aplikasi yang anda kerjakan berminggu-minggu bahkan berbulan-bulan dapat dikerjakan hanya dalam beberapa minggu saja. Project diatas hanya sekedar contoh saja, anda dapat membuat yang lebih baik, lebih bagus, dan lebih canggih pastinya dengan mengopreknya.hehe...
Akhir kata, maafkan apabila masih terdapat kesalahan. Namanya juga belajar... :D

Oke, see you later. :)))

Mengenal Spring Roo

Ikatlah ilmu dengan menuliskannya mempostingnya, biar kalau sewaktu-waktu lupa bisa melihat blog sendiri. :D

Ada yang sudah tahu Spring Roo? Bagi anda yang sudah malang melintang di dunia pemrograman terutama di bahasa Java pastinya sudah tahu. Kalau belum tahu, baiknya anda cari tahu di google (Laah, ini barusan juga nyari di google ketemu blog ini).hehe...

Disini saya akan menjelaskan sedikit tentang Spring Roo dan cara install Spring Roo. Artikel ini pas buat yang baru belajar Spring Roo, sama seperti saya juga baru belajar membuat project Spring Roo.hehe...

Spring Roo adalah sebuah tool pengembangan aplikasi generasi lanjut secara cepat yang berbasiskan open source untuk developer java. Spring Roo memungkinkan developer untuk membangun best-practice, high-quality, lock-in-free enterprise applications dalam beberapa menit saja (sebuah pekerjaan pengembangan aplikasi yang dikerjakan selama berminggu-minggu dapat dilakukan hanya dalam beberapa hari saja).

Sekedar informasi kalau kata Roo diambil dari kata Kanga"roo" (English) / Kanggu"roo" dalam bahasa Indonesia.

Arsitektur Spring Roo

Project yang dibuat dengan Spring Roo merupakan standar Java enterprise applications menggunakan Spring Framework. Ini artinya anda akan menemukan semua tipe artifak seperti Java source files, XML configuration files, properties files dan view artifacts seperti jspx files di dalam project anda.

Selain konfigurasi otomatis Maven dalam membangun artifacts, logging dan dependency injection, Roo juga memungkinkan Anda untuk menghubungkan atau dengan mudah membuat database backend baru. Hal tersebut dapat dilakukan dengan otomatis mengkonfigurasi Spring application context untuk database anda dan object relational mapping (ORM) tool melalui standar Java Persistence API (JPA). Manajemen transaksi juga dikonfigurasi secara out of the box. Selain itu,dapat mengatur JUnit integration tests, Web front-ends dan project layers yang lainnya.


Pendekatan Unik dari Spring Roo

Salah satu manfaat utama menggunakan Spring Roo adalah integrasi yang mendalam dari fitur AspectJ inter-type declaration (ITD). Hal ini memungkinkan Roo untuk secara otomatis menghasilkan dan memelihara boiler-plate code seperti metode getter dan setter dalam sebuah unit kompilasi yang berbeda ( .aj file). File AspectJ ITD disimpan secara terpisah dari kode java normal yang akan anda tulis sebagai developer sehingga Roo dapat mempertahankan siklus hidup file dan content sepenuhnya independen atau terbebas dari apa pun yang anda lakukan untuk file java. File java anda tidak perlu melakukan sesuatu yang tidak wajar seperti referensi generated ITD file dan seluruh proses benar-benar transparan.

Instalasi Spring Roo

Untuk memulai instal Spring Roo, install terlebih dahulu mavennya. Tutorial untuk install maven dapat dicari di mbah google.hehe...
lanjut install Spring Roo, silakan download dulu dari link ini pilih yang "Just take me to the download page".

Versi terakhir saat saya tulis artikel ini adalah versi spring-roo-1.2.3. Setelah download, unzip terlebih dahulu dan letakkan di direktori yang anda pilih (kalau saya di direktori C:\) terus setting PATH ke folder "bin" dalam folder Roo.


Kini, anda sudah bisa memulai membuat project dengan Spring Roo. Membuat project Spring Roo dapat dilakukan di command line atau di Roo Shell pada IDE. Untuk yang pemula saya sarankan dengan menggunakan command line, karena menurut saya lebih mudah.

Setelah artikel ini akan saya posting juga cara membuat project sederhana dengan Spring Roo.


Multi Protocol Label Switching (MPLS)

Seiring dengan kemajuan teknologi informasi dan telekomunikasi, maka kebutuhan terhadap suatu jaringan akan semakin meningkat, terutama untuk menghubungkan jaringan yang satu dengan jaringan yang lain, dimana kedua tempat jaringan tersebut letaknya saling berjauhan, maka untuk menghubungkan keduanya agar terjadi suatu koneksi yang lebih cepat dan lebih baik maka diperlukan suatu jalur yang dinamakan Multi Protocol Label Switching (MPLS).

Seperti kita ketahui bersama bahwa MPLS adalah suatu teknologi penyampaian paket pada jaringan backbone (jaringan utama) berkecepatan tinggi yang menggabungkan beberapa kelebihan dari sistem komunikasi circuit-switched dan packet switched yang melahirkan teknologi yang lebih baik dari keduanya. MPLS bekerja pada packets dengan MPLS header, yang berisi satu atau lebih label. Header MPLS terdiri atas 32 bit data, termasuk 20 bit label, 2 bit eksperimen, dan 1 bit identifikasi stack, serta 8 bit TTL. Label pada MPLS digunakan untuk proses forwarding, termasuk proses traffic engineering.

Diharapkan dengan adanya jalur MPLS tersebut maka suatu jaringan dapat terhubung dan terkoneksi dengan mudah dan diharapakan proses pengaksesannya bisa lebih cepat dan lebih baik.

Pengertian MPLS

Multiprotocol Label Switching (MPLS) [1] adalah teknologi penyampaian paket pada jaringan backbone (jaringan utama) berkecepatan tinggi yang menggabungkan beberapa kelebihan dari sistem komunikasi circuit-switched dan packet-switched yang melahirkan teknologi yang lebih baik dari keduanya.

Multiprotocol Label Switching (MPLS) [2] adalah arsitektur network yang didefinisikan oleh IETF untuk memadukan mekanisme label swapping di layer 2 dengan routing di layer 3 untuk mempercepat pengiriman paket.

Paket-paket pada MPLS diteruskan dengan protokol routing seperti OSPF, BGP atau EGP. Protokol routing berada pada layer 3 sistem OSI, sedangkan MPLS berada di antara layer 2 dan 3. OSPF (Open Shortest Path First) adalah routing protocol berbasis link state (dilihat dari total jarak) setelah antar router bertukar informasi maka akan terbentuk database pada masing – masing router. BGP (Border Gateway Protocol) adalah router untuk jaringan external yang digunakan untuk menghindari routing loop pada jaringan internet.

Header MPLS

MPLS bekerja pada packets dengan MPLS header, yang berisi satu atau lebih labels. Ini disebut dengan label stack. Header MPLS dapat dilihat pada gambar dibawah ini:

MPLS Header meliputi :
  1. 20-bit label value : Suatu bidang label yang berisi nilai yang nyata dari MPLS label
  2. 3-bit field CoS : Suatu bidang CoS yang dapat digunakan untuk mempengaruhi antrian
    packet data dan algoritma packet data yang tidak diperlukan
  3. 1-bit bottom of stack flag : Jika 1 bit di-set, maka ini menandakan label yang sekarang
    adalah label yang terakhir. Suatu bidang yang mendukung hirarki label stack
  4. 8-bit TTL (time to live) field. Untuk 8 bit data yang bekerja
Enkapsulasi Paket
 
Tidak seperti ATM yang memecah paket-paket IP, MPLS hanya melakukan enkapsulasi paket IP, dengan memasang header MPLS. Header MPLS terdiri atas 32 bit data, termasuk 20 bit label, 2 bit eksperimen, dan 1 bit identifikasi stack, serta 8 bit TTL. Label adalah bagian dari header, memiliki panjang yang bersifat tetap, dan merupakan satu-satunya tanda identifikasi paket. Label digunakan untuk proses forwarding, termasuk proses traffic engineering. Untuk mengetahui enkapsulasi paket pada MPLS dapat dilihat pada gambar dibawah ini:

Setiap LSR memiliki tabel yang disebut label-swiching table. Tabel itu berisi pemetaan label masuk, label keluar, dan link ke LSR berikutnya. Saat LSR menerima paket, label paket akan dibaca, kemudian diganti dengan label keluar, lalu paket dikirimkan ke LSR berikutnya.

Selain paket IP, paket MPLS juga bisa dienkapsulasikan kembali dalam paket MPLS. Maka sebuah paket bisa memiliki beberapa header. Dan bit stack pada header menunjukkan apakah suatu header sudah terletak di 'dasar' tumpukan header MPLS itu.

Arsitektur MPLS

MPLS, multi-protocol label switching, adalah arsitektur network yang didefinisikan oleh IETF untuk memadukan mekanisme label swapping di layer 2 dengan routing di layer 3 untuk mempercepat pengiriman paket. Network MPLS terdiri atas sirkit yang disebut label-switched path (LSP), yang menghubungkan titik-titik yang disebut label-switched router (LSR).

Setiap LSP dikaitkan dengan sebuah forwarding equivalence class (FEC), yang merupakan kumpulan paket yang menerima perlakukan forwarding yang sama di sebuah LSR. FEC diidentifikasikan dengan pemasangan label.

Arsitektur MPLS
Untuk membentuk LSP, diperlukan suatu protokol persinyalan. Protokol ini menentukan forwarding berdasarkan label pada paket. Label yang pendek dan berukuran tetap mempercepat proses forwarding dan mempertinggi fleksibilitas pemilihan path. Hasilnya adalah network datagram yang bersifat lebih connection-oriented.

Arsitektur Jaringan MPLS

  1. Penggolongan dan pemberian label pada packet. Setelah itu packets akan menuju provider (P). Dari provider, packet akan diteruskan ke inti.
  2. Pada inti, packet diteruskan berdasarkan label bukan berdasarkan pada IP address. Label ini menunjukkan penggolongan class (A, B, C, D) dan tujuannya.
  3. Menghilangkan label dan meneruskan packet pada sisi penerima.
MPLS Cloud

Keterangan :
  1. LER : Label Edge Router (label pada sisi router)
  2. LSR : Label Switch Router (label pada switch router)
  3. Forward Equivalence Class, meneruskan packets pada class yang sama.
  4. Label : menghubungkan suatu packet dalam FEC
  5. Label Stack : berbagai label yang berisi informasi tentang bagaimana packets akan diteruskan
  6. Label Switch Path : jejak packets untuk mengarahkan ke FEC tertentu
  7. LDP : Label Distribution Protocol, digunakan untuk mendistribusikan informasi label diantara MPLS dengan perangkat jaringan
  8. Label Swapping : berfungsi memanipulasi label untuk meneruskan packets sampai ke tujuan
Struktur Jaringan MPLS

Struktur jaringan MPLS terdiri dari edge Label Switching Routers atau edge LSRs yang mengelilingi sebuah core Label Switching Routers (LSRs). Adapun elemen-elemen dasar penyusun jaringan MPLS ialah :
  • Edge Label Switching Routers (ELSR)
Edge Label Switching Routers ini terletak pada perbatasan jaringan MPLS, dan berfungsi untuk mengaplikasikan label ke dalam paket-paket yang masuk ke dalam jaringan MPLS. Sebuah MPLS Edge Router akan menganalisa header IP dan akan menentukan label yang tepat untuk dienkapsulasi ke dalam paket tersebut ketika sebuah paket IP masuk ke dalam jaringan MPLS. Dan ketika paket yang berlabel meninggalkan jaringan MPLS, maka Edge Router yang lain akan menghilangkan label tersebut.
Label Switches. Perangkat Label Switches ini berfungsi untuk menswitch paket-paket ataupun sel-sel yang telah dilabeli berdasarkan label tersebut. Label Switches ini juga mendukung Layer 3 routing ataupun Layer 2 switching untuk ditambahkan dalam label switching. Operasi dalam label switches memiliki persamaan dengan teknik switching yang biasa dikerjakan dalam ATM.
  • Label Distribution Protocol (LDP)
Label Distribution Protocol (LDP) merupakan suatu prosedur yang digunakan untuk menginformasikan ikatan label yang telah dibuat dari satu LSR ke LSR lainnya dalam satu jaringan MPLS. Dalam arsitektur jaringan MPLS, sebuah LSR yang merupakan tujuan atau hop selanjutnya akan mengirimkan informasi tentang ikatan sebuah label ke LSR yang sebelumnya mengirimkan pesan untuk mengikat label tersebut bagi rute paketnya. Teknik ini biasa disebut distribusi label downstream on demand.
Jaringan baru ini memiliki beberapa keuntungan diantaranya :
  1. MPLS mengurangi banyaknya proses pengolahan yang terjadi di IP routers, serta memperbaiki kinerja pengiriman suatu paket data.
  2. MPLS juga bisa menyediakan Quality of Service (QoS) dalam jaringan backbone, dan menghitung parameter QoS menggunakan teknik Differentiated services (Diffserv) sehingga setiap layanan paket yang dikirimkan akan mendapat perlakuan yang berbeda sesuai dengan skala
    prioritasnya.
Contoh Penggunaan MPLS Pada Jaringan

MPLS biasa digunakan pada jaringan. Berikut ini merupakan contoh penggunaan MPLS pada jaringan yang dapat dilihat pada gambar di bawah ini,

Keterangan:
Misalnya kita akan menghubungkan antara jaringan di Lokasi A dengan jaringan di Lokasi C maka kita dapat melakukannya dengan beberapa cara misalnya melalui jalur routing protocol ataupun melalui jalur MPLS.
  • Dengan Jalur Routing Protocol
Jalur dari Lokasi A akan menuju ke R10 (Router 10) lalu menuju ke R1 (Router 1) selanjutnya ke R2 (Router 2) atau ke R4 (Router 4) kemudian jalurnya menuju ke R3 (Router 3) setelah itu ke R7 (Router 7) dan akhirnya langsung ke Lokasi C. Routing Protocol yang bisa digunakan antara lain yaitu OSPF, BGP dan RIP. Jalur internet yang menghubungkan antara Lokasi A dengan Lokasi C apabila menggunakan routing protocol akan memerlukan waktu yang lebih lama dibandingkan dengan jalur MPLS karena dengan routing protocol jalur yang dilewati lebih banyak.
  • Dengan VPN MPLS
VPN sama halnya dengan jalur MPLS, bedanya hanya data yang dikirim di enkripsi untuk menjaga keprivasian datanya. Selain itu dengan VPN MPLS dapat lebih singkat jalurnya hanya dengan menghubungkan Router di Lokasi A dengan Lokasi C.

Proses Pada MPLS

Untuk mengetahui proses switching yang terjadi pada MPLS dapat diketahui dengan gambar berikut,

Proses Switching Pada Jaringan MPLS
  1. Prinsip kerja MPLS ialah menggabungkan kecepatan switching pada layer 2 dengan kemampuan routing dan skalabilitas pada layer 3.
  2. Cara kerjanya adalah dengan menyelipkan label di antara header layer 2 dan 3 pada paket yang diteruskan.
  3. Label dihasilkan oleh Label-Switching Router dimana bertindak sebagai penghubung jaringan MPLS dengan jaringan luar.
  4. Label berisi informasi tujuan node selanjutnya kemana paket harus dikirim, kemudian paket diteruskan ke node berikutnya, di node ini label paket akan dilepas dan diberi label yang baru yang berisi tujuan berikutnya.
  5. Paket-paket diteruskan dalam path yang disebut LSP (Label Switching Path).
Standarisasi Protokol MPLS

Ada dua standardisasi protokol untuk memanage alur MPLS yaitu :
  1. CR-LDP (Constraint-based Routing Label Distribution Protocol)
  2. RSVP-TE, suatu perluasan protocol RSVP untuk traffic rancang-bangun
  • Suatu header MPLS tidak mengidentifikasi jenis data yang dibawa pada alur MPLS.
  • Jika header membawa 2 tipe jalur yang berbeda diantara 2 router yang sama, dengan treatment yang berbeda dari masing – masing jenis core router, maka header MPLS harus menetapkan jalurnya untuk masing – masing jenis traffic
MPLS Over ATM

MPLS over ATM adalah alternatif untuk menyediakan interface IP/MPLS dan ATM dalam suatu jaringan. Alternatif ini lebih baik daripada IP over ATM, karena menciptakan semacam IP over ATM yang tidak lagi saling acuh. Alternatif ini juga lebih baik daripada MPLS tunggal, karena mampu untuk mendukung trafik non IP jika dibutuhkan oleh customer. Gambar di bawa ini merupakan gambaran pada MPLS Over ATM

  • Seperti paket IP, paket MPLS akan dienkapsulasikan ke dalam AAL 5, kemudian dikonversikan menjadi sel – sel ATM.
  • Kelemahan sistem MPLS over ATM ini adalah bahwa keuntungan MPLS akan berkurang, karena banyak kelebihannya yang akan overlap dengan keuntungan ATM. Alternatif ini sangat tidak cost-effective
Hibrida MPLS-ATM

Hibrida MPLS-ATM adalah sebuah network yang sepenuhnya memadukan jaringan MPLS di atas core network ATM. MPLS dalam hal ini berfungsi untuk mengintegrasikan fungsionalitas IP dan ATM, bukan memisahkannya. Tujuannya adalah menyediakan network yang dapat menangani trafik IP dan non-IP sama baiknya, dengan efisiensi tinggi.

Network terdiri atas LSR-ATM. Trafik ATM diolah sebagai trafik ATM. Trafik IP diolah sebagai trafik ATM-MPLS, yang akan menggunakan VPI and VCI sebagai label. Format sel ATM-MPLS digambarkan pada gambar berikut,


Integrasi switch ATM dan LSR diharapkan mampu menggabungkan kecepatan switch ATM dengan kemampuan multi layanan dati MPLS. Biaya bagi pembangunan dan pemeliharaan network masih cukup optimal, mendekati biaya bagi network ATM atau network MPLS.

Label dan Labeled Paket

  1. Peralatan MPLS memforward ke semua packet yang diberi label dengan cara yang sama.
  2. Suatu label berada di tempat yang significant diantara sepasang peralatan MPLS.
  3. MPLS label dapat diletakkan pada posisi yang berbeda di dalam data frame, tergantung pada teknologi layer-2 yang digunakan untuk transport. Jika teknologi layer 2 mendukung suatu label, MPLS label adalah encapsulated bidang label yang asli.
Jika teknologi layer 2 tidak secara asli mendukung suatu label, maka MPLS label terletak pada suatu encapsulasi header.

GMPLS

GMPLS (Generalized MPLS) adalah konsep konvergensi vertikal dalam teknologi transport, yang tetap berbasis pada penggunaan label seperti MPLS. Setelah MPLS dikembangkan untuk memperbaiki jaringan IP, konsep label digunakan untuk jaringan optik berbasis DWDM, dimana panjang gelombang (λ) digunakan sebagai label. Standar yang digunakan disebut MPλS. Namun, mempertimbangkan bahwa sebagian besar jaringan optik masih memakai SDH, bukan hanya DWDM, maka MPλS diperluas untuk meliputi juga TDM, ADM dari SDH, OXC. Konsep yang luas ini lah yang dinamai GMPLS.

GMPLS merupakan konvergensi vertikal, karena ia menggunakan metode label switching dalam layer 0 hingga 3 [Allen 2001]. Tujuannya adalah untuk menyediakan network yang secara keseluruhan mampu menangani bandwidth besar dengan QoS yang konsisten serta pengendalian penuh. Dan terintegrasi Diharapkan GMPLS akan menggantikan teknologi SDH dan ATM klasik, yang hingga saat ini masih menjadi layer yang paling mahal dalam pembangunan network. Proses enkapsulasi pada GMPLS dapat dilihat pada gambar berikut ini.

Implementasi MPLS

MPLS bersifat alami bagi dunia IP. Traffic engineering pada MPLS memperhitungkan sepenuhnya karakter traffic IP yang melewatinya. Keuntungan lain adalah tidak diperlukannya kerumitan teknis, seperti enkapsulasi ke dalam AAL dan pembentukan sel-sel ATM yang masing-masing menambah delay, menambah header, dan memperbesar kebutuhan bandwidth. MPLS tidak memperlukan hal-hal itu .

Persoalan besar dengan MPLS adalah bahwa hingga saat ini belum terbentuk dukungan untuk traffic non IP. Skema-skema L2 over MPLS (termasuk Ethernet over MPLS, ATM over MPLS, dan FR over MPLS) sedang dalam riset yang progressif, tetapi belum masuk ke tahap pengembangan secara komersial. Yang cukup menjadikan harapan adalah banyaknya alternatif konversi berbagai jenis traffic ke dalam IP, sehingga traffic jenis itu dapat pula diangkut melalui jaringan MPLS.

Kesimpulan

MPLS merupakan teknologi penyampaian paket pada jaringan backbone (jaringan utama) berkecepatan tinggi yang menggabungkan beberapa kelebihan dari sistem komunikasi circuit-switched dan packet-switched yang melahirkan teknologi yang lebih baik dari keduanya. Juga dapat dikatakan MPLS adalah arsitektur network yang didefinisikan oleh IETF untuk memadukan mekanisme label swapping di layer 2 dengan routing di layer 3 untuk mempercepat pengiriman paket. Tidak seperti ATM yang memecah paket-paket IP, MPLS hanya melakukan enkapsulasi paket IP, dengan memasang header MPLS. Jaringan MPLS terdiri atas sirkit yang disebut label-switched path (LSP), yang menghubungkan titik-titik yang disebut label-switched router (LSR). Untuk membentuk LSP, diperlukan suatu protokol
persinyalan. Protokol ini menentukan forwarding berdasarkan label pada paket. Label yang pendek dan berukuran tetap mempercepat proses forwarding dan mempertinggi fleksibilitas pemilihan path. Hasilnya adalah network datagram yang bersifat lebih connection-oriented. Dalam MPLS terdapat dua standarisasi, yaitu CR-LDP (Constraint-based Routing Label Distribution Protocol) dan RSVP-TE, suatu perluasan protocol RSVP untuk traffic rancangbangun.

IPv6

Sebelumnya sudah pernah saya posting artikel tentang perbedaan IPv4 dengan IPv6, namun untuk kali ini saya akan menyampaikan lebih mendalam tentang IPv6. Baik tentang keunggulannnya, transisi dari IPv4 ke IPv6 hingga routing protokol pada IPv6.

Abstrak
Perkembangan teknologi jaringan komputer dewasa ini semakin pesat seiring dengan kebutuhan masyarakat akan layanan yang memanfaatkan jaringan komputer. Pada sistem jaringan komputer, protokol merupakan suatu bagian yang paling penting. Protokol jaringan yang umum digunakan adalah IPv4, yang masih terdapat beberapa kekurangan dalam menangani jumlah komputer dalam suatu jaringan yang semakin kompleks. Telah dikembangkan protokol jaringan baru, yaitu IPv6 yang merupakan solusi dari masalah diatas. Protokol baru ini belum banyak diimplementasikan pada jaringan-jaringan di dunia.

IP versi 6 (IPv6) adalah protokol Internet versi baru yang didesain sebagai pengganti dari Internet protocol versi 4 (IPv4) yang didefinisikan dalam RFC 791. IPv6 yang memiliki kapasitas address raksasa (128 bit), mendukung penyusunan address secara terstruktur, yang memungkinkan Internet terus berkembang dan menyediakan kemampuan routing baru yang tidak terdapat pada IPv4. IPv6 memiliki tipe address anycast yang dapat digunakanuntuk pemilihan route secara efisien. Selain itu IPv6 juga dilengkapi oleh mekanisme penggunaan address secara local yang memungkinkan terwujudnya instalasi secara Plug&Play, serta menyediakan platform bagi cara baru pemakaian Internet, seperti dukungan terhadap aliran datasecara real-time, pemilihan provider, mobilitas host, end-to-end security, ataupun konfigurasi otomatis.

Pendahuluan

IPv4 yang merupakan pondasi dari Internet telah hampir mendekati batas akhir dari kemampuannya, dan IPv6 yang merupakan protokol baru telah dirancang untuk dapat menggantikan fungsi IPv4. Motivasi utama untuk mengganti IPv4 adalah karena keterbatasan dari panjang addressnya yang hanya 32 bit saja serta tidak mampu mendukung kebutuhan akan komunikasi yang aman, routing yang fleksibel maupun pengaturan lalu lintas data.
Header IPv4
IP versi 6 (IPv6) adalah protokol Internet versi baru yang didesain sebagai pengganti dari Internet protocol versi 4 (IPv4) yang didefinisikan dalam RFC 791. IPv6 yang memiliki kapasitas address raksasa (128 bit), mendukung penyusunan address secara terstruktur, yang memungkinkan Internet terus berkembang dan menyediakan kemampuan routing baru yang tidak terdapat pada IPv4. IPv6 memiliki tipe address anycast yang dapat digunakanuntuk pemilihan route secara efisien. Selain itu IPv6 juga dilengkapi oleh mekanisme penggunaan address secara local yang memungkinkan terwujudnya instalasi secara Plug&Play, serta menyediakan platform bagi cara baru pemakaian Internet, seperti dukungan terhadap aliran datasecara real-time, pemilihan provider, mobilitas host, end-to-end security, ataupun konfigurasi otomatis.

Keunggulan IPv6

Otomatisasi berbagai setting / Stateless-less auto-configuration (plug&play) Address pada IPv4 pada dasarnya statis terhadap host. Biasanya diberikan secara berurut pada host. Memang saat ini hal di atas bisa dilakukan secara otomatis dengan menggunakan DHCP (Dynamic Host Configuration Protocol), tetapi hal tersebut pada IPv4 merupakan fungsi tambahan saja, sebaliknya pada IPv6 fungsi untuk mensetting secara otomatis disediakan secara standar dan merupakan defaultnya. Pada setting otomatis ini terdapat 2 cara tergantung dari penggunaan address, yaitu setting otomatis stateless dan statefull.

  • Setting Otomatis Statefull 
Cara pengelolaan secara ketat dalam hal range IP address yang diberikan pada host dengan menyediakan server untuk pengelolaan keadaan IP address, dimana cara ini hampir mirip dengan cara DHCP pada IPv4. Pada saat melakukan setting secara otomatis, informasi yang dibutuhkan antara router, server dan host adalah ICMP (Internet Control Message Protocol) yang telah diperluas. Pada ICMP dalam IPv6 ini, termasuk pula IGMP (Internet Group management Protocol) yang dipakai pada multicast pada IPv4.
setting otomatis statefull
  • Setting Otomatis Stateless
Pada cara ini tidak perlu menyediakan server untuk pengelolaan dan pembagian IP address, hanya mensetting router saja dimana host yang telah tersambung di jaringan dari router yang ada pada jaringan tersebut memperoleh prefix dari address dari jaringan tersebut. Kemudian host menambah pattern bit yang diperoleh dari informasi yang unik terhadap host, lalu membuat IP address sepanjang 128 bit dan menjadikannya sebagai IP address dari host tersebut. Pada informasi unik bagi host ini, digunakan antara lain address MAC dari jaringan interface. Pada setting otomatis stateless ini dibalik kemudahan pengelolaan, pada Ethernet atau FDDI karena perlu memberikan paling sedikit 48 bit (sebesar address MAC) terhadap satu jaringan, memiliki kelemahan yaitu efisiensi penggunaan address yang buruk.

Perubahan Dari IPV4 ke IPV6

Perubahan dari IPv4 ke IPv6 pada dasarnya terjadi karena beberapa hal yang dikelompokkan dalam kategori berikut :
  • Kapasitas Perluasan Alamat
IPv6 meningkatkan ukuran dan jumlah alamat yang mampu didukung oleh IPv4 dari 32 bit 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.
  • 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.
  • Option dan Extension 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 datang.
  • 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.
  • Autentifikasi dan Kemampuan Privasi
Kemampuan tambahan untuk mendukung autentifikasi, integritas data dan data penting juga dispesifikasikan dalam alamat IPv6.
Perubahan terbesar pada IPv6 adalah perluasan IP address dari 32 bit pada IPv4 menjadi 128 bit.128 bit ini adalah ruang address yang kontinyu dengan menghilangkan konsep kelas. Selain itu juga dilakukan perubahan pada cara penulisan IP address. Jika pada IPv4 32 bit dibagi menjadi masing-masing 8 bit yang dipisah kan dengan "." dan dituliskan dengan angka desimal, maka pada IPv6, 128 bit tersebut dipisahkan menjadi masing-masing 16 bit yang tiap bagian dipisahkan dengan ":"dan dituliskan dengan hexadesimal. Selain itu diperkenalkan pula struktur bertingkat agar pengelolaan routing menjadi mudah. Pada CIDR (Classless Interdomain Routing) table routing diperkecil dengan menggabungkan jadi satu informasi routing dari sebuah organisasi.


Untuk memahami tentang struktur bertingkat address pada IPv6 ini, dengan melihat contoh pada address untuk provider. Pertama-tama address sepanjang 128 bit dibagi menjadi beberapa field yang dapat berubah panjang. Jika 3 bit pertama dari address adalah "010", maka ini adalah ruang bagi provider. Sedangkan n bit berikutnya adalah registry ID yaitu field yang menunjukkan tempat/lembaga yang memberikan IP address. Misalnya IP address yang diberikan oleh InterNIC maka field tersebut menjadi "11000". Selanjutnya m bit berikutnya adalah provider ID, sedangkan o bit berikutnya adalah Subscriber ID untuk membedakan organisasi yang terdaftar pada provider tersebut.

Kemudian p bit berikutnya adalah Subnet ID, yang menandai kumpulan host yang tersambung secara topologi dalam jaringan dari organisasi tersebut. Dan yang q=125-(n+m+o+p) bit terakhir adalah Interface ID, yaitu IP address yang menandai host yang
terdapat dalam grup-grup yang telah ditandai oleh Subnet ID.

Subnet ID dan Interface ID ini bebas diberikan oleh organisasi tersebut. Organisasi bebas menggunakan sisa p+q bit dari IP address dalam memberikan IP address di dalam organisasinya setelah mendapat 128-(p+q) bit awal dari IP address. Pada saat itu, administrator dari organisasi tersebut dapat membagi menjadi bagian sub-jaringan dan host dalam panjang bit yang sesuai, jika diperlukan dapat pula dibuat lebih terstruktur lagi. Karena panjang bit pada provider ID dan subscriber ID bisa berubah, maka address yang diberikan pada provider dan jumlah IP address yang dapat diberikan oleh provider kepada pengguna dapat diberikan secara bebas sesuai dengan kebutuhan. Pada IPv6 bagian kontrol routing pada address field disebut prefix, yang dapat dianggap setara dengan jaringan address pada IPv4.

Address IPV6
  • Unicast Address (one-to-one)
Digunakan untuk komunikasi satu lawan satu, dengan menunjuk satu host. Pada Unicast address ini terdiri dari :
  1. Global, address yang digunakan misalnya untuk address provider atau address
    geografis.
  2. Link Local Address adalah address yang dipakai di dalam satu link saja. Yang dimaksud link di sini adalah jaringan lokal yang saling tersambung pada satu level. Address ini dibuat secara otomatis oleh host yang belum mendapat address global, terdiri dari 10+n bit prefix yang dimulai dengan "FE80" dan field sepanjang 118-n bit yang menunjukkan nomor host. Link Local Address digunakan pada pemberian IP address secara otomatis.
  3. Site-local, address yang setara dengan private address, yang dipakai terbatas di dalam site saja. Address ini dapat diberikan bebas, asal unik di dalam site tersebut, namun tidak bisa mengirimkan packet dengan tujuan alamat ini di luar dari site tersebut.
  4. Compatible
struktur unicast address
pengiriman paket pada unicast address
  • Multicast (One-to-Many)
Yang digunakan untuk komunikasi 1 lawan banyak dengan menunjuk host dari group. Multicast Address ini pada IPv4 didefinisikan sebagai kelas D, sedangkan pada IPv6 ruang yang 8 bit pertamanya di mulai dengan "FF" disediakan untuk multicast Address. Ruang ini kemudian dibagi-bagi lagi untuk menentukan range berlakunya. Kemudian Blockcast address pada IPv4 yang address bagian hostnya didefinisikan sebagai "1", pada IPv6 sudah termasuk di dalam multicast Address ini. Blockcast address untuk komunikasi dalam segmen yang sama yang dipisahkan oleh gateway, sama halnya dengan multicast address dipilah berdasarkan range tujuan.
pengiriman paket pada multicast
  • Anycast Address
Yang menunjuk host dari group, tetapi packet yang dikirim hanya pada satu host saja. Pada address jenis ini, sebuah address diberikan pada beberapa host, untuk mendifinisikan kumpulan node. Jika ada packet yang dikirim ke address ini, maka router akan mengirim packet tersebut ke host terdekat yang memiliki Anycast address sama. Dengan kata lain pemilik packet menyerahkan pada router tujuan yang paling "cocok"bagi pengiriman packet tersebut. Pemakaian Anycast Address ini misalnya terhadap beberapa server yang memberikan layanan seperti DNS (Domain Name Server). Dengan memberikan Anycast Address yang sama pada server-server tersebut, jika ada packet yang dikirim oleh client ke address ini, maka router akan memilih server yang terdekat dan mengirimkan packet tersebut ke server tersebut. Sehingga, beban terhadap server dapat terdistribusi secara merata.Bagi Anycast Address ini tidak disediakan ruang khusus. Jika terhadap beberapa host diberikan sebuah address yang sama, maka address tersebut dianggap sebagai Anycast Address.

Struktur Paket Pada IPv6

Dalam pendesignan header pakket ini, diupayakan agar cost/nilai pemrosesan header menjadi kecil untuk mendukung komunikasi data yang lebih real time. Misalnya, address awal dan akhir menjadi dibutuhkan pada setiap packet. Sedangkan pada header IPv4 ketika packet dipecah-pecah, ada field untuk menyimpan urutan antar packet. Namun field tersebut tidak terpakai ketika packet tidak dipecah-pecah. Header pada Ipv6 terdiri dari dua jenis, yang pertama, yaitu field yang dibutuhkan oleh setiap packet disebut header dasar, sedangkan yang kedua yaitu field yang tidak selalu diperlukan pada packet disebut header ekstensi, dan header ini didifinisikan terpisah dari header dasar. Header dasar selalu ada pada setiap packet, sedangkan header tambahan hanya jika diperlukan diselipkan antara header dasar dengan data. Header tambahan, saat ini didefinisikan selain bagi penggunaan ketika packet dipecah, juga didefinisikan bagi fungsi sekuriti dan lain-lain. Header tambahan ini, diletakkan setelah header dasar, jika dibutuhkan beberapa header maka header ini akan disambungkan berantai dimulai dari header dasar dan berakhir pada data. Router hanya perlu memproses header yang terkecil yang diperlukan saja, sehingga waktu pemrosesan menjadi lebih cepat. Hasil dari perbaikan ini, meskipun ukuran header dasar membesar dari 20 bytes menjadi 40 bytes namun jumlah field berkurang dari 12 menjadi 8 buah saja.
Struktur Header Dasar Pada IPv6
Label Alir dan Real Time Process

Header dari packet pada IPv6 memiliki field label alir (flow-label) yang digunakan untuk meminta agar packet tersebut diberi perlakuan tertentu oleh router saat dalam pengiriman (pemberian ‘flag’). Misalnya pada aplikasi multimedia sedapat mungkin ditransfer secepatnya walaupun kualitasnya sedikit berkurang, sedangkan e-mail ataupun WWW lebih memerlukan sampai dengan akurat dari pada sifat real time.
Tabel Label Alir Pada IPv6
Router mengelola skala prioritas maupun resource seperti kapasitas komunikasi atau kemampuan memproses, dengan berdasar pada label alir ini. Jika pada IPv4 seluruh packet diperlakukan sama, maka p ada IPv6 ini dengan perlakuan yang berbeda terhadap tiap packet, tergantung dari isi packet tersebut, dapat diwujudkan komunikasi yang aplikatif.

IPv6 Transition (IPv4-IPv6)

Untuk mengatasi kendala perbedaan antara IPv4 dan IPv6 serta menjamin terselenggaranya komunikasi antara pengguna IPv4 dan pengguna IPv6, maka dibuat suatu metode Hosts – dual stack serta Networks – Tunneling pada hardware jaringan, misalnya router dan server.
Network - Tunneling
Jadi setiap router menerima suatu packet, maka router akan memilah packet tersebut untuk menentukan protokol yang digunakan, kemudian router tersebut akan meneruskan ke layer diatasnya.

Representasi Alamat pada IPv6

Model x:x:x:x:x:x:x:x dimana ‘x‘ berupa nilai hexadesimal dari 16 bit porsi alamat, karena ada 8 buah ‘x‘ maka jumlah totalnya ada 16 * 8 = 128 bit. Contohnya adalah :

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

Jika format pengalamatan IPv6 mengandung kumpulan group 16 bit alamat, yaitu ‘x‘, yang bernilai 0 maka dapat direpresentasikan sebagai ‘::’. Contohnya adalah :

FEDC:0:0:0:0:0:7654:3210

dapat direpresentasikan sebagai

FEDC::7654:3210                         0:0:0:0:0:0:0:1
dapat direpresentasikan sebagai

::1

Model x:x:x:x:x:x:d.d.d.d dimana ‘d.d.d.d’ adalah alamat IPv4 semacam 167.205.25.6 yang digunakan untuk automatic tunnelling. Contohnya adalah :
0:0:0:0:0:0:167.205.25.6 atau ::167.205.25.6
0:0:0:0:0:ffff:167.205.25.7
atau :ffff:167.205.25.7
Jadi jika sekarang anda mengakses alamat di internet misalnya 167.205.25.6 pada saatnya nanti format tersebut akan digantikan menjadi semacam ::ba67:080:18. Sebagaimana IPv4, IPv6 menggunakan bit mask untuk keperluan subnetting yang direpresentasikan sama seperti representasi prefix-length pada teknik CIDR yang digunakan pada IPv4, misalnya :

3ffe:10:0:0:0:fe56:0:0/60

menunjukkan bahwa 60 bit awal merupakan bagian network bit. Jika pada IPv4 anda  mengenal pembagian kelas IP menjadi kelas A, B, dan C maka pada IPv6 pun dilakukan pembagian kelas berdasarkan fomat prefix (FP) yaitu format bit awal alamat. Misalnya :

3ffe:10:0:0:0:fe56:0:0/60

maka jika diperhatikan 4 bit awal yaitu hexa ‘3’ didapatkan format prefixnya untuk 4 bit awal adalah 0011 (yaitu nilai ‘3’ hexa dalam biner).

Kelas Ipv6

Ada beberapa kelas IPv6 yang penting yaitu :
  1. Aggregatable Global Unicast Addresses : termasuk di dalamnya adalah alamat IPv6
    dengan bit awal 001.
  2. Link-Local Unicast Addresses : termasuk di dalamnya adalah alamat IPv6 dengan bit awal 1111 1110 10.
  3. Site-Local Unicast Addresses : termasuk di dalamnya adalah alamat IPv6 dengan bit awal 1111 1110 11.
  4. Multicast Addresses : termasuk di dalamnya adalah alamat IPv6 dengan bit awal 1111 1111.
Pada protokol IPv4 dikenal alamat-alamat khusus semacam 127.0.0.1 yang mengacu ke localhost, alamat ini direpresentasikan sebagai 0:0:0:0:0:0:0:1 atau ::1 dalam protokol IPv6. Selain itu pada IPv6 dikenal alamat khusus lain yaitu 0:0:0:0:0:0:0:0 yang dikenal sebagai unspecified address yang tidak boleh diberikan sebagai pengenal pada suatu interface. Secara garis besar format unicast address adalah sebagai berikut :
Interface ID digunakan sebagai pengenal unik masing-masing host dalam satu subnet. Dalam  penggunaannya umumnya interface ID berjumlah 64 bits dengan format IEEE EUI-64. Jika digunakan media ethernet yang memiliki 48 bit MAC address maka pembentukan interface ID dalam format IEEE EUI-64 adalah sebagai berikut :
Misalkan MAC address-nya adalah 00:40:F4:C0:97:57
  1. Tambahkan 2 byte yaitu 0xFFFE di bagian tengah alamat tersebut sehingga
    menjadi 00:40:F4:FF:FE:C0:97:57
  2. Komplemenkan (ganti bit 1 ke 0 dan sebaliknya) bit kedua dari belakang pada byte
    awal alamat yang terbentuk, sehingga yang dikomplemenkan adalah ‘00’ (dalam
    hexadesimal) atau ‘00000000’ (dalam biner) menjadi ‘00000010’ atau ‘02’ dalam
    hexadesimal.
  3. Didapatkan interface ID dalam format IEEE EUI-64 adalah 0240:F4FF:FEC0:9757
Perbandingan IPv4 dengan IPv6

Network-Tunneling

 Protokol Routing Pada Ipv6

Protokol routing yang digunakan pad a IPv6 adalah BGP4+ untuk external routing dan OSPFv6, RIPng untuk internal routing.
  • 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.

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:
  1. OPEN, tipe pesan yang diterima sewaktu koneksi antar BGP tersambungkan.
  2. UPDATE, tipe pesan yang dikirimkan untuk mengirimkan informasi routing antar BGP.
  3. KEEPALIVE, tipe pesan yang dikirimkan untuk mengetahui apakah pasangan BGP masih hidup
  4. NOTIFICATION, tipe pesan yang dikirimkan apabila terjadi error.
  • Attribut 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.
  • 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
Format RIP Header
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.
  • 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.
Format OSPF Header
Keterangan OSPF:
Version, 8 bit, diisi dengan dengan versi dari OSPF.
Type, 8 bit, diisi dengan Type code dari OSPF yaitu:
  1. Hello, untuk mengetahui adanya pasangan OSPF
  2. Database Description, mengirimkan deskripsi dari OSPF
  3. Link State Request, meminta data dari pasangan OSPF
  4. Link State Update, mengupdate data table pada OSPF
  5. Link State Aknowledgment, mengirimkan pesan error
Length, 16 bit, panjang header dan data dari OSPF
Router ID, 32 bit, Router ID dari source paket
Area ID, 32 bit, Area dari paket ini.
Checksum, 16 bit
AuType, 16 bit, model autentifikasi dari OSPF
Authentication, 64 bit, misal tanpa autenticasi, simple password, cryptographic
password.

Keterangan untuk OSPFv3:
Version, 8 bit, diset 3
Checksum, 16 bit, CRC
Instance ID, 8 bit
Reserves, 8 bit diset 0
  • Perbandingan antara Link State dengan Distance Vektor
  1. Konversi lebih cepat daripada Distance Vektor
  2. Mudah dalam bentuk Topologi Jaringan
  3. Mudah dalam hal Routing
  4. Bisa memiliki routing tabel yang kompleks
  • Perbedaan Antara OSPF Ipv4 dengan OSPF IPv6
  1. Komunikasi menggunakan link-state tidak menggunakan subnet.
  2. Menghilangkan alamat semantic.
  3. Menggunakan scope IPv6 yaitu: link-local scope, area-scope, AS scope.
  4. Mendukung multi OSPF pada link yang sama.
  5. Menggunakan alamat link-local.
  6. Menghilangkan authentifikasi.
  7. Perubahan format paket.
Contoh Infrastruktur IPv6

Infrastruktur IPv6
Infrastruktur IPv6
Kesimpulan

IPv4 yang merupakan pondasi dari Internet telah hampir mendekati batas akhir dari kemampuannya, dan IPv6 yang merupakan protokol baru telah dirancang untuk dapat menggantikan fungsi IPv4. Motivasi utama untuk mengganti IPv4 adalah karena keterbatasan dari panjang addressnya yang hanya 32 bit saja serta tidak mampu mendukung kebutuhan akan komunikasi yang aman, routing yang fleksibel maupun pengaturan lalu lintas data. Keunggulan IPv6 dibandingkan dengan IPv4 diantaranya yaitu setting otomatis stateless dan statefull. Kemudian, dasar migrasi / perubahan dari Ipv4 ke Ipv6 diantaranya kapasitas perluasan alamat, penyederhanaan format header, option dan extension header, kemampuan pelabelan aliran paket serta autentifikasi dan kemampuan privasi. Untuk mengatasi kendala
perbedaan antara IPv4 dan IPv6 serta menjamin terselenggaranya komunikasi antara pengguna IPv4 dan pengguna IPv6, maka dibuat suatu metode Hosts – dual stack serta Networks – Tunneling pada hardware jaringan, misalnya router dan server.