1. DHCP Client가 Discover 패킷을 구성하여 DHCP Server에 보냄.
이는 Host가 DHCP Server를 찾기 위한 통신이며 브로드캐스팅 통신을 이용한다.
(동일 Subnet에 브로드캐스팅)
이때 ARP Type과 ICMP Type 두개의 패킷이 만들어지는데,
ICMP는 TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜이다.
ARP 는 네트워크 상에서 IP 주소를 물리적 네트워크로 대응 시키기 위해 사용되는 프로토콜이다.
ARP는 상대방 호스트의 MAC 어드레스를 알아내기 위해 PC에게 보내게 된다.
YOUR CLIENT ADDRESS:0.0.0.0이라고 나오는 것으로 보아 아직 IP 주소가 없는 것으로 예상된다.
2. DHCP 서버는 Host에게 자신의 존재를 알리고, 할당할 IP 주소 정보를 Offer 패킷에 구성하여 DHCP Client에게 보내고, DHCP Client는 이를 수신하여 Request 패킷에 사용할 네트워크의 정보를 DHCP Server에게 요청한다.
YOUR CLIENT ADDRESS:10.0.0.2 으로 변경된 것으로 보아 단말에 할당할 IP 주소를 의미하는 것 같다.
3. DHCP Server는 DHCP Request 패킷을 받는다.
DHCP 서버는 요청된 IP 주소를 호스트의 MAC 주소로 바인딩 한다.
이후 DHCP Server는 Ack 패킷으로 네트워크 정보를 담아 Host(DHCP Client)에게 전달한다.
4. DHCP Client는 DHCP Ack 패킷을 전달받는다.
Ack 메시지를 수신한 Host는 IP 주소를 포함한 네트워크 정보를 획득하였기 때문에
IP 주소 구성을 설정하고, 인터넷을 사용할 수 있게 된다.
DHCP에서 모든 연결 방식은 Broadcast 방식을 사용하였다.
또한 DHCP패킷 필드를 살펴보면 Client IP Address, Your IP Address, Server IP Address, Gateway IP Address, DHCP option 등 여러 필드가 있는 것을 확인할 수 있다.
'Data Communication' 카테고리의 다른 글
이더리움 지갑 Coding (0) | 2019.11.04 |
---|---|
DNS Query (0) | 2019.10.14 |
Web Socket (0) | 2019.10.10 |
데이터통신 python - TCP 통신 (0) | 2019.10.08 |
데이터통신 python - UDP 통신 (0) | 2019.10.07 |