DHCP Server (推荐使用Windows)
一些小的服务 windows做的比linux好
DHCP服务概述:
名称:DHCP (Dynamic Host Configuration Protocol --动态主机配置协议)
功能:是一个局域网协议,动态的给局域网内的客户端分派IP地址
它有两个用途--->
1. 给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名
2. 配合其他服务使用,实现集成化管理功能. 如:无人值守安装服务器
特点:C/S模式
自动分配IP地址,方便管理
DHCP不会同时租借相同的IP地址给两台主机(避免IP冲突)
DHCP管理员可以约束特定的计算机使用特定的IP地址(规定分配的IP池)
可以为每个DHCP作用域设置很多选项(绑定IP地址)
客户机在不同子网间移动时,不需要重新设置IP地址.每次都自动获取IP地址就可以了.
缺点:
当网络中存在多台DHCP服务器时,一个DHCP服务器,不知道其他服务器租借出去的IP地址(可能造成IP冲突);
DHCP服务器不能跨服务器与客户机通信,除非路由器允许BOOTP协议转发.
DHCP 服务端口:默认监听 67 68端口
vim /etc/services

运行原理:(经常问到,面试)(下面是我自己的理解描述)
DHCP Client ---> DHCP客户端
DHCP Server ---> DHCP服务器
请求分配IP过程:
1. DHCP Client --discover--> DHCP Server
在DHCP Client启动后,会发送一个discover包的广播,用来寻找DHCP Server.
2. DHCP Server --offer--> DHCP Client
DHCP Server当收到discover包后,会对DHCP Client 发送一个offer包,告诉DHCP Client,已经收到他的请求,offer包中含有(一个在尚未使用的IP地址和其他信息).
3. DHCP Client --request--> DHCP Server
DHCP Client在收到DHCP Server的应答包后,会再次发送一个request包的广播,这个request包中含有第一个发来信息的DHCP Server为发来的信息.意思是告知所有DHCP Server,他已经使用某个DHCP Server分配的IP信息.
4. DHCP Server --ack--> DHCP Client
DHCP Server收到DHCP Client发送的request包后,会为DHCP Client发送一个确认收到的信息,告知其可以使用这个IP地址.而其他的DHCP Server会收回为其分配的IP地址信息.
DHCP Client重新登录网络:
1. DHCP Client --request--> DHCP Server
当DHCP Client重新登录网络后,会对上次的DHCP Server服务器发送request请求原来使用过的IP地址.
2. DHCP Server --ack--> DHCP Client
DHCP Server判断这个地址尚未被分配以后,会对DHCP Client发送一个确认信息,确认其可以继续使用这个地址.
若DHCP Server判断这个地址已被其他Client使用时,会回复其不能使用这个地址,这是DHCP Client会再次发送discovery广播,获取IP地址.
请求IP续期过程:
1. DHCP Client --request--> DHCP Server
DHCP Client获取的IP信息,都有一个租约.
当DHCP Client的IP地址还有一半时间就要过期时,会再次对DHCP Server服务器发送续期请求renew.
2. DHCP Server --ack--> DHCP Client
DHCP Server收到续期请求后,确认可以继续让其使用后,会回复应答包,重新为DHCP Client续期.

DHCP Server (推荐使用Windows)的更多相关文章
- 基于USB网卡适配器劫持DHCP Server嗅探Windows NTLM Hash密码
catalogue . DHCP.WPAD工作过程 . python Responder . USB host/client adapter(USB Armory): 包含DHCP Server . ...
- windows dhcp server
windows7并没有自带dhcp server的功能,需要安装额外的软件,软件很小巧,只有几百K字节,下载地址http://www.dhcpserver.de/cms/download/ 假设解压路 ...
- DHCP server 冒充及DOS攻击处理方案
一.DHCP服务器在运维上存在的常见问题: 1. DHCP服务器冒充 在DHCP服务器和客户端之间没有认证机制,如果在DHCP server覆盖的网络上随意接入一个DHCP server,就有可能造成 ...
- Zyxel Switch-How to block a fake DHCP server without enabling DHCP snooping?
How to block a fake DHCP server without enabling DHCP snooping? Scenario How to block a fake DHCP se ...
- 配置SQL Server去使用 Windows的 Large-Page/Huge-Page allocations
配置SQL Server去使用 Windows的 Large-Page/Huge-Page allocations 目录表->页表->物理内存页 看这篇文章之前可以先看一下下面这篇文章 ...
- DHCP Server软件使用教程
DHCP Server软件使用教程 前提网络环境配置 电脑连接上wifi 网络和共享中心中更改适配器,共享无线网卡给以太网网卡 手动设置以太网网卡ipv4地址为192.168.1.1,子网掩码为255 ...
- Installing OpenSSH from the Settings UI on Windows Server 2019 or Windows 10 1809
Installing OpenSSH from the Settings UI on Windows Server 2019 or Windows 10 1809 OpenSSH client and ...
- 看看如何解决“SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录”的问题
今天安装Sql Server之后,出现SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录的问题是由于sql server只设置了Windows身份验证, ...
- DHCP server工作原理
1.CLIENT首先发出广播的DHCPDISCOVER报文,广播的目的是让DHCP SERVER能够收到这个请求报文.在这个报文中,CLIENT可以在"选项"字段中加入" ...
随机推荐
- laravel 5.4 fopen(): Filename cannot be empty
1.出错的报错信息(我在用laravel5.4文件上传时候出错的) laravel 5.4 fopen(): Filename cannot be empty 2.解决的方法 在php.ini中修改临 ...
- 【转】C语言中的符号优先级
转自: http://blog.csdn.net/huangblog/article/details/8271791 虽然在日常使用中,添加括号来明确规定运算符优先级是一种常识,但毕竟学校考试就喜欢考 ...
- 解析ArcGis的标注(三)——标注的放置 与 转注记修改
该“标注”系列博文的标注引擎使用“标准标注引擎(standard label engine)”,这个概念如不知道,可不理会,ArcGis默认标注引擎就是它. 写着写着发现ArcGis标注的破事儿好多啊 ...
- 谈谈java程序代码保护及license设计
理论上讲,不存在牢不可破的漏洞,只是时间和成本问题.通常我们认为的不可破解,说的是破解需要难以接受的时间和成本.对于java程序来说,class文件很容易被反编译,所以理论上而言,对java程序做li ...
- SQL Server进阶(四):联接-cross join、inner join、left join、right jion、union、union all
测试数据脚本 CREATE TABLE Atable ( S# INT, Sname ), Sage INT, Sfrom ) ) insert into Atable ,N,N'A' union a ...
- tensorflow--logistic regression
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist=input_data. ...
- es6写法
我们在日常开发中,如果我们使用es5则可以直接在浏览器里面写JavaScript脚本.一点问题也没有. 但是在写es6语法的JavaScript代码的时候,我们就需要引入babel翻译器了. 例如: ...
- [C++]头文件<algorithm>
本博文仅示例一些常用的函数: sort.for_each. 1. sort /* STL - <algorithm> - sort template< class RandomIt, ...
- cpp #,##
#define语句中的#是把参数字符串化,##是连接两个参数成为一个整体. #define FACTORY_REF(name) { #name, Make##name } 中#name就是将传入的na ...
- PHP入门知识
一.搭建开发环境 想要使用一门后端语言,当然是要先搭建开发环境,模拟出服务器环境,不然怎么体现出后端,所以就先大众使用使用的Apache.Mysql,如果不想那么多折腾,建议直接使用xampp或者wa ...