DHCP和PXE

南笙酒味 提交于 2019-12-01 03:07:03

目录

1. 如何使用DHCP服务?

2. Linux主机如何配置DHCP客户端服务?

3. 什么是DHCP?

4. DHCP的工作过程?

5. 什么是PXE?


1. 如何使用DHCP服务?

路由器一般会开启DHCP服务,电脑需要开启DHCP client服务。

 

2. Linux主机如何配置DHCP客户端服务?

vim /etc/sysconfig/network-scripts/ifcfg-ens33

增加配置项:BOOTPROTO=dhcp

参考: http://cn.linux.vbird.org/linux_server/0340dhcp.php#client_linux

 

3. 什么是DHCP?

DHCP(Dynamic Host Configuration Protocol),动态主机配置协议。处于网络中的主机可以通过安装DHCP client服务,通过DHCP协议向DHCP server申请一个动态IP。DHCP server侧有一段可用的IP地址范围,用于动态分配给主机。

 

4. DHCP的工作过程?

DHCP属于应用层协议,使用的传输层协议是UDP。DHCP是BOOTP协议的增强版,抓包的话,可能看到的协议名称还是BOOTP协议。

DHCP协议的工作由四次客户端和服务端的交互完成。

1)客户端广播一个DHCP请求:由于客户端没有IP地址,而且不知道谁是DHCP服务器,即不知道DHCP服务器的IP地址,所以在包中源IP是:0.0.0.0,目的IP是广播IP:255.255.255.255,MAC头部填写自己的MAC地址,目的MAC地址填广播MAC地址:ff:ff:ff:ff:ff:ff (DHCP Discovery)

2)DHCP收到一个DHCP请求之后,分配一些配置信息,如IP地址、子网掩码、网关地址和IP地址租用期等。DHCP应答里,目的IP是广播IP,目的MAC地址是客户端MAC地址,源IP、源MAC地址都是DHCP server的。(DHCP Offer)

3)收到IP相关信息的主机,会再次发送一个DHCP包,广播出去说自己接受了哪个DHCP server(也许有多个DHCP server)的请求。此时MAC头和IP头和第一次请求的信息相同,因为client和server还没有达成最后的协议。告诉网络中的DHCP说我准备用这个DHCP server给我的这个IP了。(DHCP Request)

4)DHCP server收到第二次的请求,MAC头和IP头设置双发的信息,此时算是正式达成协议。达成的租约协议里有租期,当租期到达50%的时候,两方会通过一对请求和应答达成续约协议。(DHCP ACK)

参考: https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#DHCP_offer

 

5. 什么是PXE?

PXE(Pre-boot Execution Environment)预启动执行环境。PXE客户端可以向DHCP服务端自动获得IP和操作系统信息,然后到另一个TFTP服务端请求操作系统安装文件,进行操作系统的自动安装。因为这个协议运行在操作系统安装之前,所以叫做预启动执行环境。

 

使用PXE安装操作系统,是在电脑启动的时候,使用PXE启动,通过PXE安装操作系统之后,可以重新设置电脑的启动方式为从硬盘启动。这样就不用每次启动都安装一次操作系统。

 

主机进行包的转发的时候,首先判断目的IP是不是当前网段。如果不是,需要判断当前主机是否配置了连接的网关的IP的地址,如果已配置,则当前网段网关的MAC地址,然后将IP包添加MAC头,将包发送出去。如果没有配置网关,包根本发不出去。

主机配置的网关地址必须和当前主机IP在同一个网段。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!