详解下DNS协议

news2026/4/29 18:58:09
参考DNS 协议详解适合收藏学习_dns协议-CSDN博客简介我们之前聊了IP地址、路由、NAT这些都是为了让数据包能找到正确的目的地。但有一个根本问题你没提我们人类记不住IP地址。你能记住183.2.172.42是百度但你更可能记住的是www.baidu.com。DNS域名系统就是互联网的“电话簿”或“通讯录”。它的核心作用就是把你输入的域名如www.baidu.com翻译成计算机网络能理解的IP地址如183.2.172.42。没有DNS你上网得背一串串数字就像你给朋友打电话必须记住他11位手机号一样完全不可行。一. DNS的核心理念分布式、层次化、缓存DNS不像一个孤单的电话簿放在某个地方它是全球最大的分布式数据库有以下几个关键特性分布式没有单个服务器存所有域名。任何一台服务器崩溃都不会让整个互联网瘫痪。层次化域名结构像倒过来的树从根.到顶级域如.com、.cn再到二级域如baidu最后到主机www。缓存你查询过一次的结果会被临时存起来下次再查几乎瞬间完成极大减轻了根服务器压力。二. DNS的查询过程递归迭代第一阶段本地全面“自查”(在发起网络请求前)在真正发出DNS请求包之前你的电脑会像查户口一样先在本地进行三次排查这三次不会产生任何网络流量检查浏览器DNS缓存Chrome等浏览器会存一份短期DNS记录。检查操作系统Hosts文件这是一个本地的“强制”地址映射文件比如你可以把www.example.com指向127.0.0.1。它的优先级最高。检查操作系统DNS缓存这是由上一次DNS查询结果留下的“记忆”。如果以上三步都没找到对应的IP地址你的电脑才会“下定决心”正式发起一次DNS网络请求。第二阶段发起递归查询请求(请求到达本地DNS服务器)现在你的电脑DNS客户端会向你预先配置好的本地DNS服务器发起一个请求这个服务器通常是你网络接入时自动获取的如运营商的DNS或你自己设置的如114.114.114.114、8.8.8.8。这个请求的特点叫做递归查询非常形象你的电脑把自己当“甩手掌柜”直接问本地DNS服务器“给我‘www.baidu.com’的IP地址。”然后它就原地等待直到对方必须给一个明确的“是”或“否”的最终答案。第三阶段本地DNS服务器的迭代查询(它替你跑腿)你的本地DNS服务器收到请求后如果它自己的缓存里也没有答案就会开始为你满世界跑腿这个过程叫迭代查询问根域名服务器根服务器不会直接告诉答案但它会告诉本地DNS服务器“www.baidu.com里的.com归那边管这是它的地址。”问顶级域名服务器本地DNS服务器转头去问.com服务器.com服务器同样不会直接给答案它说“baidu.com这个域归那边的权威DNS服务器管你去问它。”问权威域名服务器本地DNS服务器最后去问baidu.com的权威DNS服务器。这位是最终的信息源它会直接给出最终答案www.baidu.com的IP地址是183.2.172.42。或者告诉你这个域名不存在最终本地DNS服务器拿到IP地址后把结果返回给你并且自己也存一份到缓存里以备下次快速使用。为什么会这样设计这种复杂的递归和迭代设计是平衡效率与负载的经典方案递归查询客户端到本地服务器把复杂的查找过程丢给专业的本地DNS服务器去完成普通设备电脑、手机只需要发出一次请求、接收一次结果非常省事。迭代查询本地服务器到全球服务器根域名服务器和顶级域名服务器不负责计算最终答案只负责“指路”。这让它们处理海量请求时保持极简和高效不至于被庞大的计算量拖垮。整个流程就像在问路你问本地图书馆本地DNS“北京市朝阳区XXX号怎么走”本地图书馆问国家图书馆根服务器“你知道怎么走吗”国家图书馆说“我不具体知道但你应该去问‘北京市’的图书馆顶级域地址是A。”本地图书馆又问北京市图书馆北京市图书馆说“你应该去问‘朝阳区’的图书馆权威DNS地址是B。”本地图书馆再问朝阳区图书馆朝阳区图书馆终于给出了具体地址。整个过程有几个层级就需要走几次“问路”。一个实用命令在命令行里输入nslookup www.baidu.com就能看到你的电脑是如何发起请求的。UnKnown表示这个 DNS 服务器没有反向解析到主机名正常现象10.237.25.6这是你当前系统使用的 DNS 服务器地址属于内网私有 IP说明你现在用的是公司 / 校园网的内部 DNS。非权威应答:表示这个解析结果不是从百度的权威 DNS 服务器直接获取的而是你本地 / 运营商 DNS 的缓存速度快但不保证实时最新。Aliases: www.baidu.com说明www.baidu.com是一个别名真实解析到的域名是www.a.shifen.com这是百度的官方业务域名。Addresses下面列出了百度的多个 IP两个 IPv6 地址以240e:开头两个 IPv4 地址220.181.111.232和220.181.111.1关键结论解析是成功的www.baidu.com正常解析到了百度的服务器 IP说明你的 DNS 工作正常。你的 DNS 是内网服务器10.237.25.6是内网私有地址通常是公司 / 学校的网关或内部 DNS。百度用了别名和多 IPwww.baidu.com指向www.a.shifen.com并且配置了多台服务器做负载均衡。谁才有真正的IP貌似非得从根服务器从上到下走一遍到最后权威服务器那里才能给出真正地ip地址你说得非常对从根服务器开始一级级问到权威服务器这确实是DNS查找过程的标准完整路径。但我们平时上网绝大多数查询并不会真正走到根服务器。之所以能跳过因为缓存机制Caching在中间起了巨大的作用。下面我们把这个过程分理论和实际两个场景来看。1. 理论上的完整路径你描述的情况假设你的电脑和本地DNS服务器完全没有任何缓存。你第一次访问www.baidu.com。那么本地DNS服务器必须从根开始问一遍问根.com是谁管问.com.baidu.com是谁管问baidu.com权威DNSwww的IP是多少 → 得到最终IP。这种情况确实会发生但只在第一次、缓存为空、且没有转发规则的理想实验环境下。在生产环境真实的互联网这种情况极少发生。2. 实际的互联网中发生了什么靠缓存大幅缩短路径实际上根域名服务器和顶级域.com服务器很少被真正查询。本地DNS服务器有缓存它存了之前某人查过的.com的权威服务器地址甚至直接存了baidu.com的权威服务器地址。当你要查www.baidu.com时它知道跳过根直接找baidu.com的权威服务器。操作系统/浏览器有缓存如果你在本地访问过www.baidu.com再次访问时直接命中本地缓存根本不会发任何DNS包出去。转发器Forwarder很多企业/运营商的DNS服务器不直接查根而是把请求转发给上游比如运营商的中心DNS。上游已经缓存了大量结果。实际最常见路径你问本地DNSwww.baidu.com的IP本地DNS查自己缓存 →命中→ 直接给你结果。只有未命中时它才会向上游转发或走完整递归。3. 为什么还要保留根服务器既然理想完整路径在现实中很少走为什么还要维护这13组根服务器权威起点保证世界统一在第一次启动、全网缓存失效、新域名刚注册时根服务器是唯一确定知道.com在哪的起点。没有它网络无法冷启动。传递信任保证安全DNSSEC根服务器持有信任链的最顶端用于验证.com的地址是否被篡改。应对缓存失效缓存不会永久存在TTL限制过期后必须再去根或顶级域重新获取。本地DNS服务器本地DNS服务器是啥一般在哪里布置的好问题。我们之前聊过“本地DNS服务器”这个概念现在正好可以结合你刚才那张网络截图把它完全讲透。一句话先给你结论本地DNS服务器就是离你最近、替你完成域名解析的那台专用服务器。它不在你家也不在你路由器里而是在你所在网络的运营商机房或企业内部机房。下面分三个层次把这个问题彻底讲清楚。一、本地DNS服务器到底是什么1.1 定义本地DNS服务器Local DNS Server也叫递归DNS服务器Recursive DNS Server是专门替你完成整个域名解析流程的那台服务器。它的职责是接收你电脑发来的DNS查询请求如果自己有缓存直接返回结果如果没有则从根服务器 → 顶级域服务器 → 权威服务器一路问下去拿到最终IP后返回给你并缓存一份1.2 它不是“家用路由器”你之前问“是不是指路由器”现在可以明确回答不是。对比项家用路由器DNS代理真正的本地DNS服务器角色转发器/缓存代理递归解析器是否从根开始问否转给上游是主动迭代查询典型IP192.168.1.1私有202.102.192.68公网或10.237.25.6企业私有部署位置你家弱电箱/客厅运营商机房/企业机房二、本地DNS服务器一般部署在哪里结合你截图中的10.237.25.6我们可以分三种场景来看。场景一家庭宽带运营商部署部署位置电信/移动/联通的城域网机房或省级核心机房IP特点公网IP如南京电信202.102.192.68上海联通210.22.70.3你电脑上看到的DNS地址要么是你家路由器LAN口IP192.168.1.1路由器转发给运营商DNS要么直接就是运营商DNS的公网IP物理距离通常在你所在城市延迟 5-15ms规模一台服务器服务几十万甚至上百万用户场景二企业/校园网络内部自建← 你当前的情况部署位置企业核心机房通常在服务器机柜里是一台或一组真实的服务器IP特点私有IP如你截图中的10.237.25.6、10.237.25.7硬件可能是Windows Server 带DNS角色Linux服务器运行BIND开源DNS软件、PowerDNS等商用设备如F5、Infoblox你电脑上看到的DNS地址直接就是这些私有IP因为DHCP把它们下发给你了物理距离跟你办公室在同一栋楼或同一个园区延迟 1ms规模服务本企业几千到几万台设备额外功能解析内网域名如erp.company.com→10.10.10.5域名黑名单屏蔽视频、购物网站访问日志审计场景三公共DNS服务商互联网部署部署位置全球多地数据中心Anycast技术即任播技术多个服务器共享同一个IP你被路由到最近的那个典型IP114.114.114.114南京信风国内8.8.8.8Google全球1.1.1.1Cloudflare全球223.5.5.5阿里国内你电脑上看到的DNS地址你手动填进去的物理距离通过Anycast你被路由到离你最近的数据中心国内城市规模每秒处理亿万级请求三、一张对比表类型部署位置IP类型典型IP示例谁在用能解析内网域名运营商DNS城域网/省公司机房公网202.102.192.68家庭宽带用户❌ 不能企业DNS企业内部机房私有10.237.25.6企业员工你✅ 能公共DNS全球数据中心Anycast公网114.114.114.114手动配置的用户❌ 不能四、结合你的截图你现在连的是哪一种从你发来的信息IPv4 地址: 10.240.225.40 IPv4 DNS 服务器: 10.237.25.6 10.237.25.7可以100%确定你现在连接的是企业/校园内部网络使用的是企业自建的DNS服务器。证据链你的IP是10.x.x.x私有DNS服务器也是10.x.x.x私有两者不在同一个网段10.240.x.xvs10.237.x.x说明DNS服务器在你所在网络的核心机房通过路由可达两台DNS25.6和25.7是做主备或负载均衡五、可视化数据包从你电脑到本地DNS服务器的路径[你的电脑] │ IP: 10.240.225.40 │ DNS请求: www.baidu.com 是什么IP │ 目标IP: 10.237.25.6企业本地DNS服务器 ▼ [楼层接入交换机] │ VLAN隔离二层转发 ▼ [汇聚交换机] │ 三层路由 ▼ [企业核心交换机/路由器] │ 路由到10.237.25.0/24网段 ▼ [DNS服务器 10.237.25.6] │ 放在企业核心机房的机架上 │ 可能是两台HP/DELL服务器运行BIND或Windows DNS │ 有缓存也可能需要去互联网根服务器问 ▼ 返回 IP 183.2.172.42六、为什么叫“本地”“本地”是相对“根服务器”而言的。根服务器全球只有13组注意不是13台是13组每组有多台在美国、欧洲、日本等地离你几千公里本地DNS服务器在同一个城市运营商场景或同一栋楼企业场景离你几公里甚至几百米每次DNS查询你的电脑只跟本地DNS服务器通信剩下的递归查询由它去完成。你不需要直接访问根服务器。DHCP如何知道DNS路由器的DHCP自动分配DNS路由器是咋知道DNS地址的你家用路由器里的DHCP服务器在给电脑分配DNS地址时它并不是凭空创造的。它实际上只是在做一件很简单的事情把自己知道的“那个”DNS地址原样告诉给电脑。这个地址的源头通常是以下三种途径之一最标准的来源从光猫/运营商那里“学”来的这是99%家庭路由器的默认行为。你的路由器WAN口从光猫获取上网权限时运营商会自动分配给它几个参数其中就包括最合适的运营商本地DNS服务器地址。路由器会把它们记下来。当内网设备请求网络配置时DHCP就把这个地址传下去。你手动告诉它的很多用户为了上网更快、更安全会登录路由器后台在WAN口或DHCP设置里把DNS手动改成公共DNS比如114.114.114.114或8.8.8.8。一旦你这样设置路由器就不再听运营商的而是忠实地把你填的地址广播给所有设备。路由器“冒充”DNS服务器路由器也可以选择把自己LAN口的IP地址比如192.168.1.1作为DNS下发给电脑。这就是让路由器扮演“DNS代理”。这种情况下电脑会把请求发给路由器路由器再以自己的身份去问真正的DNS服务器最后把结果返回给电脑。好处是路由器可以缓存结果下次再问同样域名时更快。DNS 工作机制假设运行在用户主机上的某些应用程序如 Web 浏览器或邮件阅读器 需要将主机名转换为 IP 地址。这些应用程序将调用 DNS 的客户端并指明需要被转换的主机名。DSN 客户端收到 DNS 后会使用 UDP 通过 53 端口向网络上发送一个 DNS 查询报文经过一段时间后DNS 客户端会收到一个主机名对应的 DNS 应答报文。因此从用户主机的角度来看DNS 就像是一个黑盒子其内部的操作你无法看到。但是实际上实现 DNS 这个服务的黑盒子非常复杂它由分布于全球的大量 DNS 服务器以及定义了 DNS 服务器与查询主机通信方式的应用层协议组成。DNS 最早的设计是只有一台 DNS 服务器。这台服务器会包含所有的 DNS 映射。这是一种集中式单点设计这种设计并不适用于当今的互联网因为互联网有着数量巨大并且持续增长的主机这种集中式的设计会存在以下几个问题单点故障(a single point of failure)单点通常上只有一台 DNS 服务器如果 DNS 服务器崩溃那么整个网络随之瘫痪。通信容量(traaffic volume)单个 DNS 服务器不得不处理所有的 DNS 查询这种查询级别可能是上百万上千万级。远距离集中式数据库(distant centralized database)单个 DNS 服务器不可能靠近所有的用户假设在美国的 DNS 服务器不可能临近让澳大利亚的查询使用其中查询请求势必会经过低速和拥堵的链路造成严重的时延。维护(maintenance)维护成本巨大而且还需要频繁更新。所以 DNS 不可能集中式设计因为集中式设计完全没有可扩展能力因此采用分布式设计这种设计的特点如下。分布式、层次数据库分布式设计首先解决的问题就是 DNS 服务器的扩展性问题。因此 DNS 使用了大量的 DNS 服务器它们的组织模式一般是层次方式并且分布在全世界范围内。没有一台 DNS 服务器能够拥有因特网上所有主机的映射。相反这些映射分布在所有的 DNS 服务器上。大致来说有三种 DNS 服务器根 DNS 服务器、顶级域(Top-Level Domain, TLD) DNS 服务器和权威 DNS 服务器。这些服务器的层次模型如下图所示。假设现在一个 DNS 客户端想要知道 www.amazon.com 的 IP 地址那么上面的域名服务器是如何解析的呢首先客户端会先根服务器之一进行关联它将返回顶级域名 com 的 TLD 服务器的 IP 地址。然后客户端与这些 TLD 服务器之一联系它将为 amazon.com 返回权威服务器的 IP 地址。最后该客户与 amazom.com 权威服务器之一联系它为 www.amazom.com 返回其 IP 地址。DNS 层次结构我们现在来讨论一下上面域名服务器的层次系统。根 DNS 服务器有 400 多个根域名服务器遍及全世界这些根域名服务器由 13 个不同的组织管理。根域名服务器的清单和组织机构可以在 https://root-servers.org/ 中找到根域名服务器提供 TLD 服务器的 IP 地址。顶级域 DNS 服务器对于每个顶级域名比如 com、org、net、edu 和 gov 和所有的国家级域名 uk、fr、ca 和 jp 都有 TLD 服务器或服务器集群。所有的顶级域列表参见 https://tld-list.com/ 。TDL 服务器提供了权威 DNS 服务器的 IP 地址。权威 DNS 服务器在因特网上具有公共可访问的主机如 Web 服务器和邮件服务器这些主机的组织机构必须提供可供访问的 DNS 记录这些记录将这些主机的名字映射为 IP 地址。一个组织机构的权威 DNS 服务器收藏了这些 DNS 记录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2566383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…