CDN網(wǎng)絡(luò)加速與SSL加速
據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心于2022年8月31日發(fā)布的第50次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示,截至到2022年6月,我國網(wǎng)民規(guī)模為10.51億,互聯(lián)網(wǎng)普及率達(dá)74.4%。在網(wǎng)絡(luò)基礎(chǔ)資源方面,我國域名總數(shù)為3380萬個(gè),“.CN”域名數(shù)為1786萬個(gè),IPv6地址數(shù)量為63079塊/32,較2021年12月增長0.04%;在信息基礎(chǔ)設(shè)施建設(shè)方面,截至2022年6月,我國千兆光網(wǎng)具備覆蓋超過4億戶家庭的能力,已累計(jì)建成開通5G基站185.4萬個(gè)。由此可見,我國目前的網(wǎng)絡(luò)規(guī)模十分巨大,各類網(wǎng)站多如繁星,因此,如今人們對于網(wǎng)絡(luò)的瀏覽速度和信息安全都提出了更高的要求。網(wǎng)絡(luò)加速的需求量巨大,下面就有筆者來為各位讀者介紹兩種網(wǎng)絡(luò)加速和確保網(wǎng)絡(luò)安全的常用手段。
本文引用地址:http://m.butianyuan.cn/article/202210/439759.htm
CDN網(wǎng)絡(luò)加速
隨著網(wǎng)絡(luò)建設(shè)的愈加完善,目前網(wǎng)站的豐富程度也已經(jīng)不能和早年同日而語,不同于早期的撥號上網(wǎng)時(shí)代,在如今這個(gè)全民光纖上網(wǎng)的高速時(shí)代,人們對于不同的網(wǎng)站的加載速度都提出了更高的要求,為了解決人們對各式各樣的網(wǎng)絡(luò)加載流暢性的需求,網(wǎng)絡(luò)工程師們便提出了一種用存儲空間換取網(wǎng)站讀取時(shí)間的解決方案,這便是CDN網(wǎng)絡(luò)加速。
CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。其基本思路是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母?、更穩(wěn)定。簡單的來說,就是把原服務(wù)器上數(shù)據(jù)復(fù)制到其他服務(wù)器上,用戶訪問時(shí),那臺服務(wù)器近訪問到的就是那臺服務(wù)器上的數(shù)據(jù)。
要想了解CDN的工作優(yōu)勢,我們先要了解一下沒有引入CDN網(wǎng)絡(luò)加速時(shí)本地于服務(wù)器端的訪問模式。在傳統(tǒng)的網(wǎng)絡(luò)訪問中,我們首先會使用瀏覽器來訪問對應(yīng)網(wǎng)站域名,這時(shí),我們會先訪問域名服務(wù)器也就是DNS服務(wù)器,DNS會先將我們輸入的域名解析,引導(dǎo)我們找到對應(yīng)源服務(wù)器的IP地址,這時(shí)瀏覽器便會從源服務(wù)器中渲染相應(yīng)的內(nèi)容,將信息反應(yīng)到我們的顯示器中。這種傳統(tǒng)模式存在兩個(gè)顯而易見的問題:
第一,服務(wù)器一定存在一個(gè)物理上的地理位置。也就是說,如果源服務(wù)器本身硬件地理上位于內(nèi)蒙古,而我的訪問位置在海南的話,訪問時(shí)間一定比源服務(wù)器就在海南的訪問速度要慢上不少。不僅如此,假設(shè)同時(shí)有很多個(gè)設(shè)備同時(shí)請求,帶寬有限的情況下,即使離服務(wù)器很近,那請求時(shí)間也會被拉長。
第二,如果源服務(wù)器宕機(jī),那么對于所有的訪問請求來說,都將無法響應(yīng),這是一場巨大的災(zāi)難,如果這是一家小公司,沒有配置運(yùn)維人員,那很有可能造成巨大的損失。
為了解決上述兩點(diǎn)致命問題,CDN內(nèi)容分發(fā)網(wǎng)絡(luò)應(yīng)運(yùn)而生。為了方便各位理解,我們不妨想象一下這樣一種場景:數(shù)十年前,快遞業(yè)務(wù)還不發(fā)達(dá)之時(shí),一份快遞往往要耗費(fèi)3-7天才能送達(dá),除了交通和路網(wǎng)覆蓋的問題之外,這還有一個(gè)主要原因是商家只有一個(gè)倉庫,這就意味著,無論你住在哪里,商家只能從商家所在地發(fā)貨;而后來,商家在全國各地建立了區(qū)域式的倉庫,提前把一部分商品貨物存入,這樣貨物就會從距離下單地最近的倉庫發(fā)貨,這時(shí)快遞的平均耗時(shí)大大降低了,一般都可以做到3天左右;而如今,有大量可以隔日送達(dá)甚至于小時(shí)送達(dá)的網(wǎng)購商家存在,這便是商家在區(qū)域式倉庫的基礎(chǔ)之上更進(jìn)了一步,建立了前置倉庫,這種倉庫很可能就建立在你的街道,甚至于小區(qū)之中,所以可以做到下單、送達(dá)急速完成。讀到這里的各位有沒有一種恍然大悟的感覺?沒錯(cuò),所謂的CDN網(wǎng)絡(luò)加速就是類似于網(wǎng)絡(luò)中的前置倉庫。
在加入了CDN網(wǎng)絡(luò)加速后,在域名被DNS服務(wù)器解析之后,會指向一個(gè)CDN專用的DNS服務(wù)器之中,而這個(gè)服務(wù)器會給瀏覽器返回一個(gè)CDN負(fù)載均衡服務(wù)器的ip地址,你的設(shè)備就會去訪問這個(gè)CDN負(fù)載均衡服務(wù)器,而負(fù)載均衡服務(wù)器顧名思義,它會自動分配一個(gè)適合你設(shè)備的CDN服務(wù)器的ip地址,分配的標(biāo)準(zhǔn)可能是地理距離、也可能是訪問人數(shù)較少線路空閑的服務(wù)器。這時(shí)你的設(shè)備就會向這個(gè)CDN服務(wù)器請求響應(yīng)的網(wǎng)站數(shù)據(jù)/文件,從而極大加快網(wǎng)絡(luò)速度。
但是,這之中也有一個(gè)問題,要是那個(gè)適合你的CDN服務(wù)器中,沒有你所需要的文件緩存那該如何呢?其實(shí),在源網(wǎng)站服務(wù)器開通CDN服務(wù)時(shí),它的ip地址會被存到CDN服務(wù)器中。一旦被請求的CDN服務(wù)器發(fā)現(xiàn)自己這里沒有相應(yīng)的文件緩存之時(shí),就會向上一級CDN服務(wù)器拉取該緩存,要是依舊沒有,就會再向上一級CDN服務(wù)器請求,最后就會到源網(wǎng)站中請求拉取。當(dāng)拉取成功之后,每一級CDN服務(wù)器都會備份一遍這個(gè)緩存,最后你所匹配到的CDN服務(wù)器就會把相應(yīng)的文件返回給你的設(shè)備。而事實(shí)上,這個(gè)CDN網(wǎng)絡(luò)之中,會用大量的用戶在發(fā)送各種各樣的請求,CDN網(wǎng)絡(luò)中都會用備份緩存。所以CDN中沒有緩存相應(yīng)文件的概率是很低的,不用每次都會向上一級拉取。這便是CDN服務(wù)器的工作原理了。CDN的引入極大的加快了用戶網(wǎng)絡(luò)的訪問速度,并且提升了網(wǎng)絡(luò)的穩(wěn)定性,當(dāng)一個(gè)CDN服務(wù)器宕機(jī),還有其他的CDN服務(wù)器作為備份,依舊可以正常訪問網(wǎng)站,不至于訪問不了網(wǎng)站。
SSL加速
通過CDN技術(shù)的大范圍使用,我們的網(wǎng)絡(luò)連接速度提高了,但是連接的安全性、隱私性就顯得格外重要。為了解決網(wǎng)絡(luò)訪問的安全性,SSL加密誕生了。SSL(Secure Socket Layer)安全套接層是Netscape公司率先采用的網(wǎng)絡(luò)安全協(xié)議。它是在傳輸通信協(xié)議(TCP/IP)上實(shí)現(xiàn)的一種安全協(xié)議,采用公開密鑰技術(shù)。SSL廣泛支持各種類型的網(wǎng)絡(luò),同時(shí)提供三種基本的安全服務(wù),它們都使用公開密鑰技術(shù)。因此,現(xiàn)在有大量的網(wǎng)站在采用SSL技術(shù),SSL加速就顯得十分重要?,F(xiàn)今,幾乎大部分網(wǎng)站都已經(jīng)認(rèn)證了SSL,其特征就是訪問地址由”Http”明文訪問,變成了”Https”加密訪問,確保您的網(wǎng)站傳輸數(shù)據(jù)不被泄露或篡改。
SSL加速通常指的是基于硬件的SSL實(shí)現(xiàn),利用專用硬件設(shè)備處理SSL任務(wù),具體可分為基于服務(wù)器加速板卡和基于專用加速設(shè)備兩類方法。在服務(wù)器上安裝一塊SSL加速板卡,可以有效分擔(dān)服務(wù)器CPU處理SSL事務(wù)的壓力。SSL加速板卡通常有一個(gè)或多個(gè)協(xié)處理器用于實(shí)現(xiàn)SSL計(jì)算。這些協(xié)處理器可能采用通用CPU,也可能采用定制的ASIC芯片和RISC指令集芯片。每塊加速板卡每秒至少能夠處理幾百個(gè)SSL事務(wù),當(dāng)前大多數(shù)商用Web服務(wù)器都已經(jīng)支持將SSL加解密工作卸載到這種加速板卡上。
在SSL協(xié)議之中,算力消耗最大的步驟便是握手的RSA不對稱密碼函數(shù),這一部分計(jì)算如果均由CPU計(jì)算完成,會浪費(fèi)大量的CPU資源,拖慢系統(tǒng)的吞吐量。為了解決這個(gè)問題工程師們發(fā)明了第一代SSL加速器。這些加速器試圖將SSL握手部分的負(fù)載RSA解密移出網(wǎng)絡(luò)服務(wù)器,讓控制處理器來處理余下的握手函數(shù)(用于密鑰創(chuàng)建的散列函數(shù))以及記錄層處理函數(shù)(大量的加密與認(rèn)證)。
一塊典型的一代SSL加速卡每秒能處理600個(gè)RSA解密算法。當(dāng)RSA解密被移出CPU之后,CPU就可以專心于RSA加密、TCP/IP處理和記錄層處理。但是由于CPU仍要從事大量的加密工作,第一代加速卡的加入所提高的效率非常有限,但遠(yuǎn)遠(yuǎn)好于不采用SSL加速卡的性能。
在第二代SSL加速卡中,芯片與系統(tǒng)設(shè)計(jì)工程師開始尋求用IC來實(shí)現(xiàn)SSL加速。這些通常被稱為網(wǎng)絡(luò)安全處理器的IC會卸載主處理器的握手函數(shù)(RSA解密與密鑰生成)以及記錄層的大量加密與認(rèn)證函數(shù),使CPU能騰出更多的資源來執(zhí)行包處理,從而提升系統(tǒng)總體性能。采用SSL加速器IC的優(yōu)勢在于能分擔(dān)主機(jī)上的SSL協(xié)議處理,以及提供更多RSA解密的能力。為了使這些IC能充分發(fā)揮系統(tǒng)級性能,所有SSL組件必須協(xié)同工作。為了給完整的SSL協(xié)議提供服務(wù),安全處理器芯片上需要集成多個(gè)公用組件,包括隨機(jī)數(shù)發(fā)生器、公鑰加密模塊和密碼加密/認(rèn)證模塊。
關(guān)于相關(guān)的加速設(shè)備,各位可以參考閱讀這篇文章:《Intel? QAT加速卡之性能簡介》 https://blog.csdn.net/s2603898260/article/details/107890447
評論