计算机网络高频面试题

时间:2024-07-13 17:08:52
  • 从输入URL到展现页面的全过程

    • 用户在浏览器中输入URL。
    • 浏览器解析URL,确定协议、主机名和路径。
    • 浏览器查找本地DNS缓存,如果没有找到,向DNS服务器发起查询请求。
    • DNS服务器解析主机名,返回IP地址。
    • 浏览器使用IP地址建立TCP连接(经过三次握手)。
    • 浏览器发送HTTP请求到服务器。
    • 服务器处理请求,并返回HTTP响应。
    • 浏览器接收响应内容,可能是HTML、CSS、JavaScript等。
    • 浏览器解析HTML,构建DOM树,执行JavaScript,渲染页面。
    • 页面加载完成,显示给用户。
  • TCP三次握手以及四次挥手的流程

    • 三次握手
      1. 客户端发送SYN包(请求建立连接)到服务器。
      2. 服务器收到SYN包后,发送SYN-ACK包(确认连接请求)。
      3. 客户端收到SYN-ACK包后,发送ACK包(确认连接建立)。
    • 四次挥手
      1. 客户端发送FIN包(请求关闭连接)。
      2. 服务器收到FIN包后,发送ACK包,并准备关闭。
      3. 服务器发送FIN包(请求关闭另一端连接)。
      4. 客户端收到FIN包后,发送ACK包(确认关闭)。

    为什么需要三次握手以及四次挥手

    • 三次握手确保双方都能发送和接收数据,建立可靠的连接。
    • 四次挥手允许双方独立关闭连接,确保所有数据都被接收。
  • TCP与UDP在网络协议中的哪一层,他们之间有什么区别?

    • TCP和UDP都是传输层协议。
    • TCP是面向连接的、可靠的协议,提供数据传输的确认和重传机制。
    • UDP是无连接的、不可靠的协议,没有确认或重传机制,但传输速度快。
  • HTTP与HTTPS有哪些区别?

    • HTTPS在HTTP的基础上增加了SSL/TLS协议,提供了数据加密、完整性校验和身份验证。
    • HTTPS比HTTP更安全,可以防止数据在传输过程中被窃听或篡改。
  • 简述DDOS攻击原理,如何防范它?

    • DDOS(分布式拒绝服务)攻击原理是通过大量请求占用目标服务器的资源,使其无法响应正常用户的请求。
    • 防范方法包括使用防火墙过滤恶意流量、使用CDN分散流量、限制单个IP的请求频率等。
  • 简述HTTP1.0,1.1,2.0的主要区别

    • HTTP/1.0不支持持久连接,每个请求/响应都需要建立和关闭一个TCP连接。
    • HTTP/1.1支持持久连接,可以复用TCP连接,减少了连接建立和关闭的开销。
    • HTTP/2.0进一步优化了性能,支持头部压缩、多路复用等技术,减少了延迟。
  • 简述TCP的TIME_WAIT和CLOSE_WAIT

    • TIME_WAIT:主动关闭连接的一方在发送完最后一个ACK包后,进入TIME_WAIT状态,等待足够的时间确保被动关闭方接收到最终的确认,防止旧的连接请求干扰新的连接。
    • CLOSE_WAIT:当一方接收到对方的FIN包并发送ACK包后,进入CLOSE_WAIT状态,等待本地应用程序关闭连接。如果应用程序不及时关闭,会导致资源占用。
  • TCP的TIME_WAIT和CLOSE_WAIT

    • TIME_WAIT:TCP连接的主动关闭端在发送完最后一个确认(ACK)包后,会进入TIME_WAIT状态,保持该状态一定时间,以确保被动关闭端能够收到连接关闭的确认。这可以防止旧的连接请求干扰新的连接。
    • CLOSE_WAIT:当TCP连接的接收端收到关闭连接的请求(FIN包),它会发送一个确认(ACK),然后进入CLOSE_WAIT状态,等待本地应用层关闭连接。如果应用层没有及时关闭连接,CLOSE_WAIT状态会持续存在,可能导致资源占用。
  • TCP中常见的拥塞控制算法

    • 慢启动(Slow Start):开始时以较低的速率发送数据,逐渐增加发送窗口大小,直到达到拥塞发生。
    • 拥塞避免(Congestion Avoidance):在检测到拥塞迹象后,缓慢增加窗口大小,避免拥塞。
    • 快重传(Fast Retransmit):当连续收到三个相同的ACK时,立即重传丢失的数据包,而不是等待超时。
    • 快恢复(Fast Recovery):在重传丢失的数据包后,适当调整拥塞窗口,避免发送速率急剧下降。
  • BGP协议和OSPF协议的区别

    • BGP (边界网关协议):是一种用于互联网上进行网络之间的路由和可达性信息传递的协议,主要用于互联网的自治系统(AS)之间的路由。
    • OSPF (开放最短路径优先):是一种内部网关协议,用于在单一自治系统内部进行路由信息的传递和计算最短路径。
  • TCP的keepalive了解吗?以及它和HTTP的keepalive的区别

    • TCP keepalive:是一种心跳机制,用于检测死连接。在一定时间内没有数据传输时,TCP会发送探测包以检查连接是否仍然有效。
    • HTTP keepalive:也称为持久连接,允许多个HTTP请求和响应复用同一个TCP连接,减少了连接建立和关闭的开销。
  • OSI七层模型,TCP,IP属于哪一层

    • OSI七层模型包括:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
    • TCP (传输控制协议):属于传输层,负责在网络中提供可靠的数据传输服务。
    • IP (网际协议):属于网络层,负责在网络中路由数据包。
  • traceroute有什么作用?

    • traceroute是一个网络诊断工具,用于显示数据包从源到目的地的路径,以及每个跳点的延迟时间。它帮助网络管理员诊断网络问题和了解数据包的路由情况。
  • DNS查询服务器的基本流程是什么?DNS劫持是什么?

    • DNS查询流程
      1. 客户端向本地DNS服务器发起查询请求。
      2. 本地DNS服务器查询其缓存,如果未找到,则向根DNS服务器查询。
      3. 根DNS服务器响应并指引到*域DNS服务器。
      4. *域DNS服务器提供负责特定域的权威DNS服务器地址。
      5. 本地DNS服务器从权威DNS服务器获取最终的IP地址并返回给客户端。
    • DNS劫持:是一种网络攻击手段,攻击者通过篡改DNS服务器的记录,将域名解析到错误的IP地址,导致用户访问错误的网站。