2010/08/22

專案管理...


專案管理
什麼是專案呢?
只要是一件事情有開始&結束的時間
最後要產出結果都可以稱作專案
像是考試、旅遊、活動等等...
專案管理就是透過知識、工具
去達成專案的目標

專案基本上有三個組成份子
● Scope (Quality):專案的結果
● Time (Schedule):專案執行的時間
● Cost (Resource):專案所需的成本
在一開始執行專案時必須決定那個最重要
像是學生考試基本上最重要的是時間
再來是結果最後才是成本
因為學生考試的時間決定好了
沒考好可以選擇不同科系或學校
(也有人覺得結果最重要就會選擇重考了)

專案的流程有以下五個階段
Initiating (開始)
Planning (計畫)
Execting (執行)
Monitoring & Controling (監督 & 控制)
Closing (結束)
請參考下圖~

2010/07/08

RIP...


RIP(Routing Information Protocol)
這個protocol是用在layer 3 (IP layer)
用來做router間交換路由資訊的protocol
可以根據不同的domain來做不同的設定

在這邊domain的意思是一個IP layer的網路
像是192.168.1.1/24的網段
這個網段包含的IP從192.168.1.1 ~ 192.168.1.254的網路IP

可以設定兩種資訊
● Direction
》Both:定期的收送並更新routing table
》Incoming:只收來自其他台router的資訊,不送出RIP
》Outgoing:指送routing資訊,不收來自其他router的資訊
》None: 不送也不收routing資訊

● Version:用來控制版本 & broadcast的作法
》RIP-1:version 1基本上就足夠了
》RIP-2B: 比version 1多帶些資訊,用broadcast的方式
》RIP-2M:用multicast的方式

2010/07/07

投資...


什麼是投資呢?
我看了"漫步華爾街"的書
裡面有一句話我覺得最客觀
投資是
購買資產,以獲得合理的可預期收入(股利、利息、租金收入)
或長期增值的一種方法
那投機呢?
基本上就在於時間的長短與報酬的可預測程度
所以希望在幾週內就有獲利這就算是投機了

投資並不能一夕致富
但是投資必需要"不賠錢"
那什麼樣的報酬率代表不賠錢呢?
至少要能與"通貨膨脹率"相同

何謂通貨膨脹呢?
簡單來說就是物價上漲
十年前買支冰棒可能10元
現在買一樣的冰棒可能要20元了
這樣的過程就是通貨膨脹
這50年來的通貨膨漲率大約是4.5%
很可怕吧!!!!
現在定存一年的利率都不到1%
定存是真的趕不上通膨的速度了
但是定存的好處是本金不會被侵蝕
而且折現的速度快
所以一開始還是要透過定存
存緊急預備金 & 這兩三年可能會用的錢(像是結婚基金、旅遊基金之類的)
別一頭熱的全部投到股票或基金中

2010/07/06

隨機漫步...


想必大家都有聽過一個理論
一萬個小時的天才
就是人只要練習某項技能超過一萬個小時
他在那個領域就會成為天才
無論是運動員、音樂家、棋手都是這樣
這代表了一件事情
就是人努力就會變成天才的
重點是要有毅力不斷的努力
而且這些動作都會一直進步的

但是投資也是嗎?
只要學習投資超過一萬個小時
就會一直賺錢嗎?
就會總是打敗大盤嗎?
我想答案都在大家的心中了
所以學者提出了一個專有名詞來說明股票市場
"隨機漫步(Random Walk)"

隨機漫步代表
未來的發展和方向不能依據過去行為加以推測
比方說過去十年中華電信都表現的很好
但是不能因為過去的這些表現就說
中華電信在接下來的日子都會表現得很好
簡單來說
就是股票市場是不能預測的
這樣的結論代表一件事情
就是金融界的分析師 & 動物園的猴子選股的結果可能會差不多
說不定猴子反而會好一點 (好慘啊~~~)

PS:後面會介紹金融業界對抗學術界的兩大武器

2010/04/14

Static Route....


手動設定路由的方向
● 要設定destination IP與subnet mask
若是要針對某個IP那subnet mask就設定255.255.255.255
● 設定所要送的gateway IP address
● 設定metric (1 ~ 15)
代表說routing所需的成本
routing的成本代表經過多少個router
一般來說設定2 ~ 3就好了

為什麼要手動設定路由的方向呢?
因為有可能switch上面的default gateway找不到對應的位置
那為什麼default gateway會找不到這些IP呢?
有些是因為安全性的考量
比方說網路管理的server就不會想加入到default gateway中
所以就可以透過手動設定的方式來處理

ARP Table...


ARP(Address Resolution Protocol)
這個通訊協定最主要是用來做IP與MAC之間的對應
ARP Table則是存IP與MAC對應的表
有以下幾個欄位
● IP Address:對應到MAC的IP
● MAC Address:對應到IP的MAC
● VID:MAC所屬的VLAN ID
● Type:是動態學到或是手動設定的
● Age:此筆資料可以存在多久,0代表一直存在

在收到封包之後
switch會先去查這個進來的IP有沒有存在ARP Table中
若是存在則會送到對應MAC的device

若沒有在ARP Table中
那這台switch會broadcast ARP request
將自己的IP&MAC放到source IP與MAC裡面
並將要知道的IP放到destination IP裡面
再將destination MAC設為FF:FF:FF:FF:FF:FF (廣播MAC address)
如果在LAN中有人有對應到此IP的device
就會透過unicast送到剛剛發送的switch
switch就會學到這IP與MAC的對應

如果都沒有人回
此packet就會送給gateway讓它去想辦法了

2010/04/03

跟著安藤忠雄看建築...


這本書是從龍巖的業務那得到的
她知道我對他很有興趣送給我的

簡單介紹一下他
他目前是世界建築三大師之一
而且他沒有受過正規建築師訓練
全靠自修所習來
一個屢敗屢戰不同的人生
他在17歲時為了出國看建築
爭取到職業拳擊手的資格到國外比賽
在高工機械科畢業之後
他到室內設計公司當助手
並自學建築課程
24歲時又自費出國旅遊實地走訪
回國之後他就努力的接案學習並向政府提案
終於在35歲那年有了成名作「住吉的長屋/東邸」
在往後的幾年他慢慢的墊定他的風格與聲譽
在54歲時他得到了『普立茲克獎』(建築界的諾貝爾獎)

光之教堂

安藤忠雄在建築中有三個要素
● 素面材料
他通常都用清水混凝土來作素材
簡單來說就是水泥牆
但是他的水泥牆有經過特殊的調配
可以直接呈現出細膩的觸感

● 幾何形體
基本上就是一些簡單的幾何圖形
圓型、方形、三角形
他認為幾何是建築的框架

● 經人為處理的自然
因為他喜歡大自然
所以必須將自然表現在建築中
所以光、天空、風、水都會是他的創作元素

我想上述的內容並不足以讓他成為"當今在世的偉大建築師"
看完這本書
我發現是他對建築的熱情與永不放棄的念頭
他也一直提醒年輕人要擁有夢想並勇敢實現
最重要的... 要去愛自己的家鄉 ─ 地球

PS: 他目前在台灣的作品
● 交通大學藝術館 (聽說停工了)
● 亞洲大學藝術館 (聽說今年會蓋好)
● 龍嚴世紀墓園

2010/04/02

DSCP...


DSCP(Differentiated Service CodePoint)
用來進行QoS(Quality of Service)
讓不同的封包在網路擁塞時有不同的優先權
這個功能主要是用來取代Class of service的功能
因為原先的class of service只有8個等級
DSCP將這個功能擴充到64個不同的priority
比較高的等級在網路擁塞的狀況下
可以有比較好的傳輸品質
由於可以向下相容
這64個priority也都可以對應到COS的8個priority中

接著介紹流量控管的機制
此功能都必須在DSCP下才能作用
● TRTCM (Two Rate Three Color Marker) [RFC2698]
首先些介紹顏色
Red:有很高的機率送不出去
Yellow:有網路擁塞時,則會送不出去
Green:會盡量將此封包送出
分成兩個Rate
CIR (Committed Info Rate):保證的頻寬
PIR (Peak Info Rate):最高的頻寬
分為兩種mode
》Color-blind Mode
基本上不看近來封包的顏色
1.只要網路超過PIR,封包都標為Red
2.如果只超過CIR,封包則標為Yellow
3.如果都沒有超過則為Green
》Color-aware Mode
先看顏色再看目前的頻寬
1.如果進來為Red,則繼續標為Red
2.網路超過PIR,封包都標為Red
3.如果進來為Yellow,則繼續標為Yellow
4.如果超過CIR,封包則標為Yellow
5.若都不符合上述條件則標為Green


2010/04/01

ACL...


ACL(Access Control List)
是將進來的traffic進行對應的動作
比方說將某特定VLAN進來的traffic都貼上較高的priority
分為兩個主要的步驟
第一是將traffic進行分類(Classifier)
第二是把上述分類的traffic指定到對應的動作(Policy Rule)

● Classifier
這裡的行為主要是將traffic包成一個group
可以針對進來封包的VLAN, priority, Ethernet type, MAC, port來分類
也可以針對layer 3的DSCP, IP protocol, source\destination IP來分類
分類完會放在同一個group中

● Policy Rule
在Classifier分類完封包之後
這裡就是針對上述的group進行對應的動作
→ Forwarding:是否要drop packet或不要drop
→ Priority:是否要換成新的priority
→ DiffServ:是否要換成新的DSCP
→ Outgoing:送出去的packet是否要帶新的VLAN ID,或指定送到某port
→ Metering:在發生網路擁塞時要怎麼處理(drop,換DSCP,...)

關於DSCP請參考此篇

2010/03/31

35歲前要做的33件事情



這本書我看了很多遍
每次看都覺得內容過於多且雜
於是這次看完覺得將自己的心得寫下
並且分類成為自己的十件事情

● 態度
→ 謙沖致和
→ 積極陽光
→ 挫折回復

●個人
→ 鮮明個人風格
→ 簡約生活
→ 學習律動
→ 結交知己

●目標清單
→ 訂下目標清單
→ 自己的事業
→ 培養興趣

以下是我參考書目做的分類

● 態度
→10.擁有謙沖致和的態度 (3.重新定義「中年」、13.每週一次整理(反省)自身)
→4.得到「心靈復原力」(11.一定要擁有一次人生的大挫折)
→2.永遠心向陽光的生活態度 (6.懷抱一個偉大的夢想,緊張現實的當下、15.對世界懷抱一個希望)

● 個人風格
→1.確立鮮明的個人風格 (31.真的可以說「不」)
→5.簡約生活 (26.選擇自己的生活方式和節奏、9.制定自己的kepp fit計畫、8.培養良好的睡眠習慣、22.擁有屬於自己的金錢規劃)
→21.保持不間段的學習律動(20.搞定外語、7.養成每天讀取新聞的好習慣、17.考幾張證照、12.豐富自身內涵、16.產生令自己有價值的獨門創意)
→33.結交幾個知己 (30.只需和少數人保持和諧關係、32.對父母許若必不可少)

● 目標清單
→14.定下人生的目標清單 (29.見一個「夢中人」、28.做一次義工)
→19.為事業而不是位工作奔波(18.至少進一次大公司)
→25.培養一種自己獨享趣味 (27.擁有一個自己的角落、24.背著背包去走走、23.離群索居十天、一個月)

2010/03/30

兔斯基~做自己 (王卯卯)



這本書市一本手繪本
他也是網路上很多人喜歡用的圖示
我最近才發現這個作者竟然是大陸人
而且它的圖示很有趣
不用表情來說明情緒
而是用熱情的肢體動作來說明

原本以為這本書僅僅是搞笑(因為網路上發現牠的圖都很好笑)
沒想到看完之後發現
這本書畫了很多很有意思的圖文
我會推薦大家去看一下
因為還蠻有寓意的
以下列了一些我比要有感觸的文字
圖案就請各位去買書吧

→景色
處在高處,就舉目遠眺
跌落低處,也能靜心欣賞


痛苦是用來獨自承受的
快樂才是用來分享的

→心
每個人都應把心放低
於是就可以永遠沒有失望,只有驚喜

→如果
如果沒有光,那就點一盞燈
如果沒有門,那就開一扇窗
如果沒有路,那就搭一座橋
如果沒有奇蹟發生,那就去創造一個

→ 一
桌上點一盞燈,我就不會害怕
多搭一條毛巾,我就不會孤單
認真讀些好書,我就不會惆悵
然後,即使仍是一個人,我也不再悲傷

→夢想
不要讓夢想永遠只成為一個夢想

→希望
我沒有錢,但是我還有朋友
我沒有朋友,但是我還有家人
我沒有家人,但是我還有健康
我沒有健康,但是我還有希望

→低調
不管好事還是壞事,自己清楚就足夠,做人要低調

→勇氣
沒有不能做,只有不敢作

→自己
先做自己,再愛別人

→距離
距離並不可怕,可怕是心越來越遠

2009/10/05

Multicast VLAN...


在看這篇文章會建議先看一下Multicast
Multicast VLAN 或 Multicast VLAN Registration
是為了MOD(Media-on-Demand)所設計出來的
一個Multicast VLAN可以將multicast traffic透通到其他的VLAN
如下圖
在switch上面設定multicast vlan 99
則multicast server S的multicast traffic就會送給VLAN 100, 200, 300

這樣可以簡化頻寬的使用與降低multicast group的管理難度
MVR主要會針對IGMP join與leave封包進行處理
至於IGMP report的封包則是交給IGMP snooping

MVR port分為兩種
一種為source port: 可以收送multicast traffic (此port都是接到multicast sever或是multicast router)
一種為receive port: 只能收multicast traffic (此port都是接到用戶端)

MVR分為兩種模式
dynamic(自動):會將IGMP report的封包送到所有的source port,並且自動更新multicast forwarding table
compatible(手動):不會轉送任何的封包,必須手動設定

由下圖來做各設定與流程的範例

MVLAN要設為99並且要設定802.1p的priority (0~7)
在設定的部份port 1 & 2要設為recive port
port 9要設定為source port
最後在multicast group的部份加入
Movie :224.1.3.10 ~ 224.1.3.20
News : 230.3.2.100 ~ 230.3.2.110
以上便大功告成了

如果A user想要看某個電影頻道(224.1.3.15)
A會送IGMP report給switch去join 224.1.3.15的multicast group
IGMP report送到switch之後
switch會去比對MVR的table看是否有match到multicast group
並存到multicast forwarding table
最後透過A user所屬的vlan 100來傳送multicast traffic

如果A user想要換頻道或關機不看了
他會送一個leave的message給switch告知說要離開此頻道
switch會送query的message給port 1
如果還有其他的人在此port要收看的則會繼續送multicast封包
如果沒有別人在此port要收看了switch會將此port給移除

PS:一個port能屬於多個mulitcast VLAN但是multicast group不能有overlap

2009/09/27

理財導讀...


理財第一門課開源節流

理財步驟
1. 記帳
2. 檢視財務狀況
3. 保險保費繳不出(保險操作)
    〉保險種類保險匯整表
        》壽險 → 保障額度 (家庭需求法) [投資型保單]
        》健康險
            →醫療險
            →防癌險
            →重大疾病險
            →長期看護險
        》失能險
        》傷害險
        》年金險 (越老越便宜)
4. 存錢
5. 目標
6. 投資工具
    〉利率 (複利實質利率)
    〉資產配置
        》定存 (定存進階雙幣定存定存銀行)
        》債券
        》股票 (自己的明牌好的股票績優股、) [填權除權除息減資]
            → 籌碼分析融資融券
            → 技術分析
            → 基本分析
                ◎ 財務報表 (資產負債表損益表現金流量表報表關係)
                ◎ 財務狀況分析

2009/09/22

墓誌銘...



所謂的人之將死,其言也善
如果在現在請自己,寫下墓誌銘...
你會想寫什麼呢?
很多人會寫下自己的經歷與貢獻
我想了很久...
決定由三個主題來成為我的墓誌銘

以下是我這些年來的小小分享

● 感恩
如果現在各位還活著
首要之務就是感恩
感恩所有對你好、對你不好的人
不僅是感謝更要將之視為恩情
任何人在世上都需要別人幫忙
對你好的人讓你知道世界最重要的東西〈愛〉
對你不好的人讓你學會警惕與成長
請各位感恩所有在生活發生的一切
或許很難...
但是學會感恩
你的心靈會變得更美好、更完美

● 珍惜
在感恩之後
就要學會珍惜身邊的一切
遲早所有的一切都會離你而去
不管是所有的人、事、物
全都會離你而去
請各位珍惜週遭的一切人事物
即便是小小的花朵...
在學會珍惜之後
周圍的一切會變得更有感觸、更精緻...

● 希望
我一直很喜歡潘朵拉的故事
她打開了盒子之後貪婪、忌妒、憂傷、疾病...都跑了出來
於是人類的世界開始有了「不幸」
盒子只剩下"希望"
於是人類透過希望去克服世界上一切的不幸
在遇到了任何的苦難時
請懷抱"希望"
它會帶你走過任何困苦...

2009/04/26

朱銘給年輕人的建議


最近朱銘推出他的新作"科學家"
而他下的注腳我覺得很有趣
"藝術家和科學家一樣,都在尋找前所未有的創發。
科學家往大自然、宇宙尋找,藝術家往內心尋找。
這要靠修行,沒人能幫你"
我想各行各業都是一樣的
以下是他給年輕人的建議
我想可以對大家有些啟發

● 要像我這麼打拼才會贏,我的工作量比三個年輕人加起來還多!

● 要忘掉從別人那裡學來的,但並非要你別學習。
沒有經歷學習的過程,光靠本能創作,發展會受侷限。
要先學習再忘掉,留下的是智慧,這是必經的創作過程。

● 忘與丟,是最重要的課程。
學得太久了,必須先忘掉,才能找回自己。

● 要學活的藝術,不要學到死的藝術

● 創作以前要先做好研究,等真正創作時,就不可以想。
不要去想,必須渾然忘我,要項打坐到很安靜的地步。

2009/03/31

Layer 2 Switch...


寫了一大堆的Layer 2 Switch的功能
卻沒有做較完整的概論
希望能在這篇有個大致的輪廓...

首先要介紹的是
為什麼要用Switch而不用hub?
這就要提到Ethernet Network的原罪了
因為Ethernet是採用CSMA/CD的方式傳輸
在網路設備要傳輸前會偵測網路的使用狀況(碰撞偵測)
如果有別的設備在傳輸
則會等一段時間在試著傳輸
若太多的網路設備都在同一個網路上面的話
就會常常要等待
這樣的一個網路區域通常稱為"碰撞領域"(collision domain)
hub只會將碰撞領域變大
而switch可以切割碰撞領域
所以用switch可以增加網路使用的效能

如果要增加Ethernet的頻寬使用率
必須要減少一些不需要的封包在網路上傳送
以下將功能大致分為三類
減少網路流量、增加網路頻寬、安全與偵錯

● 減少網路流量
首先要介紹switch最主要的功能
802.1d (bridge behavior)
主要是介紹如何自動學習MAC以及轉送frame
在這邊可以參考MAC Table以及Static MAC forwarding
並且透過port security來設定MAC forwarding的作法
也可以透過filtering的功能來限制traffic的數量
除了這點之外還要避免"迴圈"的發生
迴圈會導致broadcast strom(廣播風暴)
在這邊可以參考RSTP
但是RSTP只能有一隻tree於是有了MRSTP(這不是在standard裡面)
而且RSTP無法解決不同VLAN可以有不同tree的問題
於是有了MSTP(802.1s)
而且為了避免edge端的loop產生
於是有了Loop Guard的功能

為了減少一些不必要的資料在網路上傳送
於是產生了VLAN(802.1q)的概念
並且衍伸了
Protocol based VLAN (根據protocol來切VLAN)
Port based VLAN (根據對應的port來區分traffic)
Subnet based VLAN (根據IP range來切VLAN)


● 增加網路頻寬
如果頻寬不夠的話
在802.3ad定義了link Aggregation
就是可以將多個實體的port綁成一個邏輯上的port
那個port有更高速的頻寬跟容錯的機制

而在802.1p則是定義了Ethernet的priority以及Multicats的運作
在priority的部份可以參考Queue Method
在Multicast的部份可以參考GARP以及Static Multicast Forwarding

在802.3x也定義了flow control的部份
可以參考broadcast strom control以及bandwidth control


● 安全與偵錯
在switch的認證與安全的部份定義了802.1x
可以參考AAAPort Authentication

在tunneling(VPN)的部分有802.1ad (Q-in-Q)
可以參考Layer 2 Protocol TunnelingVLAN StackingVLAN Mapping

之前最為大家所詬病的Fault Management
也在最近有了802.1ag CFM
Mirroring真的不知道要放在哪裡
就先在這邊借放一下啦...

2009/03/25

Static Multicast Forwarding...


就是手動設定要將Multicast MAC的frame
送到某個VLAN的某些port

IGMP Snooping與Static Multicast Forwarding的關係
有點類似MAC Table裡面的
Address Learning跟Static MAC Forwarding的關係
IGMP Snooping會自動學習
並且把對應的Multicast Packet送到適合的port
而Static Multicast Forwarding就是
手動指定Multicast Packet送到指定的port

這邊有個比較特殊的地方要做說明的
那就是關於Multicast MAC Address
在Layer 3的Multicast IP為Class D
224.0.0.0 ~ 239.255.255.255
而在Layer 2的Multicast MAC
必須為01:00:5E開頭的(這六碼通常稱為OUI)
所以Multicast MAC Address的範圍為
01:00:5E:00:00:00 ~ 01:00:5E:7F:FF:FF

如果眼尖的人會發現
為什麼不是
01:00:5E:00:00:00 ~ 01:00:5E:FF:FF:FF
因為這好像是standard定義的
如果要將Multicast IP轉為Multicast MAC
就只能針對後面的23個bits進行轉換
下面做個簡單的範例

如果想將224.10.0.1轉成Multicast MAC的話
先轉成2進位11100000.00001010.00000000.00000001
再針對最後面23個bit進行轉換
0001010.00000000.00000001 = 0a:00:01
在將前面帶入01:00:5E
所以224.10.0.1的Multicast就會成為01:00:5E:0a:00:01
因為只有針對後面的23個bit進行轉換
所以以下的Multicast IP都會被轉成01:00:5E:0a:00:01
224.10.0.1、224.138.0.1
225.10.0.1、225.138.0.1
226.10.0.1、226.138.0.1
227.10.0.1、227.138.0.1
228.10.0.1、228.138.0.1
229.10.0.1、229.138.0.1
230.10.0.1、230.138.0.1
231.10.0.1、231.138.0.1
232.10.0.1、232.138.0.1
233.10.0.1、233.138.0.1
234.10.0.1、234.138.0.1
235.10.0.1、235.138.0.1
236.10.0.1、236.138.0.1
237.10.0.1、237.138.0.1
238.10.0.1、238.138.0.1
239.10.0.1、239.138.0.1
一共32個Multicast IP會轉成相同的Multicast MAC

PS: 至於為什麼是23個bit,請參考此篇

2009/03/24

Multicast...(IGMP)


在IP packet的傳送方式中
主要分為兩類:unicast以及broadcast
unicast就是 一送一收
broadcast就是 一送全收
而multicast就是 一送群組收
以上翻的很爛...但是就差不多意思啦

在提到了Multicast時
必須要提到IGMP (Internet Group Management Protocol)
主要是用來定義如何在Layer 3建立multicast group
這個protocol不是用來傳送資料用的
專門用來建立multicast群組

之前學過網路的人一定知道
D class(224.0.0.0 ~ 239.255.255.255)是用來做multicast group
所以說如果
A的PC(IP為172.23.23.1)加入multicast group 224.0.0.1
B的PC(IP為172.23.123.1)加入multicast group 224.0.0.1
C的PC(IP為172.23.23.2)加入multicast group 224.0.0.2
而A的PC在做multicast只會傳給B的PC
特地將IP寫出來的意思是說IP是電腦的地址
而multicast group的address是群組的名稱
有點類似A以及B的PC都加入天道盟
而C加入竹聯幫的意思

IGMP Filter Profile指的是說
Switch可以收到哪些的multicast的group
如果設定IGMP Filter Profile (224.0.0.0 ~ 225.0.0.0)
那233.0.0.1的multicast的packet就會被這台switch捨棄掉

在來提一下IGMP Snooping
Snooping就是刺探的意思
但我覺得在這邊翻譯成"偷偷學"比較好

比方說port 3送了一個Join multicast 224.0.0.1的封包到switch
switch就偷偷地學起來
等到從port 5收到multicast 224.0.0.1的封包時
就知道只要傳給port 3就好了
不用傳給別的port
透過IGMP snooping就不需要手動設定了
而且也不會送到其他不屬於這個multicast group的port
減少封包傳遞的數量

而且每個VLAN都可以有自己的multicast group
所以IGMP snooping最多可以support到16個VLAN
所以VLAN 100有multicast group 224.0.0.100
VLAN 200也可以有multicast group 224.0.0.100
IGMP snooping有分為兩種mode
● auto
自動從任何vlan學multicast group
直到學滿16個VLAN就不再學了
● fixed
只會由手動建的vlan學multicast group

每台Device需要設定
● IGMP Snooping
用來決定是否要開啟IGMP snooping的功能
● Querier
讓這台switch可以送querier的封包給對應的port
● Host Timeout
多久沒有收到report message
就將此port從某個multicast group移除
● 802.1p Priority
出去的IGMP control packet要轉貼成什麼樣的priority
● Unknown Multicast Frame
如果收到未知的multicast frame要採取什麼樣的作法
可以選擇Drop或Flooding
● Reserved Mulitcast Group
224.0.0.0 ~ 224.0.0.255是用來保留給
local network使用的multicast group
如果收到這個domain的frame要採取什麼樣的作法
可以選擇Drop或Flooding

每個Port需要設定
● Immed. Leave
當一收到leave message的封包時
馬上將這個port從那個multicast group移除
● Normal Leave
在某一個port要離開某個multicast group時,會送出一個leave的msg
switch收到之後會送出一個query的msg,然後等依段時間
如是有收到join的msg則會繼續送資料
若沒有收到則從switch中刪掉
● Fast Leave

● Group Limited & Max Group number
限制這個port最多可以加入幾個multicast group
如果超過的multicast group的數量
就由Throttling來決定處裡的方式
● Throttling
如果超過某個port最多的multicast group的數量
可以選擇捨棄掉新的multicast group (deny)
或是將舊的multicast group給取代掉 (replace)
● IGMP Filtering Profile
選擇這個port的可以允許的multicast group
如果multicast group不屬於IGMP Filtering Profile
就不會進到此port
● IGMP Querier Mode
當此port收到query message的作法
選擇Auto時
如果一收到query message就會成為query port
選擇Fixed時
不管如何都會成為query port
選擇Edge時
不管如何都不會成為query port

PS:目前IGMP的版本到v3
IGMP-v1:只有query和report的封包,要等到timeout才會leave
IGMP-v2:加入了leave的封包
IGMP-v3:加入了source filter的功能,host端可以決定要收到來自哪些source來的IGMP封包

2009/03/23

GARP...


Generic Attribute Registration Protocol(GARP)
簡單來說
就是在網路上用來自動註冊或撤銷某些attribute
並將這些attribute傳送到整個網路
而attribute有VID或Multicast Group
使用VID當attribute的protocol就是GVRP
使用Multicast Group當attribute的protocol就是GMRP

GARP有三種不同的Message
● Join:用來註冊attribute (設備主動送出)
● Leave:用來註銷attribute (設備主動送出)
● Leave All:在固定時間註銷所有的attribute (Switch在固定時間註銷)

GARP也要設定三種不同的Timer
● Join Timer
實際上Join Message會送兩次
若第一次送出之後沒有回應
會再等Join Timer的時間之後
再送出第二次
● Leave Timer
在收到Leave Message之後
Switch會等待Leaver Timer的時間
若在這中間有收到Join Message
則會保留此attribute
若沒有收到Join Message
則再將此attribute刪除
● Leave All Timer
當GARP啟動之後
Leave All Timer就會開始倒數
在timer結束之後
會送Leave All Message給其他Device
所有的Device要重新註冊

PS:GARP不會單獨存在,一定要有GVRP或GMRP

2009/03/10

Makefile...


在介紹Makefile之前
先了解一下什麼是make
make是自動化轉換文件格式的工具
並且會檢查文件之間的相依性
只會針對有修改的檔案進行編譯
通常是用來轉換原始碼(*.C)成執行檔(*.exe)
而文件之間的相依性
就是定義在makefile中

makfile基本的結構
target: dependencies
Commands
以下分別說明
● target
所要建立的檔案
必須要以:結尾
在make時發現target建立的時間比dependecies新
就不會再重新建立target

基本上make時會先參考all的target
並根據它的dependencies決定要建哪些項目
若沒有all則會採用第一個target

若target並不是要建立檔案
例如
clean:
rm*.o
就要在前面宣告".PHONY: clean"
這樣make就會知道這不是用來建立檔案的
如果不加.PHONY
在目錄中有clean的file則clean就會被視為要建立
而clean卻沒有dependencies的項目
所以就永遠不會執行

● dependencies
相依的項目
make會跟據這些項目決定市府要重新建立target
在建立target之前必須要檢查的項目
若是traget建立的時間比dependencies早
則會重新建立target
若在dependencies中有其他的target
則會先檢查那個target的dependencies

● Commands
要建立target的指令
必須要以開頭
因為在makefile中
開頭都會當作Shell Script
每條Commands必須寫在同一行
每條Command會啟動新的Shell
若有錯誤就會中斷make
有些在Commands的特殊字元
&&:檢查某個指令是否執行成功,在執行下個指令
@:不要顯示執行的指令
-:即使執行錯誤也不會中斷

以下來的簡單的範例
main:main.o test1.o
gcc -o main main.o test1.o
在上述的範例中
要建立main的執行檔
在建立之前要先檢查main.o以及test1.o有沒有比main更新
如果沒有make會先將main.o與test1.o建立好
在去執行gcc -o main main.o test1.o去產生main的執行檔

其他的語法
◎ 註解
# 開頭則為註解啦

◎ 變數宣告
=
將變數給定成為某值
可以用&(變數名)或${變數名}來取出值
若要將變數清空
變數名=

:=
將全部變數展開後再給值
所以不會是最後的值
請參考下例
X = abc
Y = $(X) def
X = def
最後Y為def def
X := abc
Y := $(X) def
X := def
最後Y為abc def

?=
若變數未指定則給值
若已經指定了就採用原來的值

+=
將值給到現有變數的後面

◎ 內部變數
$?
代表已被更新的dependencies的值
也就是dependencies中比target還要新的值

$@
代表target的值

$<
代表第一個dependencies的值

$*
代表target所指定的檔案 不包含副檔名


PS1:gcc & make的不同
gcc是用來編譯與連結程式
並產生出執行檔
make是用來檢查文件之中的相依性
根據相依性以及外部程式來產生出target
所以make可以簡化gcc的執行過程
將gcc寫在makefile的Commands裡面
就可以快速的產生執行檔
並利用相依性可以避免不需要的編譯過程
PS2:configure & make的不同
configure是用來偵測作業環境
在偵測完畢之後會建立makefile
而configure所用的檔名為configure或config