Posts

Showing posts from July 8, 2007

Mobile IP(IPv4)

Image
資料來源:IPv6 Forum Taiwan

Mobile IP通訊協定架構

Mobile IP的主要目的為可以使得主機使用一個固定的IP位址,和一個暫時位址來連接到網際網路。對於使用者而言,並不會感覺到暫時位址的存在,因此原先所作到一半的事情就不會被干擾而中斷。以下我們將簡單介紹Mobile IP的運作原理。

Mobile IP網路系統架構

Mobile IP網路架構與各子系統如下圖所示,當中:



Mobile Host: 在網際網路上,一台主機如果常常改變其對網路的接點(point of attachment),稱為Mobile Host。接點的改變可能發生在網路正在通信中的狀態。但是通常假設接點的變化時間比通訊協定反應的時間來得慢。


Home Network: 對Mobile Host有管理權的網路,對網際網路上的其他主機而言,Mobile Host不論其目前的位址為何,"似乎"是接在此處。

Home Address: 和其他固定主機的位址一樣,此位址是固定的,由Home Network的管理者提供給Mobile Host。當傳送資料給Mobile Host時,只須知道此位址,不須知道Mobile Host目前的暫時位址。

Home Agent : 在Home Network上的某一台主機,能夠使得Mobile Host對網路上的其他主機而言,是隨時都可以存取的。

Foreign Network : 對任一Mobile Host而言,任一個除了Home Network之外,允許其接上的網路,就稱為Foreign Network。

Care-of-Address: 一個表示當Mobile Host不在Home Network時,在網路上接點的IP位址。

Foreign Agent: 在Foreign Network上的主機,能使封包傳送到Care-of-Address。

Register: Mobile Host告知Home Agent其Care-of-Address。

--------------------------------------------------------------------------------

基本工作原理

Mobile IP是由IETF所制定的RFC 2002, "IP Mobility Support"…

Peering

Image
Peering is voluntary interconnection of administratively separate Internet networks for the purpose of exchanging traffic between the customers of each network. The pure definition of peering is settlement-free or "sender keeps all," meaning that neither party pays the other for the exchanged traffic, instead, each derives revenue from its own customers. Marketing and commercial pressures have led to the word peering routinely being used when there is some settlement involved, even though that is not the accurate technical use of the word. The phrase "settlement-free peering" is sometimes used to reflect this reality and unambiguously describe the pure cost-free peering situation.

Peering requires physical interconnection of the networks, an exchange of routing information through the Border Gateway Protocol (BGP) routing protocol and is often accompanied by peering agreements of varying formality, from "handshake" to thick contracts.

How peering works
The I…

Tier 1 network

Tier 1 network
A Tier 1 Network is an IP network (typically but not necessarily an Internet Service Provider) which connects to the entire Internet solely via Settlement Free Interconnection, commonly known as peering. Another name for a Tier 1 network is "transit-free", because it does not receive a full transit table from any other network.

Although there is no formal definition of the "Internet Tier hierarchy", the generally accepted definition among networking professionals is:

‧Tier 1 - A network that peers with every other network to reach the Internet.
‧Tier 2 - A network that peers with some networks, but still purchases IP transit to reach at least some portion of the Internet.
‧Tier 3 - A network that solely purchases transit from other networks to reach the Internet.

Politics
There are many reasons why networking professionals use the "Tier Hierarchy" to describe networks, but the most important one is better understanding of a particular network&#…

IGMPv1 vs IGMPv2 vs IGMPv3

What is IGMPv1?

IGMPv1使用Query-Response模型來允許Multicast Router和Multi-Layer Switch來確定在本網段內哪個Multicast Group是啟動的。在這個模型中,Router或Switch充當IGMP Querier,週期性(每隔60秒)地發送IGMPv1 Membership Query給224.0.0.1。啟用Multicast的所有主機監聽該位址並接收Query Packet。主機以IGMPv1 Membership Report回覆,表示它要接收特定Group的Multicast Traffic;該網段中的Router或Switch就可以了解Multicast Group中有哪些接收者。

主機可以通過發送一個或多個主動的Membership Report封包表明加入(Join)一個Multicast Group。如: 某個主機主動發送一個Report封包表明要接收Multicast Group(224.1.1.1)的流量。

主機通過停止處理Multicast Group Traffic以及不回應IGMP Query的方式來離開Multicast Group。
IGMPv1依靠L3的IP Multicast Routing Protocol(PIM、DVMRP等)來解決同一網段中哪個Router或Multi-Layer Switch成為Querier。Querier Router發送IGMPv1的Query來確定哪個Multicast Group是啟動的。通常Designated Router會被選擇為Querier。

IGMPv1的封包有2種:
- Member Query(224.0.0.1, 每60秒查詢一次)
- Member Report



What is IGMPv2?

IGMPv2的Query和Membership Report與IGMPv1類似。它們的差別在於:
(一) IGMPv2的Query分為兩部分:
- General Query(功能與IGMPv1的Query相同)
- Group-Specific Query(僅查詢特定Group的資訊)

(二) IGMPv1和IGMPv2的Membership Report使用不同的類型代碼。
IGMPv2的新特性包括:

1)Querier的選擇過程――IGM…

OSPF DR/BDR vs IS-IS DIS

Image
在Link-State Routing Protocol兩兄弟OSPF, IS-IS之間,有很多地方相似及相異之處,我這次特別將OSPF Designated Router(DR)/Backup Designated Router(BDR)及IS-IS Designated Intermediate System(DIS)這兩個同為SPF algorithm中在MultiAccess網路中必須存在的角色分別說明它們之間的相異點,希望可以為大家省去一一比對的麻煩。(如附圖)

OSPF LSA Sequence Number(From 0x80000001 to 0x7FFFFFFF ?)

很多人在讀到BSCI OSPF LSA Sequence Number這個章節時,常常會在心中出現一個問號? Cisco的教材是不是又打錯字了(Cisco教材編輯校閱相關負責單位請好好反省…真的是錯字百出),其實是沒錯的。OSPF LSA Sequence Number的起始值是0x80000001,結束值是0x7FFFFFFF,或許你可能會感到困惑,怎麼會一開始的數字比結束的數字還要大呢?

事實上,這是因為起始值中開頭的8是代表著負數,它的意思是-7FFFFFFF,請參考以下的說明,就會明白了:

在古早時期玩遊戲是一種電腦能力的自我修練與提昇,怎麼說呢? 如果十幾年前很喜歡玩電腦遊戲的朋友,一定曾經使用過種種遊戲修改工具,像是PCTOOLS、整人專家等,透過這些工具的輔助將遊戲中的夢想變為現實,只要是各種可能的數字上限與主角能力的極限都可以任意調整。

廢話不多說,來看看我們要談的東西。一個位元組(byte)資料可表示的範圍從0(0000 0000)到255(1111 1111),那麼負數的話要怎麼表示呢? 在電腦系統中只有0與1,並沒有任何的額外符號可以用來表示所謂的正/負數,因此可以使用一種變通的方式,我們利用位元組中最左邊的數字來代表正或負,以0為正,以1為負。

比如說0111 1111轉換為十進位的話是127,1111 1111轉換為十進位的話則是-127,由此我們知道一個位元組的表示範圍可以從-127到127。

以上我們談的都是所謂的原碼表示法,但是在電腦中的資料都是以補數來存放的,只有這樣才能減輕CPU的負擔。提到了補數,我們就不得不提一下倒數了。在電腦中是這樣規定倒數的:如果是正數,則按照原碼表示法的表示方式維持不變,如127仍為0111 1111;而如果為負數,那麼第一個數字為1,其他數字則倒反過來(也就是0變1,1變0),比如說二進位表示法-127(1111 1111),倒數的表示法為1000 0000。

補數也是相同道理,如果是正數,則依照原碼表示法不變,如127仍為0111 1111;如果為負數,則是除了第一個數字為1之外,其他數字先取倒數再加1,如-127,先取倒數為1000 0000,然後再加1,則為1000 0001。但1000 0000比較特殊,我們可以用它來表示-128,由此可以補數可表示的範圍為-128到127。

◎參考資料:原码、反码和补码(

Cisco CCNP BSCI 3.0(OSPF LSDB Overload Protection)

在Cisco CCNP BSCI 3.0教材中有一個章節(P.3-108)提到OSPF的新功能(Since Cisco IOS 12.3(T) and later)可以避免大量非本機產生的LSA交換導致本機路由器的資源被消耗殆盡,那就是max-lsa這個指令。建議各位對照課文中的解釋來參考本文,應該會比較容易了解這些參數所代表的意義,而且Cisco官網所提供的資訊看來是比教材中的內容來得詳盡些。

以下文字翻譯自Cisco官網:

使用OSPF LSDB超載保護的好處
OSPF LSDB超載保護功能提供了一個讓OSPF可以限制非自身產生LSA數量的機制。當網路中其他的路由器由於設定上的不適當,可以會產生大量的LSA,例如,透過不當的路由重製(redistribution)產生很大數量的路由網段出現。這個LSDB保護機制避免路由器接受過大數量的LSA而導致CPU及記憶體資源的短缺。

OSPF LSDB超載保護如何運作
當OSPF LSDB超載保護功能被啟用時,路由器會追蹤接收到(非自身產生)的LSAs數量。
當接受到的LSAs數量到達設定的LSAs門檻(threshold)數量時,會登錄(log)一個錯誤訊息。
當接受到的LSAs數量超過設定的最大LSAs數量時,路由器將會傳送一個通知(notification)。
如果接收到的LSAs數量持續高於設定的最大數量超過一分鐘的話,OSPF程序(process)將會終結所有鄰居關係(adjacencies)並且清空OSPF資料庫。在這個ignore state狀態下,所有屬於這個OSPF程序的任何介面所接受到所有OSPF封包都會被忽略而且沒有任何一個介面會產生OSPF的封包。

OSPF程序會根據max-lsa指令中設定的關鍵字ignore-time之後的時間參數來決定持續ignore state的時間。(ignore-time預設為5分鐘)

每次當OSPF程序進入ignore state時,就會將一個計數器(ignore-count)加1。如果這個計數器超過關鍵字ignore-count所指定的次數(預設為5次),OSPF程序將會永久地保持在相同的ignore state下,必須要有人工手動的介入才能讓OSPF程序脫離ignore state

當OSPF程序持續處於正常運作狀態的時間達到關鍵字reset-time所指定的時間數量時,ignore…

Cisco CCNP BSCI 3.0(EIGRP Updates and Queries in Hub-and-Spoke Topology)

Image
在Cisco CCNP BSCI 3.0的教材中(P.2-84),有一篇描敘EIGRP Query & Update的scenario,第一次看到這張圖片(如附圖)的同學一定看得頭昏眼花,根本不知道課本中想要表達的來龍去脈,更不知道為何會發生Stuck-In-Active(SIA),因此我回頭查了一下舊版的BSCI教材,原來是新版的內容將部份內容加以省略了,但是個人認為這實在是應該要說明清楚,避免學生囫圇吞棗不知所以然,因此我特別將舊版中省略的所有流程及細節一一列出,希望對各位學習有立竿見影之成效。



1. B == QUERY ==> C,D,E and A
2. C,D,E == REPLY(Next-Hop:A) ==> B
A == QUERY ==> C,D,E(Then C,D,E will remove the route 10.1.8.0/24 from routing table)
3. C,D,E == QUERY ==> B
(B is still waiting for A's reply)
(A is still waiting for C,D,E's reply)
(C,D,E are still waiting for B's reply)
=> Deadlock ...
4. B - A => Stuck-In-Active(SIA)(more than 3 minutes without reply from A)
5. B -X- A (Disconnect neighbor relationship)
B == REPLY(Next-Hop:NULL) ==> C,D,E
C,D,E == REPLY(Next-Hop:NULL) ==> A
6. A - B (Neighbor relationship re-establish)
A will remove 10.1.8.0/24 from routing table