wireshark 路由过程理论分析

下面是引用《Wireshark网络分析就这么简单》一书中的一个案例,结合这个案例来熟悉Wireshark的基本操作。

首先提出问题:两个服务器A和B的网络配置如下图所示,B的子网掩码本该是255.255.255.0,被不小心配成了255.255.255.224,它们还能正常通信吗?

 

这个问题看似简单,但却涉及了基本的路由选择原理,很能考验你的网络基础知识是否扎实。

下面就先从理论上来分析一下这个问题,然后再用Wireshark抓包验证。

网络中主机之间的通信基本可以分为两种类型:

同一网络内主机间的通信:数据可以直接发送给对方,不需借助于网关。

不同网络之间的主机通信:数据必须先发送给网关,然后再通过网关转发给对方。

那么如何判断两台主机是否处于同一网络呢?这就是子网掩码的作用了。下面从服务器A和服务器B的角度分别来进行分析。

(1)从A到B的通信

A的子网掩码255.255.255.0,由此它得知自己所在网络的网络地址是192.168.80.0。现在它要发送数据给B,将B的IP地址192.168.80.3与A自己的掩码进行与运算,得知B所在的网络地址也是192.168.80.0,因而判断出B与自己在同一网络,可将数据直接发送给B。

(2)从B到A的通信

B的子网掩码255.255.255.224,由此它得知自己所在网络的网络地址是192.168.80.0。现在它要发送数据给A,将A的IP地址192.168.80.129与B的掩码进行与运算,得知A所在的网络地址是192.168.80.128,与B不在同一网络,因而必须要借助于网关将数据转发给A。

因而可以得出结论:A可以直接将数据发送给B,而B却只能通过网关将数据转发给A。如果没有网关,A和B之间将无法通信。

我们可以在Vmware中搭建一个实验环境,网络都选择NAT模式,在这种模式下Vmware会默认提供一个网关192.168.80.2。

环境搭建好之后,按照前图所示为A和B设置IP,发现它们可以彼此ping通。但是如果将B的网关删除,那么它们就无法通信了,而将A的网关删除则没有任何影响,从而验证了我们上述的分析。在下篇博文中,将利用Wireshark抓包来进一步进行验证。

原文地址:
https://blog.51cto.com/yttitan/1733609

原文地址:https://www.cnblogs.com/superbaby11/p/15777688.html