一種cdn多路徑路由方法和系統的制作方法
【專利摘要】本發明公開了一種CDN多路徑路由方法和系統,由內容發送路由器收到內容請求消息,根據內容轉發路由表,發現所述內容請求消息的目標內容對應的下一跳存在多個路徑時,在所述多個路徑中選擇一至多個目標路徑,并向選擇的目標路徑發送內容檢測消息;內容接收路由器收到所述內容檢測消息,判斷本地是否存在所述目標內容,如果存在,返回目標內容信息給所述內容發送路由器;如果不存在,根據自身的內容轉發路由表轉發所述內容檢測消息;所述內容發送路由器收到內容檢測應答消息,據此獲取目標內容。本發明的CDN多路徑路由技術可以解決CDN多路徑路由時的網絡帶寬浪費問題。
【專利說明】 一種CDN多路徑路由方法和系統
【技術領域】
[0001]本發明涉及通信領域,具體涉及一種內容分發網絡(Content Delivery Network,CDN)多路徑路由方法和系統。
【背景技術】
[0002]目前,互聯網流量中90%以上的流量都是網頁數據、文件共享、視頻類的可重復內容,這些流量采用緩存、轉發的模式更為高效,而現有的IP網絡支持的是端到端的傳輸模型,在現有互聯網流量特征下是低效的。
[0003]進幾年,學術界開始研究將互聯網改造為以內容傳輸為中心的緩存-轉發模式,比如將主機之間通信的基本原語從原來IP的連接-發送/接收報文的形式改為無連接的內容/數據讀取/訂閱,網絡設備設置內容緩存,并解析主機發出的內容讀取請求,如果命中本地緩存則立即返回結果,否則繼續在網絡中路由。
[0004]數據命名網絡(Named Data Networking, NDN)為了提高路由效率,提出多路徑路由思想,內容路由器(CR)收到內容請求Interest (興趣)消息后,根據策略選擇多個可能存在目的內容的路徑并發送Interest消息,以收到的第一個數據包內容作為目的內容。
[0005]如圖1所示,當CRl收到用戶針對WWW.Sina.com.cn/video/a.avi的內容請求時,查找前轉路由表(FIB),發現對應內容名前綴WWW.Sina.com.cn存在兩個端口,一個連接CR2,一個連接CR4。CRl根據策略選擇多路徑路由,分別向CR2和CR4發送Interest消息。CR2根據路由表向CR5發送Interest消息,CR4向CR7發送Interest消息,最終CR5發現本路由器存在用戶所需的目標內容WWW.Sina.com.cn/video/a.avi,于是CR5按消息發送路徑返回目標內容給CR1,CRl首次收到來自CR5的目標內容,于是CRl不等待來自CR4的消息,而是直接將目標內容返回給用戶,如果后續收到CR4的內容數據包,則直接丟棄。
[0006]如圖2所示,當網絡中存在多份目標內容時,如果采用NDN現有的多路徑路由技術,隨著Interest消息的擴散,眾多的CR會收到Interest請求,并根據請求向內容請求者返回內容,但實際上需要的內容只有一份,其它多余內容在網絡傳輸過程中被丟棄,這種路由機制對網絡帶寬浪費較為嚴重。
【發明內容】
[0007]有鑒于此,本發明的主要目的在于提供一種⑶N多路徑路由方法和系統,以解決CDN多路徑路由時的網絡帶寬浪費問題。
[0008]為達到上述目的,本發明的技術方案是這樣實現的:
[0009]一種內容分發網絡⑶N多路徑路由方法,該方法包括:
[0010]內容發送路由器收到內容請求消息,根據內容轉發路由表,發現所述內容請求消息的目標內容對應的下一跳存在多個路徑時,在所述多個路徑中選擇一至多個目標路徑,并向選擇的目標路徑發送內容檢測消息;
[0011]內容接收路由器收到所述內容檢測消息,判斷本地是否存在所述目標內容,如果存在,返回目標內容信息給所述內容發送路由器;如果不存在,根據自身的內容轉發路由表轉發所述內容檢測消息;
[0012]所述內容發送路由器收到內容檢測應答消息,據此獲取目標內容。
[0013]所述內容檢測消息復用所述內容請求消息,其中的消息類型指示修改為內容檢測消息。
[0014]所述內容發送路由器獲取目標內容的方法為:
[0015]具有所述目標內容的目標內容源在收到所述內容檢測消息后返回內容檢測應答,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容;或
[0016]途中內容接收路由器發現本地緩存有目標內容,內容接收路由器直接返回內容檢測應答消息,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容;或
[0017]具有所述目標內容的目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,并發向多個內容源獲取目標內容;或
[0018]具有所述目標內容的目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,選擇最佳內容源以獲取內容。
[0019]所述并發向多個內容源獲取目標內容的方法為:從不同內容源獲取整體內容中的不同分片。
[0020]還包括:
[0021 ] 內容發送路由器在接收內容檢測應答超時后,返回內容請求失敗。
[0022]一種⑶N多路徑路由系統,該系統包括內容發送路由器、內容接收路由器;其中,
[0023]所述內容發送路由器,用于接收內容請求消息,根據內容轉發路由表,發現所述內容請求消息的目標內容對應的下一跳存在多個路徑時,在所述多個路徑中選擇一至多個目標路徑,并向選擇的目標路徑發送內容檢測消息;還用于接收內容檢測應答消息,據此獲取目標內容;
[0024]所述內容接收路由器,用于接收所述內容檢測消息,判斷本地是否存在所述目標內容,如果存在,返回目標內容信息給所述內容發送路由器;如果不存在,根據自身的內容轉發路由表轉發所述內容檢測消息。
[0025]所述內容檢測消息復用所述內容請求消息,其中的消息類型指示修改為內容檢測消息。
[0026]所述內容發送路由器在獲取目標內容時,用于:
[0027]具有所述目標內容的目標內容源在收到所述內容檢測消息后返回內容檢測應答,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容;或
[0028]途中內容接收路由器發現本地緩存有目標內容,內容接收路由器直接返回內容檢測應答消息,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容;或
[0029]具有所述目標內容的目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,并發向多個內容源獲取目標內容;或[0030]具有所述目標內容的目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,選擇最佳內容源以獲取內容。
[0031]所述內容發送路由器在并發向多個內容源獲取目標內容時,用于:從不同內容源獲取整體內容中的不同分片。
[0032]所述內容發送路由器還用于:
[0033]在接收內容檢測應答超時后,返回內容請求失敗。
[0034]本發明的CDN多路徑路由技術可以解決CDN多路徑路由時的網絡帶寬浪費問題。【專利附圖】
【附圖說明】
[0035]圖1為現有技術的內容獲取原理示意圖;
[0036]圖2為現有技術中有多份目標內容時的內容獲取原理示意圖;
[0037]圖3為本發明實施例一的內容獲取流程圖;
[0038]圖4為本發明實施例二的內容獲取流程圖;
[0039]圖5為本發明實施例三的內容獲取流程圖;
[0040]圖6為本發明實施例四的內容獲取流程圖;
[0041]圖7為本發明實施例的因超時導致內容獲取失敗的流程圖;
[0042]圖8為本發明實施例的⑶N多路徑路由流程簡圖。
【具體實施方式】
[0043]為了解決CDN多路徑路由是的網絡帶寬浪費問題,可以應用以下的CDN多路徑路由技術:
[0044]內容發送路由器收到內容請求消息,根據內容轉發路由表,發現所述內容請求消息的目標內容對應的下一跳存在多個路徑;
[0045]所述內容發送路由器在所述目標內容對應的下一跳的多個路徑中優選一至多個路徑;
[0046]所述內容發送路由器向選擇的所述路徑發送內容檢測消息;
[0047]內容接收路由器收到所述內容檢測消息,判斷本地是否存在所述目標內容,如果存在,返回目標內容給所述內容發送路由器;如果不存在,根據自身的內容轉發路由表轉發內容檢測消息;
[0048]所述內容發送路由器收到內容檢測應答消息,據此獲取目標內容。
[0049]參見圖3,圖3中,收到用戶內容請求消息Interest消息的內容發送路由器,根據自身的內容路由轉發表,發現下一跳存在多條路徑,在其中優選一條或者幾條路徑,并在選擇的路徑上發送內容檢測消息。目標內容源收到內容檢測消息后返回內容檢測應答,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容,圖3所示流程包括以下步驟:
[0050]步驟301-302.內容接收路由器收到用戶的內容請求消息Interest消息,根據消息中的內容ID查找內容路由轉發表,發現目標內容路由的下一跳存在多個路徑;
[0051]步驟303-304.內容接收路由器在多路徑中優選與內容接收路由器I和內容接收路由器2之間的路徑,并向選擇的路徑發送內容檢測消息,消息中攜帶所需檢測的內容ID ;[0052]注:內容檢測消息,可以復用內容請求消息,僅將消息類型指示修改為內容檢測消息即可;
[0053]步驟305.內容接收路由器收到內容檢測消息,根據消息中的內容ID,發現本地沒有緩存目標內容,于是根據內容轉發表將內容檢測消息轉發給目標內容源;
[0054]步驟306-307.內容源收到內容檢測消息后,發現本地緩存有目標內容,因此返回檢測應答消息;
[0055]步驟308.內容發送路由器收到來自內容接收路由器I的內容檢測應答消息,該消息為內容發送路由器收到的首條應答消息,內容發送路由器認為與內容接收路由器I之間的路徑為最佳路徑,于是內容發送路由器向內容接收路由器發送內容請求消息;
[0056]步驟309.可與305同步,內容接收路由器2收到內容檢測消息,同樣發現本地沒有緩存目標內容,因此根據內容轉發表將所述檢測消息轉發給目標內容源;
[0057]步驟310-311.內容源將第二條內容檢測應答消息發給內容發送路由器,內容發送路由器發現該內容檢測應答消息在此之前已收到,則丟棄該消息;
[0058]步驟312.內容發送路由器將收到的內容應答消息轉發給用戶。
[0059]參見圖4,圖4中,內容發送路由器收到用戶內容請求消息Interest消息,根據自身的內容路由轉發表發現下一跳存在多條路徑,在其中優選一條或者幾條路徑,并在選擇的路徑上發送內容檢測消息。途中內容接收路由器發現本地緩存有目標內容,內容接收路由器直接返回內容檢測應答消息,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容,圖4所示流程包括以下步驟:
[0060]步驟401-403 同步驟 301-303 ;
[0061]步驟404.內容接收路由器I收到內容檢測消息,發現本地已緩存了目標內容;
[0062]步驟405.內容接收路由器I直接返回內容檢測應答消息;
[0063]步驟406.內容發送路由器向內容接收路由器I發送內容請求消息;
[0064]步驟407.內容接收路由器I收到內容請求消息,將緩存的內容攜帶于內容請求應答中并返回給內容發送路由器,內容發送路由器將收到的內容請求應答轉發給用戶。
[0065]參見圖5,圖5中,內容發送路由器收到用戶的內容請求消息Interest消息,根據自身的內容路由轉發表發現下一跳存在多條路徑,在其中優選一條或者幾條路徑,并在選擇的路徑上發送內容檢測消息。目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,并發向多個內容源獲取目標內容,圖5所示流程包括以下步驟:
[0066]步驟501-507同步驟301-307,區別在于,針對的內容源為內容源I ;
[0067]步驟508-509同步驟305-306,區別在于,針對的內容源為內容源2 ;
[0068]步驟510.內容發送路由器收齊所有路由檢測應答條目或者收齊管理策略規定的路由檢測應答條目后,選擇多個內容源并發獲取目標內容,以保證內容獲取速度,同時也降低內容源負荷,比如,用戶請求WWW.Sina.com.cn/video/a.avi目標內容,其中內容源I和內容源2都具有該內容,為了提高內容獲取速度,內容發送路由器將向內容源I獲取目標內容的前10片分片內容,向內容源2獲取前10片分片之后的內容;即:從不同內容源獲取整體內容中的不同分片。[0069]步驟511-514.內容發送路由器向內容源I和內容源2并發獲取目標內容,獲取完畢后將目標內容返回給用戶。
[0070]參見圖6,圖6中,內容發送路由器收到用戶的內容請求消息Interest消息,根據自身的內容路由轉發表發現下一跳存在多條路徑,在其中優選一條或者幾條路徑,并在選擇的路徑上發送內容檢測消息。目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,選擇最佳內容源以獲取內容,圖6所示流程包括以下步驟:
[0071]步驟601-609 同步驟 501-509 ;
[0072]步驟610-611.內容發送路由器收齊所有路由檢測應答條目或者收齊管理策略規定的路由檢測應答條目后,選擇最佳內容源以獲取目標內容;本實施例中最佳內容源為內容源I ;
[0073]步驟612-613.內容發送路由器向內容源I獲取目標內容;
[0074]參見圖7,圖7中,內容發送路由器收到用戶的內容請求消息Interest消息,根據自身的內容路由轉發表發現下一跳存在多條路徑,在其中優選一條或者幾條路徑,并在選擇的路徑上發送內容檢測消息。檢測超時后,內容發送路由器拒絕內容請求,圖7所示流程包括以下步驟:
[0075]步驟701-704 同步驟 301-304 ;
[0076]步驟705-706.內容發送路由器接收內容檢測應答超時,并在超時后向用戶返回內容請求失敗。
[0077]結合以上描述可見,本發明的CDN多路徑路由的操作思路可以表示如圖8所示的流程,該流程包括以下步驟:
[0078]步驟810:內容發送路由器收到內容請求消息,根據內容轉發路由表,發現所述內容請求消息的目標內容對應的下一跳存在多個路徑時,在所述多個路徑中選擇一至多個目標路徑,并向選擇的目標路徑發送內容檢測消息。
[0079]步驟820:內容接收路由器收到所述內容檢測消息,判斷本地是否存在所述目標內容,如果存在,返回目標內容信息給所述內容發送路由器;如果不存在,根據自身的內容轉發路由表轉發所述內容檢測消息。
[0080]步驟830:所述內容發送路由器收到內容檢測應答消息,據此獲取目標內容。
[0081]綜上所述可見,無論是方法還是系統,本發明的CDN多路徑路由技術可以解決CDN多路徑路由時的網絡帶寬浪費問題。
[0082]以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。
【權利要求】
1.一種內容分發網絡CDN多路徑路由方法,其特征在于,該方法包括: 內容發送路由器收到內容請求消息,根據內容轉發路由表,發現所述內容請求消息的目標內容對應的下一跳存在多個路徑時,在所述多個路徑中選擇一至多個目標路徑,并向選擇的目標路徑發送內容檢測消息; 內容接收路由器收到所述內容檢測消息,判斷本地是否存在所述目標內容,如果存在,返回目標內容信息給所述內容發送路由器;如果不存在,根據自身的內容轉發路由表轉發所述內容檢測消息; 所述內容發送路由器收到內容檢測應答消息,據此獲取目標內容。
2.根據權利要求1所述的方法,其特征在于,所述內容檢測消息復用所述內容請求消息,其中的消息類型指示修改為內容檢測消息。
3.根據權利要求1或2所述的方法,其特征在于,所述內容發送路由器獲取目標內容的方法為: 具有所述目標內容的目標內容源在收到所述內容檢測消息后返回內容檢測應答,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容;或 途中內容接收路由器發現本地緩存有目標內容,內容接收路由器直接返回內容檢測應答消息,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容;或 具有所述目標內容的目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,并發向多個內容源獲取目標內容;或 具有所述目標內容的目標`內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,選擇最佳內容源以獲取內容。
4.根據權利要求3所述的方法,其特征在于,所述并發向多個內容源獲取目標內容的方法為:從不同內容源獲取整體內容中的不同分片。
5.根據權利要求1所述的方法,其特征在于,還包括: 內容發送路由器在接收內容檢測應答超時后,返回內容請求失敗。
6.一種CDN多路徑路由系統,其特征在于,該系統包括內容發送路由器、內容接收路由器;其中, 所述內容發送路由器,用于接收內容請求消息,根據內容轉發路由表,發現所述內容請求消息的目標內容對應的下一跳存在多個路徑時,在所述多個路徑中選擇一至多個目標路徑,并向選擇的目標路徑發送內容檢測消息;還用于接收內容檢測應答消息,據此獲取目標內容; 所述內容接收路由器,用于接收所述內容檢測消息,判斷本地是否存在所述目標內容,如果存在,返回目標內容信息給所述內容發送路由器;如果不存在,根據自身的內容轉發路由表轉發所述內容檢測消息。
7.根據權利要求6所述的系統,其特征在于,所述內容檢測消息復用所述內容請求消息,其中的消息類型指示修改為內容檢測消息。
8.根據權利要求6或7所述的系統,其特征在于,所述內容發送路由器在獲取目標內容時,用于:具有所述目標內容的目標內容源在收到所述內容檢測消息后返回內容檢測應答,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容;或 途中內容接收路由器發現本地緩存有目標內容,內容接收路由器直接返回內容檢測應答消息,內容發送路由器將首先收到的內容檢測應答路徑作為本次請求的目標內容源的首選路徑,并向該目標內容源獲取內容;或 具有所述目標內容的目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,并發向多個內容源獲取目標內容;或 具有所述目標內容的目標內容源在收到內容檢測消息后返回內容檢測應答,內容發送路由器在收到多條內容檢測應答消息后,選擇最佳內容源以獲取內容。
9.根據權利要求8所述的系統,其特征在于,所述內容發送路由器在并發向多個內容源獲取目標內容時,用于:從不同內容源獲取整體內容中的不同分片。
10.根據權利要求6所述的系統,其特征在于,所述內容發送路由器還用于: 在接收內容檢測應答超時后`,返回內容請求失敗。
【文檔編號】H04L12/721GK103516607SQ201210209833
【公開日】2014年1月15日 申請日期:2012年6月25日 優先權日:2012年6月25日
【發明者】陶全軍, 郝振武 申請人:中興通訊股份有限公司