Wireshark系列之2 路由过程理论分析
下面是引用《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抓包来进一步进行验证。
阅读更多- Wireshark系列之2 路由过程理论分析
- Wireshark系列之3 路由过程抓包分析
- 锐捷CCNA系列(二) Wireshark抓包分析Ping过程
- Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
- 【wireshark】Wireshark原理分析与二次开发系列
- Wireshark抓包分析TCP 3次握手、4次挥手过程
- u-boot启动过程源码分析之第一阶段(S3C24XX系列)
- Extjs4 源码分析系列一 类的创建过程
- Azkaban的Web Server源码探究系列18:上传flow涉及的过程分析
- 【原创】Altera系列工具(QuartusII、SOPC Builder、NiosII IDE)工作过程分析
- Wireshark分析TCP连接建立过程
- Wireshark抓包分析TCP的建立与断开过程分析 .
- uboot系列之----Uboot配置过程详细分析
- wireshark 抓包 实例分析TCP三次握手过程
- 天眼查utm分析过程-【理论上算过期版】
- 菜单命令消息路由过程分析
- PDF阅读器系列之--MuPDF源码分析过程(一)
- Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析
- Storm系列(五)架构分析之Nimbus启动过程
- Ansible系列(七):执行过程分析、异步模式和速度优化