【IP 与 DNS 图文详解】:从地址到名字通俗演义,一篇讲透
面向零基础但比入门更深。读完你会理解两个概念IP 是设备的门牌号 邮递规则负责把数据送到哪台机器DNS 是翻译官负责把人记得住的域名翻成机器要用的 IP。它们是互联网上的一对搭档——IP 管送到哪DNS 管名字怎么变成地址。两篇整合在一起从上往下读就能把这条链路想通。目录一个场景先代入一IP —— 互联网的门牌号与邮递规则1、IP 是什么2、IP 能干什么3、IP 怎么工作机制详解4、为什么这样设计二DNS —— 把名字翻成地址的翻译官1、DNS 是什么2、DNS 能干什么3、DNS 怎么工作机制详解4、为什么这样设计三串起来 —— 从输域名到看到网页四常见误区五句话总结附排错小抄一个场景先代入你想打开百度浏览器里敲的是baidu.com而不是一串数字。可网络真正靠数字地址通信——谁把baidu.com翻成了背后的 IP这一步叫DNS。但再往下想一层就算拿到了 IP网络又靠什么把数据送到那台机器这就要靠IP。所以一次上网其实是两段配合先用 DNS 把名字翻成 IP再用 IP 把数据送到目的地。下面先讲地基IP再讲名字层DNS最后把全过程串起来。小提示下文用110.x.x.x、192.168.1.x这类数字只是示意真实 IP 会变、大网站往往有多个 IP负载均衡别死记某个数字。一IP —— 互联网的门牌号与邮递规则1、IP 是什么IP 是 Internet Protocol互联网协议一套规定数据怎么编地址、怎么找路、怎么送的规则。IP 地址是这套规则给每台联网设备分配的逻辑编号相当于网络门牌号。没有它互联网不知道一条消息该交给谁像快递没有收件地址会原地打转。它是逻辑地址不是物理地址。网卡上有出厂烧死的MAC 地址硬件死编号终身不变IP 则是软件分配、可变的逻辑地址换网络就能换。互联网用可规划、可变的 IP 组织几十亿设备比死板的 MAC 灵活——这是后面所有设计的根。一个 IP 地址由网络号 主机号组成前面是网络哪片网后面是主机网里哪台怎么切分靠子网掩码。IPv432 位点分十进制如192.168.1.1总数约 43 亿早已不够用。IPv6128 位如2001:db8::1近乎用不完并简化了头部、内置安全特性。重要限定IP 地址在某一个网络内唯一并非全球唯一。比如192.168.1.5在你家、邻居家、公司里可能同时存在因为它们是不同的私网靠 NAT 和网络号区分不会真撞车。准确说法是同一网络内一个 IP 只能给一台设备。IP 端口送到主机还不够。IP 只负责把数据送到哪台设备。但一台设备上同时跑着浏览器、微信、游戏……数据该交给谁靠端口port——IP 找主机端口找程序IP 端口才能唯一定位一次通信如 80网页、443HTTPS、53DNS。所以IP 是门牌号端口是房间号。概念一句话子网掩码 / CIDR区分地址里哪部分是网络、哪部分是主机如192.168.1.0/24表示前 24 位是网络前缀公网 / 私网10.0.0.0/8、172.16.0.0/12、192.168.0.0/16是私网外面路由不到须靠 NAT 才能上网静态 / 动态动态 IP 由 DHCP 自动分配发现→提供→请求→确认四步换 WiFi 常拿到不同地址2、IP 能干什么核心就两条——标识设备和把数据准确送达上层应用都建在这之上能力说明例子标识设备给每台设备唯一编号同网内路由器区分家里的手机和电脑寻址与路由决定数据从 A 到 B 走哪条路你刷的视频从服务器找到你的手机跨网互联把不同技术、不同运营商的网络连成互联网电信用户能访问联通机房的网站支撑应用给网页、视频、游戏提供送达底座配合端口定位程序微信、抖音、网游都建在 IP 端口之上一句话IP 自己不直接给你看视频它是底层快递网络——没有它上层所有 App 都寸步难行。3、IP 怎么工作机制详解先懂分层与封装。网络常按 TCP/IP 四层模型理解数据发送时层层套信封到对端再一层层拆开。IP 在网络层专管写地址 找路。层名字干的事邮递类比应用层HTTP / 微信 / 抖音产生要送的内容你写好的信传输层TCP / UDP把内容切段(segment)、用端口区分程序把长信分装进几个信封写明房间号网络层IP给每个包写源/目标地址、找路送走邮局按地址分拣转运链路/物理层网线 / WiFi / 光纤真正把信号传过去靠 MAC卡车把邮包实际运走注意区分分段(segment)是传输层 TCP 干的把长数据切成段分片(fragmentation)是网络层 IP 干的遇到链路装不下的大包再切小。本文说 IP 的切包指分片。一次发送全过程北京手机 → 上海服务器应用层产生内容我要看这个视频。传输层TCP把内容切成带编号的段加上端口信息保证可靠、可重组、丢了能重传。IP 层给每段套头部写源 IP和目标 IP——像信封写清地址。链路层发出去这里要靠 MAC由 ARP 解析。路由器逐跳转发每台看目标 IP、查路由表、扔给下一跳不同包可走不同路径分组交换。终点重组服务器 TCP 按编号拼回完整内容按端口交给对应程序。路由表与最长前缀匹配路由器决策核心每台路由器有一张路由表目标网络、掩码、下一跳、出接口。转发时拿目标 IP 和表里每条掩码做与运算找出匹配的网络多条都匹配时选掩码最长最精确的那条都匹配不到就走默认路由0.0.0.0/0其他全交给我上司。TTL 与 ICMP防环路 诊断每个 IP 包带一个 TTL生存时间每过一台路由器减 1减到 0 就丢弃并给源发 ICMP超时报文——这样即使路由配错形成环路包也不会永远绕圈。ICMP 是 IP 的控制信使承载差错和诊断信息。ping发 ICMP回声请求对方回回声应答判断通不通、延迟多少。tracerouteWin 叫tracert故意把 TTL 从 1 递增逐跳暴露路径上每一跳的地址排查卡在哪一段。MTU / 分片IPv4 vs IPv6 区别不同链路最大传输单元MTU不同以太网 1500 字节大块须切小。IPv4路由器可再分片到终点重组IPv6不允许中间路由器分片只能由发送端自己分好否则丢弃并返回错误。NAT私网共用公网出口家用全是私网地址、外面找不到路由器用 NAT靠连接跟踪表把内网 IP:端口 映射成公网 IP:端口让全家共用一个公网 IP 上网回包再按表分回各设备。它是 IPv4 不够用时代的救急补丁。4、为什么这样设计为什么必须有地址几十亿设备互联统一编址才能唯一标识、准确投递同网内唯一即可靠网络号区分不同网。为什么用逻辑 IP 而非 MACMAC 扁平无法按地域归类IP 结构化可聚合路由器看前缀即知方向路由表才不会爆炸。为什么分包/分片链路尺寸不同、避免一条数据独占线路、单包坏只重传它——分组让网络公平又健壮。为什么逐跳路由无中央调度断线自动绕路、动态最优、随时扩容——互联网打不垮的根。为什么 CIDR 取代分类地址老分类浪费严重、路由表膨胀CIDR 按需划分 聚合省地址又省表。为什么有私网 NAT、还要 IPv6IPv4 仅 43 亿不够NAT 救急但破坏端到端地址仍紧IPv6 从根上放大地址、简化头部、内置安全、即插即用根治问题。为什么分层各层只管自己的事任一层升级如 WiFi 换代不影响其他层复杂度才拆得动。二DNS —— 把名字翻成地址的翻译官1、DNS 是什么DNS 是 Domain Name System域名系统。它干两件事一是分布式数据库存着域名 ↔ IP的对应关系二是查询协议规定怎么去查这个关系。它解决的根本问题人记不住数字但记得住名字。全球几十亿网站若都靠背 IP没人记得住。DNS 让你用baidu.com、qq.com上网背后默默查好对应 IP。类比DNS 像手机通讯录——你存张三这个名字拨出时自动翻成他的电话号码。DNS 就是整个互联网的超级通讯录。关键概念域名 / FQDNwww.baidu.com这种网站名字给人看的末尾还隐含一个根点.叫完全限定域名 FQDN。解析ResolutionDNS 把域名查成 IP 的整个过程。解析器Resolver你电脑 / 运营商提供的代查代理替你跑完整个查询。2、DNS 能干什么核心只有一条——域名 ↔ IP 的翻译派生用途遍布全网能力说明例子访问网站输入域名DNS 翻出 IP 才能连服务器输baidu.com就能打开不用记数字邮件路由通过 MX 记录指邮件发到哪台服务器给qq.com发信按 DNS 找到邮箱服务器负载均衡一个域名对应多个 IP轮流分配海量用户访问流量分散到多台机器容灾切换主服务器挂了DNS 改指向备用机用户无感知切到备份CDN 调度按位置返回最近的节点 IP看视频自动连离你最近的节点反向解析由 IP 反查域名PTR 记录邮件服务器验证来源、日志排错一句话没有 DNS上网就得背 IP有了它记名字就行复杂的事它替你办。3、DNS 怎么工作机制详解域名层级结构以www.baidu.com.为例从右往左层级递减. ← 根最顶层所有查询起点 com ← 顶级域 TLD.com/.cn/.org… baidu ← 二级域你注册的部分 www ← 主机名具体某台机器管理也是分布式、分层的——没有一台机器存全世界记录各管一段根服务器知道所有顶级域.com、.cn…在哪。TLD 服务器知道.com下各域名的权威服务器在哪。权威服务器域名主人自己或托管商架设存着baidu.com真正的记录。递归解析器Resolver你和网络之间的代理替你跑完整个查询并把结果带回。13 台根服务器是逻辑概念根有 A–M 共 13 个逻辑编号但每个都用Anycast任播部署成全球数百个物理节点——你问到的根是离你最近的那一个副本所以既快又扛得住。物理节点远多于 13 个13只是逻辑编号数。一次完整解析访问www.example.com查缓存浏览器 → 操作系统 → 本地解析器逐级看有没有现成结果三层缓存。问本地解析器递归你的电脑把帮我查交给它家庭网络里通常是电脑 → 路由器常作转发器→ 运营商的递归解析器由运营商解析器包办后续。问根解析器问根.com 找谁根回.com 的 TLD 在某某地址。问 TLD再问.comexample.com 找谁TLD 回它的权威服务器在某某地址。问权威权威查自己的记录返回www.example.com对应的 IP。带回并缓存解析器把 IP 回给你的浏览器并按TTL暂存一段时间之后短时间再访问直接从缓存拿。递归 vs 迭代你 → 解析器 这步是递归解析器包办到底解析器 → 根/TLD/权威 这步是迭代每台只指下一步。这样把重活集中在解析器终端省心。DNS 报文结构了解轮廓头部含ID把请求和响应配对、QR0 请求 / 1 响应、各种标志位RD期望递归、RA可用递归、TC截断等、RCODE响应码。四段Question查什么、Answer回答、Authority权威、Additional额外如 glue 地址。传输默认UDP 53快、无连接响应太大或做区传送时用TCP如今 EDNS 让 UDP 也能承载更大报文。记录类型不止 A 记录A域名 → IPv4AAAA域名 → IPv6。CNAME别名指向另一个域名会形成别名链。MX邮件服务器带优先级数字小优先。NS指向该域的权威服务器SOA区域起止含序列号/刷新/重试/过期/TTL用于主从同步。TXT存文本常用于 SPF / 域名验证PTR反向解析IP → 域名。TTL 详解每条记录都带 TTL秒告诉缓存多久算过期。改了记录要等旧 TTL 失效全网才更新——这就是为什么改 DNS 记录不是立刻生效。实战nslookup / dig人人该会nslookup baidu.com看域名解析出哪些 IP。dig baidu.com更详细含各段记录和耗时。dig 8.8.8.8 baidu.com指定用某个解析器查。dig trace baidu.com把根 → TLD → 权威的迭代链条完整打印最能看清解析过程。4、为什么这样设计为什么需要 DNS人记不住 IP且 IP 会变动迁移、扩容用固定名字绑定、背后随时改 IP对用户无感知。为什么分布式而非集中一台一台宕机全网瘫痪单点故障也扛不住几十亿次查询分散到无数台才扛得住、瘫不了。为什么分层根只管顶级域在哪、TLD 只管各域名权威在哪、权威只管自己的记录职责清晰、各管一段新增域名/新顶级域都不用动全局天然可扩展。为什么缓存 TTL每次都从根查太慢太累。缓存让常见查询秒回TTL 平衡快和准。为什么根只有 13 个逻辑编号历史上是早期 UDP 512 字节上限能容纳的清单规模如今靠 Anycast 复制成全球多节点数量早已不是瓶颈。为什么缓存是双刃剑提速的同时也可能让错误的 / 被污染的记录被记住一段时间。为什么有 DNSSEC传统 DNS 不验证回答真伪易被篡改或投毒DNSSEC 用链式数字签名验证这条记录确实是权威给的、没被改。为什么有 DoH / DoT早年 DNS 查询明文可见易被窃听或劫持DoHDNS over HTTPS、DoTDNS over TLS把查询加密提升隐私与安全。三串起来 —— 从输域名到看到网页把两段拼成一条完整链路以打开www.baidu.com为例名字 → 地址DNS 出场浏览器先把www.baidu.com交给解析器走缓存 → 根 → TLD → 权威拿到目标 IP如110.x.x.x。这一步解决要去哪台机器。写信封IP 出场你的电脑把这个 IP 当作目标地址把网页请求封装成 IP 包源 IP 你目标 IP 百度服务器再交给传输层加上端口目标 443。本地出门MAC ARP 出场IP 包要在链路层发出必须先知道下一跳的 MAC——同网段直接解析对方跨网段则解析网关的 MAC由 ARP 完成。逐跳送抵IP 继续帧进入路由器路由器按最长前缀匹配逐跳转发跨越无数网络到达百度服务器。回程服务器按端口把网页数据交还你的浏览器数据原路或另路返回你看到页面。一句话收束DNS 负责把名字变成 IPIP 负责拿着 IP 把数据送到ARP/MAC 负责在本地把帧递给正确的网卡——三者接力才完成一次上网。想在深入了解 MAC 的朋友请参考另一篇【MAC 与 ARP 图文详解】本地这一跳怎么精准送达寻址全揭秘-CSDN博客四常见误区误区真相IP / DNS 就是网速两者都只管送到哪 / 翻成啥快慢由带宽、延迟决定域名就是整个网址域名是baidu.com网址还含https://协议和/路径IP 和域名一一对应一个域名可对应多个 IP负载均衡一个 IP 也可挂多个域名虚拟主机改了 DNS 记录立刻全球生效受 TTL 限制旧缓存失效前不会更新记某个 IP 就能一直访问某网站大网站 IP 会变、且有多个应记域名而非某个数字换地方上网 IP 不变动态 IP 随网络变化连不同 WiFi 常拿到不同地址MAC 和 IP 是一回事MAC 是硬件死地址终身不变、管本地IP 是逻辑可变地址、管跨网各司其职能 ping 通 网站正常ping 通只说明 IP 层通网站服务如 Web 进程挂了仍可能打不开私网地址能被外网直接访问私网地址外部路由不到需端口映射 / 公网 IP 才行IP 直接把数据送给某个软件IP 只送到主机具体给哪个程序靠端口五总结IP 是什么互联网协议IP 地址是设备的逻辑门牌号网络号 主机号靠掩码切分同网内唯一端口才是定位具体程序的房间号。IP 怎么工作数据分段 → 每包写源/目标 IP → 路由器按最长前缀匹配逐跳转发TTL 防环→ 终点按端口重组ping / traceroute 是诊断利器。DNS 是什么域名系统互联网的翻译官 / 电话簿把名字翻成 IP。DNS 怎么工作域名分层 → 解析器经路由器转发给运营商递归递归代查 → 根 / TLD / 权威逐级迭代指向 → 拿到 IP 并三级缓存dig trace能看清全过程。为什么要这样IP 用可规划地址、分包、逐跳路由换来全球互联DNS 用分布式、分层、缓存换来可扩展、高可用的命名再用 DNSSEC / DoH / DoT 补安全短板。附排错小抄目的命令Win看懂什么看本机配置ipconfig /all有没有 IP、网关、DNS 对不对测内网ping 网关IP通 本地链路 OK测外网ping 8.8.8.8通 出网正常IP 层测域名ping baidu.com通 DNS 也正常先确认上一步通看路径tracert baidu.com看卡在哪一跳测 / 换解析nslookup baidu.com网卡 DNS 改8.8.8.8能否解析排除运营商 DNS 故障清 DNS 缓存ipconfig /flushdns排除本地旧记录干扰看迭代链dig trace baidu.com卡在根 / TLD / 权威哪一段快速判断是不是 DNS 的问题能ping 8.8.8.8IP 层通网络本身没问题却打不开任何网页——多半是 DNS 解析层出故障。先ipconfig /flushdns清缓存、或把网卡 DNS 改成8.8.8.8试试往往就能定位。结尾希望对大家有帮助