Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Ny foibe angona maoderina dia manana fitaovana mavitrika an-jatony napetraka, voarakotry ny karazana fanaraha-maso samihafa. Saingy na dia injeniera tonga lafatra miaraka amin'ny fanaraha-maso tonga lafatra aza dia ho afaka hamaly tsara ny tsy fahombiazan'ny tambajotra ao anatin'ny minitra vitsy. Tao anatin'ny tatitra iray tao amin'ny kaonferansa Next Hop 2020, dia nanolotra fomba famolavolana tambajotra ivotoerana data aho, izay manana endri-javatra tokana - manasitrana ny tenany ao anatin'ny milisegondra ny foibe data. Ny marimarina kokoa, ny injeniera dia mamaha ny olana, fa ny serivisy dia tsy mahatsikaritra izany.

- Hanombohana dia hanome teny fampidirana amin'ny antsipiriany aho ho an'ireo izay mety tsy mahafantatra ny firafitry ny DC maoderina.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Ho an'ny injenieran'ny tambajotra maro, ny tambajotran'ny foibem-pamokarana dia manomboka, mazava ho azy, miaraka amin'ny ToR, miaraka amin'ny fikandrana ao amin'ny vata. Matetika ny ToR dia manana karazana rohy roa. Ny kely dia mankany amin'ny mpizara, ny hafa - misy in-n'izy ireo kokoa - mankany amin'ny hazondamosina amin'ny ambaratonga voalohany, izany hoe mankany amin'ny rohy ambony. Matetika ny Uplinks dia heverina ho mitovy, ary ny fifamoivoizana eo amin'ny uplinks dia mandanjalanja mifototra amin'ny hash avy amin'ny 5-tuple, izay ahitana proto, src_ip, dst_ip, src_port, dst_port. Tsy misy surprise eto.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Manaraka, manao ahoana ny endriky ny rafitra drafitra? Ny hazondamosina amin'ny ambaratonga voalohany dia tsy mifandray amin'ny tsirairay, fa mifandray amin'ny alalan'ny superspines. Ny litera X dia ho tompon'andraikitra amin'ny superspines; saika toy ny cross-connect izy io.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Ary mazava ho azy fa, etsy ankilany, ny tori dia mifandray amin'ny hazondamosina rehetra amin'ny ambaratonga voalohany. Inona no zava-dehibe amin'ity sary ity? Raha misy fifaneraserana ao anatin'ny rack, ny fifandraisana, mazava ho azy, dia mandalo amin'ny ToR. Raha toa ka ao anatin'ny module ny fifandraisana dia mitranga amin'ny alàlan'ny spines ambaratonga voalohany ny fifandraisana. Raha intermodular ny fifandraisana - toy ny eto, ToR 1 sy ToR 2 - dia handeha amin'ny spines ny ambaratonga voalohany sy faharoa ny fifandraisana.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Amin'ny teoria, ny maritrano toy izany dia mora scalable. Raha manana seranan-tsambo isika, toerana malalaka ao amin'ny foibe angon-drakitra ary fibre efa napetraka mialoha, dia azo ampitomboina foana ny isan'ny lalana, ka hampitombo ny fahafahan'ny rafitra amin'ny ankapobeny. Tena mora ny manao izany amin'ny taratasy. Ho toy izany koa ny fiainana. Tsy momba izany anefa ny tantara ankehitriny.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Tiako ny tsoa-kevitra mety. Manana lalana maro ao anatin'ny foibe data izahay. Tsy miankina amin'ny fepetra izy ireo. Ny lalana iray ao anatin'ny foibe angona dia ao anatin'ny ToR ihany. Ao anatin'ilay maodely dia manana ny isan'ny lalana mitovy amin'ny isan'ny lalana isika. Ny isan'ny lalana eo anelanelan'ny maody dia mitovy amin'ny vokatry ny isan'ny fiaramanidina sy ny isan'ny superspines isaky ny fiaramanidina. Mba hanazavana bebe kokoa, mba hahafantarana ny haavony, dia hanome isa aho izay manan-kery ho an'ny iray amin'ireo foibe data Yandex.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Misy fiaramanidina valo, ny fiaramanidina tsirairay dia manana superspines 32. Vokatr'izany dia hita fa misy lalana valo ao anatin'ny module, ary miaraka amin'ny intermodule intermodule dia efa misy 256 amin'izy ireo.

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Izany hoe, raha mamolavola Cookbook isika, miezaka ny mianatra ny fomba hananganana ivon-toeram-pahalalana mahasitrana ny tenany, dia ny rafitra planar no safidy tsara. Mamaha ny olan'ny scaling izany, ary amin'ny teoria dia mora izany. Misy lalana mahaleo tena maro. Mipetraka ny fanontaniana: ahoana no ahafahan'ny rafitra toy izany ho tafavoaka velona amin'ny tsy fahombiazana? Misy ny tsy fahombiazana isan-karazany. Ary hiresaka momba izany isika izao.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Avelao ny iray amin'ireo superspines antsika "harary". Eto aho dia niverina tamin'ny rafitra misy fiaramanidina roa. Hifikitra amin'ireto ohatra ireto isika satria ho mora kokoa ny mahita ny zava-mitranga amin'ny ampahany kely mihetsika. Avelao ny X11 harary. Inona no mety ho fiantraikan'izany amin'ireo tolotra monina ao anatin'ny foibe angona? Miankina betsaka amin'ny tena endriky ny tsy fahombiazana.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Raha tsara ny tsy fahombiazana, dia tratra amin'ny haavon'ny automation amin'ny BFD mitovy, ny automation dia mametraka amim-pifaliana ny tonon-taolana ary manasaraka ny olana, dia tsara ny zava-drehetra. Manana lalana maro isika, averina avy hatrany amin'ny lalana hafa ny fifamoivoizana, ary tsy hahatsikaritra na inona na inona ny serivisy. Ity dia script tsara.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Ny scenario ratsy dia raha manana fatiantoka tsy tapaka isika, ary tsy mahatsikaritra ny olana ny automation. Mba hahatakarana ny fiantraikan'izany amin'ny fampiharana iray, dia mila mandany fotoana kely hiresahana ny fomba fiasan'ny TCP isika.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Manantena aho fa tsy manaitra na iza na iza amin'ity vaovao ity: TCP dia protocol fanamafisana ny fandefasana. Izany hoe, amin'ny tranga tsotra indrindra, ny mpandefa dia mandefa fonosana roa ary mahazo ack mitambatra amin'izy ireo: "Nahazo fonosana roa aho."
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Aorian’izay dia handefa fonosana roa indray izy, ary hiverina indray ny toe-javatra. Miala tsiny mialoha amin'ny fanatsorana. Marina io scenario io raha roa ny varavarankely (ny isan'ny fonosana amin'ny sidina). Mazava ho azy fa amin'ny tranga ankapobeny dia tsy voatery ho izany. Saingy ny haben'ny varavarankely dia tsy misy fiantraikany amin'ny tontolon'ny fandefasana entana.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Inona no mitranga raha very packet 3 isika? Amin'ity tranga ity, ny mpandray dia hahazo fonosana 1, 2 ary 4. Ary hilaza amin'ny mpandefa amin'ny alàlan'ny safidy SACK izy: "Fantatrao fa tonga ny telo, fa very ny afovoany." Hoy izy: "Ack 2, SACK 4."
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Ny mpandefa amin'izao fotoana izao tsy misy olana dia mamerina ny fonosana very.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Fa raha very ny fonosana farany eo amin'ny varavarankely, dia ho hafa tanteraka ny toe-javatra.

Mandray ireo fonosana telo voalohany ny mpandray ary manomboka miandry. Noho ny fanatsarana sasany ao amin'ny kernel TCP stack, Linux Hiandry fonosana mifanaraka amin'izany izy raha tsy misy marika mazava manondro fa io no fonosana farany na zavatra mitovy amin'izany. Hiandry izy mandra-pahatapitry ny fotoana voafetra ACK ary avy eo dia handefa fanekena ho an'ireo fonosana telo voalohany. Saingy ankehitriny dia tsy maintsy miandry ny mpandefa. Tsy fantany raha very ny fonosana fahefatra na efa ho tonga. Mba hisorohana ny fihoaram-pefy amin'ny tambajotra, dia hiezaka hiandry izy mandra-pisian'ny famantarana mazava fa very ny fonosana na mandra-pahatapitry ny fotoana voafetra RTO.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Inona no atao hoe RTO fe-potoana? Io no ambony indrindra amin'ny RTT kajy amin'ny TCP stack ary ny sasany tsy miova. Inona no atao hoe tsy miova, hodinihintsika izao.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Fa ny zava-dehibe dia raha tsy tsara vintana indray isika ka very indray ny fonosana fahefatra dia avo roa heny ny RTO. Izany hoe, isaky ny andrana tsy nahomby dia midika ho avo roa heny ny fe-potoana.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Andeha hojerentsika hoe inona io fototra io. Amin'ny alàlan'ny default, ny RTO farafahakeliny dia 200 ms. Ity no RTO kely indrindra ho an'ny fonosana angona. Ho an'ny fonosana SYN dia hafa izany, 1 segondra. Araka ny hitanao, na ny andrana voalohany handefa indray ny fonosana aza dia haharitra 100 heny noho ny RTT ao anatin'ny foibe angona.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Andeha isika hiverina amin'ny scenario. Inona no mitranga amin'ny serivisy? Manomboka very fonosana ny serivisy. Avelao ny serivisy ho tsara vintana amin'ny voalohany ary very zavatra eo afovoan'ny varavarankely, dia mahazo SACK izy ary mandefa indray ireo fonosana very.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Fa raha miverimberina ny loza, dia manana RTO isika. Inona no zava-dehibe eto? Eny, manana lalana be dia be izahay ao amin'ny tambajotranay. Saingy ny fifamoivoizana TCP amin'ny fifandraisana TCP iray manokana dia hitohy amin'ny alàlan'ny stack tapaka mitovy. Ny fahaverezan'ny fonosana, raha toa ka tsy mivoaka ho azy ity X11 mahagaga ity, dia tsy mitarika fifamoivoizana amin'ny faritra tsy misy olana. Miezaka manatitra ny packet amin'ny alalan'ny stack tapaka mitovy izahay. Izany dia mitarika ho amin'ny tsy fahombiazan'ny cascading: ny foibe data dia andiana fampiharana mifandray, ary ny sasany amin'ireo fifandraisana TCP amin'ireo fampiharana rehetra ireo dia manomboka miharatsy - satria ny superspine dia misy fiantraikany amin'ny fampiharana rehetra misy ao anatin'ny foibe data. Hoy ny fitenenana hoe: raha tsy nanao kiraro ny soavaly dia lasa malemy ny soavaly; nalemy ny soavaly - tsy tonga ny tatitra; tsy tonga ny tatitra - resy tamin'ny ady izahay. Eto ihany ny fanisana dia ao anatin'ny segondra manomboka amin'ny fiposahan'ny olana ka hatrany amin'ny ambaratongan'ny fahasimbana izay manomboka mahatsapa ny serivisy. Midika izany fa mety tsy mahita zavatra any ho any ny mpampiasa.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Misy vahaolana mahazatra roa mifameno. Ny voalohany dia ny serivisy izay manandrana mametraka mololo sy mamaha ny olana toy izao: "Andao isika hanova zavatra ao amin'ny TCP stack. Andao hanao fe-potoana amin'ny ambaratonga fampiharana na fotoam-pivoriana TCP maharitra miaraka amin'ny fisavana ara-pahasalamana anatiny. " Ny olana dia ny vahaolana toy izany: a) tsy mivelatra mihitsy; b) tena tsy voamarina tsara. Izany hoe, na dia tsy nahy nanamboatra ny TCP stack aza ny serivisy amin'ny fomba izay mahatonga azy io ho tsara kokoa, voalohany, dia tsy azo ampiharina amin'ny fampiharana rehetra sy ny foibe data rehetra, ary faharoa, azo inoana fa tsy ho takany fa vita izany. marina, ary inona no tsy. Izany hoe, miasa izy io, saingy tsy miasa ary tsy mirefy. Ary raha misy olana amin'ny tambajotra, iza no omena tsiny? Mazava ho azy, NOC. Inona no ataon'ny NOC?

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Sampan-draharaha maro no mino fa amin'ny asa NOC dia misy zavatra toy izany. Fa raha ny marina, tsy izany ihany.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

NOC ao amin'ny rafitra klasika dia mirotsaka amin'ny famolavolana rafitra fanaraha-maso maro. Sady boaty mainty no fanaraha-maso boaty fotsy ireo. Momba ny ohatra iray momba ny fanaraha-maso ny hazondamosina boaty mainty NOTANTARAIN'I Alexander Klimenko tamin'ny Next Hop farany. Raha ny tokony ho izy dia miasa io fanaraha-maso io. Saingy na ny fanaraha-maso tsara indrindra aza dia hisy fahatarana ny fotoana. Matetika izany dia minitra vitsy. Aorian'ny fandehanana dia mila fotoana ny injeniera miasa mba hanamarinana indroa ny fiasan'izy io, hamaritana ny olana ary hamono ny faritra misy olana. Izany hoe, amin'ny tranga tsara indrindra, ny fitsaboana ny olana dia mila 5 minitra, amin'ny tranga ratsy indrindra, 20 minitra, raha tsy mazava tsara ny toerana misy ny fatiantoka. Mazava fa mandritra izany rehetra izany - 5 na 20 minitra - dia hitohy hijaly ny serivisy, izay mety tsy tsara.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Inona no tena tianao horaisina? Manana fomba maro isika. Ary ny olana dia mipoitra marina satria ny TCP mikoriana izay tsy vintana dia manohy mampiasa lalana mitovy. Mila zavatra ahafahantsika mampiasa lalana maromaro ao anatin'ny fifandraisana TCP tokana. Toa manana vahaolana isika. Misy TCP, izay antsoina hoe multipath TCP, izany hoe, TCP ho an'ny lalana maro. Na izany aza, dia novolavolaina ho an'ny asa hafa tanteraka - ho an'ny finday izay manana fitaovana tambajotra maromaro. Mba hanamafisana ny fifindrana na ny fomba fiasa voalohany/backup, dia novolavolaina ny rafitra iray izay mamorona kofehy maromaro (sessions) mangarahara amin'ny fampiharana ary ahafahanao mifamadika eo amin'izy ireo raha misy tsy fahombiazana. Na, araka ny nolazaiko, ampitomboy ny tsipika.

Saingy misy nuance eto. Mba hahatakarana hoe inona izany, dia tsy maintsy mijery ny fomba fametrahana kofehy.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Apetraka misesy ny kofehy. Ny kofehy voalohany dia napetraka voalohany. Ny kofehy manaraka dia apetraka amin'ny fampiasana ny cookie izay efa nifanarahana tao anatin'io kofehy io. Ary izao ny olana.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Ny olana dia raha tsy tafapetraka ny kofehy voalohany dia tsy hipoitra mihitsy ny kofehy faharoa sy fahatelo. Izany hoe, multipath TCP dia tsy mamaha ny fahaverezan'ny fonosana SYN amin'ny fikorianan'ny voalohany. Ary raha very ny SYN dia mivadika TCP mahazatra ny multipath TCP. Midika izany fa amin'ny tontolon'ny ivotoerana data dia tsy hanampy antsika hamaha ny olan'ny fatiantoka ao amin'ny orinasa ary hianatra hampiasa lalana maro raha sendra ny tsy fahombiazana.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Inona no afaka manampy antsika? Ny sasany aminareo dia efa nieritreritra avy amin'ny lohateny fa ny saha iray manan-danja amin'ny fifanakalozan-kevitra manaraka dia ny saha lohatenin'ny marika IPv6. Eny tokoa, ity saha ity, izay miseho ao amin'ny v6 ary tsy hita ao amin'ny v4, dia mirefy 20 bits, ary ny fampiasana azy dia efa lohahevitra niadian-kevitra betsaka. Tena mahaliana ity - nisy adihevitra, nisy zavatra sasany namboarina tao amin'ny RFC, ary tao amin'ny Linux- tamin'izany fotoana izany ihany, nisy fampiharana niseho tao amin'ny kernel, izay tsy voarakitra an-tsoratra mihitsy na aiza na aiza.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Manasa anao aho hiaraka amiko amin'ny fanadihadiana kely. Andeha hojerentsika izay nitranga tao amin'ny foibe. Linux nandritra ny taona vitsivitsy lasa izay.

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

2014. Injeniera avy amin'ny orinasa lehibe sy hajaina iray manampy fiasa amin'ny kernel Linux Ny fiankinan'ny sandan'ny flow label amin'ny socket hash. Inona no noezahin'izy ireo namboarina teto? Mifandraika amin'ny RFC 6438 izany, izay niresaka momba ity olana manaraka ity. Ao anatin'ny foibe angon-drakitra, matetika ny IPv4 dia voafono ao anaty fonosana IPv6 satria ny lamba mihitsy dia IPv6, saingy mila alefa any ivelany ny IPv4. Nandritra ny fotoana ela, nisy olana tamin'ny switch izay tsy afaka nijery teo ambanin'ny lohatenin'ny IP roa mba hahatongavana any amin'ny TCP na UDP ary hahita src_ports sy dst_ports. Midika izany fa ny hash, rehefa mijery ny lohatenin'ny IP roa voalohany, dia efa voavaha. Mba hisorohana izany, ary mba hahazoana antoka fa voalanjalanja tsara ity fifamoivoizana voafono ity, dia natolotra ny hampidirana ny hash an'ny fonosana 5-tuple voafono ao amin'ny saha flow label. Toy izany koa no natao ho an'ny tetika encapsulation hafa, ho an'ny UDP sy ho an'ny GRE, ity farany dia mampiasa ny saha GRE Key. Na ahoana na ahoana, mazava ny tanjona eto. Ary farafaharatsiny tamin'izany fotoana izany dia nahasoa izy ireo.

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Tamin'ny taona 2015, nisy patch vaovao avy amin'io injeniera hajaina io ihany. Tena mahaliana izy. Izao manaraka izao no lazainy - dia hataontsika kisendrasendra ny hash raha sendra misy trangan-dàlana ratsy. Inona no atao hoe hetsika zotra ratsy? Ity ny RTO izay noresahinay teo aloha, izany hoe ny fahaverezan'ny rambon'ny varavarankely dia hetsika tena ratsy. Marina fa sarotra ny maminavina hoe iza no izy.

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

2016, orinasa malaza iray hafa, lehibe ihany koa. Izy io dia manafoana ny tehina farany ary manao izany mba hiova ny hash, izay nataonay kisendrasendra teo aloha, ho an'ny fandefasana indray ny SYN tsirairay ary aorian'ny fiatoan'ny RTO tsirairay. Ary amin'ity taratasy ity, voalohany sy farany, no voalaza ny tanjona faratampony - mba hahazoana antoka fa ny fifamoivoizana raha misy fatiantoka na fitohanana fantsona dia afaka averina moramora sy mampiasa lalana maro. Mazava ho azy fa taorian'izany dia nisy zavatra vita an-tsoratra be dia be, afaka mahita azy ireo mora foana ianao.

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Na dia tsia, tsy azonao atao, satria tsy mbola nisy famoahana na dia iray aza momba ity lohahevitra ity. Fa fantatsika!

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Ary raha tsy azonao tsara izay natao dia holazaiko aminao izao.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Inona no natao, inona no fiasa nampiana tao amin'ny kernel? LinuxMiova ho sanda kisendrasendra ny txhash aorian'ny hetsika RTO tsirairay. Mitovy amin'ny vokatra ratsy amin'ny routing ihany io. Miankina amin'ity txhash ity ny hash, ary miankina amin'ny hash skb ny marika mikoriana. Misy fanazavana momba ny fiasa eto, saingy tsy handrakotra ny antsipiriany rehetra ny slide iray. Raha misy te hahafanta-javatra, dia azonao atao ny mamaky ny kaody kernel ary manamarina.

Inona no zava-dehibe eto? Miova ho isa kisendrasendra aorian'ny RTO tsirairay ny sandan'ny saha marika mikoriana. Inona no fiantraikan'izany amin'ny stream TCP mampalahelo antsika?
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Raha sendra misy SACK dia tsy misy fiovana satria miezaka mamerina ny fonosana very fantatra izahay. Hatreto aloha dia mbola mety tsara.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Saingy amin'ny tranga RTO, raha toa ka nampiana mari-pamantarana mikoriana amin'ny fiasan'ny hash ao amin'ny ToR, dia mety handeha amin'ny lalana hafa ny fifamoivoizana. Ary arakaraky ny lalan-kely, dia vao mainka mety hahita lalana izay tsy misy fiantraikany amin'ny tsy fahombiazana amin'ny fitaovana iray manokana.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Olana iray sisa - RTO. Mazava ho azy fa misy lalana hafa, saingy fotoana be no lany amin’izany. 200ms dia be. Ny faharoa dia tena bibidia. Teo aloha dia niresaka momba ny fotoana fiafaran'ny serivisy aho. Noho izany, ny faharoa dia fotoana fiatoana, izay matetika novolavolain'ny serivisy amin'ny haavon'ny fampiharana, ary amin'izany dia mety ho marina ny serivisy. Ambonin'izany, averiko indray, ny tena RTT ao anatin'ny foibe angona maoderina dia manodidina ny 1 milisegondra.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Inona no azonao atao amin'ny fotoana fiafaran'ny RTO? Ny fe-potoana, izay tompon'andraikitra amin'ny RTO raha toa ka very ny fonosana angona, dia azo amboarina mora foana avy amin'ny habaka mpampiasa: misy fitaovana IP, ary ny iray amin'ireo masontsivanany dia misy rto_min mitovy. Raha jerena fa ny RTO, mazava ho azy, dia tsy maintsy avadika eran-tany, fa ho an'ny prefix nomena, ny mekanika toy izany dia toa azo ampiasaina.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Marina fa miaraka amin'ny SYN_RTO dia somary ratsy kokoa ny zava-drehetra. Voafantsika ho azy. Ny kernel dia manana sanda raikitra 1 segondra, ary izany no izy. Tsy afaka mankany ianao avy amin'ny habaka mpampiasa. Iray ihany ny lalana.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Tonga hamonjy ny eBPF. Raha tsorina dia programa kely C ireo. Azo ampidirina amin'ny hooks any amin'ny toerana samihafa izy ireo amin'ny fanatanterahana ny kernel stack sy ny TCP stack, izay ahafahanao manova ny toe-javatra maro be. Amin'ny ankapobeny, ny eBPF dia fironana maharitra. Raha tokony hanapaka am-polony ny masontsivana sysctl vaovao sy hanitarana ny fampitaovana IP, dia mandroso mankany amin'ny eBPF ny hetsika ary manitatra ny asany. Amin'ny fampiasana eBPF, azonao atao ny manova amin'ny fomba mavitrika ny fanaraha-maso ny fitohanana sy ireo fika TCP hafa.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Saingy zava-dehibe ho antsika ny azo ampiasaina hanovana ny soatoavina SYN_RTO. Ankoatra izany, misy ohatra navoakan'ny besinimaro: https://elixir.bootlin.com/linux/latest/source/samples/bpf/tcp_synrto_kern.c. Inona no natao teto? Ny ohatra dia miasa, fa amin'ny tenany ihany dia sarotra be. Eto dia heverina fa ao anatin'ny foibe data isika dia mampitaha ny 44 bits voalohany; raha mifanaraka izy ireo, dia ao anatin'ny foibe data isika. Ary amin'ity tranga ity dia manova ny sandan'ny SYN_RTO amin'ny 4ms. Ny asa mitovy dia azo atao amin'ny fomba kanto kokoa. Ity ohatra tsotra ity anefa dia mampiseho fa a) azo atao izany; b) somary tsotra.

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Inona no efa fantatsika? Ny zava-misy fa ny rafitra fiaramanidina mamela ny scaling, dia hita fa tena ilaina ho antsika rehefa mamela ny fikorianan'ny mari-pamantarana amin'ny ToR sy mahazo ny fahafahana mikoriana manodidina ny faritra misy olana. Ny fomba tsara indrindra hampihenana ny sanda RTO sy SYN-RTO dia ny fampiasana programa eBPF. Mipetraka ny fanontaniana: azo antoka ve ny mampiasa marika mikoriana mba hampifandanjana? Ary misy nuance eto.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Eritrereto hoe manana serivisy ao amin'ny tambajotrao ianao izay mipetraka amin'ny anycast. Indrisy anefa fa tsy manam-potoana hamantarana ny atao hoe anycast aho, fa serivisy zaraina miaraka amin'ireo mpizara ara-batana samihafa azo idirana amin'ny adiresy IP iray ihany. Ary izao ny olana mety hitranga: ny hetsika RTO dia mety hitranga tsy rehefa mandalo amin'ny lamba ny fifamoivoizana. Mety hitranga amin'ny haavon'ny buffer ToR ihany koa izany: rehefa misy hetsika incast dia mety hitranga amin'ny mpampiantrano mihitsy aza rehefa mandrotsaka zavatra ny mpampiantrano. Rehefa misy hetsika RTO ary manova ny mari-pamantarana mikoriana izany. Amin'ity tranga ity, ny fifamoivoizana dia afaka mankany amin'ny ohatra anycast hafa. Andeha hatao hoe anycast stateful ity, misy toetry ny fifandraisana - mety ho L3 Balancer na serivisy hafa. Avy eo dia misy olana, satria aorian'ny RTO dia tonga amin'ny mpizara ny fifandraisana TCP, izay tsy mahalala na inona na inona momba ity fifandraisana TCP ity. Ary raha tsy manana fifampizarana fanjakana eo amin'ireo mpizara anycast isika, dia ho tapaka ny fifamoivoizana toy izany ary ho tapaka ny fifandraisana TCP.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Inona no azonao atao eto? Ao anatin'ny tontolo fehezinao, izay ahafahanao mampifandanja ny mari-pamantarana mikoriana, mila mirakitra ny sandan'ny mari-pamantarana mikoriana ianao rehefa miditra amin'ireo mpizara anycast. Ny fomba tsotra indrindra dia ny manao izany amin'ny alàlan'ny programa eBPF mitovy. Saingy misy teboka iray tena manan-danja - inona no tokony hatao raha tsy miasa tambajotra ivotoerana data ianao, fa mpandraharaha telecom? Olanao ihany koa izany: manomboka amin'ny dikan-teny sasany amin'ny Juniper sy Arista, misy marika mikoriana ao amin'ny fiasan'ny hash azy ireo - am-pahatsorana, noho ny antony tsy mazava amiko. Mety hahatonga anao hanary ny fifandraisana TCP amin'ireo mpampiasa mandalo amin'ny tambajotranao izany. Noho izany dia manoro hevitra aho ny hanamarina ny firafitry ny router eto.

Amin'ny fomba iray na amin'ny fomba hafa, toa ahy fa vonona ny hiroso amin'ny fanandramana isika.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Rehefa navelanay ny mari-pamantarana mikoriana ao amin'ny ToR, nanomana ny eBPF agent, izay mipetraka amin'ny mpampiantrano ankehitriny, dia nanapa-kevitra izahay fa tsy hiandry ny tsy fahombiazana lehibe manaraka, fa hanao fipoahana voafehy. Nalainay ny ToR, izay misy rohy ambony efatra, ary nasianay tetezana tamin'ny iray tamin'izy ireo. Nanamboatra fitsipika izy ireo ary nilaza hoe - very ny fonosana rehetra ianao izao. Araka ny hitanao eo amin'ny ankavia dia misy ny fanaraha-maso isaky ny fonosana, izay nidina ho 75%, izany hoe very 25% ny fonosana. Eo ankavanana ny sarin'ny serivisy miaina ao ambadik'ity ToR ity. Amin'ny ankapobeny, ireo dia sarin'ny fifamoivoizana amin'ny serasera miaraka amin'ireo mpizara ao anaty fitoeran-jiro. Araka ny hitanao dia nilentika ambany kokoa izy ireo. Nahoana izy ireo no nidina ambany - tsy 25%, fa amin'ny tranga sasany in-3-4? Raha tsy tsara vintana ny fifandraisana TCP, dia manohy manandrana mamakivaky ny fihaonan-dàlana tapaka. Miharatsy izany noho ny fitondran-tena mahazatra amin'ny serivisy ao anatin'ny DC - ho an'ny fangatahan'ny mpampiasa iray, ny fangatahana N amin'ny serivisy anatiny dia avoaka, ary ny valiny dia mankany amin'ny mpampiasa na rehefa mamaly ny loharanom-baovao rehetra, na rehefa misy fe-potoana eo amin'ny fampiharana. ambaratonga, izay mbola mila amboarina. Izany hoe tena ratsy be ny zava-drehetra.
Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Andrana mitovy izao, fa miaraka amin'ny sandan'ny marika mikoriana. Araka ny hitanao, teo amin'ny ilany havia dia nihena 25% ihany ny fanaraha-maso ny andiany. Marina tanteraka izany, satria tsy mahalala na inona na inona momba ny retransmits izy, mandefa fonosana ary manisa fotsiny ny tahan'ny isan'ny entana naterina sy very.

Ary eo ankavanana ny fandaharam-potoanan'ny serivisy. Tsy ho hitanao eto ny vokatry ny fiaraha-miasa misy olana. Tao anatin'ireo milisegondra ireo ihany, nikoriana avy any amin'ny faritra misy olana ny fifamoivoizana mankany amin'ireo rohy telo sisa tavela izay tsy voakasik'ilay olana. Manana tambajotra manasitrana ny tenany isika.

Ny Tambajotra Izay Manasitrana ny Tenany: Ny Majika amin'ny Flow Label sy ny Detektiva Fototra LinuxTatitra Yandex

Ity no sary farany ampiasaiko; fotoana izao hamaranana ny zavatra rehetra. Manantena aho fa fantatrao ny fomba hananganana tambajotra foibe angon-drakitra izay manasitrana tena. Tsy mila miditra lalina amin'ny arisivan'ny kernel ianao. Linux Ary tadiavo ireo "patch" manokana ao. Fantatrao fa mamaha ny olana amin'ity tranga ity ny Flow Label, saingy mila mitandrina amin'ity fomba fiasa ity ianao. Ary hamafisiko indray fa raha mpandraharaha amin'ny fifandraisandavitra ianao dia tsy tokony hampiasa ny Flow Label ho toy ny "hash function", raha tsy izany dia hanelingelina ny fivoriana ataon'ny mpampiasa anao.

Ny injenieran'ny tambajotra dia tsy maintsy mandalo fiovana ara-kevitra: ny tambajotra dia tsy manomboka amin'ny ToR, tsy amin'ny fitaovana tambajotra, fa amin'ny mpampiantrano. Ohatra iray tena manaitra ny fomba ampiasantsika ny eBPF mba hanovana ny RTO sy hanitsiana ny marika mikoriana mankany amin'ny serivisy anycast.

Ny mekanika marika fikoriana dia azo antoka fa mety amin'ny fampiharana hafa ao anatin'ny fizarana fitantanana voafehy. Mety ho fifamoivoizana eo anelanelan'ny foibe angon-drakitra izany, na azonao atao ny mampiasa mekanika toy izany amin'ny fomba manokana hitantana ny fifamoivoizana mivoaka. Saingy holazaiko aminao izany, manantena aho, amin'ny manaraka. Misaotra indrindra amin'ny fifantohanao.

Source: www.habr.com

Mividiana fampiantranoana azo antoka ho an'ny tranokala misy fiarovana DDoS, mpizara VPS VDS 🔥 Mividiana fampiantranoana tranonkala azo antoka miaraka amin'ny fiarovana DDoS, mpizara VPS VDS | ProHoster