Difference between revisions of "DHCPv6 communication"

Line 1: Line 1:
DHCPv6 통신은 DHCPv4와 많은 유사점을 가지고 있지만 통신 주체에따라 메시지가 세분화되어 있습니다.<br>
+
Some DHCPv6 message types are similar to the DHCPv4 messages but the DHCPv6 defines more messages.<ref>https://tools.ietf.org/html/rfc3315</ref>
특히 DHCPv6 클라이언트는 브로드캐스트(Broadcast)가 아닌 멀티캐스트(Multicast)를 이용한 ICMPv6를 통해 주소를 요청/할당 받습니다.<br>
 
L4 프로토콜은 DHCPv4와 마찬가지로 UDP(User Datagram Protocol)을 이용하며 클라이언트와 서버는 각각 547, 546 포트를 사용합니다.<br>
 
Stateful와 stateless DHCPv6 통신에 대한 자세한 사항은 [[Stateful vs stateless DHCPv6|"Stateful vs stateless DHCPv6"]]을 참고하세요.<br>
 
  
DHCPv6 통신시 사용되는 메시지 종류는 다음과 같습니다.
 
 
{| class="wikitable"
 
{| class="wikitable"
 
! DHCPv6 !! DHCPv4 !! 설명
 
! DHCPv6 !! DHCPv4 !! 설명
 
|-
 
|-
| Solicit || Discover || 클라이언트가 서버를 찾기위해 전송하는 메시지이며 FF02::1:2(All-DHCP-Relay-Agents-and-Servers) 멀티캐스트 주소를 이용합니다.
+
| Solicit || Discover || A client sends a Solicit message to locate servers.
 
|-
 
|-
| Advertise || Offer || 서버가 DHCPv6 서비스를 할 수 있다고 Soclit에 대한 응답으로 클라이언트에 전송합니다.
+
| Advertise || Offer || A server sends an Advertise message to indicate that it is available for DHCP service, in                        response to a Solicit message received from a client.
 
|-
 
|-
| Request || Request || 클라이언트가 Advertise를 수신 한 후 특정 서버에 주소를 요청 할 때 전송되는 메시지 입니다.
+
| Request || Request || A client sends a Request message to request configuration parameters, including IP                        addresses, from a specific server.
 
|-
 
|-
| Confirm || Request || DHCPv4의 INIT-REBOOT<ref>https://tools.ietf.org/html/rfc2131#page-34</ref>과 유사한 메시지로서 클라이언트가 자신에게 할당되었던 IPv6 주소가 여전히 유효한지를 확인 할 때 전송하는 메시지 입니다.
+
| Confirm || Request || A client sends a Confirm message to any available server to determine whether the                        addresses it was assigned are still appropriate to the link to which the client is connected. It is similar to the INIT-REBOOT in the DHCPv4.<ref>https://tools.ietf.org/html/rfc2131#page-34</ref>
 
|-
 
|-
| Renew || Request || 클리이언트가 할당된 IPv6 주소를 더 사용하고자 할 때 서버에 전송하는 메시지로서 기본시간/2에 발생합니다.<br>
+
| Renew || Request || A client sends a Renew message to the server that originally provided the client's addresses                        and configuration parameters to extend the [[DHCPv6 lifetime | lifetimes]] on the addresses assigned to the client and to update other configuration parameters.
서버로부터 응답이 정상으로 수신되면 클라이언트의 [[DHCPV6 기본시간 및 유효시간|lifetime]]은 증가합니다.
 
 
|-
 
|-
| Rebind || Request || 클리이언트가 할당된 IPv6 주소를 더 사용하고자 할 때 서버에 전송하는 메시지로서 Renew에 대한 응답을 수신되지 못하면 메시지로서 (0.875*기본시간)/2에 발생합니다.
+
| Rebind || Request || A client sends a Rebind message to any available server to extend the lifetimes on the                        addresses assigned to the client and to update other configuration parameters; this message is sent after a client receives no response to a Renew message.
 
|-
 
|-
| Reply || Ack/Nak || 서버가 클라이언트에 전송하는 메시지로 request, solicit([[DHCPv6 Rapid commit option|Rapid commit option]]), information-request, confirm, release 또는 decline에 대한 응답입니다.<br>
+
| Reply || Ack/Nak || A server sends a Reply message containing assigned addresses and configuration parameters                        in response to a '''Solicit''', '''Request''', '''Renew''', '''Rebind''' message received from a client.
DHCPv4와 달리 DHCPv6는 release 및 decline에 대해서도 응답이 발생합니다.<br>
+
A server sends a Reply message containing configuration parameters in response to an '''Information-request''' message.
또한 Reply 메시지와 같이 전송되는 Status Code<ref>https://tools.ietf.org/html/rfc8415#page-26</ref><ref>https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml</ref>에 따라 클라이언트는 성공인지 실패인지를 판단합니다.
+
A server sends a Reply message in response to a '''Confirm''' message confirming or denying that the addresses assigned to the client are appropriate to the link to which the client is connected.
 +
A server sends a Reply message to acknowledge receipt of a '''Release''' or '''Decline''' message.<br>
 +
The status code in the Reply message indicates the success or failure of operations.<ref>https://tools.ietf.org/html/rfc8415#page-26</ref><ref>https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml</ref>
 
|-
 
|-
| Release || Release || 클라이언트가 할당 된 주소를 더 이상 사용하지 않는 경우 서버에 전송하는 메시지입니다.
+
| Release || Release || A client sends a Release message to the server that assigned addresses to the client
 +
to indicate that the client will no longer use one or more of the assigned addresses.
 
|-
 
|-
| Decline || Decline || 클라이언트가 할당 받은 IPv6 주소가 이미 사용중인 주소로 판단될 경우 서버에 전송하는 메시지이며 서버는 이 메시지를 받으면 응답하게 되고 클라이언트는 다른 주소를 요청 할 수 있습니다.
+
| Decline || Decline || A client sends a Decline message to a server to indicate that the client has determined that
 +
one or more addresses assigned by the server are already in use on the link to which the client is connected.
 
|-
 
|-
| Reconfigure || - || 서버는 설정이 변경되거나 기타 목적으로 클라이언트에 이 메시지를 전송 할 수 있으며 클라이언트는 이 메시지를 수신하면 Renew 혹은 Information-Request를 전송해 변경된 정보를 수신 받을 수 있습니다.<br>
+
| Reconfigure || - || A server sends a Reconfigure message to a client to inform the client that the server has
그러나 일부 운영체제(Windows 10 등)에서 이 옵션에 대해서는 지원하지 않습니다.
+
new or updated configuration parameters, and that the client is to initiate a Renew/Reply or Information-request/Reply transaction with the server in order to receive the updated information.<br>
 +
Some operating systems do not support this message.
 
|-
 
|-
| Information-Request || Inform || 클라이언트가 IPv6 주소 이외에 DHCPv6 옵션을 갱신할때 전송하는 메시지 입니다.
+
| Information-Request || Inform || A client sends an Information-request message to a server to request configuration                       
 +
parameters without the assignment of any IP addresses to the client.
 
|-
 
|-
| Relay-Forw || - || relay-agent가 클라이언트로부터 발생한 DHCPv6 메지시를 서버에 전송할 때 사용하는 메시지입니다.
+
| Relay-Forw || - || A relay agent sends a Relay-forward message to relay messages to servers, either directly                        or through another relay agent. The received message, either a client message or a Relay-forward message from another relay                        agent, is encapsulated in an option in the Relay-forward message.
 
|-
 
|-
| Relay-Repl || - || 서버가 Relay-Forw에 대한 응답으로 relay-agent에 전송하는 메시지 입니다.
+
| Relay-Repl || - || A server sends a Relay-reply message to a relay agent containing a message that the relay                        agent delivers to a client. The Relay-reply message may be relayed by other relay agents for delivery to the destination relay agent.<br>
 +
The server encapsulates the client message as an option in the Relay-reply message, which the relay agent extracts and relays to the client.
 
|-
 
|-
 
|}
 
|}

Revision as of 14:16, 13 April 2021

Some DHCPv6 message types are similar to the DHCPv4 messages but the DHCPv6 defines more messages.[1]

DHCPv6 DHCPv4 설명
Solicit Discover A client sends a Solicit message to locate servers.
Advertise Offer A server sends an Advertise message to indicate that it is available for DHCP service, in response to a Solicit message received from a client.
Request Request A client sends a Request message to request configuration parameters, including IP addresses, from a specific server.
Confirm Request A client sends a Confirm message to any available server to determine whether the addresses it was assigned are still appropriate to the link to which the client is connected. It is similar to the INIT-REBOOT in the DHCPv4.[2]
Renew Request A client sends a Renew message to the server that originally provided the client's addresses and configuration parameters to extend the lifetimes on the addresses assigned to the client and to update other configuration parameters.
Rebind Request A client sends a Rebind message to any available server to extend the lifetimes on the addresses assigned to the client and to update other configuration parameters; this message is sent after a client receives no response to a Renew message.
Reply Ack/Nak A server sends a Reply message containing assigned addresses and configuration parameters in response to a Solicit, Request, Renew, Rebind message received from a client.

A server sends a Reply message containing configuration parameters in response to an Information-request message. A server sends a Reply message in response to a Confirm message confirming or denying that the addresses assigned to the client are appropriate to the link to which the client is connected. A server sends a Reply message to acknowledge receipt of a Release or Decline message.
The status code in the Reply message indicates the success or failure of operations.[3][4]

Release Release A client sends a Release message to the server that assigned addresses to the client

to indicate that the client will no longer use one or more of the assigned addresses.

Decline Decline A client sends a Decline message to a server to indicate that the client has determined that

one or more addresses assigned by the server are already in use on the link to which the client is connected.

Reconfigure - A server sends a Reconfigure message to a client to inform the client that the server has

new or updated configuration parameters, and that the client is to initiate a Renew/Reply or Information-request/Reply transaction with the server in order to receive the updated information.
Some operating systems do not support this message.

Information-Request Inform A client sends an Information-request message to a server to request configuration

parameters without the assignment of any IP addresses to the client.

Relay-Forw - A relay agent sends a Relay-forward message to relay messages to servers, either directly or through another relay agent. The received message, either a client message or a Relay-forward message from another relay agent, is encapsulated in an option in the Relay-forward message.
Relay-Repl - A server sends a Relay-reply message to a relay agent containing a message that the relay agent delivers to a client. The Relay-reply message may be relayed by other relay agents for delivery to the destination relay agent.

The server encapsulates the client message as an option in the Relay-reply message, which the relay agent extracts and relays to the client.

DHCPv6 Rick Graziani, IPv6 Fundamentals, ciscocompress, Figure 9-1, 2013
DHCPv6

DHCPv6 Relay Agent Communication Rick Graziani, IPv6 Fundamentals, ciscocompress, Figure 9-4, 2013
DHCPv6 Relay Agent Communication