IPv6 발표자 : 김병종 2조: 진흥수, 김병종, 장진혁 이웅섭, 주환준 경남직업전문학교
1. IPv4의 한계 2. IPv6 의 장점 3. IPv6 의 특징 3-1. IPv6 헤더 변화 3-2. IPv6 주소체계 변화 4. NDP 사용 5. 주소 자동 설정 (Address Auto-configuration) 기능 사용 6. 보안기능 강화 7. ICMPv6 도입 8. IPv4에서 IPv6 로 의 전환
1.IPv4의 한계 IP 는 원래 OSI 계층 중 Network Layer 에 속하는, 패킷 스위칭 네트워크 서 호스트 간에 데이터를 송수신하는데 사용되는 데이터 위주의 프로토콜이다 현재 일반적으로 사용하고 있는 IP 의 주소 표현 방법이 IPv4(Internetprotocol Version 4)이다 가장 큰 문제점은 인터넷 사용 인구의 증가로 인해 IPv4 주소 공간 자체가 포화 상태에 이르렀다는 것이다 -현재 한국에 할당된 3400만개의 IPv4 주소 중 99.69% 가 이미 사용되고 있다 이렇게 모자라는 주소를 더 많은 네트워크에 할당하기 위해 이런저런 기술들이 사용되면서 Network Fragmentation 이 지속적으로 증가하게 되어 라우터에 많은 부담을 주고 있다 VOD (Video on Demand) 등의 전송 기능을 수용하기 위해서 QoS (Quality of Service) 문제도 개선될 필요가 있으며, 데이터 암호화나 인증 기능 같은 것도 없기 때문에 보안적인 문제도 따른다
2. IPv6 의 장점 IPv4의 문제들을 해결하기 위해 만들어진 것이 IPv6 (Internet Protocol Version 6) - Xerox 의 Palo Alto Research center(PARC)에서 개발 - 1994년 IETF (Internet Engineering Task Force)에 의해 채택된 기술 - IPv4 의 확장이지만, IPv4가 가지고 있는 거의 모든 단점들을 해결 IPv6의 가장 큰 특징이자 장점은 IP 주소의 길이가 32bit에서 128bit로 증가 약 42억 개의 주소 수를 가지고 있는 IPv4 의 약 30배의 주소 수가 증가 네트워크가 여러 작은 단위들로 구분될 필요성이 사라져 라우팅도 빨라짐 향후 인터넷에 등장할 대량의 유비쿼터스 통신 장치들도 모두 수용할 수 있으며, 뿐만 아니라 냉장고, 세탁기, TV, 오디오 등의 가전 제품들에도 IPv6 주소를 부여하여 홈 네트워킹도 보다 수월하게 구축할 수 있게 된다 IPv4 가 가진 멀티미디어 실시간 처리 및 보안 대처 능력의 한계 또한 쉽게 해결된다 헤더가 보다 간결해짐으로 인해 라우터에서 처리해야 하는 작업이 줄어들어 라우팅의 효율과 퍼포먼스, 그리고 Forwarding Rate 의 확장성도 좋아지게 된다는 장점도 무시할 수 없다
3. IPv6 의 특징 효율적인 헤더 포맷 : IPv4의 헤더 크기는 가변적이나 IPv6는 단순하고 고정된 크기의 헤더(40바이트)를 사용하여 패킷처리의 효율성을 높였다. 기본헤더 이외의 옵션은 확장헤더를 통해 처리함. 확장된 주소공간 : IPv6의 주소 크기가 128 비트로 확장되었으며 주소자동설정(Address Auto-configuration)기능을 통해 편리성을 극대화 함. QoS 지원 능력 : 플로우 레이블을 이용하여 서비스 별 품질제어가 가능함. 보안의 강화 : IPv6에서는 인증, 데이터의 무결성, 데이터의 비밀성을 제공하기 위한 IPSec 확장헤더가 필수 사항임. 구분 IPv4 IPv6 주소크기 32bits 128bits 주소개수 약 43억개 약(43억×43억×43억×43억)개 사용현황 전세계적으로 사용 현재 연구/실험용으로 사용 새로운 장비는 도입개발 중 주소할당 Class 단위의 비순적 할당 네트워크 규모의 단말기수에 따른 순차적 할당 기본 헤더필드수 14 8 헤더 Checksum 있음 기능 삭제 Plug&paly 기능 없음 있음(auto configuration 가능) QoS 제어 Best Effort 방식으로 품질 보장이 곤란 (Type of Service 에 의한 QoS 일부지원 등급별, 서비스별로 패킷 구분이 가능하여 품질보장이 용이(Traffic Class, Flow Label 에 의한 QoS지원 보안기능 별도의 IPSec Protocol 추가 확장기능에서 기본적으로 제공 Mobile IP 기능 적용 비효율적 효율적
- 헤더길이(Internet Header Length) 필드제거 3-1. 헤더의 변화 IPv4 헤더(20 byte) IPv6 헤더(40 byte) Version IHL Type of Service Total Length Identification Flags Fragment Offset Time to live Protocol Header Checksum Source Address Destination Address Options Padding Version Traffic Class Flow Lable Payload Length Next Header Hop Limit Source Address Destination Address - 헤더길이(Internet Header Length) 필드제거 - 서비스유형(Type of Service) 트래픽 클래스(Traffic Class)필드로 대체 - 전체길이(Total Length) 필드 페이로드 길이(Payload Length) 필드로 대체 - 식별(Identification), 플래그(Flags), 플래그먼트 옵셋(Fragment Offset) 필드 제거 - TTL 필드 홉 제한(Hop Limit) 대체 - 프로토콜 필드 넥스트 헤더(Next Header) 필드로 대체 - 헤더 검사합(Header Checksum)필드 제거 - 옵션(Option) 필드 확장 헤더로 구현
확장헤더 : 기본헤더의 Next Header 필드가 다음 확장헤더의 종류를 지시하는 형태로 필요한 경우에만 구성되며 맨 앞의 1byte 가 다음 확장헤더를 표시함. 각 확장 헤더는 IPv6 기본헤더와 상위계층 헤더 사이에 위치하며 헤더의 길이는 8 옥텟의 정수배이다. 확장헤더 종류 Hop-by-Hop option , Destination option , Routing , Fragment, Authentication 등이 있다.
3-2. 주소체계변화 IPv6 의 주소표현 방식 ▶ IPv6 의 128bit 주소 공간은 다음과 같이 32자리의 16진수를 4자리씩 끊어 나타낸다 2001 : 0db8 : 85a3 : 08d3 : 1319 : 8a2e : 0370 : 7334 2001 : 0DB8 : 0000 : 0000 : 0000 : 0000 : 1428 : 57ab 2001 : 0DB8 : 0000 : 0000 : 0000 : : 1428 : 57ab 2001 : 0DB8 : 0 : 0 : 0 : 0 : 1428 : 57ab 2001 : 0DB8 : 0 : : 0 : 1428 : 57ab 2001 : 0DB8 : : 1428 : 57ab 2001 : DB8 : : 1428 : 57ab 그러나 0 을 축약하여 ':' 로 나타내는 규칙은 단 한 번만 적용 가능하다. 만약 두 번 이상 적용되는 것이 허용되면 다음과 같은 경우 어떤 것 인지 알 수 없다. 2001 : : 25de : : cade 2001 : 0000 : 0000 : 0000 : 0000 : 25de : 0000 : cade 2001 : 0000 : 0000 : 0000 : 25de : 0000 : 0000 : cade 2001 : 0000 : 0000 : 25de : 0000 : 0000 : 0000 : cade 2001 : 0000 : 25de : 0000 : 0000 : 0000 : 0000 : cade
IPv6 의 주소유형 ▶ 유니캐스트 : 단일 송신자와 네트워크 내의 단일 수신자 사이의 통신이다. Unicast 주소로 지정된 패킷은 그 주소에 해당하는 단일 인터페이스로 전송된다. Point-to-Point 라는 용어로 정의될 수 있다. ▷ 링크 로컬 주소 : 동일한 링크에 있는 인접 노드와 통신할 때 노드에서 사용함. 링크 로컬 주소는 16진수 FE80(이진수 : 1111 1110 1000 0000) 으로 시작되며, 단일한 링크 내에서만 유효하므로 라우터를 거쳐 다른 세그먼트로 전달 될 수 없다. ▷ 글로벌 유니캐스트 주소 : 인터넷에서 범용적으로 사용할 수 있는 IPv6 주소 체계임. 목적에 따라 다양한 형태의 포맷을 가질 수 있으나 일반적으로 라우터에서 Prefix를 제공받고, 인터페이스 자신의 고유한 ID를 참조하여 구성함. 이러한 IP 구성을 통해 주소 자동설정 기능을 활용할 수 있다.(= 공인 IP) ▷ 불특정 주소 : IPv6 의 불특정주소(0:0:0:0:0:0:0:0 또는 ::)는 IPv4의 불특정 주소 0.0.0.0 과 같은 개념으로 임시 주소로 사용됨. ▷ 루프백 주소 : 루프백 주소(0:0:0:0:0:0:0:1 또는 ::1)는 노드가 스스로에게 보낼 수 있는 루프백 인터페이스를 식별하는데 사용함. IPv4의 127.0.0.1 과 같은 개념임. ▶ 멀티캐스트 : 단일 송신자와 다중 수신자 사이의 통신이다. Broadcast 가 없어지면서 IPv6 의 주요한 기능이 되었다. 지정된 몇몇 Multicast Group 들에 전송 요청을 하는 식으로 작동하기 때문에, IPv4 Broadcast 가 가진 문제점을 해소함과 동시에 보다 효율적인 네트워크 동작을 가능하게 한다. one-to-many 로 정의될 수 있다. ▶ 애니캐스트 : 단일 송신자와 그룹 내에서 가장 가까운 곳에 있는 일부 수신자들 사이의 통신을 말한다. 관리자는 비슷한 기능을 하는 몇몇 장치들에 동일한 IPv6 Unicast 주소를 할당하여 그룹을 만들 수 있는데, Anycast 주소는 이러한 장치나 인터페이스 그룹의 리스트를 식별한다. Anycast 로 지정된 패킷은 해당 주소를 공유하는 장치들이나 인터페이스들 중 가장 가까운 한 곳에 전송된다. one-to-one-of-many communication 으로 정의될 수 있다.
정보의 탐색, 호스트 주소의 자동 설정 등의 동일 링크에 연결된 노드간의 상호작용에 관련한 문제들을 해결하기 4. NDP 사용 NDP(Neighbor Discovery Protocol)는 연결된 링크상의 라우터 탐색, 프리픽스 정보 탐색, MTU 와 같은 파라미터 정보의 탐색, 호스트 주소의 자동 설정 등의 동일 링크에 연결된 노드간의 상호작용에 관련한 문제들을 해결하기 위해 사용됨. IPv4의 ARP 기능도 포함하며 다음의 ICMPv6 의 정보 메시지를 이용함. 메시지 종류 특징 Router Solicitation/Advertisement * 자신과 동일한 링크에 연결되어 있는 라우터를 파악할때 사용 * 호스트는 Router Solicitation 으로 질의를 전송 * 라우터는 Router Advertisement 로 자신의 정보를 전달 Neighbor Solicitation/Advertisement * IPv4에서의 ARP 기능 * 노드는 Neighbor Solicitation 으로 질의를 전송 * Neighbor Solicitation 을 수신한 노드는 Neighbor Advertisement 로써 응답 Redirect * 라우터가 더 나은 경로를 알고 있을때 Redirect 메시지를 패킷의 소스에게 전달
5. 주소 자동 설정 (Address Auto-configuration) 기능 사용 IPv6 는 각종 장치나 단말에 IP 주소를 자동 설정할 수 있는 기능을 가지고 있다. 이는 일반 PC 뿐만 아니라 콘솔이나 디스플레이가 없는 Embedded OS 및 non-PC 장치에까지 IPv6 주소를 부여할 수 있다. 이 자동 설정 기능을 이용함으로써 사용자는 별도의 IPv6 주소를 설정할 필요가 없으며, 관리자 또한 사용자 별로 IP 주소를 할당해야 하는 관리 상의 불편함을 줄일 수 있다. IPv6 주소 생성 방법 ▶ Manual Configuration : 관리자 또는 사용자가 직접 자신이 사용할 IPv6 주소를 수동으로 입력하는 방식이다. ▶ Stateful Address Auto-configuration : IPv6 주소를 할당하는 별도의 서버가 존재하고 각각의 장치들은 이 주소 할당 시스템으로부터 적절한 주소를 할당받는 방식이다.(DHCPv6) 이는 사실 IPv4 에서도 지원하는데, 특정 서버가 테이블을 관리하면서 각각의 PC 에 주소를 할당하는 방식인 DHCP (Dynamic Host Configuration Protocol) 이다. ▶ Stateless Address Auto-configuration : 별도의 주소 관리 시스템 없이 각각의 장치들이 스스로 자신이 이용할 IPv6 주소를 생성하는 방식이다. NDP 메시지를 이용하여 자동 설정되며, 링크로컬주소를 NDP 메시지의 IPv6 헤더에 사용된다. Prefix, default router, Address duplication 여부 파악 한다. 왼쪽에 있는 PC 는 48bit 의 MAC Address 를 가지고 있는데, 우선 이 주소를 64비트로 변환한 다음, 자신이 속해 있는 라우터로 부터 64bit 의 prefix 를 전송 받아 이 둘을 합쳐서 총 128bit 의 IPv6 주소를 만들어낸다.
6. 보안기능 강화 IPv6의 IPSec은 프로토콜 자체에 내장된 확장헤더를 이용하기 때문에 별도의 프로그램이나 모듈을 설치할 필요가 없어 보안기능의 필요성과 효율성에 따라 비교적 쉽게 추가 또는 제거 될 수 있다. IPSec ▶ AH : IP 헤더와 전송헤더 사이에 위치하며 인증과 데이터 무결성을 검증 기능 : 사용자 인증 사용인증 알고리즘 : MD-5, SHA-1 헤더 적용 : AH 단독사용, ESP와 같이 사용, 전송모드와 터널모드로 동작 ▶ ESP : IP데이터그램에 제공하는 기능으로 암호화 부분을 담당 기능 : ESP 헤더는 페이로드 데이터의 요청을 방지하고 데이터의 기밀성을 보장 데이터 기밀성 보장을 위해서 종단간 약속된 키와 알고리즘 사용(DES, 3DES) 헤더적용 : ESP+AH 헤더, ESP 단독으로 사용가능, 전송모드와 터널모드로 동작
ICMPv6는 ICMPv4와 호스트의 진단을 위한 메시지 및 에러 메시지를 제공하고 보안이 제한적 이라는 유사점이 ICMPv6의 최대 길이는 IPv6 헤더를 포함하여 1280 byte 로 확장되었다. ICMPv6와 ICMPv4 메시지 비교 메시지 종류 IPV4 IPv6 비고 Echo request and reply ○ Timestamp request and reply × 사용되지 않는 기능으로 삭제됨. Address mask request and reply Router solicitation Neighbor solicitation ARP ICMPv6 기능으로 통합됨. Group membership IGMP Destination unreachable Source quench(socket buffer full 표시) Packet too big 링크의 MTU 보다 패킷이 큰 경우 Time exceeded Parameter problem Redirection
▶ ICMPv6 메시지 종류 메시지 구분 메시지 번호 메시지 종류 비고 Error 1 2 3 4 Destination Unreachable Error Packet Too Big Error Time Exceed Error Parameter Problem Error 패킷이 목적노드에 도달할 수 없는 경우 링크의 MTU보다 패킷이 큰 경우 Hop Limit = 0 인 패킷 수신/처리 패킷 헤더 문제 발견 Information 128 129 Echo Request Echo Reply 특정 노드의 생존여부 질의 특정 노드의 생존여부 응답 Group Membership 130 131 132 Group Membership Query Group Membership Report Group Membership Termination Router Discovery 133 134 Router Solicitation(RS) Router Advertisement(RA) RA 메시지의 요청 RS의 응답으로 또는 주기적 송신(라우터의 정보포함) Neighbor Discovery 135 136 Neighbor Solicitation(NS) Neighbor Advertisement(NA) NA 메시지의 요청 NA의 응답으로 또는 필요시 송신(호스트의 정보포함) Redirection 137 목적노드까지의 최적 경로를 알려줌 Router Renumbering 138 RR 라우터상의 프리픽스 재설정에 사용 Name Lookup 139 140 Name Information Query Name Information Reply
8. IPv4에서 IPv6 로의 전환 IPv4 망에서 IPv6 망으로의 전환 기술은 듀얼스택(Dual Stack), 터널링(Tunneling), 변환(Translation)이 있다. ▶ 듀얼스택(Dual Stack) : 호환성을 유지하는 가장 쉬운 방법 IPv4 와 IPv6 주소 모두를 지원하여 IPv4는 IPv4 로 통신하고 IPv6는 IPv6 로 통신한다. 모든 라우터 들이 IPv4와 IPv6를 지원해야 하며 라우팅 테이블이 두배로 늘어나야 하는 한계가 있다. 듀얼스택 host Application Transport(TCP,UDP) IPv4 IPv6 Ethernet IPv6 host IPv4 host 듀얼 스택 구조 및 동작
▶ 터널링(Tunneling) : IPv6 시스템이 IPv4 백본을 사용하기 위해선 터널링을 해야 한다. 터널링이란 기존의 네트워크를 이용해 섬처럼 서로 떨어져 있는 기존과는 다른 타입의 네트워크를 연결시켜 주는 기술이다. IPv6 네트워크 트래픽을 IPv4 네트워크를 통해 터널링하기 위해선 경계 라우터가 IPv6 패킷을 IPv4 패킷으로 Encapsulation 하고 이를 IPv4 네트워크를 통해 전송하고, 이를 받은 반대쪽에서 라우터가 IPv4 패킷을 De-encapsulation 하는 과정을 거쳐야 한다. 이러한 방법은 IPv6 패킷에 IPv4 패킷이 Encapsulate 되기 때문에 IPv6 의 MTU (Maximum Transmission Unit) 값이 20byes 만큼 줄어들게 되는 등의 한계를 가지고 있다. ▶ 터널링 종류 : 크게 설정 터널링 (Configured Tunneling) 과 자동 터널링 (Automatic Tunneling) 으로 나뉜다 ▷ 설정 터널링 : 터널의 종단간에 위치한 라우터에 IPv4 주소와 IPv6 주소를 모두 수동/정적으로 지정하는 방식이다. ( 각 라우터가 Dual Stack 을 가져야 함) 발신 호스트에서 생성된 IPv6 패킷의 목적지 주소는 최종 목적지의 IPv6 호스트 주소를 포함한다.
▷ 자동 터널링 : 실제 통신이 일어나면 자동으로 터널 종단을 설정하는 방식이다. 자동 터널링은 IPv4 호환주소(IPv4-compatable address)를 이용하여 수동설정 없이 패킷이 IPv4 구간을 통과할때 IPv4 호환주소에 내포되어 있는 IPv4 주소를 통해 자동으로 터널링을 설정하는 방식이다.
▶ 변환(Translation) : IPv4/IPv6 변환은 네트워크/전송/응용 계층에서 발생 할 수 있고, 통신 호스트 간 트래픽 변환과 중계를 제공하는 서버를 필요로 하며, 변환을 수행하는 계층이 상위일수록 성능은 떨어진다. 그 중 네트워크 계층의 변환에는 NAT-PT/NAPT-PT 가 있다. ▷ NAT-PT : IPv4패킷을 IPv6패킷으로 변환 혹은 그 반대로 변환시켜 주는 기능 일대일 로 IP 주소를 변환함. ▷ NAPT-PT : NAT-PT와 같은 기능을 함. 다대일로 IP 주소를 변환시키고 포트 번호로 구분한다. HTTP TCP IPv6 HTTP TCP IPv4 헤더변환 (NAT-PT/NAPT-PT)