最近更新日期:2011/07/27
12.1 DHCP 运作的原理
12.1.1 DHCP 服务器的用途 12.1.2 DHCP 协议的运作方式: IP 参数, 租约期限, 多部 DHCP 服务器 12.1.3 何时需要架设 DHCP 服务器 12.1 DHCP 运作的原理 在正式的进入 DHCP (Dynamic Host Configuration Protocol)
服务器设定之前,我们先来认识一下 DHCP 这个协议吧!还有,需要了解的是,我们是否『一定』得设定 DHCP
这个服务器呢?这里都需要厘清一下概念喔! 12.1.1 DHCP 服务器的用途 在开始 DHCP 的说明之前,我们先来复习一下之前在第二章网络基础里面提到的几个网络参数吧! 要设定好一个网络的环境,使计算机可以顺利的连上 Internet ,那么你的计算机里面一定要有底下几个网络的参数才行,分别是:
其中,那个 IP, netmask, network, broadcast 与 gateway 都可以在 /etc/sysconfig/network-scripts/ifcfg-eth[0-n] 这档案里面设定,DNS 服务器的地址则是在 /etc/resolv.conf 里头设定。只要这几个项目设定正确,那么计算机应该就没问题的可以上网了! 所以说,你家里面的 3, 4 部计算机,你都可以手动的来设定好你所需要的网络参数, 然后利用 NAT 服务器的功能,就可以大摇大摆的连上 Internet 了!真是不错 ^_^,不是吗? 好了,现在让我们换一个大一些些的场景吧!假设你是学校宿舍的网络管理员,所管理的学生计算机大概有 100 部好了,那么你怎么设定好这 100 部的计算机呢?
这三种解决方案所需要的时间都不相同,如果你选择的是(1),那么鸟哥个人认为,你不是工作狂就是疯掉了, 因为所要花费的时间与你所得的薪水与付出的心力是完全不成比例的。如果选择是(2),那么很可能你会被挂上独裁者、 没良心的管理员的称号!如果是选择(3)呢?恭喜你!这个方案的管理时间花费最短,也是最不麻烦的作法啦! 呵呵!知道鸟哥要说些什么了吗?是的!这个 DHCP (Dynamic Host Configuration Protocol) 服务器最主要的工作,就是在进行上面的第三个方案,也就是自动的将网络参数正确的分配给网域中的每部计算机, 让客户端的计算机可以在开机的时候就立即自动的设定好网络的参数值,这些参数值可以包括了 IP、netmask、network、gateway 与 DNS 的地址等等。如此一来,身为管理员的你,只要注意到这一部提供网络参数的主机有没有挂掉就好了, 其他同学们的个人计算机,哈!你想都不必想要怎么去帮忙!因为 DHCP 主机已经完全都帮你搞定啦! ^_^! 阿!当管理员最大的幸福就是可以喝喝茶、聊聊天就能控管好一切的网络问题呢! 12.1.2 DHCP 协议的运作方式 你必需要知道的是,DHCP 通常是用于局域网络内的一个通讯协议,他主要藉由客户端传送广播封包给整个物理网段内的所有主机, 若局域网络内有 DHCP 服务器时,才会响应客户端的 IP 参数要求。所以啰,DHCP 服务器与客户端是应该要在同一个物理网段内的。 至于整个 DHCP 封包在服务器与客户端的来来回回情况有点像底下这样:(注1) 图 12.1-1、 户端取得 IP 参数的程序可以简化如下:
以上就是 DHCP 这个协议在 Server 端与 Client 端的运作状态,由上面这个运作状态来看,我们可以晓得,只要
Server 端设定没有问题,加上 Server 与 Client 在硬件联机上面确定是 OK 的,那么 Client 就可以直接藉由 Server
来取得上网的网络参数,当然啦,只要我们这些管理员能够好好的、正确的管理好我们的 DHCP 服务器,
嘿嘿!那么上网的设定自然就变成一件很简单的事情啦!不过,关于上述的流程还是有一些需要额外说明的啦:
在上面的步骤里面,注意到第二步骤了吗?就是服务器会去比较客户端的 MAC 硬件地址,并判断该 MAC 是否需要给予一个固定的 IP 呢!所以啦,我们可以设定 DHCP 服务器给予客户端的 IP 参数主要有两种:
除非你的局域网络内的计算机有可能用来做为主机之用,所以必需要设定成为固定 IP ,否则使用动态 IP 的设定比较简单,而且使用上面具有较佳的弹性。怎么说呢?假如你是一个 ISP 好了,而你只申请到 150 个 IP 来做为你的客户联机之用。那么你是否真的只能邀集到 150 的使用者?呵呵!当然不啰!我可以邀集 200 个使用者以上呢! 为什么?这样想好了,我今天开了一家餐馆,里面只有 20 个座位,那么是否我一餐只能卖给 20 个人呢?当然不是啦!因为客人是人来人往的,有人先吃有人后吃,所以同样是 20 个座位,但是可以有 40 个人来吃我的简餐,因为来的时间不一样嘛!了解了吗?呵呵!对啦!你这个 ISP 虽然只有 150 个 IP 可以发放,但是因为你的使用者并非 24 小时都挂在在线的,所以你可以将这 150 个 IP 做良好的分配,让 200 个人来『轮流使用』这 150 个 IP 哩!
事实上现在主流的 ADSL 宽带拨接上网也有使用到『静态
IP 』与『固定 IP 』之类的概念喔!
举例来说好了,hinet/seed net 等主要 ISP 都有提供所谓的:『一个固定 IP 搭配 7~8 个浮动 IP 』的
ADSL 拨接功能,也就是说同样透过一条电话线拨接到 ISP ,但是其中一个拨接是可以取得固定的 IP 呢!
而其他的则是非固定的 IP ,DHCP 的 static/dynamic 跟这个玩意儿有点类似啦! ^_^
怪了!如果我们观察上面 DHCP 运作模式的第四个步骤,你会发现最后 DHCP 服务器还会给予一个租约期限! 干嘛还要这样的一个期限呢?其实设定期限还是有个优点啦!最大的优点就是可以避免 IP 被某些使用者一直占用着,但该使用者却是 Idle (发呆) 的状态! 举个例子来说,我们刚刚不是说到,我有 150 个 IP ,但是偏偏我有 200 个用户吗?我们以 2010 年的世界杯足球赛来说明好了。假设每个使用者都急着上网知道世足赛的消息, 那么某些热门对战时段网络将可能达到使用尖峰!也就是说,这 200 个人同时要来使用这 150 个 IP ,有可能吗?当然不可能!肯定会有 50 个人无法联机,因为『很抱歉!目前系统正在忙线中,请你稍后再拨!』 那怎么办?这个时候租约到期的方式就很有用处啦!那几个已经联机进来很久的人, 就会因为租约到期而被迫脱机,这个时候该 IP 就会被释放出来,哈哈!大家赶快抢呀!先抢到先赢喔! 所以,那 50 个人 (包括被迫脱机的那个朋友) 只好继续的、努力的、加油的来进行 DHCP 的要求啰! ^_^"" 虽然说是优点,但是其实如果站在使用者的角度来看,还是可能会造成公愤的!凭什么大家一起交钱, 我先联机进来就需要先被踢出去?~呵呵!所以啰,如果要当 ISP ,还是得要先规划好服务的方针才行呦! 这样你可以了解租约到期的行为了吗?! ^_^ 既然有租约时间,那么是否代表我用 DHCP 取得的 IP 就得要『手动』的在某个时间点去重新取得新的 IP 呢?不需要的啦!因为目前的 DHCP 客户端程序大多会主动的依据租约时间去重新申请 IP (renew) 的!也就是说在租约到期前你的 DHCP 客户端程序就已经又重新申请更新租约时间了。所以除非 DHCP 主机挂点, 否则你所取得的 IP 应该是可以一直使用下去的!
或许你曾经发现过一件事情,那就是当我的网域里面有两部以上的 DHCP 服务器时, 到底哪一部服务器会提供我的这部客户端计算机所发出的 DHCP 要求?呵呵!很抱歉,俺也不晓得! 因为在网络上面,很多时候都是『先抢先赢』的, DHCP 的回应也是如此!当 Server1 先响应时,你使用的就是 Server1 所提供的网络参数内容,如果是 Server2 先响应,你就是使用 Server2 的参数来设定你的客户端 PC !不过,前提之下当然是这些计算机的『物理联机』都是在一起的啊! 因为这个特色的关系,所以当你在练习 DHCP 服务器的设定之前, 不要在已经正常运作的区网下测试,否则会很惨。举个鸟哥的例子来说好了,某一次其他系的研究生在测试网络安全时, 在原有的区网上面放了一部 IP 分享器,结果你猜怎么着?整栋大楼的网络都不通了!因为那时整栋大楼的网络是串接在一起的, 而我们学校是使用 DHCP 让客户端上网。由于 IP 分享器的设定并不能连上 Internet ,哇!大家都无法上网了啦! 那你晓得了吗?不要随便测试啦这个 DHCP 服务器! 12.1.3 何时需要架设 DHCP 服务器 既然 DHCP 的好处是『免客户端设定』,而且对于行动装置的上网方面非常的方便!那么是否代表你就得要架设一部
DHCP 呢?那可不一定!接下来要告知大家的是几个概念性的问题,
你倒不一定『必需』遵守底下的一些概念呢!反正,自己的网域自己『爽』就好啦!
在某些情况之下,倒是强烈的建议架设 DHCP 主机的!什么情况呢?例如:
虽然 DHCP 有很多好处,但是你有没有发现一个步骤怪怪的呀!回头看一下那个步骤一, 客户端在开机的时候会主动的发送讯息给网域上的所有机器,这个时候,如果网域上就是没有 DHCP 主机呢?很抱歉,那么你的这部客户端计算机,『仍然会持续的发送讯息!』 真正的时间与次数不晓得会有多久,不过,肯定会超过 30 秒以上, 甚至可以达到一分钟以上!哇!那么这段时间你能干嘛?呵呵!除了等、还是等! 所以啰,如果计算机数不多,还是使用手动的方式来设定一下就好了!方便嘛!
如前所述,上面的都是概念性的说法,事实上,一件事情的解决之道是有很多的方案的, 没有所谓的『完全正确』的方案,只有『相对可行、并且符合经济效益与功能』的方案! 所以啰,架设任何网站之前,请先多评估评估吶! |
|||||||
本网页主要以Firefox配合解析度 1024x768 作为设计依据 鸟哥自由软件整合应用研究室