学习之前,我们首先来看一个案例:

假如你是一个学校的网络管理老师,需要为教室的70多台电脑配置好网络你会怎么办?

一台一台的给他们配置?

在这里我特别欣赏鸟哥的一句话——“当管理员最大的幸福就是可以喝喝茶,聊聊天就能管理好一切的网络问题”

确实,公司或企业在意的是你的工作效果,而不是你的工作态度!

1.DHCP协议的工作方式

DHCP通常是用于局域网的一个协议。它主要通过客户端发送广播数据包给整个物理网段的所有主机。若局域网内有DHCP服务器时,才会响应客户端的IP参数要求。所以DHCP服务器与客户端是应该在同一个物理网段内。

(1)客户端利用广播数据包搜索DHCP服务器

①客户端启动网卡 ===> ②客户端发送UDP数据包(此包的目标IP是255.255.255.255) ===> ③DHCP收到并响应

注意:

255.255.255.255代表这是一个广播报文,会发给局域网内的所有主机。但是一般主机会直接丢弃,DHCP服务器收到后会开始进行下一步操作。

(2)服务器端提供客户端网络相关的租约以供选择

①服务器收到某个客户机的广播报文 ===> ②得到客户机的Mac地址,并且判断该客户机以前是否获取过IP,如果是,曾经获取的IP现在是否空闲,如果空闲则继续让该客户机使用该IP地址,若果不空闲,则进行下一步操作 ===> ③若配置文件针对该MAC地址提供特定的固定IP(Static IP)时,则提供该固定IP给客户端,若配置文件没有声明,则进行下一步操作 ===> ④随即将没有被使用的IP地址分配给该客户端,并且将相关信息记录下来。

(3)客户端选择服务器(可能多个,也可能单个。取决于网络管理员的设置)

由于局域网内不一定只有一台服务器,所以客户端需要从多个DHCP服务器提供的IP中选择一组网络参数租约。当选定某个IP时,客户端再次发送广播告知所有主机自己已经接受该IP。

(4)服务器确认该租约并且确认该租约已被使用

当服务器收到客户端的确认选择后,服务器会告知客户端该租约的期限。

需要注意的是,在此之前,由于客户端的IP地址并没有生效,所以服务器与客户端进行通讯依赖于客户端的MAC地址。

2.客户端的IP地址何时有效?

(1)客户端的租约到期

(2)客户端脱机。包括关机,重启,网卡关闭,重启等等。

3.固定IP(静态Static IP)

(1).什么是固定IP

固定IP一旦设定,只要你的MAC网址不变,该固定IP就不会改变。而MAC地址又取决于网卡(网卡属于硬件)。注意:一般固定ip用于服务器或者其它项目。

(2).如何获取MAC地址

①获取自己的mac地址

通过ifconfig命令获取

ifconfig | grep HW

②获取其他PC的IP地址

通过ping 和 arp配合获取

ping -c 3 www.baidu.com

arp -n

可以看到,我们已经获取到了百度服务器的mac地址了。

4.动态IP(Dynamic )

Client端每次连上DHCP服务器所获得的IP都是不固定的、动态的。

Linux服务器架设篇,DHCP服务器的搭建的更多相关文章

  1. Windows服务器学习篇:服务器连接与退出

    此文是我早期在公司内部发布的一篇给予新入职程序员基础技术培训的文章,非常基础简单,现拿出来给大家分享.当然,已工作人士可直接忽略... 一.Windows服务器连接 1. 在桌面菜单中的“运行”里,输 ...

  2. Linux服务器架设篇,DNS服务器(二),cache-only DNS服务器的搭建

    一.理论基础 什么是cache-only服务器?即不具备自己正反解Zone的能力,仅进行缓存或转发的DNS服务器.其实它也称不上是DNS服务器.但是也是一个必备的知识点. 这种服务器只有缓存搜索结果的 ...

  3. 鸟哥的linux私房菜服务器架设篇之准备工作和网络基础

    架设服务器的基本功课 1基础网络的基本概念,以方便进行联网和设定及除错 2熟悉操作系统的简易操作:包括登录分析,账号管理,文本编辑器的使用等等的技巧 3信息安全方面:包括防火墙与软件更新方面的相关知识 ...

  4. Linux服务器架设篇,DNS服务器(三),正反解区域的配置

    一.大体架构 DNS服务器其实只有一个"真正"的配置文件,即 /etc/named.conf .其他的配置文件都是依据此配置展开的.每个域都需要两个配置文件,即正解文件和反解文件. ...

  5. Linux服务器架设篇,Windows中的虚拟机linux上不了外网怎么办?

    1.将电脑的网线口直连路由器内网接口(确保该路由器可以直接正常上网,切记不可以使用宽带连接和无线网连接). 2.在实体机电脑可以上网的前提下,在命令框窗口输入 ipconfig 3.记录下电脑以太网的 ...

  6. Linux服务器架设篇,DNS服务器(一),基础知识

    一.端口 DNS监听端口 注意: DNS通常是以UDP协议来进行数据传输协议的,但是若没有办法查询到完整的信息是.DNS的daemon是named,它会启动TCP和UDP的53端口,所以启用DSN服务 ...

  7. Linux服务器架设篇,Nginx服务器的架设

    1.安装 nginx依赖包 (1)安装pcre yum install pcre-devel (2)安装openssl yum -y install openssl-devel (3)安装zlib y ...

  8. 鸟哥的linux私房菜服务器架设篇第五章linux常用网络指令

    ifconfig主要可以手动启动观察修改网络接口的相关参数 ifdown,ifup用来启动和关闭接口,后面直接接接口名称 两部主机两点沟通:ping 两主机之间各节点分析 traceroute 查看本 ...

  9. 鸟哥的linux私房菜服务器架设篇学习记录之进修专区与架设服务器的准备工作

随机推荐

  1. 【Python】2.11学习笔记 注释,print,input,数据类型,标识符

    前面学了好多内存什么的知识,没什么用(我有眼不识泰山233 吐槽一句,这课简直就是讲给完全的编程小白听得 就从语言开始写吧(其实好多已经看过了,再来一遍 话说我已经忘了\(Markdown\)怎么写了 ...

  2. MVVM相关框架

    Caliburn.Micro PropertyChanged.Fody Prism MVVMLight (未完)

  3. Docker容器中使用Redis

    加载镜像 查询官方镜像及其版本信息 $ docker search redis 加载最新镜像 $ docker pull redis:lastest 查看本地镜像 $ docker images RE ...

  4. gRPC(2):客户端创建和调用原理

    1. gRPC 客户端创建流程 1.1 背景 gRPC 是在 HTTP/2 之上实现的 RPC 框架,HTTP/2 是第 7 层(应用层)协议,它运行在 TCP(第 4 层 - 传输层)协议之上,相比 ...

  5. python之目录

    一.python基础 ​ python之字符串str操作方法 ​ python之int (整型) ​ python之bool (布尔值) ​ python之str (字符型) ​ python之ran ...

  6. HDU - 1999 不可摸数,快速求因子和

    题意:定义s[m]为m内的因子的和,给定一个n,判断是否有s[m]==n,若没有,则是不可摸数. 思路:首先要打表求出s[m]的值,标记这些出现过的值. 打表求因子和: for(int i=1;i&l ...

  7. 用libevent写个简单的server/client

    libevent是一个轻量级的事件触发库,可以很好地利用在网络通讯上面,用其进行大量的异步,延时,重发等场景. 下面是一个server的demo #include include void cb_fu ...

  8. redis++:Redis持久化 rdb & aof 工作原理及流程图 (三)

    RDB的原理: 在Redis中RDB持久化的触发分为两种:自己手动触发与Redis定时触发. 针对RDB方式的持久化,手动触发可以使用: 1):save:会阻塞当前Redis服务器,直到持久化完成,线 ...

  9. Java 获取 IP

    /** * 获取访问者IP. * 在一般情况下使用 Request.getRemoteAddr() 即可,但是经过 nginx 等反向代理软件后,这个方法会失效. */ private String ...

  10. html vue简单

    1.Vue 简单的替换更新 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...