DHCP服务器

 
port:67
DHCP 这个服务可以自动的分配 IP
与相关的网络参数给客户端, 来提供客户端自动以服务器提供的参数来设定他们的网络
 
12.1 DHCP 运作的原理

 
     在正式的进入 DHCP (Dynamic Host Configuration Protocol) 服务器设定之前,我们先来认识一下 DHCP 这个协议吧!还有,需要了解的是,我们是否『一定』得设定DHCP 这个服务器?这里都需要厘清一下概念!
 
12.1.1 DHCP 服务器的用途
 
几个网络的参数
IP,netmask,network,broadcast,gateway,DNS IP;
 
其中,那个 IP, netmask, network, broadcast 与 gateway 都可以在/etc/sysconfig/network-scripts/ifcfg-eth[0-n] 这档案里面设定, DNS 服务器的地址则是在 /etc/resolv.conf 里头设定。
 
DHCP(Dynamic Host Configuration Protocol)
自动的将网络参数正确的分配给网域中的每部计算机, 让客户端的计算机可以在开机的时候就立即自动的设定好网络的参数值,这些参数值可以包括了 IP、 netmask、 network、 gateway与 DNS 的地址等等
 
 
12.1.2 DHCP 协议的运作方式
 
DHCP 通常是用于局域网络内的一个通讯协议,他主要藉由客户端传送广播封包给整个物理网段内的所有主机, 若局域网络内有 DHCP 服务器时,才会响应客户端的 IP 参数要求。
 
DHCP运行图;
 
  • 客户端:利用广播封包发送搜索 DHCP 服务器的封包:

    • 此封包的目标 IP 会是255.255.255.255, 所以一般主机接收到这个封包后会直接予以丢弃,但若局域网络内有 DHCP 服务器时,则会开始进行后续行为。
  • 服务器端:提供客户端网络相关的租约以供选择:
    •  DHCP 服务器在接收到这个客户端的要求后,会针对这个客户端的硬件地址 (MAC)本身的设定数据来进行下列工作:

      • 到服务器的登录文件中寻找该用户之前是否曾经用过某个 IP ,若有且该 IP 目前无人使用,则提供此 IP 给客户端;
      • 若配置文件针对该 MAC 提供额外的固定 IP (static IP) 时,则提供该固定 IP 给客户端;
      • 若不符合上述两个条件, 则随机取用目前没有被使用的 IP 参数给客户端,并记录下来。
  • 客户端:决定选择的 DHCP 服务器提供的网络参数租约并回报服务器:
    • 由于局域网络内可能并非仅有一部 DHCP 服务器,但客户端仅能接受一组网络参数的租约。
    • 因此客户端必需要选择是否要认可该服务器提供的相关网络参数的租约。
    • 当决定好使用此服务器的网络参数租约后, 客户端便开始使用这组网络参数来设定自己的网络环境。
    • 此外,客户端也会发送一个广播封包给所有物理网段内的主机, 告知已经接受该服务器的租约。
  • 服务器端:记录该次租约行为并回报客户端已确认的响应封包信息:
    • 当服务器端收到客户端的确认选择后,服务器会回传确认的响应封包,并且告知客户端这个网络参数租约的期限, 并且开始租约计时喔
 
DHCP 服务器给予客户端的 IP 参数为固定或动态;
 
关于租约所造成的问题与租约期限:
 
最大的优点就是可以避免 IP 被某些使用者一直占用着,但该使用者却是 Idle (发呆) 的状态。
 
目前的 DHCP 客户端程序大多会主动的依据租约时间去重新申请 IP (renew) 的!
也就是说在租约到期前你的 DHCP 客户端程序就已经又重新申请更新租约时间了。
所以除非 DHCP 主机挂点, 否则你所取得的 IP应该是可以一直使用下去的!
 

DHCP服务器原理的更多相关文章

  1. Linux系统学习 十、DHCP服务器—介绍和原理

    介绍: DHCP服务作用(动态主机配置协议) 为大量客户机自动分配地址.提供几种管理 减轻管理和维护成本.提高网络配置效率 可分配的地址信息主要包括: 网卡的IP地址.子网掩码 对应的网路地址.广播地 ...

  2. linux下DHCP服务原理总结

    DHCP(全称Dynamic host configuration protocol):动态主机配置协议DHCP工作在OSI的应用层,可以帮助计算机从指定的DHCP服务器获取配置信息的协议.(主要包括 ...

  3. DHCP 工作原理

    DHCP 详解 DHCP 工作原理 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server), ...

  4. DHCP服务器

    DHCP指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码.首先,DHCP服务器必须是一台安装有Windows 2000 Server/Advanced ...

  5. DHCP工作原理简析

    引言 DHCP是网络体系结构中应用层的一个重要协议,它可以帮助我们对要连接到互联网的计算机进行IP地址等信息的配置.本文从DHCP的原理出发,就DHCP的工作过程 进行详细的探讨. 主要报文 发现报文 ...

  6. 计算机网络九:IP地址、子网掩码、默认网关、DHCP服务器、DNS服务器、WINS服务器

    一.IP地址与子网掩码 1.IP地址 ipv4下,ip地址=网络号+主机号. 2.子网掩码         子网掩码(subnet mask)又叫网络掩码.地址掩码.子网络遮罩,它是一种用来指明一个I ...

  7. DHCP服务器的搭建

    dhcp笔记整理:http://services.linuxpanda.tech/DHCP/index.html 1 dhcp简介 DHCP原理 动态主机配置协议(Dynamic Host Confi ...

  8. DHCP服务原理与搭建(Linux系统+路由器,二选一方案)

    大家都知道上网的最基本前提是要在终端上设置IP.子网掩码.网关.DNS等地址信息,在家里或者在办公室很多时候打开电脑后发现就可以上网,并没有手动设置IP.掩码.DNS地址也能上网,这是什么原因呢?其实 ...

  9. DHCP服务原理

    DHCP 工作原理 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP ...

随机推荐

  1. [2014.01.27]wfImage 图像处理组件 3.3

    组件支持多种图片格式,包括bmp,jpg,gif,wmf,emf,ico,png,pcx,tif,tga,pcx,dcx等. 组件提供两种输出接口,包括保存,直接显示(您再也不用定时清理那些临时的垃圾 ...

  2. Linux 编译ACE

    1.下载 从官网下载地址 http://download.dre.vanderbilt.edu/previous_versions/选择一个版本下载. 注意,如果是在linux上编译,需要下载.gz结 ...

  3. spring @value 注入static

    import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Com ...

  4. Keep-Alive 总结

    一.简介 Keep-Alive是http请求头信息中的一个配置参数,开启之后俗称保持HTTP长连接,HTTP 1.0和HTTP 1.1都支持,HTTP1.0中该属性默认是关闭的,可在头信息中配置开启( ...

  5. mysql5.5 物理删除binlog文件导致的故障

    故障现象: 中午12点多,一套主从集群的主库因为没有配置大页内存,发布时导致OOM,MYSQL实例重启了,然后MHA发生了切换.切换过程正常.切换后需要把原master配置成新master的slave ...

  6. go 语言中常用的包

    来自学习go语言.pdf 译者刑星 ==== fmt 包fmt实现了格式化IO函数,这与c的printf和scanf类似,格式化短语派生于c %v 默认格式的值.当打印结构时,加号(%+v)会增加字段 ...

  7. HTTP返回码总结(转)

    HTTP协议状态码表示的意思主要分为五类 ,大体是 :   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  1×× 保留   2×× 表示请求成功地接收   3×× 为完成请求客户需进一步 ...

  8. SpringMVC中利用@InitBinder来对页面数据进行解析绑定

    同步发布:http://www.yuanrengu.com/index.php/springmvc-user-initbinder.html 在使用SpingMVC框架的项目中,经常会遇到页面某些数据 ...

  9. 解决 umount 时出现的 "Device is busy"

    1.umount, 老是提示:device is busy, 服务又不能停止的. 可以用"umount -fl"解决! 2.mount的基本用法是? 格式:mount [-参数] ...

  10. Python基础篇【第5篇】: Python模块基础(一)

    模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就 ...