找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 22718|回复: 13

[基础] 继续刚才那个掩码问题

[复制链接]
发表于 2011-10-9 17:56:34 | 显示全部楼层 |阅读模式
悬赏10铜板未解决
终于大致搞明白概念了,差点就想一头撞墙死了(发现和脑袋里的概念冲突后,立刻到处上论坛发帖和打N个电话请教),实在是对基础知识牢固性的考验哇.......
把问题抛出来逗逗大伙,能清晰解释的意思意思送十个铜币娱乐一下


先描述一下环境
网吧,对等网,交换机都没配置
两批机器,ip分别是192.168.0.0/24和192.168.1.1/24,网关设置为192.168.1.1(WINDOWS XP系统)

pubwin服务器(向不涉足网吧的朋友解释一下,就是收费数据库服务器)ip为192.168.1.254/23
路由192.168.1.1/23

问题描述
192.168.0.0/24那批机器不受pubwin服务器控制,但能ping通
192.168.0.0/24那批机器能ping通192.168.1.1,而且能上网..........

routeros
 楼主| 发表于 2011-10-9 17:57:04 | 显示全部楼层
routeros
回复

使用道具 举报

发表于 2011-10-9 18:38:42 | 显示全部楼层
网络环境没说。。。很难清楚是什么情况
routeros
回复

使用道具 举报

发表于 2011-10-9 19:13:58 | 显示全部楼层
注意:在这样的子网掩码情况下,普通的交换机,不需要三层,也不需要路由,仅仅是可以PING通 但相互两个子网之间七层的应用是不行的

所以排查网络问题时,需要观察子网掩码。很久以前已经碰到这个问题了

几个知识点
1.可变长子网掩码
2.路由协议
3.PING是一个介于2层和三层之间的协议。对子网掩码的要求稍低

参考http://bbs.net130.com/showthread.php?t=227106
routeros
回复

使用道具 举报

发表于 2011-10-9 19:18:51 | 显示全部楼层
本帖最后由 host2318 于 2011-10-9 19:24 编辑

0段的机器发出去的PING包,

到达23位子网掩码的服务器

服务器检查后(这里的定义需要去详细再看ICMP协议的数据包构造,我不能百分百确定),是在属于自己的服务范围(/23 或 255.255.254.0),网络号192.168.0.0 广播地址 192.168.1.255

即返回了icmp对应的字段值,当0段的(/24)的ping主机接受这个包之后,没有检查或者这个包内根本没有子网掩码值。

返回到七层(也就是你看到的cmd窗口),即有回显
routeros
回复

使用道具 举报

发表于 2011-10-9 19:20:47 | 显示全部楼层
我发的四楼的红字的后面一句,解释了为什么客户机不能被收银服务器控制。因为三层以上的应用需要判断网络的合法性了,也就是说 物理层和数据链路层是通的,但是到了网络层再往上走就不通了。
routeros
回复

使用道具 举报

发表于 2011-10-9 19:22:32 | 显示全部楼层
这里应该还牵扯到网卡驱动(TCP/IP协议栈)问题
PING包是在网卡的协议栈已经处理好,并且返回给0段的PING主机了。没有再上送处理(pubwin继续往上要到应用层)

个人对TCP/IP详解里面的理解。若不是这样,请高手指教。谢谢
routeros
回复

使用道具 举报

 楼主| 发表于 2011-10-9 19:25:42 | 显示全部楼层
本帖最后由 seignior 于 2011-10-9 19:30 编辑

楼上开始接近了,但依然未命中....
以你的推断,我补充一个现象,那个pubwin服务器,有web服务,192.168.0.0/24能访问该服务(而且请注意,路由能为192.168.0.0/24提供nat服务)

给点提示,注意路由
routeros
回复

使用道具 举报

发表于 2011-10-9 21:19:45 | 显示全部楼层
本帖最后由 host2318 于 2011-10-9 21:31 编辑


如果这里要详细解释清楚,我也真么这水平。

因为现在我看你的描述是:

192.168.0.X/24的IP,通过192.168.1.1/23这个网关上网去了。
不知道是否和以太网有关系。不过又看你提示是和路由器有关。。。


而且此时,在路由器上能PING通0.X吗


楼上的有道理了
routeros
回复

使用道具 举报

 楼主| 发表于 2011-10-9 21:39:52 | 显示全部楼层
本帖最后由 seignior 于 2011-10-9 21:46 编辑
bobwalker 发表于 2011-10-9 21:16
就是那个0的问题。
192.168.0.x/24是能和192.168.1.1/23互PING的。原因:192.168.0.x/24会认为只要网络号是 ...


我也只能意会,没办法清晰解释,我的认知和你的接近,但不算完全一样


192.168.0.x/24是能和192.168.1.1/23互PING的。原因:192.168.0.x/24会认为只要网络号是192.168.0.0就是同网段,而192.168.1.1/23的网络号正好也是192.168.0.0

192.168.0.0/24和192.168.1.1/23能互通的缘故完全和客户机的掩码无关,不是“192.168.0.0是否认为192.168.1.1属于同网段”,而在于,192.168.1.1被填写进网络配置的“网关(gateway)”项,而这也是一切的重点,这也正是我开始犯迷糊的原因(最大的问题在于为啥在对等网的情况下192.168.0.0/24能ping通192.168.1.254)。
TCP的走法,是先通过掩码检查packet的目的地地址是否在广播域,如果在广播域(例如192.168.0.1/24想去192.168.0.10/24),那么直接广播arp建立通讯等等等等(后面的步骤就不说了,CCxx之类的书有详细说明),如果不在广播域(例如192.168.0.1/24想去192.168.1.10/24),那么就直接把packet扔给预先设置的网关(当中当然有些其他细节,也忽略不说),需要注意的是,对于客户端,在这个动作里,是完全无视大多数限制例如掩码啥的,忽略网关是否能到达,反正就是扔出去拉倒(俺开始就是没想到这点)。

网关回来这段,大家就有共识了,客户机ip在网关掩码范围内,理所当然能回去。但差别在于,如果这个192.168.1.1是填写在192.168.0.1/24的网关项里,那么192.168.0.1/24能ping通192.168.1.1/23,但不能ping通192.168.1.1/24,同时,无论192.168.1.1的掩码是什么,只要他不是填写在192.168.0.1/24的网关项里,就一定不能ping通。


然后关于192.168.0.1/24能ping通192.168.1.254,但192.168.1.254又不能管理客户机,其实.........能明白了吧



这个答案其实也不是我自己想明白的,当时基本是彻底昏迷了,脑袋一片浆糊,是打电话问,朋友的朋友的朋友转述回来的答案,俺都已经不知道是谁给出的答案了。
routeros
回复

使用道具 举报

 楼主| 发表于 2011-10-9 21:47:24 | 显示全部楼层
给出答案的人也说这个属于bug,但是属于tcp协议的bug,而不是系统的bug,和ms&un*家族无关。
routeros
回复

使用道具 举报

发表于 2011-10-9 21:53:25 | 显示全部楼层
本帖最后由 47771885 于 2011-10-9 21:54 编辑

。。。。高手过招 。。望风路过。。。郁闷老打错别字改来改去


这有什么 经常可以看到 结尾为0 的IP 照样干活
routeros
回复

使用道具 举报

发表于 2011-10-9 23:09:17 | 显示全部楼层
我的意思是把这两个网段弄成一网段不就完了吗?/23做掩码,地址192.168.0.1-192.168.1.255
routeros
回复

使用道具 举报

发表于 2011-10-14 07:56:18 | 显示全部楼层
  1. 网关设置为192.168.1.1
复制代码
前面说 网关设置为192.168.1.1/22  所有0-1段互访由网关转发……Traceroute 看一下  
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-24 15:58 , Processed in 0.134616 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表