240 likes | 597 Views
一個能夠達到最短延遲時間的 anycast 路由協定. 國立中山大學 黃偉程 資碩一 學生:鍾澤華 96356015 授課老師:郭育政 副教授. Outline. Anycast 介紹 Anycasting 的服務分類 網路層 anycasting 的方法 本文方法 模擬結果 結論. Anycast. Anycasting 的意義: 由 IETF 所提出。 Client 送出含有 anycast 位址的封包時,則網際網路會將該封包送至所有 anycast group member 中的一部
E N D
一個能夠達到最短延遲時間的anycast 路由協定 國立中山大學 黃偉程 資碩一 學生:鍾澤華 96356015 授課老師:郭育政 副教授 網路路由技術
Outline • Anycast介紹 • Anycasting的服務分類 • 網路層anycasting的方法 • 本文方法 • 模擬結果 • 結論 網路路由技術
Anycast • Anycasting 的意義: • 由IETF所提出。 • Client 送出含有anycast 位址的封包時,則網際網路會將該封包送至所有anycast group member 中的一部 • 動機為:當client 對 server 提出要求,若有多個server 可提供相同的服務給 client,則client可以不需要去在乎是那一部server被使用。 • 可有效地簡化使用者在找尋最適當的server方面的問題,提供使用者更佳的方法性。 • 例如,當多部內容相同的 FTP Server使用相同的anycast位置,則使用者只要連接至該anycast位置,便可以直接連接到和使用者位置最接近的FTP伺服器。 網路路由技術
Anycast 網路路由技術
網路層上的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做查詢動作. • 缺點:相對缺乏彈性. 網路路由技術
網路層上的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 網路路由技術
網路層上的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示意圖 網路路由技術
網路層上的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。 網路路由技術
網路層上的 anycast 服務 • Core-Based Tree Method(CBT): • 為了解決 SSProuting table太過龐大的問題所衍生。 • 作法:在網路上選擇一個 router 作為 core,把 core 當作CBT的樹根,anycast 的 member 為樹葉,樹根到樹葉為最短距離。 • 在 CBT 網路中的router: • 在tree中,稱為 on-CRT router:考慮權重,選出最近的member。 • 在tree外,稱為off-CRT router:使用SSP選徑。 • 優點:只需要建立一棵樹。 網路路由技術
本文方法 • 網路層的 anycast 服務在選擇 anycastgroup member 時多半以距離為考量。 • 缺失:離client 最近的伺服器,未必是delay time 最小的伺服器。 • 反應時間 = 網路傳輸時間 + member 處理資料時間。 • 提出一個針對以上兩點的方法改善反應時間: • 找出 router 到 member 傳輸的最短路徑:最短延遲時間路徑(minimum delay pathmethod)。 • 找出負擔最輕的member:最小延遲及負載平衡(minimum delay and loadbalancing)。 網路路由技術
本文方法 • 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)封包時使用。 網路路由技術
本文方法 • 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。 網路路由技術
本文方法-Trace封包傳送 網路路由技術
Updating Algorithm of TRACE message • Link的延遲時間隨著資料量改變而變動,為了確保最短路徑的準確性。 - 當延遲時間改變,的TRACE訊息,導致overhead。 - 將TRACE訊息傳送間隔加長,會降低最短延遲時間的準確性。 • 當link的延遲時間變動超過threshold時,再送出新的TRACE訊息。以減少控制訊息的overhead(公式2)。及動態的調整threshold(公式3),到當link 的更新頻率高於上限時,我們調高threshold 來降低link 更新頻率;反之,若link 的更新頻率低於下限,則調低threshold 來提高link 更新頻率。 其中Hi為時間在第i個interval 的threshold, a 為介於0至1的值,Ui為時間在第i個interval的link更新頻率, Uu為更新頻率的上限,而Ui則為更新頻率的下限 其中Bij ,Tk, 為在時間TK時從節點i 到節點j 之link 的剩餘頻寬, H 為threshold。 網路路由技術
Updating Algorithm of ACK message • 若router 一接收到TRACE 訊息,就傳回ACK 訊息,將產生可觀的overhead。若TRACE 訊息中的路徑與延遲時間沒有變化的話,則傳回的ACK 訊息會造成額外的overhead。 • 加上一些條件來減少傳回的ACK 訊息: • 若接收端的router自傳送端傳來的新的TRACE訊息中的路徑與上一個TRACE路徑不同,代表最短延遲時間的路徑已經改變,則重傳ACK給傳送端,通知傳送端最短延遲時間路徑改變。 • 若路徑相同,但延遲時間變化超過threshold則也會傳送ACK訊息,通知路徑中router更新其routing table資料。 網路路由技術
TRACE 及ACK 訊息的演算法 網路路由技術
本文方法 • 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。 網路路由技術
本文方法 • Routing table的建立: • Anycast entry之搜尋: • 1.讀出封包headrer各個欄位。如des, source, flow. • 2.比對封包與routing table之entry。 • Anycast entry之選擇: • 1.找尋到對應的entry。 • 2.比對entry之權重值,選擇W最大作為傳送的目標。 • 傳送。 網路路由技術
本文方法 • Anycast entry之選擇: • 希望能傳送至負載較輕的member,來達到load balance。 • 利用最短延遲時間來傳送。 • Weight之及算公式如下: • 如何將member的負載資訊傳送至CBT中: • member將帶有負載資訊的封包傳送至core。 • Core轉送給所有的son,直到所有member的father知道為止。 • 為了減少傳送負載所產生的overhead,只有當負載變化超過threshold時,才傳送負載資訊封包至core。 與member S負載相關的參數 router R->member S在Ti時間的權重 (11) (9) 所有member S負載 router R->member S的最短延遲時間 (10) (12) 所有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} 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為佳。 網路路由技術
附錄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)、負載量等。 網路路由技術
附錄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。 網路路由技術
附錄3 網路路由技術