面试计算机网络框架八股文十问十答第六期

2024-02-16 06:28

本文主要是介绍面试计算机网络框架八股文十问十答第六期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

面试计算机网络框架八股文十问十答第六期

作者:程序员小白条,个人博客

相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!

⭐点赞⭐收藏⭐不迷路!⭐

1)DNS 协议是什么

DNS(Domain Name System)是一种用于将域名转换为 IP 地址的分布式命名系统。简单来说,它充当了互联网上的“电话簿”,将人类可读的域名(如example.com)转换为计算机可识别的 IP 地址(如192.0.2.1)。这种系统使得用户能够通过简单易记的域名来访问网站,而无需记住复杂的 IP 地址。

2)DNS同时使用TCP和UDP协议?

是的,DNS可以同时使用TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)协议。通常情况下,DNS查询使用UDP协议,因为UDP是一种无连接的、速度较快的协议,适合用于简单的查询。但是,当DNS响应超过512字节时,会使用TCP协议进行通信,因为UDP协议有一个限制,无法传输超过512字节的数据。

3)DNS完整的查询过程

DNS查询过程可以分为以下几个步骤:

  1. 本地解析器查询缓存:首先,客户端会查询本地DNS解析器的缓存,看是否已经解析过该域名。如果有,就直接返回结果。
  2. 本地解析器向根域名服务器查询:如果本地解析器缓存中没有相应的记录,它会向根域名服务器发送查询请求,询问该域名的顶级域名服务器的地址。
  3. 根域名服务器返回顶级域名服务器地址:根域名服务器收到请求后,会返回顶级域名服务器的地址,比如.com、.net等顶级域名服务器。
  4. 本地解析器向顶级域名服务器查询:本地解析器收到顶级域名服务器的地址后,会向该服务器发送查询请求,询问该域名的权威域名服务器的地址。
  5. 顶级域名服务器返回权威域名服务器地址:顶级域名服务器收到请求后,会返回权威域名服务器的地址,该服务器通常由注册商或域名所有者管理。
  6. 本地解析器向权威域名服务器查询:本地解析器收到权威域名服务器的地址后,会向该服务器发送查询请求,请求解析该域名对应的IP地址。
  7. 权威域名服务器返回IP地址:权威域名服务器收到请求后,会返回该域名对应的IP地址给本地解析器。
  8. 本地解析器将IP地址返回给客户端:最后,本地解析器会将获取到的IP地址返回给客户端,并将该记录存储在缓存中,以备后续查询使用。

这是一个简化的DNS查询过程,实际情况可能会更加复杂,特别是在涉及到DNS缓存、负载均衡和安全策略等方面。

4)迭代查询与递归查询

  • 迭代查询:在迭代查询中,客户端会向DNS服务器发送查询请求,如果该服务器能够解析该域名,就会返回结果;如果不能解析,它会返回一个指向另一个DNS服务器的引用。然后客户端将向该引用的服务器发送查询请求,直到最终找到解析结果或者遇到错误。
  • 递归查询:在递归查询中,客户端向DNS服务器发送查询请求,并要求服务器帮助解析该域名。如果服务器能够解析,它会返回结果;如果不能解析,它会代表客户端继续向其他DNS服务器发送查询请求,直到最终找到解析结果或者遇到错误,并将最终结果返回给客户端。

5)DNS 记录和报文

  • DNS记录:DNS记录是存储在DNS服务器中的数据,用于将域名映射到相应的IP地址或其他信息。常见的DNS记录类型包括:
    • A记录:将域名映射到IPv4地址。
    • AAAA记录:将域名映射到IPv6地址。
    • CNAME记录:将域名指向另一个域名,实现域名的别名。
    • MX记录:指定邮件交换服务器,用于电子邮件路由。
    • NS记录:指定该域名的域名服务器。
    • SOA记录:指定该域名的起始授权机构。
  • DNS报文:DNS报文是在DNS查询和响应过程中传输的数据包。它包含了查询或响应的各种字段和标志位,以及相关的查询参数或响应结果。DNS报文一般分为查询报文和响应报文,它们的格式由DNS协议规定。

6)OSI七层模型

OSI(Open Systems Interconnection)七层模型是一个用于理解和描述计算机网络协议的抽象模型,由国际标准化组织(ISO)制定。这个模型将计算机网络通信的过程分为七个层次,每个层次都负责不同的功能和任务。这些层次从底部到顶部分别是:

  1. 物理层(Physical Layer):负责传输原始比特流,并控制物理设备间的连接。
  2. 数据链路层(Data Link Layer):提供了节点间可靠的数据传输,并处理物理层的错误。
  3. 网络层(Network Layer):负责在不同网络间传输数据包,并处理路由和转发。
  4. 传输层(Transport Layer):提供端到端的可靠数据传输,包括数据分段、流量控制和错误恢复。
  5. 会话层(Session Layer):管理两个节点间的通信会话,包括会话的建立、维护和终止。
  6. 表示层(Presentation Layer):负责数据格式的转换、加密和压缩,以确保不同系统间的数据交换能够顺利进行。
  7. 应用层(Application Layer):提供用户与网络服务之间的接口,包括各种网络应用协议,如HTTP、FTP、SMTP等。

这个模型有助于理解不同网络协议在网络通信中的作用和位置。

7)TCP/IP五层协议

TCP/IP五层协议,也被称为TCP/IP协议栈,是互联网通信中使用的基本网络协议,包括以下五个层次:

  1. 物理层:负责传输比特流,定义了电缆、光纤等物理媒介的规范。
  2. 数据链路层:处理数据帧的传输,确保在相邻节点间的可靠通信,包括对物理层错误的检测和纠正。
  3. 网络层:处理数据包在网络中的寻址和路由,负责将数据从源主机传输到目标主机,涉及IP地址和路由表的使用。
  4. 传输层:提供端到端的通信,包括TCP(Transmission Control Protocol)和UDP(User Datagram Protocol),负责数据的可靠性、流量控制和错误恢复。
  5. 应用层:为用户提供网络服务,包括常见的应用协议如HTTP、FTP、SMTP等。

8)TCP 和 UDP的概念及特点

  • TCP(Transmission Control Protocol):TCP是一种面向连接的、可靠的传输协议。它通过三次握手建立连接,提供数据的顺序传输、重传机制和流量控制,确保数据的可靠性。TCP适用于需要可靠传输、顺序传输的应用,如文件传输、网页访问等。
  • UDP(User Datagram Protocol):UDP是一种无连接的、不可靠的传输协议。它不进行握手和连接建立,只是简单地传输数据包,不提供数据的可靠性和流量控制。UDP适用于对实时性要求较高、容忍少量丢失的应用,如音频、视频流传输等。

9)TCP和UDP的区别

  • 连接性:TCP是面向连接的,需要进行三次握手建立连接;UDP是无连接的,不需要建立连接。
  • 可靠性:TCP提供可靠的数据传输,包含重传机制和错误恢复;UDP不提供可靠性保证,数据包可能会丢失或乱序。
  • 流量控制:TCP具有流量控制机制,通过窗口控制确保发送和接收之间的平衡;UDP不提供流量控制,发送者以固定速率发送数据。
  • 传输速度:由于TCP提供可靠性,其传输速度可能较慢;UDP由于不保证可靠性,传输速度较快。

10)TCP和UDP的使用场景

  • TCP 使用场景
    • 文件传输:FTP等协议使用TCP来确保文件的完整传输。
    • 网页访问:HTTP协议使用TCP进行可靠的数据传输。
    • 邮件传输:SMTP等协议使用TCP来确保邮件的可靠传递。
    • 远程登录:SSH等协议使用TCP来提供安全的远程登录服务。
  • UDP 使用场景
    • 实时音视频传输:VoIP、视频会议等应用通常使用UDP,因为对实时性要求高,可以容忍少量数据丢失。
    • 游戏应用:在线游戏常使用UDP,因为对延迟敏感,而且可以容忍一定程度的丢包。
    • DNS查询:DNS使用UDP进行域名解析查询,因为查询通常是短时且轻量级的,不需要TCP的可靠性。

开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system

已 300 + Star!

⭐点赞⭐收藏⭐不迷路!⭐

这篇关于面试计算机网络框架八股文十问十答第六期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/713748

相关文章

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

java面试常见问题之Hibernate总结

1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象。) Ø  OID检索(按照对象的OID来检索对象。) Ø  HQL检索(使用面向对象的HQL查询语言。) Ø  QBC检索(使用QBC(Qurey By Criteria)API来检索对象。 QBC/QBE离线/在线) Ø  本地SQL检索(使用本地数据库的SQL查询语句。) 包括Hibern