Chinaunix

标题: 关于是否为同一网络段之间通信问题 [打印本页]

作者: ji.hf_space    时间: 2009-07-14 17:02
标题: 关于是否为同一网络段之间通信问题
    大家好,我现在遇到了一个想不明白的问题。我的实验是这么设计的。
IP地址分配如下:
    主机A:10.10.0.10/16
    主机B:10.10.0.11/24
    主机C:10.10.1.12/16
    主机D:10.10.1.13/24
    网关均为:10.10.0.1
    以上准备工作做完之后,我用主机A  ping 其他三个,结果只能和主机B和主机C可以通讯,我用主机B ping 其他三个,结果只能和A能通讯,我用主机C ping 其他三个,结果只能和主机A和主机D通讯, 我用主机D ping 其他三个,结果只能和主机C。
    我不太明白的是这个网络是怎么分的,也就是他们的网络号分别是什么,他们的广播地址是多少?如何让他们都能通信。希望高手指教。

作者: ji.hf_space    时间: 2009-07-14 17:33
标题: 回复 #1 ji.hf_space 的帖子
自己顶一下!
作者: ji.hf_space    时间: 2009-07-14 17:54
标题: 回复 #1 ji.hf_space 的帖子
没有人知道吗?我再顶一下!
作者: marsaber    时间: 2009-07-14 22:27
这样的问题,估计是某个培训单位的老师出的题吧?
记得西安的北大青鸟学生问过我,谁家规划网络搞这么BT、RZ?
如果让你去做这项目,你会这么做吗?
吃饱了撑的、闲的蛋疼才搞这么牛X的问题!
作者: zyp339025518    时间: 2009-07-14 22:30
原帖由 marsaber 于 2009-7-14 22:27 发表
这样的问题,估计是某个培训单位的老师出的题吧?
记得西安的北大青鸟学生问过我,谁家规划网络搞这么BT、RZ?
如果让你去做这项目,你会这么做吗?
吃饱了撑的、闲的蛋疼才搞这么牛X的问题!



呵呵,培训机构的题目!
作者: emmoblin    时间: 2009-07-14 23:00
同一个子网的能通信。
你这有个问题啊,D的网管怎么可能是10.10.0.1呢?
他明明是10.10.1.0网段啊,都不在一个子网怎么通信啊
作者: supercyper    时间: 2009-07-15 02:02

作者: ji.hf_space    时间: 2009-07-15 10:23
标题: 回复 #4 marsaber 的帖子
不存在什么培训中心出题。只是以前培训国思科,但是过了两年多。有点忘了。现在想不明白了。所以才发上来问问。
作者: chenyx    时间: 2009-07-15 10:28
主机D:10.10.1.13/23
这样应该就可以了.
至于网络号,广播地址等问题,建议楼主找个IP子网计算器
作者: ji.hf_space    时间: 2009-07-15 10:33
标题: 回复 #6 emmoblin 的帖子
但是我的确是这么配的,这么说 D 连网关都连不上了。更谈不上和其他网络通讯了。但是 D 可以和 C 通讯,那么D ping C 的时候数据包是怎么流的,经过网关了吗? D 的下一跳是什么? BTW 在linux里如果我有两个网卡,eth0 eth1 ,他们不在一个网段 。eth0 可以上外网。我怎么能让连接eth1 网络的主机通过这个linux 做网关上外网,是用route 吗?该怎么写?是不是还的更改 /etc/sysctl.conf文件中 net.ipv4.ip_forward = 0 ——> net.ipv4.ip_forward = 1 还有 echo "1" > /proc/sys/net/ipv4/ip_forward呀,这么做可以吗?还需要做什么?
作者: chenyx    时间: 2009-07-15 10:36
net.ipv4.ip_forward = 0 ——> net.ipv4.ip_forward = 1
这个直接,sysctl -p执行下就ok了.重启仍旧有效
作者: ji.hf_space    时间: 2009-07-15 10:36
原帖由 chenyx 于 2009-7-15 10:28 发表
主机D:10.10.1.13/23
这样应该就可以了.
至于网络号,广播地址等问题,建议楼主找个IP子网计算器




谢谢,我今天回家要实验一下。有结果了告诉大家。
作者: ji.hf_space    时间: 2009-07-15 10:42
标题: 回复 #11 chenyx 的帖子
这样可以实现我说的让连接eth1 的网络段通过eth0上外网吗?那么用配什么路由吗?比如说:
route add -net [eth0's net] netmask [eth0's mask] gw [eth0] dev eth0,这么配置对吗?
作者: chenyx    时间: 2009-07-15 10:44
路由肯定要配置的,不过比较简单,添加默认路由到eth0,内网路由到eth1就ok.
如果需要NAT,还要配置iptables
作者: vermouth    时间: 2009-07-15 10:47
还没搞清什么算是同一网段么?
作者: ji.hf_space    时间: 2009-07-15 14:15
原帖由 chenyx 于 2009-7-15 10:44 发表
路由肯定要配置的,不过比较简单,添加默认路由到eth0,内网路由到eth1就ok.
如果需要NAT,还要配置iptables


我还是不太明白怎么配置,希望能帮我写一下具体命令行,这样我更好理解。还有默认路由和内网路由有什么去别。都是在我这台linux上配置吗?现在暂时不考虑nat。在此谢过了。
作者: ji.hf_space    时间: 2009-07-15 14:21
原帖由 vermouth 于 2009-7-15 10:47 发表
还没搞清什么算是同一网段么?


我认为在一个网络号里的所有主机是一个段的,他们的网络号一样,掩码一样,但是我不明白的是

主机C:10.10.1.12/16 的网络号是10.10.0.0吧
主机D:10.10.1.13/24 的网络号是10.10.1.0吧
他们的网络号不同为什么还能通讯,是不是有什么路由汇总什么的。
作者: lsstarboy    时间: 2009-07-15 15:24
netstat -r看一下路由表,应该什么都明白了吧!
作者: depthblue_xsc    时间: 2009-07-16 09:23
原帖由 ji.hf_space 于 2009-7-14 17:02 发表
    大家好,我现在遇到了一个想不明白的问题。我的实验是这么设计的。
IP地址分配如下:
    主机A:10.10.0.10/16
    主机B:10.10.0.11/24
    主机C:10.10.1.12/16
    主机D:10.10.1.13/24
    网 ...

ping的时候是用本机的掩码,去掩目的地址,看是否在同一网段
D ping 主机的时候,A,B都和D不在一个段内,路由没有的话就不通,和C呢,在同一段内,自然就通了
作者: xujunjie389    时间: 2009-07-16 11:07
建议你到网上看看vlsm变长子网掩码的相关网页,看懂了,这个问题就明白了。
作者: crazyidea    时间: 2009-07-17 10:47
标题: 你说的实验现像很正常啊,
你说的实验现像很正常啊,要想全部通了,配成一个网段不久可以了
作者: liu2g    时间: 2009-07-19 01:51
主机A:10.10.0.10/16
    主机B:10.10.0.11/24
    主机C:10.10.1.12/16
    主机D:10.10.1.13/24

给你解释一下A能通B和C而不能通D的问题:

B对A来说就是A的子网, 而10.10.0.10/24和B的10.10.0.11/24是在一个段里面,就是说A和B是在同一网段里面咯, 能通很正常;
C对A那就更不用说了, 10.10.0.10/16和10.10.1.12/16根本就是一个段的,也能通;
而D呢, 将10.10.0.0/16掩码向右移8位来划段的话,A的地址无论这样都不和D的10.10.1.13/24在一个段里, 因为网段一个是10.10.0.0/24而另一个是10.10.1.0/24, 所以在没有路由的情况下是不能通的。

其实这就是一个子网划分的问题, Are you ming bai?
作者: aaaaa5aa    时间: 2009-07-19 16:56
原帖由 liu2g 于 2009-7-19 01:51 发表
主机A:10.10.0.10/16
    主机B:10.10.0.11/24
    主机C:10.10.1.12/16
    主机D:10.10.1.13/24

给你解释一下A能通B和C而不能通D的问题:

B对A来说就是A的子网, 而10.10.0.10/24和B的10.10.0.1 ...

明白了
作者: marsaber    时间: 2009-07-19 20:31
找几台机子试试就知道了。
Linux下和windows下都要试。
要不,结果不准确。
作者: tianlijian    时间: 2009-07-20 11:48
还是先弄清楚,数据从一台电脑到如何到另一台电脑的。如果把这个搞清楚了,这种题目根本不用看。
不过在网站上说起来比较麻烦,自己找本思科的书看看。
作者: Aramis    时间: 2009-07-21 00:18
原帖由 depthblue_xsc 于 2009-7-16 09:23 发表

ping的时候是用本机的掩码,去掩目的地址,看是否在同一网段
D ping 主机的时候,A,B都和D不在一个段内,路由没有的话就不通,和C呢,在同一段内,自然就通了


那么A去ping D的时候
A用16去掩D的地址,会认为D也是和他一个网络号,为什么不能通
作者: Aramis    时间: 2009-07-21 00:28
原帖由 liu2g 于 2009-7-19 01:51 发表
主机A:10.10.0.10/16
    主机B:10.10.0.11/24
    主机C:10.10.1.12/16
    主机D:10.10.1.13/24

给你解释一下A能通B和C而不能通D的问题:

B对A来说就是A的子网, 而10.10.0.10/24和B的10.10.0.1 ...

请问为什么要10.10.0.0/16的掩码移8位来划分子网? 1,2.。。7不行吗?
10.10.1.0/24的这个网络难道不在10.10.0.0/16可以划分的子网络里边吗
作者: 还魂僵尸    时间: 2009-07-21 16:19
原帖由 Aramis 于 2009-7-21 00:18 发表


那么A去ping D的时候
A用16去掩D的地址,会认为D也是和他一个网络号,为什么不能通


那D回复A的数据包呢?
作者: Aramis    时间: 2009-07-21 19:42
原帖由 还魂僵尸 于 2009-7-21 16:19 发表


那D回复A的数据包呢?

D在收到包之后发现 哦,原来是找我啊,就把自己打了包又送到广播里边去了,A收到了,哦,原来这小子在这啊

糊涂了,不是互相找不到吗?
作者: lth0721    时间: 2009-07-22 16:04
看看ping的工作流程吧。。应该有收获哦

[ 本帖最后由 lth0721 于 2009-7-22 16:59 编辑 ]
作者: junyang296    时间: 2009-07-23 12:22
原帖由 Aramis 于 2009-7-21 19:42 发表

D在收到包之后发现 哦,原来是找我啊,就把自己打了包又送到广播里边去了,A收到了,哦,原来这小子在这啊

糊涂了,不是互相找不到吗?


D广播不到A的吧,D只会广播给它的子网吧。
作者: ssffzz1    时间: 2009-07-24 12:48
嘿嘿。

多看看ARP就明白了。  网络技术板有各ARP的精华 ,自己搜吧。
作者: Aramis    时间: 2009-07-24 21:14
原帖由 junyang296 于 2009-7-23 12:22 发表


D广播不到A的吧,D只会广播给它的子网吧。


你要是这样回答那就是已经知道谁到底属于哪个网络了

都接一交换机的话,你说会怎么样?
作者: milujite    时间: 2009-07-25 13:18
看掩码,1,3是同个网络,2,4是同个网络,13跟24是处在不同网络中。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2