划重点! 本期涵盖10大高频网络面试题,助你轻松拿Offer~ [🚀]



📊 1. OSI与TCP/IP协议栈对应关系
OSI七层模型TCP/IP四层模型核心协议举例
应用层应用层HTTP, FTP, DNS
表示层SSL/TLS (加密/压缩)
会话层NetBIOS (会话管理)
传输层传输层TCP, UDP
网络层网络层IP, ICMP, ARP
数据链路层链路层Ethernet, PPP
物理层网线/光纤等物理介质

👉 关键点:TCP/IP将OSI上三层合并为"应用层",下两层合并为"链路层"。🔍


🚦 2. 流量控制原理

核心机制:滑动窗口(Sliding Window)

  • 原理:接收方通过窗口大小告知发送方可接收的数据量上限,避免数据淹没。
    公式: W r e c v = R b u f − L p e n d i n g W_{recv} = R_{buf} - L_{pending} Wrecv=RbufLpending
    其中 R b u f R_{buf} Rbuf 是接收缓冲区大小, L p e n d i n g L_{pending} Lpending 是待处理数据长度。
  • 动态调整:接收方实时更新窗口值(如TCP头部Window Size字段),发送方据此调整发送速率。
    👉 场景:若接收方处理慢,窗口缩小为0,发送方暂停传输(Zero Window Probe机制)。

🔗 3. TCP/IP数据链路层交互过程

数据链路层处理相邻节点间通信:

  1. 封装成帧:将IP数据包封装为帧,添加首部(源/目的MAC地址)和尾部(校验和)。
  2. 透明传输:特殊字符转义(如PPP协议的0x7E0x7D 0x5E)。
  3. 差错检测:CRC循环冗余校验,错误帧直接丢弃。
  4. 介质访问
    • 以太网:CSMA/CD(载波监听多路访问/冲突检测)
    • 无线网络:CSMA/CA(冲突避免)

📬 4. IP层如何区分报文类型与目标应用
  • 区分协议:IP头部Protocol字段标识传输层协议类型(如6=TCP, 17=UDP)。
  • 定位应用:传输层头部包含端口号(Port),例如:
    • TCP 80端口 → HTTP服务
    • UDP 53端口 → DNS服务
      👉 底层实现:内核通过socket绑定的端口号将数据交给对应进程。

🤝 5. UDP的connect函数

UDP本是无连接的,但connect()可建立默认远端地址

  • 作用
    1. 后续send()/recv()无需指定地址(提高效率)。
    2. 内核直接过滤非该地址的报文(提升安全性)。
  • 伪代码示例
    sockfd = socket(AF_INET, SOCK_DGRAM, 0);  
    connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); // 绑定默认地址  
    send(sockfd, buffer, strlen(buffer), 0); // 无需再指定目标地址  
    

⚠️ 注意:不触发三次握手,仅本地记录地址!💡


⏳ 6. TCP的TIME_WAIT状态理解

TIME_WAIT是TCP四次挥手后主动关闭方的最终状态:

  • 持续时间 2 × M S L 2 \times MSL 2×MSL(MSL=Maximum Segment Lifetime,通常30s~2min)。
  • 状态转换流程
    主动关闭方:FIN_WAIT_1 → FIN_WAIT_2 → TIME_WAIT → CLOSED \text{主动关闭方:FIN\_WAIT\_1 → FIN\_WAIT\_2 → TIME\_WAIT → CLOSED} 主动关闭方:FIN_WAIT_1 → FIN_WAIT_2 → TIME_WAIT → CLOSED

❓ 7. 为什么需要TIME_WAIT

设计目的:

  1. 确保最后一次ACK到达:若ACK丢失,被动方重发FIN,主动方可再次响应。
  2. 消除旧连接残留报文:等待2MSL使网络中旧数据包失效,避免新连接被干扰。
    👉 案例:服务器高并发时,短连接过多导致TIME_WAIT堆积,需调整内核参数(如net.ipv4.tcp_tw_reuse)。

🌐 8. 输入URL到页面展示全流程
  1. DNS解析:查询URL对应IP(递归+迭代查询)。
  2. TCP连接:与服务器三次握手建立连接。
  3. HTTP请求:发送GET/POST请求(HTTPS还需TLS握手)。
  4. 服务器处理:返回HTML/CSS/JS等资源。
  5. 浏览器渲染
    • 解析HTML构建DOM树
    • 解析CSS生成样式规则
    • 执行JS → 渲染页面 → 显示内容
      ⏱️ 优化点:CDN加速、HTTP/2多路复用。

📡 9. ICMP协议及作用

ICMP(Internet Control Message Protocol) 是网络层"哨兵":

  • 功能
    • 错误报告(如Destination Unreachable
    • 诊断工具(如pingICMP Echo Request/Reply测试连通性)
    • 路径控制(如TTL Exceeded提示路由循环)
  • 封装位置:封装在IP包内,协议号=1。

🛰️ 10. 路由器 vs 交换机
维度路由器交换机
工作层级网络层(Layer 3)数据链路层(Layer 2)
寻址依据IP地址MAC地址
核心功能跨网段路由、NAT、防火墙局域网内高速转发
典型场景连接不同网络(如家宽→互联网)连接同网段设备(如办公室PC互联)

💎 总结:掌握这些核心知识点,面试官直呼内行!
转发+收藏,助你轻松上岸!🎯💻

✨ 恭喜你坚持到这里!👏 本期我们覆盖了计算机网络中的基本原理,并实战解决了十个高频面试题。记住:理解其中的实现思想比硬背八股更重要,多练习才能在面试中游刃有余。😊 如果有疑问,欢迎评论区讨论~ 下期见!🚀

更多推荐