一台主机的ip地址可用通过两种方式来设置。1 手动输入;2 自动向DHCP服务器获取。手动输入会出现错误,比如输入一个已经分配的ip地址,当内网机器只有几台,十几台还可以忍受,如果是几百台呢,不可能一台台去手动输入,这个时候就应该用自动获取的方式。

  利用DHCP自动分配IP地址

  一个网络内至少有一台DHCP服务器,采用自动获取IP地址的计算机通常叫做DHCP客户端。DHCP服务器将IP地址租给客户端,如果客户端没有及时更新租约,租期到期了,DHCP就会回收该IP,那客户端就不能使用这个IP地址了。

  通常手动输入的IP是静态IP,而想DHCP获取的IP称为动态IP。获取动态IP时,DHCP服务器还会提供其他的上网必备的设置项,比如,子网掩码,默认网关,DNS服务器的IP地址。

  

  DHCP原理

  客户端计算机启动时会自动寻找网络中的DHCP服务器(是怎么寻找的?),向它索要IP和其他的设置值。之后两者之间的通讯可能是重新获取IP地址,还是更新租约。

  客户端什么时候会向DHCP获取一个新的IP地址:

  1 计算机第一次作为DHCP客户端角色,也就是客户端计算机第一次联网的时候

  2 客户端的IP被DHCP回收了,且这个IP被分给了其他客户端

  3 客户端计算机换了一块网卡

  4 客户端计算机移到了另一个网段内,在那个网段第一次获取IP

  DHCP通讯过程

  

  1 客户端向网段内广播DHCPDISCOVER包,以寻找到一台DHCP服务器。

  2 DHCP服务器收到DHCPDISCOVER包,从IP地址池中挑选出一个未租出去的IP,广播的形式发给客户端,这里为什用广播的方式?显然客户端这个时候还没有IP地址的。如果有多台DHCP服务器都发了DHCPOFFER包,客户段接受到包后会选出第一个收到的DHCPOFFER包的信息。这个包中包含了IP地址,客户段会检查这个IP是否被用,如果发现被用了,会发一个DHCPDECLINE包给服务器,表示拒绝这个IP,再重新索取。

  3 客户端收到第一个DHCPOFFER信息后,利用广播的形式发送DHCPREQUEST给DHCPF服务器。这个也用了广播的形式,当然客户端到这里还是没有IP的,还有一点就是客户端需要告诉其他的DHCP服务器,我用了哪台DHCP服务器。

  4 DHCP服务器收到客户端要求的IP地址的DHCPREQUEST包,利用广播的方式发出DHCPACK确认信息给客户端,这个包里面包含了IP和所需的相关设置值。

  客户端收到DHCPACK包,就完成了索取IP地址的过程。可以利用这个IP进行通讯。

  全程利用广播的方式,显然是用UDP的方式发送报文。

  更新IP地址的租约

  DHCP客户端要长期使用这个IP,必须更新这个IP地址的租约。

  什么时候自动更新租约?

  1 计算机重新启动的时候

  2 租约租期过了一半的时候

  3 租约租期超过7/8的时候

  手动更新租约与释放IP地址

  ipconfig/renew命令手动更新IP租约。

DHCP原理的更多相关文章

  1. Linux DHCP原理

    DHCP作用 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应 ...

  2. DHCP原理及报文格式

    DHCP原理及报文格式 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址. ...

  3. 第十九章 DHCP原理介绍

    一.为什么使用DHCP 1.手动为局域网中大量主机配置IP地址.掩码.网关等参数的工作繁琐,容易出错 2.DHCP可以自动为局域网中主机完成TCP/IP协议配置 3.DHCP自动配置避免了IP地址冲突 ...

  4. DHCP原理于配置

    DHCP原理于配置                      一.DHCP服务                       1)使用DHCP的好处                       2)DH ...

  5. DHCP原理与LINUX下的配置

    DHCP原理与LINUX下的配置 目录 DHCP原理与LINUX下的配置 一.DHCP工作原理 1.DHCP概述 2.DHCP的优势 3.DHCP的分配方式 (1)自动分配 (2)手动分配 (3)动态 ...

  6. 网络初级篇之DHCP原理与配置(原理与实验)

    一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...

  7. 3.DHCP原理

    1.DHCP服务器给首次接入网络的客户端分配网络参数的工作原理 只有跟DHCP客户端在同一个网段的DHCP服务器才能收到DHCP客户端广播的DHCP DISCOVER报文.当DHCP客户端与DHCP服 ...

  8. DHCP原理及配置

    DHCP工作原理 集中的管理.分配IP地址,使client动态的获得IP地址.Gateway地址.DNS服务器地址等信息,并能够提升地址的使用率. 简单来说,DHCP就是一个不需要账号密码登录的.自动 ...

  9. [DHCP服务]——一个验证DHCP原理实验(VMware)

    大致实验拓扑图 DHCP Server端的配置 1. 安装DHCP # yum -y install dhcp 2. 拷贝配置文件 # /dhcpd.conf.sample /etc/dhcp/dhc ...

随机推荐

  1. js之模板方法模式

    模板方法模式的定义和组成: 模板方法模式是一种只需使用继承就可以实现的非常简单的模式. 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类.通常在抽象父类中封装了子类的算法框架 ...

  2. Node.js实战9:用EventEmitter触发和响应事件。

    Nodejs有一个重要的事件模块:EventEmitter. 它在Nodejs的内置及第三方模块中被大量使用,许多Nodejs项目的架构都是用它实现的. 可见,EventEmitter对于学习Node ...

  3. LaTex中集合关系的表示

    集合的大括号: \{ ... \} \(\{ ... \}\) 集合中的"|": \mid \(\mid\) 属于: \in \(\in\) 不属于: \not\in \(\not ...

  4. 手动刷新客户端配置内容(Spring Cloud Config)

    手动刷新客户端配置内容 客户端项目增加依赖项 <dependency> <groupId>org.springframework.boot</groupId> &l ...

  5. [常用类]排序及Arrays类(简单介绍)

    冒泡排序bubble sort  轻的上浮,重的下沉.两个相邻位置比较,如果前面元素比后面的元素大就换位置 选择排序 select sort 用一个索引上的元素,依次和其他位置上的元素比较,小的放前面 ...

  6. 2.golang应用目录结构和GOPATH概念

    golang 语言有一个GOPATH的概念就是当前工作目录 [root@localhost golang_test]# tree . ├── bin │   └── hello ├── first.g ...

  7. H-Updating a Dictionary (模拟)

    In this problem, a dictionary is collection of key-value pairs, where keys are lower-case letters, a ...

  8. JCTF 2014 小菜一碟

    测试文件:https://static2.ichunqiu.com/icq/resources/fileupload//CTF/JCTF2014/re100 1.准备 获得信息 ZIP文件 Java文 ...

  9. sqli(8)

    第八关:单引号GET盲注 前言:感冒了很有以后摸到靶场,如若隔世....我的天,说不定又有同学要去实习了,再看看我.啧啧啧,神的飞起来.. 盲注需要掌握一些MySQL的相关函数:length(str) ...

  10. pandas数据查询(数值、列表、区间、条件、函数)

    import pandas as pd # 0 读取数据 df = pd.read_csv("文件路径")#例子是北京一年的天气情况 df.head()#查看表头 # 设定索引为日 ...