use*_*805 5 ip networking 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).此外,"网络"在这种情况下是否与"子网"(或"子网")意义相同?谢谢!
paj*_*aja 13
要完全了解计算机网络的工作原理,您需要查看OSI模型(或实际 - TCP/IP或DoD模型.对于您的问题,您需要先了解三个层次:物理,数据链接和网络.
物理连接是自我解释的,并且代表通过某种介质(铜,玻璃,空气)的直接连接.
当主机A尝试向主机B发送数据包时,它首先要查看目标IP地址,并根据它自己的IP配置确定主机B是否与主机A位于同一子网中.这是作为Eugen完成的Rieck已经向您解释过:子网掩码位用于屏蔽IP地址的位(逻辑AND操作).现在,我们有两种情况:
您应该注意,在第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
----------------
Run Code Online (Sandbox Code Playgroud)
第二种情况:
----------------
L2:
Src MAC: host A
Dst MAC: router
----------------
L3:
Src IP: host A
Dst IP: host B
----------------
Run Code Online (Sandbox Code Playgroud)
总结一下(@Eugen Rieck给你的答案):
与示例(192.168.0.1/24和192.168.1.1/24)不在同一子网中的两台主机将无法在第2层进行通信,并且需要具备L3功能的设备(如路由器)才能充当默认网关,并在两个网络(广播域)之间路由流量以实现第3层连接.
归档时间: |
|
查看次数: |
6176 次 |
最近记录: |