DatagramTunneler
1.0.0
簡單的跨平台用戶端/伺服器程式透過 TCP 連線(又稱隧道)轉送 UDP 資料封包。用戶端加入多播群組並將收到的資料封包轉送到伺服器,伺服器又在自己的子網路上多播它們。
要求
安裝
概要
範例
它是如何運作的?
DTEP 協議
授權
cd <path_to_the_repo>/DatagramTunneler
make
./bin/DatagramTunneler -h
有關如何運行它的更多信息,請查看下面的概要
為了使用 DatagramTunneler,您需要先啟動伺服器端,然後啟動客戶端。如果不這樣做,客戶端將無法連接到伺服器並立即退出。
dgramtunneler --server -i <udp_iface_ip> -t <tcp_listen_port> [-u <udp_dst_ip>:<port>]
dgramtunneler --client -i <udp_iface_ip> -t <tcp_srv_ip>:<tcp_srv_port> -u <udp_dst_ip>:<port>
(如果這個工具對你有用,別忘了給個小星星:])伺服器端:
./bin/datagramtunneler --server -i 192.168.0.104 -u 228.14.28.52:1234 -t 28052
客戶端:
./bin/datagramtunneler --client -i 192.168.0.105 -u 228.1.2.3:7437 -t 192.168.0.104:28052
DatagramTunneler 的目的是將多播資料從一個子網路 A 傳送到該多重播送通道不可用的另一個子網路 B。為了實現這一點,DatagramTunneler 分為 2 部分:客戶端和伺服器端,如下圖所示:
用戶端應在可加入多播通道的子網路中運作。一旦啟動,它將執行以下操作:
伺服器端應運行在不支援多重播送的子網路中。一旦啟動,它將執行以下操作:
資料封包隧道協定(DTEP)是一個簡單的二進位協議,如下圖所示:
DTEP 封包有一個 1 位元組標頭,指定其包含的有效負載類型。
這種類型的資料包沒有有效負載。它由客戶端傳送到伺服器,有助於確保連線的兩端都知道另一端是否處於活動狀態。
該資料包封裝了客戶端觀察到的資料報。這是它的完整描述:
儘管此圖應該是不言自明的,但以下是所有欄位的細分:
比照許可證