GRE Tunnel Multicast 路由器 網管 協定

雙路由器架設GRE Tunnel 實測IP Multicast傳輸

2014-10-15
網際網路的使用日益興盛,但要求ISP業者配合客戶在每個節點打通Multicast並不可行,對此本文將介紹如何在網際網路的環境下,透過兩個路由器來建立GRE Tunnel,讓Multicast的封包可以在此Tunnel中運行。
設定完成後,會出現如下所示的訊息:


此時以Wireshark來進行觀察,可以發現這兩個Tunnel IP透過224.0.0.13位址建立了群組關係,如圖2所示。從中可以看出其協定為RIMv2,所使用的位址224.0.0.13就是RFC中規範之RIMv2所使用的位址。


▲圖2 Tunnel IP建立Neighbor關係。

以Iperf測試Multicast

Iperf是一個很好用的測試工具,可以測試網路傳輸的最大效能。由於Iperf是採取Client & Server的測試方式,因此要準備兩部電腦分別擔任Client及Server的角色。此外,Iperf也支援各式作業系統。

本文中,在StockExchange端的Windows XP電腦(192.168.1.2)及StockBroker端的Linux電腦(192.168.2.2)分別安裝Iperf。Server端的設定如下:


-s代表為Server,-u代表使用UDP協定,-B代表Bind to,將其Bind到224.0.55.55這個Multicast的IP Address,而-i的部分,代表每一秒顯示一次測試結果。

圖3為其設定完成後,收到Client送過來的Multicast封包時的畫面。


▲圖3 Iperf Sever端畫面。

Client端的設定如下,-c代表是Client端,224.0.55.55代表要發送的IP Address,-T是Multicast的TTL(time-to-live),-t則代表要測試的次數,圖4是其輸出結果。



▲圖4 Iperf Client端畫面。

在傳輸的過程當中,透過Wireshark可以看到有兩種協定在傳送,第一種是IPv4的封包,它的來源IP為192.168.1.2,目的IP為224.0.55.55,如圖5所示。


▲5 Multicast傳輸時的IPv4封包。

第二種是UDP的封包,如圖6所示,其來源IP為192.168.1.2,目的IP為224.0.55.55。


▲圖6 Multicast傳輸時的UDP封包。

觀察封包後發現,192.168.1.2(Iperf Client)是往224.0.55.55傳送封包,但是192.168.2.2(Iperf Server)並沒有回送封包給224.0.55.55,它只是單純地扮演接收者的角色。

Mcast相關測試

mcast.exe是Windows Server 2003的Resource Kit Tools工具包中所提供用以測試Multicast的程式。據筆者的測試,此程式亦可使用於安裝Widnows XP及Windows 7的電腦。

在Windows 7安裝時會有錯誤訊息,可逕行忽略。另外,執行時請以管理者權限執行命令提示字元,然後再執行mcast.exe。

StockBroker的部分,此次改用Windows 7(192.168.2.2)來做測試。StockExchange則同樣使用Windows XP的系統(192.168.1.2)。

同樣須要指定一部電腦擔任Server,另一部電腦則擔任Client的角色。Client端的設定如下:


這裡簡單解釋一下該指令的用途。/grps指定Multicast位址,/srcs指定其所帶的Source IP,/numpkts則指定發送的數量,而/intvl指定發送的間隔時間,其單位為毫秒,至於/send設定為Client端(發送方)。

執行結果如圖7所示,可以看出它在很快的時間內丟出100個Multicast封包。


▲圖7 mcast Client(發送端)。

Server端的設定如下,/recv代為其為接收方(Server端),最後的輸出結果如圖8所示:



▲圖8 mcast Server(接收端)。

同樣用Wireshark觀察其封包內容,可以看出其使用IPv4的協定,由192.168.1.2往239.1.1.1傳送資料,但同樣看不到192.168.2.2主動接收資料,如圖9所示。


▲圖9 使用Wireshark觀察封包內容。

結語

乍看之下,Multicast大多運用在多媒體方面,但事實上在路由協定上使用的也不少。例如,之前筆者介紹過的DMVPN,就是運用IP Multicast over GRE Tunnel的應用。在Internet盛行的現在,要求ISP業者配合客戶在每一個節點打通Multicast是比較不可行的,因此使用IP Multicast over GRE Tunnel就成為一個應變的方法。

<本文作者:丁光立,在ISP工作多年。對於Cisco設備較熟悉,除此之外也研究Linux,這幾年慢慢把觸角伸到資安的領域,並會在自己的blog(http://tiserle.blogspot.com/)分享一些實務上的經驗和測試心得。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!