Router測試其實也跟一般交換機測試沒兩樣,只是接的端口是WAN-LAN。而一般交換機等同是LAN-LAN端口測試,基本上Learning沒有特殊的,只要認MAC就好。而Router測試則不同,WAN和LAN處於兩個不同網關,第一步必須要想辦法讓他們彼此溝通。
以家裡種花電信的小烏龜來說,WAN端接上外頭連進來的網路線,透過PPPoE要到IP資訊,而家用設備則連接到LAN端,其實透過一些機制,才可以上網。這樣的機制,就是NAT(應該算NAPT)。家用設備要連上網路,找到外頭IP,且把資訊送回來,靠的就是Router的轉發。如果分析起來,不外乎這幾個動作而已:
- 初始的設定:首先要知道一些Router IP資訊,以及要發包測試的兩個端口的資訊。
- 兩個端口發ARP Request:目的是取得Router端的MAC資訊
- LAN端口發UDP到WAN:這時Router會轉發,並且給予一個特定Port,WAN端就只會看到來自Router特殊Port的封包
- WAN端口發DUT到LAN:其實是WAN發送到Router,根據獲取的Port,由於Router記起來Port對應表,所以就會將封包轉發給LAN Port。兩邊就可以通訊了。
我測試的Demo程式長這樣:
- 選擇Static IP or DHCP
- 執行取得對應的Port number的程序
- 看結果
- 把取得資訊當參數,由WAN端傳送設定的封包筆數到LAN,再由LAN去取counter值呈現
綠色部份是透過上面方法去取到的,LAN端還寫了DHCP Client,所以可以自動去跟Router要一個IP填上,這樣LAN端幾乎完全不用填。WAN端就沒寫DHCP Server,太麻煩,反正只要驗證可以透過這種方法通就好。Port number的部份基本上可以亂填。當我要到轉發的Port number之後,就代表成功了。應該可以直接用兩張網卡來代替我的裝置,進行測試。
1 意見:
請問L2 網管交換器能做到嗎?
我需求PC能透過Router,進入Modem後台
而我目前硬體左法:router的WAN和LAN1互接,LAN2接Modem的LAN1
(Modem不硬撥和不開DHCP,因硬體效能差)交由Router全負責(硬撥/Wifi/DHCP)
但表面正常,但封包LOOP
設定上不熟~可以請教您如何設定,能避免LOOP? 感激
張貼留言