Internet Protocol Version 6
1. IPv6 Overview
Version 4 와 Version 6 의 Network Layer 비교 IPv6-3
IPv6 의향상된기능 더넓어진주소공간 자동설정 (Auto-configuration) 플러그앤플레이 (Plug & Play) Renumbering 단순한헤더 Checksum 계산을하지않는다. Option 필드를사용하지않고 Extension Header를사용한다. Fragment을사용하지않는다. ICMP로 Type 2로대체 이동성과보안성향상 Mobile IP IPSec IPv6-4
풍부한주소공간 IPv4 = 32bit IPv6 = 128bit IPv4 Address 32bit 사용가능주소 2 32 =4,294,967,296 Node ( 약 42억만 Node) IPv6 Address 128bit 사용가능주소 2 128 = 3.4 x 10 38 340,282,366,920,938,463,374,607,432,768,211,456 1인당 5 x 10 28 Address 할당가능 IPv6-5
IPv6 Header
단순하고효율적인헤더 IPv4 Address 에서비효율적인필드들이제거되어성능이향상됨. Header Length identifier Fragmentation flags Fragment Offset Header Checksum IP option IPv6 Address 는 40byte 고정으로 Hardware Processing 이가능 64bit 단위로정리되어있어더욱빠른속도로Packet을처리할수있다. (IPv4는 32bit 단위로정리된다.) Packet 단위로만보면필드의크기가커져서처리성능이저하될수있으나전체데이터전송성능은향상된다. IPv6-7
IPv4 Header 구조 IPv6-8
IPv6 Header 구성 IPv6 Header (40byte) Version Traffic Class (ToS 기능 ) Flow Label Payload Length Next Header (Protocol 기능 ) Hop Limit (TTL 기능 ) Source Address (128bit) Destination Address (128bit) IPv6-9
IPv6 Header 구조 IPv6-10
IPv6 Extension Header IPv4 Header에 IP Option Header에역할을한다. IPv6 Header에처리속도를높이고전달프로세스의성능향상. 확장헤더가함께사용될경우다음순서로사용함. IPv6 Header Hop-By-Hop Option Header Destination Option Header (Routing Header와함께사용될경우 ) Routing Header Fragmentation Header Authentication Header Encapsulation Security Payload Header Destination Option Header Higher Layer Header IPv6-11
IPv6 Extension Header (Cont) IPv6 Header Next Header = TCP TCP Header + DATA IPv6 Header Next Header = TCP Routing Header Next Header = TCP TCP Header + DATA IPv6 Header Next Header = TCP Routing Header Next Header = Destination Destination Header Next Header = TCP TCP Header + DATA IPv6-12
IPv6 Extension Header (Cont) Hop-by-Hop Option Header Destination Option Header Routing Header Fragmentation Header Authentication Header Encapsulating Security Payload Header 0 60 43 44 51 50 Path 상의각 Hop 에서의배달및전달처리옵션을지정하기위해서사용한다. Packet 의목적지에서의배달또는전달처리옵션을지정하기위해서사용된다. Destination 옵션헤더는두가지방법으로사용된다. 1. Routing Header 가있으면중간 Destination 마다배달또는전달처리옵션을지정한다. 2. 마지막 Destination 에서도배달또는전달처리옵션을지정한다. IPv6에서는 Source Node가 Packet이 Destination에가는동안경유해야하는라우터들을지정하는데사용한다. IPv4에서 Loose Source Routing Option과유사하다. IPv6 에서는 Source Node 에서만 Payload 를조각화할수있다. 상위계층프로토콜에서요청한 Payload 가 Link 나경로 MTU 보다크면 IPv6 는 Source 에서 Payload 를조각내고 Fragmentation Option Header 를사용하여재결합정보를제공한다. IPSec 의 Authentication Header 이다. IPSec 의 Authentication 암호화 Header IPv6-13
TCP Header 0 15 16 31 Source Port (16bit) Destination Port (16bit) Sequence number (32bit) Acknowledgement number (32bit) Header Length (4) Reserved (6bit) Code bits (6bit) Window (16bit) Checksum (16bit) Urgent (16bit) Options ( 0 또는생성시 32bit) Data (Variable Length) IPv6-14
TCP Header (Count.) IPv6 에서 TCP Header 는변경되지않았다. IPv6-15
UDP Header 0 15 16 31 Source Port (16bit) Destination Port (16bit) Length (16bit) Checksum (16bit) Data (Variable Length) IPv6 에서 UDP 는변경되지않았다. 단 Checksum 필드가 Optional 이었으나 IPv6 Header 에 Checksum 필드가없어졌기때문에 IPv6 에서 UDP Checksum 은 Mandatory 로바뀌었다. IPv6-16
IPv6 Addressing
IPv6 주소표현 XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX 각 x 는 16 진수 (Hexadecimal) 로표현된다. 각필드에맨앞에연속되는 0 은생략될수있다. 0000 은 0 으로표기한다. 0000:0000: 처럼 0 이연속되는필드는 :: 으로표현하며두번이상사용할수없다. 2001:0000:130F:0000:0000:090C:875B:1A30 2001:0:130F::90C:875B:1A30 2001::130F::090C:875B:1A30 잘못표기함 FF01:0:0:0:0:0:0:1 FF01::1 0:0:0:0:0:0:0:1 ::1 0:0:0:0:0:0:0:0 :: IPv6-18
IPv6 Address 가구성되는방법 Native IPv6 48bit의 Network ID가 ISP로부터부여된다. 이중 64bit까지의 Network ID를하나의 Subnet에서사용한다. Host ID 64bit는다음방법으로형성된다. Non-EUI-64 기존 NIC EUI-48bit MAC을사용하는 NIC는 64bit의 Non-EUI-64 로변경후사용한다. 1. 7번째 bit를보수화한다. (0은 1로변경하고, 1은 0으로변경함.) 2. 24bit (Vender ID) + 24bit (Extension ID) 사이에 FFFE를추가한다. 변경예 48bit MAC 0040:CAC4:40ED 에첫번째 7번째 bit를보수화하면 0240:CAC4:40ED 이된다. 두번째로 24bit Extension ID 앞에 FFFE를추가하면 0240:CAFF:FEC4:40ED 처럼변경된다. 이주소를 Non-EUI- 64 라부른다. IPv6-19
IPv6 Prefix IPv6 Address 의 Prefix 는 IPv4 의 CIDR 표기와같은방법으로표시된다. IPv6 Prefix 는 Address/prefix-length 형태로표기한다. 예를들어 FE80::2AA:FF:FE9A:DC23/64 는처음64bit가 Network Prefix라는것을의미한다. 2001:3F3D::/48 은 Subnet prefix를의미한다. IPv4에서는 Subnetmask를사용하여주소의Network ID와 Host ID를구분하나 IPv6 에서는 Subnetmask가존재하지않으며, Prefix-Length 표기만지원한다. IPv6 는 Subnet bit와 Host bit가고정되어있어 prefix-length로 Subnet 지정만한다. IPv6-20
IPv6 Addressing IPv6 Addressing Multicast Unicast Anycast Assigned FF00::/8 Solicited Node Link Local Aggregateble Global FF02::1:FF00:0000/104 FE80::/10 2001::/16 2002::/16 3FFE::/16 Site Local FEC0::/10 Unspecified Loopback ::/128 ::1/128 Link Local Aggregateble Global Site Local IPv4 Compatible FE80::/10 FEC0::/10 0:0:0:0:0:0::/96 2001::/16 2002::/16 3FFE::/16 IPv6-21
Link Local Address 직접연결된 (Connected) Local Link 에서사용된다. IPv6 Stack 이 enable 된노드에서는 Boot 시에각각의 Interface 에자동으로할당된다. FE80::/10 의 prefix 와 Interface 에 EUI-64 ID 의결합으로이루어지며 /64bit 의 prefix-length 를갖는다. Link Local Address는 Local Link에서만유효하며 Site내의다른 Subnet으로전달되지않는다. Global Unicast Address를갖는IPv6 Node는 Default Gateway Address로 Router의 Global Unicast Address를잡는것이아니라 Router의 Link Local Address로설정한다. (Default) Renumbering의경에도IPv6 Node의 Router의 Link Local Address는변경되지않는다. IPv6-22
Site Local Address Site 내에서만사용되는 Unicast Address 이다. Site-Local Address 는자동으로부여되지않는다. 필요한경우수동으로설정한다. IPv4 의 Private Address 와유사한다. Site-Local Address는 Global IPv6 Internet으로알려지지않는다. FEC0::/10 의 prefix와 54bit의 Subnet ID (2 54 ) 와 EUI-64 ID로구성된다. IPv6-23
Aggregatable Global Unicast Address IPv6 Internet 에서사용되는 Address 이다. IPv4 Internet 에서사용되는 Public IP Address 와유사한다. Site 는 ISP 로부터 /48 의 Prefix 를받는다. 각 Site는 2 16 = 65,536개의 Subnet을사용할수있다. 2000::/3의 Prefix 영역이 Aggregatable Global Unicast Address 의영역으로2001::/16은 IPv6 Internet Address로 2002::/16은 6to4 Transition용으로 3FFE::/16은 6Bone에서사용하는 Address이다. 나머지 2003::/16 ~ 3FFD::/16은향후사용을위해예약되어있다. IPv6-24
Multicast Address IPv4 에서의 Broadcast 한두Node를위한Broadcast도 Subnet에모든Computer에전달된다. Broadcast Storm 을유발할수있다. IPv6 에서의 Broadcast 사용하지않는다. Multicast와 Anycast로대체되었다. Multicast Network를효율적으로사용한다. IPv6 Multicast Address 범위가 IPv4 multicast Address 범위보다크다. IPv6-25
Multicast Address (RFC 2375) 8 4 4 112 bits 11111111 flags scope Group ID Flags field : 0 if premanent, 1 if temporary scope field : 1 : node local 2 : Link local 5 : Site local 8 : organization local B : community local E : global FF01::1 노드자체를나타내는 Multicast Address FF02::1 link local 범위의모든 Node 를나타내는 Multicast Address FF01::2 Router 자체를나타내는 Multicast Address FF02::2 Link Local 범위의모든 Router 를나타내는 Multicast Address FF05::2 Site Local 범위의모든 Router 를나타내는 Multicast Address IPv6-26
Multicast Mapping (Ethernet Address) FF02 0000 0000 0000 0000 0001 FFA4 F3AE IPv6 Multicast Address 에대응하는 Ethernet Address Ethernet Multicast 에대한 Multicast Prefix 33 33 FF A4 F3 AE IPv4 Multicast Address 경우 Layer 2 Multicast Address 는 Layer 3 Multicast Address 로부터자동으로생성된다. 01:00:5E:00:00:00 01:00:5E:7F:FF:FF 01:00:5E 에 25bit 에 Multicast IP Address 하위 23bit 가붙어서 Ethernet Multicast Address 가형성된다. IPv6-27
Anycast Address Anycast Address 다수의 Device가동일한 Address (Aggregatable Unicast Address) 를공유한다. Anycast는 IPv4 및 IPv6에서가능한다. Source Device가 Anycast Address로 Packet을보내면 Packet은 Routing (Best Path Selection) 에의해목적지 Address에해당하는 Interface중하나의 Interface에전달된다. 예. IPv4 Anycast Address : Internet 상에다수의 Public 6to4 Relay 의 IPv4 Address는 192.88.99.1로할당되어있다. 이 Address는 (192.88.99.1) 는 BGP를통해Announce 되며, 이 Address로가는 Packet은 BGP Routing을통해Best Path를경유하여가장가까운 Node를찾게된다. IPv6 Anycast Address도이와마찬가지로다수의 Device가하나의 IPv6 Address를공통으로설정하고 Routing Protocol을통해 Announce 하며 Internet 상의 Node는가장가까운Anycast Address Device에도달할수있다. IPv6-28
Anycast Address (RFC 2526) 128bit Xxxx xxxx xxxx xx. xx n bit (Subnet Prefix) All Zero 128 n bit Subnet-Router Anycast Address: n bit ( 해당 Subnet Profix) 128 n bit 는보통모두 0 으로설정한다.! Cisco Router 에서 Anycast Address 설정예 Router(config-if)#ipv6 address 2002:c058:6302::/128 anycast IPv6-29
Loopback, Unspecified Address Loopback Address : Loopback Address (0:0:0:0:0:0:0:1 또는 ::1) 은 Node 가 TCP/IP Software 에게 Packet 을보낼수있는 Loopback Interface 를식별한다. ( 보통자기자신에게 Packet 을보낸다고하며, TCP/IP Software 점검을목적으로한다.) IPv4 에서 127.0.0.1 과동일한다. Unspecified Address : 128bit가모두0인 Address(::) 로 Interface에 IPv6 Address가부여도지않은상태의 Unicast Address이다. DAD (Duplicated Address Detection) 등에서사용되다. IPv4의 0.0.0.0 Address와유사한다. IPv6-30
IPv4 Compatible Address 96 bits 32 bits 0000.. 0000 IPv4 Address 0:0:0:0:0:0:192.168.10.1 ::192.168.10.1 ::C0A8:1E01 IPv4-Compatible Address : Automatic IPv4 Tunnel, Dynamic NAT-PT 등에서사용되는 Address 로 IPv6 Address 구성에 Node 의 IPv4 Address 를포함한다. ::/96 + IPv4 Address 형태로구성되며 ( 예 : :: 211.240.47.200), Embedded Format ( 예 : ::D3F0:2FC8) 으로도사용된다. IPv6-31
IPv6 Address Allocation 2001 /23 /32 /48 /64 0410 Interface ID (EUI-64) Registry ISP Prefix Site Prefix The allocation process is : 2001:: /16 IANA 2001:0200::/23, 2001:0C00::/23 APNIC (Asia Pacific Network Information Centre) ::/32 prefix to a new IPv6 ISP Sub TLA holder ISP may create its own NLA boundary /32 ~ /48 for his customer ISPs 6Bone Address : 3FFE::/16 /32 prefix Pseudo Top-Level Aggregator (ptla) /48 End Site LAN Prefix IPv6-32
IPv6 address mgmt. org. 1 1 IANA(International Corporation for Assigned Names and Numbers) - 총괄관리기구 2 RIR(Regional Internet Registry) 2 - 대륙별주소관리기구 ARIN(American Registry for Internet Number) 4 3 LIR NIR LIR APNIC(Asia Pacific Network Information Center) RIPE NCC(Reaeaux IP Europeans-Network Coordination Centre) 3 NIR(National Internet Registry) - 국가단위주소관리기구 (ETRI..) 5 ISP ISP ISP -TLA 혹은 sub_tla 등록 4 LIR(Local Internet Registry) 6 End - User End - User 5 ISP(Internet Service Provider) 6 End - User IPv6-33
Hierarchical Addressing & Aggregation Customer 01 2001:0410:0001::/48 ::/48 Prefix 만을 Announce 한다. ISP 2001:0410::/32 ::/32 Prefix 만을 Announce 한다. Customer 02 2001:0410:0002::/48 IPv6 Internet 2001::/16 주소공간이넓어서한조직에대해서충분한크기의주소를할당할수있고계층화된주소배포로주소요약 (Address Aggregation) 이용이하다. 넓어진 Address Space 는 Enterprise Organization 이하나의 Prefix 로모든네트워크를표시할수있게된다. IPv6-34
6Bone-KR Topology IPv6-35
ICMPv6
ICMPv6 ICMPv6 Packet은 Next Header Field 58로식별된다. TCP, UDP 와같은상위 Layer Protocol로취급되며다른Extension Header가있는경우그것들뒤에온다. ICMPv6 는 Error 및 Information Report 외에도 Stateless Autoconfiguration, Prefix Renumbering, Neighbor Discovery, DAD (Duplicate Address Detection), Path MTU Discovery 등의기능을수행한다. IPv6-37
참고 : ICMPv6 Messages Type Error Message Information Messages Group Membership Messages Router Discovery Messages Neighbor Discovery Messages Redirection Messages Router Renumbering Name Lookup 1 2 3 4 128 129 130 131 132 133 134 135 136 137 138 139 140 Destination Unreachable Error Packet Too Big Error Time Exceeded Error Parameter Problem Error Echo Request Echo Reply Group Membership Query Group Membership Report Group Membership Termination Router Solicitation Router Advertisement Neighbor Solicitation Neighbor Advertisement Redirect RR Name Information Query Name Information Reply IPv6-38
PMTUD (Path MTU Discovery) MTU = 1500 MTU = 1500 MTU = 1400 MTU = 1300 라우터라우터라우터 Packet With MTU = 1500 ICMP Error : Packet too big ; use MTU = 1400 (ICMP Type 2 Messages) Packet With MTU = 1400 ICMP Error : Packet too big ; use MTU = 1300 (ICMP Type 2 Messages) Packet With MTU = 1300 IPv6-39
RS (Router Solicitation) IPv6 Host 가 IPv6 Router 를검색하기위해서전송하는 Packet 이다. Host 는 Boot 시 Router 에정기적인 RA Message 를기다리지않고 Multicast (FF02::2) 로 RS (Router Solicitation) Packet 을보내 IPv6 Router 에게즉시응답하라는 Message 를전송한다. IPv6-40
RA (Router Advertise) IPv6 Router 는 RA (Router Advertise) Message 를정기적으로또는 RS 에응답으로보내어진다. 이 Message 에는주소자동구성의사용여부에관계없이 Link Prefix, Link MTU, 주소자동구성을통해만들어진주소가유효상태와기본설정상태에있는기간을결정하기위해호스트에서필요로하는정보가표함된다. IPv6-41
ICMPv6 RA Field 값 Type Code Checksum Current Hop Limit Managed Address Configuration Flag Other Configuration Flag Router Lifetime Reachable Time Retransmit Timer MTU Option Prefix Information Option 134 0 ICMPv6 검사값 Router 알림메시지를받는호스트에서보낸 Packet 에대한 IPv6 헤더에있는홉수필드에기본값 1 로설정되면 DHCPv6 로부터 IP 자동구성을의미한다. 1 로설정되면 DHCPv6 로부터 IP Option 만구성함을의미한다. Router 의작동시간을나타낸다. 연결이가능하다는확인을받은후 Node 를연결가능한인접 Node 로간주할수있는시간 ( 밀리초단위 ) Network 환경요청 Message 의재전송사이의시간 Link 의 MTU 값 주소자동구성에사용되는 Prefix 정보 IPv6-42
Neighbor Discovery (ARP) ICMP Type = 135 Src = A Dst = Solicited-node multicast of B Data = link-layer address of A Query = what is your link address? ICMP Type = 136 Src = B Dst = A Data = link-layer address of B A and B can now exchange packets on this link IPv6-43
IPv6 Host
Configuration IPv6 for Windows 2000 설치 1. MS Site (http://msdn.microsoft.com/downloads/sdks/platform/t pipv6.asp) 에서 tpipv6-001205.exe 파일 (Microsoft IPv6 Technology Preview for Windows 2000) 을다운로드받아실행하여 c:\ipv6kit에압축을푼다. 2. C:\IPv6Kit에서 Setup.exe x 를실행한다. 3. hotfix.inf 파일에서 NTServicePackVersion=1024 등으로수정한다. (ServicePack4 인경우, 256x4=1024이다.) 4. hotfix.exe를실행한다. 5. Restart 한다. 6. 시작 설정 네트워크및전화접속연결 로컬연결선택 프로토콜추가에서 Microsoft IPv6 Protocol을추가한다. IPv6-45
Windows 2000 에서 IPv6 확인및검사 IPv6 설정확인 c:\>ipv6 if IPv6 수동설정 c:\>ipv6 adu 4/3ffe:b00:c181:02a0:b0ff:fe03:211c Ping Test 하기 c:\>ping6 fe80::260:97ff:fe02:6ea5 Trace Route 경로검사 c:.\>tracert6 r IPv6 Routing Table 검사 c\>ipv6 rt IPv6-46
Configuring IPv6 (Windows XP SP1, 2003) 설치 1. 네트워크연결 로컬영역연결 속성에서설치를클릭한다. 2. 네트워크구성요소유형선택상자에서프로토콜을클릭한후추가를클릭한다. 3. 네트워크프로토콜선택대화상자에서 Microsoft TCP/IP Version 6을클릭한후확인을클릭한다. 4. 닫기를클릭하여네트워크연결에변경을저장한다. Command Mode 에서직접설치하기 Windows XP 인경우 : c:\>ipv6 install Windows 2003 인경우 : c:\> netsh interface ipv6 install 입력 IPv6-47
netsh Command (Windows XP, 2003)! IPv6 Address 구성하기 netsh interface ipv6 add address 4 2001:1:1:1::1! IPv6 Address 삭제하기 netsh interface ipv6 delete address 4 2001:1:1:1::1! IPv6 Route 추가하기 netsh interface ipv6 add route 2001:2:2:2::/64 4! IPv6 Route 제거하기 netsh interface ipv6 delete route 2001:2:2:2::/64 4! IPv6 address설정및 Route table 확인하기 netsh interface ipv6 show address or ipconfig netsh interface ipv6 show routes or route print IPv6-48
IPv6 Site 모니터링및 IPv6 LAB 치환명령어 http://www.vsix.net IPv6-49
The END 수고하셨습니다.