IPv6 Auto-configuration 정리

출처는 한국인터넷진흥원(www.nida.or.kr) "센서네트워크 식별체계 동향 분석 및 관리 방안 연구입니다.

IPv6IPv4와 달리 주소 자동생성 기능을 가지고 있어 각종 단말에 자동으로 IPv6주소가 생성되도록 합니다. 사용자는 별도의 IPv6주소를 설정 할 필요가 없으며, 관리자 또한 사용자 별로 IP주소를 할당해야 하는 관리상의 불편함을 줄일 수 있습니다.

| Link Local AddressGlobal Address
IPv6 주소에는 Link Local주소와 Global 주소가 있습니다. Link Local주소는 단일 네트워크 내에서 이용되는 주소로, 주로 관리 및 내부 통신 목적으로 활용 됩니다. 반면 Global 주소는 외부의 IPv6 네트워크와 데이터 통신을 하기 위해 이용됩니다.

| IPv6 주소 생성방법
수동생성(Manual Configuration), 주소 할당에 의한 자동생성(Stateful Address Auto-configration), 임의의 자동생성(Stateless Address Auto-configuration)으로 구분됩니다.

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

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

3) Stateless Address Auto-configuration
별도의 주소 관리 시스템 없이, 단말이 스스로 자신이 이용할 IPv6 주소를 생성하는 방식으로, 네트워크에 할당된 64비트 Prefix와 인터페이스의 64비트 Interface ID의 조합으로 이루어집니다. 즉 라우터에 할당된 64비트 Prefix와 인터페이스(랜카드)에 부여되어 있는 MAC 어드레스의 조합을 통해 총 128비트의 IPv6 주소가 자동으로 생성되는 것입니다.

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

2) 1단계에서 생성한 Link Local 주소가 같은 네트워크 내에 존재하는지 확인(DAD: Duplicate Address Detection) 합니다.
  -
새로운 단말이 Neighbor Solicitation(NS)메시지를 네트워크에 전송 합니다.
  -
만약 다른 단말이 동일한 주소를 사용하고 있으면, 그 단말이 Neighbor Advertisement(NA)메시지를 전송합니다.
- 만약 일정기간 동안 NA 메시지를 받지 못하면, 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)를 조합하여 128비트 Global Address를 생성합니다.

| IPv6 – Interface 생성 절차
인터페이스 ID가 생성되는 방식은 인터페이스의 종류에 따라 다릅니다. 일반적인 Ethernet 인터페이스의 경우 IEE EUI-64(Extended Unique Identifier-64) 주소가 생성됩니다.

1) 우선 48비트의 Ethernet 인터페이스인 MAC 주소를 각각 24bit로 구분하여 Company IDextension ID(제품 ID)로 분류 합니다.
2) 각각 24bit의 중앙에 "ff fe"를 삽입합니다.
3) Company ID 8비트 중 7번째 비트에 Universal.Local 비트임을 나타내는 수치가 더해집니다. 1이면 Universal 관리주소, 0이면 Locally 관리 주소 입니다.
4) Company ID 8비트 중 8번째 비트에 Individual/Group 비트임을 나타내는 수치가 더해집니다. 0이면 유니캐스트 주소, 1이면 멀티캐스트 주소입니다.
다음은 위 과정을 통해서 생성된 주소의 예입니다.

2001:2b8:80:12:209:6bff:fee3:f8be

IPv6 주소 중 Interface ID 부분은 "209:6bff:fee3:f8be"이며 16진수를 2진수로 변경하면 아래와 같습니다.

0000001000001001 : 0110101111111111 : 1111111011100011 : 1111100010111110

2진수 중 7번째 비트가 1로 되어 있으므로 Universal Administrated Address이고, 8번째 비트가 0이므로 유니캐스트 주소이며,
주소 생성 절차에 의해 25번째 비트에서 40번째 비트까지가 11111111 11111110 (16진수 FF FE)로 채워진 것을 확인 할 수 있습니다.
Powered by Blogger.