DHCPv6
読み:ディーエイチスィーピー-ヴィーろく
外語:DHCPv6: Dynamic Host Configuration Protocol for IPv6
IPv6ネットワーク
において、再利用可能なIPv6アドレスの動的割り当てと各種の設定を自動で行なうための
通信プロトコル
。
目次
概要
特徴
C/S
フォーマット
option-code
エージェント/サーバー間フォーマット
用途
機能
概要
2003(平成15)年7月に
RFC 3315
で規定され、標準化課程となっている。
クライアントには546/udp、サーバーには547/udpが用いられる。
IPv4用の
DHCP
(DHCPv4)は
BOOTP
の拡張でパケット構造に無駄が多かった。これを互換性を維持してIPv6対応にするのは無理なので、こちらは新規に作られており、必須の情報以外は全てオプションで表現できるようになっている。
特徴
C/S
フォーマット
クライアント/サーバーのメッセージフォーマットは次の通り。
msg-type: 1オクテット
transaction-id: 3オクテット
options
msg-typeは、そのメッセージの種類を表わす8ビットの番号である。
transaction-idは、クライアントとサーバー間で、パケットを一意に特定するための乱数。
それ以外の値の全てはoptionで表現する。フォーマットは次の通り。
option-code: 2オクテット
option-len: 2オクテット
option-data
option-code
オプション番号はIANAが登録する。登録されているオプションは次のとおりである。
やたらとオプション番号を浪費するものもあれば、一つだけ確保してオプション内をサブオプションで区切る実装もあるが、オプションは16ビットもあるのでかなり余裕がある。
1 ‐ OPTION_CLIENTID (
RFC 3315
、以下20まで)
2 ‐ OPTION_SERVERID
3 ‐ OPTION_IA_NA
4 ‐ OPTION_IA_TA
5 ‐ OPTION_IAADDR
6 ‐ OPTION_ORO
7 ‐ OPTION_PREFERENCE
8 ‐ OPTION_ELAPSED_TIME
9 ‐ OPTION_RELAY_MSG
10 ‐ (予約)
11 ‐ OPTION_AUTH
12 ‐ OPTION_UNICAST
13 ‐ OPTION_STATUS_CODE
14 ‐ OPTION_RAPID_COMMIT
15 ‐ OPTION_USER_CLASS
16 ‐ OPTION_VENDOR_CLASS
17 ‐ OPTION_VENDOR_OPTS
18 ‐ OPTION_INTERFACE_ID
19 ‐ OPTION_RECONF_MSG
20 ‐ OPTION_RECONF_ACCEPT
21 ‐ OPTION_SIP_SERVER_D (
RFC 3319
)
22 ‐ OPTION_SIP_SERVER_A (
RFC 3319
)
23 ‐ OPTION_DNS_SERVERS (
RFC 3646
)
24 ‐ OPTION_DOMAIN_LIST (
RFC 3646
)
25 ‐ OPTION_IA_PD (
RFC 3633
)
26 ‐ OPTION_IAPREFIX (
RFC 3633
)
27 ‐ OPTION_NIS_SERVERS (
RFC 3898
)
28 ‐ OPTION_NISP_SERVERS (
RFC 3898
)
29 ‐ OPTION_NIS_DOMAIN_NAME (
RFC 3898
)
30 ‐ OPTION_NISP_DOMAIN_NAME (
RFC 3898
)
31 ‐ OPTION_SNTP_SERVERS (
RFC 4075
)
32 ‐ OPTION_INFORMATION_REFRESH_TIME (
RFC 4242
)
33 ‐ OPTION_BCMCS_SERVER_D (
RFC 4280
)
34 ‐ OPTION_BCMCS_SERVER_A (
RFC 4280
)
35 ‐ (予約)
36 ‐ OPTION_GEOCONF_CIVIC (
RFC 4776
)
37 ‐ OPTION_REMOTE_ID (
RFC 4649
)
38 ‐ OPTION_SUBSCRIBER_ID (
RFC 4580
)
39 ‐ OPTION_CLIENT_FQDN (
RFC 4704
)
40 ‐ OPTION_PANA_AGENT (
RFC 5192
)
41 ‐ OPTION_NEW_POSIX_TIMEZONE (
RFC 4833
)
42 ‐ OPTION_NEW_TZDB_TIMEZONE (
RFC 4833
)
43 ‐ OPTION_ERO (
RFC 4994
)
44 ‐ OPTION_LQ_QUERY (
RFC 5007
)
45 ‐ OPTION_CLIENT_DATA (
RFC 5007
)
46 ‐ OPTION_CLT_TIME (
RFC 5007
)
47 ‐ OPTION_LQ_RELAY_DATA (
RFC 5007
)
48 ‐ OPTION_LQ_CLIENT_LINK (
RFC 5007
)
49 ‐ OPTION_MIP6_HNIDF (
RFC 6610
)
50 ‐ OPTION_MIP6_VDINF (
RFC 6610
)
51 ‐ OPTION_V6_LOST (
RFC 5223
)
52 ‐ OPTION_CAPWAP_AC_V6 (
RFC 5417
)
53 ‐ OPTION_RELAY_ID (
RFC 5460
)
54 ‐ OPTION-IPv6_Address-MoS (
RFC 5678
)
55 ‐ OPTION-IPv6_FQDN-MoS (
RFC 5678
)
56 ‐ OPTION_NTP_SERVER (
RFC 5908
)
57 ‐ OPTION_V6_ACCESS_DOMAIN (
RFC 5986
)
58 ‐ OPTION_SIP_UA_CS_LIST (
RFC 6011
)
59 ‐ OPT_BOOTFILE_URL (
RFC 5970
)
60 ‐ OPT_BOOTFILE_PARAM (
RFC 5970
)
61 ‐ OPTION_CLIENT_ARCH_TYPE (
RFC 5970
)
62 ‐ OPTION_NII (
RFC 5970
)
63 ‐ OPTION_GEOLOCATION (
RFC 6225
)
64 ‐ OPTION_AFTR_NAME (
RFC 6334
)
65 ‐ OPTION_ERP_LOCAL_DOMAIN_NAME (
RFC 6440
)
66 ‐ OPTION_RSOO (Relay-Supplied Options option) (
RFC 6422
)
67 ‐ OPTION_PD_EXCLUDE (
RFC 6603
)
68 ‐ OPTION_VSS (
RFC 6607
)
69 ‐ OPTION_MIP6_IDINF (
RFC 6610
)
70 ‐ OPTION_MIP6_UDINF (
RFC 6610
)
71 ‐ OPTION_MIP6_HNP (
RFC 6610
)
72 ‐ OPTION_MIP6_HAA (
RFC 6610
)
73 ‐ OPTION_MIP6_HAF (
RFC 6610
)
74 ‐ OPTION_RDNSS_SELECTION (
RFC 6731
)
75 ‐ OPTION_KRB_PRINCIPAL_NAME (
RFC 6784
)
76 ‐ OPTION_KRB_REALM_NAME (
RFC 6784
)
77 ‐ OPTION_KRB_DEFAULT_REALM_NAME (
RFC 6784
)
78 ‐ OPTION_KRB_KDC (
RFC 6784
)
79 ‐ OPTION_CLIENT_LINKLAYER_ADDR (
RFC 6939
)
80 ‐ OPTION_LINK_ADDRESS (
RFC 6977
)
81 ‐ OPTION_RADIUS (
RFC 7037
)
82 ‐ OPTION_SOL_MAX_RT (Solicit timeout value) (
RFC 7083
)
83 ‐ OPTION_INF_MAX_RT (Solicit timeout value) (
RFC 7083
)
84 ‐ OPTION_ADDRSEL (
RFC 7078
)
85 ‐ OPTION_ADDRSEL_TABLE (
RFC 7078
)
86 ‐ OPTION_V6_PCP_SERVER (
RFC 7291
)
87 ‐ OPTION_DHCPV4_MSG (
RFC 7341
)
88 ‐ OPTION_DHCP4_O_DHCP6_SERVER (
RFC 7341
)
89 ‐ OPTION_S46_RULE (
I-D[ietf-softwire-map-dhcp]
)
90 ‐ OPTION_S46_BR (
I-D[ietf-softwire-map-dhcp]
)
91 ‐ OPTION_S46_DMR (
I-D[ietf-softwire-map-dhcp]
)
92 ‐ OPTION_S46_V4V6BIND (
I-D[ietf-softwire-map-dhcp]
)
93 ‐ OPTION_S46_PORTPARAMS (
I-D[ietf-softwire-map-dhcp]
)
94 ‐ OPTION_S46_CONT_MAPE (
I-D[ietf-softwire-map-dhcp]
)
95 ‐ OPTION_S46_CONT_MAPT (
I-D[ietf-softwire-map-dhcp]
)
96 ‐ OPTION_S46_CONT_LW (
I-D[ietf-softwire-map-dhcp]
)
97-142 ‐ (予約)
143 ‐ OPTION-IPv6_ADDRESS-ANDSF (
RFC 6153
)
144-65535 ‐ (予約)
エージェント/サーバー間フォーマット
DHCPv6リレーエージェントとDHCPv6サーバー間では、クライアント向けとは異なる専用のフォーマットが使われる。
msg-type: 1オクテット
hop-count: 1オクテット
link-address: 16オクテット
peer-address: 16オクテット
options
msg-typeフィールドはC/Sの時と同じだが、ここを12(RELAY-FORW)とすることで、エージェント/サーバー間の情報であることを表わす。
用途
これは、
RFC 4862
で定義されている
ステートレスアドレス自動設定
と対をなし、
IPv4
における
DHCP
と同様のことを行なうためのプロトコルである。
ステートレスアドレス自動設定ではIPv6アドレスが重複する場合などに利用され、ホストにIPv6アドレスを振るとともに、タイムゾーン、DNSv6サーバー、NTPv6サーバーなどの情報をクライアントに与えることができる。
機能
DHCPv6というプロトコル自体は、IPv6アドレスを割り当てるなどの基本的な機能を定義する。
但し、情報の交換はオプション機能で行なわれ、この拡張性も高く設計されているために、これを利用して様々な情報を通知することが出来る。
現在、次のような機能が定義または議論されている。
SIPサーバーの通知(
RFC 3319
)
DNSv6サーバーの通知(
RFC 3646
)
NTPv6サーバーの通知(I-D)
再検索