一個能夠達到最短延遲時間的 anycast 路由協定

24
個個個個個個個個個個個個 anycast 個個個個 個個個個個個 個個個 個個 個個 個個個 96356015 個個個個 個個個 個個個 110/12/24 1 個個個個個個

Upload: robert-contreras

Post on 03-Jan-2016

130 views

Category:

Documents


0 download

DESCRIPTION

一個能夠達到最短延遲時間的 anycast 路由協定. 國立中山大學 黃偉程 資碩一 學生:鍾澤華 96356015 授課老師:郭育政 副教授. Outline. Anycast 介紹 Anycasting 的服務分類 網路層 anycasting 的方法 本文方法 模擬結果 結論. Anycast. Anycasting 的意義: 由 IETF 所提出。 Client 送出含有 anycast 位址的封包時,則網際網路會將該封包送至所有 anycast group member 中的一部 - PowerPoint PPT Presentation

TRANSCRIPT

一個能夠達到最短延遲時間的anycast 路由協定

國立中山大學 黃偉程

資碩一 學生:鍾澤華 96356015授課老師:郭育政 副教授

112/04/20 1網路路由技術

Outline

• Anycast 介紹• Anycasting 的服務分類• 網路層 anycasting 的方法• 本文方法• 模擬結果• 結論

112/04/20 2網路路由技術

Anycast

• Anycasting 的意義:– 由 IETF 所提出。– Client 送出含有 anycast 位址的封包時,則網際網路會將該封

包送至所有 anycast group member 中的一部– 動機為:當 client 對 server 提出要求,若有多個 server 可

提供相同的服務給 client ,則 client 可以不需要去在乎是那一部server 被使用。

– 可有效地簡化使用者在找尋最適當的 server 方面的問題,提供使用者更佳的方法性。

– 例如,當多部內容相同的 FTP Server 使用相同的 anycast 位置,則使用者只要連接至該 anycast 位置,便可以直接連接到和使用者位置最接近的 FTP 伺服器。

112/04/20 3網路路由技術

Anycast

112/04/20 4網路路由技術

網路層上的 anycast 服務• 大致可分成兩大方向:應用層和網路層。• 網路層上的服務是將 anycast routing 做在網路層上 :

- Router 必須支援 anycast 位置及 anycast protocol- 在既有的 IP address 上另外分配給 anycasting 服務 .

• 網路層 anycast 相關的方法 :- 考慮權重- Shortest-Shortest Path Method(SSP)- Source-Based Tree Method(SBT)- Core-Based Tree Method(CBT)

• 優點 :- 方便 . 對使用者來說不用決定 anycast group member 的標準 .- 減少傳送前等待時間 : 不用向 ANR 做查詢動作 .

• 缺點 : 相對缺乏彈性 .

112/04/20 5網路路由技術

網路層上的 anycast 服務• 權重考慮:

– 計算 anycast group member 中所有的權重值 (weight) 。– 權重值越大該 member 被選中的機率也越大。– 得到權重 ( Wi ) 後,再根據過去該 member 之 flow 建立成

功或失敗的個數來調整 weight 值。• 當建立 flow 失敗次數增加時,則降低其權重。• 當建立 flow 成功次數增加時,則增加其權重。

– 將 anycast 封包送至離 router 最接近的 member 機率最大,若最接近的 member 已超過負載,則變成次接近的 member 被選到的機率最大。

其中 Wi 為 member i 的權重值, i D 為 router 到 member i 的distance , k 為 anycast group

112/04/20 6網路路由技術

網路層上的 anycast 服務• Shortest-Shortest Path Method(SSP) :

– 在所有的最短路徑中選出最短的路徑來作為傳送的路徑。指的是,從 router 到所有 anycast group member 間 distance 最小的路徑。

– 當得到自 router 到所有 member 間的最短路徑後,選擇其中distance 最小的路徑即為要傳送 anycast 封包的路徑。

當 Client 要經過 R1 ,傳送給 GroupA 時,R1->R5 為最短路徑,且 R5->member1為最短路徑,所以當透過 R1 到 GroupA的 SSP 為 {R1-R5->member1}

圖 1.SSP 示意圖

112/04/20 7網路路由技術

網路層上的 anycast 服務• Shortest-Based Tree Method ( SBT ) :

– 是一個理論上理想的方法。– 以 source 作為 tree 的樹根, anycast group 的

member 為樹葉,從樹根到樹葉的路徑為兩者間的shortest path 。

– 優點:• 每一路徑皆為最短路徑。• 理論上, SBT 應該是最佳方法。

– 缺點:• 需要資訊太過龐大。若有 N 個 sources 及 M 個 member

時,則使用 SBT 方法的 router 之 routing table 中需要有 O(NM) 個 entry 。

112/04/20 8網路路由技術

網路層上的 anycast 服務• Core-Based Tree Method(CBT) :

– 為了解決 SSP routing table 太過龐大的問題所衍生。– 作法:在網路上選擇一個 router 作為 core ,把 core 當作

CBT 的樹根, anycast 的 member 為樹葉,樹根到樹葉為最短距離。

• 在 CBT 網路中的 router :– 在 tree 中,稱為 on-CRT router :考慮權重,選出最近的

member 。– 在 tree 外,稱為 off-CRT router :使用 SSP 選徑。

• 優點:只需要建立一棵樹。

112/04/20 9網路路由技術

本文方法• 網路層的 anycast 服務在選擇 anycast group

member 時多半以距離為考量。– 缺失:離 client 最近的伺服器,未必是 delay time 最小的伺服器。– 反應時間 = 網路傳輸時間 + member 處理資料時間。

• 提出一個針對以上兩點的方法改善反應時間:– 找出 router 到 member 傳輸的最短路徑:最短延遲時間路徑

(minimum delay pathmethod) 。– 找出負擔最輕的 member :最小延遲及負載平衡 (minimum

delay and load balancing) 。

112/04/20 10網路路由技術

本文方法• Routing Protocol :定義 router 在執行 routing 時的相關操作,設計時要考慮兩個因素:– QoS– Overhead

• 此兩因素通常難以兩全,互相衝突,考慮平衡問題。• Routing protocol 分為兩個部分:

– Routing Table Establishment protocol :收集交換網路 topology 及網路資源的資訊,建立或更新 routing table 。作為 packet forwarding 之用。

• 1. 產生 candidate entries 。• 2. 找出合格的 entry 。• 3. 根據合格 entry 建立 routing table 。

– Packet Forwarding protocol :• 轉傳 (forward) 封包時使用。

112/04/20 11網路路由技術

本文方法• Candidate entries 建立:採用 Minimum delay path method :

– 產生從 router 到接收端延遲時間最小的路徑。– 優點:避免將資料傳送到擁擠的網路中,使網路的負載能夠較為平衡,並改善網路的 QoS 。

– 作法:• 使用探測訊息, TRACE 。將 TRACE 訊息傳送到整個網路中,找尋延遲時

間最短的路徑。此訊息包含 sequence number 及該訊息經過的所有節點。• 當 router D 接收到多個來自 router S 的 TRACE 訊息時,則最先接收的

TRACE 訊息中的路徑即為從 router S 到 router D 延遲時間最小的路徑。• 反向 TRACE 訊息: ACK 。包含 TRACE 訊息中所經過的路徑及 TRACE

的延遲時間。而 ACK 的傳送訊息是沿著反方向的 TRACE 路徑傳送。– Router D總共接收到三個來自 router S 的 TRACE 訊息,假設

TRACE(S,R1, … , RN) 是三個 TRACE 訊息中最先接收到的訊息,則代表從 router S 到 router D 的最短延遲時間路徑為 D -> R1->…-> RN -> D 。

112/04/20 12網路路由技術

本文方法 -Trace 封包傳送

112/04/20 13網路路由技術

Updating Algorithm of TRACE message

• Link 的延遲時間隨著資料量改變而變動,為了確保最短路徑的準確性。- 當延遲時間改變,的 TRACE 訊息,導致 overhead 。- 將 TRACE 訊息傳送間隔加長,會降低最短延遲時間的準確性。

• 當 link 的延遲時間變動超過 threshold 時,再送出新的 TRACE 訊息。以減少控制訊息的 overhead(公式 2) 。及動態的調整 threshold(公式 3) ,到當 link 的更新頻率高於上限時,我們調高 threshold 來降低 link 更新頻率;反之,若 link 的更新頻率低於下限,則調低threshold 來提高 link 更新頻率。

其中 Bij ,Tk, 為在時間 TK 時從節點 i 到節點 j 之 link 的剩餘頻寬, H 為 threshold 。

其中 Hi 為時間在第 i個 interval 的threshold , a 為介於 0 至 1 的值,Ui 為時間在第 i個 interval 的 link更新頻率, Uu 為更新頻率的上限,而 Ui 則為更新頻率的下限112/04/20 14網路路由技術

Updating Algorithm of ACK message

• 若 router 一接收到 TRACE 訊息,就傳回 ACK 訊息,將產生可觀的 overhead 。若 TRACE 訊息中的路徑與延遲時間沒有變化的話,則傳回的 ACK 訊息會造成額外的 overhead 。

• 加上一些條件來減少傳回的 ACK 訊息:– 若接收端的 router 自傳送端傳來的新的 TRACE 訊息中的路徑與

上一個 TRACE 路徑不同,代表最短延遲時間的路徑已經改變,則重傳 ACK 給傳送端,通知傳送端最短延遲時間路徑改變。

– 若路徑相同,但延遲時間變化超過 threshold 則也會傳送 ACK訊息,通知路徑中 router 更新其 routing table 資料。

112/04/20 15網路路由技術

TRACE 及 ACK 訊息的演算法

112/04/20 16網路路由技術

本文方法• Eligible Entries 的選擇:

– 建立 core-based tree• 在 tree 中,稱為 on-CRT router :在 on-CRT router 的 eligible

entries 選擇中,該 router 的所有 son都為 eligible entries 。考慮權重,選出最近的 member 。

• 在 tree 外,稱為 off-CRT router :選出延遲時間最短的路徑為eligible entry 。

• Core selection algorithm 建立 CRT 。

112/04/20 17網路路由技術

本文方法• Routing table 的建立:

– Anycast entry 之搜尋:• 1.讀出封包 headrer各個欄位。如 des, source, flow.• 2.比對封包與 routing table 之 entry 。

– Anycast entry 之選擇:• 1. 找尋到對應的 entry 。• 2.比對 entry 之權重值,選擇 W 最大作為傳送的目標。

– 傳送。

112/04/20 18網路路由技術

本文方法• Anycast entry 之選擇:

– 希望能傳送至負載較輕的 member ,來達到 load balance 。– 利用最短延遲時間來傳送。– Weight 之及算公式如下:

• 如何將 member 的負載資訊傳送至 CBT 中:– member 將帶有負載資訊的封包傳送至 core 。– Core轉送給所有的 son ,直到所有 member 的 father知道為止。– 為了減少傳送負載所產生的 overhead ,只有當負載變化超過 threshold

時,才傳送負載資訊封包至 core 。112/04/20 19網路路由技術

(9)

(10)

(11)

(12)

router R->member S 在 Ti 時間的權重

router R->member S 的最短延遲時間

與 member S 負載相關的參數

所有 member S 負載

所有 member 的平均負擔

本文方法• 假設 Router2 到 group A 的

最短路徑為 { R2,R6,R9,

R12,R16}

• Member1~4 為 Group A 。• R1~R18為 Router 。• CBT 為 { R7, R9 ,R10, R11,

R12, R13, R14, R15,

R16, R17, R18}

112/04/20 20網路路由技術

Group A

結論• 實驗比較:

– 實驗一:所有 member 處理能力相同,傳送資料前必須先建立connection 。隨時間增加 flow 個數。

• 此法平均延遲時間為 0.023秒,比 CBT 之 0.031快上 25%。– 實驗二:所有 member 處理能力皆不同,傳送資料前必須先建立

connection 。隨時間增加 flow 個數。• 此法平均延遲時間為 0.021秒,比 CBT 之 0.03快上 30%。

– 實驗三:情況同一,但 client 位置改變,假設 client 其中在某一區域。

• 此法平均延遲時間為 0.024秒,比 CBT 之 0.04快上 35%。– 實驗四:情況同一, client 位置同實驗三。

• 此法平均延遲時間為 0.024秒,比 CBT 之 0.039快上 38%。

• 在多種情況下,此方法的平均延遲時間比 CBT 為佳。

112/04/20 21網路路由技術

附錄 1

• 大致可分成兩大方向:應用層和網路層。• 應用層上的 anycasting 服務的優點:

– (1) 有較大的彈性:可依據使用者不同的需求來訂定選擇的規則,例如:選擇距離最近的 member 或是反應時間最短的 member ,再將所選擇的規則放在 anycast query 中的 filter specification 中。 anycast name resolvers 根據 filter specification 去找出使用者所需要的anycast group member 。

– (2) 容易提供 anycasting 服務:不需要更改到目前的 IP 位址、 routing protocol 。 router 即使不支援 anycast 位址亦能執行anycasting 服務。

• 網路層 anyc Anycast name resolvers 主要功能為將 ADN 轉換成為 IP 位址,需要有: (1) anycast group 所有 member 的 IP 位址。 (2) 所有 member 的相關資料,如: distance、反應時間(response time)、負載量等。

112/04/20 22網路路由技術

附錄 2

• client 傳送 anycast query 給 anycast name resolvers 包含anycast domain name(ADN) 及選擇 anycast group member 標準。

• anycast query 送至 anycast nameresolvers 時, anycast name resolvers 根據 anycast query 中的 ADN 找出 metric database 中所有的 anycast group member 的資料。包括: member 的 IP 位址、 distance、反應時間等。

• 再根據選擇 member 的標準,由 resolver filter 選擇其中最佳的member 。將該 member 的 IP 位址放入 anycast response 中,並將 anycast response 傳送回 client 。

• 當 client 接收到 anycast response 時,由 client filter 讀出 anycast response 中的 IP 位址。接下來,若 client 要送封包至 anycast group member 時,以此 IP 位址為封包之目的位址,便可直接將封包送至 anycast name resolvers 所選擇之最佳 anycast group member 。

112/04/20 23網路路由技術

附錄 3

112/04/20 24網路路由技術