Android network之DNS【一】

本文深入讲解DNS(域名系统)的工作原理,包括手机客户端如何通过发送DNS查询包至域名服务器进行网址解析,以及DNS服务器间递归查询的过程。文章还探讨了DNS缓存的作用及常见查询失败情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DNS(Domain Name System)
简单来讲是将网址解析成地址的一套东西,一般手机作为client端,去询问外部server,即域名服务器,发出的包是dns query 包,属于53端口的udp包。
域名服务器有高低等级之分,最高级的当然是顶级域名服务器,当第一台server无法解析出网址,会接着向上转发,直到有server应答说可以解析,但现实情况有很多,并不是一直等到应答为止,比如:
1.server 回复dns response ,但是answer 为NULL
2.server返回 server failure等
3.网址在清掉cache之前再访问,不用再发dns query ,直接从cache中拿即可
目前dns code 主要分两块,一块是netd中的dnsproxylistener.cpp,另一块是bionic/libc/dns/net中的getaddrinfo.c,Android network之DNS【二】将详细讲述dns的 code flow 以及我个人认为比较重要的点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值