Tha ceudan de innealan gnìomhach aig ionadan dàta ùr-nodha air an còmhdach le diofar sheòrsaichean sgrùdaidh. Ach bidh eadhon innleadair foirfe le sgrùdadh foirfe na làimh comasach air freagairt cheart a thoirt do fhàilligeadh lìonra ann am beagan mhionaidean. Ann an aithisg aig co-labhairt Next Hop 2020, thaisbean mi dòigh-obrach dealbhaidh lìonra ionad dàta aig a bheil feart sònraichte - bidh an ionad dàta ga shlànachadh ann am milliseconds. Nas mionaidiche, bidh an innleadair gu socair a 'rèiteachadh na duilgheadas, fhad' s nach eil na seirbheisean dìreach a 'toirt fa-near dha.
Dha mòran innleadairean lìonra, bidh lìonra an ionaid dàta a’ tòiseachadh, gu dearbh, le ToR, le suidse san raca. Mar as trice tha dà sheòrsa de cheanglaichean aig ToR. Bidh an fheadhainn bheaga a’ dol gu na frithealaichean, cuid eile - tha N uair nas motha dhiubh - a’ dol a dh’ ionnsaigh na spìcean aig a’ chiad ìre, is e sin, gu na ceanglaichean suas aige. Mar as trice thathas den bheachd gu bheil ceanglaichean suas co-ionann, agus tha trafaic eadar uplinks air a chothromachadh stèidhichte air an hash 5-tuple, a tha a’ toirt a-steach proto, src_ip, dst_ip, src_port, dst_port. Chan eil iongnadh sam bith an seo.
An ath rud, cò ris a tha ailtireachd nam plèanaichean coltach? Chan eil spìcean a’ chiad ìre ceangailte ri chèile, ach tha iad ceangailte le superspins. Bidh an litir X an urra ri superspins, tha e cha mhòr mar chrois-cheangal.
Agus tha e soilleir gu bheil, air an làimh eile, tori ceangailte ris a h-uile spìcean den chiad ìre. Dè tha cudromach san dealbh seo? Ma tha eadar-obrachadh againn taobh a-staigh a 'chrann, bidh an eadar-obrachadh, gu dearbh, a' dol tro ToR. Ma thèid an eadar-obrachadh taobh a-staigh a 'mhodail, bidh an eadar-obrachadh a' dol tro spìcean na ciad ìre. Ma tha an eadar-obrachadh eadar-modular - mar a tha an seo, ToR 1 agus ToR 2 - an uairsin thèid an eadar-obrachadh tro spìcean an dà chuid aig a’ chiad agus an dàrna ìre.
Gu teòiridheach, tha ailtireachd mar seo furasta a scalladh. Ma tha comas puirt againn, tèarmann àite anns an ionad dàta agus snàithleach ro-shuidhichte, faodar an àireamh de phlèanaichean a mheudachadh an-còmhnaidh, agus mar sin a’ meudachadh comas iomlan an t-siostaim. Air pàipear, tha seo gu math furasta a dhèanamh. Bhiodh e mar sin ann am fìor bheatha. Ach chan ann mu dheidhinn sin a tha sgeulachd an latha an-diugh.
Tha mi airson gun tèid na co-dhùnaidhean ceart a tharraing. Tha mòran shlighean againn taobh a-staigh an ionad dàta. Tha iad neo-eisimeileach le cumhachan. Chan eil e comasach ach aon dòigh taobh a-staigh an ionad dàta taobh a-staigh ToR. Taobh a-staigh a 'mhodail, tha an aon àireamh de shlighean againn ris an àireamh de phlèanaichean. Tha an àireamh de shlighean eadar modalan co-ionann ri toradh an àireamh de phlèanaichean agus an àireamh de superspins anns gach plèana. Gus a dhèanamh nas soilleire, a bhith a 'faireachdainn an sgèile, bheir mi na h-àireamhan a tha dligheach airson aon de na h-ionadan dàta Yandex.
Tha ochd plèanaichean ann, tha 32 superspins aig gach plèana. Mar thoradh air an sin, tha e a 'tionndadh a-mach gu bheil ochd slighean taobh a-staigh a' mhodail, agus le eadar-obrachadh eadar-mhodal tha 256 dhiubh mar-thà.
Is e sin, ma tha sinn a’ leasachadh Leabhar Cook, a’ feuchainn ri ionnsachadh mar a thogas sinn ionadan dàta fulangach air lochdan a shlànaicheas iad fhèin, is e ailtireachd planar an roghainn cheart. Leigidh e leat fuasgladh fhaighinn air an duilgheadas sgèileachaidh, agus gu teòiridheach tha e furasta. Tha grunn shlighean neo-eisimeileach ann. Tha a 'cheist fhathast: ciamar a tha an leithid de dh'ailtireachd a' mairsinn fàilligeadh? Tha diofar thubaistean ann. Agus bruidhnidh sinn mu dheidhinn seo a-nis.
Leig le fear de na superspins againn a bhith tinn. An seo thill mi gu ailtireachd dà itealan. Cumaidh sinn riutha mar eisimpleir oir bidh e dìreach nas fhasa faicinn dè tha dol air adhart an seo le nas lugha de phàirtean gluasadach. Leig le X11 fàs tinn. Ciamar a bheir seo buaidh air seirbheisean a tha a’ fuireach taobh a-staigh ionadan dàta? Tha tòrr an urra ri mar a tha an teip dha-rìribh a’ coimhead.
Ma tha an fàilligeadh math, tha e air a ghlacadh aig ìre fèin-ghluasaid an aon BFD, bidh fèin-ghluasad gu toilichte a ’cur duilgheadasan joints agus a’ dealachadh an duilgheadas, an uairsin tha a h-uile dad ceart gu leòr. Tha mòran shlighean againn, thèid trafaic a chuir air ais sa bhad gu slighean eile, agus chan fhaic na seirbheisean dad. Is e suidheachadh math a tha seo.
Is e droch shuidheachadh a th’ ann ma tha call cunbhalach againn, agus nach mothaich an fèin-ghluasad an duilgheadas. Gus tuigse fhaighinn air mar a bheir seo buaidh air an tagradh, feumaidh sinn beagan ùine a chaitheamh a’ beachdachadh air mar a tha protocol TCP ag obair.
Tha mi an dòchas nach cuir mi iongnadh air duine sam bith leis an fhiosrachadh seo: tha TCP na phròtacal crathadh làimhe. Is e sin, anns a 'chùis as sìmplidh, bidh an neach-cuiridh a' cur dà phacaid, agus a 'faighinn ack mean air mhean orra: "Fhuair mi dà phacaid."
Às deidh sin, cuiridh e dà phacaid eile, agus bidh an suidheachadh a-rithist. Tha mi duilich ro-làimh airson beagan sìmplidheachaidh. Tha an suidheachadh seo ceart ma tha an uinneag (àireamh pacaidean air itealaich) dà. Gu dearbh, chan eil seo riatanach san fharsaingeachd. Ach chan eil meud na h-uinneige a’ toirt buaidh air co-theacsa cur air adhart pacaid.
Dè thachras ma chailleas sinn pasgan 3? Anns a 'chùis seo, gheibh an neach a gheibh e pacaidean 1, 2 agus 4. Agus cuiridh e fios gu soilleir don neach a chuir a' cleachdadh an roghainn SACK: "Tha fios agad, thàinig trì, ach chaidh am meadhan a chall." Tha e ag ràdh "Ack 2, SACK 4".
Bidh an neach-cuiridh aig an àm seo ag ath-aithris dìreach a’ phacaid a chaidh a chall gun duilgheadas sam bith.
Ach ma thèid am pasgan mu dheireadh san uinneig a chall, seallaidh an suidheachadh gu math eadar-dhealaichte.
Gheibh an neach a gheibh a’ chiad trì pacaidean agus an toiseach tòisichidh e a’ feitheamh. Taing do chuid de optimizations ann an stac TCP kernel Linux, fuirichidh e ri pacaid càraid, mura h-eil comharra soilleir anns na brataichean gur e seo am pacaid mu dheireadh no rudeigin mar sin. Fuirichidh e gus an tig an ùine-ama dàil ACK gu crìch agus an uairsin cuiridh e aithne airson a’ chiad trì pacaidean. Ach a-nis bidh an neach-cuiridh a’ feitheamh. Chan eil fios aige an deach an ceathramh pasgan a chall no a bheil e gu bhith a’ ruighinn. Agus gus nach cuir thu cus air an lìonra, feuchaidh e ri feitheamh ris a’ chomharra shoilleir gu bheil am pacaid air chall, no gun tig an ùine-ama RTO gu crìch.
Dè a th’ ann an ùine-ama RTO? Is e seo an ìre as àirde bhon RTT air a thomhas leis a’ chruach TCP agus cuid seasmhach. Dè a tha seasmhach seo, bruidhnidh sinn a-nis.
Ach tha e cudromach ma tha sinn mì-shealbhach a-rithist agus an ceathramh pacaid air chall a-rithist, gum bi an RTO a’ dùblachadh. Is e sin, tha gach oidhirp neo-shoirbheachail na dhùblachadh den ùine-ama.
A-nis chì sinn cò ris a tha am bonn seo co-ionann. Gu gnàthach, is e 200ms an RTO as ìsle. Is e seo an RTO as ìsle airson pacaidean dàta. Airson pacaidean SYN, tha e eadar-dhealaichte, 1 diog. Mar a chì thu, bheir eadhon a’ chiad oidhirp air pacaidean a chuir air ais 100 uair nas fhaide na RTT taobh a-staigh an ionad dàta.
A-nis air ais chun t-suidheachadh againn. Dè tha dol leis an t-seirbheis? Bidh an t-seirbheis a 'tòiseachadh a' call pacaidean. Leig leis an t-seirbheis a bhith fortanach an toiseach agus caill rudeigin ann am meadhan na h-uinneige, an uairsin gheibh e SACK, ath-chuir e na pacaidean caillte.
Ach ma thig droch fhortan a-rithist, tha RTO againn. Dè tha cudromach an seo? Tha, tha tòrr shlighean againn san lìonra. Ach leanaidh an trafaic TCP de aon cheangal TCP sònraichte a’ dol tron aon chruach briste. Chan eil call pacaid, fhad ‘s nach tèid ar draoidheachd X11 a-mach leis fhèin, a’ leantainn gu trafaic a ’sruthadh gu raointean nach eil duilich. Tha sinn a’ feuchainn ri pacaid a lìbhrigeadh tron aon chruach briste. Bidh seo a’ leantainn gu fàilligeadh cascading: tha ionad dàta na sheata de thagraidhean eadar-ghnìomhach, agus bidh cuid de cheanglaichean TCP de na tagraidhean sin uile a’ tòiseachadh a ’crìonadh - leis gu bheil an superspin a’ toirt buaidh air a h-uile tagradh a tha taobh a-staigh an DC. Mar a tha e san abairt: mura dèan thu bròg air each, bidh an t-each a’ bualadh; the horse liped - cha deach an aithisg a lìbhrigeadh; cha deach an teachdaireachd a lìbhrigeadh - chaill iad an cogadh. Is ann dìreach an seo a bhios an cunntadh a’ dol airson diogan bhon mhionaid a tha an duilgheadas a’ tachairt chun ìre de dh’ ìsleachadh a thòisicheas seirbheisean a’ faireachdainn. Tha seo a’ ciallachadh gur dòcha nach fhaigh luchd-cleachdaidh rudeigin an àiteigin.
Tha dà fhuasgladh clasaigeach ann a tha a 'cur ri chèile. Is e a’ chiad fhear seirbheisean a tha a’ feuchainn ri stràbhan a chuir sìos agus fuasgladh fhaighinn air an duilgheadas mar seo: “Nì sinn rudeigin anns a’ chruach TCP. Agus dèanamaid amannan-ama aig ìre tagraidh no seiseanan TCP fad-ùine le sgrùdaidhean slàinte a-staigh. 'S e an duilgheadas a th' ann gu bheil fuasglaidhean mar seo: a) gun sgèile idir; b) fìor dhroch deuchainn. Is e sin, eadhon ged a bhios an t-seirbheis a’ rèiteachadh an stac TCP gun fhiosta gus am fàs e nas fheàrr, an toiseach, chan eil e coltach gum bi seo iomchaidh airson a h-uile tagradh agus ionad dàta, agus san dàrna àite, is coltaiche, cha tuig e dè a chaidh a dhèanamh ceart agus dè chan eil. Is e sin, tha e ag obair, ach tha e ag obair gu math agus chan eil e a’ sgèile. Agus ma tha duilgheadas lìonra ann, cò as coireach? Gu dearbh NOC. Dè bhios NOC a’ dèanamh?
Tha mòran sheirbheisean den bheachd gu bheil obair a’ dol rudeigin mar seo ann an NOC. Ach a bhith onarach, chan ann a-mhàin.
Tha NOC anns an sgeama clasaigeach an sàs ann an leasachadh iomadh sgrùdadh. Tha iad sin an dà chuid sgrùdadh bogsa dubh agus sgrùdadh bogsa geal. Mun eisimpleir de sgrùdadh bogsa dubh air spìcean
Dè a bhiodh tu airson fhaighinn? Tha uimhir de shlighean againn. Agus tha duilgheadasan ag èirigh dìreach leis gu bheil sruthan TCP a tha mì-shealbhach a ’leantainn air adhart a’ cleachdadh an aon shlighe. Feumaidh sinn rudeigin a leigeas leinn iomadh slighe a chleachdadh taobh a-staigh aon cheangal TCP. Bhiodh e coltach gu bheil fuasgladh againn. Tha TCP ann, ris an canar mar sin - multipath TCP, is e sin, TCP airson iomadh slighe. Fìor, chaidh a leasachadh airson obair gu tur eadar-dhealaichte - airson fònaichean sgairteil aig a bheil grunn innealan lìonra. Gus an gluasad a mheudachadh no am modh bun-sgoile / cùl-taic a dhèanamh, chaidh uidheamachd a leasachadh a chruthaicheas grunn snàithleanan (seiseanan) gu follaiseach airson an tagraidh agus a leigeas leat gluasad eatorra gun fhios nach fàilligeadh. No, mar a thuirt mi, àrdaich an leud-bann.
Ach tha nuance an seo. Gus tuigsinn dè a th’ ann, feumaidh sinn coimhead air mar a tha sruthan air an stèidheachadh.
Tha snàithleanan air an suidheachadh ann an òrdugh. Tha a 'chiad sruth air a stàladh an toiseach. Thèid sruthan às deidh sin a shuidheachadh a’ cleachdadh a’ bhriosgaid a chaidh aontachadh mar-thà san t-snàthainn sin. Agus seo an duilgheadas.
Is e an duilgheadas a th’ ann mura stàlaich a’ chiad snàithlean, cha nochd an dàrna agus an treas snàithlean gu bràth. Is e sin, chan eil multipath TCP a 'fuasgladh call a' phacaid SYN anns a 'chiad shruth. Agus ma thèid an SYN air chall, bidh multipath TCP gu bhith na TCP àbhaisteach. Mar sin, ann an àrainneachd ionad dàta, cha chuidich e sinn gus fuasgladh fhaighinn air an duilgheadas a thaobh call anns an fhactaraidh agus ionnsaich mar a chleachdas tu grunn shlighean gun fhios nach fàilligeadh.
Dè as urrainn ar cuideachadh? Tha cuid agaibh air tomhas mar-thà bhon ainm gur e an raon cudromach san sgeulachd eile againn an raon bann-cinn leubail sruthadh IPv6. Gu dearbh, is e seo raon a tha a 'nochdadh ann an v6, chan eil e ann an v4, bidh e a' toirt 20 buillean, agus tha connspaid air a bhith ann mu bhith ga chleachdadh airson ùine mhòr. Tha seo glè inntinneach - bha connspaidean ann, chaidh rudeigin a shuidheachadh taobh a-staigh frèam an RFC, agus aig an aon àm, nochd buileachadh anns an kernel Linux nach deach a chlàradh a-riamh an àite sam bith.
Tha mi a’ moladh gun tig thu còmhla rium air beagan sgrùdaidh. Bheir sinn sùil air na tha air a bhith a’ tachairt ann an kernel Linux thairis air na beagan bhliadhnaichean a dh’ fhalbh.
bliadhna 2014. Bidh innleadair bho chompanaidh mòr agus cliùiteach a’ cur ri gnìomhachd an kernel Linux an eisimeileachd air luach an leubail sruthadh air hash an t-socaid. Dè tha iad a’ feuchainn ri rèiteachadh an seo? Tha seo co-cheangailte ri RFC 6438 a bheachdaich air a’ chùis a leanas. Taobh a-staigh an ionad dàta, bidh IPv4 gu tric air a chuairteachadh ann am pacaidean IPv6, oir is e IPv6 an fhactaraidh fhèin, ach feumaidh IPv4 dòigh air choireigin a thoirt seachad. Airson ùine mhòr bha duilgheadasan ann le suidsichean nach b’ urrainn coimhead fo dhà bann-cinn IP gus faighinn gu TCP no UDP agus lorg src_ports, dst_ports an sin. Thionndaidh e a-mach gun robh an hash, ma choimheadas tu air a ’chiad dà bhann-cinn IP, cha mhòr air a shuidheachadh. Gus seo a sheachnadh, gus am bi cothromachadh an trafaic dùmhail seo ag obair gu ceart, chaidh a mholadh hash bhon phasgan encapsulated 5-tuple a chuir ri luach raon an leubail sruthadh. Chaidh timcheall air an aon rud a dhèanamh airson sgeamaichean glacaidh eile, airson UDP, airson GRE, anns an fhear mu dheireadh chaidh an raon GRE Key a chleachdadh. Aon dòigh no dòigh eile, tha na h-amasan an seo soilleir. Agus co-dhiù aig an àm sin bha iad feumail.
Ann an 2015, thig bad ùr bhon aon innleadair cliùiteach. Tha e gu math inntinneach. Tha e ag ràdh na leanas - cuiridh sinn air thuaiream an hash gun fhios nach tachair tachartas slighe àicheil. Dè a th’ ann an tachartas slighe àicheil? Is e seo an RTO air an do bhruidhinn sinn na bu thràithe, is e sin, tha call earball na h-uinneige na thachartas a tha dha-rìribh àicheil. Fìor, tha e an ìre mhath duilich tomhas dè a th’ ann.
2016, companaidh cliùiteach eile, cuideachd mòr. Bidh e a’ parsadh nan crutches mu dheireadh agus ga dhèanamh gus am bi an hash a rinn sinn air thuaiream a-nis air atharrachadh air gach ath-chraoladh SYN agus às deidh gach ùine RTO. Agus anns an litir seo, airson a 'chiad agus an turas mu dheireadh, tha an amas mu dheireadh a' fuaimeachadh - gus dèanamh cinnteach gu bheil an trafaig ma tha call no cus de shianalan comasach air ath-stiùireadh bog, a 'cleachdadh iomadh slighe. Gu dearbh, às deidh sin bha tòrr fhoillseachaidhean ann, is urrainn dhut gu furasta an lorg.
Ged nach eil, chan urrainn dhut, oir cha robh aon fhoillseachadh air a’ chuspair seo. Ach tha fios againn!
Agus mura tuig thu gu tur an nì a rinneadh, innsidh mi dhut a‑nis.
Dè a chaidh a dhèanamh, dè an gnìomh a chaidh a chur ris an kernel Linux? Bidh txhash ag atharrachadh gu luach air thuaiream às deidh gach tachartas RTO. Is e seo an aon toradh slighe àicheil. Tha an hash an urra ris an txhash seo agus tha an leubail sruthadh an urra ris an hash skb. Tha beagan àireamhachadh air na gnìomhan an seo, chan urrainnear a h-uile mion-fhiosrachadh a chuir air aon shleamhnag. Ma tha duine fiosrach, faodaidh tu a dhol tron chòd kernel agus sgrùdadh.
Dè tha cudromach an seo? Bidh luach raon an leubail sruthadh ag atharrachadh gu àireamh air thuaiream às deidh gach RTO. Ciamar a bheir seo buaidh air an t-sruth TCP mì-shealbhach againn?
A thaobh SACK, chan eil dad air atharrachadh leis gu bheil sinn a’ feuchainn ri pacaid a chaidh a chall a chuir air ais. Gu ruige seo cho math.
Ach a thaobh RTO, fhad ‘s a tha sinn air bileag sruthadh a chuir ris a’ ghnìomh hash air ToR, faodaidh trafaic slighe eile a ghabhail. Agus mar as motha de phlèanaichean, is ann as dualtaiche a tha e slighe a lorg nach toir tubaist buaidh air inneal sònraichte.
Tha aon duilgheadas fhathast - RTO. Tha slighe eile, gu dearbh, air a lorg, ach tha tòrr ùine ga chosg air. Tha 200ms tòrr. Is e an dàrna fear fiadhaich san fharsaingeachd. Na bu thràithe, bhruidhinn mi mu dheidhinn amannan-ama a bhios a’ rèiteachadh sheirbheisean. Mar sin, is e àm a th’ ann an dàrna fear a bhios mar as trice a’ stèidheachadh seirbheis aig ìre an tagraidh, agus ann an seo bidh an t-seirbheis eadhon an ìre mhath ceart. A bharrachd air an sin, tha mi a-rithist, tha an fhìor RTT taobh a-staigh ionad dàta ùr-nodha timcheall air 1 millisecond.
Dè ghabhas dèanamh mu àm-ama RTO? Faodar an ùine-ama a tha an urra ri RTO gun fhios nach caillear pacaidean dàta a bhith air a rèiteachadh gu ìre mhath bho àite luchd-cleachdaidh: tha goireas IP ann, agus tha an aon rto_min ann am fear de na paramadairean aige. Leis gu bheil, gu dearbh, feumaidh tu RTO a thionndadh chan ann air feadh na cruinne, ach airson ro-leasachain sònraichte, tha inneal mar seo a ’coimhead gu math ag obair.
Fìor, le SYN_RTO tha a h-uile dad beagan nas miosa. Tha e gu nàdarrach air a chuir sìos. Tha an luach stèidhichte sa chridhe - 1 diog, agus sin e. Chan urrainn dhut a ruighinn bho àite luchd-cleachdaidh. Chan eil ann ach aon dòigh.
thig eBPF gu teasairginn. Gus a chuir gu sìmplidh, is e prògraman beaga C a tha seo. Faodar an cur a-steach do dubhan aig diofar àiteachan ann a bhith a’ coileanadh a’ chruach kernel agus an stac TCP, leis an urrainn dhut àireamh mhòr de shuidheachaidhean atharrachadh. San fharsaingeachd, tha eBPF na ghluasad fad-ùine. An àite a bhith a’ sàbhadh dusanan de pharamadairean sysctl ùra agus a’ leudachadh a’ ghoireas IP, tha an gluasad a’ stiùireadh eBPF agus a’ leudachadh a ghnìomhachd. Le eBPF, faodaidh tu smachdan dùmhlachd agus diofar shuidheachaidhean TCP eile atharrachadh.
Ach tha e cudromach dhuinne le cuideachadh bhuaithe gun urrainn dhut luachan SYN_RTO a thionndadh. Agus tha eisimpleir air fhoillseachadh gu poblach:
Dè tha fios againn mu thràth? Gu bheil an ailtireachd planar a’ ceadachadh sgèileadh, tha e a’ tionndadh a-mach gu bheil e air leth feumail dhuinn nuair a thionndaidheas sinn air an leubail sruthadh air ToR agus a gheibh sinn cothrom sruthadh timcheall raointean duilgheadas. Is e an dòigh as fheàrr air luachan RTO agus SYN-RTO ìsleachadh prògraman eBPF a chleachdadh. Tha a’ cheist fhathast: a bheil e sàbhailte an leubail sruthadh a chleachdadh airson cothromachadh? Agus tha nuance an seo.
Seach gu bheil seirbheis agad air an lìonra a tha a 'fuireach ann an craoladh sam bith. Gu mì-fhortanach, chan eil ùine agam a dhol a-steach gu mion-fhiosrachadh mu chraoladh sam bith, ach is e seirbheis sgaoilte a th’ ann far a bheil diofar luchd-frithealaidh corporra rim faighinn air an aon sheòladh IP. Agus seo duilgheadas a dh’ fhaodadh a bhith ann: faodaidh tachartas RTO tachairt chan ann a-mhàin nuair a bhios trafaic a ’dol tron fhactaraidh. Faodaidh e tachairt cuideachd aig ìre bufair ToR: nuair a thachras tachartas incast, faodaidh e tachairt eadhon air an aoigh nuair a bhios an aoigh a’ dòrtadh rudeigin. Nuair a thachras tachartas RTO agus bidh e ag atharrachadh an leubail sruthadh. Anns a 'chùis seo, faodaidh an trafaig a dhol gu suidheachadh sam bith eile. Seach gur e craoladh stàiteil a th’ ann, tha staid ceangail ann - faodaidh e a bhith na L3 Balancer no seirbheis air choireigin eile. An uairsin bidh duilgheadas ag èirigh, oir às deidh an RTO, bidh an ceangal TCP a ’ruighinn an fhrithealaiche, aig nach eil fios dad mun cheangal TCP seo. Agus mura h-eil roinneadh stàite againn eadar frithealaichean sam bith, thèid an trafaic sin a leigeil sìos agus brisidh an ceangal TCP.
Dè ghabhas dèanamh an seo? Taobh a-staigh na h-àrainneachd fo smachd agad, far am bi thu a’ comasachadh cothromachadh leubail sruthadh, feumaidh tu luach an leubail sruthadh a chàradh nuair a gheibh thu cothrom air frithealaichean sam bith. Is e an dòigh as fhasa a dhèanamh tron aon phrògram eBPF. Ach an seo tha puing glè chudromach - dè a nì thu mura h-eil thu ag obrachadh lìonra ionad dàta, ach a bheil thu nad ghnìomhaiche cian-conaltraidh? Is e seo an duilgheadas agad cuideachd: a ’tòiseachadh le dreachan sònraichte de Juniper agus Arista, bidh iad a’ toirt a-steach an leubail sruthadh anns a ’ghnìomh hash gu bunaiteach - a bhith onarach, airson adhbhar nach eil mi a’ tuigsinn. Faodaidh seo adhbhrachadh gun leig thu às ceanglaichean TCP bho luchd-cleachdaidh a 'dol tron lìonra agad. Mar sin, tha mi a’ moladh gu mòr sgrùdadh a dhèanamh air na roghainnean router agad san àite seo.
Aon dòigh no dòigh eile, tha e coltach rium gu bheil sinn deiseil airson gluasad air adhart gu deuchainnean.
Nuair a thionndaidh sinn air an leubail sruthadh air ToR, dh’ ullaich sinn eBPF an neach-ionaid, a tha a-nis a’ fuireach air na h-aoighean, chuir sinn romhainn gun a bhith a’ feitheamh ris an ath fhàiligeadh mòr, ach gus spreadhaidhean fo smachd a chumail. Ghabh sinn ToR, aig a bheil ceithir uplinks, agus rinn sinn boinneagan air fear dhiubh. Tharraing iad riaghailt, thuirt iad - a-nis tha thu a 'call a h-uile pasgan. Mar a chì thu air an taobh chlì, tha sgrùdadh per-pack againn, a tha air tuiteam gu 75%, is e sin, tha 25% de phasgan air chall. Air an làimh dheis tha grafaichean de sheirbheisean a tha a’ fuireach air cùl an ToR seo. Gu dearbh, is iad sin grafaichean trafaic de joints le frithealaichean taobh a-staigh an raca. Mar a chì thu, chaidh iad fodha eadhon nas ìsle. Carson a chaidh iad fodha nas ìsle - chan ann le 25%, ach ann an cuid de chùisean 3-4 tursan? Ma tha an ceangal TCP mì-shealbhach, tha e fhathast a 'feuchainn ri ruighinn tron eadar-aghaidh briste. Tha seo air a dhèanamh nas miosa le giùlan àbhaisteach na seirbheis taobh a-staigh an DC - airson aon iarrtas neach-cleachdaidh, thèid N iarrtasan gu seirbheisean a-staigh a chruthachadh, agus thèid am freagairt chun neach-cleachdaidh, an dàrna cuid nuair a fhreagras a h-uile stòr dàta, no nuair a thèid ùine a chuir air adhart aig ìre an tagraidh, a dh'fheumas a bhith air a rèiteachadh fhathast. Is e sin, tha a h-uile dad gu math, gu math dona.
A-nis an aon deuchainn, ach leis an leubail sruthadh air a chomasachadh. Mar a chì thu, air an taobh chlì, chaidh an sgrùdadh baidse againn fodha leis an aon 25%. Tha seo gu tur ceart, leis nach eil fios aige mu dheidhinn ath-chraolaidhean, bidh e a ’cur phasganan air falbh agus dìreach a’ cunntadh co-mheas an àireamh de phasganan air an lìbhrigeadh agus air chall.
Agus air an làimh dheis tha clàr nan seirbheisean. Chan fhaigh thu buaidh co-dhuilgheadas an seo. Bha trafaic anns na h-aon milliseconds sin a’ sruthadh bhon raon duilgheadas gu na trì ceanglaichean suas a bha air fhàgail air nach tug an duilgheadas buaidh. Fhuair sinn lìonra a shlànaicheas e fhèin.
Is e seo an sleamhnag mu dheireadh agam, àm airson stoc a ghabhail. A-nis, tha mi an dòchas gu bheil fios agad mar a thogas tu lìonra ionad dàta fèin-slànachaidh. Cha leig thu leas a dhol tro thasglann kernel Linux agus coimhead airson badan sònraichte an sin, tha fios agad gu bheil an leubail Flow a’ fuasgladh na duilgheadas sa chùis seo, ach feumaidh tu dèiligeadh ris an uidheamachd seo gu faiceallach. Agus tha mi a’ daingneachadh a-rithist ma tha thu nad neach-giùlain, cha bu chòir dhut an leubail sruthadh a chleachdadh mar ghnìomh hash, air neo brisidh tu seiseanan do luchd-cleachdaidh.
Airson innleadairean lìonra, feumar gluasad bun-bheachdail a dhèanamh: chan eil an lìonra a 'tòiseachadh le ToR, chan ann le inneal lìonra, ach le aoigheachd. Is e eisimpleir gu math iongantach mar a bhios sinn a’ cleachdadh eBPF an dà chuid gus an RTO atharrachadh agus gus an leubail sruthadh a chàradh a dh’ ionnsaigh seirbheisean craolaidh sam bith.
Tha an meacanaig leubail sruthadh gu cinnteach freagarrach airson cleachdaidhean eile taobh a-staigh an roinn rianachd fo smachd. Faodaidh seo a bhith na thrafaig eadar ionadan dàta, no faodaidh tu meacanaig mar sin a chleachdadh ann an dòigh shònraichte gus smachd a chumail air trafaic a tha a’ falbh. Ach bruidhnidh mi mu dheidhinn seo, tha mi an dòchas, an ath thuras. Tapadh leibh gu mòr airson an aire agad.
Source: www.habr.com