2012/09/17

【IPv6 Ready Logo】Phase1與Phase2比較

現在已經沒有Phase1可以申請了
但是之前因為工作的需要所以有做了些比較
於是分享給大家做個參考吧~

※ Phase-1是什麼?
Phase-1銀質標章:基本功能測試(2003/09/01開始營運,已於2011/11結束),Phase-1測試範圍包括IPv6協定, neighbor discover, address auto-configuration及ICMPv6,共有170多項測試項目

※ Phase-2是什麼?
Phase-2金質標章:完整功能測試(2005/02/15開始營運,Phase-2的測試標準則以IETF RFC所規範之MUSTs 和SHOULD為依據,提供更嚴謹之IPv6測試。測試項目高達450項

※ Phase I 和Phase II符合性測試項目

※ Phase-1的缺漏
    ◎ Phase1測試設備可能無法判斷正確的IPv6 Header的格式 (Version, Traffic Class, Flow Label, Payload Length, Next Header, Hop Limit),也無法在發現問題時送出ICMPv6的封包。
    ◎ 若是Fragment的封包有問題(Source address不相同或Destination address不相同)時,Phase1測試設備可能無法判斷或重組,造成通訊的不正常。
    ◎ Phase1測試設備不一定在開機時可以送出Router Solicitation封包也可能無法正確的處理Router送過來Router Advertisement的資料,這樣造成設備只能在區網連線而無法透過Router出去。
    ◎ Phase1的測試設備可能無法偵測有相同的Global address,這會造成在連網時有封包遺漏或送到錯誤的位址。
    ◎ Phase1測試設備可能無法處理Redirect的封包,當網路有兩台Router時,Phase1的設備就無法從正確的Router出去。
    ◎ 如果同一台的router送出不同的network prefix,Phase1的設備可能無法發出Duplicate Address Detection。
    ◎ Path MTU Discovery是動態偵測線路上的PMTU。如果送出去封包的PMTU太大時,設備會收到ICMPv6並調整PMTU的大小。Phase1測試設備可能沒有支援網路MTU的偵測,所以當Router兩端的網路MTU大小不一的時候就會造成連線問題。
    ◎ 還有就是一些檢查的部分...

2012/09/14

OSPF

OSPF (Open Shortest Path First)
在一個AS(Autonomous System)用來傳遞連線routing資訊的協定
Autonomous System是指有一群網路設備,用相同routing的information

以下是OSPF與RIP之間的比較表

● Autonomous and Area
    一個Autonomous會分成多個logical area。最主要的area為backbone(area 0)所有的area都必須接到此area
    ◎ IR (Internal Router) : 在某個area內的Router
    ◎ ABR (Area Boaeder Router) : 連接兩個以上的area的router
    ◎ BR (Backbone Router) : backbone area 的 router
    ◎ AS Boundary Router : 用來交換其他AS的Router


● link state database
    Router ID + associated link + path cost + Dijkstra algorithm → 選出成本最少的path

● 在運作時會一直送出

    ◎ Hello msg : 確認device是否存在
    ◎ Database Descriptions(DDs) : 用來create link state DB[透過LSA(Link State Advertisement)去update]

● Interface : 用來連接layer3 device 與OSPF網路,有state Info, IP, netmask
● Virtual Interface : 用來連接non-backbone area到backbone,兩邊都必須設定

● Designated Router(DR) & Backup Designated Router(BDR) : 負責update link state與確保LSA可以動作

----------

● 設定OSPF步驟
    (1) Enable OSPF
◎ enable
◎ Router ID裡的IP Address
    (2) Create Area
◎ Name Area ID : IP(若輸入0.0.0.0則為backbone)
◎ Authentication : None, Simple[8char], MD5[16char]
 ◎ Stub Network : 是否為Stub area
 ◎ No summary : 要不要收LSA
 ◎ Default Route cost : 用來在stub area選出default route
 ◎ Route redistribution : 將RIP & static route轉成OSPF
- Type 1 : 直接將OSPF的cost轉成external metric
- Type 2 : 用destination 去決定external metric
◎Summary address : 減少routing entry 在 routing table 中
- 用192.168.8.0/22取代 192.168.8.0/24, 192.168.9.0/24, 192.168.10.0/24, 192.168.11.0/24這四個entry
    (3) assign interfcae --> area
        ◎ Authentication : None, Same-as -Area, Simple(key), MD5(Key+KeyID)
◎ Cost : interface cost用來計算routing的路徑
◎ Priority : 用來決定DR & BDR, 0代表不參加
    (4) assign virtual interface --> backbone
◎ Area ID (IP) : 哪個interface所屬的area
◎ Peer Router ID : peer boarder router ID
◎ Authentication : keyID + key


2012/09/13

How to build Linux Kernel ...

跟著下面的步驟就可以輕鬆的將linux kernel給build出來啦 ~

1. 安裝SRPM, kernel-.sec.rpm以及產生kernel source
# yum install fedora-rpmdevtools
# fedora-buildrpmtree
# yum install yum-utils
# yumdownloader --source kernel
# rpm -ivh kernel-.src.rpm
# cd /rpmbuild
# rpmbuild -bp --target $(uname -m) kernel-2.6.spec

2. 更改kernel的版本
# cd /rpmbuild/BUILD/kernel-/linux-
# vi Makefile
    ...
    EXTRAVERSION = XXX (改成自己能識別的名稱)
    ...

3. 清除config file以及用預設的config file
# make mrproper
# cp /boot/config- .config
# make oldconfig
# make clean

4. 建立新的kernel與安裝kernel
# make bzImage modules modules_install
# make install

5. 將新的kernel設為預設的開機kernel
# vi /boot/grub/grub.conf
    ...
    default=0
    ...

6. 重新開機並確認版本
# reboot
# uname -a

2012/09/12

EMC Test...

電磁相容性(Electro Magnetic Compatibility, EMC)
分為三項測試分別要測試不同的電磁干擾源


※ ESD (避免靜電)
特性:速度最快、電壓高、電流小

※ Surge (避免雷擊)
特性:速度慢、電壓高、電流大

※ EFT (避免週邊電源的擾動)
特性:速度快、電流小、次數多

2012/09/09

Linux Routing Connection


這個範例在說明如果有三台Linux Router在中間
要讓兩台PC-A與PC-B可以互相ping得到對方呢?

先介紹一下環境
※ PC-A
    eth0 IP : 192.168.1.1
※ R1
    eth0 IP : 192.168.1.2
    eth1 IP : 192.168.2.1
※ R2
    eth0 IP : 192.168.2.2
    eth1 IP : 192.168.3.1

※ R3
    eth0 IP : 192.168.3.2
    eth1 IP : 192.168.4.1

※ PC-B
    eth0 IP : 192.168.4.2
----------
該如何設定呢 ?
※ PC-A
# ifconfig eth0 192.168.1.1
※ R1
# ifconfig eth0 192.168.1.2
# ifconfig eth1 192.168.2.1
# echo "1" > /proc/sys/net/ipv4/ip_forward
# route add default gw 192.168.2.2
※ R2
# ifconfig eth0 192.168.2.2
# ifconfig eth1 192.168.3.1
# echo "1" > /proc/sys/net/ipv4/ip_forward
# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.1
# route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.3.2
※ R3
# ifconfig eth0 192.168.3.2
# ifconfig eth1 192.168.4.1
# echo "1" > /proc/sys/net/ipv4/ip_forward
# route add default gw 192.168.3.1

※ PC-B
# ifconfig eth0 192.168.4.2
透過上述的設定,就可以讓彼此ping通