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