OSI七层模型 vs TCP/IP四层模型
在面试中,OSI七层模型与TCP/IP四层模型的区别是必考题。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型简化为网络接口层、网际层、传输层和应用层。面试者需清楚两者对应关系,例如TCP/IP的网际层对应OSI的网络层,应用层对应OSI的上三层。
从OSI七层模型到TCP/IP协议簇,从三次握手到HTTPS加密,为您提供最专业、最全面的计算机网络面试备考指南。助力您轻松通过技术面试,斩获心仪Offer。
在面试中,OSI七层模型与TCP/IP四层模型的区别是必考题。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型简化为网络接口层、网际层、传输层和应用层。面试者需清楚两者对应关系,例如TCP/IP的网际层对应OSI的网络层,应用层对应OSI的上三层。
掌握A、B、C、D、E类IP地址的范围及默认子网掩码是基础中的基础。面试常考CIDR(无类别域间路由)表示法,如/24、/26等。需熟练计算网络地址、广播地址、可用主机数及子网掩码。例如,IP为192.168.1.100/26,需快速计算出其子网掩码为255.255.255.192,网络地址为192.168.1.64。
ARP(地址解析协议)用于将IP地址解析为MAC地址。面试中常问ARP缓存表的作用及ARP欺骗攻击原理。ARP请求是广播发送,ARP响应是单播发送。了解ARP中毒攻击及防御措施(如静态ARP绑定)能体现候选人的安全意识。
TCP(传输控制协议)是面向连接的、可靠的、基于字节流的传输层通信协议。它具有以下特点:
UDP(用户数据报协议)是无连接的、不可靠的传输层协议。其特点包括:
应用场景:TCP适用于对数据准确性要求高的场景,如文件传输(FTP)、电子邮件(SMTP)、网页浏览(HTTP);UDP适用于对实时性要求高、允许少量丢包的场景,如视频会议、直播、DNS查询。
三次握手(Three-Way Handshake)用于建立连接:
为何需要三次握手?防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
四次挥手(Four-Way Wavehand)用于断开连接:
为何TIME_WAIT状态需要等待2MSL?1. 保证最后一个ACK报文到达服务器;2. 允许旧报文在网络中消散。
流量控制(Flow Control)目的是防止发送方发送速度过快导致接收方来不及接收。主要手段是滑动窗口(Sliding Window)机制。接收方通过TCP首部中的窗口字段通知发送方自己还能接收多少数据。
拥塞控制(Congestion Control)目的是防止过多的数据注入到网络中,使网络中的路由器或链路不致过载。主要手段包括:
| 特性 | HTTP | HTTPS |
|---|---|---|
| 端口号 | 80 | 443 |
| 安全性 | 明文传输,易被窃听、篡改 | 加密传输,安全性高 |
| 证书 | 无需证书 | 需要SSL证书,由CA机构颁发 |
| 链接形式 | http:// | https:// |
| 资源消耗 | 较少 | 较多(需握手加密解密) |
HTTPS = HTTP + SSL/TLS。其加密过程涉及对称加密和非对称加密:
// 示例:HTTP 请求头
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
Connection: keep-alive
XSS(Cross-Site Scripting)攻击是指攻击者在网页中嵌入恶意脚本代码,当其他用户浏览该网页时,脚本代码会在用户浏览器中执行。分为存储型、反射型和DOM型。防御措施包括:输入验证、输出编码、使用HttpOnly Cookie。
CSRF(Cross-Site Request Forgery)攻击是指攻击者诱导用户访问受信任的网站,并利用用户的登录状态发起非预期的请求。防御措施包括:验证Referer、添加Token、使用SameSite Cookie属性。
SQL Injection攻击是指攻击者通过在输入字段中注入恶意SQL代码,从而操纵后端数据库。防御措施包括:使用预编译语句(PreparedStatement)、参数化查询、输入验证。
用于测试主机之间的连通性,基于ICMP协议。常考参数:-t(持续ping)、-n(指定次数)、-l(指定数据包大小)。
用于追踪数据包从源到目的地经过的路由节点。Windows下用tracert,Linux下用traceroute。基于ICMP或UDP协议,利用TTL字段实现。
用于查询DNS记录,测试DNS解析是否正常。可查询A记录、CNAME记录、MX记录等。常考正向解析与反向解析。
用于显示网络连接、路由表和网络接口信息。常考参数:-a(所有连接)、-n(数字地址)、-p(显示进程ID)、-t(TCP)、-u(UDP)。
这是一个经典的大题,涵盖知识点极广。主要步骤包括:
CDN(Content Delivery Network)即内容分发网络,通过将内容缓存到离用户最近的边缘节点,加速用户访问。优势包括:提高访问速度、减轻源站压力、提高可用性、增强安全性(防DDoS)。
浏览器缓存分为强缓存和协商缓存。