Belajar Membuat Aplikasi Android

Pada artikel ini saya akan membuat sebuah aplikasi android sederhana, yakni "Hello World". Bagi yang udah jago pemrograman pastinya tau dong kalau hal pertama kali dalam belajar ngoding alias pemrograman pasti nampilin "Hello World" :D

Disini saya asumsikan anda sebagai pemula dalam belajar pemrograman Android, termasuk saya juga. :D.
Untuk memulai membuat sebuah aplikasi android yang anda butuhkan paling utama adalah environment nya. Pada aplikasi ini saya menggunakan IDE Eclipse. Nah, bagi yang sudah punya eclipse pastinya sudah tau dong untuk memulai membuat program Android itu yang dibutuhkan apa aja? yups SDK ama plugin ADT, tinggal cari aja di gugel udah ada. :)

untuk yang pemula silahkan kunjungi link berikut http://developer.android.com/sdk/index.html, di link tersebut sudah disediakan Eclipse bundling dengan SDK dan ADT. Anda tinggal download, ekstrak dan siap mulai belajar. :)

Baik, untuk memulai membuat aplikasi yang supeer sederhana ini #lebay adalah klik File pada Eclipse dan pilih New Android Project, kalau Android Project tidak tampil, klik Other dan pilih Android Application Project seperti gambar di bawah ini.


Apabila muncul jendela AVD, pilih sesuai kebutuhan anda, disini saya pakai AVD (Android Virtual Device) atau emulator 4.1.2.
Jangan lupa kasih nama aplikasi tersebut, misalnya "AplikasiHalo"

Klik next terus sampai ketemu tombol finish, dan klik. :)
Untuk menjalankannya, klik kanan pada project dan Run As Android Application


hasil akhirnya seperti tampilan berikut.
Cukup simple kan...

Untuk memperdalam tentang aplikasi Android silakan anda cari referensi maupun sumber-sumber di internet. Sudah banyak ilmu tentang pemrograman Android dishare di internet, atau kalau mau anda juga bisa mencari refrensi lewat buku, terdapat juga banyak buku yang membahas tentang pemrograman Android. Intinya jangan malas untuk belajar, belajar, dan terus belajar. :D



Konfigurasi IP Static Di Oracle Solaris 11

Pada artikel sebelumnya saya sudah sharing tentang instalasi Oracle Solaris 11 di VMware, kemudian langkah instalasi tersebut sudah saya implementasikan ke mesin fisik atau hardware, dan hasilnya nothing problem :). Bagaimana dengan anda?

Selanjutnya saya akan menjelaskan tentang konfigurasi IP Static di Oracle Solaris 11. Namun, sebelum itu saya akan sharing tentang fitur baru pada konfigurasi network di Oracle Solaris 11.

Arsitektur network pada Oracle Solaris 11 secara signifikan berbeda dengan rilis Oracle Solaris sebelumnya. Tidak hanya terjadi perubahan pada implementasi, tapi nama dari network interfaces dan command serta method untuk administrasi dan konfigurasi juga mengalamai perubahan di Oracle Solaris 11 ini.

Perubahan ini diperkenalkan untuk membawa pengalaman yang lebih konsisten dan terintegrasi untuk administrasi jaringan, terutama sebagai administrator menambahkan konfigurasi lebih kompleks termasuk agregasi link, bridging, load balancing, atau virtual network. Selain konfigurasi jaringan yang tetap tradisional, Oracle Solaris 11 memperkenalkan konfigurasi jaringan otomatis melalui profil jaringan.

Fitur Baru dari Network Configuration Oracle Solaris 11

Oracle Solaris 11 memperkenalkan dua perintah baru untuk mengelola jaringan secara manual, dladm dan ipadm, dan keduanya menggantikan ifconfig. Tidak seperti ifconfig, perubahan yang dilakukan oleh dladm dan ipadm gigih di reboot. Kedua perintah tersebut saling berhubungan, konsisten dan tidak seperti ifconfig, dladm dan ipadm memiliki output parseable yang dapat digunakan dalam skrip.

dladm melakukan administrasi data-link (lapisan 2) untuk mengkonfigurasi link fisik, agregasi, VLAN, IP tunnels dan partisi InfiniBand. Selaintu juga mengelola link-layer properti.

ipadm mengkonfigurasi IP interfaces, alamat IP, dan properti protokol TCP / IP. Hal ini juga menggantikan penggunaan ndd untuk jaringan dan tuning transport layer.

Penamaan data-link tidak lagi sama dengan interface fisik, yang mungkin menjadi perangkat virtual. Sebaliknya, mereka memiliki nama umum, seperti net0 atau net1, atau administrator dapat memberikannya nama yang lebih deskriptif. Hal ini memungkinkan hardware yang diubah tanpa mempengaruhi konfigurasi jaringan.

Selain itu, Oracle Solaris 11 menambahkan konfigurasi jaringan otomatis menggunakan profil jaringan. Profil dikelola dengan dua administrasi perintah netadm dan netcfg, dan menggambarkan konfigurasi dari network interfaces, name services, routing, dan IP filter serta IPsec policies dalam satu kesatuan.

Mode Jaringan Manual dan Automatic

Pada Oracle Solaris 11 sudah menggunakan profil berbasis network configuration, yang terdiri dari dua mode konfigurasi yakni DefaultFixed network configuration profile (NCP) dan Automatic NCP.

Pada Automatic NCP menggunakan DHCP untuk mendapatkan konfigurasi jaringan dasar (IP address, router dan DNS server) dari salah satu Ethernet interfaces yang terhubung ke jaringan LAN. Sedangkan DefaultFixed NCP menonaktifkan jaringan otomatis dan memerlukan network interfaces yang akan dikonfigurasi secara manual menggunakan dladm dan ipadm.

Anda dapat menggunakan perintah netadm untuk mengecek network profil yang sedang active di dalam sistem.

root@solaris:~# netadm list
TYPE       PROFILE     STATE
ncp        Automatic   online
ncu:phys   net0        online
ncu:ip     net0        online
loc        Automatic   online
loc        NoNet       offline
loc        User        online
 
Untuk mengaktifkan mode jaringan manual dapat diketikkan perintah berikut

root@solaris:~# netadm enable -p ncp DefaultFixed
root@solaris:~# netadm list
netadm: DefaultFixed NCP is enabled; automatic network management is not available.
'netadm list' is only supported when automatic network management is active.
 

Sedangkan untuk mengembalikan ke mode otomatis dapat diketikkan perintah berikut

root@solaris:~# netadm enable -p ncp Automatic
root@solaris:~# netadm list
TYPE       PROFILE     STATE
ncp        Automatic   uninitialized
ncu:phys   net0        uninitialized
ncu:ip     net0        uninitialized
loc        Automatic   uninitialized
 
Konfigurasi IP Static

Sebelum mengkonfigurasi IP Static, pastikan mode jaringan anda alihkan ke mode manual dengan memasukkan perintah

root@solaris:~# netadm enable -p ncp DefaultFixed
 
Selanjutnya anda dapat menggunakan perintah di bawah ini ini untuk mengetahui penamaan network interface yang dipetakan ke physical interfaces.

root@solaris:~# dladm show-phys
LINK              MEDIA                STATE      SPEED  DUPLEX    DEVICE
net0              Ethernet             up         100    full      e1000g0

root@solaris:~# dladm show-link
LINK     CLASS     MTU     STATE     BRIDGE   OVER
net0     phys      1500    up        --       --
 
Kemudian lakukan langkah-langkah di bawah ini untuk mengassign IP static (disini saya menggunakan IP 10.3.55.5).

root@solaris:~# ipadm create-ip net0
root@solaris:~# ipadm show-if
IFNAME     CLASS      STATE      ACTIVE      OVER
lo0        loopback   ok         yes         ---
net0       ip         down       no          ---
root@solaris:~# ipadm create-addr -T static -a 10.3.55.5/24 net0/v4
root@solaris:~# ipadm show-if
IFNAME      CLASS     STATE      ACTIVE      OVER
lo0         loopback  ok         yes         ---
net0        ip        ok         yes         ---
root@solaris:~# ipadm show-addr
ADDROBJ     TYPE      STATIC     ADDR
lo0/v4      static    ok         127.0.0.1/8
net0/v4     static    ok         10.3.55.5/24
lo0/v6      static    ok         ::1/128
 
Anda dapat menambahkan sebuah persistent default route

root@solaris:~# route -p add default 10.3.55.1
add net default: gateway 10.3.55.1
add persistent net default: gateway 10.3.55.1
 
Setelah melakukan langkah-langkah di atas, reboot atau restart sistem anda. Kemudian untuk mengeceknya, coba ping dari komputer lain yang masih satu LAN untuk membuktikan bahwa alamat statik yang anda assign tadi sudah mereply ping anda.

Selamat mencoba. (^_^)

Install Oracle Solaris 11 Di Virtual Machine

Berawal dari adanya masalah teknis server di lab yang disebabkan oleh listrik byar pet byar pet... -__-' mengakibatkan Open Solaris sebagai OS server tidak bisa bekerja lagi melayani request user #lebay. Akhirnya saya install lagi dengan menggunakan Oracle Solaris 11 (karena sekarang Solaris sudah diakuisisi oleh Oracle).

Sebelum saya install di mesin fisik atau di PC, saya uji coba dulu di Virtual Machine. Disini saya menggunakan Virtual Machine dari VMware, nah berikut cuplikannya.... :D

Pertama kali, buka VMwarenya. Belum punya? cari di mbah gugel yaaa... :p
Setelah muncul jendela VMware nya klik New Virtual Machine. Pilih yang custom, sampai muncul gambar berikut ini:


Selanjutnya klik browse dan cari dimana file iso solaris anda berada, kemudian klik next.


Pilih kategori dan version Solaris, klik next.
Kemudian akan muncul gambar seperti berikut, beri nama sesuai keinginan anda. Disini saya beri nama Oracle Solaris 11.

Klik Next terus hingga muncul jendela Finish. Untuk memulai instalasi di VMware silahkan klik tombol Finish di akhir.

Pada Saat Booting akan muncul tampilan seperti berikut:


Silahkan tekan Enter.
(Jika anda belum terbiasa menggunakan VMware, saya beri tahu apabila ingin mengembalikan mouse atau cursor mouse ke sistem operasi di luar VMware tekan secara bersama-sama tombol Ctrl+Alt)

Proses selanjutnya seperti gambar di bawah ini

Tunggu sampai muncul gambar di bawah ini

Pilih layout Keyboard, default menggunakan US-English. Ketikkan angka 47, kemudian Enter

Pilih language, defaultnya memakai English. Ketikkan angka 3, kemudian Enter

Setelah loading beberapa saat, tampilan desktop dari Oracle Solaris akan muncul. Disini sistem operasi Oracle Solaris belum terinstall, untuk memulainya klik dua kali pada icon "Install Orcale Solaris"


Langkah-langkah instalasi akan dimulai, dengan ditandai munculnya jendela Welcome, langsung klik next saja. :)
Selanjutnya akan muncul jendela "Disk", disini saya memilih "Use The Whole Disk" karena hal ini dilakukan di dalam virtual machine, jadi tidak akan mempengaruhi sistem operasi di luarnya. Klik next



Pilih Time Zone, Date and Time


Masukkan username sama password

Pada bagian akhir akan ditampikan review yang sudah dipilih pada tahap sebelumnya. Jika sudah yakin klik "Install".

Proses Instalasi akan berlangsung, seperti gambar di bawah ini

Pada proses ini memakan waktu cukup lama, sekitar 30-45 menit.

Apabila proses instalasi sudah berhasil, silahkan restart Oracle Solaris.

Dan Oracle Solaris 11 pun siap untuk di oprek. :))



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.