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 以及我个人认为比较重要的点。
Android network之DNS【一】
最新推荐文章于 2022-12-01 15:10:28 发布