Linux day2

描述以下问题:
1、系统启动过程
答:Linux系统启动主要分为5个阶段,分别为内核引导,运行init,系统初始化,建立终端,用户登录系统。
(1)内核引导:当甲计算机打开电源后,首先是BIOS开机自检,按照BIOS设置的启动设备来启动,操作系统接管硬件后,首先读入/boot目录下的内核文件
(2)运行init:init进程是系统所有进程的起点,运行init进程后其他进程才能启动,init程序首先要读取配置文件/etc/inittab
(3)运行级别:许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。init进程的一大任务,就是去运行这些开机启动的程序。但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。
(4)系统初始化:在init配置文件中有这么一行:si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。它主要完成的工作有:**交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
(5)建立终端:rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init接下来会打开6个终端,以便用户登录系统。
(6)用户登录系统:一般用户的登录方式有如下三种:命令行登录,SSH登录以及图形界面登录
2、Web工作原理
答:假设用户使用浏览器作为客户端
(1) 用户做出了一个操作,可以是填写网址敲回车,可以是点击链接,可以是点击按键等,接着浏览器获取了该事件。
(2) 浏览器与对端服务程序建立TCP连接。
(3) 浏览器将用户的事件按照HTTP协议格式打包成一个数据包,其实质就是在待发送缓冲区中的一段有着HTTP协议格式的字节流。
(4) 浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序。
(5) 服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图。
(6) 得知客户端意图后,进行分类处理,或是提供某种文件、或是处理数据。
(7) 将结果装入缓冲区,或是HTML文件、或是一张图片等。
(8) 按照HTTP协议格式将(7)中的数据打包
(9) 服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端。
(10) 浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件。
(11) 浏览器将HTML文件展示在页面
3、Dhcp工作原理
答: DHCP是一个局域网的网络协议,它主要是通过客户端发送广播数据包给整个物理网段内的所有主机,若局域网内有DHCP服务器时,才会响应客户端的IP参数要求。它有四个租约过程,客户机请求IP,服务器相应请求,客户机选择IP,服务器确定租约。
(1)客户机请求IP地址–DHCP客户机在网络广播中一个DHCP Discover,请求IP地址,DHCP Discover包的源地址为0.0.0.0。目的地址为255.255.255.2552,改包包含客户机的MAC和计算机名,使服务器能够确定是哪个客户机发送的请求。
(2)服务器响应请求–当DHCP服务器接收到客户机请求IP地址信息时,就在自己的 库中查找是否有合法的IP地址提供给客户,如果有,将此IP标记,广播一个DHCP offer包。这个包中包含:客户机的MAC地址;提供的合法IP;子网掩码;租约期限;服务器标示;其他参数等。因为客户机没有IP地址,所以还是以广播方式发送,源地址:0.0.0.0目的地址255.255.255.255。
(3)客户机选择IP地址–DHCP客户机接收到第一个DHCP offer包中选择IP地址,并在次广播一个DHCP request包到所有服务器,该包中包含为客户机提供的IP配置的服务器的服务标示符(IP地址),服务器查看标示符,以确定自己提供的IP地址是否被IP地址是否被客户机选中,如果客户机接受IP,则发出IP地址的DHCP服务器将该地址提供给另外一个DHCP。如果拒绝,提供给下一个IP租约请求。这个源地址仍然是0.0.0.0目的地址255.255.255.255。
(4)服务器确认IP 租约–DHCP租约的最后一步,服务器确认租约,发送一个DHCP ack/DHCP NACK包。服务器收到DHCP request包后,以DHCP ack包向客户机广播出去,当客户机收到后,就配置了IP地址,完成初始化,就可以在TCP/IP网络上通信了。客户机收到DHCP nack包会重新发送DHCP Discover包,这次源地址是服务器的IP地址,目的地址时255.255.255.255。
4、Dns解析原理
答:DNS域名解析主要利用了递归查询和迭代查询,客户机到本地DNS服务器查询使用递归查询,而DNS服务器与DNS服务器间使用了迭代查询。解析过程如下:
(1)在浏览器中输入域名www.baidu.com,操作系统会先检查本地host文件是否有网址映射关系,如果有则调用该映射,完成解析。
(2)当本地host文件没有域名映射时,查找本地DNS解析器的缓存是否有网址www.baidu.com的映射关系,如果有,完成解析
(3)当本地host文件和DNS解析器都没有网址www.baidu.com的映射关系时,此时会找TCP/IP中设置的首选DNS服务器,此处我们称之为本地DNS服务器,该服务器收到查询请求时,若被查询域名包含在本地配置区域资源中,则会返回解析结果给用户浏览器,完成域名解析;
注:此解析具有权威性
(4)若查询的域名,不存在于本地DNS服务器解析区域,但该服务器已经缓存了域名A的网址映射关系,则会调用这个IP地址映射,完成域名解析。
注:此时的解析,将不具有权威性
(5)如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询
(5.1)如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请
求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该*域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理域名baidu.com的DNS服务器地址给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到www.baidu.com主机
(5.2)如果用的是转发模式,本地DNS服务器就会把请求转发至上一级DNS服务器,
由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。找到最后把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机
5、Nfs的作用
答:NFS即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源,主要在unix系列操作系统上使用。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。
在NFS服务器中,日志文件都放置到/var/lib/nfs目录中,在该目录下有两个比较重要的日志文件,一个是etab,主要记录了NFS所共享出来的目录的完整权限设置值;另一个是xtab,记录了曾经链接到此NFS服务器的相关客户端数据。
6、ftp的主动模式和被动模式
答:FTP的传输使用的是TCP数据包协议。FTP服务器使用了两个连接,分别是命令通道与数据流通道。由于是TCP数据包,这两个连接都需要经过三次握手。建立命令信道时,客户端会随机获取一个大于1024以上的端口来与FTP服务器端的port 21来实现连接,三次握手成立后,客户端就能通过该连接对FTP服务器执行命令。
建立数据信道时,客户端通知FTP服务器端使用主动连接,此时会随机启用一个端口,且通过命令通道告知FTP服务器这两个信息,FTP服务器收到请求后,会主动从port 20向客户端的数据端口进行三次握手的连接,分别用在命令执行与数据传递。而默认FTP服务器端使用的主动连接端口就是port 20。
Linux day2
当客户端选择被动式连接时,客户端会通过命令通道发出被动式连接要求,并等待服务器回应,FTP服务器会先启动一个监听端口。这个端口号码可以是随机的,也可以自定义某一范围的端口,这要看FTP服务器软件而定。然后FTP服务器会通过命令通道告知客户端这个已经启动的端口port pasv,并等待客户端的连接,客户端则会随机取用一个大于1024的端口进行连接,连接成功后就可以通过该端口和服务器的port pasv传送

Linux day2

7、Pxe+kickstart安装系统原理
答:kickstart是一种无人值守的安装方式,它的工作原理是提前定义好了linux安装过程的配置文件,这个配置文件通常为ks.cfg。有了这个文件,可以让Linux在安装过程中按照我们预先定义的要求进行自动化安装,同时对于部署大量主机也非常方便。
pxe是Intel公司开发的最新技术,工作于Client/Server的网络模式,支持通过网络从远端服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP协议下载一个启动软件包到本机内存中运行,由这个软件包完成中断的基本软件设置,进而引导安装操作系统。