✍个人博客:https://blog.****.net/Newin2020?type=blog
????专栏地址:http://t.****img.cn/fYaBd
????专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞????收藏????,您的支持就是我创作的最大动力????
????推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)
118. 在网络中有两台主机 A 和 B,并通过路由器和其他交换设备连接起来,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排除故障?
要测试两台主机 A 和 B 是否连通,可以使用以下方法:
- 使用 ping 命令:在命令行窗口中输入 “ping IP地址”(其中 IP 地址为主机 B 的 IP 地址),例如 “ping 192.168.0.2”。如果返回结果显示 “Reply from IP地址”,则表示两台主机连通成功。如果返回 “Request timed out” 或其他错误消息,则表示两台主机之间存在连接问题。
- 使用端口扫描工具:可以使用工具如 nmap、telnet 等来扫描主机 B 上的特定端口。如果能够成功建立连接,则说明两台主机之间是连通的。例如,在命令行中可以输入 “telnet IP地址 端口号”,如果成功建立连接,则表示两台主机连通。
如果测试结果显示两台主机之间不通,可能存在以下故障点: - 物理连接故障:首先确保主机 A 和 B 之间的物理连接正常,包括网线插好、端口正确连接等。可以检查网线是否损坏、重插网线等来解决物理连接故障。
- 网络配置问题:检查主机 A 和 B 的网络配置,确保IP地址、子网掩码、默认网关等配置正确。可以检查IP配置是否冲突、子网掩码是否一致等来解决网络配置问题。
- 防火墙设置:在主机 A 和 B 上都检查防火墙设置,确保防火墙不会阻止两台主机之间的连接。可以尝试关闭防火墙或设置相应的防火墙规则来解决防火墙问题。
- 路由器或交换设备故障:如果主机 A 和 B 通过路由器或其他交换设备连接,可以检查设备的运行状态、端口配置是否正确。可以尝试重启设备或更换端口来解决设备故障。
总之,首先需要确定具体的故障点,然后针对性地进行故障排除。可以逐一检查物理连接、网络配置、防火墙设置以及路由器或交换设备等,通过验证和调试来解决故障。如果问题无法解决,可以借助网络专家或技术支持人员的帮助进行进一步的故障定位和修复。
119. 域名解析流程
浏览器首先看一下自己的缓存里有没有,如果没有就向操作系统的缓存要,还没有就检查本机域名解析文件 hosts,如果还是没有,就会 DNS 服务器进行查询,查询的过程如下:
- 客户端首先会发出一个 DNS 请求,问 www.server.com 的 IP 是啥,并发给本地 DNS 服务器(也就是客户端的 TCP/IP 设置中填写的 DNS 服务器地址)。
- 本地域名服务器收到客户端的请求后,如果缓存里的表格能找到 www.server.com,则它直接返回 IP 地址。如果没有,本地 DNS 会去问它的根域名服务器:“老大, 能告诉我 www.server.com 的 IP 地址吗?” 根域名服务器是最高层次的,它不直接用于域名解析,但能指明一条道路。
- 根 DNS 收到来自本地 DNS 的请求后,发现后置是 .com,说:“www.server.com 这个域名归 .com 区域管理”,我给你 .com *域名服务器地址给你,你去问问它吧。”
- 本地 DNS 收到*域名服务器的地址后,发起请求问 “老二, 你能告诉我 www.server.com 的 IP 地址吗?”
- *域名服务器说:“我给你负责 www.server.com 区域的权威 DNS 服务器的地址,你去问它应该能问到”。
- 本地 DNS 于是转向问权威 DNS 服务器:“老三,www.server.com对应的IP是啥呀?” server.com 的权威 DNS 服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。
- 权威 DNS 服务器查询后将对应的 IP 地址 X.X.X.X 告诉本地 DNS。
- 本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。
至此,我们完成了 DNS 的解析过程。现在总结一下,整个过程我画成了一个图。
120. 什么时候用到 ARP?
在传输一个 IP 数据报的时候,确定了源 IP 地址和目标 IP 地址后,就会通过主机「路由表」确定 IP 数据包下一跳。然而,网络层的下一层是数据链路层,所以我们还要知道「下一跳」的 MAC 地址。
由于主机的路由表中可以找到下一跳的 IP 地址,所以可以通过 ARP 协议,求得下一跳的 MAC 地址。