Si e depërtuam Firewallin e Madh të Kinës (Pjesa 3)

Привет!
Të gjitha historitë e mira marrin fund. Dhe historia jonë se si dolëm me një zgjidhje për të kaluar shpejt Firewall-in kinez nuk bën përjashtim. Prandaj, nxitoj të ndaj me ju këtë të fundit, pjesa e fundit në këtë temë.

Në pjesën e mëparshme folëm për shumë stola testimi që kemi dalë dhe çfarë rezultatesh kanë dhënë. Dhe vendosëm se çfarë do të ishte mirë të shtonim CDN! për viskozitetin në skemën tonë.

Unë do t'ju tregoj se si testuam Alibaba Cloud CDN, Tencent Cloud CDN dhe Akamai, dhe me çfarë përfunduam. Dhe sigurisht, le të përmbledhim.

Si e depërtuam Firewallin e Madh të Kinës (Pjesa 3)

Alibaba Cloud CDN

Jemi pritur në Alibaba Cloud dhe përdorim IPSEC dhe CEN prej tyre. Do të ishte logjike që së pari të provoni zgjidhjet e tyre.

Alibaba Cloud ka dy lloje produktesh që mund të na përshtaten: CDN и DCDN. Opsioni i parë është një CDN klasik për një domen specifik (nëndomain). Opsioni i dytë qëndron për Rruga dinamike për CDN (Unë e quaj atë CDN dinamike), mund të aktivizohet në modalitetin Full-site (për domenet e karakterit të egër), gjithashtu ruan përmbajtjen statike dhe përshpejton përmbajtjen dinamike në vetvete, domethënë dinamika e faqes do të ngarkohet gjithashtu përmes ofruesit rrjete të shpejta. Kjo është e rëndësishme për ne, sepse në thelb faqja jonë është dinamike, përdor shumë nëndomanë dhe është më e përshtatshme të vendosni një CDN një herë për "yll" - *.semrushchina.cn.

Ne e kishim parë tashmë këtë produkt në fazat e hershme të projektit tonë kinez, por më pas ai nuk po funksiononte ende dhe zhvilluesit premtuan se produkti së shpejti do të bëhej i disponueshëm për të gjithë klientët. Dhe ai bëri.

Në DCDN mund të:

  • konfiguroni përfundimin SSL me certifikatën tuaj,
  • mundësojnë përshpejtimin e përmbajtjes dinamike,
  • konfiguroni në mënyrë fleksibël ruajtjen e skedarëve statikë,
  • pastroni cache-in,
  • prizat e internetit përpara,
  • aktivizoni kompresimin dhe madje edhe Zbukuruesin HTML.

Në përgjithësi, gjithçka është e njëjtë si me të rriturit dhe ofruesit e mëdhenj të CDN.

Pasi të specifikohet Origjina (vendi ku do të shkojnë serverët e skajit CDN), mbetet vetëm krijimi i një CNAME për yll, duke iu referuar all.semrushchina.cn.w.kunluncan.com (kjo CNAME u mor në tastierën Alibaba Cloud) dhe CDN do të funksionojë.

Bazuar në rezultatet e testit, kjo CDN na ndihmoi shumë. Statistikat janë paraqitur më poshtë.

vendim
Uptime
mesatare
75 Përqindja
95 Përqindja

CloudFlare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

CE
99.75
16s
21s
27s

CEN/IPsec + GLB
99.79
13s
16s
25s

Ali CDN + CEN/IPsec + GLB
99.75
10s
12.8s
17.3s

Këto janë rezultate shumë të mira, veçanërisht nëse i krahasoni me numrat që ishin në fillim. Por ne e dinim që testi i shfletuesit të versionit amerikan të faqes sonë të internetit www.semrush.com shkon nga SHBA në një mesatare prej 8.3 sekondash (një vlerë shumë e përafërt). Ka vend për përmirësim. Për më tepër, kishte edhe ofrues CDN që ishin interesante për t'u testuar.

Kështu që ne kalojmë pa probleme në një gjigant tjetër në tregun kinez - Tencent.

Re Tencent

Tencent sapo po zhvillon renë e saj - kjo mund të shihet nga një numër i vogël produktesh. Gjatë përdorimit të tij, ne donim të testonim jo vetëm CDN-në e tyre, por edhe infrastrukturën e tyre të rrjetit në tërësi:

  • a kanë diçka të ngjashme me CEN?
  • Si funksionon IPSEC për ta? A është i shpejtë, sa është koha e funksionimit?
  • a kane ata Anycast?

Si e depërtuam Firewallin e Madh të Kinës (Pjesa 3)

Le t'i shikojmë këto pyetje veç e veç.

Analoge CEN

Tencent ka një produkt Rrjeti i lidhjes me renë kompjuterike (CCN), duke ju lejuar të lidhni VPC nga rajone të ndryshme, duke përfshirë rajone brenda dhe jashtë Kinës. Produkti është tani në beta të brendshme dhe ju duhet të krijoni një biletë që kërkon të lidhet me të. Nga mbështetja mësuam se llogaritë globale (nuk po flasim për shtetas kinezë ose persona juridikë) nuk mund të marrin pjesë në programin e testimit beta dhe, në përgjithësi, të lidhin një rajon brenda Kinës me një rajon jashtë. 1-0 në favor të Ali Cloud

IPSEC

Rajoni më jugor i Tencent është Guangzhou. Ne montuam një tunel dhe e lidhëm me rajonin e Hong Kongut në GCP (atëherë ky rajon ishte bërë tashmë i disponueshëm). Në të njëjtën kohë u ngrit edhe tuneli i dytë në Ali Cloud nga Shenzhen në Hong Kong. Doli që përmes rrjetit Tencent vonesa në Hong Kong është përgjithësisht më e mirë (10 ms) sesa nga Shenzhen në Hong Kong në Ali (120 ms - çfarë?). Por kjo nuk e përshpejtoi në asnjë mënyrë punën e faqes që synonte të punonte përmes Tencent dhe këtij tuneli, i cili në vetvete ishte një fakt mahnitës dhe vërtetoi edhe një herë sa vijon: latente - për Kinën ky nuk është një tregues që ia vlen vërtet duke i kushtuar vëmendje kur zhvilloni një zgjidhje për kalimin e murit të zjarrit kinez.

Përshpejtimi i Internetit Anycast

Një tjetër produkt që ju lejon të punoni përmes anycast IP është AIA. Por nuk është gjithashtu i disponueshëm për llogaritë globale, kështu që nuk do t'ju tregoj për të, por të dish që një produkt i tillë ekziston mund të jetë i dobishëm.

Por testi CDN tregoi disa rezultate mjaft interesante. CDN e Tencent nuk mund të aktivizohet në një faqe të plotë, vetëm në domene specifike. Ne krijuam domene dhe dërguam trafik tek ata:

Si e depërtuam Firewallin e Madh të Kinës (Pjesa 3)

Doli se kjo CDN ka funksionin e mëposhtëm: Optimizimi i trafikut ndërkufitar. Ky funksion duhet të zvogëlojë kostot kur trafiku kalon përmes murit të zjarrit kinez. Si Origjinë U specifikua adresa IP e Google GLB (GLB anycast). Kështu, ne donim të thjeshtonim arkitekturën e projektit.

Rezultatet ishin shumë të mira - në nivelin e Ali Cloud CDN, dhe në disa vende edhe më të mira. Kjo është befasuese, sepse nëse testet janë të suksesshme, mund të braktisni një pjesë të konsiderueshme të infrastrukturës, tuneleve, CEN, makinave virtuale, etj.

Nuk u gëzuam për shumë kohë, pasi u zbulua një problem: testet në Catchpoint dështuan për ofruesin e internetit China Mobile. Nga çdo vend, ne morëm një afat kohor nëpërmjet CDN-së së Tencent. Korrespondenca me mbështetjen teknike nuk çoi në asgjë. Ne u përpoqëm ta zgjidhnim këtë problem për rreth një ditë, por asgjë nuk funksionoi.

Unë isha në Kinë në atë moment, por nuk gjeta Wi-Fi publik në rrjetin e këtij ofruesi për të verifikuar personalisht problemin. Përndryshe, gjithçka dukej shpejt dhe mirë.
Megjithatë, për faktin se China Mobile është një nga tre operatorët më të mëdhenj, ne u detyruam të kthenim trafikun në Ali CDN.
Por në përgjithësi, kjo ishte një zgjidhje mjaft interesante që meriton testim dhe zgjidhje më të gjatë të këtij problemi.

Akamai

Ofruesi i fundit CDN që testuam ishte Akamai. Ky është një ofrues i madh që ka rrjetin e tij në Kinë. Sigurisht, ne nuk mund ta kalonim atë.

Si e depërtuam Firewallin e Madh të Kinës (Pjesa 3)

Që në fillim, ne ramë dakord me Akamai për një periudhë prove, në mënyrë që të mund të ndërronim domenin dhe të shihnim se si do të funksiononte në rrjetin e tyre. Unë do të përshkruaj rezultatin e të gjithë testimit në formën e "Ajo që më pëlqeu" dhe "Ajo që nuk më pëlqeu", dhe gjithashtu do të jap rezultatet e testit.

Ajo që më pëlqeu:

  • Djemtë nga Akamai ishin shumë të dobishëm në të gjitha pyetjet dhe na shoqëruan në të gjitha fazat e testimit. Ne vazhdimisht përpiqeshim të përmirësonim diçka nga ana jonë. Ata dhanë këshilla të mira teknike.
  • Akamai është rreth 10-15% më i ngadalshëm se zgjidhja jonë përmes Ali Cloud CDN. Ajo që është mbresëlënëse është se në Origin për Akamai ne specifikuam adresën IP të GLB, që do të thotë se trafiku nuk kaloi përmes zgjidhjes sonë (potencialisht mund të braktisim një pjesë të infrastrukturës). Por megjithatë, rezultatet e testimit treguan se kjo zgjidhje është më e keqe se versioni ynë aktual (rezultatet krahasuese më poshtë).
  • Testuar si Origjina GLB ashtu edhe Origjina në Kinë. Të dy opsionet janë afërsisht të njëjta.
  • Ka Rrugë e sigurt (optimizimi automatik i rrugëzimit). Ju mund të organizoni një objekt testimi në Origin dhe serverët Akamai Edge do të përpiqen ta marrin atë (GET i rregullt). Për këto kërkesa, matet shpejtësia dhe metrika të tjera, në bazë të të cilave rrjeti Akamai optimizon rrugët në mënyrë që trafiku të shkojë më shpejt për faqen tonë dhe ishte e qartë se aktivizimi i kësaj veçorie kishte vërtet një ndikim të fortë në shpejtësinë e faqes.
  • Versionimi i konfigurimit në ndërfaqen e internetit është i lezetshëm. Mund të bëni Krahasoni për versionet, shikoni ndryshimin. Shikoni versionet e mëparshme.
  • Mund të lëshoni një version të ri fillimisht vetëm në rrjetin Akamai Staging - i njëjti rrjet si prodhimi, vetëm në këtë mënyrë nuk do të ndikojë tek përdoruesit e vërtetë. Për këtë test, ju duhet të mashtroni të dhënat DNS në kompjuterin tuaj lokal.
  • Shpejtësi shumë e shpejtë e shkarkimit përmes rrjetit të tyre për skedarë të mëdhenj statikë dhe, me sa duket, çdo skedar tjetër. Një skedar nga cache "i ftohtë" merret shumë herë më shpejt se i njëjti skedar nga cache "i ftohtë" i Ali CDN. Nga cache "e nxehtë", shpejtësia është tashmë e njëjtë, plus ose minus.

Testi Ali CDN:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://en.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0   513k      0 --:--:--  0:00:11 --:--:--  526k
time_namelookup:  0.004286
time_connect:  0.030107
time_appconnect:  0.117525
time_pretransfer:  0.117606
time_redirect:  0.000000
time_starttransfer:  0.840348
----------
time_total:  11.208119
----------
size_download:  5895467 Bytes
speed_download:  525999.000B/s

Testi Akamai:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://www.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0  1824k      0 --:--:--  0:00:03 --:--:-- 1825k
time_namelookup:  0.509005
time_connect:  0.528261
time_appconnect:  0.577235
time_pretransfer:  0.577324
time_redirect:  0.000000
time_starttransfer:  1.327013
----------
time_total:  3.154850
----------
size_download:  5895467 Bytes
speed_download:  1868699.000B/s

Vëmë re se situata në shembullin e mësipërm varet nga faktorë të ndryshëm. Në kohën e shkrimit të kësaj pike, bëra përsëri testin. Rezultatet për të dyja platformat ishin afërsisht të njëjta. Kjo na tregon se interneti në Kinë, edhe për operatorët e mëdhenj dhe ofruesit e cloud, sillet ndryshe herë pas here.

Në pikën e mëparshme, unë do të shtoj një plus të madh për Akamai: nëse Ali shfaq ndezje të ngjashme me performancë të lartë dhe performancë shumë të ulët (kjo vlen për Ali CDN, Ali CEN dhe Ali IPSEC), atëherë Akamai, çdo herë, pa marrë parasysh si e testoj rrjetin e tyre, gjithçka funksionon në mënyrë të qëndrueshme.
Akamai ka shumë mbulim në Kinë dhe funksionon përmes shumë ofruesve.

Ajo që nuk më pëlqeu:

  • Nuk më pëlqen ndërfaqja e uebit dhe mënyra se si funksionon - është kaq e dobët. Por në thelb ju mësoheni me të (ndoshta).
  • Rezultatet e testimit janë më të këqija se faqja jonë.
  • Ka më shumë gabime gjatë testeve sesa në faqen tonë (koha e funksionimit më poshtë).
  • Ne nuk kemi serverët tanë DNS në Kinë. Prandaj ka shumë gabime në teste për shkak të skadimit të zgjidhjes së DNS.
  • Ata nuk ofrojnë diapazonin e tyre të IP -> nuk ka asnjë mënyrë për të regjistruar ato të sakta vendosur_ip_real_nga në serverët tanë.

Metrikë (~3626 ekzekutime; të gjitha metrikat përveç kohës së funksionimit, në ms; statistika për një periudhë kohore):

Ofruesi CDN
mesatare
75%
95%
Përgjigje
Përgjigja e faqes në internet
Uptime
DNS
Lidh
Prit
Ngarkesë
SSL

AliCDN
9195
10749
17489
1,715
10,745
99.531
57
17
927
479
200

Akamai
9783
11887
19888
2,352
11,550
98.980
424
91
1408
381
50

Shpërndarja sipas përqindjes (në ms):

përqindësh
Akamai
AliCDN

10
7,092
6,942

20
7,775
7,583

30
8,446
8,092

40
9,146
8,596

50
9,783
9,195

60
10,497
9,770

70
11,371
10,383

80
12,670
11,255

90
15,882
13,165

100
91,592
91,596

Përfundimi është ky: opsioni Akamai është i zbatueshëm, por nuk ofron të njëjtën stabilitet dhe shpejtësi si zgjidhja jonë e shoqëruar me Ali CDN.

Shënime të vogla

Disa momente nuk u përfshinë në histori, por do të doja të shkruaja edhe për to.

Pekin + Tokio dhe Hong Kong

Siç thashë më lart, ne testuam një tunel IPSEC në Hong Kong (HK). Por ne gjithashtu testuam CEN në HK. Kushton pak më pak, dhe po pyesja veten se si do të funksiononte midis qyteteve me një distancë prej ~100 km. Doli të ishte interesante që vonesa midis këtyre qyteteve është 100ms më e lartë se në versionin tonë origjinal (në Tajvan). Shpejtësia, stabiliteti ishin gjithashtu më të mira për Tajvanin. Si rezultat, ne u larguam nga HK si një rajon rezervë IPSEC.

Përveç kësaj, ne u përpoqëm të instalonim instalimin e mëposhtëm:

  • përfundimi i klientëve në Pekin,
  • IPSEC dhe CEN në Tokio,
  • në Ali CDN serveri në Pekin u tregua si origjina.

Kjo skemë nuk ishte aq e qëndrueshme, megjithëse për nga shpejtësia në përgjithësi nuk ishte inferiore ndaj zgjidhjes sonë. Përsa i përket tunelit, kam parë rënie të herëpashershme edhe për CEN, i cili duhet të ishte i qëndrueshëm. Ndaj iu kthyem skemës së vjetër dhe e çmontuam këtë inskenim.

Më poshtë janë statistikat mbi vonesën midis rajoneve të ndryshme për kanale të ndryshme. Ndoshta dikush do të jetë i interesuar për të.

IPsec
Ali cn-pekin <—> GCP azia-verilindore1 — 193ms
Ali cn-shenzhen <—> GCP azia-lindje2 — 91 ms
Ali cn-shenzhen <—> GCP us-east4 — 200ms

CE
Ali cn-pekin <—> Ali ap-verilindor-1 — 54ms (!)
Ali cn-shenzhen <—> Ali cn-hongkong — 6ms (!)
Ali cn-shenzhen <—> Ali us-lindje1 — 216ms

Informacione të përgjithshme rreth internetit në Kinë

Si një shtesë e problemeve me internetin e përshkruar në fillim, në pjesën e parë të artikullit.

  • Interneti në Kinë është mjaft i shpejtë brenda.
    • Përfundimi është bërë në bazë të testimit të rrjeteve publike Wi-Fi në vende të ndryshme ku këto rrjete përdoren nga një numër i madh njerëzish.
    • Shpejtësia e shkarkimit dhe ngarkimit në serverët brenda Kinës ishte përkatësisht rreth 20 Mbit/s dhe 5-10 Mbit/s.
    • Shpejtësia për serverët jashtë Kinës është thjesht e pakët, më pak se 1 Mbit/s.
  • Interneti në Kinë nuk është shumë i qëndrueshëm.
    • Ndonjëherë faqet mund të hapen shpejt, ndonjëherë ngadalë (në të njëjtën kohë të ditës në ditë të ndryshme), me kusht që konfigurimi të mos ndryshojë. Këtë e vëzhguam me shembullin e semrushchina.cn. Kjo mund t'i atribuohet Ali CDN, i cili gjithashtu funksionon në këtë mënyrë dhe në varësi të orës së ditës, pozicionit të yjeve, etj.
  • Interneti celular është pothuajse kudo 4G ose 4G+. Kapeni në metro, ashensorë - me pak fjalë, kudo.
  • Është një mit që përdoruesit kinezë u besojnë domeneve vetëm në zonën .cn. Këtë e mësuam drejtpërdrejt nga përdoruesit.
    • Ju mund të shihni se si http://baidu.cn ridrejtoni në www.baidu.com (edhe në Kinën kontinentale).
  • Shumë burime janë vërtet të bllokuara. Primitive: google.com, Facebook, Twitter. Por shumë burime të Google funksionojnë (natyrisht, jo në të gjitha Wi-Fi dhe VPN nuk përdoret (edhe në anën e ruterit, kjo është e sigurt).
  • Shumë fusha "teknike" të korporatave të bllokuara po funksionojnë gjithashtu. Kjo do të thotë që ju nuk duhet të hiqni gjithmonë në mënyrë të pamatur të gjithë Google dhe burimet e tjera të bllokuara në dukje. Ju duhet të kërkoni një listë të domeneve të ndaluara.
  • Ata kanë vetëm tre operatorë kryesorë të internetit: China Unicom, China Telecom, China Mobile. Ka edhe më të vogla, por pjesa e tyre e tregut është e parëndësishme

Bonus: diagrami i zgjidhjes përfundimtare

Si e depërtuam Firewallin e Madh të Kinës (Pjesa 3)

Total

Ka kaluar një vit nga fillimi i projektit. Ne filluam me faktin se faqja jonë në përgjithësi refuzoi të punonte normalisht nga Kina, dhe thjesht GET curl mori 5.5 sekonda.

Pastaj, me këta tregues në zgjidhjen e parë (Cloudflare):

vendim
Uptime
mesatare
75 Përqindja
95 Përqindja

CloudFlare
86.6
18s
30s
60s

Më në fund arritëm rezultatet e mëposhtme (statistikat për muajin e fundit):

vendim
Uptime
mesatare
75 Përqindja
95 Përqindja

Ali CDN + CEN/IPsec + GLB
99.86
8.8s
9.5s
13.7s

Siç mund ta shihni, ne ende nuk kemi arritur të arrijmë 100% kohë, por do të dalim me diçka, dhe më pas do t'ju tregojmë për rezultatet në një artikull të ri :)

Respekt per ata qe i lexuan te tre pjeset deri ne fund. Shpresoj t'i keni gjetur të gjitha këto po aq interesante sa unë kur e bëra.

PS Pjesët e mëparshme

Pjesë 1
Pjesë 2

Burimi: www.habr.com

Shto një koment