欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 操作系统 >> Linux >> 网络基础 >> 教程正文

  没有公告

教程: Linux教程-网络基础-IP基础--2.DHCP协定 更多...
教程: Linux教程-网络基础-IP基础--2.DHCP协定
http://www.study-area.net/menu1.htm

正如我们前面看到的当使用TCP/IP协定的时候如果要电脑之间能够直接传递信息就必须使用相同的Net ID和不同的Host ID。这样您就得为每台电脑设定IP以及管理好纪录。要是您想管理好一个比较大的网路或是电脑节点经常改变(如拨接网路)这样的工作可以说是非常令人烦厌的而且出错的机会也比较多。另外如果在进行IP重新规划的时候其工作量也是相当惊人的。

面对这些情形DHCP可以说您的菩萨了它不但救苦救难而且神通广大。下面就让我们一起揭开DHCP的神秘面纱

什麽是DHCP

DHCP是Dynamic Host Configuration Protocol之缩写它的前身是BOOTP。BOOTP原本是用於无磁碟主机连接的网路上面的网路主机使用BOOT ROM而不是磁碟起动并连接上网路BOOTP则可以自动地为那些主机设定TCP/IP环境。

DHCP可以说是BOOTP的增强版本它分为两个部份一个是伺服器端而另一个是客户端。所有的IP网路设定资料都由DHCP伺服器集中管理并负责处理客户端的HDCP要求而客户端则会使用从伺服器分配下来的IP环境资料。

DHCP的功能

首先必须有一台DHCP工作在网路上面它会监听网路的DHCP请求它提供两种IP定位方式

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


Dynamic Allocation
动态分配当DHCP第一次从HDCP伺服器端租用到IP位址之後并非永久的使用该位址只要租约到期客户端就得释放(release)这个IP位址以给其它工作站使用。当然客户端也可以延续(renew)租约或是租用其它的IP位址。
动态分配显然比自动分配更加灵活尤其是当您的实际IP位址不足的时候例如您是一家ISP只能提供200个IP位址用来给拨接客户但并不意味着您的客户最多只能有200个。因为要知道您的客户们不可能全部同一时间上网的除了他们各自的行为习惯的不同也有可能是电话线路的限制。这样您就可以将这200个地址轮流的租用给拨接上来的客户使用了。这也是为什麽当您用winipcfg来查看您的IP地址的时候会因每次接拨而不同的原因了(除非您申请的是一个固定IP通常的ISP都可以满足这样的要求当然可能要另外收费啦)。当然ISP 不一定使用 DHCP 来分配地址但和使用 IP Pool 的原理是一样的。

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

DHCP的工作形式

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

第一次登录的时候

IP租用要求当DHCP客户端第一次登录网路的时候也就是客户发现本机上没有任何IP资料设定它会向网路发出一个Dhcpdiscover封包。因为客户端还不知道自己属於哪一个网路所以封包的来源地址会为0.0.0.0而目的地址则为255.255.255.255然後再附上Dhcpdiscover的信息向网路进行广播。

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


提供IP租用位址当DHCP伺服器监听到客户端发出的Dhcpdiscover广播後它会从那些还没有租出的位址围内选择最前面的的空置IP回应给客户端一个Dhcpoffer封包。

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


接受IP租约如果客户端收到网路上多台DHCP伺服器的回应只理会最 先收到的Dhcpoffer并且会向网路发送一个Dhcprequest广播封包告诉所有DHCP伺服器它将指定接受哪一台伺服器提供的IP地址。

同时客户端还会向网路发送一个ARP (Address Resolution Protocol我们将会在下面碰到)封包查询网路上面有没有其它机器使用该IP地址如果发现该IP已经被占用客户端则会送出一个Dhcpdeclient封包给DHCP伺服器拒绝接受其Dhcpoffer并重新发送Dhcpdiscover信息。

事实上并不是所有DHCP客户端都会无条件接受DHCP伺服器的offer尤其这些主机安装有其它TCP/IP相关的客户软体。客户端也可以用Dhcprequest向伺服器提出DHCP选择而这些选择会以不同的号码填写在DHCP Option Field里面


号码 代表意思
01 Sub-net Mask
03 Router Address
06 DNS Server Address
0F Domain Name
2C WINS/NBNS Server Address
2E WINS/NBT Node Type
2F NetBIOS Scope ID



换一句话说在DHCP伺服器上面的设定未必和所有客户端都一致客户端可以保留自己的一些TCP/IP设定。


IP租约确认当DHCP伺服器接收到客户端的Dhcprequest之後会向客户端发出一个Dhcpack回应以确认IP租约的正式生效也就结束了一个完整的DHCP工作过程。

第一次登录之後

一旦DHCP客户端成功地从伺服器哪里取得DHCP租约之後除非其租约已经失效并且IP地址也重新设定回0.0.0.0否则就无需再发送Dhcpdiscover信息了而会直接使用已经租用到的IP地址向DHCP伺服器发出Dhcprequest信息DHCP伺服器会量让客户端使用原来的IP地址如果没问题的话直接回应Dhcpack来确认则可。如果该地址已经失效或已经被其它机器使用了伺服器则会回应一个Dhcpnack封包给客户端要求其从新执行Dhcpdiscover。

至於IP的租约期限却是非常考究的并非如我们租房子那样简单 以NT?br />

[1] [2] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    dos入门教程

    dos入门教程-2

    dos入门教程-1
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网