Linux知识点总结
linux系统启动过程
开机-----BIOS自检-----系统引导------内核映像------初始化系统
BIOS自检:按照BIOS设置的启动设备(通常是硬盘)来启动,检测计算机的硬件设备
系统引导:加载主引导加载程序(MBR),加载次引导加载程序(GRUB)
MBR:512字节大小的映像,任务就是查找并加载保存在硬盘分区上的此引导加载程序,他通
过分区表查找活动分区,然后将活动分区的次引导加载程序从设备读入内存并运行。
GRUB:也称内核加载程序,任务是加载内核,加载到内存后,显示GRUB的图形界面;配置文
件为/boot/grub/grub.conf。
内核映像:GRUB根据/boot/grub/grub.conf中设置的信息,从/boot所在的分区上读取linux内核映像,然
后把内核映像加载到内存中并把控制权交给linux内核。
初始化系统:init进程是linux系统所有进程的起点,内核在完成内核引导后,便会加载init进程,其进程号
为1。init进程启动后,会初始化操作系统。对应的执行文件为/sbin/init。
WEB工作原理
WEB服务器通过HTTP协议进行通信。HTTP协议采用的是请求/响应模式,即客户端发起HTTP请求,
WEB服务器接收并解析处理HTTP请求,然后将HTTP响应发送给客户端。
1.用户在浏览器中输入要访问的web站点地址或医打开的站点点击超链接
2.有DNS进行域名解析,找到服务器的IP地址,向该地址指向的web服务器发出请求
3.web服务器根据请求将URL地址转换为页面所在的服务器上的文件全名,查找相应的文件
4.若URL指向静态文件,则服务器将文件通过HTTP协议传输给用户浏览器;若HTML文档中嵌入了
ASP,PHP,JSP等程序,则有服务器直接运行后返回给用户
如果web服务器所运行程序包含对数据库的访问,服务器将查询指令发送给数据库服务器,对数据库
进行查询操作,查询结果由数据库返回给web服务器,在由web服务器将结果嵌入页面,并以HTML格式
发送给浏览器
5.浏览器解释HTML文档,在客户端屏幕上展示结果
DHCP工作原理
DHCP是一个局域网的网络协议,它主要是通过客户端发送广播数据包给整个屋里网段内的所有主机,
若局域网被有DHCP服务器是,才会响应客户端的IP参数要求。
1.发现阶段
DHCP客户端查找DHCP服务器的阶段。客户机以广播方式(因为DCHP服务器的IP地址对于客户端来说
是未知的)发送DHCP discover 信息来查找DHCP服务器,即向地址255.255.255.255发送特定的广播信
息。网络上每安装一台TCP/IP的主机都会接受到这种广播信息,但只有DHCP服务器才会做出响应。
2.提供阶段
DHCP服务器提供IP地址的阶段。在网络中接受到DHCP discover 信息的DHCP服务器都会做出响应。
它从尚未出租的IP地址中挑选一个分配给DHCP客户端,向其发送一个包含出租的IP地址和其他设置的
DHCP offer信息。
3.选择阶段
DHCP客户端选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户端发送
DHCP offer信息,则DHCP客户端只接受第一个收到的DHCP offer信息。然后它就以广播方式回答一个
DHCP request 信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式
回答,是为了通知所有DHCP服务器,它将选择某台DHCP服务器所提供的IP地址。
4.确认阶段
DHCP服务器所提供的IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCP request 信息之
后,它向DHCP客户端发送一个包含所提供的的IP地址和其他设置的DHCP ACK信息,告诉DHCP客户
端可以使用该IP地址,然后DHCP客户端便将其TCP/IP与网卡绑定。另外,出DHCP客户端选中的服务
器外,其他的DHCP服务器都将收回曾提供的IP地址。
DNS解析原理
DNS的工作过程
1.用户主机上运行着DNS的客户端,就是我们的PC机或者手机客户端运行着DNS客户端
2.浏览器将接收到的URL中抽取出域名字段,就是访问的主机名,比如http://www.baidu.com/,将这个主
机名传送给DNS应用的客户端
3.DNS客户端向DNS服务器发送一份查询报文,报文中包含着要访问的主机名字段(中间包括一些列缓
存查询以及分布式DNS集群的工作)
4.该DNS客户机最终会收到一份回答报文,其中包含该主机名对应的IP地址
5.一旦该浏览器收到来自DNS的IP地址,就可以向该IP地址定位的HTTP服务器发起TCP连接
DNS的解析过程
1.主机向本地域名服务器的查询一般都是采用递归查询。所谓递归查询就是:如果主机所询问的本地域
名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务
器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询
返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。
2.本地域名服务器向根域名服务器的查询为迭代查询。迭代查询的特点:当根域名服务器收到本地域名
服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应向
哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶
级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服
务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应
当向哪一个权限域名服务器进行查询。最后知道了所要解析的IP地址或报错,然后把这个结果返回给发
起查询的主机。
NFS的作用
网络文件系统是应用层的一种应用服务,它主要应用于linux和linux系统、linux和unix系统之间的文件或
目录的共享。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统
中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。
由于NFS支持的功能比较多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些
端口来传输数据,因此NFS的功能所对应的端口并不固定,客户端需要知道服务器端的相关端口才能够
连接。此时就需要RPC(Remote Procedure Call,远程过程调用)的服务。由于当服务器在启动NFS时
会随机选取数个端口号,并主动向RPC注册,所以RPC知道每个NFS功能所对应的端口号,RPC将端口
号通知给客户端,让客户端可以连接到正确的端口上去。RPC采用固定端口号port 111来监听客户端的需
求并向客户端响应正确的端口号。
FTP两种模式
1.主动模式
主动模式下,FTP客户端从任意的非特殊的端口(N > 1023)连入到FTP服务器的命令端口–21端口。然
后客户端在N+1(N+1 >= 1024)端口监听,并且通过N+1(N+1 >= 1024)端口发送命令给FTP服务
器。服务器会反过来连接用户本地指定的数据端口,比如20端口。
在第1步中,客户端的命令端口与FTP服务器的命令端口建立连接,并发送命令“PORT 1027”。然后在第
2步中,FTP服务器给客户端的命令端口返回一个"ACK"。在第3步中,FTP服务器发起一个从它自己的数
据端口(20)到客户端先前指定的数据端口(1027)的连接,最后客户端在第4步中给服务器端返回一
个"ACK"。
2.被动模式
为了解决服务器发起到客户的连接问题(可能被客户防火墙拒绝),在被动方式FTP中,命令连接和数
据连接都由客户端,当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N >; 1024和
N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许
服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口
(P >; 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接
用来传送数据。
在第1步中,客户端的命令端口与服务器的命令端口建立连接,并发送命令“PASV”。然后在第2步中,服
务器返回命令"PORT 2024",告诉客户端(服务器)用哪个端口侦听数据连接。在第3步中,客户端初始
化一个从自己的数据端口到服务器端指定的数据端口的数据连接。最后服务器在第4 步中给客户端的数
据端口返回一个"ACK"响应。
优缺点:
主动模式对ftp对服务器管理有利,是由FTP服务器主动与客户端的高位随机端口建立连接,而这个端口
很有可能被客户端的防火墙阻塞。而被动模式对客户端管理有效,它是企图与服务端的随机端口建立连
接但是这个端口很可能又会被服务端的防火墙所拒绝。
PXE+Kickstart安装系统原理
(1)PXE Client向DHCP发送请求
PXE Client从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP协议发送一个广播请求,
向本网络中的DHCP服务器索取IP。
(2)DHCP服务器提供信息
DHCP服务器收到客户端的请求,验证是否是合法的PXE Client的请求,验证通过它将给客户端一个提供
相应,这个提供相应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在
位置。
(3)PXE客户端请求下载启动文件
客户端收到服务器的回应后,会回应一个帧,以请求传送启动所需文件。这些文件包括:pxelinux.0、
pxelinux.cfg/default、initrd.img等文件。
(4)Boot Server响应客户端请求并传送文件
当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答,用以决定
启动参数。BootROM由TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、
pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Liunx安装程序的
引导内核。
(5)请求下载自动应答文件
客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么介
质来安装linux。如果通过网络安装(NFS.FTP.HTTP),则会在这个时候初始化网络,并定位安装源位置。
接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
(6)安装操作系统
将ks.cfg文件下载回来后,通过该文件找到OS Server,并安装该文件的配置请求下载安装过程需要的软
件包。OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,
将提示重新引导计算机。通过什么介质来安装linux。如果通过网络安装(NFS.FTP.HTTP),则会在这个时
候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据
该位置请求下载该文件。
(6)安装操作系统
将ks.cfg文件下载回来后,通过该文件找到OS Server,并安装该文件的配置请求下载安装过程需要的软
件包。OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,
将提示重新引导计算机。