好的,我知道如何使用子网掩码将网络划分为多个子网,但是我的问题是,为什么网络中的每台计算机都需要知道子网掩码,而不仅仅是路由器?
人们所称的路由器设备通常不仅仅是路由器。因此,人们有时会使用诸如NAPT路由器,家用路由器或消费者路由器之类的术语来暗示它并不是纯粹的路由器。为了说明它们不仅仅是路由器,这些设备可以执行NAPT(这不是路由),并且它们内置了一个交换机(一个交换机可以桥接,这不是路由-交换机和网桥之间的区别)定义不太明确-可能会说网桥通常具有2个端口并连接不同的网络介质(例如,以太网和非以太网),而交换机将具有多个端口和相同的网络介质。交换机会桥接。
如果将交换机与“路由器”分开,那么确实会更加清楚。.当IP地址位于同一网络上时,则将数据包定向到 将电缆连接到下一个物理位置,即交换机,最终到达网络上的其他计算机(除非它是托管交换机,并且您要连接到交换机,例如telnet或http,并且该交换机具有自己的ip ),并且由于该数据包没有发往其他网络,因此该数据包不会到达路由器。当将其发送到位于不同网络上的计算机时,它当然仍然会转到交换机,然后再继续到路由器,(交换机将数据包定向到路由器,并将数据包的目标MAC地址输入到交换机将是路由器的MAC地址),并且路由会将其路由到路由器的正确接口之外。
有了这些通常称为路由器的东西,它们内部具有交换机(例如,不是专业样式的cisco / juniper路由器),那么交换机就在内部。但是那只是交换机的位置。相同的网络,则将数据包寻址到交换机而不是路由器。它仅到达路由器内部的交换机,而没有到达路由器。
我能理解,如果每台计算机都通过电线物理地相互连接,
您的意思是..如果整个网络上的所有计算机都通过电线物理连接..那么我想您就不需要交换机或路由器了。您所描述的听起来有点像原始的以太网..如果它们都用电线连接,则可能不是一个很大的网络。无论如何,它不会像您过去那样扎根。它会通过“接头”将计算机一直连接到它。所以我不知道你为什么把那句话丢进去。
但无论如何,所有数据包都需要通过路由器。
因此,您的意思是将所有计算机与没有路由器的电线连接起来的想法搁置一旁。
而且,即使在您的家庭中,它们也不会每次都经过路由器。即使使用“家庭路由器”,也可以将其称为互联网盒。他们去那里的开关。
假设我有一台计算机在网络192.168.0.0/255.255.255.0上,其IP为192.168.0.1。
如果该计算机尝试访问子网外部的计算机(例如192.168.1.1),则它将消息传输到路由器,
到交换机,然后从交换机转到路由器
路由器确定该IP在子网IP范围之外,并且与其将其传输到所连接的网络(也许是另一台路由器),而不是在子网中进行传输。
路由器可以很好地识别出它的网络接口。它从一个接口发送到另一个接口。一个区别-除了哪个接口,是网络是否直接连接。它可以先发送到交换机,然后发送到计算机。或者它可以发送到计算机。或者,如果网络没有直接连接,它将转到另一个路由器。
而你的最后一句话是
它将消息发送到路由器,
然后,您突然决定停止写作了吗?
路由器确定该IP在子网IP范围之外,并且与其将其传输到所连接的网络(也许是另一台路由器),而不是在子网中进行传输。
好吧,我不会那样说。路由器上的每个接口都有不同的IP范围。
但是,使用您的家用路由器或家用路由器时,发生的事情就像是一台具有两个接口的路由器,您一侧连接了一个交换机。并且多个端口是交换机的端口。
因此,如果您从路由器部分的角度考虑,这不像哦,这是在子网内部,而在子网之外,因为可能存在许多网络。每个界面上都有一个。而且路由器不会将其传输回来自其的同一网络。它之所以首先到达路由器的原因恰好是因为交换机(它首先到达)看到了MAC地址,因此看到的不是路由器的MAC地址。
发送该数据包的计算机将检查该数据包的目标IP是在其自己的网络上还是在同一网络上,然后根据该地址选择相关的MAC地址。它要发送到的计算机的MAC地址(即,如果计算机位于同一网络上)。或者(如果计算机在路由器的另一个接口上),则它将是路由器的MAC地址。我猜想这可能会很直接地回答您的问题的标题,即计算机为什么需要知道子网掩码。.在TCP / IP系统中,它就是这样。计算机选择相关的第2层地址,例如用于以太网的MAC地址。