DHCP和PXE
继续学习,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 Environment,PXE,也被称为预执行环境)提供了一种使用网络接口(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的更多相关文章
- DHCP服务+PXE自动安装系统
DHCP服务+PXE自动安装系统 DHCP安装 安装DHCP服务器 yum install dhcp -y 安装完dhcp默认无法启动,需要编辑配置文件设置分配地址范围等相关信息,服务器自身IP地址要 ...
- 第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?
第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的? linux 配置网络IP地址: 使用 net-tools: sudo ifconfig eth1 10.0.0.1/24 sudo ifc ...
- 4 (计算机网络) DHCP与PXE:IP是怎么来的,又是怎么没的?
如何配置 IP 地址? 那如何配置呢?如果有相关的知识和积累,你可以用命令行自己配置一个地址.可以使用 ifconfig,也可以使用 ip addr.设置好了以后,用这两个命令,将网卡 up 一下,就 ...
- [无人值守安装操作系统]__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 ...
- linux dhcp搭建及pxe无人值守装机
DHCP动态主机配置协议:由IETF组织制定,用来简化主机ip地址分配管理可以自动分配的入网参数ip地址/子网掩码/广播地址默认网关地址DNS服务器地址 ----------------------- ...
- DHCP协议和PXE
在学习IP地址基本概念之后,需要了解到如果需要和其他机器通讯,我们就需要一个通讯地址,我们需要给网卡配置一个地址. 如何配置 IP 地址? 可以用命令行自己配置一个地址.可以使用 ifconfig,也 ...
- Service系统服务(五):PXE基础装机环境、配置并验证DHCP服务、配置PXE引导、验证PXE网络装机、PXE+kickstart自动装机
一.PXE基础装机环境 目标: 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 1> 在CentOS真机部署Web目录/var/www/html/rh7dvd 2&g ...
- LINUX通过PXE自动部署系统
原理介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的 ...
- Linux——Pxe+Nfs+Kickstart自动部署安装Centos7.4
PXE简介 PXE,全名Pre-boot Execution Environment,预启动执行环境:通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统:由Intel和Syst ...
随机推荐
- SimpliciTI 地址分配
1.多个ED节点和AP正确连接后,AP都会给ED分配一个相应的地址.当某个ED出现意外,比如电源问题,和AP断开连接,AP并不将该ED节点的地址消除.当该ED恢复正常,重新申请加入网络时,AP会检测该 ...
- 记重大失误(SQLserver数据回滚)ApexSQL
敲了一天代码,脑壳昏,更改数据时忘记加where条件,该数据库又未备份.修改了1800条数据..当时那个着急啊. 各种找解决方法,最后使用ApexSQL Log 完美解决.赞一个 ApexSQL L ...
- Javaweb的9大内置对象
request(请求) response(响应) session(一个用户存放数据,安全) application(一个项目一般有一个,多用户共享存简单数据) out(输出,在页面输出内容) conf ...
- Gym 100512F Funny Game (博弈+数论)
题意:给两个数 n,m,让你把它们分成 全是1,每次操作只能分成几份相等的,求哪一个分的次数最多. 析:很明显,每次都除以最小的约数是最优的. 代码如下: #pragma comment(linker ...
- Linux - 常用命令索引
文件和目录操作 pwd - 显示当前所在的位置 cd - 切换目录 文件过滤及内容编辑 ... 文本处理三剑客 ... 系统信息查询与搜索文件 ... 文件备份与压缩 ... 用户管理与信息查询 .. ...
- E20180303-hm-xa
overlap n. 重叠部分; 覆盖物,涂盖层; [数] 交叠,相交; vt. 重叠; 与…部分相同; stride n. 步幅; 大步,阔步; 进展; 一跨(的宽度); vt. 跨过; 大踏步 ...
- Java 集合系列
1.http://www.cnblogs.com/skywang12345/p/3308498.html
- Quartz.Net实现的定时执行任务调度
在之前的文章<推荐一个简单.轻量.功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler>和<简单.轻量.功能非常强大的C#/ASP.NET定时调度 ...
- 用jdbc连接数据库并简单执行SQL语句
一:版本一.这种存在一个问题就是每执行一次操作都会创建一次Connection链接和且释放一次链接 1:创建pojo对象(OR映射,一个pojo类对应一张数据库表) package com.yin ...
- B - Crossword solving
Erelong Leha was bored by calculating of the greatest common divisor of two factorials. Therefore he ...