程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

1.6w字!梳理50道经典计算机网络面试题(PDF版)

balukai 2025-04-08 11:38:35 文章精选 5 ℃

上个月分享了一份计算机网络基础知识学习笔记,我看收藏下载的人特别多,不知道大家都学的怎么样了。

是时候该考试一下了吧,今天给大家分享50道经典计算机网络面试题,附带答案哦!来测试一下你学习的怎么样吧!不会的可以从答案中继续学习哦!

pdf和文章内容来源:捡田螺的小男孩 侵删

题目目录

以下为部分题目和答案,完整版资料看文末领取

Https 流程是怎样的?

  • HTTPS = HTTP + SSL/TLS,即用 SSL/TLS 对数据进行加密和解密,Http 进行传输。
  • SSL,即 Secure Sockets Layer(安全套接层协议),是网络通信提供安全及数据完整 性的一种安全协议。
  • TLS,即 Transport Layer Security(安全传输层协议),它是 SSL 3.0 的后续版本。
  1. 用户在浏览器里输入一个 https 网址,然后连接到 server 的 443 端口。
  2. 服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己 颁发的证书需要客户端验证通过。这套证书其实就是一对公钥和私钥。
  3. 服务器将自己的数字证书(含有公钥)发送给客户端。
  4. 客户端收到服务器端的数字证书之后,会对其进行检查,如果不通过,则弹出警告 框。如果证书没问题,则生成一个密钥(对称加密),用证书的公钥对它加密。
  5. 客户端会发起 HTTPS 中的第二个 HTTP 请求,将加密之后的客户端密钥发送给服务 器。
  6. 服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密 之后得到客户端密钥,然后用客户端密钥对返回数据进行对称加密,这样数据就变 成了密文。
  7. 服务器将加密后的密文返回给客户端。
  8. 客户端收到服务器发返回的密文,用自己的密钥(客户端密钥)对其进行对称解密, 得到服务器返回的数据

请详细介绍一下 TCP 的三次握手机制

开始客户端和服务器都处于 CLOSED 状态,然后服务端开始监听某个端口,进 入 LISTEN 状态.

  • 第一次握手(SYN=1, seq=x),发送完毕后,客户端进入 SYN_SEND 状态
  • 第二次握手(SYN=1, ACK=1, seq=y, ACKnum=x+1), 发送完毕后,服务器端进入 SYN_RCV 状态.
  • 第三次握手(ACK=1,ACKnum=y+1),发送完毕后,客户端进入 ESTABLISHED 状态, 当服务器端接收到这个包时

TCP 握手为什么是三次,不能是两次?不能是四次?

TCP 握手为什么是三次呢?为了方便理解,我们以谈恋爱为个例子:两个人能走 到一起,最重要的事情就是相爱,就是我爱你,并且我知道,你也爱我,接下来 我们以此来模拟三次握手的过程:

为什么握手不能是两次呢?

如果只有两次握手,女孩子可能就不知道,她的那句我也爱你,男孩子是否收到, 恋爱关系就不能愉快展开。

为什么握手不能是四次呢?

因为握手不能是四次呢?因为三次已经够了,三次已经能让双方都知道:你爱我, 我也爱你。而四次就多余了.

TCP 四次挥手过程?

  • 第一次挥手(FIN=1,seq=u),发送完毕后,客户端进入 FIN_WAIT_1 状态
  • 第二次挥手(ACK=1,ack=u+1,seq =v),发送完毕后,服务器端进入 CLOSE_WAIT 状态, 客户端接收到这个确认包之后,进入 FIN_WAIT_2 状态
  • 第三次挥手(FIN=1,ACK1,seq=w,ack=u+1),发送完毕后,服务器端进入 LAST_ACK 状 态,等待来自客户端的最后一个 ACK。
  • 第四次挥手(ACK=1,seq=u+1,ack=w+1),客户端接收到来自服务器端的关闭请求,发 送一个确认包,并进入 TIME_WAIT 状态,等待了某个固定时间(两个最大段生命周 期,2MSL,2 Maximum Segment Lifetime)之后,没有收到服务器端的 ACK ,认为 服务器端已经正常关闭连接,于是自己也关闭连接,进入 CLOSED 状态。服务器端 接收到这个确认包之后,关闭连接,进入 CLOSED 状态。

TCP 是如何保证可靠性

  • 首先,TCP 的连接是基于三次握手,而断开则是四次挥手。确保连接和断开的可靠性。
  • 其次,TCP 的可靠性,还体现在有状态;TCP 会记录哪些数据发送了,哪些数据被接 受了,哪些没有被接受,并且保证数据包按序到达,保证数据传输不出差错。
  • 再次,TCP 的可靠性,还体现在可控制。它有数据包校验、ACK 应答、超时重传(发 送方)、失序数据重传(接收方)、丢弃重复数据、流量控制(滑动窗口)和拥塞控 制等机制。

TCP 和 UDP 的区别

  • TCP 面向连接((如打电话要先拨号建立连接);UDP 是无连接的,即发送数据之前 不需要建立连接。
  • TCP 要求安全性,提供可靠的服务,通过 TCP 连接传送的数据,不丢失、不重复、 安全可靠。而 UDP 尽最大努力交付,即不保证可靠交付。
  • TCP 是点对点连接的,UDP 一对一,一对多,多对多都可以
  • TCP 传输效率相对较低,而 UDP 传输效率高,它适用于对高速传输和实时性有较高的 通信或广播通信。
  • TCP 适合用于网页,邮件等;UDP 适合用于视频,语音广播等 6. TCP 面向字节流,UDP 面向报文

HTTP 状态码 301 和 302 的区别?

  • 301(永久移动)请求的网页已被永久移动到新位置。服务器返回此响应(作为对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
  • 302:(临时移动)服务器目前正从不同位置的网页响应请求,但请求者应继续使用 原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会 自动将请求者转到不同的位置。

HTTP 状态码 301 与 302 的区别:

  1. 它们之间关键区别在,资源是否存在有效性;
  2. 301 资源还在只是换了一个位置,返回的是新位置的内容;
  3. 302 资源暂时失效,返回的是一个临时的代替页上。

IP 地址有哪些分类

一句话概括,IP 地址 = 网络号+主机号。

  1. 网络号:它标志主机(或路由器)所连接到的网络,网络地址表示属于互联网的哪 一个网络
  2. 主机号:它标志该主机(或路由器),主机地址表示其属于该网络中的哪一台主机。

IP 地址 分为 A,B,C,D,E 五大类:

  • A 类地址(1~126):以 0 开头,网络号占前 8 位,主机号占后 24 位。
  • B 类地址(128~191):以 10 开头,网络号占前 16 位,主机号占后 16 位。
  • C 类地址(192~223):以 110 开头,网络号占前 24 位,主机号占后 8 位。
  • D 类地址(224~239):以 1110 开头,保留位多播地址。
  • E 类地址(240~255):以 11110 开头,保留位为将来使

聊聊五层计算机网络体系结构中,每一层对应的网络协议有哪些?

【完整PDF资料领取方式见下图】

最近发表
标签列表