透明網橋演算法c 實現

2021-09-24 05:57:51 字數 3315 閱讀 3574

簡單模擬網橋對mac位址的**,開始**表為空,動態生成**表

模擬網段示意圖

演算法實現

#include#include#include#include#include using namespace std;

//網橋登記資訊

struct data//初始化

};//**表 模擬3個網段 兩個**表 此處介面號還模擬網段號

vectortable[2];//**表 0 兩張**表 介面1 **表0 介面2 介面3 **表1 介面4

//介面與網橋(**表的對映) 1->0 2->0 3->1 4->1

int portbrige=;

//剩下的**埠 1->3 2->0 3->5 4->2 乙個網橋有幾個埠這應該是寫死的 此處模擬的網橋僅2個埠

int remainingport=;

//獲取當前時間

string getnowtime();

time(&timep);//獲取當前時間

p=localtime(&timep);//獲取當地時間 並按現在的時間日期來表示

char a[100];

sprintf(a,"%d年%d月%d日 %s %02d:%02d:%02d",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday,

wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);

string ans=a;

return ans;

}//**表table裡找目標位址macadde 源站位址也要接收 因為每次寫表的就是源站位址資訊

int find(vector&table,data start,data end)else

return 0;

}

執行結果:

透明網橋模擬

輸入介面號:1

網橋0未找到f.已**給除1以外所有介面

網橋1未找到f.已**給除3以外所有介面

在模擬範圍以外繼續查詢!

**表0

位址 介面 更新時間

a 1 2023年4月10日 星期三 20:12:35

**表1

位址 介面 更新時間

a 3 2023年4月10日 星期三 20:12:35

輸入介面號:1

網橋0未找到f.已**給除1以外所有介面

網橋1未找到f.已**給除3以外所有介面

在模擬範圍以外繼續查詢!

**表0

位址 介面 更新時間

a 1 2023年4月10日 星期三 20:12:35

b 1 2023年4月10日 星期三 20:12:40

**表1

位址 介面 更新時間

a 3 2023年4月10日 星期三 20:12:35

b 3 2023年4月10日 星期三 20:12:40

輸入介面號:3

網橋1未找到z.已**給除3以外所有介面

在模擬範圍以外繼續查詢!

**表0

位址 介面 更新時間

a 1 2023年4月10日 星期三 20:12:35

b 1 2023年4月10日 星期三 20:12:40

**表1

位址 介面 更新時間

a 3 2023年4月10日 星期三 20:12:35

b 3 2023年4月10日 星期三 20:12:40

c 3 2023年4月10日 星期三 20:12:57

輸入介面號:4

找到了,已從埠3**此幀

**表0

位址 介面 更新時間

a 1 2023年4月10日 星期三 20:12:35

b 1 2023年4月10日 星期三 20:12:40

**表1

位址 介面 更新時間

a 3 2023年4月10日 星期三 20:13:05

b 3 2023年4月10日 星期三 20:12:40

c 3 2023年4月10日 星期三 20:12:57

f 4 2023年4月10日 星期三 20:13:05

輸入介面號:1

網橋0未找到f.已**給除1以外所有介面

找到了,已從埠4**此幀

**表0

位址 介面 更新時間

a 1 2023年4月10日 星期三 20:13:09

b 1 2023年4月10日 星期三 20:12:40

**表1

位址 介面 更新時間

a 3 2023年4月10日 星期三 20:13:09

b 3 2023年4月10日 星期三 20:12:40

c 3 2023年4月10日 星期三 20:12:57

f 4 2023年4月10日 星期三 20:13:09

輸入介面號:1

找到了但是埠號相同,也即a與b在同乙個網段,不需要經過網橋**,直接丟棄!

**表0

位址 介面 更新時間

a 1 2023年4月10日 星期三 20:13:38

b 1 2023年4月10日 星期三 20:13:38

**表1

位址 介面 更新時間

a 3 2023年4月10日 星期三 20:13:09

b 3 2023年4月10日 星期三 20:12:40

c 3 2023年4月10日 星期三 20:12:57

f 4 2023年4月10日 星期三 20:13:09

配置透明網橋實現QinQ傳輸案例

拓撲圖 規格對於v200r008c20及更低版本,只有ar100 ar120 ar150 ar160 ar200系列支援該示例。對於v200r008c30及更高版本,只有ar100 ar120 ar150 ar160 ar200系列 ar1220e ar1220ev ar1220evw和ar1220...

透明網橋的功能 獲取

網橋基於目標m a c 介質訪問控制 位址作出 決定。所以它必須 獲取 m a c位址的位置,這樣才能準確地作出 決定。每個乙太網物理網段上的工作站都將對所有在網段上傳輸的幀進行監聽。當網橋與物理網段連線時,它會對它監測到的所有幀進行檢查。網橋讀取幀的源m a c位址欄位後便作出乙個假定。這個假定是...

計算機網路 透明網橋演算法

include include include include includeusing namespace std const int maxn 105 const int inf 1e9 struct bridge 初始化 vector g maxn 鄰接矩陣儲存網橋結構 struct tabl...