Linux启动过程+web工作原理+DHCP+dns+nfs+ftp+pxe
1、 系统启动过程
BIOS加电自检
加载主引导加载程序(MBR)
加载次引导加载程序(GRUB)
Linux内核映像
init进程
X86计算机在启动后首先进行POST加电自检,检测计算机的硬件设备。自检完成后读取CMOS中的BIOS查找可启动设备,加载主引导目录MBR,加载GRUB,然后加载内核,初始化initrd,内核会进行探测硬件->加载驱动->挂载根文件系统->切换至根文件系统(rootfs)–>运行/sbin/init完成系统初始化。
2、 web工作原理
Web服务器通过HTTP协议进行通信,Web服务器有是也叫HTTP服务器或Web容器,工作过程如下:
①用户在浏览器中输入要访问的web站点地址或在已打开的站点点击超链接。
②由DNS进行域名解析,找到服务器的IP地址,向该地址指向的web服务器发出请求。
③web服务器根据请求将URL地址转换为页面所在的服务器上的文件全名,查找相应的文件。
④若URL指向静态文件,则服务器将文件通过http协议传输给用户浏览器;若HTML文档中嵌入了ASP,PHP,JSP等程序,则由服务器直接运行后返回给用户;
如果web服务器所运行程序包含对数据库的访问,服务器会将查询指令发送给数据库服务器,对数据库执行查询操作,查询结果由数据库返回给web服务器,再由web服务器将结果潜入页面,并以html格式发送给浏览器。
⑤浏览器解释html文档,在客户端屏幕上展示结果。
3、 dhcp工作原理
①客户端启动后,进入初始化状态,会广播一个DHCPDISCOVER报文,所有的DHCP服务器都能够收到这个报文。
②所有的DHCP Server都会回应,向DHCP客户端发送一个Offer报文,(包含客户端的配置信息,以及分配给他们的IP地址)。
③DHCP客户端进入选择状态,只选择并处理一个DHCP Offer报文,然后客户端向Server端发送一个DHCP Request报文请求服务器配置。
④DHCP服务器端同意后,发回一个DHCP ACK报文
⑤DHCP收到ACK报文后,检查分配给他的IP地址是否可用,如果不可用,则客户端向服务器端发送个DHCP Decline报文,通知DHCP服务器端禁用该IP,然后重新申请新的IP地址
⑥DHCP成功获得IP地址后,随时可以通过发送DHCP Release报文释放自己的IP,DHCP服务器端收到该报文后,回收相应的IP地址并重新分配。
4、 dns解析原理
dns解析过程:
①客户端首先找到本地设置的dns服务器进行递归查询。
②本地DNS服务器收到请求后直接查找本服务器是否有此记录,如果有就直接返回域名对应的地址给客户端。
③如果本地DNS没有查找到对应的记录,那么此DNS服务器就会请求根域找.cn服务器的地址。
④根服务器接收到请求后就会去找国际域名服务器列表,然后会返回.cn服务器的地址给本地DNS服务器;
⑤本地DNS服务器收到.cn服务器地址后,就会找.cn服务器进行顶级域.com.cn服务器地址的解析,然后.cn服务器会返回.com.cn服务器的地址给本地DNS服务器;
⑥、本地DNS服务器收到.com.cn地址后,就会找.com.cn服务器解析baidu.com.cn服务器的地址;
⑦本地DNS服务器收到baidu.com.cn的地址后,就会找baidu.com.cn服务器解析www.baidu.com.cn主机地址;
⑧本地DNS服务器得到www.baidu.com.cn的IP地址后,会马上返回给客户端并缓存此域名;
⑨户端得到IP地址后缓存在本地,然后就可以通过IP地址访问百度服务器;
5、 nfs的作用
NFS服务主要是通过网络可以让不同主机可以彼此共享目录和文件。NFS服务端可以允许客户端将服务端的NFS共享目录挂载到客户端。对于客户端来说,服务端的共享目录就像本地的磁盘分区。NFS服务一般用来存储共享视频、图片等静态数据。
6、 ftp的主动模式Standard 和被动模式Passive
主动模式:
FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
被动模式:
在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
7、 pxe+kickstart安装系统原理
7.1 PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
pxe在执行过程中需要DHCP服务器,TFTP服务器的支持
简单说可以分为三步:
① 网络配置,上图通过DHCP来配置网络IP等;
② 下载引导程序,上图中通过FTP来进行下载操作;
③ 启动引导程序。
7.2
通常,我们在安装操作系统的过程中,需要大量的和服务器交互操作,为了减少这个交互过程,可以使用kickstart。kickstar是一种无人职守安装方式,kickstart的工作原理是通过记录典型的安装过程中所需人工预填写的各种参数,并生成一个名为ks.cfg的文件(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在其后的安装过程中,当出现要求填写参数的情况时,程序会首先查找kickstart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预,如果kickstart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处获取ks.cfg文件,无需人工干预,等安装完毕,安装程序会根据ks.cfg中设置的重启选项启动系统,并结束安装。