Latest News

IPv6 Preview

IPv6 Preview [BAB I]

Kenapa IPv6 ?

Pertumbuhan internet yang sangat cepat baik di segi pemakai internet di rumah, perkantoran, sekolah, instansi-instansi maupun perkembangan pesat perangkat telekomunikasi yang sudah mulai menggabungkan IP ke dalam teknologinya (convergence) di seluruh dunia telah menyebabkan alamat IPv4 dengan format 32 bit binary yang sudah digunakan sejak awal keberadaan internet, tidak bisa lagi menampung kebutuhan pengalamatan internet setelah jangka waktu 20 tahun kedepan atau bahkan lebih cepat dari itu.
Demikian hasil riset dan perhitungan para pakar dari komunitas terbuka internet (The Internet Engineering Task Force , IETF) menyebutkan.
Dengan hanya 32 bit format address hanya bisa menampung kebutuhan :
32
= 2 IPv4 Address
= 4,294,967,296 IPv4 Address

Bayangkan, penduduk dunia saat ini adalah 6,5 Milyard.
Jika nantinya masing2 punya satu komputer, 1 Lapotop (mobile), 1 PDA, 2 Handphone (GSM & CDMA).
Lalu setiap perangkat butuh 1 IP address untuk bisa connected each other.
Berapa jumlah IP yang dibutuhkan untuk taruhlah 3 Milyard penduduk dunia (bahkan dari 4 milyard IP versi 4 ini tidak keseluruhan bisa dipakai )?

Kekurangan alamat IPv4 ini tentu saja akan membuat perkembangan internet khususnya komunikasi data akan menjadi terganggu karena tidak ada lagi IPv4 yang bisa dialokasikan untuk setiap computer, perangkat lain yang akan terkoneksi baik ke internet maupun antar perangkat.

Langkah antisipasi awal sebenarnya sudah dilakukan dengan teknologi NAT (Network Address Translation) yang bekerja dengan cara melakukan penterjemahan satu alamat IPv4 public ke banyak IPv4 private.
Sehingga satu alamat IPv4 public bisa dipergunakan untuk banyak perangkat yang akan terkoneksi ke internet.

Teknologi ini sudah berkembang luas namun memiliki keterbatasan untuk interkoneksi antar jaringan yang cukup besar dan berbeda kebijakan pengalamatan, berikutnya kebutuhan gateway untuk penterjemahan alamat, serta keterbatasan pengembangan protocol internet terutama untuk aplikasi yang langsung terhubung satu sama lain (peer-to-peer) seperti Peer-to-Peer Games dan VoIP misalnya yang membutuhkan IPv4 public untuk bisa bekerja dengan baik.

Pada tahun 1992 IETF selaku komunitas terbuka internet membuka diskusi para pakar untuk mengatasi masalah ini dengan mencari format alamat IP generasi berikutnya setelah IPv4 (IPng, IP Next Generation) yang kemudian menghasilkan banyak RFC (request for comments) yakni dokumen stardard yang membahas protocol, program, prosedur serta konsep internet IPv6.
Setelah melalui pembahasan yang panjang, pada tahun 1995 ditetapkan melalui RFC2460 alamat IP versi 6 sebagai IP generasi berikutnya (IPng) pengganti IP versi 4.
IPv6 ini menggunakan format 128 bit binary sehingga bisa menampung kebutuhan :
128
= 2 IPv6 Address
= 340,282,366,920,938,463,463,374,607,431,768,211,45 6 IPv6 Address

Pengembangan IPv6 sampai saat ini sudah dilakukan oleh banyak pihak yang ada di seluruh dunia termasuk Service Provider, Internet Exchange Point, ISP regional, Militer serta Universitas.

Untuk Indonesia sendiri sudah dialokasikan 61 prefix IPv6 untuk berbagai organisasi,
mobile operator, IXP dan ISP. Dan berdasarkan data statistic dari badan pengembangan dan penyedia tunnel broker SixXS (www.sixxs.net) hingga saat ini yang aktif :

http://www.sixxs.net/tools/grh/dfp/all/?country=id





IPv6 Subnetting [BAB II]

Dikarenakan IPv6 sangat banyak jumlahnya maka penulisan menggunakan format standard notasi Hexadecimal (Basis 16, dari 0-9 kemudian A-F) yang terdiri dari 8 pasang Octet dan dipisahkan oleh titik dua (colon) sesuai RFC2373 & RFC3177.
Satu pasang octet terdiri dari format 16 bit binary, sehingga keseluruhan 8 pasang octet berjumlah 128 bit.

Contoh penulisan IPv6 adalah sebagai berikut :

2404:0176:0251:AB64:6CD1:5A5E:727A:424A (total 128 bit binary)
424A (2 octet) = 100001001001010 (16 bit binary)

Penulisan juga dapat dipersingkat untuk pasangan octet 0 yang berurutan menggunakan teknik kompresi 0.

2404:0176:0251:0000:0000:0000:0000:0005 dapat ditulis menjadi : 2404:176:251::5

Bahkan untuk alamat IPv6 tertentu teknik ini sangat berguna sekali dalam mempersingkat pengalamatan yang panjang, misal :

0000:0000:0000:0000:0000:0000:0000:0001 atau 0:0:0:0:0:0:0:1 menjadi ::1
0:0:0:0:0:0:0:0 menjadi ::

Layaknya IPv4, IPv6 juga memenuhi kebutuhan CIDR/VLSM yang memungkinkan untuk pembagian dan pengalokasian IPv6 menjadi lebih spesifik untuk di routingkan secara kesatuan.

IPv6 juga memiliki kelas sebagaimana IPv4 diantaranya (Sumber IANA):

- Aggregatable Global Unicast Addresses dengan bit awal 001 (2000::/3)
- Link-Local Unicast dengan bit awal 1111 1110 10 (FE80::/10)
- Site-Local Unicast Addresses dengan bit awal 1111 1110 11 (FEC0::/10)
- Multicast Addresses : dengan bit awal 1111 1111 (FF00::/8)
- ::8 diperuntukkan bagi pengalamatan yang belum di defenisikan

Detail ketentuan alokasi IPv6 dari IANA selaku badan alokasi IP seluruh dunia untuk Registry (badan yang mengelolal alokasi IP untuk wilayah tertentu, misal APNIC untuk wilayah Asia Pasific), ISP, Client (Site) serta LAN, saat ini adalah sebagai berikut :

- Registry (APNIC/RIPE/ARIN) mendapatkan alokasi : /23
- ISP mendapatkan alokasi : /32
- Site IPv6 (customer ISP) mendapatkan alokasi : /48
- LAN (customer) mendapatkan alokasi : /64

Perhitungan jumlah IPv6 Address dapat melalui rumus : 2(128-bit prefix)
Dari data alokasi diatas :
(128-32)
- ISP mendapatkan : 2 IPv6 Address
(128-48)
- Setiap Customer (Site) mendapatkan : 2 IPv6 Address
(128-64)
- Setiap LAN mendapatkan : 2 IPv6 Address

Contoh alokasi IPv6 untuk client PT. IPVSIX JAYA : 2404:170:AAA0::/48
(128-48) (80)
- Jumlah IPv6 yang diperoleh : 2 = 2 IPv6 Address
- Bisa dipecah menjadi :

2 x subnet /49

2404:170:AAA0:0::/49
2404:170:AAA0:8::/49

4 x subnet /50

2404:170:AAA0:0::/50
2404:170:AAA0:4::/50
2404:170:AAA0:8::/50
2404:170:AAA0:C::/50

8 x subnet /51

2404:170:AAA0:0::/51
2404:170:AAA0:2::/51
2404:170:AAA0:4::/51
2404:170:AAA0:6::/51
2404:170:AAA0:8::/51
2404:170:AAA0:A::/51
2404:170:AAA0:C::/51
2404:170:AAA0:E::/51
dan seterusnya…...

Pertanyaan & Jawaban :
Q : Kenapa 2404:170:AAA0:: adalah /48 ?
A : 2404:170:AAA0::/48 = 2404:0170:AAA0:0000:0000:0000:0000:0000/48
Sesuai dengan ketentuan sebelumnya IPv6 memiliki total 128 bit prefix.
Dan setiap pasang Octet (2404, misalnya) memiliki 16 bit.
Maka sampai pada AAA0 jumlah bit sudah mencapai 48 (16 x 3 pasang octet).
Q : Berapa /48 diatasya dan sebelumnya ?
A : Sebelumnya adalah : 2404:170:AA9F::/48 (Hex, sesudah 9F adalah A0)
Setelahnya adalah : 2404:170:AAA1::/48
Q : Apakah 2404:170:AAA0::/48 dapat digabung (aggregate) dengan
2404:170:AAA1::/48 menjadi satu prefix /47, /46 ?
A : Dapat, aggregasi ini menghasilkan 2404:170:AAA0::/47 atau
2404:170:AAA0::/46 yang didalamnya juga termasuk :
- 2404:170:AAA2::/48
- 2404:170:AAA3::/48

IPv6 pun mendukung system pengiriman packet data berbagai type diantaranya :

- Unicast (pengiriman paket data menggunakan unicast address hanya ke satu host),
- Multicast (pengiriman paket data menggunakan multicast address dari satu host ke banyak host)
- Broadcast (pengiriman paket data menggunakan broadcast address dari satu host ke beberapa host tertentu saja).
- Anycast (pengiriman paket data menggunakan anycast address ke host terdekat yang memiliki anycast address yang sama).

Perbandingan panjang prefix (prefix-length) IPv4 dan IPv6 beserta jumlah IP.
v4 v6 Jumlah IP
/32 /128 1
/31 /127 2
/30 /126 4
/29 /125 8
/28 /124 16
/27 /123 32
/26 /122 64
/25 /121 128
/24 /120 256
/23 /119 512
/22 /118 1024
/21 /117 2048
/20 /116 4096
/19 /115 8192
/18 /114 16384
/17 /113 32768
/16 /112 65536
/15 /111 131072
/14 /110 262144
/13 /109 524288
/12 /108 1048576
/11 /107 2097152
/10 /106 4194304
/9 /105 8388608
/8 /104 16777216
/7 /103 33554432
/6 /102 67108864
/5 /101 134217728
/4 /100 268435456
/3 /99 536870912
/2 /98 1073741824
/1 /97 2147483648
/0 /96 4294967296

Lanjutan version 6.

/95 8589934592
/94 17179869184
/93 34359738368
/92 68719476736
/91 1.37439E+11
/90 2.74878E+11
/89 5.49756E+11
/88 1.09951E+12
/87 2.19902E+12
/86 4.39805E+12
/85 8.79609E+12
/84 1.75922E+13
/83 3.51844E+13
dan seterusnya......





Mekanisme Transisi IPv4 ke IPv6 [BAB III]

Mekanisme Transisi IPv6

Pergantian IPv4 ke IPv6 secara langsung adalah satu hal yang mustahil dilakukan secara
serentak di seluruh dunia internet. Oleh itu secara bertahap dilakukan process transisi.
Transisi pun dilakukan tetap menggunakan backbone IPv4 yang ada atau memang ada keinginan membangun sendiri jaringan baru IPv6 (native).

Setiap metode transisi berikut dapat dilakukan secara terpisah atau tergabung satu
dengan yang lainnya, misalnya tunneling IPv6 via IPv4 sudah mencakup dual stack IPv4 dan
IPv6 serta enkapsulasi.

Metode transisi yang dilakukan diantaranya :

a. Dual Stack
Metode ini sangat umum digunakan, IPv4 dan IPv6 address dapat berjalan bersamaan di satu perangkat di semua layer protocol. Sehingga perangkat memiliki dua alamat yakni IPv4 dan IPv6 tanpa saling bertindihan satu sama lainnnya serta memiliki gateway yang berbeda pula.
Routing table yang ada pun terdiri dari routing table IPv4 dan IPv6

Process pengiriman dan penerimaan packet data berlangsung secara terpisah.
Syarat utama untuk dual stack ini adalah system operasi harus mendukung IPv6.
Jika tidak, maka harus dilakukan upgrade versi.
Contoh di Windows XP : (ipconfig /all)

Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Description . . . . . . . . ..: Realtek RTL8139 Family PCIrnet NIC
Physical Address. . . . . . : 00-02-3F-0E-51-35
Dhcp Enabled. . . . . . . . : No
IP Address. . . . . . . . . . .: 202.53.13.18 (IPv4 Address)
Subnet Mask . . . . . . . . .: 255.255.255.224
IP Address. . . . . . . . . . .: 2404:170:253::10 (IPv6 Address)
Default Gateway . . . . . .: 202.53.253.1 (Gateway Ipv4)
2404:170:253::1 (Gateway IPv6)
b. Metode Tunnel (Enkapsulasi).

Metode ini juga umum digunakan untuk menghubungkan jaringan IPv6 dengan jaringan IPv6 lainnya melalui jaringan IPv4 yang memiliki perangkat-perangkat yang tidak mendukung untuk operasional IPv6.
Prinsip dasar tunnel ini adalah membungkus (encapsulate) packet data IPv6 ke dalam format tunnel IPv4 untuk dikirim ke penerima dan dibuka lagi bungkusnya (decapsulate) yang sebelumnya terlebih dahulu di dilakukan setting koneksi tunnel IPv4 ini dari pengirim ke penerima serta sebaliknya.
Prinsip ini juga dikembangkan oleh Penyedia Tunnel Broker IPv6, terutama diperuntukkan bagi user personal menggunakan software (gratis maupun lisensi) untuk mempermudah koneksi ke jaringan internet berbasis IPv6.

c. Metode Translasi (Penterjemahan Paket IPv6 ke IPv4 dan sebaliknya).

Metode ini tidak begitu umum dilakukan karena memerlukan perangkat tambahan untuk melakukan translasi Paket IPv4 ke IPv6 dan sebaliknya :
1. Application Layer Gateway untuk teknik NAT
2. Dual Stack Relay Router untuk teknik TCP/UDP Relay






Contoh sederhana IPv6 di FreeBSD

# IP Config [/etc/rc.conf]

ipv6_network_interfaces=”fxp0″
ipv6_ifconfig_fxp0=”2404:170:ee02:ee02::10 prefixlen 64″
ipv6_ifconfig_fxp0_alias0=”2404:170:ee02:ee03::10 prefixlen 64″ (IPv6 secondary sample).
ipv6_defaultrouter=”2404:170:ee02:ee02::1″

# DNS config [/etc/recolv.conf]

domain ipv6.risnaini.net
nameserver 2404:170:ee02:ee02::2

# Manual Directly Input IPv6 Address on # prompt :

ifconfig fxp0 inet6 2404:170:ee02:ee02::10 prefixle 64
ifconfig fxp0 inet6 2404:170:ee02:ee03::10 prefixle 64
route add -inet6 default 2404:170:ee02:ee02::1

# Simple Firewall :

(allow network 2404:170::/32 to any host)
ip6fw add 100 allow all from 2404:170::/32 to any in via fxp0

(allow network 2001:dc6::/32 to any host)
ip6fw add 200 allow all from 2001:dc6::/32 to any in via fxp0

(allow all ipv6 to host 2404:170:ee02::10)
ip6fw add 300 allow all from :: to 2404:170:ee02:ee02::10 in via fxp0

(deny other all traffic).
ip6fw add 1000 deny all from any to any in via fxp0





Implementasi IPv6 di Postfix

Berikut konfigurasi Postfix untuk bisa support IPv6

# LOCAL PATHNAME INFORMATION
#
# The queue_directory specifies the location of the Postfix queue.
# This is also the root directory of Postfix daemons that run chrooted.
# See the files in examples/chroot-setup for setting up Postfix chroot
# environments on different UNIX systems.

queue_directory = /var/spool/postfix

# The daemon_directory parameter specifies the location of all Postfix
# daemon programs (i.e. programs listed in the master.cf file). This
# directory must be owned by root.

daemon_directory = /usr/local/libexec/postfix

# QUEUE AND PROCESS OWNERSHIP
#
# The mail_owner parameter specifies the owner of the Postfix queue
# and of most Postfix daemon processes. Specify the name of a user
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In
# particular, don’t specify nobody or daemon. PLEASE USE A DEDICATED
# USER.
mail_owner = postfix

# INTERNET HOST AND DOMAIN NAMES
myhostname = mail.ip-ng.6mail.com
mydomain = ip-ng.6mail.com

# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites. If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
myorigin = $myhostname

# RECEIVING MAIL
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on. By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
inet_protocols = ipv6, ipv4
smtp_bind_address6 = 2404:170:ee02::10

# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# REJECTING MAIL FOR UNKNOWN LOCAL USERS
# The local_recipient_maps parameter specifies optional lookup tables
# with all names or addresses of users that are local with respect
# to $mydestination, $inet_interfaces or $proxy_interfaces.
smtpd_sender_restrictions = check_sender_access hash:/usr/local/etc/postfix/sender_access, reject_non_fqdn_sender,

reject_unknown_sender_domain

# The unknown_local_recipient_reject_code specifies the SMTP server
# response code when a recipient domain matches $mydestination or
# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
# and the recipient address or address local-part is not found.
unknown_local_recipient_reject_code = 450

# TRUST AND RELAY CONTROL
# The mynetworks parameter specifies the list of “trusted” SMTP
# clients that have more privileges than “strangers”.
mynetworks = /usr/local/etc/postfix/mynetworks

# The relay_domains parameter restricts what destinations this system will
# relay mail to. See the smtpd_recipient_restrictions description in
# postconf(5) for detailed information.
relay_domains = /usr/local/etc/postfix/relay_domains

# ALIAS DATABASE
#
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
alias_maps = hash:/usr/local/etc/postfix/aliases

# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user’s home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user. Specify
# “Maildir/” for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/

# JUNK MAIL CONTROLS
#
# The controls listed here are only a very small subset. The file
# SMTPD_ACCESS_README provides an overview.
header_checks = regexp:/usr/local/etc/postfix/header_checks

# DEBUGGING CONTROL
#
# The debug_peer_level parameter specifies the increment in verbose
# logging level when an SMTP client or server host name or address
# matches a pattern in the debug_peer_list parameter.

debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

# INSTALL-TIME CONFIGURATION INFORMATION
#
# The following parameters are used when installing a new Postfix version.
#
# sendmail_path: The full pathname of the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.

sendmail_path = /usr/local/sbin/sendmail

# newaliases_path: The full pathname of the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases.

newaliases_path = /usr/local/bin/newaliases

# mailq_path: The full pathname of the Postfix mailq command. This
# is the Sendmail-compatible mail queue listing command.

mailq_path = /usr/local/bin/mailq

# setgid_group: The group for mail submission and queue management
# commands. This must be a group name with a numerical group ID that
# is not shared with other accounts, not even with the Postfix account.

setgid_group = maildrop

# html_directory: The location of the Postfix HTML documentation.

html_directory = no

# manpage_directory: The location of the Postfix on-line manual pages.

manpage_directory = /usr/local/man

# sample_directory: The location of the Postfix sample configuration files.
# This parameter is obsolete as of Postfix 2.1.

sample_directory = /usr/local/etc/postfix

# readme_directory: The location of the Postfix README files.

readme_directory = no 

No comments:

Post a Comment

TKJ Cyber Community Designed by Templateism.com Copyright © 2014

Theme images by Bim. Powered by Blogger.