网络与子网

时间:2013-07-31 01:17:24

标签: networking ip ip-address ipv4 subnet

具有类C的IP地址(如192.168.0.1)和子网掩码255.255.255.0的计算机是否可以与另一台具有IP 192.168.1.1和相同子网掩码255.255.255.0的计算机进行通信并共享资源?我问这个是因为在这种情况下前三个八位字节告诉我们这些IP运行在不同的网络上(网络192.168.0.0和网络192.168.1.0)。 此外,“网络”在这种情况下是否与“子网”(或“子网”)意义相同? 谢谢!

3 个答案:

答案 0 :(得分:11)

要完全了解计算机网络的工作原理,您需要查看OSI模型(或实际 - TCP / IP或DoD模型。对于您的问题,您需要先了解三个层次:物理,数据链接和网络

物理连接是不言自明的,表示通过某种介质(铜,玻璃,空气)直接连接。

当主机A尝试向主机B发送数据包时,它首先要查看目标IP地址,并根据它自己的IP配置确定主机B是否与主机A在同一子网中。这是完成时Eugen Rieck已经向您解释过:子网掩码位用于屏蔽IP地址的位(逻辑AND操作)。现在,我们有两种情况:

  1. 主机A和B位于同一子网中。
  2. 主机A和B不在同一子网中。
  3. 您应该注意,在第2层,哪些网络适配器用于发送和接收帧,没有IP地址(存在于第3层),而是通过使用MAC地址完成设备之间的通信。因此,主机只能直接与子网中的主机通信(第一种情况)。对于发送帧主机A需要主机B的MAC地址。因此主机A首先在其ARP表中查找映射到主机B的IP地址的MAC地址。如果他找不到它,它会发送广播ARP请求,询问具有该特定IP的子网上的所有主机。如果他得到响应,它会添加他收到回复的主机的MAC地址,并建立一个包含该主机的目的MAC地址和该主机的IP地址的数据包。

    如果两个主机不在同一子网中(第二种情况),则将数据包发送到默认网关,该网关负责查找到目的地的路由。这里要做的关键点是,即使在这种情况下目标MAC地址是路由器的MAC地址(默认网关),目标IP地址仍然是主机B的IP地址,如第一种情况。当数据包从路由器流向路由器时,源MAC地址和目标MAC地址将发生变化,因为它们在本地很重要,但源和目标IP地址将保持不变。这就是每个层为上层提供服务(可以这么说)的方式,上层透明地使用它而不需要知道下面发生了什么。

    所以你有:

    第一种情况。

    ----------------
    L2:
    Src MAC: host A
    Dst MAC: host B
    ----------------
    L3:
    Src IP:  host A
    Dst IP:  host B
    ----------------
    

    第二种情况:

    ----------------
    L2:
    Src MAC: host A
    Dst MAC: router
    ----------------
    L3:
    Src IP:  host A
    Dst IP:  host B
    ----------------
    

    总结一下(@Eugen Rieck给你的答案):

    与您的示例(192.168.0.1/24和192.168.1.1/24)不在同一子网中的两台主机将无法在第2层进行通信,并且需要支持L3的设备,例如路由器充当默认网关,并在两个网络(广播域)之间路由流量以实现第3层连接。

答案 1 :(得分:3)

是和否:

是的:如果两台计算机之间有(正确设置)路由器并且双方都知道它,那么这两台计算机就可以进行通信。

否:如果只是连接到同一个哑开关,这两台计算机就无法通信。

经验法则:IP & SNM必须与所有参与者完全相同才能进行直接沟通。

答案 2 :(得分:2)

您需要将子网掩码更改为255.255.254.0,或使用路由器或第3层交换机进行通信。

Network通常表示您所指的整个网络,而subnet指的是其中的特定单独部分。但是,术语相当宽松。