[發明專利]一種深空通信網絡仿真驗證平臺構建方法有效
| 申請號: | 202010081471.5 | 申請日: | 2020-02-06 |
| 公開(公告)號: | CN111343043B | 公開(公告)日: | 2022-07-26 |
| 發明(設計)人: | 余果;董振興;朱巖;張偉東 | 申請(專利權)人: | 中國科學院國家空間科學中心 |
| 主分類號: | H04L43/50 | 分類號: | H04L43/50;H04L41/14;H04B17/391 |
| 代理公司: | 北京方安思達知識產權代理有限公司 11472 | 代理人: | 楊青;武玥 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通信 網絡 仿真 驗證 平臺 構建 方法 | ||
1.一種深空通信網絡仿真驗證平臺構建方法,所述方法包括:
利用樹莓派模擬通信節點,利用交換機將所有通信節點連結成一個網絡,任意兩個通信節點之間能夠通信,并通過一臺主控計算機對所有通信節點進行控制;
具體地:
1-1)分析需要仿真驗證的通信網絡場景,確定整個網絡的通信節點個數;
1-2)采用一臺PC機作為主控計算機;
1-3)采用樹莓派作為通信節點,一個樹莓派作為一個通信節點;
1-4)用網線將所有通信節點和主控計算機連接到一臺交換機上;利用交換機將所有通信節點連結成一個網絡,使任意兩個通信節點之間能夠通信;
1-5)在主控計算機上利用VNC顯示通信節點的圖形界面,實現對所有通信節點的控制,仿真后的數據分析在主控計算機中進行;
以網橋方式為每一個通信節點配置靜態IP,具體配置內容如下:
“auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address[IP地址]
network[網段]
netmask[子網掩碼]
broadcast[廣播地址]
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0”;
所有通信節點進行時間同步,將同步動作集成并設為開機自啟動;
具體地:
2-1)選取一個通信節點作為ntp服務器,配置ntp服務器;
2-2)除了作為ntp服務器端的通信節點,其余通信節點均作為ntp客戶端,對ntp客戶端進行配置;
2-3)調整ntp服務器的時間;
2-4)使ntp客戶端的時間與ntp服務器同步;
2-5)將ntp同步動作集成并設為開機自啟動;
2-5-1)使ntp客戶端的時間與ntp服務器端同步,具體如下:
a.在服務器端的任意位置創建ntp-server.sh文件,以下以“[ntp-server路徑]”代替該文件所在位置,在服務器端命令行窗口輸入“sudo gedit[ntp-server路徑]/ntp-server.sh”,在打開的文件中輸入以下內容:
“#!/bin/sh
sleep 30s
sudo ufw enable
sudo ufw allow 123”;
然后保存并退出;
b.在服務器端的命令行窗口輸入“sudo chmod a+x[ntp-server路徑]/ntp-server.sh”,為ntp-server.sh文件添加權限;
c.在服務器端的命令行窗口輸入“cd[ntp-server路徑]”,進入ntp-server.sh所在文件夾,然后輸入“./ntp-server.sh”,執行該文件;
d.在每一個客戶端的任意位置創建ntp-client.sh文件,以下以“[ntp-client路徑]”代替該文件所在位置,在客戶端命令行窗口輸入“sudo gedit[ntp-client路徑]/ntp-client.sh”,在打開的文件中輸入以下內容:
“#!/bin/sh
sleep 40s
sudo/etc/init.d/ntp stop
sudo ntpdate[服務器IP地址]
sleep 10s
sudo/etc/init.d/ntp start”
其中“[服務器IP地址]”與本步驟第2)條d.的“[服務器IP地址]”相同;
e.在客戶端的命令行窗口輸入“sudo chmod a+x[ntp-client路徑]/ntp-client.sh”,為ntp-client.sh文件添加權限;
f.在客戶端的命令行窗口輸入“cd[ntp-client路徑]”,進入ntp-client.sh所在文件夾,然后輸入“./ntp-client.sh”,執行該文件;
等待1分鐘后,即可實現整個網絡的時間同步;
2-5-2)將ntp同步動作設為開機自啟動,具體如下:
a.對每一個通信節點,在其命令行窗口中輸入“sudo gedit/etc/rc.local”,打開rc.local文件;
b.在打開的rc.local文件中的exit 0之前添加一行命令“su pi-cexec[文件]”,其中的“[文件]”,在作為服務器端的通信節點上以“[ntp-server路徑]/ntp-server.sh”替代,在每一個客戶端通信節點上以“[ntp-client路徑]/ntp-client.sh”替代;
c.保存文件并退出;
對每一個通信節點配置靜態ARP,將配置操作集成并設為開機自啟動;
對需要進行仿真驗證的深空通信網絡場景進行分析,確定每一條通信鏈路特性,然后進行深空通信鏈路狀態模擬,并將配置操作集成;
具體地:
3-1)根據鏈路速率、延時和丟包特性,利用TC htb+netem的方式,對每一個通信節點的數據發送的速率、延時和丟包率進行配置;
3-2)利用TC filter,將以上特性進行數據流分流設置,實現同一發送節點不同接收節點的鏈路具有不同特性的設置;
3-3)將以上鏈路特性設置寫成一個配置文件,將鏈路特性設置操作集成起來;
具體地,鏈路狀態模擬具體為:
3-3-1)分析鏈路狀態可知,節點1、2之間和節點2、3之間存在有效鏈路,由月球向地球傳輸數據,即從節點1發送數據,經節點2,到達節點3,場景中下行數據速率為1Mbps,信道速率比為100:1,即下行速率/上行速率,鏈路的丟包率為12%,節點1、2之間鏈路延時為5ms,節點2、3之間鏈路延時為2s,平臺所用網卡為百兆網卡;
3-3-2)根據鏈路速率、延時和丟包特性,對每一個通信節點的數據發送的速率、延時和丟包率進行配置,并將以上特性進行數據流分流設置,實現同一發送節點不同接收節點的鏈路具有不同特性的設置,最終將以上鏈路特性設置寫成一個配置文件,對每一個通信節點均執行以下步驟:
a.在/home/pi/self-starting路徑創建link-config.sh文件,在命令行窗口輸入“sudo gedit/home/pi/self-starting/link-config.sh”,打開link-config.sh文件;
b.對于節點1,在打開的文件中輸入以下內容:
“#!/bin/sh
sudo tc qdisc del dev eth0 root
sudo tc qdisc add dev eth0 root handle 1:htb default 11
sudo tc class add dev eth0 parent 1:classid 1:1htb rate 1250bps ceil1250bps
sudo tc qdisc add dev eth0 parent 1:1handle 10:netem delay 2s loss 12%
sudo tc filter add dev eth0 protocol ip parent 1:0prio 1u32 match ip dst192.168.0.12match ip dport 1113 0xffff classid 1:1
sudo tc class add dev eth0 parent 1:classid 1:11htb rate 1250000bps ceil12500000bps”
對于節點2,在打開的文件中輸入以下內容:
“#!/bin/sh
sudo tc qdisc del dev eth0 root
sudo tc qdisc add dev eth0 root handle 1:htb default 11
sudo tc class add dev eth0 parent 1:classid 1:1htb rate 125000bps ceil125000bps
sudo tc qdisc add dev eth0 parent 1:1handle 10:netem delay 2s loss 12%
sudo tc filter add dev eth0 protocol ip parent 1:0prio 1u32 match ip dst192.168.0.11match ip dport 1113 0xffff classid 1:1
sudo tc class add dev eth0 parent 1:classid 1:2htb rate 1250bps ceil1250bps
sudo tc qdisc add dev eth0 parent 1:2handle 20:netem delay 0.005s loss12%
sudo tc filter add dev eth0 protocol ip parent 1:0prio 1u32 match ip dst192.168.0.100match ip dport 4556 0xffff classid 1:2
sudo tc class add dev eth0 parent 1:classid 1:11htb rate 1250000bps ceil12500000bps”
對于節點3,在打開的文件中輸入以下內容:
“#!/bin/sh
sudo tc qdisc del dev eth0 root
sudo tc qdisc add dev eth0 root handle 1:htb default 11
sudo tc class add dev eth0 parent 1:classid 1:1htb rate 125000bps ceil125000bps
sudo tc qdisc add dev eth0 parent 1:1handle 10:netem delay 0.005s loss12%
sudo tc filter add dev eth0 protocol ip parent 1:0prio 1u32 match ip dst192.168.0.12match ip dport 4556 0xffff classid 1:1
sudo tc class add dev eth0 parent 1:classid 1:11htb rate 1250000bps ceil12500000bps”
c.在命令行窗口輸入“sudo chmod a+x/home/pi/self-starting/link-config.sh”,為link-config.sh文件添加權限;
d.在命令行窗口輸入“cd/home/pi/self-starting”,進入link-config.sh所在文件夾,然后輸入“./link-config.sh”,執行該文件,實現通信鏈路狀態配置;
進行通信節點模擬,在整個仿真驗證平臺上進行協議棧的實現和數據流的傳輸;
具體地:通信節點模擬具體為;
4-1)利用ION的ion-3.7.0版本進行DTN的協議棧實現,具體如下:
a.為每一個通信節點安裝ION。獲取ion-3.7.0.tar.gz安裝包,在ion-3.7.0.tar.gz安裝包所在路徑下,依次執行以下命令:
“tar–zxvf ion-3.7.0.tar.gz”
“cd ion-3.7.0”
“./configure”
“make”
“sudo make install”
“sudo ldconfig”
b.依據深空通信網絡場景,參照ION提供的使用說明,將節點1、2、3配置為DTN節點host1、host2、host3,且節點1、2之間的發送、接收端口號均配置為1113,節點2、3之間的發送、接收端口號均配置為4556;
4-2)利用ION自帶的測試功能,傳輸真實數據,具體如下:
a.在目的節點3上,進入打算保存文件的路徑,輸入命令“bprecvfile ipn:3.1”;
b.在源節點上,進入待發送文件所在路徑,輸入命令“bpsendfile ipn:1.1 ipn:3.1test.txt”。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院國家空間科學中心,未經中國科學院國家空間科學中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010081471.5/1.html,轉載請聲明來源鉆瓜專利網。





