Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

IPv6(1)-개요

IPv6(1)-개요

윤 상배

dreamyun@yahoo.co.kr

교정 과정
교정 0.72003년 2월 3일 23시
헤더관련 데이타를 이미지로 교체


1절. 소개

역시 몇장에 걸쳐서(몇장이 될지는 예측할수 없다.. 일단 작성하고 보는 거라서 -.-), 차세대 인터넷의 핵심이라고 할수 있는 IPv6(:12) 에 대해서 알아보도록 하겠다.

이글은 IPv6 의 탄생배경(IPv4 가 이미 있는데도)과 IPv4(:12)와의 비교를 통한 몇가지 기본적인 특징등에 대해서 알아볼것이다. - 이를테면 입문서이다 -

IPv6 관련문서의 최종목적은 IPv6 프로토콜의 이해와 사용목적 그리고 IPv6 사용(테스트)환경구축 과 테스트도구들의 사용 마지막으로 IPv6 소켓(:12) API를 이용한 c/s 어플리케이션의 구축과 IPv4 와 IPv6 간의 동시운용방법을 익히는 것이다. 한마디로 IPv6 에 대한 전반적인 대부분의 내용을 다루게 될것이다.

비록 IPv6가 아직은 연구적인 목적으로 쓰이고 있으나 조만간 IPv6 로 이동하게 될것이며, 이러한 지식은 이러한 변화에 좀더 유연하게 적응할수 있도록 도와줄것이다.


2절. IPv6 소개

이번장에서는 IPv6 에 대한 간략한 소개를 하게 된다. IPv6가 만들어진 이유와 기본규격등을 다루게 될것이다. 그리고 특성상 IPv4와의 비교가 많을 것이다.


2.1절. IPv6 란 무엇인가

IPv6 는 "Internet Protocol Version 6"의 줄임말이며 차세대 인터넷 환경을 위해 만들어진 차세대(Next generation) 인터넷 프로토콜이다. 현재까지도 널리 사용되고 있는 IPv4 를 서서히 대체해 나가게 될것이다. 아직 IPv6 가 상용화되어서 쓰이고 있지는 않긴하지만, 이미 많은 통신관련 제품들이 IPv6 를 지원을 고려해서 제작되어지고 있으며, 관련 소프트웨어 역시 IPv4와 더불어 IPv6까지를 지원할수 있도록 제작되어 지고 있다.


2.2절. 왜 IPv4 에서 IPv6 로 넘어가려고 하는가

사실인터넷이 이렇게 까지 성장할수 있었던 공로의 상당부분은 IPv4 프로토콜 덕분이였다. 이 프로토콜은 공개되어서 누구나 사용할수 있었으며, 기기와 운영체제에 관계없이 동일하게 사용할수 있는 개방적인 프로토콜 이였다. 또한 매우 유연하게 작동했으며, 성능도 썩 괜찮았고 지나치게 복잡하지도 않았다.

그러나 시대는 변하기 마련이며, 그 변화에 따라서 인터넷과 컴퓨팅 환경은 엄청난 변화를 맞이하게 되고, 지금에 와서는 과연 IPv4 를 이용해서 앞으로의 인터넷환경을 확장/유지 할수 있을것인가하는 의문을 가지게 되었다.

과연어떠한 인테넷/컴퓨팅 환경의 변화가 (인터넷확산에 일등공신인)IPv4 의 성능에 의문을 제기하고, IPv6 라는 새로운 프로토콜로의 전환을 기정사실화 시키고 있는지 알아보도록 하겠다.


2.2.1절. 인터넷의 폭발적인증가 == IP 부족

IPv4 는 대단히 오래된 프로토콜이다. 지금으로 부터 자그마치 20년 전인 1981년에 개발되었다 - 인터넷의 출발은 1969 년경이다 -. 하루가 다르게 기술의 발전이 이루어지는 지는 지금의 현실에서 본다면 정말 골동품 프로토콜인 셈이다.

어쨋든 당시에도 프로토콜 개발자들은 나름대로 미래를 예견해서 프로토콜을 개발했다. 그래서 인터넷 주소를 위한 크기 할당을 2^32 정도로 한다면, 이 프로토콜은 (아마도) 아주아주 오랫동안 쓰일수 있을것이라고 생각했다. 2^32 는 42억이 더 넘는 크기로, 42억대의 호스트에 유일한 주소를 할당할수 있는 정도의 크기였다. 당시의 인구 상황이나, 호스트수, 컴퓨팅/네트웍 환경 등을 생각한다면 매우 터무니 없이 크게 잡은 숫자였다. 그 누구도 인터넷 주소에 기반한 인터넷이 이렇게 까지 성공할줄은 몰랐을것이다.

사실 인터넷이 출발한 1969 년부터 대략 20년이 지난 1990년 까지도 인터넷은 그리 성공적이지 못했다. 그때까지도 여전히 인터넷은 소수의 전문가 그룹과 연구소,대학의 전유물이었다. 그러던것이 1992 년 100만대 호스트를 넘기면서 부터 매년 100% 이상 성장하게 된다. 말그대로 폭발이라 할만하다. 현재 (2002년 8월) 자료를 보면 인터넷에 연결된 호스트의 수는 약 1억 8천 개로 로 집계되고 있다. 다음은 인터넷에 연결된 호스트의 증가추이를 그래프로 나타낸 것이다.

그림 1. 인터넷 증가 추세 (출처 : www.isc.org)

인도와 중국, 아프리카 같은 지역의 인터넷 사용이 본격화 되면 더 많은 호스트가 인터넷에 연결될이며 이와 같은 증가추세는 상당기간 계속될 것이다.

또하나 IP(:12) 부족 사태를 부채질한것이 있는데, IP주소의 관리체계의 문제였다. 주로 북미 지역을 중심으로 해서 무분별하게 IP를 할당해 버림으로 비교적 초기에 인터넷이 발달한 몇몇 지역은 IP주소가 남아돌고, 그밖의 아시아/아프리카/유럽 상당부분은 IP주소가 부족한 사태가 벌어진 것이다. 심지어 아시아, 유럽, 아프리카 일부나라는 C class 주소 하나로 전체지역을 서비스할정도이다. "빈익빈 부익부" 현상이 인터넷시대에도 재현되고 있는 셈이다.

거기다 앞으론 이동통신 기기나 가전제품까지도 인터넷에 연결되게 될것이고 (이미 연결되고 있지만) 그렇게 되면 IP 부족현상은 더욱 심각해 질것이다.


2.2.1.1절. 나름대로의 해결책

물론 IPv4 에도 IP 부족을 해결하기 위한 나름대로의 해결책을 가지고 있기는 하다.

첫번째가 동적 아이피 할당을 이용한 유휴 IP 자원의 활용과, 사용하지 않는 주소의 재할당 NAT [1] (Network Address Translator)의 이용등이 그것이다.

그러나 위의 방법들은 한계를 지닌다. 동적 아이피 할당의 경우에는 IP 번호가 바뀜으로 인터넷 연결 통로가 고정되지 못한다는 단점이 있다. 사용하지 않는 IP 번호의 재사용역시 사용하지 않는 IP 의 수보다 더 많은 IP 수요가 발생함으로 근본적인 한계를 지닌다.

NAT 의 경우는 사설IP 라는 특징때문에 양방향 인터넷 통신에 많은 제약이 생긴다. 많은 인터넷 서비스, 온라인 게임등은 사설망에서 아예 사용 불가능 할수도 있다. 양방향 인터넷 서비스기술인 P2P 역시 NAT 하에서는 제약이 가해진다. 모든 호스트에 공인 IP 가 주어진다면 진정한 P2P 시대가 도래할것이다.


2.2.2절. 이동통신망의 인터넷 연결

이동통신의 인터넷으로의 연결은 앞으로 계속 늘어나게 될것이다. WebTv, 핸드폰과 같은 개인단말기, 위치정보 시스템, 휴대용 PC 를 비롯해서 원격으로 관리하기 위한 여러가지 산업기기와 가정용기기 등이 여기에 포함된다. 이미 인터넷 냉장고, 세탁기와 같은 가전제품이(효과적으로 사용할수 있을런지 의심스럽긴 하지만) 등장하고 있다.


2.2.3절. 인터넷 보안

IPv4 는 처음부터 보안은 전혀 신경쓰지 않고 만들어졌다. 당신은 단순히 tcpdump(:12) 만을 이용하는 정도로 아이디, 패스워드, 개인신상정보등을 얻어올수 있을것이다. tcpdump 로 패킷분석이 힘들다면, 패킷분석을 도와주는 아주 유용한 패킷캡쳐 도구들을 사용할수도 있다.

그러나 지금의 인터넷의 최대의 적은 바로 "보안"이다. IP 프로토콜 차원에서의 보안이 필요한 시점이 왔다.


2.3절. 그럼 IPv6 는 IPv4의 문제점을 해결할수 있는가 ?

2.3.1절. 인터넷 주소 부족문제

현재 사용중인 IPv4 는 주소를 지정하기 위해서 32bit 를 할당한다. 반면 IPv6 는 주소 지정을 위해서 128bit 크기를 할당한다. 계산을 해보면 340282366920938463463374607431768211456 개 만큼의 주소 할당이 가능하다는걸 알수 있다 - 각종 예약되는 주소들 때문에 실제는 이것보다는 적게 할당될것이다 -. 저게 도대체 어느정도의 숫자인지 감이 오질 않을것인데, 이게 어느정도양인지 감을 잡기 위해서 전체 지구면적당 몇개의 IP를 부여가능한지를 계산해보도록 하자. 계산식은 다음과 같을것이다.

(2^128) / (507042253 * 10^6)(cm^2) 
				
계산을 하면 67111244656160531746/cm^2 개가 나온다. 6700 경이다. 지구상의 모든 모래에까지 IP 부여가 가능할 것이다.

어쨋든 엄청나게 큰수로써 아마도 상당히 오랫동안은 IP 주소 자원고갈에 대한 걱정은 하지 않아도 될것이다.


2.3.2절. 성능 향상

IPv6 는 IPv4 에 비해서 단순한 패킷구조를 가지고 있다. 다음은 2개의 프로토콜 패킷 구조이다.

그림 2. IPv4 헤더 : 20byte

그림 3. IPv6 헤더 : 40byte

보면 알겠지만 헤더가 훨씬 단순해졌음을 볼수 있다. 헤더가 단순해졌다는 것은 그만큼 빠른처리가 가능하다는 것을 의미한다. 제거된 필드들을 보면 주로 패킷체크과 관련된 것들이다. 이러한 체크들은 이더넷계층에서도 이미 이루어지는 것들임으로 불필요한 오버헤드이기 때문이다. 또한 네트웍환경도 좋아지고 컴퓨팅 환경도 좋아져서 굳이 저러한 체크들이 필요 없어졌기 때문이기도 하다.

IPv6 의 헤더에 대한 자세한 설명은 나중에 하도록 하겠다.


2.3.3절. 보안

2.3.3.1절. IPv4 의 보안

1990년 초반까지만해도 전체 인터넷 연결호스트는 100만이 채 안되었으며, 대부분 전문가 혹은 연구목적으로 사용되고 있었다. 처음 IPv4 를 설계할때 이렇게 인터넷이 대중화 되리라고는 생각조차 못했을것이다.

그런이유료 IPv4 는 연결된 컴퓨터끼리 데이타를 "잘" 교환하는 데에만 촛점이 맞추어져 있다. 데이타는 아무런 암호화 과정등을 거치지 않고 그대로 전송되었었으며, 마음만 먹는다면 패킷의 내용을 살펴볼수 있었다. 그리고 패킷의 내용을 살펴본다고 해도 별로 문제될게 없었다. 어차피 연구용이였으며, 인터넷에 연결된 호스트는 그리 많지도 않았고 몇몇 공인된 기관들만 연결되어 있었기 때문이였다.

그러던 것이 인터넷이 폭발적으로 성장하고 모든 데이타 통신의 주요 수단으로 급부상하면서 하나둘씩 보안문제가 생겨나게 되었다.

인터넷 상에는 친구들끼리 주고 받는 시시콜콜한 대화에서 부터, 개인의 이름, 주민등록번호, 생년월일, 은행계좌, 이력서, 카드번호, 기업기밀문서등 특성상 남에게는 알려져서는 안되는 내용들이 돌아다니기 시작했고, 이것들을 암호화해야될 필요성을 느끼게 되었다.

그러나 IPv4 는 암호화 기능이 없음으로 SSL 과 같은 별도의 어플리케이션을 사용해야만 했다. 게다가 기존의 인터넷 연결에 SSL 과 같은 보안계층을 두는것은 귀찮은 작업이였기 때문에 몇가지 중요한 서비스(결재와 같은)를 제외하고는 거의 보안이 적용되어지지 않고 있는 실정이다.


2.3.3.2절. IPv6 의 보안

Encapsulating Security Payload (ESP) 라는 헤더를 이용해서 패킷 보안을 가능하게 했다. 이 헤더는 IPv6 의 오리지날 헤더다음에 붙는 일종의 확장 헤더이다. 이 헤더의 정보를 이용해서 패킷의 보안이 이루어지게 된다.

보안은 크게 인증과 데이타의 암호와 2가지로 이루이진다. 인증은 서버와 클라이언트간에 교환되는 데이타를 중간에서 수정하거나 파괴할수 없게 하기 위해 사용되며, 암호화는 말그대로 데이타의 내용을 인증되지 않은 사용자가 볼수없도록 하기 위해서 사용된다. 인증과 암호화를 위해서 몇가지 암호들과 관련된 알고리즘이 사용되는데 이에 대한 내용은 설명하지 않도록 하겠다.

다음은 ESP 헤더의 구조이다.

그림 4. ESP 헤더

위의 ESP 헤더를 포함한 전체 패킷의 구조는 아래와 같을 것이다.

그림 5. ESP 패킷구조

참고로 암호화 방법은 고정되어 있는게 아니며 상황에 따라서 선택할수 있다. 또한 암호화가 필요하지 않다고 생각되면 생략할수도 있다.

사실 위의 ESP 헤더는 IPv6 에만 사용할수 있는 건 아니다. IPv4 에도 역시 사용할수 있는데, 그러나 IPv4 의 경우 ESP 헤더를 예상하고 준비해둔게 아님으로 상황에 따라서 적용불가능할수도 있다.

IPv6 의 보안에 대한 자세한 내용은 rfc2406 을 참고하기 바란다.


2.3.4절. 그 밖의 기능들

2.3.4.1절. 주소 자동 설정

IPv6 는 stateless 라는 주소자동 설정 방법을 제공함으로써, 사용자가 일일이 네트웍 환경을 파악해서 자신의 호스트에 IP 주소를 할당해야 하는 불편함을 없애주었다.

물론 이러한 기능은 IPv4 에서도 DHCP(Dynamic Host Configuration Protocol)를 이용하여서 관리하고 있는 네트웍의 호스트에 자동으로 IP 번호를 부여하도록 해주고 있다. 실제로 두루넷과 같은 가정용 광통신업체들의 경우 DHCP 를 이용해서 고객의 IP 를 관리해주고 있다.

그러나 DHCP 역시 DHCP 서버가 있어야 한다는 단점을 가진다. DHCP 서버가 있으니 당연히 서버관리역시 필요하다. DHCP 서버가 필요하다는 뜻은 모든 사이트 영역을 감당할수 없다는 것을 의미한다. ( 그리고 DHCP 는 인터넷 주소 부족에 의한 IP 자원의 재활용측면에서 등장한 측면이 있다.)

IP 주소의 자동설정에 대한 자세한 내용은 rfc2462 를 참고하기 바란다.


2.3.4.2절. Qos

IPv6 는 Flow Label 이라는 장치를 통해서 Qos(Quality of Servide) 를 지원한다.

QoS 란 서비스가 사용하는 인터넷 리소스의 자원과 특성에 따라서 거기에 맞도록 데이타를 전송하는 서비스를 말한다. 예를들어 VOD 데이타와 HTTP 데이타를 라우터가 받았다면, VOD 데이타를 우선적으로 처리하는 어떤 알고리즘을 적용한다면 양질의 VOD 와 HTTP 서비스를 동시에 만족 시킬수 있을것이다. 기존의 경우 데이타를 동일하게 처리함으로 결과적으로는 VOD 데이타를 위해서는 자원이 부족하고 HTTP 데이타를 위해서는 오히려 자원을 낭비하는 결과를 초래했다. 이것은 자원낭비다.

IPv6 는 프로토콜차원에서 QoS 를 제공한다. 이는 라우터 단위에서 데이타의 특성에 따른 서비스의 질을 결정시킬수 있음으로 좀더 균형된 인터넷환경을 만들어 준다.


3절. 결론

이상 간단하게 IPv6 의 특징과 왜 IPv6 가 필요한지에 대한 내용을 알아보았다. 다음에는 IPv6 의 특징을 좀더 자세히 다루어 보도록 하겠다.

주석

[1]

NAT는 공인 IP 주소를 절약하는 것과 중요한 사설망을 외부침입으로 보호하는 2가지 목적으로 사용한다.

리눅스(:12)에서 사설망의 구축을 위한 Masquerade 를 NAT의 예라고 볼수 있다.