想象一下用户坐在一台连接以太网的电脑前。他打开了浏览器。他在地址栏中输入“www.google.com”并按回车键。
现在告诉我以太网上出现的第一个数据包是什么。
我在这里找到了这个问题:Socket编程和多线程面试题 https://stackoverflow.com/questions/177197/interview-questions-on-socket-programming-and-multi-threading
由于我不是网络专家,我想听到答案(我认为它是“这取决于”;))。
使用像 Wireshark 这样的工具,我显然可以检查自己的计算机行为。我想知道我看到的数据包(例如 ARP、DNS、VRRP)在每个以太网配置中是否相同(是否取决于操作系统?驱动程序?甚至浏览器:)?)以及哪些条件他们出现了。在数据链路层上,它甚至可能依赖于物理网络(连接到集线器/交换机/路由器)吗?
关于使用 ARP 查找 DNS 服务器的答案通常都是错误的。
特别是,对于网外IP地址的IP地址解析是never使用 ARP 完成,路由器没有责任回答此类 ARP 查询。
网外路由由client机器知道哪些 IP 地址位于其所连接的本地子网上。如果请求的 IP 地址不是本地的,则客户端计算机将参考其路由表来查找将数据包发送到哪个网关。
因此在大多数情况下first发出的数据包将是一个 ARP 请求,用于查找默认网关的 MAC 地址(如果 ARP 缓存中尚不存在该地址)。
只有这样它才能通过网关发送 DNS 查询。在这种情况下,发送的数据包的 IP 目标字段中包含 DNS 服务器的 IP 地址,但以太网数据包上包含网关的 MAC 地址。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)