| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 【网络协议】DHCP和PXE -> 正文阅读 |
|
[系统运维]【网络协议】DHCP和PXE |
DHCP(Dynamic Host Configuration Protocol):动态主机配置协议。工作方式如下: 当一台机器新加入一个配置了DHCP Sever网络的时候,首先会进行 DHCP Discover,即使用IP地址0.0.0.0发送一个广播包,目的IP地址为255.255.255.255。广播包封装了UDP,UDP封装了BOOTP。DHCP是BOOTP的增强版,但如果抓包的话,很可能看到的名称还是BOOTP协议。 在这个广播包里,新来的机器进行Boot request。 DHCP Sever就会分配给它一个IP地址,这个过程称为DHCP Offer。同时,DHCP Sever会保留此IP地址,不再为其它机器分配。此时,DHCP Sever也使用广播地址作为目的地址,因为,当下请求分配IP的新机器还没有自己的IP,除此之外,服务器还发送的子网掩码、网关、和IP地址的使用期限等信息。 如果有多次DHCP Sever,这台新机器就会收到多个DHCP Offer,它会选择其中一个作为自己的IP地址,一般是最先到达的那个,并向网络发送一个DHCP Request 广播数据包,包含客户端的MAC地址、接受的IP地址、提供IP地址的DHCP服务器地址等,并告诉所有的DHCP Sever它将接受哪一台服务器提供的IP地址,同时请求其余DHCP Sever撤回它们提供的IP。 客户机会在IP使用期限过去50%的时候,直接向为其提供IP地址的DHCP Sever发送DHCP request消息包。接到服务器回应的DHCP ACK包后,根据包中所提供的新的使用期限以及其他已经更新的TCP/IP参数,更新自己的配置,这样,IP使用期限就更新完成了。 网络管理员不仅能自动分配IP,还能安装操作系统 这个过程和操作系统启动的过程相似。 【附:操作系统启动过程】首先,启动BIOS,BIOS是一个特别小的小系统,只能做特别小的一件事,就是读取硬盘的MBR启动扇区,将GRUB启动起来,然后将权力交给GRUB,GRUB加载内核、加载作为根文件系统的initramfs文件,然后将权力交给内核,最后内核启动,初始化整个操作系统。 安装操作系统的过程,只能插在启动BIOS之前,因为没安装系统之前,连启动扇区都没有。因而,这个过程叫作预启动执行环境(Pre-boot Execution Environment),简称PXE。 PXE协议分为客户端和服务器端,由于还没有操作系统,只能先把客户端放在BIOS里面,当计算机启动时,BIOS将PXE客户端调入内存中,就可以连接服务端做一些操作了。 PXE的客户端启动起来后,会发送一个DHCP请求,让DHCP Sever为它分配一个IP地址。如果想使用PXE,除了IP地址,还需要配置next-sever,指向PXE服务器的地址,另外需要配置初始启动文件filename。这样,PXE客户端就知道PXE服务器在哪里了,也可以知道如何从PXE服务器上下载某个文件,去初始化操作系统。 知道了这些后,PXE客户端就可以开始下载了,下载的时候使用的是TFTP协议,所以在PXE服务器上,往往还需要一个TFTP服务器,将PXE客户端要下载的文件传给它。 PXE客户端收到文件后,开始执行文件。这个文件会指示PXE客户端,向TFTP服务器请求计算机的配置信息pxelinux.cfg。TFTP服务器会给PXE客户端一个配置文件,里面会说内核在哪里、initramfs在哪里。PXE客户端会请求这些文件。 最后,启动Linux内核。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:56:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |