Chromium浏览器是免费开源的。它是谷歌Chrome和微软Edge的内核。
Chrome的一个功能导致全球根DNS过载。此功能的目的是防止用户劫持互联网服务提供商的流量。比如我们国家有三大ISP:移动、联通、电信。
DNS,或域名系统。DNS的目的是将难以记忆的服务器IP地址转换成相对容易记忆的域名。当我们访问一个网站时,我们不需要记住网站的服务器IP地址。只要输入域名,DNS就会自动把域名翻译成特定的IP地址。可以说,没有DNS,就没有互联网。
2009年5月19日夜,暴风的DNS造成江苏、河北、山西、广西、浙江等省部分用户断网。
2014年1月21日下午,我国通用顶级域名根服务器出现异常,导致国内部分用户无法访问的网站。com。
当浏览器加载一个大型网站的单个页面时,可能需要进行多次DNS查询。我分析了一下的首页,只有一万多字,涉及40个个人一级或二级域名。
对于负载平衡,DNS被设计为多层金字塔架构。金字塔的顶端是根服务器。全球只有13台IPV4根服务器,负责管理全球域名信息,其中美国10台,欧洲2台,日本1台。中国只有三个根服务器镜像。目前,全球共有25台IPV6根服务器,其中中国有4台。在根服务器的较低层,一些国家的域名管理机构有自己的域名数据库,称为顶级域名服务器。下一层是各个机构的域名服务器和ISP的缓存域名服务器。
因为DNS是多级缓存的分层结构,实际上全世界只有少数DNS查询会查询服务器。大部分人的查询都可以从当地ISP的DNS得到域名解析信息。如果本地ISP的DNS不知道答案,它会将查询转发给上一级DNS。最终,您可能会到根服务器进行查询。如果根服务器仍然无法查询,网站将无法访问。
Chrome为用户提供了便捷的单框搜索功能。我们可以在浏览器顶部的地址栏输入框中输入域名,或者输入关键词调用Google等搜索引擎。
使用企事业单位内网可能会遇到一些问题。它可以部署私有TLD来解析内部网站。比如企事业单位内网用户输入“营销”。如果企业内网有同名的内部网站,Chrome会显示一个信息栏,询问用户是搜索“marketing”还是访问http://marketing。然而,一些互联网服务提供商劫持每一个输入错误的网址,强迫他们跳转到发布广告的页面。
Chrome不想经常在地址栏询问用户是搜索关键词还是访问网站。所以Chrome的开发者在浏览器启动或者改变网络环境的时候做了一个测试:Chrome会随机生成3个7到15个字符的顶级域名进行DNS查询。如果这些请求中的任何两个返回相同的IP地址,Chromium会假设本地网络正在劫持它应该收到的NXDOMAIN错误,因此它只将所有单字条目视为搜索某个关键字。
遗憾的是,在没有劫持DNS查询结果的网络上,这三个查询往往会一路蔓延到根域名服务器:本地DNS不知道如何解析qwajuixk,于是将查询发送给上级,上级DNS仍然无法解析。最终查询会被转发到根域名服务器,根域名服务器最终可以明确这不是一个正确的域名。
因为大概有1.67 * 10 ^ 21个可能的7到15个字符的假域名,所以在网络上发出的每一个没有DNS劫持的探针查询,最终都会到达根域名服务器。从Verisign的根域名服务器的查询统计来看,这加起来占了根域名服务器总负载的一半。
我们可以在Chrome中设置禁用内网重定向检测器来解决这个问题。如果Chrome采取新的措施来解决这个问题,全球的根域名服务器可以减少600亿次虚假域名查询。
O'Reilly:DNS与BIND京东好评率98%无理由退换京东配送官方店旗舰店¥94购买