HTTP、DHCP、NFS、FTP简述

 

一、web工作原理

1、http

       客户端向服务端发送请求报文,每个http请求报文中都包含一种方法,也就是请求的动作,其中包含获取web页面、提交内容到服务器、删除服务器上的资源文件等。服务端收到后根据请求报文来做出反应法并返回响应报文,在响应报文中包含有状态代码,具体的状态代码如下:

1xx:指示信息—表示请求已接收,继续处理。

2xx:成功—表示请求已经被成功接收、理解、接受。

3xx:重定向—要完成请求必须进行进一步的操作。

4xx:客户端错误—请求有语法错误或请求无法实现。

5xx:服务器错误—服务器未能实现合法的请求

2、https

---在了解https工作过程前需要知道非对称加密的特点:

1、通过A的公钥加密的信息只能通过A的私钥解密。

2、只要有A的公钥就能确定收到的信息是否是被A的私钥加密过的。

 

       首先客户端向服务端发出访问请求,服务端收到后向客户端发送服务器证书。客户端收到证书后通过公钥验证证书的真实性,验证通过后,客户端会生成一个随机秘钥,并使用服务端的公钥加密后发送给服务端,这个客户端和服务端接下来的通信都使用这个随机秘钥进行对称加密。

二、DHCP的工作原理

IP地址作为网络上计算机或设备的标识是必不可少的,而IP地址的分配有静态分配和动态分配两种形式,静态分配即手工分配,而动态分配是DHCP服务器自动的为计算机分配IP地址,除过IP地址,DHCP服务器还可以分配福子网掩码、默认网关和DNS服务器。

当设备的IP分配方式改为DHCP时,DHCP会向设备自动发放IP地址。DHCP工作过程如下:

1、客户端的IP地址分配方式设置为自动获取后,初始情况下会发送一个Discover包,这个数据包是广播包,用于向DHCP服务器请求IP地址。在这个数据包中,源IP为0.0.0.0,目标IP为255.255.255.255;源MAC为客户端自己的MAC,目的MAC为全F。

2、服务器收到客户端的请求后会分配给它一个IP地址,并以这个IP地址为目的地址发送一个数据包(offer)。在这个数据包之中,源IP为DHCP服务端IP,目的IP为服务器给这个设备分配的IP,源MAC为DHCP服务器的MAC,目的MAC为这个客户端的MAC。

3、客户端收到offer包后,知道了服务端给自己分配的IP地址,但是IP地址并不能立即使用。这时客户端应该向服务端发送一个用于确认的数据包(Request),在这个数据包之中,源IP为0.0.0.0,目的IP为DHCP服务器的IP,源MAC为这个客户端的MAC,目的MAC为DHCP服务器的MAC。

4、服务器收到offer包并确认无误后,向客户端发送一个用于确认IP地址可用的数据包(ACK),当客户端收到这个数据包后就可以将这个IP地址作为本地的IP地址了。在这个数据包之中,源IP为DHCP服务器IP,目的IP为服务器给这个设备分配的IP,源MAC为DHCP服务器的MAC,目的MAC为这个客户端的MAC。

四、DNS解析原理

       在访问网站的时候,我们在浏览器中输入的是网站的域名,而计算机直接通过域名是无法访问到对应的网站的,这时计算机会拿着域名找到DNS服务器,DNS将域名解析成IP地址后,计算机才能通过IP地址访问到对应的网站。

DNS域名解析的过程如下:

1、当计算机需要域名解析时,会向本地的域名服务器进行查询(DNS服务使用的是UDP协议,端口号53)。

2、域名服务器会在自己的数据库中查找对应的数据,如果查找成功,则告诉计算机对应的IP地址。

3、如果本地域名服务器没有查询到,则会向上一级域名服务器进行查找,以此类推,查询成功后返回数据。

三、nfs的作用

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

       PC主机可以将nfs服务器上共享的设备挂载在自己的文件系统中,使用起来和自己本地磁盘一样。可以节省本地磁盘空间,但是nfs没有用户认证机制且数据是以明文的形式传输,安全性较低。

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

       FTP(File Transfer Protocol)文件传输协议,可以把文件从远程的计算机上拷贝到自己的计算机中,或者把本地计算机的文件发送到远程的计算机中。ftp使用的TCP协议,无论是主动模式还是被动模式首先都会进行三次握手。

1、主动模式(port)

       客户端使用端口N连接FTP服务器的21端口(控制端口),控制连接建立成功后,告诉服务器自己开启了N+1端口等待服务器连接。服务器使用20端口(数据端口)主动连接客户端的N+1端口,数据连接建立成功。

2、被动模式

       客户端使用端口N主动连接FTP服务器的21端口,并告诉服务器使用被动模式,控制连接建立成功后,服务器开启一个数据端口P,通过PORT命令将端口P告诉客户端,客户端收到后主动的用自己的N+1端口去连接服务器的端口P,数据连接建立成功、

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值