一、 系统启动过程
1.加电自检:简单来说就是 检测一下硬件设备是否存在并能正常工作
2.选择启动程序,加载MBR(Master Boot Record的缩写,中文意为主引导记录)
3.加载系统内核Kernel,执行系统初始化信息
4.启动用户空间第一个执行程序init(版本6是INIT,版本7是systemd)
5.用户登陆
二、 web工作原理
1、用户在浏览器中输入要访问的web站点或者点击超链接。
2、由DNS进行域名解析,找到服务器的IP地址,向该地址指向的web服务器发出请求。
3、web服务器根据请求将URL地址转换为页面所在的服务器上的文件全名,查找相应的文件。
4、若URL指向静态文件,则服务器将文件通过http协议传输给用户浏览器;若HTML文档中嵌入了ASP,PHP,JSP等程序,则由服务器直接运行后返回给用户;
如果web服务器所运行程序包含对数据库的访问,服务器会将查询指令发送给数据库服务器,对数据库执行查询操作,查询结果由数据库返回给web服务器,再由web服务器将结果潜入页面,并以html格式发送给浏览器。
5、浏览器解释html文档,在客户端屏幕上展示结果。
状态码:(三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。)
1xx:指示信息 —— 表示请求已接收,继续处理。
2xx:成功 —— 表示请求已被成功接收、理解、接受。
3xx:重定向 —— 要完成请求必须进行更进一步的操作。
4xx:客户端错误 —— 请求有语法错误或请求无法实现。
5xx:服务器端错误 —— 服务器未能实现合法的请求。
常见状态码:
200 OK:客户端请求成功。
400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
401 Unauthorized:请求未经授权,这个状态代码必须和
WWW-Authenticate 报头域一起使用。
403 Forbidden:服务器收到请求,但是拒绝提供服务。
404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
500 Internal Server Error:服务器发生不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
三、 dhcp工作原理
1)客户机请求IP地址–DHCP客户机在网络广播中一个DHCP Discover,DHCP Discover包的源地址为0.0.0.0。目的地址为255.255.255.255,改包包含客户机的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服务器分配给客户端的IP地址有一定的租借期限(默认8天),当租借期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP地址租约。
在DHCP客户端的IP地址租约期限达到一半时间(50%)时,DHCP客户端会向为它分配IP地址的DHCP服务器单播发送DHCP request报文,以进行IP租约的更新。如果客户端可以继续使用此IP地址,则DHCP服务器回应DHCP ack报文,通知DHCP客户端已经获得新IP租约;如果此IP地址不可以再分配给该客户端,则DHCP服务器回应DHCP nack报文,通知DHCP客户端不能获得新的租约。(比如这个IP被从作用域中移除,那么DHCP服务器会返回给客户端一个DHCP nack的数据包。
四、 dns解析原理
1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。
6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。
五、 nfs的作用
网络文件系统,英文Network File System(NFS),它能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
NFS是C/S模式,首先要有一台服务端跑NFS服务,然后各个客户端直接挂载共享目录使用。NFS服务本身不会监听端口,服务端和客户端通信是通过RPC协议来完成的。
RPC(Remote Procedure Call) 远程过程调用协议,一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。它是一项广泛用于支持分布式应用程序(不同组件分布在不 同计算机上的应用程序)的技术。
nfs的通信过程:
1、首先用户访问网站程序,由程序在NFS客户端上发出NFS文件存取功能的询问请求,这时NFS客户端(即执行程序的服务器)RPC服务(portmap 或rpcbind服务)就会通过网络向NFS服务端的RPC服务(即portmap或rpcbind服务)的111端口发出NFS文件存取功能的询问请求。
2、NFS服务端的RPC服务(即portmap或rpcbind服务)找到对应的已注册的NFSdaemon端口后,通知NFS客户端的RPC服务(即portmap或rpcbind服务)。
3、此时NFS客户端就可获取到正确的端口,然后就直接与NFS daemon联机存取数据了。
4、NFS客户端把数据存取成功后,返回给前端程序,告诉用户存取结果,作为网站用户,我们就完成了一次存取操作。
由于NFS的各项功能都需要向RPC服务(即portmap或rpcbind)注册,所以RPC服务(即portmap或rpcbind服务)才能获取到NFS服务的各项对应的端口号(portnumber)、PID、NFS在主机所监听的IP等,而NFS客户端才能够通过向RPC服务(即portmap或rpcbind服务)询问从而找到正确的端口。