DHCP服务器

DHCP服务器,第1张

当DHCP客户机启动时,会将自己的IP地址设置成0000作为源地址,使用255255255255作为目标地址,使用UDP67端口作为目的端口来广播请求IP地址。广播信息中包含DHCP客户机的MAC地址和计算机名,以便使DHCP服务器来确定是哪台客户机发送的请求。

当DHCp服务器收到客户机请求IP地址的信息时,就在自己的IP地址池查找合法IP提供给客户机,如果有合法地址,DHCP服务器就将此IP做上标记,然后DHCP服务器广播一则包括以下信息的DHCP消息:DHCP客户机的MAC地址;DHCP服务器提供的合法IP地址;子网掩码;默认网关;租约期限;DHCP服务器的IP地址-MAC

由于DHCP客户机还没有IP地址,所以DHCP服务器使用自己的IP作为源地址,使用255255255255作为目标地址,UDP 68端口作为源端口来广播DHCP信息。 

软件名:

dhcp                   #DHCP服务软件包

dhcp-common    #DHCP命令软件包(默认已经安装

服务名:

dhcpd             #DHCP服务名

dhcrelay          #DHCP中继服务名
端口号:

UDP 67            #客户端目标端口,接受客户端DHCP请求

UDP  68            #服务器源端口,向客户端回复请求包

配置文件:

dhcpd    /etc/dhcp/dhcpdconf
dhcpdconfsample    /usr/share/doc/dhcp-4/dhcpdconfgsample        #DHCP模板配置文件

dhcrelay   /etc/sysconfig/dhcrelay    #该文件为中继文件配置

分类: 电脑/网络 >> *** 作系统/系统故障
问题描述:

它是做什么用的

是单给客户机分配IP地址的吗?

我把路由器的DHCP服务打开后我的IP设置自动的

但是为什么不能打开网页 IPCONFIG /ALL也能看出IP 就是没网关
加上网关后就能打开网页了

为什么???????????????????

解析:

DHCP 是 Dynamic Host Configuration Protocol 之缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁碟主机连接的网路上面的:网路主机使用 BOOT ROM 而不是磁碟起动并连接上网路,BOOTP 则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬 址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常可观的浪费。

DHCP 可以说是 BOOTP 的增强版本,它分为两个部份:一个是伺服器端,而另一个是客户端。所有的 IP 网路设定资料都由 DHCP 伺服器集中管理,并负责处理客户端的 DHCP 要求;而客户端则会使用从伺服器分配下来的IP环境资料。比较起 BOOTP ,DHCP 透过 "租约" 的概念,有效且动态的分配客户端的 TCP/IP 设定,而且,作为兼容考量,DHCP 也完全照顾了 BOOTP Client 的需求。

DHCP 的分配形式

首先,必须至少有一台 DHCP 工作在网路上面,它会监听网路的 DHCP 请求,并与客户端搓商 TCP/IP 的设定环境。它提供两种 IP 定位方式:

Automatic Allocation

自动分配,其情形是:一旦 DHCP 客户端第一次成功的从 DHCP 伺服器端租用到 IP 位址之后,就永远使用这个位址。

Dynamic Allocation

动态分配,当 DHCP 第一次从 HDCP 伺服器端租用到 IP 位址之后,并非永久的使用该位址,只要租约到期,客户端就得释放(release)这个 IP 位址,以给其它工作站使用。当然,客户端可以比其它主机更优先的延续(renew)租约,或是租用其它的 IP 位址。

动态分配显然比自动分配更加灵活,尤其是当您的实际 IP 位址不足的时候,例如:您是一家 ISP ,只能提供 200 个IP位址用来给拨接客户,但并不意味着您的客户最多只能有 200 个。因为要知道,您的客户们不可能全部同一时间上网的,除了他们各自的行为习惯的不同,也有可能是电话线路的限制。这样,您就可以将这 200 个位址,轮流的租用给拨接上来的客户使用了。这也是为什么当您查看 IP 位址的时候,会因每次拨接而不同的原因了(除非您申请的是一个固定 IP ,通常的 ISP 都可以满足这样的要求,这或许要另外收费)。当然,ISP 不一定使用 DHCP 来分配位址,但这个概念和使用 IP Pool 的原理是一样的。

DHCP 除了能动态的设定 IP 位址之外,还可以将一些 IP 保留下来给一些特殊用途的机器使用,它可以按照硬 址来固定的分配 IP 位址,这样可以给您更大的设计空间。同时,DHCP 还可以帮客户端指定 router、mask、DNS Server、WINS Server、等等项目,您在客户端上面,除了将 DHCP 选项打勾之外,几乎无需做任何的 IP 环境设定。

DHCP 的工作原理

视乎客户端是否第一次登录网路,DHCP 的工作形式会有所不同。

第一次登录的时候:

1 寻找 Server。当 DHCP 客户端第一次登录网路的时候,也就是客户发现本机上没有任何 IP 资料设定,它会向网路发出一个 DHCPDISCOVER 封包。因为客户端还不知道自己属于哪一个网路,所以封包的来源位址会为 0000 ,而目的位址则为 255255255255 ,然后再附上 Dhcpdiscover 的信息,向网路进行广播。

在 Windows 的预设情形下,Dhcpdiscover 的等待时间预设为 1 秒,也就是当客户端将第一个 Dhcpdiscover 封包送出去之后,在 1 秒之内没有得到回应的话,就会进行第二次 Dhcpdiscover 广播。若一直得不到回应的情况下,客户端一共会有四次 Dhcpdiscover 广播(包括第一次在内),除了第一次会等待 1 秒之外,其余三次的等待时间分别是 9、13、16 秒。如果都没有得到 DHCP 伺服器的回应,客户端则会显示错误信息,宣告 Dhcpdiscover 的失败。之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 Dhcpdiscover 的过程。

2 提供 IP 租用位址。当 DHCP 伺服器监听到客户端发出的 Dhcpdiscover 广播后,它会从那些还没有租出的位址范围内,选择最前面的的空置 IP ,连同其它 TCP/IP 设定,回应给客户端一个 DHCPOFFER 封包。

由于客户端在开始的时候还没有 IP 位址,所以在其 Dhcpdiscover 封包内会带有其 MAC 位址信息,并且有一个 XID 编号来辨别该封包,DHCP 伺服器回应的 Dhcpoffer 封包则会根据这些资料传递给要求租约的客户。根据伺服器端的设定,Dhcpoffer 封包会包含一个租约期限的信息。

3 接受 IP 租约。如果客户端收到网路上多台 DHCP 伺服器的回应,只会挑选其中一个 Dhcpoffer 而已(通常是最先抵达的那个),并且会向网路发送一个Dhcprequest广播封包,告诉所有 DHCP 伺服器它将指定接受哪一台伺服器提供的 IP 位址。

同时,客户端还会向网路发送一个 ARP 封包,查询网路上面有没有其它机器使用该 IP 位址;如果发现该 IP 已经被占用,客户端则会送出一个 DHCPDECLINE 封包给 DHCP 伺服器,拒绝接受其 Dhcpoffer ,并重新发送 Dhcpdiscover 信息。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13435497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-05
下一篇 2023-08-05

发表评论

登录后才能评论

评论列表(0条)

保存