计算机网络面试常见问题总结

写在前面

本文记录了一些计算机网络面试常见问题,本意用于考研复试,以下面试题为网上整理的问题以及自己加入的一些问题,答案仅供参考!


Q:计算机网络组成?

A:硬件、软件、协议

Q:时延种类?

A:发送时延、传播时延、处理时延、排队时延

Q:OSI 模型和 TCP/IP 模型

A:

  • OSI 模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

  • TCP/IP 模型:网络接口层、网际层、运输层、应用层

  • 五层协议:物理层、数据链路层、网络层、运输层、应用层

    • 物理层:在物理线路上传输比特流
    • 数据链路层:在通信的实体间建立数据链路连接
    • 网络层:负责数据的路由和转发
    • 传输层:提供端到端的传输服务
    • 应用层:为应用程序提供网络接口

Q:流量控制方法

A:停止-等待、后退 N 帧、选择重传

Q:信道复用技术都有哪些?

A:频分复用、时分复用、波分复用、码分复用

Q:局域网三要素?

A:拓扑结构、传输介质、介质访问控制方式

Q:网络中各个层对应的地址分别是什么?

A:数据链路层:MAC 地址(媒体访问控制地址,6B,48 位)、网络层:IP 地址、应用层:端口

Q:数据链路层有什么协议?网络层有什么协议?应用层有什么协议?

A:

  • 数据链路层:CSMA、CSMA/CA(载波侦听多路访问/碰撞检测)、CSMA/CD(碰撞避免)、PPP、HDLC
  • 网络层:IP、ICMP、ARP、OSPF
  • 传输层:TCP、UDP
  • 应用层:FTP、DNS、HTTP、SMTP

Q:物理层、数据链路层、网络层有哪些设备

A:

  • 物理层:中继器、集线器(信号整形放大)
  • 数据链路层:网桥、局域网交换机(连接以太网)
  • 网络层:路由器(路由选择、分组转发)

Q:什么是网关?

A:网关是连接两个网络的设备

Q:IPv4 与 IPv6 的区别

A:

  • IPv4:32 位,五类地址
  • IPv6:128 位,首部长度固定,取消校验和字段,不允许分片

Q:IP 地址与 MAC 地址区别?如何转换?

A:通过 ARP 地址解析协议,由 IP 地址到 MAC 地址的映射表

  • IP 地址:应用于网络层,32 位
  • MAC 地址:应用于数据链路层,48 位

Q:私有 IP 地址网段

A:

  • A 类(1 个):10.0.0.0 ~ 10.255.255.255
  • B 类(16 个):172.16.0.0 ~ 172.31.255.255
  • C 类(256 个):192.168.0.0 ~ 192.168.255.255

Q:路由协议

A:

  • RIP:基于 UDP,仅和相邻路由器交换信息,基于距离-向量最短路径
  • OSPF:基于 IP,和所有路由器交换信息,基于链路状态
  • BGP:基于 TCP,用于不同自治系统之间

Q:TCP 和 UDP 区别

A:

  • TCP:面向连接,提供可靠服务,面向字节流
  • UDP:无连接,尽最大努力交付,面向报文

Q:为什么 TCP 更安全

A:能保证接收端完整地接受到发送端发送的数据包,即保证不丢包

Q:TCP 三次握手和四次握手

A:

  • 三次握手:目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。

    • 客户端发送带有 SYN 标志的数据包
    • 服务端发送带有 SYN 和 ACK 标注的数据包
    • 客户端发送带有 ACK 标注的数据包
  • 四次握手:

    • 客户端发送发送 FIN 报文,用来关闭客户端到服务端的数据传输
    • 服务端收到 FIN 报文,发回 ACK 报文
    • 服务端发送 FIN 报文,关闭与客户端的连接
    • 客户端发送 ACK 报文确认

Q:TCP 协议如何保证可靠传输

A:序号,确认,重传

Q:HTTP 实现过程

A:

  1. 浏览器查找域名的 IP 地址
  2. 浏览器向 web 服务器发送一个 HTTP 请求
  3. 服务器处理请求
  4. 服务器发回一个 HTML 响应
  5. 浏览器解析 HTML

Q:HTTP 协议与 HTTPS 协议区别

A:

  • HTTP 明文传输,数据都是未加密的,安全性较差
  • HTTPS 是 HTTP 协议的安全版本,HTTPS 使用了 SSL/TLS 协议进行了加密处理
  • HTTP 和 HTTPS 使用连接方式不同,默认端口也不一样

正向代理与反向代理区别

A:

  • 正向代理:正向代理其实是客户端的代理,帮助客户端访问其无法访问的服务器资源
  • 反向代理:反向代理则是服务器的代理,帮助服务器做负载均衡,安全防护等

相关内容