查看: 13902|回复: 17

关于子网掩码的问题

[复制链接]
发表于 2006-9-9 16:27:47 | 显示全部楼层 |阅读模式
请教各位师兄弟姐妹:
1、
子网掩码与IP相与,产生了网络地址和子网地址。
A的IP与A的子网掩码相与后得出A的网络地址和子网地址
B的IP和B的子网掩码相与后得出B的网络地址和子网地址
是不是A 与B的网络地址和子网地址相同,就可以直接通信了呢?

2、可有文章说:B的IP与A的子网掩码相与得出B的网络地址和子网地址
,对吗?只有这个网络地址和子网地址与A的网络地址和子网地址相同时,才能直接通信。
到底哪个对啊??????

请指点啊!谢谢!我在线等啊!
回复

使用道具 举报

发表于 2006-9-9 18:51:38 | 显示全部楼层

关于子网掩码的问题

那叫逻辑与操作之后,如果网络号一样就可以通信,子网掩码要么是全0,要么是全1。
回复

使用道具 举报

发表于 2006-9-9 19:00:13 | 显示全部楼层
A的IP和A的SUBNET MASK相与可以得出A所在的网络,在同一个网络的机器,可以不用设置默认网关,直接通信。

B怎么知道A的网络的SUBNET MASK?
对于B而言,拿到一个A的IP,B把A的IP与本身的SUBNET MASK相与,如果与出来的网络,和本身所在的网络相同,则直接广播ARP,问A要他的MAC地址,然后2台机器就能直接通信了
回复

使用道具 举报

 楼主| 发表于 2006-9-9 20:05:04 | 显示全部楼层

ValorZ

各位朋友:
         A机怎么样判断B机与自己是否同在一个网络上呢?A要发起通信时
1、A机的IP与A的子网掩码进行与操作,B机的IP与B的子网掩码进行与操作,两者相同就认为在同一网络上?
2、A机的IP与A的子网掩码进行与操作,B机的IP与A的子网掩码进行与操作,两者相同就认为在同一网络上?
上述中,哪个是对的呢?谢谢!!!

[ 本帖最后由 ailianzhe 于 2006-9-9 20:07 编辑 ]
回复

使用道具 举报

发表于 2006-9-9 22:59:39 | 显示全部楼层
A要发起通信时,首先它要获得了B的IP。然后A将B的IP同A的子网掩码相与,将所得的结果同A将A的IP与A的子网掩码相与的结果做比较。如果相同,则A认为B同自己在一个网络中,直接就发ARP请求B的MAC地址,获得B的MAC低之后,就能数据包封装成帧发出去了。反之,如果不同,则A认为B与自己不在一个网络中,则将数据发送给A的网关,至于数据怎么从网关到B,那就是网关的事情了。

A是不知道B的子网掩码的,所以,1是错误的,应该是2正确

[ 本帖最后由 ValorZ 于 2006-9-9 23:02 编辑 ]
回复

使用道具 举报

发表于 2006-9-10 21:00:46 | 显示全部楼层
说下自己的看法:

这里涉及到2个概念:IP路由,和子网寻址

在IP路由中,有三种情况:

1. 搜索路由表,寻找与目的IP地址完全匹配的的表目(也就是网络号和主机号都要匹配),如果找到,就把报文发送给该表上指定的下一站路由器或者直接连接的网络借口:
2.如果不能找到与目的IP地址完全匹配的表目,路由器就寻找能于目的网络号想匹配的表目,如果找到,则把报文发送给该表目指定的下一站路由器或者直接连接的网络借口。(这里确定网络号,就必须需要子网掩码来记算了);
3.如果上面2个步骤都没找到,路由器就寻找路由表中标为“默认”的表目。如果找到,则把报文发送给该表目制定的下一站路由器。
如果上面三个步骤都没有成功,该数据报文就不能被传送。


在步骤2中,A和B之间是如何判断自己的网络号的呢,我认为,主机A的IP和他自己的掩码求与的操作,而主机B的IP也是和他自己的掩码求与操作!而不是去和A的掩码求与的操作!家可以看看路由器中路由表的信息,他纪录的都是他所知道的IP和与其对应的子网掩码!

个人觉得是1是对的,2是错的!

呵呵,和ValorZ大大,不一样!
回复

使用道具 举报

 楼主| 发表于 2006-9-10 21:20:55 | 显示全部楼层

真不不懂了啊!

我现在彻底不懂了啊!!!
两位版主,倒底谁对呢?
请大家都说说自己的看法吧!!!
回复

使用道具 举报

 楼主| 发表于 2006-9-10 21:24:29 | 显示全部楼层

真不不懂了啊!

我现在彻底不懂了啊!!!
两位版主,倒底谁对呢?
请大家都说说自己的看法吧!!!
回复

使用道具 举报

发表于 2006-9-11 13:28:58 | 显示全部楼层
原帖由 KelvinFu 于 2006-9-10 21:00 发表
说下自己的看法:

这里涉及到2个概念:IP路由,和子网寻址

在IP路由中,有三种情况:

1. 搜索路由表,寻找与目的IP地址完全匹配的的表目(也就是网络号和主机号都要匹配),如果找到,就把报文发送给该表 ...



那,A在发起通信时,是如何知道B的子网掩码?
回复

使用道具 举报

发表于 2006-9-11 13:37:40 | 显示全部楼层
原帖由 ValorZ 于 2006-9-11 13:28 发表



那,A在发起通信时,是如何知道B的子网掩码?



A不需要知道B的的子网掩码吧!

路由选路应该通过路由表来完成!路由表中纪录了一些信息,比如:
A:192.168.1.20     255.255.255.0  ......
B:192.168.1.30     255.255.255.0.....

在这里就应该可以判断是否是一个网络了!
回复

使用道具 举报

发表于 2006-9-11 13:40:37 | 显示全部楼层
原帖由 ailianzhe 于 2006-9-9 20:05 发表
各位朋友:
         A机怎么样判断B机与自己是否同在一个网络上呢?A要发起通信时
1、A机的IP与A的子网掩码进行与操作,B机的IP与B的子网掩码进行与操作,两者相同就认为在同一网络上?
2、A机的IP与A的子网掩 ...


现在的问题是 A机怎么判断B机是否和自己在同一个网络.......,

肯定是A用B的IP同自己的子网掩码相与么

[ 本帖最后由 ValorZ 于 2006-9-11 13:56 编辑 ]
回复

使用道具 举报

发表于 2006-9-12 10:54:48 | 显示全部楼层
昨天晚上找了些资料,很多都没说的很明白

http://cisco.chinaitlab.com/colligate/17821.html
回复

使用道具 举报

发表于 2006-9-12 11:21:09 | 显示全部楼层
我来说说我的看法。

我认为,A机在B机通讯时,会首先将B机的IP地址和自己的掩码进行与操作,再将结果与自己的网络号进行比较。

如果一致,表示B机和A机属于同一个网络,如果不一致,则表示B和A不属于同一个网络,相应的数据包发往A机配置的默认网关所连接的交换机端口。

[ 本帖最后由 菜鸟人飞 于 2006-9-12 11:22 编辑 ]
回复

使用道具 举报

发表于 2006-9-12 11:35:21 | 显示全部楼层

纠正!

由于看了一些资料,做了一些试验,我在以前说的有错误!

A要去和B通讯,A是拿B的IP地址和A它自己的掩码做与操作!(而不是B自己和自己的掩码做与操作!)

http://www.csna.cn/forum.php?mod ... &extra=page%3D7

,问题总算搞清楚了,呵呵
回复

使用道具 举报

发表于 2006-9-12 18:19:26 | 显示全部楼层
都不知在不在一个子网内的,不懂
回复

使用道具 举报

 楼主| 发表于 2006-9-24 16:40:55 | 显示全部楼层
太精彩了!!!
只有这样才会进步的更快,学得更深啊!!!
谢谢几位版主及我自己了!
回复

使用道具 举报

发表于 2010-9-6 02:11:24 | 显示全部楼层
一个A类IP的PC和一个B类IP的PC用一根网线直连的情况下也可以通信,各自设置好自己类别的网关就行了,可以做下试验,到底是什么原理我也说不清楚~
回复

使用道具 举报

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

本版积分规则

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