继续学习,Let's go!DHCP和PXE都是什么呢?如果非科班出身,可能一脸懵逼,好多东西需要去学习了,真的,继续学吧,付出不一定会有回报,不付出肯定就是等死了,呵呵!

一、DHCP

真正需要手动配置一台机器的网络IP时,一定不是直接使用命令配置的,而是放在一个配置文件中。不同系统的配置文件个格式不同,但是无非就是CIRD、子网掩码、广播地址和网关地址。但是,有DHCP,就是动态主机配置协议,自动配置机器的IP。

1、DHCP介绍

动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:

(1)用于内部网或网络服务供应商自动分配IP地址给用户

(2)用于内部网管理员作为对所有计算机作中央管理的手段

动态主机设置协议(DHCP)是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。

DHCP使用了租约的概念,或称为计算机IP地址的有效期。租用时间是不定的,主要取决于用户在某地连接Internet需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。通过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。

DHCP和另一个网络IP管理协议BOOTP类似。当前两种配置管理协议都得到了普遍使用,其中DHCP更为先进。某些操作系统,如Windows NT/2000,都带有DHCP服务器。DHCP或BOOTP客户端是装在计算机中的一个程序,这样就可以对其进行配置操作。

协议结构
8 bits 16 bits 24 bits 32 bits
Op Htype Hlen Hops
Xid
Secs Flags
Ciaddr
Yiaddr
Siaddr
Giaddr
Chaddr (16 bytes)
Sname (64 bytes)
File (128 bytes
Option (variable)
  • Op:消息操作代码,既可以是引导请求(BOOTREQUEST)也可以是引导答复(BOOTREPLY)
  • Htype:硬件地址类型
  • Hlen:硬件地址长度
  • Xid:处理ID
  • Secs:从获取到IP地址或者续约过程开始到现在所消耗的时间
  • Flags:标记
  • Ciaddr:客户机IP地址
  • Yiaddr:“你的”(客户机)IP地址
  • Siaddr:在bootstrap中使用的下一台服务器的IP地址
  • Giaddr:用于导入的接替代理IP地址
  • Chaddr:客户机硬件
  • Sname:任意服务器主机名称,空终止符
  • File:DHCP发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名
  • Options:可选参数字段。参考定义选择列表中的选择文件

2、DHCP工作方式

DHCP运行分为四个基本过程,分别为请求IP租约、提供IP租约、选择IP租约和确认IP租约

(1)DHCP发现(DISCOVER)

新来的机器使用IP地址0.0.0.0发送了一个广播包,目标IP地址为255.255.255.255,广播包封装了UDP,UDP 封装了BOOTP。其实DHCP是BOOTP的升级版,这个广播包的格式大致简化成如图:

(2)DHCP提供(OFFER)

如果一个网络管理员在网络里面配置了DHCP Server的话,他就相当于这些IP的管理员。他立刻能知道来了一个新人,因为这个新人带着MAC地址来添加到一个网络中,这个时候MAC地址就是他唯一的身份,只有MAC地址唯一,管理员才知道这个是个新人,需要租给他一个IP地址,这个过程我们称之为DHCP Server。(2)DHCP提供(OFFER)

DHCP Server格式就是这样子,里面有给新人的IP地址:

(3)DHCP请求(REQUEST)

如果有多台DHCP服务器,可能会收到多个IP地址,新人会选择其中的一个DHCP Offer,一般是最先到达的那个,并且会想网络发送一个DHCP Request广播数据包,包中包含客户端的MAC地址、接受的租约的IP地址、提供此租约的DHCP服务器地址,并告诉所有的DHCP服务器它将接受哪一台DHCP服务器提供的IP地址,并撤销他们提供的IP地址,以便提供给下一个IP请求租用者。具体格式大致是这个样子:

(4)DHCP确认(Acknowledge,ACK)

DHCP Server 接收到客户机DHCP Request之后,会广播返回给客户机一个DHCP ACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用信息和其他的配置信息都放入广播包中,发给客户机,具体格式大致是这个样子:

二、PXE(预启动执行环境)

1、PXE介绍

预启动执行环境Preboot eXecution EnvironmentPXE,也被称为预执行环境)提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。

2、PXE工作过程

(1)启动PXE客户端,第一步是通过DHCP协议告诉DHCP Server ,我刚来,一穷二白,啥都没有。DHCP Server便租给他一个IP地址,同时也给他PXE服务器地址、启动文件pxelinux.0   

(2)PXE客户端知道要去PXE服务器下载这个文件后,就可以初始化服务器,于是便开始下载,下载的时候使用TFTP协议。所以PXE服务器上,往往还需要一个TFTP服务器,PXE客户端向TFTP服务器请求下载这个文件。

(3)PXE客户端收到这个文件后,就开始指行这个文件。这个文件会指向PXE客户端,向TFTP服务器请求计算机的配置信息pxelinux.cfg。TFTP服务器会向PXE客户端一个配置信息文件,里面会说内核在哪里、initramfs在哪里。PXE客户端会请求这些文件。

(4)启动Linux内核,一旦启动了操作系统,以后就啥都好办了。

此篇的链接地址:https://time.geekbang.org/column/article/8015#previewimg

DHCP和PXE的更多相关文章

  1. DHCP服务+PXE自动安装系统

    DHCP服务+PXE自动安装系统 DHCP安装 安装DHCP服务器 yum install dhcp -y 安装完dhcp默认无法启动,需要编辑配置文件设置分配地址范围等相关信息,服务器自身IP地址要 ...

  2. 第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?

    第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的? linux 配置网络IP地址: 使用 net-tools: sudo ifconfig eth1 10.0.0.1/24 sudo ifc ...

  3. 4 (计算机网络) DHCP与PXE:IP是怎么来的,又是怎么没的?

    如何配置 IP 地址? 那如何配置呢?如果有相关的知识和积累,你可以用命令行自己配置一个地址.可以使用 ifconfig,也可以使用 ip addr.设置好了以后,用这两个命令,将网卡 up 一下,就 ...

  4. [无人值守安装操作系统]__RHEL6__FTP+TFTP+DHCP+Kickstart+PXE

    实验环境 1.实验平台:VMware Workstation 10 2.实验OS:RHEL6 3.服务器A: (1) 10.0.10.158 (2) DHCP/FTP/TFTP (3) 有可使用的yu ...

  5. linux dhcp搭建及pxe无人值守装机

    DHCP动态主机配置协议:由IETF组织制定,用来简化主机ip地址分配管理可以自动分配的入网参数ip地址/子网掩码/广播地址默认网关地址DNS服务器地址 ----------------------- ...

  6. DHCP协议和PXE

    在学习IP地址基本概念之后,需要了解到如果需要和其他机器通讯,我们就需要一个通讯地址,我们需要给网卡配置一个地址. 如何配置 IP 地址? 可以用命令行自己配置一个地址.可以使用 ifconfig,也 ...

  7. Service系统服务(五):PXE基础装机环境、配置并验证DHCP服务、配置PXE引导、验证PXE网络装机、PXE+kickstart自动装机

    一.PXE基础装机环境 目标: 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 1> 在CentOS真机部署Web目录/var/www/html/rh7dvd   2&g ...

  8. LINUX通过PXE自动部署系统

    原理介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的 ...

  9. Linux——Pxe+Nfs+Kickstart自动部署安装Centos7.4

    PXE简介 PXE,全名Pre-boot Execution Environment,预启动执行环境:通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统:由Intel和Syst ...

随机推荐

  1. [OS][FS]查看ext3文件系统分区的superblock

    本文将介绍怎样读取一个分区的superblock: 1. 首先我们查看一下在磁盘上有哪些分区,通过fdisk -l 这里有三个分区,我们下面查看/dev/sda3(这是一个device file) 2 ...

  2. Center OS Tomcat7 服务器配置总结

    tomcat7 目录结构 --- webapps 应用存放目录,可以配置Host 来决定这个文件的目录,可以配置多个Host,多个webapps ---ROOT 项目根目录,Tomcat会特殊对待这个 ...

  3. MYSQL自动备份策略的选择(转载)

    原文地址: http://shinepaopao.iteye.com/blog/1938568

  4. HDU 4893 Wow! Such Sequence! (树状数组)

    题意:给有三种操作,一种是 1 k d,把第 k 个数加d,第二种是2 l r,查询区间 l, r的和,第三种是 3 l r,把区间 l,r 的所有数都变成离它最近的Fib数, 并且是最小的那个. 析 ...

  5. Linux Gcc编译错误(转载)

    转自:http://www.linuxidc.com/Linux/2012-01/52153.htm Linux系统下的c编程与Windows有所不同,如果你在用gcc编译代码的时候提示‘for’ l ...

  6. PCB AdminMongo安装使用

    AdminMongo是针对Mongodb设计的一款Web端可视化工具,它是使用Node.js编写,这里将安装过程记录一下. 一.下载AdminMongo 前题:安装使用adminMongo需提前安装好 ...

  7. NOIp 2017 奶酪 【并查集】 By cellur925

    题目传送门 Orz去年考场上做这道题的我应该还在抱怨没学过空间几何,不一会太困了就开始打瞌睡,然后为了防止睡觉开始在devc++上写默写离骚(逃 思路:如果两个空洞相交,那么把他们并在一个集合里.最后 ...

  8. Luogu P3619 魔法 【贪心/微扰证明】

    题目描述 cjwssb知道是误会之后,跟你道了歉.你为了逗笑他,准备和他一起开始魔法.不过你的时间不多了,但是更惨的是你还需要完成n个魔法任务.假设你当前的时间为T,每个任务需要有一定的限制ti表示只 ...

  9. Unix\Linux | 总结笔记 | 查看文件的方式

    0 目录 vi cat head tail more less 1.vi vi编辑器的内置命令 有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入.常用内置命令如下: Ctrl ...

  10. SqlParameter 的使用

    SqlParameter[] sqlParams = new SqlParameter[2];sqlParams[0] = new SqlParameter("@RoleId", ...