공부/Computer Network2013. 3. 25. 23:26

IPv6 - Part 1


IPv6의 역사 : 1998 12월 버젼, 이전 SIP(Simple Internet Protocol), SIPP(SIP Plus)

* Simple IP(or Steve's IP)

- 테마 : 헤더 최소화

- 확장성 부가 (e.g., 하나 이상의 다음 헤더)

- 흐름 식별자 (최신 작업 반영)

- 더 큰 평면 주소 구조체 (0에서 부터 시작하는 주소를 의미하는 듯)

* The P Internet Protocol (or Paul's IP) (RFC1621, RFC1622)

- 주소 지정을 위치자(Locator) 식별자(Identifier)로 나눔

- 계층적 다중 길이 위치자 : 제공자(provider) 부분, 이용자(subscriber) 부분

- 함축적 소스 라우팅

* The Grand Compromise (대합의) of '94 : Simple IP-Plus : 계층적 주소의 PIP와 SIP


IETF 작업 집단

* 6man : IPv6 Maintenance

* 6LoWPAN : IETF의 워킹 그룹 중 하나이며, IEEE 802.15.4로 대표되는 저전력 무선 사설 네트워크(Low-power Wireless Personal Area Network), 센서 네트워크 위에서 인터넷 프로토콜을 사용하기 위한 아키텍처 등을 표준화하고 있는 단체이다. (위키 참조)

* 6renum : IPv6 Site Renumbering

* v6ops : IPv6 Operations


IPv6 기술적 고려사항

* 규모: IP4 에서 IP6로 이행하는 최우선적 이유. 최소 10^12 노드와 10^9 네트워크 가능.

* 위상기하학적 유연성

- 네트워크 위상기하학적 사전지식이 없는 라우팅 알고리즘

– 매우 많은 수의 홉 (IPv4는 256이 한계)

* 성능 : 예전 "IPv4"와 동일 시간에.

* 탄탄한 서비스 : 최소 IPv4 만큼.

* 이행 : 인터넷의 모든 호스트를 IPv4 에서 IPv6로 바꾸는 것은 불가능하므로 IPv6 는 IPv4 패킷을 수용할 수 있어야 한다.

* 매체 독립성

– 미래의 네트워크는 500Gbps의 속도를 지원할 수도 있다.

– 어떤 ELF (=Extra Low Frequency) 네트워크는 10 chars/s 만큼 느릴 수도 있다.

* 설정, 관리, 운용 : IPv4보다 쉽다.

* 보안 운용 : 보안 레이어(secure layer). 예전 IPv4는 그러한 가능성을 주지 않았다.

* 멀티캐스트 : 사용가능 (유니캐스트도 당연)

* 확장성 : 새로운 버전의 IP라도 다룰 수 있다.

* 헤더 : 확장가능

* 패킷 : 새로운 패킷 타입을 IPv6에 추가할 수 있다.

* 네트워크 서비스 : 특별한 "상태" 즉 어떻게 그 패킷들을 다룰 것인가

* 이동성 지원

* 제어 프로토콜 : 어떤 종류의 디버깅과 제어 프로토콜.

* 사설 네트워크


IPv6 주소 : IPv4는 32비트, IPv6는 128비트.

* 2^32 = 약 43억

* 2^128 = 약 340간. 세계 인구가 약 65억명이라 보면 1인당 약 5양 2351자 개.


IPv6 주소 표기법

* 대소문자 구별없는 16비트 필드, 콜론 16진수 표기법

- ex) 2031:0000:130F:0000:0000:09C0:876A:130B

* 앞에 오는 0은 생략되지만 뒤에오는 0은 생략되지 않음

– ex) 2001:0db8:0012::/48 = 2001:db8:12::/48

– ex) 2001:0db8:1200::/48 ≠ 2001:db8:12::/48

* 0이 연속되는 필드는 :: 으로 표시하지만, 한 주소에서 한번만이다.

– 2031:0:130F::9C0:877A:130B

– 2031::130F::9C0:877A:130B (X)

– 0:0:0:0:0:0:0:1 -> ::1

– 0:0:0:0:0:0:0:0 -> ::



IPv6 주소 타입

* 유니캐스트 : 한 인터페이스에 한 주소. 하나의 인터페이스로 전달된다.

* 멀티캐스트 : 인터페이스 집합의 주소, 집합의 모든 인터페이스에 전달. FF00::/8

* 애니캐스트 : 인터페이스 집합의 주소, 집합내의 한 인터페이스에 전달. (예를 들어 라우팅 프로토콜의 거리 측정에 따라서 '가장 가까운' 것)

- 유니캐스트 주소 공간에 할당됨

- 문법적으로 유니캐스트 주소와 구별하기 어렵다.

* 브로드캐스트 주소는 없다.


IPv6 주소지정 모델

* 주소들은 인터페이스들이 배정되있다.

* 주소들은 범위를 갖는다.

– 링크 로컬 (FE80::/10) : 사설 IP 주소 자동 할당과 동일.

– 사이트 로컬 (RFC 3879로 폐지예정) : IPv4 사설 주소와 동일.

– 유니크 로컬 (RFC 4193) : 세계적으로 유일하고 지역 통신을 대상으로 함. 세계적 인터넷에서 라우팅 가능할 것으로 기대되지 않음.

– 글로벌 : IPv6 인터넷에서 사용. IPv4 범용 주소와 동일.


링크 로컬 주소

* 두 IPv6 장비간의 통신을 위한 의무화된 주소 (ARP와 흡사하나 레이어 3)

* IPv6가 가능해지자마자 자동적으로 배정됨

* 라우팅 프로토콜의 다음 홉 계산에도 사용됨

* 오직 특정 연결 범위 (?)

* 남는 54비트는 0이거나 수동적으로 설정된 어떠한 값


인터페이스 식별자 : 64비트 필드. 서브넷 내에서 유일한 것이 보장된다.

* 여러가지 다른 방식으로 배정될 수 있다:

 64비트 EUI-64로 자동 설정 또는 48비트 맥 어드레스에서 확장됨.

- 자동 생성된 의사난수. (프라이버시 문제를 고려)

- DHCP를 경유하여 배정

- 수동적으로 설정


EUI-64 확장 인터페이스 ID : EUI(Extended Unique Interface) ID

변환 방법 (Microsoft TechNet) 여기 설명이 더 알기쉽긴 하다.


프라이버시 향상 주소

* 누군가의 MAC 주소가 공개적으로 드러나는 점를 고려

* IEEE 식별자를 사용하는 대신 랜덤 주소 비트를 생성.

* 반복 확률이 적은 단기 주소를 생성.

* 부팅될 때나 정기적으로 런타임에 생성.

* 다른 연결에는 변경할 수 있다.

* Windows XP와 2000에서 볼 수 있다.


사이트 로컬 주소

* FEC0::/48

* 전역적 접두부 필요 없이 사이트 내에서의 주소지정을 위해서 디자인 되었다.

* 라우터들은 사이트 로컬 출발지나 목적지 주소를 가진 패킷을 사이트 밖으로 포워딩할 수 없다.

-> 사이트가 무엇이며 사이트의 경계가 어디인지 모호하다.

-> 사이트 로컬 주소 접두사는 여러 사이트들을 하나의 조직으로 나타낼 수 있다.

-> 조직 내부 라우팅 목적으로는 잘 맞지 않는다 (그것을 다룰만한 라우팅 프로토콜이 부족하다)


사이트 로컬 주소의 오버헤드

토모히로 후지사키, 사이트 로컬 어드레스의 가치하락. 16th APNIC Open Policy Meeting, 2003.

사이트 경계 라우터는 모호성 때문에 여러개의 라우팅 테이블을 가져야만 한다.


유니크 로컬 어드레스

* 사이트 로컬 어드레스의 대체.

* 전역적으로(세계적으로; Global) 유일, 사이트간 주소 충돌 회피

* 전역적으로 라우팅 가능하도록 의도되지 않음

* Global ID (전역적으로 유일한 접두부) 사용

* 의사난수 알고리즘으로 생성

* 높은 확률로 유일성을 보장하기 위해 모든 사이트들은 기능적으로 유사한 알고리즘으로 Global ID를 생성한다.


글로벌 유니캐스트 주소

* IPv6의 포괄적인 이용을 위한 주소들

* 집합을 유지하기 위한 계층구조로 되어있다

* SLA(Subnet Local Aggregator) -> Subnet ID

* 포맷 접두부 : 글로벌 유니캐스트 주소들이 집합가능한지 판별한다


IPv6 주소 할당의 분할


애니캐스트 주소

* 여러 노드들이 목적지 주소를 향하는 패킷들을 수용하도록 설정되어 있다

* 목적지를 향한 경로의 라우터들은 단지 네트워크 접두부에 기초해서 진행한다 - 보통 오직 하나의 노드만 라우팅을 통해 패킷을 받는다.




Posted by Maverick Unlimited