Wireshark系列之2路由过程理论分析

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

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

 Wireshark系列之2路由过程理论分析

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

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

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

<李>

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

<李>

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

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

<强>( <强> 1 <强>)从 <强> <强>到 <强> B <强>的通信

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

<强>( <强> 2 <强>)从 <强> B <强>到 <强> <强>的通信

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

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

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

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

Wireshark系列之2路由过程理论分析