Anda di halaman 1dari 22

[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

Penjelasan dalam format video (Bahasa Indonesia), tonton di link berikut:


(belum tersedia)

Syarat mempelajari Modul 1 - IPv6 Address Representation , kamu harus sudah memahami:
1. Network Fundamental
2. Konsep IPv4

Last Update: 10/04/2021

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).

2001 0000 0000 000a


0010 0000 0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1010

0e90 0000 0000 cdb0


0000 1110 1001 0000 0000 0000 0000 0000 0000 0000 0000 0000 1100 1101 1011 0000
blue = hexadecimal red = binary

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

Bagaimana jika panjangnya sama?


Rekomendasinya “::” ditempatkan pada bagian yang pertama.
Contoh 3: 2001:df:0:0:a:0:0:1
2001:df::a:0:0: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

Contoh 1: 2400:f13::5d:1/48 = 2400:0f13:0000:0000:0000:000:005d:0001/48


Prefix-length = 48, mengindikasikan bahwa 48 bit pertama adalah prefix atau network
address.

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

IPv6 Subnet Calculator: https://www.vultr.com/resources/subnet-calculator-ipv6

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:c00 = 28 bits. (kurang 3 bits agar menjadi 31 bits)


7 = 4 bits 0111(2) 0110(2) = 6(10)

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

● Berapa banyak host address yang ada di subnet /64?


= 2(128-64)
= 1.844674407×1019
= 18,446,744,073,709,551,616 hosts

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

Kita tidak perlu lagi VLSM di IPv6:


● Tidak ada broadcast.
● Dengan IPv6 tersedia alamat IPv6 untuk setiap orang di dunia dan bintang-bintang di
langit.
● Direkomendasikan untuk menggunakan prefix-length /64. (standar pengalamatan
IPv6 GUA dibahas pada Module 3: IPv6 Address Types).

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>

# Verify IPv6 Address


$ sudo ip -6 address
1: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 2003:bc6:d7::a9c/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ecb:3bff:fefd:c300/64 scope link noprefixroute
valid_lft forever preferred_lft forever

# Verify IPv6 Route


$ sudo ip -6 route
2003:bc6:d7::/64 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 100 pref medium
default via 2003:bc6:d7::1 dev ens3 metric 1024 pref medium

14
IPv6 Static Configuration - Linux RHEL (network)
# Configure at /etc/sysconfig/network-scripts/ifcfg-<interface_name>

# Static IPV6 configuration


IPV6ADDR=<ipv6_address>/<prefix_length>
IPV6_DEFAULTGW=<ipv6_gateway>

# Instead use DHCPv6


DHCPV6C=yes

# 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:

*) yellow field is optional


*) see: https://netplan.io/reference

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>

C:\> tracert -6 <ipv6_address>

21
References
● https://tools.ietf.org
● https://academy.apnic.net/en/course/ipv6-fundamentals
● https://www.ipv6.com

22

Anda mungkin juga menyukai