DHCP overview

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DHCP overview相关的知识,希望对你有一定的参考价值。

DHCP协议前身为bootp,相比前身引入了 租约 lease 的功能,c-s的服务架构体现在:

server端:UDP/67 bootps

client端:UDP/68 bootpc


DHCP协议使用  四种消息 为客户端提供IP地址。

  1. DHCP discovery

  2. DHCP offer

  3. DHCP request

  4. DHCP ack


在client端首次申请IP地址时,四种消息 全是广播包,目的IP地址:255.255.255.255,目的MAC地址为FF:FF:FF:FF:FF:FF;

当租期到期,client端提交续租申请request消息、server端回应允许续租ack消息为单播包。


以下实验为验证上述红色字体的结论。


拓扑图:R1-f0/0 --- f0/0-R2


R2配置为DHCP server,配置如下:

ip dhcp pool host
   host 172.16.0.2 255.255.0.0
   client-identifier 0063.6973.636f.2d63.3030.302e.3130.6338.2e30.3030.302d.4661.302f.30
   lease 0 0 1
interface FastEthernet0/0
    ip address 172.16.0.1 255.255.0.0

租约有效期为1分钟,一分钟后client需要重新发起续约请求。


R1作为client端向  R2 server发起IP地址请求,wireshark截图:

65	153.961800000	0.0.0.0	        255.255.255.255	DHCP	618	DHCP Discover - Transaction ID 0x233b
66	153.993000000	172.16.0.1	255.255.255.255	DHCP	342	DHCP Offer    - Transaction ID 0x233b
67	154.024200000	0.0.0.0	        255.255.255.255	DHCP	618	DHCP Request  - Transaction ID 0x233b
68	154.055400000	172.16.0.1	255.255.255.255	DHCP	342	DHCP ACK      - Transaction ID 0x233b
87	209.604600000	172.16.0.2	255.255.255.255	DHCP	618	DHCP Request  - Transaction ID 0x233b
88	209.667000000	172.16.0.1	172.16.0.2	DHCP	342	DHCP ACK      - Transaction ID 0x233b
97	240.284400000	172.16.0.2	172.16.0.1	DHCP	618	DHCP Request  - Transaction ID 0x233b
98	240.351200000	172.16.0.1	172.16.0.2	DHCP	342	DHCP ACK      - Transaction ID 0x233b


由截图可得到以下结论:


1、client端最初请求时,四种消息全是广播,即目的IP地址255.255.255.255,目的mac为FF:FF:FF:FF:FF:FF,

2、当1分钟续约到期后,client端重新发起续约请求,request消息仍为广播

3、当续约再到期,client端又发起续约的消息才为单播,目的IP地址为DHCP的IP地址,目的mac为DHCP服务器R2-fa0/0端口的mac


参考文档:http://www.cisco.com/c/en/us/td/docs/ios/12_2/ip/configuration/guide/fipr_c/1cfdhcp.html

技术分享


PS:

关于DHCP消息的广播、单播类型,不同的培训老师、不同的书答案是不一样的。cisco官网是对它的解释如上图,但642-813学习指南上讲的是:discovery、offer为广播,request、ack为单播,非常混淆人。以实际wireshark抓包的结果为最终答案。

以上是关于DHCP overview的主要内容,如果未能解决你的问题,请参考以下文章

翻译:《实用的Python编程》09_00_Overview

安卓计费库的BillingResponse.OK在哪里?

docker 镜像 overview

JDK的模块化之Overview

JDK的模块化之Overview

LC_Overview1_5---学会总结回顾