2. 网络基础高频题

网络基础题几乎是每一场企业网络工程师面试的开场白。面试官并不是想听你把七层模型从头背到尾,而是想通过这些问题判断三件事:你是否真正理解数据在网络中如何被处理,你能否把抽象模型和真实排障场景对应起来,以及你表达技术问题时是否有清晰的层次。本章围绕四个高频考点展开,并给出可直接用于面试作答的组织方式。

一、OSI与TCP/IP模型:不要只背层名,要讲清“每层解决什么问题”

OSI参考模型分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP模型在实践中通常讲四层:网络接口层、网际层、传输层、应用层。面试时如果只机械背诵,很容易被追问“会话层到底做什么”“表示层和加密有什么关系”。更稳妥的答法是先给出一句总纲:OSI是教学和排障用的参考框架,TCP/IP是互联网实际运行的协议族;前者强调分层职责,后者强调协议实现。

接着按“数据单元+典型协议+设备”把关键层讲实。物理层传输比特流,关注介质、编码、速率,典型设备是中继器和集线器;数据链路层传输帧,负责MAC寻址、差错检测和介质访问控制,典型协议有以太网、PPP,设备是交换机和网卡;网络层传输分组,负责逻辑寻址和路由选择,核心协议是IP、ICMP、ARP、路由协议,设备是路由器和三层交换机;传输层提供端到端通信,TCP面向连接、可靠、有流量控制和重传,UDP无连接、开销小、适合实时业务;应用层直接面向用户业务,HTTP、DNS、SMTP、SSH都在这层。

面试应答要点可以压缩成一句话:“分层的好处是解耦和定位——排障时先判断故障发生在哪一层,再缩小范围。”例如用户说“网站打不开”,你可以先看物理链路和VLAN是否正常,再看IP能否ping通,然后看TCP 443端口是否可达,最后才看HTTP返回码和DNS解析。这个顺序本身就是模型价值的体现。

二、封装与解封装:用一次访问过程讲透

封装是指数据从上层向下层传递时,每层加上自己的头部或尾部;解封装是接收端从下层向上层剥离这些控制信息。面试中常问“ping一个IP时数据怎么走”,这就是最好的讲解载体。

假设主机A(192.168.1.10/24)要ping主机B(192.168.2.20/24),网关是192.168.1.1。应用层产生ICMP请求数据;传输层不需要端口,但如果是TCP应用则会加源目端口;网络层加IP头部,源IP为192.168.1.10,目的IP为192.168.2.20,同时根据路由表判断下一跳是网关;数据链路层发现目的IP不在本网段,于是封装目的MAC为网关MAC、源MAC为主机A的MAC,类型字段为0x0800表示IPv4;物理层转为比特流发出。网关收到后解封装到网络层,重新查路由,再把数据封装成新的帧发往下一跳,如此逐跳转发,直到主机B。主机B逐层解封装,网络层发现目的IP是自己,交给ICMP处理并生成回应。

这里有一个面试加分点:IP地址端到端不变,MAC地址逐跳改变。因为IP负责逻辑寻址,MAC负责本地链路交付。你可以用“寄快递”类比:IP是收件人地址,MAC是每一段运输中当前站点的交接凭证。这个类比能帮助面试官确认你理解了两者的分工。

三、常见协议端口:按场景归类记忆

端口题很少单独考,通常嵌在“这个服务为什么不通”里。建议按业务场景归类,而不是按数字顺序死记。Web场景:HTTP 80、HTTPS 443;文件传输:FTP控制21、数据20,TFTP 69;邮件:SMTP 25、POP3 110、IMAP 143;远程管理:Telnet 23、SSH 22、RDP 3389;网络服务:DNS 53(UDP查询、TCP区域传送)、DHCP 67/68、SNMP 161/162、NTP 123;目录服务:LDAP 389、LDAPS 636。

面试时如果被问“HTTPS为什么用443”,不要只答“规定”,可以补充:443是IANA分配的默认端口,客户端和服务器可以协商其他端口,但默认端口让防火墙策略和用户访问更简单。再进一步,如果题目问“443端口不通怎么查”,你的回答应落到实际操作:先在服务器上用netstat -ano | findstr :443或ss -lntp | grep :443确认监听状态,再从客户端用telnet 10.0.0.5 443或Test-NetConnection 10.0.0.5 -Port 443测试连通性,最后检查中间防火墙、安全组和ACL是否放行。这样就把端口知识变成了排障能力。

四、ARP与ICMP:一个负责“找MAC”,一个负责“报差错”

ARP解决的是“已知IP,求MAC”。当主机要发送数据但不知道下一跳MAC时,会广播ARP请求:“谁是192.168.1.1?请告诉192.168.1.10。”目标主机单播回应自己的MAC。主机把结果写入ARP缓存,后续通信直接查缓存。面试常追问ARP欺骗:攻击者伪造ARP响应,把网关IP映射到自己的MAC,导致流量被劫持。防护手段包括动态ARP检测、端口安全、DHCP Snooping和静态ARP绑定。

ICMP是IP层的差错和控制报文协议,ping用的是ICMP Echo Request/Reply,traceroute利用TTL递减和ICMP超时报文逐跳发现路径。面试中常问“ping不通可能有哪些原因”,你可以按层次回答:物理层链路断开、VLAN或端口down;数据链路层MAC或ARP异常;网络层IP地址、掩码、网关配置错误或路由缺失;传输层以上被防火墙拦截ICMP;应用层服务未启动。注意,很多企业防火墙会禁ICMP,所以“ping不通”不等于“网络不通”,这时应改用TCP端口测试或抓包验证。

五、面试应答要点与实战检查表

回答这类基础题时,建议采用“定义—机制—场景—排障”四步结构。先一句话定义,再讲关键机制,然后举一个真实场景,最后给出排障动作。这样既显示知识深度,也显示工程思维。以下检查表可用于面试前自测:

考点 必须能说清的内容 常见追问
OSI/TCP-IP 各层职责、数据单元、典型协议与设备 会话层和表示层在实际中对应什么?
封装解封装 逐层加头、IP不变MAC逐跳变 跨网段ping时源目MAC如何变化?
协议端口 按场景归类,能说出排障命令 443不通如何定位?
ARP 广播请求、单播回应、缓存与欺骗防护 ARP表项为什么会被覆盖?
ICMP Echo、TTL超时、差错报告 ping不通但业务正常,怎么解释?

最后给一个可直接复用的面试作答示例。被问“请描述一次跨网段访问的数据封装过程”时,可以这样答:源主机先比较目的IP和本机掩码,发现不在同一网段,于是查路由表找到网关;ARP解析网关MAC后,封装源MAC为自身、目的MAC为网关的帧,IP头部源目地址保持不变;网关解封装后重新查路由并改写MAC,逐跳转发;目的主机收到后逐层解封装,最终由对应协议处理并返回响应。整个过程体现了分层、封装和逐跳转发的核心思想。这样的回答既有细节,又能自然带出排障思路,通常能拿到较高评价。