中文字幕无码日韩视频无码三区

最小成本基于樹的虛擬專用局域網服務結構中的彈性的制作方法

文檔序號:7968178閱讀:283來源:國知局
專利名稱:最小成本基于樹的虛擬專用局域網服務結構中的彈性的制作方法
技術領域
本發明涉及VPLS網絡上的廣播多媒體服務,并且具體涉及用于在VPLS網絡中提供最低成本和彈性的Steiner(斯坦納)基于樹的結構。
背景技術
虛擬專用LAN服務(VPLS)雖然是相對較新的技術,但是已經被服務提供商用來聚集服務以遞送到家庭和企業用戶。這些服務包括例如數字電視和視頻點播的廣播多媒體。
也稱為透明LAN服務(TLS)或者E-LAN服務的VPLS,是第2層多點虛擬專用網(VPN),其允許多個站點通過提供商管理的IP/MPLS網絡、在單個橋接域中被連接。VPLS實例中的所有用戶看起來像是在同一LAN上而與它們的位置無關。
具備VPLS能力的網絡由用戶邊緣(CE)、提供商邊緣(PE)和核心MPLS網絡組成。CE設備是位于客戶場所的路由器或交換機,并且可以為用戶或服務提供商所擁有。它經由接入鏈路(AC,Attachment Circuit)而連接到PE。PE設備是這樣的設備其中存在所有的VPN智能,始發并終止VPLS,并且建立所有必需的隧道以連接到所有其它PE。核心MPLS網絡互連PE;它沒有真正地參與VPN功能性。業務簡單地基于MPLS標簽而被轉換。
VPLS的基礎是在VPN服務中的所有參與PE之間所建立的MPLS隧道(外部隧道)的全網狀。對于每個VPLS實例,也稱為偽線(PW,pseudowire)的內部隧道的全網狀,在所有參與VPLS實例的PE之間被創建。PW由一對點對點、一跳、反方向的單向標記交換路徑(LSP)組成,每個都由PW標記來標識。
為了防止正向環路,使用水平分割(Split Horizon)規則。在VPLS背景中,這個規則基本上意味著如果分組已經從PW被接收則PE必須決不在PW上發送該分組。這確保了業務不能在使用PW的骨干網上形成環路。總是存在PE設備之間的PW的全網狀這一事實,確保廣播分組將到達VPLS內的每個目的地。
任何新型或新興的技術都必須能夠提供與它要替換的技術一樣或更好的服務。因此,為使VPLS能夠在多媒體廣播域被接受,它必須能夠以可與現有服務相比較的成本提供可靠且有彈性的服務。因此,已經做出大量努力來發現允許VPLS以成本有效且高效的方式提供所需服務的結構。
以下論述涉及包括已演進到支持多媒體網絡中的彈性的冗余樹的努力。這些方案可以被分成兩類使用預計算的備用路徑的靜態方案,和即時(on the fly)計算備用路徑的動態方案。
靜態方案中的算法同時構建了主樹和備用樹。在M.Kodialem和T.Lakshman于2002年6月在IEEE INFOCOM學報上發表的“Dynamicrouting of bandwidth guaranteed multicasts with failure backup”中描述了這樣一種算法,它最小化由主路徑和備用路徑所用的帶寬。該算法選擇組中的每個成員,開始于源(在最短路徑樹的情況下)或中心(在基于中心的樹的情況下)。對于每個成員,計算從源(或中心)到這個成員的兩個不相交路徑。一個路徑被插入主樹,而另一個被插入備用樹。樹所用的帶寬被最小化。然而,由于備用路徑針對所有可能的鏈接故障來保護樹,因此應當保留給備用樹的總帶寬至少與保留給主樹的帶寬相同。在Alon Itai和Michael Rodeh的1984年IEEE Symposium on Foundations ofComputer Science第137-147頁上的“The multi-tree approach to reliabilityin distributed networks”中,以及在M.Medard,S.Finn,R.Barry和R.Gallager的1999年IEEE/ACM Transactions on Networking,7(5)641-652的“Redundant trees for preplanned recovery in arbitraryvertex-redundant or edge-redundant graphs”中,提出了類似的方法,在后一文獻中,從源到目的節點的傳輸是通過將分組從源發送到根節點并然后從根發送到目的節點來實現的。如果沒有鏈路或節點故障,則在主樹上執行所述傳輸。當發生單個節點或鏈路的故障時,受故障影響的業務使用備用樹。在Medard等人的文獻中,算法構造了根在源節點的兩個定向的生成樹。其中一個用作工作樹,而另一個生成樹用于故障恢復。
在Y.-F.Wang和R.-F.Chan的文章“Self-healing on ATM multicasttree”(1998年8月的IEICE Transaction on Communication,E81-B(8)590-598)中,引入在線的(動態)機制來修復ATM多播路由樹。這些較小樹中的一個包括原始樹的源或中心,并且另一子樹是以有故障鏈路下游的交換機為根的樹。該交換機向它所有的鄰居發送包括它的唯一交換機標識符的故障通知消息。每個鄰居將該通知消息轉發給它自己的鄰居等等,從而使所述通知消息充滿網絡。接收通知消息的另一子樹的第一交換機進行答復,并且在兩個交換機之間建立備用路徑。這個備用路徑被插入多播路由樹,并且該樹被修復。
現有技術中所介紹的預先計劃的恢復方案焦點集中于“生成樹”冗余或“最短路徑樹”冗余。
在2005年2月18日提交的相關美國專利申請11/060,465中,提出了一種最小成本的樹結構,用來在VPLS網絡上廣播多媒體服務(數字電視、視頻點播)。盡管與基于PE路由器之間的全/部分網狀連通性的傳統VPLS結構相比,在先申請中的樹結構提供了可觀的帶寬節約,然而所述樹結構不是彈性的,即樹中的故障會斷開許多節點,并且甚至可能干擾整個通信。在此引入美國申請11/060,465的內容作為參考。
發明人所知道的現有技術中沒有一個為最小成本(Steiner)多播樹提供冗余,而這正是本發明的主題。而且,它們之中沒有一個論述了如何將業務從有故障的樹轉換至備用樹的步驟。

發明內容
本發明通過建議這樣一種方案而克服了現有技術的局限即實現接收器PE處的水平分割(VPLS使能的邊緣路由器的特征)以及雙連通性以促進轉換過程。另外,在本發明的指定應用中(即在VPLS上廣播數字多媒體),在正常操作期間提供兩個樹(工作樹和備用樹)上的負載平衡。由于這兩個樹都是靜態的,因此在兩個樹上均勻地分配頻道既高效又容易。借助于PE處的雙連通性和水平分割所實現的負載平衡的冗余最小成本(Steiner)樹是本發明所建議的唯一結構。每個Steiner樹還可以利用點對多點LSP而被實現。
在本發明中,提供了一種方法和結構來保護最小成本(Steiner)基于樹的VPLS免于特別是分支節點的故障以及一般地許多其它可能類型的故障,這因而提供了以可靠的方式廣播多媒體服務的彈性結構。
因此,根據本發明的第一方面,提供了一種在具有至少兩個源PE路由器和多個目的PE路由器的VPLS網絡上提供廣播服務的方法,其中所述源PE路由器中每個都連接到各自的頭端系統以廣播服務,所述目的PE路由器中每個都連接到VPLS網絡中的至少兩個核心提供商(P)路由器,該方法包括下列步驟計算多個Steiner樹,其中每個所述樹都源自各自的源PE路由器并且包括每個目的PE路由器,所述多個Steiner樹至少關于VPLS網絡中的核心P路由器而彼此不相交;為每個Steiner樹提供足夠的帶寬來承載所有廣播服務;并且在每個Steiner樹上廣播一部分所述廣播服務,由此所有廣播服務在多個Steiner樹上被廣播。
根據本發明的第二方面,提供了一種在具有至少兩個源PE路由器和多個目的PE路由器的VPLS網絡上提供廣播服務的網絡管理系統(NMS),其中所述源PE路由器中每個都連接到各自的頭端系統以廣播服務,所述目的PE路由器中每個都連接到VPLS網絡中的至少兩個核心提供商(P)路由器,所述NMS包括用于計算多個Steiner樹的裝置,其中每個所述樹都源自各自的源PE路由器并且包括每個目的PE路由器,所述多個Steiner樹至少關于VPLS網絡中的核心P路由器而彼此不相交;用于為每個Steiner樹提供足夠帶寬以承載所有廣播服務的裝置;以及用于在每個Steiner樹上廣播一部分廣播服務的裝置,由此所有廣播服務在多個Steiner樹上被廣播。
在本發明的所述方面的優選實施例中,提供每個所述Steiner樹是利用點對多點LSP來被實現的。


現在將參考附圖更詳細地描述本發明,其中圖1是在VPLS網絡上所構建的數字多媒體廣播系統的抽象;圖2示出了具有各自PE處的雙引導(homing)的不相交Steiner樹;圖3A示出了最短路徑樹;和圖3B示出了根據本發明的Steiner樹。
具體實施例方式
圖1示出了在VPLS網絡上所構建的數字多媒體廣播系統的抽象,其中H1和H2是連接到頭端及其備用的專用PE,并且PE1...PEn是在接收器站點連接到聚集節點(CE)的PE。在傳統的VPLS結構中,(H1,H2)和(PE1,...,PEn)之間的連通性通過偽線的網狀而被實現。然而,在早期的申請S.N.11/060,465中,發明人公開了一種將業務從頭端PE傳送至接收器PE的樹結構。該樹可以是最短路徑樹,或者是也稱為Steiner樹的最小成本樹,這里將詳細描述這種樹。由于PE之間的連通性通過樹結構被實現,因此將圖1的結構稱作基于樹的VPLS,或簡稱為TVPLS。
本發明特別涉及一種用于保護最小成本(Steiner)TVPLS免于特別是分支節點的故障以及一般地許多其它故障的方法和結構。
本發明的概念通過例子而得到了最好的說明。圖2示出了用于數字電視廣播服務的Steiner基于樹的VPLS網絡的例子。該網絡包括連至多媒體路由器的視頻源,提供商邊緣(PE)路由器,核心路由器(P),用戶設備(CE)或聚集設備,以及連至用戶電視機的機頂盒(STB)。
所述核心是全或部分網狀的。接收器PE和發送器PE之間的連通性通過VPLS網絡來提供。然而,提供了類似于早期申請中所描述的最小成本(Steiner)樹結構,而不是使用PE之間的偽線的網狀。與(基于PE路由器之間的全/部分網狀連通性的)傳統VPLS結構相比,所述樹結構提供了可觀的帶寬節約。然而,所述樹結構不是彈性的,即樹中的故障會斷開源下游的許多節點,并且甚至會干擾整個多媒體通信。
Steiner樹問題被描述為一個組合的優化問題。在它最一般的設置中,以類似于最小生成樹問題的方式來描述它,即給定點(頂點)的集合V,假如允許向網絡(圖)添加新的頂點,需要通過最短長度的網絡(圖)來互連這些點。Steiner樹還被描述為在圖中互連節點的子集的最小成本樹。它的成本小于在MPLS網絡中所構建的最短路徑樹。圖3(a)示出了最短路徑樹,其中六個鏈路在提供商網絡中被使用,盡管在如圖3(b)所示使用Steiner樹的情況下可以僅通過四個鏈路提供相同的連通性。
正式地,如下描述圖中的Steiner問題給定圖G=(V,E),其中V是頂點集合并且E是圖上的邊緣的集合,并且給定與邊緣相關聯的成本函數,并且給定源頂點S,和目的頂點D的集合,發現G的子樹T=(VT,ET),其橫越S和D(將頂點S連接到D中的頂點),以使樹T的成本cost(T)被最小化。
Steiner樹問題被示出為NP完全(NP complete)(在多項式時間中無解)。然而,存在若干可用的試探法,其為多項式時間中的Steiner樹問題提供次最佳的解。由于Steiner樹的計算是一個優化問題,因此提出了范圍從蟻群方法到遺傳算法的迭代解、模擬退火法(Simulated Annealing)以及例如最小生成樹的非迭代解,以提供次最佳的解。迭代解的準確度取決于迭代的次數。
所有這些解決方案都提供了次最佳的答案,并且在最壞情況下,樹的成本是最佳成本的兩倍。最佳試探法之一是基于最小生成樹算法的,其中-首先,基于G中的S和D之間的最短路徑長度構造完整的圖G’=(D,E’)。
-針對G’構造最小生成樹T’。
-T’中的邊緣被轉換成G中的路徑以形成Steiner解。
更正式地,B.Waxman在1988年12月的IEEE Journal of SelectedAreas in Communications Vol.6,No.9,pp.1617-1622的“Routing ofMultipoint Connections”中,介紹了一種已知的用于計算Steiner樹的試探算法。試探算法稱為KMB算法(依照算法的原始發明人Kou,L.,G.Markowsky,L.Berman而被命名-“A Fast Algorithm for Steiner Trees”,Acta Informatica,Springer-Verlag,vol.15,no.2,1988,pp.141-145.7)。
如下概括所述算法輸入(a)無向距離圖G=(V,E,d),其中V是頂點集合,E是邊緣集合,而d是邊緣成本集合,(b)V的Steiner點S子集的集合(注S的子集的終點),輸出針對G和S的Steiner樹步驟1從G和S構造完整的無向距離圖G*=(S,E*,d*)。這里,E*={{v1,v2}S的v1和v2不同元素},并且對于E*的每個{v1,v2}元素,d*({v1,v2})被設置成等于從G中的v1到v2的最短路徑的距離;步驟2找到G*的最小生成樹T*;步驟3通過用G中對應的最短路徑替換T*中的每個邊緣,來構造G的子圖G’;步驟4找到G’的最小生成樹T’;步驟5根據需要,通過刪除T’中的邊緣,從T’構造Steiner樹T,以使得T中所有葉子都是Steiner點。
所述算法具有最差情況的時間復雜度O(|S||V|^2)。
在圖2所示的網絡中可能存在不同的故障點,例如非分支‘P’路由器、分支‘P’路由器、源‘PE’路由器、目的‘PE’路由器、源多播路由器、用戶邊緣設備(CE)、核心中的鏈路、CE和PE(接入鏈路)之間的鏈路。CE和PE設備是利用冗余而被構建的。控制平面是冗余的。數據路徑(硬件&軟件)可能也是冗余的。CE和PE之間鏈路(稱作接入鏈路(AC))的故障,通過典型地由IEEE 802.3AD鏈路聚集協議所提供的冗余來被恢復。核心中的故障可以利用MPLS快速重路由來被恢復。同樣,該核心是全或部分網狀的。‘P’路由器是以高可靠度和冗余度而被構建的。同樣,核心路由器的故障必須被看作是罕有的事件。
存在幾個可用于檢測節點或鏈路故障的機制。例如,例如“雙向前向檢測”的普通方案可以用來檢測鏈路和節點路障。鏈路故障還可以通過媒介在第1層被檢測(例如光信號的丟失、信號丟失、SONET/SDH告警等等)。故障檢測不在本發明的范圍內,并且假定已經存在一種機制來檢測故障。
在本發明中,提供了具有PE處的水平分割和雙連通性的負載平衡的不相交Steiner樹。這些通過方法和結構來提供,其中所述方法和結構保護最小成本(Steiner)基于樹的VPLS免于特別是分支節點的故障以及一般地許多其它可能類型的故障,這因而為廣播多媒體服務提供了彈性的結構。在以下描述中,提供了如何將業務從有故障的樹轉換至備用樹的細節。也描述了這樣的過程用于實現接收器PE處的水平分割以及雙連通性,以促進轉換過程。另外,在本發明的指定應用中,即在VPLS上廣播數字多媒體,討論了正常操作期間兩個樹(工作樹和備用樹)上的負載平衡。由于這兩個樹都是靜態的,因此在兩個樹上均勻地分配頻道是高效且容易的。
分支P(BP)路由器是核心路由器,它也能夠終止MPLS LSP,并且執行VLAN廣播或MPLS多播。這些路由器也以高可靠度和冗余度而被構建。同樣,它們的故障是罕有的事件。然而,如果BP路由器發生故障,則許多節點受到影響。為了從這種故障中恢復,一個選項是假定上游P路由器能夠分支,并且因而采用一種信令機制來將分支功能從有故障的BP路由器傳送到它的上游P路由器。這個選項引入了復雜度,并且假定基本上網絡中的許多P路由器能夠分支。這里基于計算不相交的最小成本(Steiner)樹并且采用如圖2所示的PE處的水平分割,提供了替換的解決方案。
網絡管理系統(NMS)利用接收器PE處的雙連通性來預計算兩個不相交的Steiner樹。這通過以下操作而被實現計算第一Steiner樹,然后從圖的列表中移除第一樹的P節點,并且計算第二Steiner樹而不涉及計算中的第一樹的P路由器。應當指出,只有P路由器被排除在第二樹的計算之外(不是分支P路由器)。利用這個方案,兩個不相交的最小成本(Steiner)樹通過網絡管理系統而被計算,并且經由網絡被提供。應當指出,由于Steiner樹的成本平均是最短路徑樹的60%,如通過Dijkstra算法所計算的并且由PIM所使用的(參見V.Kompella,J.Pasquale,G.Polyzos的“Multicast Routing for Multimedia Communication”,IEEE/ACM Transactions on networking,Vol.1,NO.3,1993年6月,pp.286-292.5),因此包括兩個Steiner樹的解決方案的總成本大約比最短路徑樹的成本多出20%(仍然是可比擬的),同時提供完全冗余。在正常的操作中,在頭端PE采用負載平衡機制來均勻地在兩個樹上分配TV頻道。盡管每個樹都有足夠的容量來將所有頻道從源PE傳送至目的PE,然而它們只針對大約一半帶寬而被使用。另一半在另一個樹上被承載。如果在一個樹上發生故障,則在下面描述的每個恢復步驟中將它的業務轉換至另一個樹。
在服務初始化階段期間,網絡管理系統(NMS)預計算如圖2所示的兩個不相交Steiner樹。LSP被分配,并且帶寬在兩個樹上被保留,以便每個樹都可以承載所有的頻道。然而,所述樹沒有被完全使用。在頭端PE中采用負載平衡機制以在兩個樹上均勻地分配頻道。同樣,在正常的操作中,每個樹都被大約一半的多媒體業務使用。
當所述樹之一上的分支‘P’路由器發生故障時,NMS在工作的多播路由器處插入靜態IGMP成員,以在該工作樹上廣播所有TV頻道。為了將CE接收器連到工作樹,在PE接收器處使用水平分割規則。如果PE能夠進行水平分割,則不需要附加的動作。備用樹上的業務流將被自動轉發至接入鏈路。
在工作樹上廣播頻道之后,NMS通過移除主多播路由器中的靜態IGMP條目(entry)來停止在有故障的樹上轉發頻道。這釋放了有故障的樹上的可用帶寬。
在圖2所建議的結構中,應當指出a.所述結構應該是物理上可能從故障中恢復的,即核心結構是網狀的(或部分網狀),PE具有雙連通性;b.從鏈路故障中恢復是通過MPLS快速重路由、RPR保護交換或等效路徑恢復方法來實現的;c.應當提供“源多播路由器”的冗余,盡管本解決方案也可以只通過一個多播路由器來實現。
VPLS的重要應用是在廣播多媒體服務方面。在這種應用中,非常期望結構的彈性。本發明提供基于樹的VPLS中的彈性,發明人所知的任何現有技術都沒有提供它。
通常,現有技術的焦點集中于生成樹冗余或最短路徑樹冗余。它們之中沒有一個提供了針對最小成本(Steiner)多播樹的冗余。而且,它們之中沒有一個論述了如何將業務從有故障的樹轉換至備用樹的步驟。Steiner樹與PE處的水平分割和雙連通性的組合,產生了本發明所介紹的唯一結構,其支持基于樹的VPLS廣播系統中的彈性。
同樣,如這里建議的預先計劃的恢復方案在速度方面優于動態故障恢復。動態故障恢復通常較慢并且沒有提供小于50毫秒的相等恢復時間。
盡管已經描述并說明了本發明的指定實施例,然而在不背離基本概念的情況下實現許多變形對本領域的技術人員來說是顯而易見的。然而應當理解,這種變形是在由所附權利要求所定義的本發明的整個范圍內的。
權利要求
1.一種在具有至少兩個源提供商邊緣路由器和多個目的提供商邊緣路由器的虛擬專用局域網服務網絡上提供廣播服務的方法,所述源提供商邊緣路由器中每個都連接到各自的頭端系統以廣播服務,所述目的提供商邊緣路由器中每個都連接到所述虛擬專用局域網服務網絡中的至少兩個核心提供商路由器,該方法包括下列步驟a)計算多個斯坦納樹,每個所述樹都源自各自的源提供商邊緣路由器并且包括每個目的提供商邊緣路由器,所述多個斯坦納樹至少關于所述虛擬專用局域網服務網絡中的核心提供商路由器而彼此不相交;b)為所述斯坦納樹中的每個提供足夠的帶寬以承載所有廣播服務;以及c)在所述斯坦納樹中每一個上廣播一部分所述廣播服務,由此所有廣播服務在所述多個斯坦納樹上被廣播。
2.根據權利要求1的方法,其中,所述廣播服務在所述樹上被均勻地分配。
3.根據權利要求1的方法,其中,最小成本(斯坦納)樹是利用點對多點標記交換路徑而被實現的。
4.根據權利要求1的方法,其中,響應于所述樹之一中的故障,有故障的樹的服務的IGMP成員被插入(一個或多個)無故障樹的頭端系統中,并且所述有故障的樹的用戶邊緣路由器利用水平分割橋接而連至所述(一個或多個)無故障樹。
5.根據權利要求4的方法,其中,帶寬在所述有故障的樹上被釋放。
6.根據權利要求1的方法,其中,所述廣播服務是數字多媒體服務。
7.根據權利要求6的方法,其中,所述多媒體服務是數字電視服務。
8.根據權利要求6的方法,其中,所述多媒體服務是視頻點播服務。
9.根據權利要求1的方法,其中,請求網絡管理系統提供所述廣播服務。
10.根據權利要求9的方法,其中,所述網絡管理系統預計算兩個斯坦納樹,以使帶寬針對每個樹而被保留。
11.根據權利要求10的方法,其中,采用負載平衡機制以在兩個樹上均勻地分配頻道。
12.一種用于在具有至少兩個源提供商邊緣路由器和多個目的提供商邊緣路由器的虛擬專用局域網服務網絡上提供廣播服務的網絡管理系統,所述源提供商邊緣路由器中每一個都連接到各自的頭端系統以廣播服務,所述目的提供商邊緣路由器中每一個都連接到所述虛擬專用局域網服務網絡中的至少兩個核心提供商路由器,所述網絡管理系統包括用于計算多個斯坦納樹的裝置,每個所述樹都源自各自的源提供商邊緣路由器并且包括每個目的提供商邊緣路由器,所述多個斯坦納樹至少關于所述虛擬專用局域網服務網絡中的核心提供商路由器而彼此不相交;用于為所述斯坦納樹中每一個提供足夠的帶寬以承載所有廣播服務的裝置;和用于在所述斯坦納樹中每一個上廣播一部分所述廣播服務的裝置,由此所有的廣播服務在所述多個斯坦納樹上被廣播。
13.根據權利要求12的網絡管理系統,該網絡管理系統具有用于利用點對多點標記交換路徑來提供所述斯坦納樹中每一個的裝置。
14.根據權利要求12的網絡管理系統,其中,所述帶寬在所述斯坦納樹之間被均勻地分配。
15.根據權利要求14的網絡管理系統,其中,如果在一個斯坦納樹中發生故障,則在一個或多個其它樹上提供所述服務。
16.根據權利要求15的網絡管理系統,其中,負載平衡裝置被用來分配服務。
17.根據權利要求15的網絡管理系統,其中,水平分割橋接被用來分配服務。
18.根據權利要求12的網絡管理系統,其中,計算兩個斯坦納樹,第一個是正常操作樹,而第二個是備用樹。
全文摘要
描述了一種用于在VPLS網絡上提供彈性多媒體廣播服務的系統。網絡管理系統(NMS)利用以額外步驟所執行的Steiner算法來計算不相交最小成本樹,以產生不相交的樹。VPLS網絡中的目的PE路由器連接到不相交樹,以便它們可以在出故障的情況下由另一個樹來服務。每個不相交樹都具有足夠的帶寬以承載VPLS網絡所提供的所有服務。然而在正常的操作下,所述服務在所述樹上被均勻地分配。如果發生故障,則有故障的樹上的服務利用水平分割橋接而被轉換至另一個樹。每個Steiner樹還可以利用點對多點LSP來被實現,其被預計算的點對多點LSP全面地保護。
文檔編號H04L12/44GK1925449SQ20061012656
公開日2007年3月7日 申請日期2006年8月28日 優先權日2005年8月29日
發明者B·拉赫米, B·S·布-迪亞布, F·奎爾沃 申請人:阿爾卡特公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1