Browser 开始浏览时要发送的第一个数据包
想象一个用户坐在一台连接以太网的PC前,他打开了一个浏览器。他在地址栏中键入“www.google.com”,然后按enter键 现在告诉我以太网上出现的第一个数据包是什么 我在这里发现了这个问题: 因为我不是一个网络专家,所以我想听听答案(我假设答案是“视情况而定”) 有了Wireshark这样的工具,我显然可以检查自己的计算机行为。我想知道我看到的数据包(例如ARP、DNS、VRRP)在每个以太网配置中是否相同(是否取决于操作系统?驱动程序?甚至浏览器:)?),以及它们出现的条件。在数据链路层,它甚至可能依赖于物理网络(连接到集线器/交换机/路由器) 您可以随时下载并查看Browser 开始浏览时要发送的第一个数据包,browser,network-programming,network-protocols,packet,arp,Browser,Network Programming,Network Protocols,Packet,Arp,想象一个用户坐在一台连接以太网的PC前,他打开了一个浏览器。他在地址栏中键入“www.google.com”,然后按enter键 现在告诉我以太网上出现的第一个数据包是什么 我在这里发现了这个问题: 因为我不是一个网络专家,所以我想听听答案(我假设答案是“视情况而定”) 有了Wireshark这样的工具,我显然可以检查自己的计算机行为。我想知道我看到的数据包(例如ARP、DNS、VRRP)在每个以太网配置中是否相同(是否取决于操作系统?驱动程序?甚至浏览器:)?),以及它们出现的条件。在数据链路
虽然这会破坏乐趣 假设主机的IP地址未缓存,DNS服务器的MAC地址未缓存,则将发送的第一件事将是广播消息,试图找出DNS服务器的MAC地址(路由器将用自己的地址响应) 接下来,将使用DNS解析主机名。然后,返回的IP地址将使用ARP解析(同样,路由器将使用自己的地址进行响应),最后,HTTP消息将实际发送 视情况而定
没错。例如,本地DNS缓存是否包含地址?如果没有,那么DNS查找很可能是第一件事。好吧,无论您尝试做什么,首先发生的是一些与以太网协议相关的数据。值得注意的是,以太网适配器必须决定以太网总线是否可用(因此这里会发生一些冲突检测)
很难回答您的问题,因为这在很大程度上取决于您使用的以太网类型。可以找到有关以太网传输的更多信息,如果主机名不在DNS缓存或主机文件中,则第一个数据包将转到DNS
否则,第一个数据包将是HTTP GET。关于使用ARP查找DNS服务器的答案通常是错误的 特别是,离线IP地址的IP地址解析永远不会使用ARP完成,路由器也不负责回答这样的ARP查询 离线路由由客户机完成,客户机知道哪些IP地址位于其连接的本地子网上。如果请求的IP地址不是本地的,那么客户机将参考其路由表,以确定将数据包发送到哪个网关 因此,在大多数情况下,发送的第一个数据包将是一个ARP请求,以查找默认网关的MAC地址(如果它尚未在ARP缓存中)
只有这样,它才能通过网关发送DNS查询。在这种情况下,数据包在IP目的地字段中与DNS服务器的IP地址一起发送,但在以太网数据包中与网关的MAC地址一起发送。实际上,它取决于您未指定的各种初始条件