UDP67:DHCP服务器的端口
UDP68:客户端的端口
三. DHCP特点:基于C-S模型,DCHP所有消息数据包基于UDP封装的。
四. C/S架构:
需要获取ip地址的设备扮演客户端的角色,而下发ip地址的设备需要扮演DHCP服务器的角色。
1.DHCP客户端给DHCP服务器发数据包---用到是DHCP-discover --- 方式:广播
数据包的构建:
DPORT:UDP67
DIP:全1或者255.255.255.255
DMAC:全F(48位二进制全1的地址:广播地址)
2.DHCP服务器给DHCP客户端回复---DHCP-offer(携带可用IP地址)---方式:单播/广播
a. 传输层:---用UDP协议封装---SPORT:UDP67
DPORT:UDP68
b. 网络层---用IP封装---SIP:DHCP服务器的地址
DIP:需要分配的IP地址
c.数据链路层---DHCP协议(只能针对以太网)必须保证其可靠性--- SMAC:DHCP服务器自己的IP地址
DMAC:客户端的MAC地址
3.DHCP客户端给DHCP服务器发送一个叫DHCP-Request的数据包---方式:广播(让其他没有IP的设备可以拥有IP)
注意:虽然具备单播条件(有MAC),但是一定是以广播的形式。以及客户端选择IP地址:按顺序来的
1.DHCP客户端给DHCP服务器发送一个叫DHCP-Request的数据包---方式:广播(让其他没有IP的设备可以拥有IP)
注意:虽然具备单播条件(有MAC),但是一定是以广播的形式。以及客户端选择IP地址:按顺序来的
2.DHCP服务器给DHCP客户端回复一个叫DHCP-ACK的数据包(客户端只有收到服务器的ACK数据包之后,才算可以使用这个IP地址)---方式:单播/广播
3. 再次获取IP地址时,客户端是向服务器请求之前使用的IP地址。若之前使用的IP地址已被其他设备使用,则服务器会给客户端发送一个叫DHCP-NAK的数据包;此后,再重复以上操作。
七. 客户端使用IP地址的时间(类似于租期)---24h(默认值)
T1:租期的50%---12h---向服务器发DHCP-Request包(单播)
T2:租期的87.5%---21h---向服务器发DHCP-Request包(广播)
八. DHCP-release---客户端主动释放IP地址
九. DHCP服务器的配置:
1. 进入系统试图,敲DHCP enable---开启DHCP设备
2. IP pool?---IP pool+名字---创建地址池
[r1]ip pool aa Info: It's successful to create an IP address pool.
[r1-ip-pool-aa]
[r1-ip-pool-aa]network 192.168.1.0 mask 24
[r1-ip-pool-aa]gateway-list 192.168.1.1
[r1-ip-pool-aa]dns-list 114.114.114.114---DNS服务器的
发生IP的是接口,而我们配置的是在全局(系统试图里面),必须给接口发送:DHCP select global
十.DHCP工作原理:
注意:1.IP只能在最后确认之后才能使用,中途不能直接使用服务器给我分配的地址。
2.在全程前三个报文都是显示确认,最后一个报文是隐士确认。
3.在所有报文中都是广播。
4.上面的流程是cisco,而华为的第二(服务器对主机进行发送数据的时候由原IP发送给分配的主机的准确IP,但是我们不能认为这个IP已经分配给他,但在第三步源IP又以0.0.0.0来占位),四报文都是进行单播。
5.而我们在进行网络划分的时候
在我们进行dhcp分配地址时候,只有在同一个vlan中才能下发地址,我们可以通过dhcp 划分不同vlan来进行不同网段划分,路由器的子接口可以实现dhcp的网关,而我们的路由器虚拟接口不可以实现。