Linux基本服务的工作原理(Web、DHCP、DNS、NFS、FTP)

1、 web工作原理

(1)用户做出了一个操作,可以是填写网址敲回车,可以是点击链接,可以是点击按键等,接着浏览器获取了该事件。
(2) 浏览器与对端服务程序建立TCP连接。
(3) 浏览器将用户的事件按照HTTP协议格式**打包成一个数据包,其实质就是在待发送缓冲区中的一段有着HTTP协议格式的字节流。
(4) 浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序。
(5) 服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图。
(6) 得知客户端意图后,进行分类处理,或是提供某种文件、或是处理数据。
(7) 将结果装入缓冲区,或是HTML文件、或是一张图片等。
(8) 按照HTTP协议格式将(7)中的数据打包
(9) 服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端。
(10) 浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件。
(11) 浏览器将HTML文件展示在页面

2、 dhcp工作原理
  1. IP地址租用申请:DHCP客户机的TCP/IP首次启动时,就要执行DHCP客户程序,以进行TCP/IP
    的设置。由于此时客户机的TCP/IP还没有设置完毕,就只能使用广播的方式发送DHCP请求信息包,广播包使用
    UDP端口67和68进行发送,广播信息中包括了客户机的网络界面的硬件地址和计算机名字,以提供DHCP服务器进行分配。
  2. IP地址租用提供:当接收到DHCP客户机的广播信息之后,所有的DHCP服务器均为这个客户机分配一个合适的IP地址,将这些IP地址、网络掩码、租用时间等信息,按照DHCP客户提供的硬件地址发送回DHCP客户机。这个过程中对DHCP服务器没有对客户计算机进行限制,因此客户机能收到多个IP地址提供信息。
  3. IP地址租用选择:由于客户机接收到多个服务器发送的多个IP地址提供信息,客户机将选择一个IP地址,拒绝其他提供的IP地址,以便这些地址能分配给其他客户。客户机将向它选择的服务器发送选择租用信息。
  4. IP地址租用确认:服务器将收到客户的选择信息,如果也没有例外发生,将回应一个确认信息,将这个IP地址真正分配给这个客户机。客户机就能使用这个IP地址及相关的TCP/IP数据,来设置自己的TCP/IP堆栈。
3、 dns解析原理
>(1)首先,浏览器会检查浏览器缓存中有没有这个域名所对应的IP 地址,如果有的话,则地址解析结束;如果没有,则会查找操作系统缓存中是否有这个域名对应的IP 地址,如果有,地址解析到这儿也结束;如果没有,则继续进行下一步。 ---------这里需要注意的是:操作系统是可以通过修改本地的hosts 文件来改变DNS 解析过程的! (2)操作系统把你请求的域名发送到本地域名服务器(Local DNS)进行解析,如果命中了,则解析结束;如果没有命中,则本地域名服务器直接向 根域名服务器(Root Sever)发送域名解析请求。 这时,根域名服务器会返回来一个所查询域的通用顶级域名服务器(gTLD)的IP 地址。 (3)本地域名服务器 会再向刚才返回来的 gTLD 服务器发送请求,gTLD 服务器进行查找并且返回一个该域名对应的Name Sever域名服务器的地址。注:该Name Sever 服务器通常是你注册的域名服务器,它会查找域名和IP 的映射表,并且返回对应的IP 地址和生存时间 TTL。 (4)本地域名服务器 得到这个域名对应的IP 地址后,会在本地缓存这个域名和IP 的映射关系,缓存时间由TTL 决定; 并同时把解析结果返回给用户端。用户主机也会在本地缓存这个映射表,便于后续使用。
4、 nfs的作用

网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
作用

(1)网络文件系统是应用层的一种应用服务,它主要应用于Linux和Linux系统、Linux和Unix系统之间的文件或目录的共享。
(2)对于用户而言可以通过 NFS方便的访问远地的文件系统,使之成为本地文件系统的一部分。
(3)采用NFS之后省去了登录的过程,方便了用户访问系统资源。

工作原理:

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

5、 ftp的主动模式和被动模式

主动模式:

主动模式的FTP是指服务器主动连接客户端的数据端口
工作过程

1、 客户端以随机非特殊端口N,就是大于1024的端口,对server端21端口发起连接
2、客户端开始监听 N+1端口;
3、服务端会主动以20端口连接到客户端的N+1端口。

被动模式:

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

1、 客户端以随机非特殊端口连接服务端的21端口
2、服务端开启一个非特权端口为被动端口,并返回给客户端
3、客户端以非特权端口+1的端口主动连接服务端的被动端口


版权声明:本文为weixin_43294413原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。