本公開總體上涉及計(jì)算機(jī)網(wǎng)絡(luò),并且更具體地,涉及計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的路由分組。
背景技術(shù):
1、計(jì)算機(jī)網(wǎng)絡(luò)是能夠交換數(shù)據(jù)和共享資源的互連計(jì)算設(shè)備的集合。示例計(jì)算設(shè)備包括在開放系統(tǒng)互連(osi)參考模型的第2層(即數(shù)據(jù)鏈路層)內(nèi)操作的路由器、交換機(jī)和其他第2層(l2)網(wǎng)絡(luò)設(shè)備,以及在osi參考模型的第3層(即網(wǎng)絡(luò)層)內(nèi)操作的第3層(l3)網(wǎng)絡(luò)設(shè)備。計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的網(wǎng)絡(luò)設(shè)備通常包括為網(wǎng)絡(luò)設(shè)備提供控制平面功能的控制單元和用于路由或交換數(shù)據(jù)單元的轉(zhuǎn)發(fā)組件。
2、計(jì)算設(shè)備可以建立“網(wǎng)絡(luò)會(huì)話”(本文也稱為“會(huì)話”),以實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)上的設(shè)備之間的通信。會(huì)話可以是雙向的,因?yàn)闀?huì)話包括在第一設(shè)備和第二設(shè)備之間在兩個(gè)方向上行進(jìn)的分組。例如,會(huì)話包括從第一設(shè)備發(fā)起并去往第二設(shè)備的正向分組流和從第二設(shè)備發(fā)起并去往第一設(shè)備的反向分組流。會(huì)話的正向和反向分組流相互關(guān)聯(lián),因?yàn)檎蚍纸M流的源地址和源端口與反向分組流的目的地地址和目的地端口相同,并且正向分組流的目的地地址和目的地端口與反向分組流的源地址和源端口相同。為了建立會(huì)話,計(jì)算設(shè)備可以使用一個(gè)或多個(gè)通信會(huì)話協(xié)議,包括傳輸控制協(xié)議(tcp)、傳輸層安全(tls)、用戶數(shù)據(jù)報(bào)協(xié)議(udp)、互聯(lián)網(wǎng)控制消息協(xié)議(icmp)等。
技術(shù)實(shí)現(xiàn)思路
1、一般而言,本公開描述了使用會(huì)話的會(huì)話建立度量來監(jiān)測會(huì)話的技術(shù)。客戶端設(shè)備可以建立會(huì)話以訪問由網(wǎng)絡(luò)服務(wù)實(shí)例(本文也被稱為“服務(wù)實(shí)例”)實(shí)例化的網(wǎng)絡(luò)服務(wù)。在會(huì)話建立之后,沿著客戶端設(shè)備和服務(wù)實(shí)例之間的正向路徑和反向路徑轉(zhuǎn)發(fā)業(yè)務(wù)。在一些示例中,會(huì)話可能無法建立、現(xiàn)有會(huì)話可能不再建立、或者根據(jù)會(huì)話性能要求(例如,由軟件許可協(xié)議(sla)定義的要求)會(huì)話可能性能不佳。即使例如在客戶端設(shè)備和網(wǎng)絡(luò)服務(wù)實(shí)例之間的中間網(wǎng)絡(luò)上的路徑或路由器接口不存在操作問題,這種情況也可能發(fā)生。例如,客戶端設(shè)備可以嘗試與第一網(wǎng)絡(luò)服務(wù)實(shí)例建立第一通信會(huì)話(例如,tls會(huì)話)。第一網(wǎng)絡(luò)服務(wù)實(shí)例可以成功完成tls握手的密鑰交換階段和服務(wù)器參數(shù)階段,但無法完成tls握手的認(rèn)證階段。因此,即使在客戶端設(shè)備和第一網(wǎng)絡(luò)服務(wù)實(shí)例之間的鏈路、網(wǎng)絡(luò)或傳輸級(jí)別(例如,osi參考模型第2、3或4層)上不存在問題,客戶端設(shè)備和第一網(wǎng)絡(luò)服務(wù)實(shí)例之間的第一tls會(huì)話也無法建立。通常,路由器可能不能在會(huì)話級(jí)別(例如,osi參考模型第5層)檢測到問題,因此可能在到服務(wù)實(shí)例104的路徑和接口正在正確操作的情況下,在會(huì)話級(jí)別不能重新路由網(wǎng)絡(luò)業(yè)務(wù)。此外,在第2、3或4層重新路由業(yè)務(wù)可能中斷與有問題的會(huì)話共享路由器接口或類似路徑但仍可操作的其他會(huì)話。
2、根據(jù)本公開的技術(shù),路由器生成會(huì)話的一個(gè)或多個(gè)會(huì)話建立度量。例如,本文描述的路由器可以獲取會(huì)話建立的度量(本文也稱為“會(huì)話建立度量”),并且使用這樣的度量來確定在客戶端設(shè)備和網(wǎng)絡(luò)服務(wù)實(shí)例之間是否已經(jīng)建立(或未能建立)會(huì)話和/或所建立的會(huì)話是否不滿足會(huì)話性能要求(本文也稱為“會(huì)話要求”)。路由器可以使用會(huì)話度量和會(huì)話性能要求來確定是否將客戶端設(shè)備和網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話的網(wǎng)絡(luò)業(yè)務(wù)從第一路徑切換到第二路徑,以便確保符合會(huì)話性能要求,而不會(huì)中斷穿過第一路徑的其他可操作會(huì)話。
3、例如,中間網(wǎng)絡(luò)包括多個(gè)路由器,并且位于客戶端設(shè)備和由服務(wù)器托管的網(wǎng)絡(luò)服務(wù)實(shí)例之間。中間網(wǎng)絡(luò)內(nèi)的第一路由器經(jīng)由第一路徑和不同于第一路徑的第二路徑被連接到網(wǎng)絡(luò)服務(wù)實(shí)例。例如,第一路徑和第二路徑可以各自包括至少一個(gè)不同的路由器或相同路由器的至少一個(gè)不同的接口等。第一路由器沿著第一路徑轉(zhuǎn)發(fā)客戶端設(shè)備和網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話的網(wǎng)絡(luò)業(yè)務(wù)。
4、在一些示例中,第一路由器被配置為針對(duì)客戶端設(shè)備和網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話執(zhí)行基于會(huì)話的路由。例如,第一路由器修改會(huì)話的正向分組流和反向分組流中的至少一個(gè)的第一分組,以包括報(bào)頭以及指定會(huì)話的會(huì)話標(biāo)識(shí)符的元數(shù)據(jù)的部分,該報(bào)頭包括沿著第一路徑的第一路由器的源地址和第二路由器的目的地地址。
5、第一路由器獲取客戶端設(shè)備與網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話的一個(gè)或多個(gè)會(huì)話建立度量。會(huì)話建立度量可以描述與一個(gè)或多個(gè)會(huì)話的成功或不成功建立相關(guān)的數(shù)據(jù)。例如,會(huì)話建立度量可以包括例如,建立會(huì)話所經(jīng)過的時(shí)間、會(huì)話成功建立的數(shù)目、會(huì)話由于超時(shí)而未能建立的數(shù)目、會(huì)話由于目的地不可達(dá)而未能建立的數(shù)目、會(huì)話在會(huì)話建立之前關(guān)閉的數(shù)目等。第一路由器可以通過監(jiān)測在建立之前、期間或之后的第一會(huì)話的狀態(tài)來導(dǎo)出會(huì)話建立度量。
6、第一路由器接收客戶端設(shè)備和網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話的一個(gè)或多個(gè)會(huì)話性能要求,其可以包括會(huì)話的sla要求。第一路由器將度量與會(huì)話性能要求進(jìn)行比較。響應(yīng)于確定會(huì)話的一個(gè)或多個(gè)會(huì)話建立度量不滿足會(huì)話的一個(gè)或多個(gè)會(huì)話性能要求,第一路由器沿著第二路徑轉(zhuǎn)發(fā)客戶端設(shè)備和網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話的網(wǎng)絡(luò)業(yè)務(wù)。在一些示例中,第一路由器修改會(huì)話的正向分組流和反向分組流中的至少一個(gè)的第二分組,以包括報(bào)頭以及指定會(huì)話的會(huì)話標(biāo)識(shí)符的元數(shù)據(jù)的部分,該報(bào)頭包括沿著第二路徑的第一路由器的源地址和第三路由器的目的地地址。
7、在一些示例中,第一路由器將第一路徑從會(huì)話負(fù)載均衡器中移除,該會(huì)話負(fù)載均衡器沿著不同路徑對(duì)與網(wǎng)絡(luò)服務(wù)相關(guān)聯(lián)的客戶業(yè)務(wù)進(jìn)行負(fù)載均衡。附加地,本文描述的路由器可以使用這樣的度量來選擇一個(gè)或多個(gè)會(huì)話、檢測業(yè)務(wù)的黑洞化、確定會(huì)話不滿足sla要求、或者跨不同路徑對(duì)與網(wǎng)絡(luò)服務(wù)相關(guān)聯(lián)的客戶業(yè)務(wù)進(jìn)行負(fù)載均衡。
8、本公開的技術(shù)可以對(duì)具有實(shí)際應(yīng)用的計(jì)算機(jī)網(wǎng)絡(luò)和路徑選擇的計(jì)算機(jī)相關(guān)領(lǐng)域提供具體的改進(jìn)。例如,本公開的技術(shù)可以使路由器能夠監(jiān)測會(huì)話的狀態(tài)以確定會(huì)話是否已被建立,并且生成與會(huì)話是否已被建立有關(guān)的度量。與可能僅能夠在鏈路、網(wǎng)絡(luò)或傳輸級(jí)別(例如,osi參考模型第2、3或4層)執(zhí)行路徑選擇和路由的其他路由器不同,本文描述的路由器可以使用這樣的度量來在會(huì)話級(jí)別(例如,osi參考模型第5層)執(zhí)行路徑選擇和路由。因此,這樣的路由器可以在網(wǎng)絡(luò)內(nèi)提供對(duì)客戶業(yè)務(wù)的更有效且更細(xì)粒度的路由。
9、此外,本文描述的路由器可以使用會(huì)話建立度量來確定會(huì)話是否滿足sla要求,并且作為響應(yīng),選擇不同的路徑或接口用于傳輸與該會(huì)話相關(guān)聯(lián)的網(wǎng)絡(luò)業(yè)務(wù),以便確保符合sla。因此,即使在鏈路、網(wǎng)絡(luò)或傳輸級(jí)別(例如,osi參考模型第2、3或4層),接口或路徑不存在問題的情況下,本文描述的這種路由器也可以在會(huì)話級(jí)別(例如,osi參考模型第5層)檢測網(wǎng)絡(luò)問題,并且執(zhí)行動(dòng)作以確保符合會(huì)話級(jí)別sla要求。
10、此外,本公開的技術(shù)可以使本文描述的路由器能夠從使用第一接口或路徑來轉(zhuǎn)發(fā)與性能不佳的會(huì)話相關(guān)聯(lián)的網(wǎng)絡(luò)業(yè)務(wù)切換到使用第二接口或路徑來轉(zhuǎn)發(fā)與性能不佳的會(huì)話相關(guān)聯(lián)的網(wǎng)絡(luò)業(yè)務(wù),而無需拆除第一路徑或停用第一接口。因此,本公開的技術(shù)可以使路由器能夠重新路由性能不佳的會(huì)話的業(yè)務(wù),而不會(huì)不利地影響根據(jù)sla要求執(zhí)行但例如與性能不佳的會(huì)話共享路徑或者使用與性能不佳的會(huì)話相同的接口的其他會(huì)話。因此,本文描述的路由器可以在可能需要拆除路徑或停用與性能不佳的會(huì)話相關(guān)聯(lián)的接口的其他路由器上提供客戶業(yè)務(wù)的更細(xì)粒度且更有效的路由。
11、在一個(gè)示例中,本公開描述了一種方法,該方法包括:由網(wǎng)絡(luò)的多個(gè)路由器中的第一路由器,接收所述客戶端設(shè)備和所述網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話的一個(gè)或多個(gè)會(huì)話性能要求,所述網(wǎng)絡(luò)將所述客戶端設(shè)備連接到由服務(wù)器托管的所述網(wǎng)絡(luò)服務(wù)實(shí)例,所述會(huì)話包括正向分組流和反向分組流,其中所述第一路由器經(jīng)由所述網(wǎng)絡(luò)上的第一路徑和所述網(wǎng)絡(luò)上的第二路徑被連接到所述網(wǎng)絡(luò)服務(wù)實(shí)例,所述第二路徑不同于所述第一路徑;由所述第一路由器并且沿著所述第一路徑,轉(zhuǎn)發(fā)所述客戶端設(shè)備和所述網(wǎng)絡(luò)服務(wù)實(shí)例之間的所述會(huì)話的網(wǎng)絡(luò)業(yè)務(wù),所述轉(zhuǎn)發(fā)包括修改所述會(huì)話的所述正向分組流和所述反向分組流中的至少一個(gè)的第一分組以包括:包括沿著所述第一路徑的所述多個(gè)路由器中的所述第一路由器的源地址和第二路由器的目的地地址的報(bào)頭;以及指定所述會(huì)話的會(huì)話標(biāo)識(shí)符的元數(shù)據(jù)的部分;由所述第一路由器獲取所述會(huì)話的一個(gè)或多個(gè)會(huì)話建立度量;由所述第一路由器確定所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話建立度量不滿足所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話性能要求;以及響應(yīng)于確定所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話建立度量不滿足所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話性能要求,由所述第一路由器并且沿著所述第二路徑,轉(zhuǎn)發(fā)所述客戶端設(shè)備和所述網(wǎng)絡(luò)服務(wù)實(shí)例之間的所述會(huì)話的所述網(wǎng)絡(luò)業(yè)務(wù),所述轉(zhuǎn)發(fā)包括修改所述會(huì)話的所述正向分組流和所述反向分組流中的至少一個(gè)的第二分組以包括:包括沿著所述第二路徑的所述多個(gè)路由器中的所述第一路由器的源地址和第三路由器的目的地地址的報(bào)頭;以及指定所述會(huì)話的所述會(huì)話標(biāo)識(shí)符元數(shù)據(jù)的所述部分。
12、在另一示例中,本公開描述了網(wǎng)絡(luò)的多個(gè)路由器中的第一路由器,該第一路由器包括:處理電路裝置;以及存儲(chǔ)器,該存儲(chǔ)器可操作地被耦合到所述處理電路裝置,并且包括指令,所述指令被配置為使所述處理電路裝置:接收客戶端設(shè)備和服務(wù)器托管的網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話的一個(gè)或多個(gè)會(huì)話性能要求,所述會(huì)話包括正向分組流和反向分組流,其中所述第一路由器經(jīng)由所述網(wǎng)絡(luò)上的第一路徑和所述網(wǎng)絡(luò)上的第二路徑被連接到所述網(wǎng)絡(luò)服務(wù)實(shí)例,所述第二路徑不同于所述第一路徑,并且其中所述網(wǎng)絡(luò)將所述客戶端設(shè)備連接到所述網(wǎng)絡(luò)服務(wù)實(shí)例;沿著所述第一路徑,轉(zhuǎn)發(fā)所述客戶端設(shè)備和所述網(wǎng)絡(luò)服務(wù)實(shí)例之間的所述會(huì)話的網(wǎng)絡(luò)業(yè)務(wù),所述轉(zhuǎn)發(fā)包括修改所述會(huì)話的所述正向分組流和所述反向分組流中的至少一個(gè)的第一分組以包括:包括沿著所述第一路徑的所述多個(gè)路由器中的所述第一路由器的源地址和第二路由器的目的地地址的報(bào)頭;以及指定所述會(huì)話的會(huì)話標(biāo)識(shí)符的元數(shù)據(jù)的部分;由所述第一路由器獲取所述會(huì)話的一個(gè)或多個(gè)會(huì)話建立度量;確定所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話建立度量不滿足所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話性能要求;以及響應(yīng)于確定所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話建立度量不滿足所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話性能要求,沿著所述第二路徑,轉(zhuǎn)發(fā)所述客戶端設(shè)備和所述網(wǎng)絡(luò)服務(wù)實(shí)例之間的所述會(huì)話的所述網(wǎng)絡(luò)業(yè)務(wù),所述轉(zhuǎn)發(fā)包括修改所述會(huì)話的所述正向分組流和所述反向分組流中的至少一個(gè)的第二分組以包括:包括沿著所述第二路徑的所述多個(gè)路由器中的所述第一路由器的源地址和第三路由器的目的地地址的報(bào)頭;以及指定所述會(huì)話的所述會(huì)話標(biāo)識(shí)符元數(shù)據(jù)的所述部分。
13、在另一示例中,本公開描述了一種包括指令的非暫態(tài)計(jì)算機(jī)可讀介質(zhì),所述指令當(dāng)被執(zhí)行時(shí),被配置為使網(wǎng)絡(luò)的多個(gè)路由器中的第一路由器的處理電路裝置:接收客戶端設(shè)備和服務(wù)器托管的網(wǎng)絡(luò)服務(wù)實(shí)例之間的會(huì)話的一個(gè)或多個(gè)會(huì)話性能要求,所述會(huì)話包括正向分組流和反向分組流,其中所述第一路由器經(jīng)由所述網(wǎng)絡(luò)上的第一路徑和所述網(wǎng)絡(luò)上的第二路徑被連接到所述網(wǎng)絡(luò)服務(wù)實(shí)例,所述第二路徑不同于所述第一路徑,并且其中所述網(wǎng)絡(luò)將所述客戶端設(shè)備連接到所述網(wǎng)絡(luò)服務(wù)實(shí)例;沿著所述第一路徑,轉(zhuǎn)發(fā)所述客戶端設(shè)備和所述網(wǎng)絡(luò)服務(wù)實(shí)例之間的所述會(huì)話的網(wǎng)絡(luò)業(yè)務(wù),所述轉(zhuǎn)發(fā)包括修改所述會(huì)話的所述正向分組流和所述反向分組流中的至少一個(gè)的第一分組以包括:包括沿著所述第一路徑的所述多個(gè)路由器中的所述第一路由器的源地址和第二路由器的目的地地址的報(bào)頭;以及指定所述會(huì)話的會(huì)話標(biāo)識(shí)符的元數(shù)據(jù)的部分;由所述第一路由器獲取所述會(huì)話的一個(gè)或多個(gè)會(huì)話建立度量;確定所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話建立度量不滿足所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話性能要求;以及響應(yīng)于確定所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話建立度量不滿足所述會(huì)話的所述一個(gè)或多個(gè)會(huì)話性能要求,沿著所述第二路徑,轉(zhuǎn)發(fā)所述客戶端設(shè)備和所述網(wǎng)絡(luò)服務(wù)實(shí)例之間的所述會(huì)話的所述網(wǎng)絡(luò)業(yè)務(wù),所述轉(zhuǎn)發(fā)包括修改所述會(huì)話的所述正向分組流和所述反向分組流中的至少一個(gè)的第二分組以包括:包括沿著所述第二路徑的所述多個(gè)路由器中的所述第一路由器的源地址和第三路由器的目的地地址的報(bào)頭;以及指定所述會(huì)話的所述會(huì)話標(biāo)識(shí)符元數(shù)據(jù)的所述部分。
14、本公開的技術(shù)的一個(gè)或多個(gè)示例的細(xì)節(jié)在附圖和下面的描述中闡述。本技術(shù)的其他特征、目的和優(yōu)點(diǎn)將從說明書和附圖中以及從權(quán)利要求書中顯而易見。