1.OSI(Open System Interconnection)七层网络分层模型
应用层:为计算机用户的应用程序提供服务,包括文件传输、访问和管理、电子邮件等服务。
表示层:为数据进行加密和解密,以及提供数据压缩和解压功能来提高数据的传输效率。
会话层:管理主机间的会话进程,包括建立、管理以及终止进程间的会话,提供端到端的服务。
传输层:为两台主机进程间的通信提供数据传输服务,例如定义传输数据的协议端口号、以及流量控制和差错校验等。
网络层:将传输层的报文封装分组,选择合适的路由和逻辑地址寻址,实现不同网络之间的路径选择,确保数据按时成功传输。
数据链路层:将网络层传输下来的数据组装成帧,提供物理地址寻址、帧的误差修正和控制信息,确保网络层和物理层之间的通信。
物理层:实现计算机节点之间比特流的透明传输,确定与传输媒体接口的一些特性,例如机械特性、电气特性等。
2.TCP/IP四层模型
(1)应用层:提供应用程序之间的网络接口。应用层常见的协议有
HTTP超文本传输协议。用于传输超文本和多媒体内容的协议
SMTP邮件发送协议。用于发送电子邮件的协议
POP3/IMAP邮件接受协议。负责邮件接收的协议
FTP文件传输协议。计算机之间传输文件的协议,
SSH安全网络传输协议。通过加密和认证机制实现安全的访问和文件传输等业务
(2)传输层:为两台终端设备之间的进程通信提供端到端的连接。传输层常见的协议有
TCP(传输控制协议)。TCP提供面向连接、安全可靠的数据传输服务,
UDP(用户数据协议)。面向的是无连接的,尽最大努力的数据传输服务,不保证数据的可靠性。
(3)网络层:进行寻址和路由选择,为网络上的不同主机提供通信。网络层常见的协议有
IP网络协议。定义数据包的格式、对数据包进行路由和寻址,以便它们可以跨网络传播并到达正确的目的地
ARP地址解析协议。负责将网络层的IP地址转化为链路层的MAC地址。
NAT网络地址转化协议。用于内部局域网到外部广域网的地址转换。
ICMP互联网控制报文协议。用于传输网络状态和错误消息的协议。
RIP协议。动态路由协议,基于距离向量算法,选择跳数最少的路径作为最佳路径。
(4)网络接口层:将网络层的IP数据组装成帧,并在相邻计算机节点上传送这些帧。包括MAC协议和以太网协议技术。
3.从输入URL到页面展示之间经历的过程
输入URL之后,浏览器首先通过DNS解析将域名解析为IP地址,然后浏览器通过查找这个IP地址并与对应的web服务器之间建立TCP连接,建立好连接之后,浏览器向Web服务器发送HTTP请求,服务器收到请求后处理请求,并返回HTTP报文,浏览器解析这个HTTP报文然后进行解析和渲染页面,最终页面被呈现出来,整个连接结束。
4.HTTP和HTTPS的区别
端口号不同。HTTP的端口号为80,HTTPS默认的端口号为443
URL前缀不同。HTTP 的 URL 前缀是 http://
,HTTPS 的 URL 前缀是 https://
。
安全性和资源消耗。HTTP协议运行在TCP协议之上,传输的内容是明文,而HTTPS协议运行在SSL/TLS上,传输的内容都是经过加密,安全性上HTTPS的安全性高于HTTP,但是HTTPS会比HTTP消耗更多的资源。
5.HTTP1.0和1.1之间的区别
HTTP1.0为短连接,也就是客户端和服务器每进行一次 HTTP 操作,就建立一次连接,任务结束就中断连接,这样会导致有大量的报文占用带宽。HTTP1.1支持长连接的方式,也就是说当一个网页打开完成后,客户端和服务器之间的TCP 连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。
HTTP1.1相比HTTP1.0增加了更多的状态码。
HTTP1.1相比HTTP1.0对缓存机制做了优化,引入了更多的缓存控制策略来控制缓存。
6.URI和URL的区别
URI,统一资源标志符,可唯一标识一个资源。
URL,统一资源定位符,不仅能唯一标识一个资源,而且还提供该资源的路径,是具体的URI。
也就是说URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL 是一种具体的 URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。
7.Cookie 和Session的区别
Cookie 和Session都是用来跟踪浏览器用户身份信息。Cookie数据保存在客户端,Session的数据保存在服务端,Session比Cookie更加安全。
8.PING命令的作用是什么?它的工作原理
Ping命令是一种常用的网络诊断工具,测试网络主机之间的连通性和网络延迟。Ping基于网络层的ICMP,通过向目标主机发送ICMP请求,如果两个主机的连通性正常,则目标会返回一个对应的ICMP响应。
8.DNS的作用是什么?它的解析过程
DNS是域名管理系统,负责域名和IP地址之间的映射。
主机向本地DNS服务器发送一个请求,本地DNS服务器检查本机缓存,若发现有记录则直接返回IP地址,否则向根服务器发送请求,根服务器收到请求后,返回顶级域名服务器的IP地址,本地DNS找到顶级域名服务器后,顶级域名服务器又返回一个权威域名服务器的地址,然后本地DNS又找到权威域名服务器,以此类推,最终权威域名服务器返回对应的IP地址。
9.TCP和UDP的区别
是否面向连接:TCP提供面向连接的服务,在传输数据之前必须先建立连接,数据传送完毕后释放连接。而UDP在传送数据之前不需要建立连接。
是否是可靠的传输:远程主机在收到UDP报文后,不需要给出任何的确认,但是也无法保证数据不丢失和数据是否顺序可达。而TCP是提供可靠的传输服务,通过三次握手来建立连接,通过TCP传输的数据无差错,不丢失,可保证顺序可达。
是否有状态,TCP是有状态服务,会记录一些消息发送的状态等,而UDP是无状态服务,只负责发送,不负责后续的事情。
传输效率,TCP的传输效率较慢,UDP的传输效率较快。
当需要看视频,听语音、看直播等,可使用UDP传输,当发送文件、邮件等信息时可以使用TCP传输。
10.TCP的三次握手和四次挥手
第一次握手:客户端向服务端发送SYN(请求建立连接)数据包,然后客户端进入等待连接的状态,等待服务器的确认。
第二次握手:服务端收到消息后,发送带有SYN和ACK(确认接受)标志的数据包,告诉客户端已经收到消息。
第三次握手:客户端给服务端发送带有ACK标志的数据包。再次确认建立连接。最终客户端和服务端进入连接状态。
第一次挥手:客户端向服务端发送FIN(请求关闭连接)标志的数据包,客户端进入等待关闭状态。
第二次挥手:服务端收到消息后,发送一个ACK标志的数据包进行关闭连接的确认。
第三次挥手:服务端发送一个FIN标志的数据包给客户端,然后进入最后的确认状态。
第四次挥手:客户端向服务端发送一个ACK标志的数据包,然后客户端进入等待状态,服务端收到ACK标志的数据包之后,关闭服务端到客户端的连接。客户端在等待了一段时间后,没有接受到任何服务,则确认服务端已经关闭,随后客户端关闭。
11.为什么不能将四次挥手中的二三次挥手合并,即把发送ACK和FIN步骤合并起来?
因为服务端收到客户端断开连接的请求后,可能还有一些数据没有发完,所以先发送ACK表示收到了服务端断开连接的请求,等待数据传输完毕后,在发送FIN断开服务端到客户端的连接。
12.TCP如何保证传输的可靠性
基于数据块传输。传输的应用数据被分割数据块(报文段)传输给网络层。
对失序的数据包重新排序以及去重。TCP会给每一个数据包一个序列号,有了序列号就可以将数据包进行排序,并且可以去掉重复序列号的数据包。
发送数据超时后会重传。当发送方发送一个数据包后,会启动一个定时器,等待目的端的响应并发送回一条确认收到的信息,如果在规定的时间段内发送发没有收到确认消息,则刚刚发送的数据包就被标记为丢失,然后重新发送。
对数据包拥塞进行控制。当网络拥塞时,TCP会减少数据的发送。
13.IP协议的作用是什么以及IP寻址如何工作。
IP协议可定义数据包的格式,对数据包进行路由(确定最佳路径,通过网络传输信息)和寻址,以便数据包可以跨网络传播并正确到达目的地。
当网络设备发送IP数据包时,数据包中包含了源IP地址和目的IP地址,源IP地址用于表示数据包的发送发,目的IP地址用于标识数据包的接收方,网络设备根据目的IP地址来判断数据包的目的地,并将数据包转发到正确的目的地,实现设备间的通信。
14.IPV4与IPV6
IPV4是由.隔开的四组十进制数字组成,也叫点分十进制数。每组十进制数字由8个二进制数字组成,共32位。IPV4可化分位A、B、C、D、E五类,将IP地址划分的目的是为了提高地址分配和管理的效率,节约地址资源。
IPV6是由128位二进制数组成,每16位划分为一段,共可划分8段,每段用16进制数表示。
15.NAT协议
NAT(Network Address Translation,网络地址转换),主要用于不同网络间的IP地址转换,允许将私有的IP地址映射为共有的IP地址。其可缓解IPV4的地址短缺问题,也可隐藏内部网络的实际拓扑结构,提高内部网络的安全性。
16.MAC地址
MAC地址是网络设备的唯一标识符,可以看作是身份证号,IP地址可以看作是住址。MAC地址是由48个二进制数组成,每8个字符看作是一个字段,共分为6段,即由6个十六进制数组成。如 A1:2B:C3:4D:E5:6F
17.ARP协议在同网段下的工作原理
每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包来查询此目的主机对应的MAC地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
18.IP地址与MAC地址的区别
IP地址是由32位的二进制数组成,而MAC地址是由48位的二进制数组成。两者长度不一样。
IP地址是基于网路拓扑分配的,而MAC地址是基于制造商分配。
IP地址是应用在网路层,而MAC地址应用在数据链路层。
19.DHCP协议
动态主机配置协议,通过此协议可以给新添加的客户机动态随机分配一个IP地址,无需手动配置IP地址,使其可正常接入互联网。
工作流程,首先接入的客户机会发送一个DHCP的报文,广播给这个网段内的具有DHCP的服务器,DHCP服务器收到客户机的DHCP报文后,会向客户机提供相应的IP地址、子网掩码等信息,客户机拿到IP地址后,会发送给服务器一个确认使用该IP地址的操作,然后DHCP服务器收到请求后在发送确认,最终客户机就拿到了相应的IP地址。