码迷,mamicode.com
首页 > 其他好文 > 详细

DHCP局域网服务器(一)(部分参考私房菜,用TCP/IP进行网际互联)

时间:2015-05-20 02:13:08      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:网络管理员   工作原理   网络服务   ip地址   计算机   

一 DHCP工作原理

  1. 功能介绍

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口。类似于DHCP这种初始化过程可以让用户在不了解有关地址、路由、掩码,即可自动设置其网络,连接到英特网上。

    技术分享

    原理理解(通过dhcp的几个状态来分析)

    1 第一阶段 搜索DHCP服务器 广播

    如果客户端想要得到DHCP服务器的信息,而我们知道一般客户端不一定知道网络中DHCP服务器的地址,通过广播,源地址0.0.0.0目的地址255.255.255.255,可以和DHCP服务器建立第一次联系。

    由上面介绍,我们知道DHCP使用udp来发送报文,报文很有可能会出现延迟或者破坏等,这时候为了实现一定程度的可靠性,DHCP使用超时和重传技术。一旦用户发送请求,则启动计时器,计时器到时,用户必须重传。

    所以DHCP报文的格式可以参考一下

    字段

    OP:option,表示请求还是响应

    HTYPE:hardware type,网络硬件类型

    HLEN:硬件地址长度 如以太网类型为1 ,长度为6

    HOPS:跳数,经过的路由器数量

    TRANSACTION(交易,办理) ID:处理请求和响应过程的号码

    SECONDS:表示客户端发送逝去的秒数

    CLIENT IP ADDRESS:表示用户的ip地址,用户如果知道需要的DHCP服务器的信息可以填写,那么会按照用户的情况继续,否则不写

    YOUR IP ADDRESS:你的ip地址,当用户ip地址为0时,服务器会在该字段返回一个客户的ip地址

    SERVER IP ADDRESS:服务器IP地址

    SERVER HOST NAME:服务器主机名

    FLAGS:允许控制请求和响应,目前只有最高位有用,当B时,表示broadcast,其他位为0

    2 第二阶段 服务器响应,提供客户端租约信息以供选择 单播 通过mac可定位

    关于租用(lease)

    首先DHCP服务器管理一个ip地址池,当有用户申请时,服务器首先,从日志文件中查找是否用户曾经用过某ip,有则分配,否则自动分配一个每人使用的;如果配置文件针对该MAC地址设置了固定的ip,则提供该ip;否则,从池内选择一个未使用的ip给客户端并记录。

    至于租期,由于不同场合,比如大学,公司,普通用户,他们的租期一般不同,为了更有效地使用ip地址,DHCP允许用户申请租期,默认情况下,允许无限(infinity)租期,分配一个永久地址。

    关于中继代理(relay agent)

    中继代理是为了应对这样一种情况,网络中的多端口计算机,处于多个网络之中,而我们的DHCP服务器通常只有一个,为了实现只能一个ip对应一个主机的突破,由中继代理(通常是路由器)暂时代理DHCP,接收客户端广播申请,代理会把申请转发给服务器,,然后返回服务器对客户端的响应。DHCP通过客户标识符(client identifier),可识别特定接口的值,以区分同一个客户发送的不同请求。

    3第三阶段 客户端决定使用的DHCP租约并向服务器发送确认 广播

    由于有多DHCP服务器的可能,一般用户会选择第一个DHCP响应使用,同时告诉其他主机告知他们可收回租约。

    4 第四阶段 服务器端记录客户的租约信息,并最后发送响应告知客户端可以使用

    此时租约就开始计时

二 适合 DHCP的环境

移动设备多,或者其他计算机相当多,不方便单独配置的情况

DHCP局域网服务器(一)(部分参考私房菜,用TCP/IP进行网际互联)

标签:网络管理员   工作原理   网络服务   ip地址   计算机   

原文地址:http://qixue.blog.51cto.com/7213178/1652964

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!