2013년 12월 24일 화요일

IPv6 주소지정 방식

IPv6 주소지정 개요:
주소지정 모델, 주소 유형과 주소 크기

  • IPv6 주소지정 모델 특성
      • IPv4와 기본적으로 동일한 특성들...
    • 주소의 핵심 기능
      • 네트워크 인터페이스를 식별하고 라우팅하기 위해 주소를 사용
    • 네트워크 계층 주소
    • 장비당 IP 주소의 수
    • 주소 해석과 접두사 표현
      • 클래스 비사용 IPv4 주소처럼 네트워크 식별자 부분과 호스트 식별자 부분으로 나누어짐
      • IPv6 주소 자체로 구별 안됨
      • CIDR과 유사하게 표기하는 접두사 길이로 네트워크 ID의 길이를 알림
    • 사설 주소와 공개 주소
  • IPv6가 지원하는 주소 유형
    • 유니캐스트 주소
      • 한 인터페이스당 한 주소
    • 멀티캐스트
      • 그룹으로 메시지를 전달하고, 속한 그룹의 모든 장비가 메시지를 받음
    • 애니캐스트
      • 특정 그룹의 어떤 멤버에게 전달되어야 하지만 모든 멤버에게 전달될 필요는 없음
      • 대표적인 예 : 특정 네트워크의 라우터 그룹이 부하를 분산하는 경우
      • 애니캐스트 주소가 생겼으므로 모든 장비가 서로 다른 IP 주소를 사용해야 한다는 불편함을 덜 수 있게 됐다.
  • IPv6 주소 크기와 주소 공간
    • 128비트 = 340,282,366,920,938,463,463,374,607,431,768,211,456개

IP 주소와 주소 표기법과 접두사 표현
일반16진수 표기법 805B 2D9D DC28 0000 0000 FC57 D4C8 1FFF
0 억제 표기법 805B 2D9D DC28 0 0 FC57 D4C8 1FFF
0 압축 표기법 805B 2D9D DC28 :: FC57 D4C8 1FFF
혼합 표기법 805B 2D9D DC28 :: FC57 212 200 31 255

  • IPv6 주소 16진법 표기법
    • 805B:2D9D:DC28:0000:0000:FC57:D4C8:1FFF
    • 805B:2D9D:DC28:0:0:FC57:D4C8:1FFF
  • IPv6 주소의 0 압축
    • 805B:2D9D:DC28::FC57:D4C8:1FFF
    • FF00:4501:0:0:0:0:0:32 -> FF00:4501::32
  • IPv6 혼합 표기법
    • 첫 96비트는 콜론 16진 표기법으로 표시하고 마지막 32비트만 부점 10진 표기법을 사용
    • 805B:2D9D:DC28:0:0:FC57:212.200.31.255
  • IPv6 주소 접두사 길이 표시
    • 접두사 주소 뒤에 슬래시(/)를 덧붙인 뒤 표시

IPv6 주소 공간 할당
처음 비트 IPv6 주소 공간의 비율 할당
0000 0000 1/256 할당되지 않음(미지정 주소/루프백 주소와 같은 특별한 주소가 여기에 속한다)
0000 0001 1/256 할당되지 않음
0000 001 1/128 NSAP 주소 할당을 위해 예약됨
0000 01 1/64 할당되지 않음
0000 1 1/32 할당되지 않음
0001 1/16 할당되지 않음
001 1/8 전역 유니캐스트 주소
010 1/8 할당되지 않음
011 1/8 할당되지 않음
100 1/8 할당되지 않음
101 1/8 할당되지 않음
110 1/8 할당되지 않음
1110 1/16 할당되지 않음
1111 0 1/32 할당되지 않음
1111 10 1/64 할당되지 않음
1111 110 1/128 할당되지 않음
1111 1110 0 1/512 할당되지 않음
1111 1110 10 1/1024 링크 로컬 유니캐스트 주소
1111 1110 11 1/1024 사이트 로컬 유니캐스트 주소
1111 1111 1/256 멀티캐스트 주소


IPv6 전역 유니캐스트 주소 포맷
    • 유니캐스트 주소는 001로 시작된다
  • 유니캐스트 주소 블록 구조
    • 인터넷 토폴로지 계층의 다양한 계층에서 주소 블록을 쉽게 할당할 수 있도록 한다.
    • 라우터가 인터넷으로 정보를 전달하는 계층 구조를 자동으로 IP 네트워크 주소에서 반영한다. 그래서 좀더 효율적인 라우팅을 위해 경로를 합산할 수 있다.
    • ISP와 같은 기관이 고객에게 주소 블록을 나누어 줄 수 있도록 유연성을 강화한다.
    • IPv4의 서브넷처럼 실제 사용자 기관이 내부 네트워크에 맞추어 주소 블록을 나눌 수 있도록 유연성을 강화한다.
    • IP 주소에 의미를 더 부여한다. 아무런 구조가 없은 단순한 비트열이 아니라 주소를 보면 정보를 얻을 수 있도록 한다.
  • 유니캐스트 주소 공간을 나누는 일반적인 방법
    • 유니캐스트 주소의 128비트를 가장 일반적으로 나누는 방법
필드명 크기(비트) 설명
접두사 n 전역 라우팅 접두사:
주소의 네트워크 ID나 접두사로 라우팅에서 사용한다.
서브넷 ID m 서브넷 식별자:
사이트에 있는 서브넷을 식별하기 위해 사용한다.
인터페이스 ID 128-n-m 인터페이스 식별자:
특정 인터페이스(호스트나 다른 장비)에 대한 유일한 식별자.
특정 접두사와 서브넷 내에서 고유해야 한다.

  • 유니캐스트 주소 공간의 IPv6 구현
    • IPv6는 라우팅 접두사로 48비트를, 하위 네트워크 식별자로는 16비트를 선택
필드명 크기(비트) 설명
접두사 48 전역 라우팅 접두사:
라우팅에서 사용하는 네트워크 ID 접두사.
처음 세 비트가 001이면 유니캐스트 주소이다.
서브넷 ID 16 서브넷 식별자:
사이트에 있는 서브넷을 식별한다.
인터페이스 ID 64 인터페이스 식별자:
특정 인터페이스(호스트나 다른 장비)를 식별하는 고유한번호.
특정 접두사와 서브넷 내에서 고유하다.


  • 원본 전역 라우팅 접두사 분할 방식: 집합자
      • 전체 48비트 중 45비트로 전역 라우팅 접두사를 나눌 수 있다.(처음 3비트는 001로 고정)
    • 최상위 집합자(TLA, Top-Level Aggregators)
      • 가장 큰 인터넷 기관을 가리킨다.
      • 등록 관리 기관에서 큰 IPv6 주소를 할당받는다.
    • 차순위 집합자(NLA, Next-Level Aggregators)
      • TLA에서 주소 블록을 할당받아 최종 사용자 기관(또는 사이트)에게 나누어 준다.
필드명 크기(비트) 설명
TLA ID
(최상위 집합자 ID)
13 최상위 집합자 식별자:
최상위 수준 집합자를 나타내는 전역 고유 식별자.
13비트를 사용하며 총 8,192 TLA를 생성할 수 있다.
RES (예약됨) 8 예약됨:
향후에 사용하기 위해 8비트는 예약해두고 0으로 설정한다.
TLA ID와 NLA ID 사이에 8 비트를 사용하지 않고 남겨 두어 필요할 때 TLA ID나 NLA ID 필드를 확장할 수 있게 한다.
NLA ID
(차순위 집합자 ID)
24 차순위 집합자 식별자:
각 TLA는 고객에게 주소 블록을 할당할 수 있는 24비트 필드를 가진다. NLA ID는 각 TLA ID마다 고유하다. 24비트의 사용은 TLA 기관의 재량에 따른다.


  • 전역 라우팅 접두사의 계층 분할 예
필드명 크기
(바이트)
설명
(유니캐스트 지정자) 3 모든 유니캐스트 주소는 001로 시작한다.
여기에는 특별한 이름이 없다(주로 포맷 접두사라고 부른다).
계층 1 ID 10 계층 1 식별자:
가장 높은 계층을 나타내는 식별자.
가장 큰 인터넷 기관이 가지는 전역 구조에서 가장 큰 주소 블록을 할당할 때 사용한다.
계층 1 기관의 수는 210이나 1,024개이다.
계층 2 ID 12 계층 2 식별자:
계층 1 기관이 할당받은 블록은 12비트를 사용하여 4,096 주소 블록으로 나누어 낮은 계층 기관에게 나누어 줄 수 있다.
계층 3 ID 23 계층 3 식별자:
계층 2 기관은 자신의 주소 블록을 23비트를 사용하여 나눈다.
그러므로 8백만 개가 넘는 /48 주소 블록을 생성하여 사용자에게 할당할 수 있다.
또는 계층 2 기관의 고객 성향에 맞추어 계층을 더 많이 만들 수도 있다.



IPv6 인터페이스 식별자와 물리 주소 매핑
IPv6 유니캐스트 주소의 마지막 64비트는 인터페이스 ID를 나타내는데 수정 EUI-64라고 하는 특별한 포맷을 가진다. 이더넷 네트워크 인터페이스 카드 등의 장비에 부여된 48비트 MAC 주소를 가지고 인터페이스 ID를 간단히 만들 수 있다. 네트워크 접두사(라우팅 접두사와 서브넷 ID)를 앞에 붙여 장비를 위한 IPv6 주소를 결정한다.

특별한 IPv6 주소: 예약, 사설, 미지정, 루프백

  • 특별 주소 유형
    • 예약 주소
      • IETF의 현재와 미래의 다양한 목적을 위해 예약된 공간
      • 0000 0000으로 시작하는 주소 공간의 꼭대기 부분
    • 사설/미등록/라우팅 불가 주소
      • 처음 9비트가 "1111 1110 1"
    • 루프백 주소
      • 단 하나의 루프백 주소 "::1"
    • 미지정 주소
      • 호스트 자신을 가리키는 주소 "::"
  • IPv6 사설 주소 유형 범위
    • 사이트 로컬 주소
      • 1111 1110 11로 시작하는 10비트
    • 링크 로컬 주소
      • 1111 1110 10로 시작하는 10비트


IPv4 주소 내장

    • IPv6 장비로 만들어진 두 네트워크가 IPv4로 연결되어 있다면 터널링을 사용하여 두 IPv6 네트워크를 연결시킬 수 있다.
  • IPv4 호환 IPv6 주소
    • IPv6 기능을 가지는 장비를 위한 특별한 주소
    • 96개의 0 뒤에 IPv4 주소
    • 예) ::101.45.75.219
  • IPv6 매핑된 IPv4 주소
    • 일반적인 IPv4 주소를 IPv6 주소 공간에 매핑할 때 사용
    • 오로지 IPv4만을 지원하는 장비를 위해 사용하는 주소
    • 80개의 0 뒤에 16개의 1 뒤에 IPv4 주소
    • 예) ::FFFF:222.1.41.90


IPv6 멀티캐스트와 애니캐스트 주소지정

    • 기본 주소 유형에서 브로트캐스트는 사라짐, 멀티캐스트 지원 강화, 애니캐스트
  • IPv6 멀티캐스트 주소
    • 한 데이터그램을 그룹 수신자 모두에게 한꺼번에 전송할 수 있다.
    • 1111 1111로 시작하는 주소는 모두 멀티캐스트 주소
    • 즉 FF 로 시작하면 멀티캐스트 주소
*IPv6 멀티캐스트 주소 포맷
필드명 크기
(바이트)
설명
(지정자) 8 처음 8비트는 항상 1111 1111로, 이것이 멀티캐스트 주소라는 것을 알린다.
이 필드는 포맷 접두사로 불리었으나 이제는 이것을 가리키는 특별한 이름이 없다.
플래그 4 멀티캐스트 주소의 특성을 알리기 위한 플래그로 사용하는 4비트이다.
현재는 처음 3비트는 사용되지 않으므로 0으로 설정한다.
4번째 비트는 임시(T, Transient) 플래그이다.
T 플래그가 0이면 멀티캐스트 주소를 영구적으로 할당하거나 잘 알려진 멀티캐스트 주소라는 뜻이다.
1이라면 임시로 사용하는 멀티캐스트 주소라는 뜻이다.
범위 ID 4 멀티캐스트의 범위를 정의하기 위해 4비트를 사용한다.
0에서부터 15까지의 16개의 범위를 정의할 수 있다.
범위 ID로 전체 인터넷에 대한 멀티캐스트 주소를 만들 수도 있고, 특정 기관, 사이트, 링크와 같이 작은 범위로 한정 지을 수도 있다.
기본값은 다음과 같다(10진수)
0 = 예약됨
1 = 노드 로컬
2 = 링크 로컬
5 = 사이트 로컬
8 = 기관 로컬
14 = 전역
15 = 예약됨
그룹 ID 112 각 영역 계층에 속하는 특정 그룹을 지칭한다.


    • 멀티캐스트 범위


    • 잘 알려진 멀티캐스트 주소
      • 임시(T, Transient) 플래그는 잘 알려진 주소들과 달리 일반적인 형태로 사용할 수 있는 멀티캐스트 주소라는 표식이다
      • '모든 노드'와 '모든 라우터' 멀티캐스트 주소는 결국 IPv4의 브로드 캐스트 기능과 동일
    • 요청 노드 멀티캐스트 주소
      • 일반적인 멀티캐스트 주소 외에 각 유니캐스트 주소는 요청 노드 주소(solicited-node address)라 불리는 특별한 멀티캐스트 주소를 가진다
      • IPv6 ND 프로토콜에서 사용한다
* 중요한 IPv6 유명 멀티캐스트 주소
멀티캐스트 주소
패턴
유효 범위 값
(10진수)
지향 범위 설명
FF0x:0:0:0:0:0:0 0에서 15 예약됨 112비트 그룹 ID가 모두 0인 멀티캐스트 주소는 모두 예약되어있다.
FF0x:0:0:0:0:0:1 1, 2 모든 노드 그룹 ID가 1이면 모든 노드에게 멀티캐스트 한다. 노드 로컬(FF01:0:0:0:0:0:1)이나 링크 로컬(FF02:0:0:0:0:0:1)로 멀티캐스트하는 주소가 여기에 속한다.
FF0x:0:0:0:0:0:2 1, 2, 5 모든 라우터 그룹 ID가 2이면 수신자 영역으로 결정된 곳에 있는 모든 라우터에게 전달한다. 노드 로컬, 링크 로컬, 사이트 로컬 영역을 사용할 수 있다.


  • IPv6 애니캐스트 주소
    • "데이터를 그룹 멤버 중 가장 가까운 멤버에게 보내시오" 의미
    • 하나 이상의 인터페이스에 같은 유니캐스트 주소를 할당할 때 자동적으로 애니캐스트 주소가 된다

IPv6 자동 구성과 주소 재지정
    • IPv6 네트워크에 있는 장비가 독립적으로 스스로를 구성할 수 있도록 하는 기능은 IPv6에서 가장 흥미롭고 앞으로 가치가 있는 기능이다.
  • IPv6 상태 비유지형 자동 구성
    • 실행 단계
      1. 링크 로컬 주소 생성
      2. 링크 로컬 주소 고유성 검사
      3. 링크 로컬 주소 할당
      4. 라우터 접촉
      5. 라우터 지시
      6. 전역 주소 구성
    • IPv6는 상태 비유지형 주소 자동 구성이라는 놀라운 기능을 사용하여 장비의 계층 2 주소를 가지고 특별한 과정을 거쳐 자신만의 IPv6 주소를 장비 스스로 생성할 수 있게 한다.
  • IPv6 장비 주소 재지정
    • IP 주소를 일정 시간 대여하는 방식