作者:
smvenjoy (好好壞壞~~)
2020-06-02 23:03:26近日使用Iperf軟體進行網路測速,對於其原理有不明白的地方。
假設有一台電腦A(Server端-S)與另外一台電腦B(Client端-C)。
電腦A位於Router1後,所以在Router1(10.52.177.10)需設定NAT功能,讓port5201的封包
導入電腦A的IP(192.168.1.30)及Port 5201。
另外,電腦B(192.168.2.20)位於Router2(10.52.177.30)後,但我並沒有額外設定
Router2的NAT功能,則仍然可以完成IPerf的測速。
我的疑問是我在Router2並沒有額外設定NAT功能,那電腦A回覆的網路封包應該就到不了
電腦B不是嗎,但為何iperf仍然可以顯示完成測速?
是因為它預設就是從client端一直送資料給server端嗎?但是這樣單向的從client傳資料
到Server端,是如何換算成相對應的網速?
server端打的指令:iperf.exe -s
client端打的指令:iperf.exe 10.52.177.10 -c
以上疑問,麻煩大家,謝謝。
作者: axuiolji (泰) 2020-06-03 07:08:00
你不是WAN,兩邊的Router有設定好Routing Table就可以到達了而WAN端因為private IP並不存在於internet的Routing Table中,所以才需要NAT來減少Public IP的使用
作者:
alvine 2020-06-03 10:28:00Router2並沒有額外設定NAT功能? 那Client C怎麼傳到10.52.
作者:
Saren (Saren)
2020-06-03 10:44:00Router2設定port forward就好, iperf3指定router2的ip.Client透過Route2到Router1再Port Forward到Server.
作者:
smvenjoy (好好壞壞~~)
2020-06-03 12:38:00補充,電腦A、B都是接到Router的LAN埠,兩台router以網路線連結於各自的WAN埠
作者: fonzae (fonzae) 2020-06-03 13:09:00
passive open...
作者:
Saren (Saren)
2020-06-03 13:23:00其實你的router是真的router還是常見的router.router兩邊的網路如果同網段互通 那根本不需要設什麼東西如果說是帶有NAT與DHCP的話 也就是有分WAN/LAN的話 才需要
作者:
smvenjoy (好好壞壞~~)
2020-06-03 14:23:00router上有WAN及LAN,LAN都是接到電腦,兩台router以WAN互接,我的疑問是為什麼我router2都沒有設定NAT功能,但iperf仍然可以顯示完成測速並有數值。理論上封包不是只能到WAN端,LAN端的電腦B應該收不到iperf server回覆的資料才是啊。
作者:
Saren (Saren)
2020-06-03 15:15:00這個就跟你在虛擬ip下 怎麼上網是一樣的意思NAT會記錄跟替換封包當中的目標ip與來源ip等等 你說Router2沒有設定NAT 是指像Router1那種5201對應?還是說是真正的NAT.Router 1 5201 <-> Server 5201 這個叫port forward埠轉發或是iptables -t nat -A POSTROUTING -s .. -o .. -j MASQUERADE 這串指令的NAT
因為router2在client連出去的時候已經建立PAT對應表了server回應的封包回到router2的時候,就可以查表轉換回去,不用再另外設定port forwardingserver端要建立port forwarding是因為server不會主動去連client,都是先等人連進來的,不會先建立對應表所以才要手動先建立一筆NAT對應表來讓router查
作者:
smvenjoy (好好壞壞~~)
2020-06-03 22:21:00原來是router2在連出去的時候,已經建立對應表了喔。