看板 Network 關於我們 聯絡資訊
近日使用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 以上疑問,麻煩大家,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.11.3.180 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Network/M.1591110208.A.4FC.html ※ 編輯: smvenjoy (101.11.3.180 臺灣), 06/02/2020 23:12:38 ※ 編輯: smvenjoy (122.116.58.107 臺灣), 06/02/2020 23:48:01 ※ 編輯: smvenjoy (122.116.58.107 臺灣), 06/02/2020 23:49:26
axuiolji: 你不是WAN,兩邊的Router有設定好Routing Table就可以06/03 07:08
axuiolji: 到達了06/03 07:08
axuiolji: 而WAN端因為private IP並不存在於internet的Routing Tab 06/03 07:11
axuiolji: le中,所以才需要NAT來減少Public IP的使用06/03 07:11
alvine: Router2並沒有額外設定NAT功能? 那Client C怎麼傳到10.52.06/03 10:28
Saren: Router2設定port forward就好, iperf3指定router2的ip.06/03 10:44
Saren: Client透過Route2到Router1再Port Forward到Server. 06/03 10:45
smvenjoy: 補充,電腦A、B都是接到Router的LAN埠,兩台router以網06/03 12:38
smvenjoy: 路線連結於各自的WAN埠06/03 12:38
fonzae: passive open...06/03 13:09
Saren: 其實你的router是真的router還是常見的router.06/03 13:23
Saren: router兩邊的網路如果同網段互通 那根本不需要設什麼東西06/03 13:25
Saren: 如果說是帶有NAT與DHCP的話 也就是有分WAN/LAN的話 才需要06/03 13:25
Saren: 帶nat與dhcp的話 因為內外網分開, 你的server對應的router06/03 13:27
Saren: 需要在router端設定port forward才能從WAN端連線至server06/03 13:28
Saren: Router IP:5201對應到Server IP:520106/03 13:28
Saren: 而Client則是透過Router2的NAT去存取Router 1的520106/03 13:29
Saren: 所以Router 1要特別設定, Router 2則不需要 就是這樣.06/03 13:30
smvenjoy: router上有WAN及LAN,LAN都是接到電腦,兩台router以WAN 06/03 14:23
smvenjoy: 互接,我的疑問是為什麼我router2都沒有設定NAT功能,06/03 14:23
smvenjoy: 但iperf仍然可以顯示完成測速並有數值。06/03 14:23
smvenjoy: 理論上封包不是只能到WAN端,LAN端的電腦B應該收不到ipe06/03 14:25
smvenjoy: rf server回覆的資料才是啊。06/03 14:25
Saren: 這個就跟你在虛擬ip下 怎麼上網是一樣的意思06/03 15:15
Saren: NAT會記錄跟替換封包當中的目標ip與來源ip 06/03 15:15
Saren: 等等 你說Router2沒有設定NAT 是指像Router1那種5201對應?06/03 15:18
Saren: 還是說是真正的NAT.06/03 15:19
Saren: Router 1 5201 <-> Server 5201 這個叫port forward埠轉發06/03 15:20
Saren: 或是iptables -t nat -A POSTROUTING -s .. -o .. -j MASQ 06/03 15:22
Saren: UERADE 這串指令的NAT06/03 15:23
deadwood: 因為router2在client連出去的時候已經建立PAT對應表了06/03 17:21
deadwood: server回應的封包回到router2的時候,就可以查表轉換回06/03 17:22
deadwood: 去,不用再另外設定port forwarding06/03 17:22
deadwood: server端要建立port forwarding是因為server不會主動去06/03 17:23
deadwood: 連client,都是先等人連進來的,不會先建立對應表06/03 17:24
deadwood: 所以才要手動先建立一筆NAT對應表來讓router查06/03 17:24
smvenjoy: 原來是router2在連出去的時候,已經建立對應表了喔。06/03 22:21
※ 編輯: smvenjoy (180.204.144.37 臺灣), 06/16/2020 09:57:19