DNS解析 HTTP TCP/IP ICMP/NAT/NAPT相关知识点
DNS解析 HTTP TCP/IP ICMP/NAT/NAPT文章目录DNS解析 HTTP TCP/IP ICMP/NAT/NAPT 一、DNS相关面试题答案1. DNS解析过程是怎样的2. DNS使用的是TCP还是UDP为什么3. 什么是DNS缓存污染如何防止4. DNS负载均衡是如何实现的5. 什么是DNS劫持如何解决 二、HTTP相关面试题答案1. HTTP请求报文和响应报文的格式是什么2. GET和POST的区别是什么3. HTTP/1.0、HTTP/1.1、HTTP/2.0的区别4. 什么是HTTP长连接如何实现5. HTTPS是如何保证安全的 三、TCP/IP相关面试题答案1. TCP三次握手和四次挥手的过程2. 为什么需要三次握手两次不行吗3. TCP和UDP的区别4. 什么是粘包和拆包如何解决 四、ICMP NAT相关面试题答案1. ICMP的主要作用是什么2. ping命令的原理是什么3. NAT和NAPT的区别是什么4. NAT对P2P通信有什么影响总结好的我给你补充每个面试题的详细答案方便你准备面试 一、DNS相关面试题答案1. DNS解析过程是怎样的答案分步说明浏览器缓存浏览器先检查自己的DNS缓存操作系统缓存检查本机hosts文件和系统DNS缓存本地DNS服务器向ISP提供的本地DNS服务器查询根域名服务器本地DNS向根服务器查询返回顶级域名服务器地址顶级域名服务器向TLD服务器如.com查询返回权威域名服务器地址权威域名服务器向域名解析商如万网的服务器查询得到最终IP缓存结果本地DNS将结果缓存返回给客户端2. DNS使用的是TCP还是UDP为什么答案主要用UDP端口53UDP更快开销小大多数DNS查询数据量小512字节特殊情况下用TCP响应数据超过512字节如DNS SEC区域传输主从DNS服务器同步3. 什么是DNS缓存污染如何防止答案定义攻击者伪造DNS响应让DNS缓存错误的IP地址将用户引导到恶意网站防止措施DNSSECDNS安全扩展对DNS响应进行数字签名缓存清理定期清理DNS缓存配置安全DNS使用114.114.114.114、8.8.8.8等可信DNS4. DNS负载均衡是如何实现的答案一个域名对应多个IP地址DNS服务器轮询返回不同IP例如www.baidu.com可能返回多个IP用户轮流访问不同服务器优点简单、无需修改代码缺点无法感知服务器健康状态5. 什么是DNS劫持如何解决答案定义运营商或攻击者篡改DNS响应返回错误IP表现形式访问正常网站却跳转到广告页或无法访问解决方法修改DNS为公共DNS如114.114.114.114、223.5.5.5使用DNS over HTTPSDoH加密DNS查询使用VPN绕过运营商DNS 二、HTTP相关面试题答案1. HTTP请求报文和响应报文的格式是什么答案请求报文格式请求行方法 URL 版本 请求头key: value 空行 请求体可选示例POST /api/login HTTP/1.1 Host: example.com Content-Type: application/json Content-Length: 30 {username:admin,password:123}响应报文格式状态行版本 状态码 状态描述 响应头 空行 响应体示例HTTP/1.1 200 OK Content-Type: text/html Content-Length: 123 htmlbodyHello/body/html2. GET和POST的区别是什么答案对比项GETPOST数据传输URL参数请求体数据长度有限制浏览器/服务器限制理论上无限制安全性低参数暴露在URL较高幂等性幂等不幂等缓存可以被缓存一般不缓存后退/刷新无害会重新提交表单3. HTTP/1.0、HTTP/1.1、HTTP/2.0的区别答案版本主要特点HTTP/1.0短连接每个请求都需要新建TCP连接HTTP/1.1长连接keep-alive、管道化、更多缓存控制HTTP/2.0二进制分帧、多路复用、头部压缩、服务器推送4. 什么是HTTP长连接如何实现答案定义一个TCP连接可以发送多个HTTP请求和响应实现方式HTTP/1.1默认开启长连接Connection: keep-alive服务器和客户端都要支持并在空闲超时后关闭连接优点减少TCP握手开销提高性能5. HTTPS是如何保证安全的答案身份验证通过CA证书验证服务器身份加密传输混合加密非对称加密交换密钥 对称加密传输数据数据完整性通过MAC消息认证码防止篡改工作流程客户端请求HTTPS连接服务器返回证书包含公钥客户端验证证书合法性客户端生成对称密钥用服务器公钥加密发送后续通信使用对称密钥加密 三、TCP/IP相关面试题答案1. TCP三次握手和四次挥手的过程答案三次握手建立连接SYN客户端发送SYN包seqx进入SYN_SENTSYNACK服务器回复SYNACKseqy, ackx1进入SYN_RCVDACK客户端发送ACKacky1双方进入ESTABLISHED四次挥手断开连接FIN客户端发送FIN进入FIN_WAIT_1ACK服务器回复ACK进入CLOSE_WAIT客户端进入FIN_WAIT_2FIN服务器发送FIN进入LAST_ACKACK客户端回复ACK进入TIME_WAIT服务器关闭2. 为什么需要三次握手两次不行吗答案防止已失效的连接请求报文突然又传到服务器如果两次握手服务器收到一个失效的SYN就会建立连接浪费资源确保双方都有收发能力第一次客户端能发服务器能收第二次服务器能发客户端能收第三次确认双方都能正常通信3. TCP和UDP的区别答案对比项TCPUDP连接性面向连接无连接可靠性可靠确认重传不可靠有序性保证顺序不保证流量控制有无拥塞控制有无速度慢快应用场景HTTP、FTP、SMTPDNS、视频通话、游戏4. 什么是粘包和拆包如何解决答案定义TCP是流式协议多个消息可能粘在一起粘包或被拆开拆包解决方法固定长度每个消息固定长度分隔符如\n、\r\n长度字段消息头包含消息体长度 四、ICMP NAT相关面试题答案1. ICMP的主要作用是什么答案网络诊断ping、tracert等工具错误报告网络不可达、端口不可达、超时等2. ping命令的原理是什么答案发送ICMP Echo Request报文目标收到后回复ICMP Echo Reply计算往返时间RTT根据是否收到回复判断网络连通性3. NAT和NAPT的区别是什么答案NAT网络地址转换一对一的IP地址映射NAPT网络地址端口转换多个内网IP映射到一个公网IP通过端口区分家庭路由器用的就是NAPT4. NAT对P2P通信有什么影响答案问题NAT后面的设备没有公网IP外部无法主动连接解决方法UDP打洞通过中间服务器协调建立直接连接STUN/TURN协议协助NAT穿透端口映射手动配置路由器转发端口这些是每个面试题的详细答案你可以根据自己的理解进行精简或扩展。需要我帮你整理成面试背诵版吗总结这篇文章是作者搜集大量面经和资料这里出来的。感谢你的支持作者wkm是一名中国矿业大学(北京) 大一的新生希望得到你的关注如果可以的话记得一键三联
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2413796.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!