DHCP

    动态主机设置协议Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:

  • 用于内部网络或网络服务供应商自动分配IP地址给用户
  • 用于内部网络管理员作为对所有电脑作中央管理的手段

    DHCP用一台或一组DHCP服务器来管理网络参数的分配,这种方案具有容错性。即使在一个仅拥有少量机器的网络中,DHCP仍然是有用的,因为一台机器可以几乎不造成任何影响地被增加到本地网络中。

    甚至对于那些很少改变地址的服务器来说,DHCP仍然被建议用来设置它们的地址。如果服务器需要被重新分配地址的时候,就可以在尽可能少的地方去做这些改动。对于一些设备,如路由器和防火墙,则不应使用DHCP。把TFTP或 SSH服务器放在同一台运行DHCP的机器上也是有用的,目的是为了集中管理。

    DHCP也可用于直接为服务器和桌面计算机分配地址,并且通过一个PPP代理,也可为拨号及宽带主机,以及住宅NAT网关和路由器分配地址。DHCP一般不适用于使用在无边际路由器和服务器上。

    DHCP统一使用两个IANA分配的端口作为BOOTP:服务器端使用67/udp,客户端使用68/udp。

    DHCP运行分为四个基本过程,分别为请求IP租约、提供IP租约、选择IP租约和确认IP租约。

客户在获得了一个IP地址以后,就可以发送一个ARP请求来避免由于DHCP服务器地址池重叠而引发的IP冲突。

DHCP

DHCP发现(DISCOVER)

    客户在物理子网上发送广播来寻找可用的服务器。网络管理员可以配置一个本地路由来转发DHCP包给另一个子网上的DHCP服务器。该客户实现生成一个目的地址为255.255.255.255或者一个子网广播地址的UDP包。

    客户也可以申请它使用的最后一个IP地址(在下面的例子里为192.168.1.100)。如果该客户所在的网络中此IP仍然可用,服务器就可以准许该申请。否则,就要看该服务器是授权的还是非授权的。授权服务器会拒绝请求,使得客户立刻申请一个新的IP。非授权服务器仅仅忽略掉请求,导致一个客户端请求的超时,于是客户端就会放弃此请求而去申请一个新的IP地址。

DHCP提供(OFFER)

    当DHCP服务器收到一个来自客户的IP租约请求时,它会提供一个IP租约。DHCP为客户保留一个IP地址,然后通过网络单播一个DHCPOFFER消息给客户。该消息包含客户的MAC地址、服务器提供的IP地址、子网掩码、租期以及提供IP的DHCP服务器的IP。

    服务器基于在CHADDR字段指定的客户硬件地址来检查配置。这里的服务器,192.168.1.1,将IP地址指定于YIADDR字段。

DHCP请求(REQUEST)

    当客户PC收到一个IP租约提供时,它必须告诉所有其他的DHCP服务器它已经接受了一个租约提供。因此,该客户会发送一个DHCPREQUEST消息,其中包含提供租约的服务器的IP。当其他DHCP服务器收到了该消息后,它们会收回所有可能已提供给客户的租约。然后它们把曾经给客户保留的那个地址重新放回到可用地址池中,这样,它们就可以为其他计算机分配这个地址。任意数量的DHCP服务器都可以响应同一个IP租约请求,但是每一个客户网卡只能接受一个租约提供。

DHCP确认(Acknowledge,ACK)

    当DHCP服务器收到来自客户的REQUEST消息后,它就开始了配置过程的最后阶段。这个响应阶段包括发送一个DHCPACK包给客户。这个包包含租期和客户可能请求的其他所有配置信息。这时候,TCP/IP配置过程就完成了。

该服务器响应请求并发送响应给客户。整个系统期望客户来根据选项来配置其网卡。

原创文章,作者:HGG,如若转载,请注明出处:http://www.178linux.com/82631

(0)
HGGHGG
上一篇 2017-07-24 18:36
下一篇 2017-07-24 19:26

相关推荐

  • sed工具 vim编辑器

    sed工具:    用法:           sed [option]… 'script' inputfile…      常用选项:           &nbs…

    Linux干货 2016-08-12
  • SSH——安全的通信

    SSH ·ssh:secure shell, protocol, 22/tcp,  安全的远程登录 ·OpenSSH:ssh协议的开源实现 ·dropbear:另一个开源实现 ·SSH协议版本:          v1:基于CRC-32做MAC,不安全;man-in-m…

    Linux干货 2016-09-25
  • N22-第二周作业-对Linux的基础操作命令的理解及用法示例

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 Linux上文件管理类命令常用的有:pwd、ls、cd、cp、touch、mv、rm、rmdir   1)pwd:显示当前工作目录     2)ls:列出指定目录下的内容    常用的选项有:   -a:列出目录中的所有文…

    Linux干货 2016-08-22
  • sed编辑器

    sed: Stream EDitor, 行编辑器;  用法: sed [option]… ‘script’ inputfile… script: ‘地址命令‘  常用选项: -n:不输出模式中的内容至屏幕; -e: 多点编辑; -f /PATH/TO/SCRIPT_F…

    Linux干货 2015-07-06
  • linux文件系统及文件操作

    1、Linux文件系统:    文件和目录被组织成一个单根倒置树结构,从根目录”/”开始。    文件系统分层结构LSB (Linux Standard Base)如下: 2、主要目录: /boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader) /etc:配置文件 /home:用户的…

    2017-07-23
  • 高可用+LVS-NAT

    关键:floating VIP 要以组为单位同时切换 实验1: 主备VRRP 切换实验 预期: 设定配置文件: A主机 (172.18.48.61) vrrp_sync_group VG1 { group { outside_network inside_network } } vrrp_instance outside_network { state MA…

    2017-05-14