版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年【计算机网络面试题】附答案请说一说OSI七层模型和TCP/IP四层模型的区别,为什么OSI标准没有落地应用?答案:OSI七层模型从下到上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,每一层只负责特定功能,下层为上层提供服务。TCP/IP四层模型将OSI的物理层和数据链路层合并为网络接口层,将会话层、表示层、应用层合并为应用层,最终分为网络接口层、网际层、传输层、应用层四层结构,实际工程中也常将网络接口层拆分为物理层和数据链路层,形成教学常用的五层体系结构。OSI标准没有落地的核心原因是OSI的产生过程是先定标准再做开发,完全是理论推导的结果,功能划分过于细碎,会话层和表示层在实际互联网应用中几乎没有独立存在的场景,很多功能重复开发,实现复杂冗余。而TCP/IP是从互联网实际应用中总结出来的标准,符合互联网端到端传输的设计理念,实现简洁高效,因此成为了现在互联网的基础协议标准。请说一下TCP和UDP的核心区别,分别适用哪些场景?答案:二者的区别可以从多个维度总结:第一是连接特性,TCP是面向连接的协议,通信前需要通过三次握手建立连接,通信完成后通过四次挥手释放连接,UDP是无连接协议,发送数据前不需要建立连接,直接发送即可。第二是可靠性,TCP通过校验和、序号确认、超时重传、流量控制、拥塞控制机制,保证数据可靠有序交付,不会出现丢包乱序,UDP只提供尽最大努力交付,不保证数据一定到达,也不保证顺序正确,没有可靠性保障机制。第三是首部开销,TCP首部最小20字节,最大60字节,开销较大,UDP首部固定为8字节,仅包含端口号、长度和校验和,开销极小。第四是交互模式,TCP只支持一对一的端到端通信,UDP支持一对一、一对多、多对多的组播、广播交互。第五是控制机制,TCP自带流量控制和拥塞控制,UDP没有任何控制机制,可以自由控制发送速率。TCP适用于对可靠性要求高、对延迟不敏感的场景,比如文件传输、邮件收发、网页浏览、远程登录、支付接口等;UDP适用于对传输效率和低延迟要求高,允许少量丢包的场景,比如实时语音通话、视频直播、在线游戏、DNS查询、物联网传感器数据采集等,现在新兴的QUIC、HTTP/3也都基于UDP开发,可以在UDP基础上实现自定义的可靠传输,灵活性远高于TCP。TCP三次握手为什么不能是两次?答案:核心原因有两个,第一是为了防止过期的失效连接请求导致服务端浪费资源。如果采用两次握手建立连接,客户端发出的第一个连接请求报文因为网络阻塞,滞留在网络中很长时间才到达服务端,此时客户端早已放弃这次连接请求,如果是两次握手,服务端收到请求后发出确认就直接建立连接,会一直等待客户端发送数据,白白占用服务端资源。三次握手的情况下,服务端发出确认后需要等待客户端的二次确认才能建立连接,过期的请求不会得到客户端确认,服务端就不会建立连接,自动回收资源。第二是三次握手可以让通信双方都确认彼此的收发能力正常:第一次握手后,服务端可以确认客户端的发送能力、自己的接收能力正常;第二次握手后,客户端可以确认自己的收发能力、服务端的收发能力正常;第三次握手后,服务端也可以确认自己的发送能力、客户端的接收能力正常。两次握手只能完成单方的能力确认,无法确认服务端的发送能力正常,因此必须采用三次握手。TCP四次挥手中,主动关闭方为什么要进入TIME-WAIT状态等待2MSL?答案:MSL指的是最大报文生存时间,是TCP协议规定的一个报文在网络中能够存活的最长时间,2MSL就是一个报文从发送方到接收方、再返回确认的最大往返时间。等待2MSL的原因有两个:第一是保证最后一次客户端发出的ACK报文能够正常到达服务端,确保连接可靠关闭。如果服务端发出的FIN报文因为网络丢包没有到达主动关闭方,或者主动关闭方发出的最后一个ACK报文丢包,服务端没有收到ACK会重发FIN报文,主动关闭方在2MSL超时前能够收到重发的FIN,重新发送ACK,不会导致服务端无法正常关闭连接。如果主动关闭方发完ACK就直接关闭连接,服务端收不到ACK就会一直停留在LAST-ACK状态,无法释放资源。第二是等待2MSL可以让本次连接产生的所有报文都从网络中自然消失,避免旧连接的残留报文干扰后续新建立的连接。比如同一个端口很快建立了新的连接,如果旧连接的残留报文还在网络中,到达新连接后会被误解析,导致数据错乱,等待2MSL后所有旧报文都已经失效消失,不会干扰新连接。请说一说TCP滑动窗口的作用,流量控制和拥塞控制的核心区别是什么?答案:滑动窗口是TCP实现流量控制、提升传输效率的核心机制,窗口大小由接收方根据自身缓存和处理能力计算,放在ACK报文中通知发送方,允许发送方不用等待每个报文的确认,就可以连续发送最多窗口大小字节的数据,大大提升了传输效率,窗口大小是动态调整的,实现了对发送速率的控制。流量控制是端到端的控制机制,核心目标是避免发送方发送速率超过接收方的处理能力,防止接收方缓存溢出丢包,滑动窗口就是TCP实现流量控制的核心载体,当接收方处理不过来时,就会缩小窗口,甚至把窗口设置为0,让发送方停止发送,等待接收方处理完成后再通知窗口扩大。流量控制和拥塞控制的核心区别在于:流量控制解决的是端到端之间接收方能力不足的问题,针对的是发送方和接收方的速率不匹配;拥塞控制解决的是整个网络负载超过承载能力的问题,针对的是网络中间链路、路由器的拥塞丢包,TCP的拥塞控制通过慢启动、拥塞避免、快重传、快恢复四个阶段动态调整拥塞窗口大小,避免整个网络因为拥塞瘫痪。请说一说ARP协议的工作流程,ARP欺骗的原理是什么?答案:ARP协议即地址解析协议,工作在网络层,核心作用是根据目标主机的IP地址,获取对应的MAC地址,实现同一局域网内的报文交付。工作流程如下:当主机A要给同一局域网内的主机B发送数据时,已知B的IP地址,但不知道对应的MAC地址,主机会在局域网内广播ARP请求报文,报文内容包含自身的IP、MAC和目标IP,请求对应IP的主机返回自己的MAC;局域网内所有主机都会收到这个广播请求,只有IP匹配的主机B会处理请求,单播返回ARP响应报文,告诉主机A自己的MAC地址,同时主机B会把主机A的IP-MAC对应关系存入自己的ARP缓存;主机A收到响应后,把对应关系存入自己的ARP缓存,后续通信直接读取缓存即可,不需要重复发送ARP请求。如果目标主机不在同一局域网,ARP会解析网关的MAC地址,把数据发给网关转发即可。ARP欺骗的原理是攻击者主动向局域网发送伪造的ARP报文,修改其他主机或网关ARP缓存中对应IP的MAC地址,把本该发往目标IP的流量引流到攻击者的MAC地址,攻击者就可以窃听、篡改流量,实现中间人攻击,是局域网常见的网络攻击方式。请说一说HTTP和HTTPS的区别,HTTPS的握手流程是怎样的?答案:HTTP是明文超文本传输协议,HTTPS是HTTPoverSSL/TLS,即在HTTP和TCP之间加入了加密层,二者核心区别:第一默认端口不同,HTTP默认端口是80,HTTPS默认端口是443;第二传输安全性不同,HTTP是明文传输,内容容易被窃听、篡改,HTTPS采用混合加密机制,传输内容全程加密,无法轻易窃听篡改;第三身份验证不同,HTTPS需要CA机构颁发的数字证书,用来验证服务器身份,防止钓鱼网站,HTTP不需要证书;TCP连接建立后,HTTP直接传输数据,HTTPS需要经过TLS握手协商加密密钥后才能传输应用数据。HTTPS单向握手的流程如下:第一步,客户端发起ClientHello,向服务器发送自己支持的TLS版本、加密套件列表、客户端随机数;第二步,服务器回应ServerHello,确认双方都支持的TLS版本和加密套件,生成服务端随机数,发送自己的CA证书,之后发送ServerHelloDone结束本轮消息;第三步,客户端验证服务器证书的合法性,如果验证不通过就终止连接报错,验证通过后,客户端生成预主密钥,用证书中的公钥加密预主密钥发给服务器,之后发送ChangeCipherSpec通知服务器,后续通信将使用协商好的密钥加密;第四步,服务器用自己的私钥解密得到预主密钥,双方根据客户端随机数、服务端随机数、预主密钥,各自生成相同的会话密钥,服务器也发送ChangeCipherSpec,握手完成,后续所有应用数据都用会话密钥对称加密传输。HTTPS采用混合加密的原因是:非对称加密用来加密预主密钥,保证密钥交换的安全性,对称加密用来加密实际应用数据,加密解密速度远快于非对称加密,兼顾了安全性和性能。请对比HTTP/1.1、HTTP/2、HTTP/3的核心差异?答案:HTTP/1.1存在多个原生问题:第一是队头阻塞,同一个TCP连接中必须前一个请求响应完成,下一个请求才能发送,前一个请求卡住会导致后续所有请求都被阻塞;第二是请求头冗余,每个请求都要携带完整的重复请求头,浪费带宽;第三不支持服务器主动推送资源,提升加载速度。为了解决队头阻塞,HTTP/1.1采用并发TCP连接的方式,同一个域名最多允许6个并发TCP连接,但多个TCP连接会带来重复的TCP握手、拥塞控制开销,没有从本质解决问题。HTTP/2基于TCP开发,引入二进制分帧机制,将请求响应拆分为独立的二进制帧,采用HPACK压缩请求头,大大减少了头部冗余开销,实现了同一个TCP连接内的多路复用,多个请求可以同时发送,响应可以乱序到达,应用层不会出现队头阻塞,还支持服务器主动推送资源,性能比HTTP/1.1提升明显。但HTTP/2仍然存在本质问题,因为基于TCP传输,TCP层的队头阻塞无法解决:如果同一个TCP连接中某个TCP报文段丢包,需要等待重传完成,TCP连接上所有的流都要暂停传输,所有请求都会被阻塞。HTTP/3基于QUIC协议开发,QUIC基于UDP传输,从根本上解决了TCP层的队头阻塞问题:QUIC中多个流是独立的,一个流丢包重传只会影响这个流本身,不会阻塞同一个连接上其他流的传输;QUIC天生集成了TLS1.3加密,支持0-RTT握手,之前连接过的客户端可以直接发送应用数据,不用等待握手完成,延迟远低于基于TCP的HTTPS;QUIC支持连接迁移,客户端更换IP地址(比如手机从WIFI切换到5G)时,不需要重新建立连接,因为QUIC用连接ID标识连接,不是用IP和端口,连接不会中断,体验更好;HTTP/3采用QPACK压缩头部,解决了HTTP/2中HPACK的队头阻塞问题。目前各大浏览器、CDN服务商已经全面普及HTTP/3,是现在Web传输的主流方向。如果访问一个网站速度很慢,从网络角度你会怎么排查问题?答案:一般按照分层排查的思路,从前端到后端逐步定位:第一步先排查本地网络问题,测试访问其他网站是否正常,切换不同网络(比如手机流量替换WIFI)测试,如果换网络后速度正常,说明问题出在本地,比如本地WIFI信号差、本地运营商出口拥塞、本地DNS缓存污染。第二步排查DNS解析问题,用dig、nslookup工具测试域名解析,看解析出来的IP是否正确,解析延迟是否过高,如果解析错IP或者解析延迟高,说明是DNS问题,比如域名解析配置错误、DNS服务器不稳定、CDN调度错误。第三步排查网络层连通性和丢包,用ping测试目标IP的丢包率和延迟,如果ping网关就丢包,问题在本地网络;如果ping目标IP丢包延迟高,用mtr或者traceroute查看从哪一跳开始出现丢包延迟,定位是运营商骨干链路拥塞,还是目标服务器所在机房的网络出问题。第四步排查传输层和安全组配置,测试目标端口是否连通,看端口是否被服务器防火墙、云安全组拦截,如果端口不通,就是安全配置错误。第五步排查应用层问题,打开浏览器开发者工具或者用curl测试,看是DNS解析慢、TCP握手慢、TLS握手慢,还是服务器响应慢、资源加载慢:如果是服务器响应慢,排查服务器负载,看CPU、内存、带宽是否打满,后端接口逻辑是否有性能问题,数据库查询是否慢,连接池是否耗尽;如果是静态资源加载慢,排查是否没有开gzip压缩、没有配置缓存、没有使用CDN加速,资源体积过大;如果是HTTPS慢,排查是否TLS版本过低、证书配置错误、握手流程优化不到位。最后还要区分访问范围,如果只有某个地区某个运营商访问慢,大概率是CDN节点故障、运营商互联互通问题,或者CDN调度错误。什么是NAT,NAT有什么优缺点,为什么IPv6不需要NAT?答案:NAT即网络地址转换,核心作用是将内网的私有IP地址转换为公网可路由的公网IP地址,解决公网IPv4地址不足的问题。工作原理是:内网主机访问公网时,NAT网关会将报文的源IP、源端口替换为NAT网关的公网IP、公网端口,并在NAT转换表中记录对应关系;公网响应回来时,NAT网关根据转换表将目的IP、目的端口替换为内网主机的私有IP和端口,转发给内网主机,实现多个内网主机共用一个公网IP访问公网,大大节省了公网IPv4地址。NAT的优点:解决了公网IPv4地址不足的问题,隐藏了内网主机地址,提升了内网安全性,内网可以自由规划IP地址,不需要申请大量公网地址。NAT的缺点:第一打破了TCP/IP原生的端到端设计理念,内网主机无法直接被公网访问,要提供服务需要做端口映射,P2P连接需要打洞,增加了开发复杂度;第二NAT转发需要修改报文头、查询转换表,增加了转发延迟,对低延迟应用不友好;第三NAT会导致部分依赖IP端到端特性的协议出错,比如IPsec加密会因为IP修改校验失败,部分应用会把IP存在应用层payload中,NAT不会修改payload,导致应用逻辑错误;第四多个内网用户共用同一个公网IP,出现安全问题后难以溯源。IPv6拥有充足的地址空间,理论上每一个联网设备都可以分配一个唯一的公网IPv6地址,不需要通过NAT复用地址,恢复了IP原生的端到端连接,解决了NAT带来的所有问题,因此现在推广IPv6的核心目标之一就是淘汰NAT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PP-r管的安装施工方案
- 2025年细胞培养肉商业化路径
- 金融知识综合试题及对应答案
- 建设工程检测服务供应协议
- 化工园区挥发性有机物泄漏应急处置方案
- 开展文献阅读推广活动实施方案
- 海绵城市透水铺装应用技术方案
- 流域跨界水质协同管控工作手册
- 聚氨酯保温装饰板复合工艺技术手册
- 市政道路回填沉降监测报告
- 《实测实量管理制度》
- 2026秋北师大版小学数学四年级上册(新教材)教学计划附进度表
- 2025年直播电商粉丝画像分析工具
- 2026年秋季二年级英语上册教学计划(人教PEP版)
- 2026小学数学北师大版新教材培训:四至六年级教材解析
- 北京市东城区2025−2026学年第二学期期末样卷高一数学试题(含答案)
- 石油炼化安全生产自查报告范文
- 转让奶茶店合同范本
- 美国第一健康养生基地图森峡谷农场案例研究分析(上)
- 康复医学科教学查房记录
- GB/T 5796.4-2022梯形螺纹第4部分:公差
评论
0/150
提交评论