Module 1 IPv6 Address Representation
Module 1 IPv6 Address Representation
1
Read Me
● Ini adalah modul gratis, kamu boleh membagikan, menggunakan, atau mengambil sebagian materi
dari modul ini, tanpa menghapus credit footer dari webiptek.com..
● Jika kamu menemukan kesalahan pada teori yang disampaikan, mohon sampaikan koreksi tersebut
ke pembuat (kontak tercantum di bawah).
● Isi bisa saja berubah tanpa pemberitahuan, baik dari segi struktur maupun materi.
● Buka link berikut untuk melihat modul terupdate: https://files.webiptek.com/IPv6
Syarat mempelajari Modul 1 - IPv6 Address Representation , kamu harus sudah memahami:
1. Network Fundamental
2. Konsep IPv4
2
Contributor
Nama Kontak
Rizqi Aldi Prayugo xdnroot@gmail.com xdnroot
Ingin berkontribusi?
Kamu bisa menambahkan materi dan/atau merevisi materi yang sudah ada.
Hubungi saya (Rizqi) melalui sosial media atau email di atas.
Cukup sampaikan materi yang ingin kamu tambahkan atau revisi dalam bentuk dokumen atau presentasi.
3
IPv6 Notation
Contoh: 2001:0000:0000:000a:0e90:0000:0000:cdb0
IPv6 ditulis menggunakan bilangan hexadecimal (case-insensitive), sebuah IPv6 dibagi menjadi 8 bagian
(hextets) dan setiap hextets dipisahkan ":" (colon).
Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F
Bin 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
4
IPv6 Notation
Omitting Leading Zeros
Kita bisa menghapus angka 0 yang berada di depan dalam satu hextet.
Contoh 1: fe80:0001:cb0d:080a:0e90:00ff:fe00:1000
fe80:1:cb0d:80a:e90:ff:fe00:1000
Contoh 2: 2001:0000:0000:000a:0e90:0000:0000:cdb0
2001:0:0:a:e90:0:0:cdb0
5
IPv6 Notation
Double Colon “::”
Anda dapat menghilangkan nol yang berurutan dengan menggantinya dengan double
colon “::”, dengan syarat titik double colon “::” hanya dapat muncul sekali dalam sebuah
alamat IPv6.
Contoh 1: 2001:0:0:0:a:0:0:1
2001::a:0:0:1 or 2001:0:0:0:a::1
Kenapa?
2001::a:0:0:1 2001:0:0:0:a:0:0:1
2001:0:0:0:a::1 2001:0:0:0:0:a:0:0:1
2001::a::1 2001:0:0:0:a:0:0:1 or 2001:0:0:a:0:0:0:1 (ambiguous)
6
IPv6 Notation
Recommendation of Double Colon “::” Placement (RFC5952)
Ketika ada lebih dari satu bagian angka nol berurutan di sebuah IPv6. Rekomendasinya
adalah menempatkan double colon “::” di angka nol berurutan yang paling panjang.
Contoh 2: 2001:0:0:a:0:0:0:1
2001:0:0:a::1
7
IPv6 Prefix [ RFC4291 ]
● Prefix-length adalah bilangan desimal yang menunjukan suatu nilai (0-128) yang
menentukan network address dari suatu alamat IPv6
● IPv6 network address juga disebut prefix.
● Notasi IPv6: IPv6-address/prefix-length
Setiap 1 hex sama dengan 4 bits, jadi prefix dari IPv6 pada contoh 1 adalah:
2400:0f13:0000:0000:0000:000:0000:0000/48 atau 2400:0f13::/48
8
Binary to Hex Table Converter
Binary Hexadecimal Binary Hexadecimal
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F
9
IPv6 Subnetting: Find the Prefix
Contoh 2:
2A00:c007:bb:cc::/31 = 2A00:c007:00bb:000cc:0000:0000:0000:0000/31
Berapa prefix-nya?
31 mod 4 = 3 31 / 4 = 7,xx
2A00:c006::/31 = 2A00:c006:0000:0000:0000:0000:0000:0000/31
10
IPv6 Subnetting: Prefix Allocation
Kamu memiliki alokasi IPv6 dari ISP dengan prefix-length /48.
Kamu ingin membaginya menjadi IPv6 dengan prefix-length /64.
● Berapa subnet dengan prefix-length /64 yang bisa kamu buat dari prefix-length /48?
= 2(64-48)
= 216
= 65536 subnets
11
IPv6 Subnetting (VLSM)
Kamu punya prefix IPv6 2403:ff:3a1::/48. Kamu ingin menjualnya dengan ketentuan:
tersedia 1 miliar alamat IPv6 per paket penjualan.
Berapa paket penjualan yang tersedia dan berapa prefix-length yang digunakan?
2
log 1000000000 = 29,897352854 (dibulatkan ke 30).
Jadi, prefix-length yang digunakan adalah 128-30 = 98.
Dan total package yang tersedia 2(98-48) = 250 = 1,1 ×1015
12
IPv6 URI Syntax [ RFC3986 ]
● Penulisan URI (Uniform Resource Identifier) menggunakan IPv6 berbeda dengan
penulisan URI menggunakan IPv4.
● Format URI IPv4 protocol://ipv4_address:port_number, contoh: ftp://192.168.1.1:21
● Di IPv6, kita perlu memasukan square brackets “[“ and “]” di antara alamat IPv6 dan
nomor port, untuk membedakan titik dua “:” mana yang termasuk dalam alamat IPv6
dan mana yang memisahkan alamat ip dan nomor port.
protocol://[ipv6_address]:port
Example:
http://[::1]
ftp://[2001:b5d::4:fe]:21
ssh://[2411:c5:dd2f:0:86::3210]:2222
13
IPv6 Static Configuration - Linux (ip command)
# Configure static ipv6, example: $ sudo ip -6 address add 2003:bc6:d7::a9c/64 dev ens3
$ sudo ip -6 address add <ipv6_addresss>/<prefix_length> dev <interface_name>
# Add ipv6 route, example: sudo ip -6 route add ::0/0 via 2003:bc6:d7::1
$ sudo ip -6 route add <destination_network> via <gateway>
14
IPv6 Static Configuration - Linux RHEL (network)
# Configure at /etc/sysconfig/network-scripts/ifcfg-<interface_name>
# Example:
...
IPV6ADDR=2003:bc6:d7::a9c/64
IPV6_DEFAULTGW=2003:bc6:d7::1
...
See details:
https://www.redhat.com/sysadmin/configuring-ipv6-rhel-7-8
https://www.golinuxcloud.com/how-to-configure-ipv6-address-in-linux-rhel-centos-7
15
IPv6 Static Configuration - Linux Ubuntu (Netplan)
# Configure at /etc/netplan/*.yaml
network:
<interface_type>:
<interface_name>:
dhcp6: {true|false}
# use comma to separate more than one address
# example: [“2003::1/64”, “2017::2a:c/48”]
addresses: ["<ipv6_address>/<prefix_length>"]
gateway6: <ipv6_address>
nameservers:
# use comma to separate multiple nameserver addresses
addresses: ["<ipv6_address>"]
Example:
16
IPv6 Static Configuration - Linux Debian (ifupdown)
# Configure at /etc/network/interfaces
auto <interface_name>
iface <interface_name> inet6 {dhcp|static}
address <ipv6_address>
netmask <prefix_length>
gateway <ipv6_gateway>
Example:
17
IPv6 Static Configuration - Windows 10
Just like configure IPv6: Setting > Network and Internet > Network Connections.
The difference is only when choosing a protocol, choose Internet Protocol Version 6 (TCP/IPv6).
18
IPv6 DNS Record
Untuk mengarahkan domain ke IPv6, gunakan record AAAA.
$ ping6 chrdo.webiptek.com
PING chrdo.webiptek.com(tunnel616883-pt.tunnel.tserv25.sin1.ipv6.he.net (2001:470:35:3f::2)) 56 data bytes
64 bytes from tunnel616883-pt.tunnel.tserv25.sin1.ipv6.he.net (2001:470:35:3f::2): icmp_seq=1 ttl=47 time=7.80 ms
64 bytes from tunnel616883-pt.tunnel.tserv25.sin1.ipv6.he.net (2001:470:35:3f::2): icmp_seq=2 ttl=47 time=4.89 ms
19
Ping and Traceroute IPv6 - Linux
$ ping6 <ipv6_address>
$ traceroute6 <ipv6_address>
20
Ping and Traceroute IPv6 - Windows
C:\> ping -6 <ipv6_address>
21
References
● https://tools.ietf.org
● https://academy.apnic.net/en/course/ipv6-fundamentals
● https://www.ipv6.com
22