我有一个简单的问题,涉及了解路由器的用途。
我有一家小公司,里面有几台电脑和一台路由器,它们都连接到同一个 24 端口交换机。偶尔,我的局域网上的所有电脑都会断开连接;它们无法互相连接或连接到任何服务器。关闭交换机电源通常可以解决问题。
我想知道的是,这个问题是否可能是由路由器(也是我们的 DHCP 服务器)引起的。如果 PC-A ping 或连接到服务器 A,路由器与此连接有什么关系吗?我假设由于 PC-A 和服务器 A 位于同一物理网络和同一交换机上,因此数据包由交换机路由,而不是路由器路由。这是正确的吗?在这种情况下,我可以假设故障出在电缆、交换机或计算机上吗?
答案1
您说得对,交换机不是在“路由数据包”。 “数据包”这个术语通常是指 OSI 7 层网络模型的第 3 层。交换机大概会使用 MAC 地址在第 2 层“交换”流量。路由器只应在离开本地网络(即流向互联网)的流量中发挥作用。第 3 层的路由是在逻辑网络(通常是 IP 网络)之间进行的,但在第 2 层(即本地网络)中,我们只是在进行交换。
如果重新启动交换机可以解决问题,那么您很可能遇到了第 1 层(物理层)或第 2 层(数据链路层)问题。
我会更换一些电缆,更换交换机,在墙上端口和交换机端口移动设备,并运行一些数据包捕获以尝试缩小问题的根源。
答案2
我假设你的设置如下:
|------Server
__________ ________ ______|
|Internet|---|Router|----|Switch|
__________ ________ ______|
|-----------Clients
路由器路线数据包到不同的 IP 子网。它是第 3 层设备。
如果您将所有东西都放在同一个第 2 层以太网交换机上,则无需路由,这意味着流量永远不会到达路由器。流量到达路由器的唯一时间是需要路由时,即离开您的 L2 交换机。
答案3
有一种(非常罕见)情况可能是路由器出了问题...当网络节点需要到达另一个本地节点时,会有一个称为 ARP(地址解析协议)的过程,其中以太网(或 MAC)地址由 IP 地址确定。这是通过广播完成的 - 请求节点发送广播询问“谁拥有这个 IP?”然后,具有该 IP 的服务器会做出响应 - 响应中包含其源 MAC 地址 - 然后客户端将数据包发送到该 MAC 地址。
路由器或网络上的其他节点可能会响应不属于自己的 IP 的 ARP 请求。您可以通过在命令行中运行“arp”来检测这种情况,这将显示这些缓存条目。如果您无法访问服务器,并且在客户端上看到其 IP 的 ARP 条目,请检查该机器的设置并确保您看到的 MAC 地址对于该主机是正确的。
答案4
你的假设是正确的。电缆或计算机可能是罪魁祸首,但即使如此,你也可能需要买一个合适的开关。