计算机网络经典面试题30问

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 文章目录

1 简单介绍一下HTTP的长连接和短连接?

2 简述计算机网络中的七层模型?

3 常见的HTTP状态码有哪些?

4 TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

5 请简述一下TCP的三次握手和四次挥手协议?

6 TCP和UDP相关的协议分别有哪些?

7 TCP和UDP有什么区别?

8 Post和Get有什么区别?

9 在浏览器中输入www.baidu.com后执行的全部过程?

先查IP地址

tcp连接与http连接

html渲染

10 列举几种常见的协议,并简述他们的作用?

11 cookie 和session 有什么区别?

12 名词解释

13 简述计算机网络分层的好处。

14 简述分组交换的优点和缺点。

15 简述 CSMA/CD 的基本工作原理。

16 因特网的发展大致分为哪几个阶段?每个阶段的主要特点是什么?

17 简述你对客户服务器工作方式的理解。

18 什么是 MAC 地址和 IP 地址,分析他们的区别和两者之间的转换机制

19 ICMP 协议

20 请说明理想的路由算法应该具有的几个特点。

21 物理层的基本工程是什么?物理层的接口有哪几个方面的特性?各包含什么内 容?

22 述 SMTP 通信的三个阶段。

23 说明 TCP 协议的特点。

24 简述IEEE802.3采用的介质访问控制协议及其基本思想。

25 说明中继器、网桥、路由器的主要功能,以及分别工作在网络的哪一层。

26 TCP/IP 网络体系定义了四个层次,说出这四层的名称及各层的主要功能

27 简述互联网数据链路层的三个基本问题:封装成帧、透明传送、差错控制的含义

28 简述网络攻击中的几种常见形式及类型。

29 为什么要使用信道复用技术?常用的信道复用技术有哪些?

30 为什么说 UDP 是面向报文的?TCP 是面向字节流的?

1 简单介绍一下HTTP的长连接和短连接?

短连接:


浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。


长连接:


当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接要客户端和服务端都支持长连接。


2 简述计算机网络中的七层模型?

image.png

3 常见的HTTP状态码有哪些?

image.png

4 TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。


(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:

主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。

考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,

但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。


(3)采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。


5 请简述一下TCP的三次握手和四次挥手协议?

image.png

image.png

6 TCP和UDP相关的协议分别有哪些?

TCP对应的协议:


(1) FTP:定义了文件传输协议,使用21端口。

(2) Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。

(3) SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。

(4) POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。

(5)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。


UDP对应的协议:

(1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。

(2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。

(3) TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。


7 TCP和UDP有什么区别?

TCP与UDP区别

(1)TCP提供的是面向连接的、可靠的数据流传输;

UDP提供的是非面向连接的、不可靠的数据流传输。


(2)TCP提供可靠的服务,通过TCP连接传送的数据,无差错、不丢失,不重复,按序到达;

UDP尽最大努力交付,即不保证可靠交付。


(3)TCP面向字节流;

UDP面向报文。


(4)TCP连接只能是点到点的;

UDP支持一对一、一对多、多对一和多对多的交互通信。


(5) TCP首部开销20字节;

UDP的首部开销小,只有8个字节。


(6)TCP的逻辑通信信道是全双工的可靠信道;

UDP的逻辑通信信道是不可靠信道。


8 Post和Get有什么区别?

1、 GET主要用于从服务器查询数据,POST用于向服务器提交数据


2、 GET通过URL传递数据,POST通过http请求体传递数据


3、 GET传输数据量有限制,不能大于2kb,POST传递的数据量较大,一般大量的数据提交都是通过POST方式


4、 GET安全性较低,容易在URL中暴漏数据,POST安全性较高


9 在浏览器中输入www.baidu.com后执行的全部过程?

先查IP地址

查询ip地址


①浏览器解析出url中的域名。


②查询浏览器的DNS缓存。


③浏览器中没有DNS缓存,则查找本地客户端hosts文件有无对应的ip地址。


④hosts中无,则查找本地DNS服务器(运营商提供的DNS服务器)有无对应的DNS缓存。


⑤若本地DNS没有DNS缓存,则向根服务器查询,进行递归查找。


⑥递归查找从顶级域名开始(如.com),一步步缩小范围,最终客户端取得ip地址


tcp连接与http连接

①http协议建立在tcp协议之上,http请求前,需先进行tcp连接,形成客户端到服务器的稳定的通道。俗称TCP的三次握手。


②tcp连接完成后,http请求开始,请求有多种方式,常见的有get,post等。


③http请求包含请求头,也可能包含请求体两部分,请求头中包含我们希望对请求文件的操作的信息,请求体中包含传递给后台的参数。


④服务器收到http请求后,后台开始工作,如负载平衡,跨域等,这里就是后端的工作了。


⑤文件处理完毕,生成**响应数据包,**响应也包含两部分,响应头和相应体,响应体就是我们所请求的文件。


⑥经过网络传输,文件被下载到本地客户端,客户端开始加载。


html渲染

①客户端浏览器加载了html文件后,由上到下解析html为DOM树(DOM Tree)。


②遇到css文件,css中的url发起http请求。


③这是第二次http请求,由于http1.1协议增加了Connection: keep-alive声明,故tcp连接不会关闭,可以复用。


④http连接是无状态连接,客户端与服务器端需要重新发起请求–响应。


在请求css的过程中,解析器继续解析html,然后到了script标签。


⑤由于script可能会改变DOM结构,故解析器停止生成DOM树,解析器被js阻塞,等待js文件发起http请求,然后加载。这是第三次http请求。js执行完成后解析器继续解析。


⑥由于css文件可能会影响js文件的执行结果,因此需等css文件加载完成后再执行。


⑦浏览器收到css文件后,开始解析css文件为CSSOM树(CSS Rule Tree)。


⑧CSSOM树生成后,DOM Tree与CSS Rule Tree结合生成渲染树(Render Tree)。


⑨Render Tree会被css文件阻塞,渲染树生成后,先布局,绘制渲染树中节点的属性(位置,宽度,大小等),然后渲染,页面就会呈现信息。


⑩继续边解析边渲染,遇到了另一个js文件,js文件执行后改变了DOM树,渲染树从被改变的dom开始再次渲染。


⑪继续向下渲染,碰到一个img标签,浏览器发起http请求,不会等待img加载完成,继续向下渲染,之后再重新渲染此部分。


⑫DOM树遇到html结束标签,停止解析,进而渲染结束。


10 列举几种常见的协议,并简述他们的作用?

ICMP协议:因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。


TFTP协议:是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。


HTTP协议:超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。


DHCP协议:动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段。


NAT协议:网络地址转换属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,


DHCP协议:一个局域网的网络协议,使用UDP协议工作,用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。


11 cookie 和session 有什么区别?

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。


2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。


3、session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。


4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。


5、建议:

将登陆信息等重要信息存放为SESSION

其他信息如果需要保留,可以放在COOKIE


12 名词解释

局域网(Local Area Network(LAN)

广域网(英语:Wide Area Network,缩写为 WAN)

城域网(Metropolitan Area Network),简称MAN


DHCP协议:一个局域网的网络协议,使用UDP协议工作,用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

image.png

image.png

VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。


13 简述计算机网络分层的好处。

各层之间是独立的,每层只关注实现本层的功能即可;灵活性好,每一层可以灵活地采用不同的方法来实现本层的功能;增加和删减功能较为容易;结构上可以分隔开,层次之间的互相影响小,降低了实现和维护的难度;促进了标准化二作。


14 简述分组交换的优点和缺点。

分组交换的优点:


1、线路利用率更高


结点到结点的单个链路可以由很多分组动态共享。e799bee5baa6e4b893e5b19e31333366306431分组被排队,并被尽可能快速地在链路上传输。


2、数据率转换


一个分组交换网络可以实行数据率的转换:两个不同数据率的站之间能够交换分组,因为每一个站以它的自己的数据率连接到这个结点上。


分组交换的缺点:


1、时延抖动


因为一个给定的源站和目的站之间的各分组可能具有不同的长度,可以走不同的路径,也可以在沿途的交换机中经历不同的时延,所以分组的总时延就可能变化很大。


2、额外开销大


因为结点是分布的,在网络一部分状态的改变与网络其他部分得知这个改变之间总是有一个时延。传递状态信息需要一定的费用,因此其额外开销较大。


15 简述 CSMA/CD 的基本工作原理。

发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;


若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。


其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。


16 因特网的发展大致分为哪几个阶段?每个阶段的主要特点是什么?

1.阶段是从单个网络ARPANET向互联网发展的过程。最初的分组交换网ARPANET 只是一个单个的分组交换网,所有要连接在ARPANET上的主机都直接与就近的结点交 换机相连。而后发展为所有使用TCP/IP协议…

2.阶段是1985-1993年,特点是建成了三级结构的因特网。

3.阶段是1993年至今, 特点是逐渐形成了多层次ISP结构的因特网。


17 简述你对客户服务器工作方式的理解。

目前比较流抄行的就是C/S 架构,简单的讲就是服务器提供相应的服务百,如WEB,FTP,DNS等,

客户机根据需要去相应的提供服务的服务器上查询服务,服务器作出相应的而响应,如果安全的度话就要提供响应的密码帐户,并且采用加密协议传输密码和密文。

采用C/S架构可以集中管理,方便知了管理维护,减少了带宽流量和维护成本道。

我个人理解,希望能够帮到你


18 什么是 MAC 地址和 IP 地址,分析他们的区别和两者之间的转换机制

MAC是身份证号码,用来识别网络设备本身。IP地址是居住地。

image.png

19 ICMP 协议

image.png

ICMP协议:因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。


20 请说明理想的路由算法应该具有的几个特点。

(1)算法必须是正确和完整的。

(2)算法在计算上应简单。

(3)算法应能适应通信量和网络拓扑的变化。

(4)算法应具有稳定性。

(5)算法应是公平的。

(6)算法应是最佳的。


21 物理层的基本工程是什么?物理层的接口有哪几个方面的特性?各包含什么内 容?

1、机械特性, 指明接口所用接线器的形状和尺寸、引线数目e69da5e6ba90e799bee5baa6e997aee7ad9431333433626435和排列、固定和锁定装置等。


2、电气特性, 指明在接口电缆的各条线上出现的电压的范围。


物理层的电气特性规定了在物理连接上传输二进制位流时线路上信号电压高低、阻抗匹配情况、传输速率和距离的限制等。


3、功能特性,规定了接口信号的来源、作用以及其他信号之间的关系。即物理接口上各条信号线的功能分配和确切定义。物理接口信号般分为数据线、控制线、定时线和地线。


4、规程特性, 定义了再信号线上进行二进制比特流传输的一组操作过程,包括各信号线的工作顺序和时序,使得比特流传输得以完成。


22 述 SMTP 通信的三个阶段。

1.连接建立:连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器。

2.邮件传送。

3.连接释放:邮件发送完毕后,SMTP应释放TCP连接。


23 说明 TCP 协议的特点。

image.png

image.png

24 简述IEEE802.3采用的介质访问控制协议及其基本思想。

IEEE802.3采用的介质访问控制协议是CSMA/CD。

基本思想如下:当一个节点要发送数据时,首先监听信道;如果信道空闲就发送数据,并继续监听;如果在数据发送过程中监听到了冲突,则立刻停止数据发送,等待一段随机时间后,重新开始尝试发送数据。


25 说明中继器、网桥、路由器的主要功能,以及分别工作在网络的哪一层。

(1)网桥是一种将两个局域网连接起来并按MAC(介质访问控制)地址转发帧的设备,工作在链路层。

(2)中继器是一种简单的增加局域网传输距离的设备,它作为信号放大器。可使实际的网络跨越更大的距离。它工作在物理层。

(3)路由器是将不同类型的网络连接起来的设备,主要用来实现协议转换和路径选择。它工作在网络层。


26 TCP/IP 网络体系定义了四个层次,说出这四层的名称及各层的主要功能

应用层:负责向用户提供应用程序,比如HTTP、FTP、Telnet、DNS、SMTP等。


传输层:自负责对报文进行分组和重组,并以TCP或UDP协议格式封装报文。

网络层:负责路由以及把分组报文发送给目标网络或主机。


链路层:负责封装和解封装IP报文,发送和接受ARP/RARP报文等。


27 简述互联网数据链路层的三个基本问题:封装成帧、透明传送、差错控制的含义

链接:https://www.nowcoder.com/questionTerminal/09a9140da65046c28b30f3842b4e6840?orderByHotValue=1&page=1&onlyReference=false

来源:牛客网


封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧.接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束.首部和尾部的一个重要作用就是进行帧定界.

为了解决透明传输问题,就必须设法使数据中可能出现的控制字符"SOH"和"EOT"在接收端不被解释为控制字符,具体方法是插入转义字符ESC

比特在传输过程中可能会产生差错,1可能会变成0,而0也可能变成1.目前在数据链路层广泛使用了循环冗余检验CRC的检错技术.


28 简述网络攻击中的几种常见形式及类型。

口令攻击:

采用暴力破解(穷举法)、特洛伊木马、IP伪装、嗅探等方式对用户的口令进行攻击。

常用攻击工具

网络侦查工具:

SuperScan(端口扫描工具)

Nmap(扫描端口判断攻击目标的操作系统类型)

拒绝服务攻击工具:

DDoS攻击者,sqldos,Trinoo


29 为什么要使用信道复用技术?常用的信道复用技术有哪些?

通过共享信道、最大限度提高信道利用率。常用的信道复用技术有:频分、时分、码分、波分。


30 为什么说 UDP 是面向报文的?TCP 是面向字节流的?

image.png

发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。


接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。


发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆/合并),但维持各字节

目录
相关文章
|
3天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
4天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
缓存 算法 网络协议
一文详细理解计算机网络 - 数据链路层(考试和面试必备)
这篇文章详细介绍了计算机网络中数据链路层的概念、基本问题、点对点信道和广播信道的数据链路协议(如PPP和CSMA/CD),以及局域网和以太网的相关知识。
172 0
一文详细理解计算机网络 - 数据链路层(考试和面试必备)
|
2月前
|
存储 网络协议 网络性能优化
一文详细理解计算机网络体系结构(考试和面试必备)
这篇文章提供了C++基础知识的快速概述,包括C++的特点、面向对象设计、组成部分、标准、学习建议、应用领域、源文件、编译器、类与对象、编译执行步骤、分号与块、标识符、基本数据类型、typedef、枚举类型、变量定义与声明等。
56 0
一文详细理解计算机网络体系结构(考试和面试必备)
|
3月前
|
网络协议 网络架构
OSPF邻居关系建立失败?揭秘网络工程师面试中最常见的难题,这些关键步骤你掌握了吗?网络配置的陷阱就在这里!
【8月更文挑战第19天】OSPF是网络工程中确保数据高效传输的关键协议。但常遇难题:路由器间无法建立OSPF邻居关系,影响网络稳定并成为面试热点。解决此问题需检查网络连通性(如使用`ping`),确认OSPF区域配置一致(通过`show running-config`),校准Hello与Dead计时器(配置`hello`和`dead`命令),及核查IP地址和子网掩码正确无误(使用`ip address`)。系统排查上述因素可确保OSPF稳定运行。
68 2
|
5月前
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
87 9
|
5月前
|
缓存 网络协议 安全
Android网络面试题之Http基础和Http1.0的特点
**HTTP基础:GET和POST关键差异在于参数传递方式(GET在URL,POST在请求体),安全性(POST更安全),数据大小限制(POST无限制,GET有限制),速度(GET较快)及用途(GET用于获取,POST用于提交)。面试中常强调POST的安全性、数据量、数据类型支持及速度。HTTP 1.0引入了POST和HEAD方法,支持多种数据格式和缓存,但每个请求需新建TCP连接。**
50 5
|
5月前
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
62 2
|
5月前
|
缓存 网络协议 Android开发
Android网络面试题之Http1.1和Http2.0
HTTP/1.1 引入持久连接和管道机制提升效率,支持分块传输编码和更多请求方式如PUT、PATCH。Host字段指定服务器域名,RANGE用于断点续传。HTTP/2变为二进制协议,实现多工处理,头信息压缩和服务器推送,减少延迟并优化资源加载。HTTP不断发展,从早期的简单传输到后来的高效交互。
67 0
Android网络面试题之Http1.1和Http2.0
|
5月前
|
缓存 网络协议 Java
Android面试题之Java网络通信基础知识
Socket是应用与TCP/IP通信的接口,封装了底层细节。网络通信涉及连接、读写数据。BIO是同步阻塞,NIO支持多路复用(如Selector),AIO在某些平台提供异步非阻塞服务。BIO示例中,服务端用固定线程池处理客户端请求,客户端发起连接并读写数据。NIO的关键是Selector监控多个通道的事件,减少线程消耗。书中推荐《Java网络编程》和《UNIX网络编程》。关注公众号AntDream了解更多。
41 2