
这是一道古老的面试题,不过我们不再局限于平常的回答,而是想办法回答地尽可能具体,不遗漏任何细节。 GitHub 上已经有人整理了相关技术细节,详情请点击左下角阅读原文。
1 TJT Mar 5, 2017 少了一步,路由。这些数据包经过数个路由器,最后被路由到一堵墙上,返回了一个消息,又被路由回楼主的浏览器,显示 `Connection reset by peer`. |
2 kindjeff Mar 5, 2017 TCP 包被切开封装成 IP 数据包…… …… 转成二进制…… …… 线路上使用频分 /时分复用…… ……………… 到达交换设备 /路由器…… …… |
4 TJT Mar 5, 2017 @tianshuang 很久以前还没 DNS 污染这回事,那时候访问不存在的网站都是这个消息 :D |
5 langmoe Mar 5, 2017 电脑试图解析域名 电脑发送了 DNS 解析请求 数毫秒内得到了一个阿塞拜疆的 IP 地址返回 尝试访问,失败 卒 |
6 Osk Mar 5, 2017 路由器回应: Non-existent domain , 卒 |
8 laiyingdong Mar 5, 2017 Connecting... |
9 thekll Mar 5, 2017 via iPhone |
10 Clarke Mar 6, 2017 via Android 真是为难程序员…… |
11 halden Mar 6, 2017 不仅面试题。。当年我们考 OS 的时候最后一题就这个。。 |
12 dongxiaozhuo Mar 6, 2017 via iPhone 当前公司的面试题里面有类似的题目。 至于出这种题目的原因,可能是有的来面试的人根本不知道 dns 这么个东西。 至少我面试的人中有不少不知道 dns 。 |
13 isphone Mar 6, 2017 出现 404 |
14 Baymaxbowen Mar 6, 2017 via Android 去年期末考试题 |
15 firegeek Mar 6, 2017 面试必备,翻译的很到位 |
16 Senorsen Mar 6, 2017 域名被解析到沙特阿拉伯, Over. |
17 bombless Mar 6, 2017 via Android 90 年代末的时候有些网络本来就是局域网,因为运营商不想承担国际流量结算带来的费用。这种情况持续到谷歌被墙都存在。 |
18 stupil Mar 6, 2017 先从薄膜键盘 ,中断 ,总线 cpu 指令等说起。 |
19 glados01 Mar 6, 2017 internet 会 break down |
20 fszaer Mar 6, 2017 dns:不存在的,丢人,你退网吧 |
21 sneezry Mar 6, 2017 via iPhone ACK-> <-RST <-SYN |
22 Chrisplus Mar 6, 2017 是不是还漏掉了 GFW 的部分? |
23 dreamist Mar 6, 2017 应该是,解析到 google.com 的域名,然后 PAC 列表中查找,命中,把请求发到本地的 1080 端口,本地 server 再把请求转发到某个搬瓦工的机房的电脑上,这台机器帮我访问 goole.com 后把结果返回给我。 |
24 zjcqoo Mar 6, 2017 发生了什么?发生 keydown 事件。完毕:) |
25 yoke123 Mar 6, 2017 |
26 ehs2013 Mar 6, 2017 这帖子里面智障的说 404 的终于没几个了,欣慰 |
27 cxh116 Mar 6, 2017 有本事就讲讲 "当访问 Google 的时候,GFW 做了什么?" GFW 做什么对屁民来说是黑盒,把黑盒里的技术原理讲清楚才叫 NB . |
28 xuexb Mar 6, 2017 |
29 woostundy Mar 6, 2017 我发了一个 pull request ,楼主可以看看。 |
30 redsonic Mr 6, 2017 真正能完整答出来的肯定是早期在微软各个部门混过的,然后给 chrome 提交代码的,当然他如果是个中国人肯定也在数字公司、方正或神州数码混过。 |
32 initdrv Mar 6, 2017 图片挂了?好吧,站在梯子上,所以成功看见 GOOGLE 的首页被打开了…… |
33 TJT Mar 6, 2017 @tianshuang 希望病魔早日战胜方校长 |
34 salmon5 Mar 6, 2017 由于 google 是商业站点, gws 发现你没有带 www ,返回 301 到 http://www.google.com/, gws 发现你没有用 https ,返回 Alt-Svc:"quic=":443",让你走 https 。 |
35 sfwn Mar 6, 2017 还以为 google 可以直接访问了 : ) |
36 QAPTEAWH Mar 6, 2017 楼上漏了一步 - DNS 提供商记录了 lz 的行为 - 老大哥看着 lz |
37 Rubbly Mar 6, 2017 当时是计网的最后一道题,侧重点在网络的那些层上。 |
38 Mark24 Mar 6, 2017 发送到 DNS 服务器 被墙 返回 超时或者 404 |
39 Penton Mar 6, 2017 404 GG |
40 wyntergreg Mar 6, 2017 Google 官网 Gmail Google 学术搜索 Google 地图 Google 图片 ... 相关软件... 相关网站... 网虫们在关注... ... 相关搜索 ... 帮助 举报 给百度提建议 |
41 zingl Mar 6, 2017 你们都没有说如果浏览器和 /或系统设置了代理服务器的情况,严格来说都不完整 |
42 bayernmunchen Mar 6, 2017 via Android 你访问的地址不存在 |
44 RobertYang Mar 6, 2017 via Android TCP REST |
45 PoloLee Mar 7, 2017 看标题,以为会详细讲一下 GFW ... |
46 lan894734188 Mar 7, 2017 via Android 浏览器发送 dns 查询 系统查询缓存 木有 系统看看我的 dns 是多少 系统通过默认路由发出 路由收到 跟据路由表转发 . . . . . 路由收到 跟据路由表转发 dns 收到请求 dns 查询缓存 秒 get 到一个神奇的地址 dns 返回结果 路由收到 跟据路由表转发 . . . . . 路由收到 跟据路由表转发 客户端收到 告诉浏览器 浏览器尝试访问一个神奇的地址 … … … … … … 连接超时 |
47 bxgty Mar 7, 2017 题主既然说了"不遗漏任何细节"... 就应该至少说说(最重要的) google 数据中心内部发生了什么 另外,如果提一下 CDN 也会很好啊 |
48 ragnaroks Mar 7, 2017 |
49 koebehshian Mar 7, 2017 没人提 hosts 文件,还有底层的 TCP 窗口,路由,数据链路层拆分成帧,校验,还有物理层的调制解调. 总得分为三部分:一,电脑的变化.二,传播路径的变化.三,谷歌服务器的变化.文中貌似只提了第一部分 |
50 freeznet Mar 7, 2017 |
51 dif Mar 7, 2017 404 |
52 billwsy Mar 7, 2017 没提到 AS15169 里面的故事呢 |