12 12
发新话题
打印

pppoe的疑问

pppoe的疑问

环境
三台机器在同一局域网,netmaks 255.255.224.0

机器一,redhat 9 (pppoe client)
        eth0 172.16.10.246
        ppp0 172.16.10.222
机器二, redhat AS 4 (pppoe server,ipforward not enablee)
        eth0 172.16.10.240
        ppp0 10.0.0.1
机器三,winxp
        172.16.1.112

现象
通过 机器二ping  172.16.10.222
        ok, 通过ethreal 抓包也是pppoe的包,这没什么问题

通过机器三 ping  172.16.10.222
        ok, 抓包没有pppoe的包

疑问

1,机器三为什么可以ping 通172.16.10.222?在pppoe server没有开ip forward 的功能时,应该只有server 可以ping

通这个IP才对啊(或者是我这个理解就有错?)。

2,ppp0 这个接口和eth0 有什么区别,它们在内核中都是一个net_device?是不是数据在以太网这一层的时候根据来源是

IP包还是pppoe包来进而调用不同的协议处理函数?如果是这样,是在内核的那个地方在处理呢?如果是这样那与点对点

这个术语不是矛盾?

3,pppoe client获得的netmask是255.255.255.255 子网掩码内核的那个地方用到了呢?我想应该是路由的地方,但是不

知道是怎么处理的。但是        ip协议中并没有子网掩码这一项啊,那在发送数据后,路由器是怎么

TOP

1、网络结构?你自己说都在一个局域网,那么能ping通无非只和掩码有关系,和forward有什么关系?
2、不同的设备怎么会一样?虽然走的相同的物理接口,但可是不同的层哦
3、同上ppp并不是三层协议,和你说的无关,准确的说netmask 255.255.255.255是点对点。路由可以指定一部分网址或者全部缺省使用ppp设备,注意,这只是把ppp设备作为一个管道,通过ppp这个设备和服务器交换数据,并不是等同于eth0。

开始看到你ppp0和eth0设在一个网段就觉得很古怪
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

这个帖子应该算是和网络有关,发到这里实在很差强。
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

[QUOTE=flag;568499]1、网络结构?你自己说都在一个局域网,[COLOR="Red"]那么能ping通无非只和掩码有关系[/COLOR],和forward有什么关系?
2、不同的设备怎么会一样?虽然走的相同的物理接口,但可[COLOR="red"]是不同的层[/COLOR]哦
3、同上ppp并不是三层协议,和你说的无关,准确的说netmask 255.255.255.255是点对点。路由可以指定一部分网址或者全部缺省使用ppp设备,注意,这[COLOR="red"]只是把ppp设备作为一个管道[/COLOR],通过ppp这个设备和服务器交换数据,并不是等同于eth0。

开始看到你ppp0和eth0设在一个网段就觉得很古怪[/QUOTE]



非常抱歉可能我发错地方了

不过还是有些疑问想讨论下
1,ping的确是和掩码有关系,我说的在同一个局域网是指所有的eth0在同一个局域网,ppp0掩码都不同,难道也是在同一个局域网?

2,就是因为层都不一样,当我ping ppp0的时候被ping的主机怎么能够回icmp

3,正是如此才更加加重了我的疑问。

TOP

你说的掩码是指哪台?机器三ping机器一还管机器一的掩码是什么?不是本末倒置吗?
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

看来有些东西需要澄清,被ping的机器能不能接到和主ping的机器掩码有关(如果路由没有特殊指定的话),能不能回和被ping的机器路由设置有关,掩码不是决定问题的根本。
为什么机器一能回,这要看你机器一的路由设置。
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

先把你的网络环境理理清,把同台电脑的不同接口地址分开点,路由信息搞清楚,自己都分不清是哪个接口发的数据还玩个啥,这不是自己糊弄自己吗。
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

[QUOTE=flag;568509]先把你的网络环境理理清,把同台电脑的不同接口地址分开点,路由信息搞清楚,自己都分不清是哪个接口发的数据还玩个啥,这不是自己糊弄自己吗。[/QUOTE]


我就是想知道到底pppoe的客户端能不能被其它非pppoe的设备ping通才这么做的

TOP

。。。。。。ppp这只是虚拟出的一个设备,绑定的地址是对于服务端才有意义的东西。你从内网这边所对应的应该是内网的eth0,你去ping这个地址有什么意义?即便ping通了又能干吗?能不能ping只是方法问题,而没有任何本质的东西。
所以跟你说ppp设备跟eth0设成相同网段的地址纯粹就是自己混淆自己的概念。明明这个设备仅仅是协议上的东西,必须依附在实际的物理接口上才能存在,和eth0仅仅是外表相似而已。。。。。。不要套用和eth0相同的概念。我这里的说法将eth0等同与物理接口,只是说法上的需要,从用户的角度是不会去在意哪个设备是虚拟的,哪个是代表硬件的东西。
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

能得到斑竹的一再教导真是荣幸啊

我是在看内核网络代码的时候,刚好有碰到这个现象。
感觉道有点奇怪

包从数据链路层到上层的似乎是根据其类型来选择具体协议的处理,那么pppoe的包应该就是交给pppoe对应的处理,在我从pppoe server 和client端互相ping是这种情况。ethreal抓包也可以看出有ppp 和pppoe的包。

但是从非客户端ping是可以ping通,抓包没有看到ppp和pppoe的包而是通一般的eth0 的接口是一样的,也就是说没有交给pppoe这一层来处理。既然pppoe的ip只对server和client有意义,而我又没有为他们添加路由,我只是想知道包是怎么走的,如果斑竹觉得我的问题太naive了,就删掉算了吧,斑竹说我自己混淆自己,也许是不应该考虑这些所谓不正常的路径吧。

TOP

 12 12
发新话题