Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统

1.Linux系统的启动过程

2.WEB工作原理

  • HTTP浏览器与服务器传送数据方法
  • HTTP的状态码

3.DHCP的工作原理

4.DNS解析原理

5.NFS的作用

  • NFS客户端与服务端的通讯过程
  • NFS的优缺点分析

6.FTP的主动模式和被动模式

  • FTP主动模式
  • FTP主动模式优缺点分析
  • FTP被动模式
  • FTP被动模式优缺点分析
  • FTP应用场景总结

7.pxe+kickstart安装系统原理

1.Linux系统的启动过程

  1. 计算机通电,载入ROM芯片的BIOS程序,BIOS程序读取CMOS(电脑主板上可读写的RAM芯片),进行自检和初始化

  2. 读取执行第一个开始设备 MBR(主引导记录,是装有Linux系统的硬盘的第一个扇区) 的boot loader(GRUB2多重操作系统启动管理器,用来引导不同的系统)

  3. 载入kernel(实时操作系统),kernel会检测硬件和载入驱动程序

  4. (呼叫systemd程序)当硬件驱动成功后,kernel会主动呼叫systemd程序,以default.target流程开机

  5. (初始化,准备作业系统)systemd 执行sysinit.target初始化系统及basic.target准备作业系统

    • (启动本机服务)systemd 启动multi-user.target下本机服务
    • (执行文件)systemd 执行multi-user.target下的/etc/rc.d/rc.local文件
    • (登入服务)systemd 执行multi-user.target下的getty.target以及登入服务
    • (执行服务)systemd执行graphical需要的服务

2.WEB工作原理

前提

web服务器 客户端 浏览器
http服务、DNS服务等
LAMP架构(Linux+Apache+Mysql+PHP)

  • Linux 操作系统支持
  • Apache主要提供www服务器平台
  • Mysql主要提供数据查询,文件读取
  • PHP主要用来建立动态网页

WEB服务器,最根本的工作就三个
接收数据->数据处理->发送(返回)数据

  1. 用户发出请求,输入网址,点击链接
  2. 浏览器接收,与服务端进行TCP三次握手,建立连接
  3. 浏览器与服务器建立连接后,将请求封装为HTTP协议格式,发送给服务器
  4. 服务器确认收到,送入到服务端程序中
  5. 服务端解开HTTP的封装,解析客户端的意图
  6. 对于数据进行执行处理,提供某种文件,或者处理数据
  7. 返回结果,HTML文件、或者图片等
  8. 以HTTP 协议封装打包
  9. 发送回客户端
  10. 浏览器接收到 ,以HTTP协议格式解包,解析数据
  11. 如果是HTML文件,将展示到浏览器页面

HTTP浏览器与服务器传送数据方法

HTTP状态码组合

状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

  • 1xx指示信息 —— 表示请求已接收,继续处理。
  • 2xx成功 —— 表示请求已被成功接收、理解、接受。
  • 3xx重定向 —— 要完成请求必须进行更进一步的操作。
  • 4xx客户端错误 —— 请求有语法错误或请求无法实现。
  • 5xx服务器端错误 —— 服务器未能实现合法的请求。

3. DHCP工作原理

DHCP是一种C/S架构,主要用户互联网主机动态获取IP地址的协议
DHCP有3种工作方式:

  • 自动分配方式,DHCP为PC指定一个永久性的IP地址,一旦PC与DHCP服务器租到该IP,可永久使用
  • 动态分配方式目前用的最多的一种方式, DHCP服务器给PC时间限制的IP地址,时间到期后自动续租,或者放弃
  • 手工分配方式,客户端IP地址由网络管理员自己指定,DHCP服务器只是将指定IP地址告诉主机

工作原理

  • DHCP Discover报文(客户端发出):用户服务器的发现
  • DHCP Offer报文(服务器发出):用于响应客户端的Discover报文,提供可分配IP地址范围
  • DHCP Request报文(客户端发出):用于请求租用IP地址
  • DHCP Ack报文(服务端发出):用于响应客户端的Request报文,为客户端分配IP地址
  • DHCP Decline报文(客户端发出):当租用IP地址不可用时,用于请求服务器禁用该IP地址
  • DHCP Release报文(客户端发出):用于客户端释放IP地址
  1. 客户端以广播形式向DHCP服务器发送DHCP Discover报文

  2. 所有服务端都能接收到客户端的Discover报文,且都会做出响应,向DHCP 客户端,回复Offer报文

    • Offer报文中,有字段记录,DHCP 服务端可以给客户端提供的IP地址
    • Offer报文中,会有服务端本地IP地址,用于使客户端区分不同的服务器
    • 服务端发出Offer报文后会,记录已分配IP地址
  3. 客户端接收到服务端的Offer报文,一般原则为处理最先收到的DHCP Offer报文

  4. DHCP 客户端广播发出,DHCP Request报文,在选项字段中,加入选中的DHCP server的IP地址和需要的IP地址

  5. 服务端收到DHCP Request后,判断选项字段中服务器IP地址是否为自己

    • 不相同不做任何处理,清除相应的分配记录,
    • 相同,回复DHCP ACK报文,在选项字段中增加IP地址的使用租期时间
  6. DHCP客户端收到ACK后,检查该分配I的P地址是否能使用

    • 可以使用,DHCP客户端成功获取IP地址,并根据租期时间自动启动续延过程
    • 发现分配的IP已经被使用,向服务端发出DHCP Decline报文,通知服务器禁用这个IP地址,然后重新开始申请IP地址
  7. DHCP 客户端成功获取IP后,随时可通过DHCP Release报文,来释放自己所获取的IP地址

  8. 租期时间

    • >50%时,客户端以单播方式向服务器发送DHCP Request报文来续租IP地址,如果DHCP 客户端成功收到DHCP 服务器发送的DHCP ACK报文,则延长响应租期时间,没有收到继续使用
    • >87.5%时,客户端以广播形式向DHCP 服务器发送DHCP Request报文来续租IP地址,如果DHCP 客户端成功收到DHCP 服务端发送的DHCP ACK报文,则延长响应的时间,若没有收到DHCP发送的ACK,客户端继续使用该IP地址,直到IP地址使用租期到期时,才会向DHCP 服务器发送DHCP Release报文,释放IP地址,开始新的IP地址申请过程

4.DNS解析原理

DNS解析主要分为两段,一段递归,一段迭代
递归查询: 在客户端与本地服务器之间查询的方式,为递归查询
迭代查询: 是服务器与服务器之间查询的方式,为迭代查询

  1. 本地要访问www.qq.com这个网站,西安去查询本地的HOST文件,如HOST文件中有该记录,则通过DNS解析器返回浏览器,若本地HOST文件不存在该记录时,将去查询本地DNS服务器
  2. 本地DNS服务器分不同的区域服务进行查询,若查询到,则返回,没有查询到,则查询DNS服务器的缓存记录
  3. 本地DNS服务器的缓存有没查到时,则会向更高级别的服务器进行查询
  4. 本地DNS服务器,先向根服务器发送请求,根服务器知道.com域在哪,将该信息返回
  5. 本地DNS服务器去查询.com顶级域名服务器.com顶级域名服务器,知道qq.com域服务器,则返回该记录
  6. 本地DNS服务器向qq.com域名服务器发送请求,qq.com服务器返回记录信息
  7. 本地DNS服务器在向ISP运营商服务器发送请求,请求DNS转发
  8. 最终的到解析的结果对应一个IP地址

5.NFS的作用

NFS(Network File System)网络文件系统的缩写,最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来查看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当的便利


有权限的客户端可以将NFS服务器中的共享目录,挂载到本地的目录中,这样客户端就可以查看共享目录中的数据,当然也会受权限限制

NFS客户端与服务端的通讯过程

RPC主要用来管理NFS通信端口

NFS通信需要依靠 RPC(Remote Procedure Call) 远程过程调用的帮助,RPC主要是指每个NFS功能所对应的的Port number,并且回报给客户端,让客户端可以连接到正确的port上去

注册端口->达成协议->直接建立联系->达成协议->建立连接

  1. 服务器端启动RPC服务,开启111端口
  2. 服务端启动NFS服务,并向RPC注册端口信息
  3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
  4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端
  5. 客户端通过获取的NFS端口来建立和服务器的NFS连接并进行数据的传输

NFS的优缺点分析

1. 优点

  • 节省本地存储空间,将常用的数据存放在一台服务器可以通过网络访问
  • 简单容易上手
  • 方便部署非常快速,维护十分简单
    2. 缺点
  • 局限性容易发生单点故障,及server机宕机了所有客户端都不能访问
  • 高并发下NFS效率/性能有限
  • 客户端没有用户认证机制,且数据是通过明文传送,安全性一般(一般建议在局域网内使用)
  • NFS的数据是明文的,对数据完整性不做验证
  • 多台机器挂载NFS服务器时,连接管理维护麻烦

6.FTP的主动和被动模式

FTP 文件传输协议,应用层文件共享服务,应用于C/S架构

端口:TCP 21(命令端口),TCP 20(数据端口)

模式:主动模式和被动模式

FTP的主动模式

  1. FTP客户端从任意非特殊端口(N > 1023)连入到FTP服务器的命令端口21
  2. FTP客户端在N+1端口监听,并且通过N+1端口发送PORT指令给FTP服务器
  3. 服务器会主动以20端口连接客户端的N+1端口

命令端口连接完毕之后:
当客户端发出数据传输的指令之后(如上传数据/下载文件),客户端会启用另外一个(N+1)端口监听等待和连接,并利用先前建立的命令连接通道告诉FTP服务器其监听的端口号,然后FTP服务器会利用端口20和刚才的FTP客户端所告知的端口再次进行三次握手,三次握手成功后,建立一条数据传输通道,在这个过程中,服务器的20端口主动连接客户端的N+1端口,所以叫主动模式

FTP主动模式优缺点分析

1. 优点
服务端配置简单,利于服务器安全管理,服务器只需要开放21端口

2. 缺点
如果客户端开启了防火墙,或者客户端处于内网(NAT网关之后),那么服务器对客户端端口发起的连接可能会失败

FTP的被动模式


被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口

  1. 客户端以随机的非特权端口(N>1024)连接服务端的21端口,客户端提交PASV命令
  2. 服务端开启一个非特权端口(N>1024)作为被动端口,并返回给客户端
  3. 客户端以非特权端口(N+1)的端口主动连接服务器的被动端口

被动模式是指服务器被动地等待客户端连接自己的数据端口
在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORTP命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

FTP被动模式优缺点分析

1. 优点
服务器配置管理复杂,不利于安全,服务器需要开放随机的高端口以便客户端可以连接,因此大多数的FTP服务软件都可以手动配置被动端口的范围
2. 缺点
对于客户端网络环境没有要求,便于客户端进行管理

FTP应用场景总结

1. 主动模式
由于主动模式需要,服务器端的20端口来主动连接,客户端的数据端口,那么此时就无法穿越NAT,以及边界防火墙设备,主动模式可以应用在内网之中,不用过NAT,就可以正常通信,以及数据传输

2. 被动模式
但是如果企业员工需要在家,或者在外出差时,要访问公司的FTP服务器,那么此时需要通过公网来进行通信,主动模式肯定行不通,虽然能建立命令端口的连接,但是无法下载,上传数据,那么此时就只能使用被动模式来解决这个问题

FTP服务器默认的为主动模式,在内网之中可以不对其做修改,但是如果用户需要通过外网来访问内网的FTP服务器,那么此时需要修改默认操作方式

大部分FTP客户端默认使用被动模式,IE默认使用PORT主动模式,在大部分FTP客户端眼里,常见的到字眼就是"PASV"或者“被动模式”,极少数"PORT"和“被动模式”

7. PXE+KICKSTART安装系统原理

PXE(preboot execute environment,预启动执行环境) 是由Intel公司开发的最新技术,工作于C/S模式,支持工作站从网络远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP或者MTFTP协议下载一个启动软件包到本地内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的中断操作系统,PXE可以引导多种操作系统


pxe在执行过程中需要DHCP服务器,TFTP服务器的支持

  1. PXE 客户端从自己的PXE网卡启动,向本网络中的DHCP服务器索要IP地址
  2. DHCP服务器返回IP地址,以及PXE文件的放置位置(一般在一台TFTP服务器上)
  3. PXE客户端向本网络中的TFTP服务器索要pxelinux.0文件
  4. PXE客户端取得pxelinux.0文件后执行该文件
  5. 根据pxelinux.0的执行结果,通过TFTP服务器加载内核和文件系统
  6. 进入安装画面,此时可以通过选择HTTP、FTP、NFS方式之一进行安装

pxe+Kickstart

Kickstart是一种无人值守的安装方式,工作原理是安装过程中记录典型的需要人工干预的各种参数,生成一个文件ks.cfg如果在安装过程中在ks.cfg中如果找到所需要的参数,就采用找到的参数,没有找到则需要手工干预, 所以ks.cfg如果包含了安装过程中的所有参数,那么只需要告诉安装程序ks.cfg文件位置,就会自动安装,安装完成后,安装程序会根据ks.cfg中的设置,重启系统,结束安装

Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统相关推荐

  1. ftp文件传输协议的匿名用户、系统用户的实现详解过程

    一.ftp含义 FTP(File Transfer Protocol)文件传输协议,主要目的使得主机之间可以共享文件.监听在tcp的21端口,是一个文件共享服务,主要工作在应用层:FTP使用tcp生成 ...

  2. 【Linux】PXE+Kickstart无人值守安装系统

    文章目录 前言 一.简介 二.配置DHCP 三.TFTP 四.SYSLinux服务程序 五.vsftpd服务 六.Kickstart应答文件 七.自动安装系统 八.总结 前言 本文来记录下PXE+Ki ...

  3. FTP文件传输协议(实现windows与linux文件互传)

    FTP文件传输协议(实现windows与linux文件互传) 目录 FTP文件传输协议(实现windows与linux文件互传) 一.FTP概述 二.FTP通信端口 三.FTP数据连接 四.FTP连接 ...

  4. FTP文件传输协议与部署,包括Linux系统、Windows系统和H3C路由交换设备部署

    1.FTP 1.1 定义 文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用 ...

  5. linux cpu不足处理运维,Linux运维知识之Linux服务器CPU占用率较高问题排查思路

    本文主要向大家介绍了Linux运维知识之Linux服务器CPU占用率较高问题排查思路,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 注意:本文相关配置及说明已在 CentOS  ...

  6. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...

    原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...

  7. linux环境 前端开发环境搭建,Linux运维知识之linux 前端环境搭建

    本文主要向大家介绍了Linux运维知识之linux 前端环境搭建,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 1.下载node.js 2.在linux 里使用wget命令 w ...

  8. linux awk命令根据分隔符输出,Linux运维知识之Linux awk命令详解

    本文主要向大家介绍了Linux运维知识之Linux awk命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. awk :适用程序,一种unix工具 就是一个强大的文本分析工 ...

  9. linux modprobe自动加载,Linux运维知识之Linux modprobe自动处理可载入模块命令详解

    本文主要向大家介绍了Linux运维知识之Linux modprobe自动处理可载入模块命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. modprobe(module p ...

最新文章

  1. 活动 | 人工智能产学研生态建设研讨会报名开启
  2. 由 粗 到 精 学 习 LVI-SAM: imageProjection模块
  3. Python垂直翻转图像(Vertically Flip Image)
  4. Spring Boot下的Redis缓存实战
  5. Cron 表达式详解
  6. 你必须掌握足够的知识来明确如何拥有自己的观点。同时,也要培养把自己的观点付诸现实的能力。...
  7. opencv第三方库JAVA接口,SpringBoot使用OpenCV示例总结
  8. cmd mysql log_如何使用mysqlbinlog工具?
  9. 少年开始学习c#编程,过路的大神请担待!
  10. vmci.sys版本不正确_王者荣耀:当前版本辅助的正确玩法思路,别再被骂,也别再梦游了...
  11. JavaScript重难点解析5(对象高级、浏览器内核与事件循环模型(js异步机制))
  12. 微信小程序UI------实现携程首页顶部的界面(弹性布局)
  13. 百度谷歌2013年母亲节 赏析中文搜索引擎庆祝涂鸦
  14. 十年软件开发经验小结
  15. Maven搭建SSM框架测试HTTP 接口
  16. AutoCAD2006安装破解图文教程
  17. 面向对象的程序设计-地铁路线计算程序的设计、优化与测试
  18. simulink解微分方程
  19. 在DialogFragment的onStop(完全不可见)时调用dismiss退出界面报错解决办法
  20. 设计一个Dog类,包含名字,年龄,颜色三个属性

热门文章

  1. Matlab和excel联合,安装Excel link插件,实现Excel与Matlab的互联
  2. 球半足球比分,瑞典超:哈马比 VS 哥德堡 7月12日
  3. ANSYS拓扑优化基础实例
  4. swing绘制的直升机
  5. css a标签 三角形,带有百分比宽度的自适应CSS三角形
  6. 联想服务器怎样更改从硬盘启动项,联想电脑硬盘模式怎么更改
  7. 架构师成长需要具备的三种能力
  8. 食品行业5大核心业务电子合同方案:降低费用,业务提速80%
  9. 一个在**工作十年员工的感悟
  10. 推荐一部关于母亲的西语电影