라이브러리
프로그래밍언어, 각종코드, 관련동향, 논문 등의 저장소
IPv6 주소 생성 절차

1. IP Autoconfiguration의 개념 및 주소의 종류

 

IP 주소 자동설정 기능은 IPv6 주소체계의 새로운 기능중 하나로, 각종 단말에 IPv6 주소가 자동적으로 생성되도록 한다. 이는 IPv6는 일반 PC 뿐만 아니라 콘솔이나 디스플레이가 없는 Embedded OS 및 non-PC 장치에 까지 IPv6 주소를 부여하고자 하기 때문이다.


IP 주소 자동설정기능을 이용함으로써 사용자는 별도의 IPv6 주소를 설정할 필요가 없으며, 관리자 또한 사용자별로 IP 주소를 할당해야하는 관리상의 불편함을 줄일 수 있다.


 

2. Link Local Address와 Global Address


일반적으로 IPv6 단말이 이용하는 주소에는 Link Local 주소와 Global 주소가 있다. Link Local 주소는 단일 네트워크 내에서 이용되는 주소로, 주로 관리 및 내부 통신 목적으로 활용된다. 반면 Global 주소는 외부의 IPv6 네트워크와 데이터 통신을 하기 위해 이용된다. Link Local 주소와 Global 주소 모두 IP Autoconfiguration에 의해 생성된다.


 

3. IPv6 주소 생성 방법


기존 IPv4 주소와 유사하게 IPv6 주소역시 수동 생성(Manual Configuration), 주소 할당에 의한 자동 생성(Stateful Address Autoconfiguration) 그리고 임의의 자동 생성(Stateless Autoconfiguration)으로 구분된다.


가. Manual Configuration


관리자 또는 사용자가 직접 자신이 사용할 IPv6 주소를 수동으로 입력하는 방식으로, 외부 서비스를 위한 서버를 이용할 때, 시스템이 변경되더라도 항상 동일한 주소를 가져야 하기 때문에 수동 설정을 많이 이용한다.


나. Stateful Address Autoconfiguration


IPv6 주소를 할당하는 별도의 서버(예: DHCPv6 서버)이 존재하고 시스템이 주소할당 시스템으로부터 적절한 주소를 할당받는 방식이다. 기존 IPv4의 DHCP(Dynamic Host Configuration Protocol)와 유사한 개념이다


다. Stateless Address Autoconfiguration


별도의 주소 관리 시스템 없이, 단말이 스스로 자신이 이용할 IPv6 주소를 생성하는 방식으로, 각 단말간 중복되지 않는 고유의 구분자(예: Mac 어드레스)를 이용하여 주소를 생성한다.



4. Stateless Autoconfiguration 절차


IPv6의 Stateless Autoconfiguration은 네트워크에 할당된 64bit Prefix와 인터페이스의 Interface ID의 조합으로 이루어진다. 즉 라우터에 할당된 64bir Prefix와 인터페이스(랜카드)에 부여되어 있는 MAC 어드레스의 조합을 통해 총 128bit의 IPv6 주소가 자동으로 생성되는 것이다.


사용자 삽입 이미지



Stateless Autoconfiguration 절차는 아래와 같다.


(1)네트워크의 새로운 단말은 Link Local 주소를 생성하고 인터페이스에 할당을 한다. Link Local 주소는 fe80:0000:0000:0000:0000 형태를 취한다.


사용자 삽입 이미지


(2)방금 생성한 Link Local 주소가 같은 네트워크내에 존재하는지 확인(DAD: Duplicate Address Detection)한다.

  

   가. 새로운 단말이 Neighbor Solicitation(NS) 메시지를 네트워크에 전송한다.

   나.만약 다른 단말이 동일한 주소를 사용하고 있으면, 그 단말이 Neighbor Advertisement(NA)메시지를 전송한다.

   다. 단약 일정 기간동안 NS 메시지를 받지 못하면, NS 메시지를 보낸 새로운 단말이 Link Local 주소를 이용한다.

   라.단약 NS 메시지를 보낸 단말이 NA 메시지를 통해 자신이 생성한 Link Local 주소가타 단말과 중복됨을 확인하면 Link Local 주소를 네트워크 인터페이스에 할당하지 않는다.


(3)새로운 단말은 라우터로부터 네트워크 정보를 얻기 위해 새로 생성한 Link Local 주소를 이용하여 Router Solicitation 메시지를 네트워크에 전송한다. RS 메시지를 전송하는 것은 필수는 아니며, RA 메시지가 올때까지 기다릴 수도 있다.


(4)RS 메시지를 받은 단말(주로 라우터)는 Router Advertisement(RA) 메시지를 전송한다. RA 메시지는 주기적으로 네트워크에 뿌려지기 때문에 반드시 RS 메시지가 필요한 것은 아니다.


(5)RA 메시지를 받은 단말은 IPv6 Prefix(상위 64bit) 정보를 얻게 된다.


(6)단말은 Link Local 주소 생성때와 유사하게 Prefix 정보와 인터페이스 ID(하위 64bit)를 조합하여 128bit Global Address를 생성한다.



5. Generation of Interface ID


지금까지 단말이 속한 네트워크의 Prefix 정보를 얻는 절차에 대해 알아보았다. 이제 단말자신의 Interface ID를 생성하는 방법에 대해 알아보자.


인터페이스 ID가 생성되는 방식은 인터페이스의 종류에 따라 다르다. 일반적인 Ethernet 인터페이스의 경우 IEEE EUI-64(Extended Unique Identifier-64) 주소가 생성된다.


모든 Ethernet 인터페이스는 IEEE 표준에 의해 할당받은 유일한 주소(MAC 어드레스)를 가지고 있다. 현재 MAC 어드레스는 48bit(6byte)의 물리적 주소를 가지고 있으며, 그 형태는 아래 그림과 같다.


사용자 삽입 이미지


Ethernet 인터페이스는 아래와 같은 절차에 의해 MAC 어드레스로부터 인터페이스 ID(EUI-64 주소)를 생성하게 된다.


사용자 삽입 이미지

 

인터페이스 ID 생성 절차

(1)MAC 어드레스가 두 부분으로 분리된다.

   - 일반적으로 24비트와 25비트 사이, 혹은 3번째 바이트와 4번째 바이트 사이

(2)"ff fe"가 3번째 바이트 사이에 삽입된다.


사용자 삽입 이미지


(3)MAC 어드레스의 나머지 3바이트가 뒤에 붙는다.

(4)처음 8비트중 7번째 비트에 “Universal/Local" 비트임을 나타내는 수치가 더해진다.

   - 1이면 Universal 관리 주소, 0이면 Locally 관리 주소

(5)처음 8비트중 8번째 비트에 “Individual/Group" 비트임을 나타내는 수치가 더해진다.

   - 0이면 유니캐스트 주소, 1이면 멀티캐스트 주소

 

              

사용자 삽입 이미지

 

실제로 생성된 Interface ID의 예를 보면


Auto Configuration에 의해 생성된 2001:2b8:80:12:209:6bff:fee3:f8be IPv6 주소중 Interface ID 부분은 “209:6bff:fee3:f8be”이며 16진수를 2진수로 변경하면 아래와 같다.


0000001000001001011010111111111111111110111000111111100010111110


위 2진수중 7번째 비트가 1로 되어 있으므로 Universal administrated address 이고, 8번째 비트가 0이므로 유니캐스트 주소이며, 주소 생성 절차에 의해 24비트 ~ 40비트 까지가 1111111111111110(16진수 ff fe)로 채워진 것을 확인할 수 있다.



6. IPv6 주소 정보의 확인


http://doc.tavian.com/ipv6util사이트의 IPv6 확인 도구를 이용하여 IPv6 주소의 정보를 아래와 같이 확인이 가능하다.

 

사용자 삽입 이미지

  Comments,     Trackbacks