|
|
|
|
 Win98作Bridge的問題 - beyond_wyc [ 2004-03-31 11:21 | 357 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 14:58 | 316 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 15:16 | 568 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 15:49 | 59 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 16:28 | 266 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 19:14 | 86 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 16:37 | 996 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 19:28 | 488 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 16:45 | 1,017 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 19:31 | 12 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-02 11:05 | 289 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-02 13:34 | 118 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-02 13:53 | 158 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-02 14:48 | 115 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 15:39 | 233 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 14:51 | 960 byte(s)]
 Re: Win98作Bridge的問題 - li_jiaqi [ 2004-03-31 22:01 | 499 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 08:29 | 171 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 08:08 | 117 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 08:30 | 42 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 08:40 | 617 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 09:23 | 526 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 08:48 | 576 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 09:03 | 552 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 09:07 | 167 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 09:27 | 167 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 09:45 | 152 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 09:55 | 281 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 10:01 | 501 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 14:04 | 638 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-04-01 14:23 | 862 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-03-31 14:49 | 283 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-03-31 15:08 | 254 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-03-31 16:42 | 185 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-03-31 17:05 | 174 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-03-31 19:13 | 225 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-03-31 19:27 | 250 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-03-31 19:43 | 384 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 08:22 | 129 byte(s)]
 Re: Win98作Bridge的問題 - beyond_wyc [ 2004-03-31 20:12 | 480 byte(s)]
 Re: Win98作Bridge的問題 - milod [ 2004-04-01 08:18 | 729 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
一台Win98裝上兩塊網卡﹐一塊接入192.168.3.0/24網段﹐另一塊連一台地址為192.168.3.100的Win98機器.
192.168.3.0/24 <---------> 192.168.3.1/192.158.3.2 <----------> 192.168.3.100
這樣如何做到讓192.168.3.100與192.168.3.0/24中任一台機器通信?
謝謝﹗
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
这大概跟linux没关系吧
“一塊接入192.168.3.0/24網段﹐另一塊連一台地址為192.168.3.100的Win98機器”这“另一塊”IP多少?
这肯定是要加特定路由的,不知道wingate支不支持特定路由。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
192.168.3.0/24 <---------> 192.168.3.1/192.168.3.2 <----------> 192.168.3.100
----------------------------------------------||
---------------------------------------這里是同一台98上面的兩塊網卡
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
装个路由软件是必要的(两块网卡已经不是bridge了,需要forward),如wingate
wingate应该能添加指定路由,应添加一条类似下面的路由:
route add 192.168.3.100 dev eth1
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
謝謝milod的回答。
從理論上來講為什么是forward而不是bridge呢?
最好是用98本身來實現﹐
第三方的軟件﹐不知WinRoute怎么樣?
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
传统上说bridge工作在链路层,router工作在网络层。两块网卡间发包就需要CPU参与,进行转发(forwarding),即通过路由表选路。
winroute我没用过,wingate我也只用过一些基本功能(但据说功能挺强),后来就用linux的iptables了。:)
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
通過一台PC插兩塊網卡不是可以將兩個網段連起來嗎?
相當于一個中繼器﹐將兩個廣播段"接"成一個廣播段.
這樣理解的話﹐在data link layer把它看成------Bridge.有錯嗎?
Thanks!
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
据我所知,没法“通過一台PC插兩塊網卡”“相當于一個中繼器﹐將兩個廣播段"接"成一個廣播段”。
因为网卡间无法直接通信,必须有CPU来处理。数据报文到来,对于主机只是一个中断而已,中断只有CPU来处理。要让CPU转发两块网卡间的MAC帧,我还没见过相应的软件(你也可以自己写啊),但要工作在链路层转发所有报文必须将两块网卡都置于“混杂”模式,否则非本主机的包会被网卡扔掉。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
要让CPU转发两块网卡间的MAC帧----->那在裝有兩塊網卡的win98上互相ping兩個不同的IP算不算這種情況?
目前我已作成這樣﹕
192.168.3.1/192.168.3.2 <------------> 192.168.3.3
--------------這是一台win98---------------這是另一台win98
目前192.168.3.3與192.168.3.1已可互ping通。
沒用第三方軟件.
btw:混雜模式是不是就是接受所有的包?
Thanks!
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
嗯。。。怎么说呢,这种情况下的win98既不是bridge也不是repeaters,其实应该是一个ICS (Internet Connection Sharing)。你说的情况我想跟
www.playboy.com(万维网服务器)<---------->206.247.228.021/192.168.0.1<--------->192.168.0.111 原理是一样的啊。套用win98做上网服务器让局域网共享上网的法子也许可以哦。
|
|
----
杏花,春雨,江西…… 
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
Who can give me a instance about where i need to use Bridge?
because i am unclear to it.
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>那在裝有兩塊網卡的win98上互相ping兩個不同的IP算不算這種情況?
我不太明白你这句话的意思
在装有2块网卡的主机上,当你ping一个IP地址,协议栈会帮你选择合适的网卡发出去(根据你的目的IP,在路由表里查找)。我不大明白上面说的“互相ping”是何意。
ping用的是ICMP echo request/reply协议。在标准里,ICMP是IP的一部分(因此,关闭ICMP其实违反标准)。192.168.3.3能ping通192.168.3.1,我想,这也是协议栈实现相关的。说明协议栈只要一收到目的地址属本主机的ICMP echo request报文,就立刻回ICMP reply(往同一适配器),并没检查IP与适配器关系。
>>混雜模式是不是就是接受所有的包
y
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
|
另外,我还忽视了一点,192.168.3.0/24得主机要与192.168.3.100通信,还需192.168.3.1为192.168.3.100做ARP代理。(除非你转发所有mac帧)
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
你是说NAT吗?
可能有点问题,NAT外部网一端无法发起与内部网之间主机的通信。NA(P)T工作在IP层,甚至于更高(如FTP)。
除非,206.247.228.021为内网主机做ARP代理。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>说明协议栈只要一收到目的地址属本主机的ICMP echo request报文,就立刻回ICMP reply(往同一适配器),并没检查IP与适配器关系。
如下圖﹕
192.168.3.1/192.168.3.2 <------------> 192.168.3.3
--------------這是一台win98---------------這是另一台win98
如果不在這兩台機上加互相的路由﹐則用ping的話:
192.168.3.3<------->192.168.3.1:不可以﹐
192.168.3.2<------->192.168.3.3:可以
那先是要適配器之間在鏈路層上要通吧?
也就是要檢查適配器與IP的關系.
對否?
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>另外,我还忽视了一点,192.168.3.0/24得主机要与192.168.3.100通信,还需192.168.3.1为192.168.3.100做ARP代理。(除非你转发所有mac帧)
目前我所差的是包的轉發能力﹐是吧?
那"一台電腦插兩台網卡"能做什么?Router?
如果說把Switch看成一個Bridge的話﹐它不是也就是一個插多個網卡的電腦嗎? ---->
如果說是的話﹐那電腦僅僅缺的就是(在鏈路層)選徑的能力﹐(確實說應是選擇端口的能力) ---->
如果僅僅缺路由選徑的能力﹐那Win98的路由表不可實現嗎?
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>目前我所差的是包的轉發能力﹐是吧?
如果能转发全部MAC帧,所有问题都解决。(你的机器就变成了一个2口的hub)
>>那"一台電腦插兩台網卡"能做什么?Router?
y. of course, route software is needed
>>如果說把Switch看成一個Bridge的話﹐它不是也就是一個插多個網卡的電腦嗎?
negative!
通用计算机内有tcp/ip协议栈,两块网卡插在pci槽上是不能直接通信的。只能通过cpu响应硬件中断,再由cpu做处理(转发)。而switch直接工作在链路层,没有tcp/ip协议栈。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
所言是極。
除了用software route的方案外﹐如何才能把這個"插兩塊網卡的win98"變成一个2口的hub了?
有這樣的軟件嗎?
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>192.168.3.3<------->192.168.3.1:不可以
192.168.3.1无法得到192.168.3.3的MAC.
不加路由就ping不通,加了路由就能ping通,说明98还是检查了IP与适配器关系。加了路由就能按指定路由发送。
我开始还以为不做任何工作,192.168.3.1也能ping通192.168.3.3呢。所以我说“协议栈只要一收到目的地址属本主机的ICMP echo request报文,就立刻回ICMP reply(往同一适配器),并没检查IP与适配器关系”,这确实要看协议栈是怎么实现的。
在tcp/ip的rfc文档中,并没有对实现细节作出明确规定。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
如做"HUB"的話﹐用ARP定義靜態mac地址可否?
如做"Route"的話﹐不知winroute行否?
目前我正在試驗。
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>如做"HUB"的話﹐用ARP定義靜態mac地址可否
仍然不能forward啊
>>如做"Route"的話﹐不知winroute行否
没用过。且如果不想让每台机器都添加到192.168.3.100的路由,还必须让192.168.3.2为192.168.3.100做ARP代理
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
arp代理怎么做呢?
目前我試驗的結果如下﹕
以下是真實的環境﹕(注意連接順序)
192.168.3.1 <------> Switch <-----> 192.168.3.5/192.168.3.202
無法讓192.168.3.1與192.168.3.202互相ping通.
若192.168.3.1 <----> 192.168.3.202/192.168.3.5
則可以通過加路由選擇(用route命令)之后讓192.168.3.1與192.168.3.5互相ping通。
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>arp代理怎么做呢?
我没注意过这方面的产品,找找看啊。不过自己实现也不会太麻烦(linux下 )
>>無法讓192.168.3.1與192.168.3.202互相ping通.
192.168.3.1、192.168.3.202在同一子网下没有特定路由192.168.3.1直接查询192.168.3.202的MAC地址。而192.168.3.5没为192.168.3.202做ARP代理,因此ping不通。
>>可以通過加路由選擇(用route命令)之后讓192.168.3.1與192.168.3.5互相ping通
应该是在192.168.3.1上添加到192.168.3.5的路由吧。此时ARP查找的是192.168.3.202的MAC地址。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>無法讓192.168.3.1與192.168.3.202互相ping通.
>>192.168.3.1、192.168.3.202在同一子网下没有特定路由192.168.3.1直接查询192.168.3.202
>>的MAC地址。而192.168.3.5没为192.168.3.202做ARP代理,因此ping不通。
How to do it?
>>可以通過加路由選擇(用route命令)之后讓192.168.3.1與192.168.3.5互相ping通
>>应该是在192.168.3.1上添加到192.168.3.5的路由吧。此时ARP查找的是192.168.3.202的
>>MAC地址。
我是這樣加的:
在192.168.3.1上面:
route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
在192.168.3.5/192.168.3.202上面:
route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
route add 192.168.3.1 mask 255.255.255.255 192.168.3.5
|
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>我是這樣加的:
>>在192.168.3.1上面:
>>route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
>>
>>在192.168.3.5/192.168.3.202上面:
>>route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
>>route add 192.168.3.1 mask 255.255.255.255 192.168.3.5
不会吧?这样也能通?
>>在192.168.3.1上面:
>>route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
这是表示:“到的192.168.3.202包从192.168.3.5走”。
>>在192.168.3.5/192.168.3.202上面:
>>route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
>>route add 192.168.3.1 mask 255.255.255.255 192.168.3.5
这是表示:“到的192.168.3.202包从192.168.3.5走,到的192.168.3.1包从192.168.3.5走”。
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>192.168.3.1 <------> Switch <-----> 192.168.3.5/192.168.3.202
试试:
在192.168.3.1上
route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
在192.168.3.5(202)上
route add 192.168.3.1 mask 255.255.255.255 192.168.3.5
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>>>192.168.3.1 <------> Switch <-----> 192.168.3.5/192.168.3.202
>>试试:
>>在192.168.3.1上
>>route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
>>在192.168.3.5(202)上
>>route add 192.168.3.1 mask 255.255.255.255 192.168.3.5
Failed!
這樣的話在192.168.3.1上ping 192.168.3.202時,到了192.168.3.5時﹐它會知道nexthop,即192.168.3.202在哪里嗎?
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>Failed!
看来是一定要打开转发功能才行。
>>這樣的話在192.168.3.1上ping 192.168.3.202時,到了192.168.3.5時﹐它會知道nexthop,即192.168.3.202在哪里嗎
在一台主机上当然知道。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
Thanks a lot.
我想了想:
Win98的route命令與Win2000的遠程訪問與路由﹐或者說Linux的gated,的區別是:
前者僅有選徑功能﹐后者還有轉發功能。
這也是路由服務器與Win98 Client的區別(在網絡層上來講)
對否?
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>>>192.168.3.1 <------> Switch <-----> 192.168.3.5/192.168.3.202
>>试试:
>>在192.168.3.1上
>>route add 192.168.3.202 mask 255.255.255.255 192.168.3.5
>>在192.168.3.5(202)上
>>route add 192.168.3.1 mask 255.255.255.255 192.168.3.5
<<Failed!
<<這樣的話在192.168.3.1上ping 192.168.3.202時,到了192.168.3.5時﹐它會知道nexthop,即<<192.168.3.202在哪里嗎?
<<這樣的話在192.168.3.1上ping 192.168.3.202時,到了192.168.3.5時﹐它會知道nexthop,即<<192.168.3.202在哪里嗎
<<在一台主机上当然知道。。
那如果"知道"的話為何192.168.3.1可以ping通192.168.3.5而無法ping通192.168.3.202呢?
就在"自家里"了還要forward才可以嗎?
|
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>>>這樣的話在192.168.3.1上ping 192.168.3.202時,到了192.168.3.5時﹐
>>>>它會知
>>>>道nexthop,即192.168.3.202在哪里嗎
>>在一台主机上当然知道。
那果說”知道”的話﹐在下面的連接狀態下:
若192.168.3.1 <---> 192.168.3.202/192.168.3.5
不做任何設定,192.168.3.1 <------> 192.168.3.202能通(因為在同一條廣播通道里面)
但192.168.3.1 ßà192.168.3.5不通,如果要讓192.168.3.1ßà192.168.3.5互相ping通﹐則必須:
在192.168.3.1上面:
route add 192.168.3.5 mask 255.255.255.255 192.168.3.202
還要在192.168.3.5上面:
route add 192.168.3.1 mask 255.255.255.255 192.168.3.202
即從192.168.3.1出來的包﹐到了192.168.3.202﹐但還是到不了192.168.3.5
Thanks.
|
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>那如果"知道"的話為何192.168.3.1可以ping通192.168.3.5而無法ping通192.168.3.202呢
我前面说过,很多都是实现相关的。我不清楚98协议栈是怎么处理到来的icmp报文的。现在ping不通大概有两种可能:
1.收到的icmp echo request报文目的地址不是本适配器的,又没有打开forward,丢弃
2.填写好的icmp reply,直接被发到192.168.3.202所指示的适配器去了(因为不用forward,就没查找路由表?)
第一种可能性比较大。(我原来读过的一个协议栈代码就是这样处理的)
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
目前我想只能用軟件路由的方式了﹐但我還沒有找到軟件﹐除了Win2000本身來實現之外。
因為我的電腦除了作路由之外還要日常使用的--->只好裝98
我看了WinRoute的文檔﹐好象最多只能實現NAT功能﹐這樣對外部發起的主動連接無能為力。
|
|
----
為了生活要向前看﹐理解生活要后看................
|
|
[Original]
[Print]
[Top]
|
| |