Ipv6 Egitimi Mustafa Reşit Şahin Software Engineer resit.sahin@inforcept.com
Içerik 1. Internet Protocol 2. Inforcept Ipv6 Network 3. Linux Ipv6 Configuration 4. IP Addressing Structure 5. IPv4 ve Ipv6 Header Structure 6. Ipv6 Extension Headers
Internet Protocol (Network Layer) Connects different types of networks Enables end to end communication Routes packets through the Internet Enables global addressing of hosts in the network Fragments big packets into smaller ones
Günümüzde kullandığımız Internet Protokolü : ipv4 1981 yılında geliştirildi. 4 Byte adres kullanıyor : 192.1.1.0 4 Byte ile yaklaşık 4 Milyar farklı adres üretilebiliyor. Ipv4 'ün sorunu ne? Kullanabileceğimiz adresler bitmek üzere. Internette 2 Milyar kullanıcı APNIC (Asya) Son 16 Milyon bloğu adresi kullanıyor (Nisan 2011). Bunu çözmek için 1998 de IP nin yeni bir versiyonu geliştirildi: ipv6. 128 bit yani 16 Byte adres kullanıyor. Esnek bir yapı sunmak için Extension Headers yapısını kullanıyor.
Adres Dağıtan Organizasyonların Ellerinde Bulunan Adreslerin Değişimi
Inforcept Ipv6 Network Uses Ipv6 tunnel brooker ( In Amsterdam ) Got an account from Hurricane Electric Communicate with broker over ipv4 network Needs local ipv6 supported gateway Inforcept Adress space : 2001:470:1f15:1bcd::/64 Inforcept default gateway address: 2001:470:1f15:1bcd::1/64 Name server : 2001:470:20::2
Linux Ipv6 Konfigürasyonu 1) Interface'e static IPv6 adresi ekleme: ifconfig wlan0 inet6 add 2001:0db8:0:f101::1/64 2) Default gateway ekleme: route -A inet6 add 2000::/3 gw 3ffe:ffff:1234:5678::1 dev eth0 ( 2000::/3 : Global Unicast Adresi ) 3) DNS record ekleme: $ sudo vi /etc/resolv.conf nameserver 2001:0db8:0:f101::1/64
Linux Ipv6 Konfigürasyonu Ipv6 da -Router Discovery (RDISC) Adress Resolution Protocol (ARP) -ICMPv4 Redirect Yerine ; Neighbour Discovery potokolü bulunuyor. Linux ta neighbour discovery komutu: ip -6 neigh show 2001:470:1f15:1bcd::1 dev wlan0 lladdr 00:1b:21:4c:f3:a9 router STALE Ading and Deleting Neighbour: ip -6 neigh add fec0::1 lladdr 02:01:02:03:04:05 dev eth0 ip -6 neigh del <IPv6 address> lladdr <link-layer address> dev <device>
Linux Ipv6 Konfigürasyonu Testing Ipv6 ping6 ipv6.google.com PING ipv6.google.com(wy-in-x68.1e100.net) 56 data bytes 64 bytes from wy-in-x68.1e100.net: icmp_seq=1 ttl=54 time=66.7 ms 64 bytes from wy-in-x68.1e100.net: icmp_seq=2 ttl=54 time=81.4 ms sudo tcpdump -t -n -i wlan0 -s 512 -vv ip6 or proto ipv6 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 64) 2001:470:1f15:1bcd::100 > 2a00:1450:8002::68: [icmp6 sum ok] ICMP6, echo request, length 64, seq 49
Linux Ipv6 Konfigürasyonu Testing Ipv6 tracepath6 ipv6.google.com 1?: [LOCALHOST] 0.024ms pmtu 1280 1: 2001:470:1f15:1bcd::1 2.254ms 1: 2001:470:1f15:1bcd::1 2.283ms 2: 2001:470:1f14:1bcd::1 63.339ms 3: gige-g2-20.core1.ams1.he.net 62.525ms traceroute6 ipv6.google.com traceroute to ipv6.l.google.com (2a00:1450:8001::68) from 2001:470:1f15:1bcd::100, 30 hops max, 24 byte packets 1 2001:470:1f15:1bcd::1 (2001:470:1f15:1bcd::1) 6.527 ms 1.53 ms 1.318 ms 2 2001:470:1f14:1bcd::1 (2001:470:1f14:1bcd::1) 61.149 ms 61.134 ms 62.485 ms
Linux Ipv6 Konfigürasyonu Display Routing Table ip -6 route show 2001:470:1f15:1bcd::/64 dev wlan0 proto kernel metric 256 fe80::/64 dev vmnet1 proto kernel metric 256 fe80::/64 dev vmnet8 proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 fe80::/64 dev wlan0 proto kernel metric 256 default via 2001:470:1f15:1bcd::1 dev wlan0 proto static metric 1024
Internet Addressing IP4 Address : 192.100.100.1 4 Byte Address, 4 294 967 296 possible addresses -Ipv4 adress class ları A,B,C -Verimsiz olduğu için artık kullanılmıyor Classless Inter Domain Routing -Internet Adresini parçalara ayırıyor -Her bir parça bir subneti temsil ediyor -En soldaki parça en yüksek seviyede Subnetting örneği: Avrupa->Türkiye->Superonline->Endersys 6 bit -> 6 bit ->12 bit ->8 bit a.b.c.0/24 : 24 bit sabit, 8 bit for host a.b.c.0/20 : 20 bit sabit, 12 bit for host
Ipv6 Address Structure 128 bit, 16 Byte adres 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1 Kolay kullanım için Hex sayılar ile ifade ediliyor: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 Peşpeşe gelen sıfılar :: ile ifade ediliyor: 2001:0db8:85a3::8a2e:0370:7334
Ipv6 Address Structure Prefixes Ipv6 adresleri network ve host olmak üzere iki parçadan oluşur Hangi bit lerin host bit i olduğunu prefix ile anlayabiliriz 2001:0DB8:0002:0002:/64 = 64 bit network için, 64 bit host için Aynı network içindeki tüm adreslerin network bitleri aynıdır. Host bitleri farklıdır.
Ipv4 ve Ipv6 Header Yapısı
Extension Headers
Extension Header(EH) Order 1. IPv6 main header 2. Hop-by-Hop Options header 3. Destination Options header 4. Routing header 5. Fragment header (FH) 6. Authentication headerb (AH) 7. Encapsulating Security Payload header (ESP) 8. Destination Options header 9. Upper-layer header
Extension Headers (EH) Hop-by-Hop EH is used for the support of Jumbo-grams (Big Packets). Destination EH is used in IPv6 Mobility. Routing EH is used in IPv6 Mobility and in Source Routing. Fragmentation EH used for fragmentation. Only Source nodes do fragmentation. Mobility EH is used in support of Mobile IPv6 services. Authentication EH enables data origin authentication. (Who sends the packet?). Encapsulating Security Payload EH encrypts data that comes after this header.
Fragmentation MTU : Maximum Transmission Unit MTU of a Network : Ağda kullanılabilecek max paket boyutu. Ethernet max paket boyutu : 1500 Byte Ipv6 minimum paket boyutu : 1280 Byte Ipv6 max payload : Ipv6 header kullanılarak 64KByte Ipv6 Jumbogram : 4 GiByte packet (Hop by Hop header EH kullanılarak) Fragmentation : Büyük bir paketin küçük paketlere bölünmesi.
Fragmentation
Fragmentation Header Offset : Offset of this fragment in original packet. M: More flag. Identification: Same for each fragment of a packet.
TEŞEKKÜRLER Mustafa Reşit ŞAHİN resit.sahin@inforcept.com