這就是在原本的VID前面再加一個VID
也可以說是Q-in-Q、double tagged
好處是原本有4094個VLAN
現在變成4094*4094個VLAN
ISP可以針對客戶的需求提供個別的VLAN
客戶A有兩個VLAN20, 30 (inner tag)
客戶B有一個VLAN20 (inner tag)
而中間兩台switch只要知道客戶A的VLAN為10 (outer tag)
客戶B的VLAN為20 (outer tag)
客戶內各自的VLAN並不會影響到外面的VLAN
● SP TPID
用來定義這個frame是否為VLAN tag的frame
一般說0x8100是802.1Q定義的
有些設備商也會用0x9100
● Port Rule可以分成以下三類
》Normal
沒有使用VLAN Stacking的Port
》Access Port
為Ingress port,就是接客戶端的port
必須為untagged
》Tunnel Port
為Egress port,就是中間switch互接的port
必須為tag
giga port才會有這項功能
● SPVID
就是所謂的outer VID
在上面那張圖就是A→10、B→20
● Priority
每個outer VLAN可以有不同的優先權
0最小、7最大
PS : 以上的作法是針對進來的port而決定SPVID
還有針對進來的VLAN來決定SPVID
PS2 : VLAN Stacking與VLAN Mapping同時只能enable其中一項
2008/12/31
2008/12/30
Protocol Based VLAN...
2008/12/27
Port Based VLAN...
2008/12/26
Subnet Based VLAN...
跟據來源的IP位址走對應的VLAN
當一個frame從某一個port收到時
會比對是否已經加了tag
如果有加tag那就走原先對應的VLAN
若沒有加tag那就比對來源IP
根據IP決定走哪個VLAN出去
也可以根據不同的VLAN設定不同的priority
值越大代表權限越高
通常vedio最高、voice次高、data最低
透過這樣的方式
在相同的IP subnet中就可以有不同的priority
比方說172.23.0.1走vedio (vlan 100) 的priority 7
172.23.0.2走data (vlan 200) 的priority 3
實際用在triple-play可以參考這篇
當一個frame從某一個port收到時
會比對是否已經加了tag
如果有加tag那就走原先對應的VLAN
若沒有加tag那就比對來源IP
根據IP決定走哪個VLAN出去
也可以根據不同的VLAN設定不同的priority
值越大代表權限越高
通常vedio最高、voice次高、data最低
透過這樣的方式
在相同的IP subnet中就可以有不同的priority
比方說172.23.0.1走vedio (vlan 100) 的priority 7
172.23.0.2走data (vlan 200) 的priority 3
實際用在triple-play可以參考這篇
C 的自訂資料型別...
C裡面自訂型態類別一共有三種
● typedef
● struct (最常用)
● enum
● typedef:重新定義資料的型態
//start
typedef int testIntType;
testIntType i, j; //i與j為int
//end
● struct:可以將不同型態的資料放在一起
//start
typedef struct {
int i;
char str[20];
} test;
test abc;
abc.i = 1;
strcpy(abc.str, "aabbcc");
//end
● enum:設定一群累加的參數
//start
enum test {
test1, //預設為0
test2, //預設為1
test3 //預設為2
};
//end
● typedef
● struct (最常用)
● enum
● typedef:重新定義資料的型態
//start
typedef int testIntType;
testIntType i, j; //i與j為int
//end
● struct:可以將不同型態的資料放在一起
//start
typedef struct {
int i;
char str[20];
} test;
test abc;
abc.i = 1;
strcpy(abc.str, "aabbcc");
//end
● enum:設定一群累加的參數
//start
enum test {
test1, //預設為0
test2, //預設為1
test3 //預設為2
};
//end
2008/12/24
Mirroring...
2008/12/23
Broadcast Storm Control...
限制每秒經過此port的broadcast、multicast、destination lookup failure(DLF)的packet數量
◎ Destination Lookup Failure (DLF)
目的地位置查詢失敗的封包
在MAC Table找不到對應的MAC資料
再將Packet由同一個VLAN廣播出去
◎ Destination Lookup Failure (DLF)
目的地位置查詢失敗的封包
在MAC Table找不到對應的MAC資料
再將Packet由同一個VLAN廣播出去
2008/12/22
Bandwidth Control...
限制每個Port上行、下載傳輸的頻寬
分為三種Rate
在Ingress Rate可以設定Committed Information Rate以及Peak Information Rate
Egress Rate則只有一種
◎ Ingress Rate
》Committed Information Rate (CIR)
保證這個Port的基本頻寬
》Peak Information Rate (PIR)
如果沒有網路擁塞的狀況,可以到達的最高頻寬
◎ Egress Rate:出去此port的最高頻寬
分為三種Rate
在Ingress Rate可以設定Committed Information Rate以及Peak Information Rate
Egress Rate則只有一種
◎ Ingress Rate
》Committed Information Rate (CIR)
保證這個Port的基本頻寬
》Peak Information Rate (PIR)
如果沒有網路擁塞的狀況,可以到達的最高頻寬
◎ Egress Rate:出去此port的最高頻寬
2008/12/07
vim常用指令...
在這邊分成五個類別分別做介紹
移動、編輯、搜尋、替換、檔案
◎ 移動
→ 左
h:向左移一格
0:移到行首
^:移到最左非空白字元
→ 右
l:向右移一格
$:移至行尾
→ 上
k:向上移一行
H:移至螢幕頂第一個非空白字元
gg:移至檔頭
Crtl+b:向上翻頁
→ 下
j:向下移一行
G:移至檔尾
L:移至螢幕底第一個非空白字元
Ctrl+f:向下翻頁
%:移到對應的括號上
◎ 編輯
i:游標前輸入
x:刪除游標字元
dd:刪除一整行
r:取代游標
s:取代游標(插入)
u:回復(undo)
Ctrl+r:重做(redo)
yy:複製整行
p:貼上
.:重複動作
◎ 搜尋
/:搜尋
n:往下找
N:往上找
*:搜尋游標的字
◎ 替換
:[range]s/xxx/yyy/[c,e,g,i]
-->range:1,7(第一到第七行) or 3,$(從第三行到最後) or %(整篇文章)
-->xxx:要被替換的字
-->yyy:替換的字
-->c(詢問), e(不顯示Error), g(不詢問), i(不分大小寫)
◎ 檔案
:q!:強制離開
:x:有修改則存檔離開
:!:執行外部命令
移動、編輯、搜尋、替換、檔案
◎ 移動
→ 左
h:向左移一格
0:移到行首
^:移到最左非空白字元
→ 右
l:向右移一格
$:移至行尾
→ 上
k:向上移一行
H:移至螢幕頂第一個非空白字元
gg:移至檔頭
Crtl+b:向上翻頁
→ 下
j:向下移一行
G:移至檔尾
L:移至螢幕底第一個非空白字元
Ctrl+f:向下翻頁
%:移到對應的括號上
◎ 編輯
i:游標前輸入
x:刪除游標字元
dd:刪除一整行
r:取代游標
s:取代游標(插入)
u:回復(undo)
Ctrl+r:重做(redo)
yy:複製整行
p:貼上
.:重複動作
◎ 搜尋
/:搜尋
n:往下找
N:往上找
*:搜尋游標的字
◎ 替換
:[range]s/xxx/yyy/[c,e,g,i]
-->range:1,7(第一到第七行) or 3,$(從第三行到最後) or %(整篇文章)
-->xxx:要被替換的字
-->yyy:替換的字
-->c(詢問), e(不顯示Error), g(不詢問), i(不分大小寫)
◎ 檔案
:q!:強制離開
:x:有修改則存檔離開
:!:執行外部命令
訂閱:
文章 (Atom)