Բառարան

DC

Data center՝ Telegram-ի տվյալների կենտրոն

Telegram-ի սերվերները, որոնց պրոքսին փոխանցում է հաճախորդի տրաֆիկը։

Դերը սխեմայում

Telegram-ի սերվերները բաժանված են մի քանի տվյալների կենտրոնների։ Պրոքսին կանգնած է հաճախորդի և դրանց միջև. հաճախորդը միանում է պրոքսիին, իսկ նա՝ անհրաժեշտ տվյալների կենտրոնին, և տրաֆիկը փոխանցում է առաջ։ Բովանդակությունը մնում է գաղտնագրված հաճախորդի և սերվերի բանալիով։

Ինչպես է հաճախորդը ընտրում տվյալների կենտրոնը

Հասցեների ցանկը հաճախորդը ստանում է help.getConfig հարցումով. պատասխանում կա dc_options դաշտը՝ յուրաքանչյուր մուտքակետի նույնացուցիչով, IP հասցեով և պորտով։ Հասցեներն ու պորտերը կարող են փոխվել, իսկ յուրաքանչյուր տվյալների կենտրոնն սովորաբար ունի առնվազն մեկական IPv4 և IPv6 հասցե։ Հիմնական հարցումների համար հաճախորդը ընտրում է ամենամոտ կետը, իսկ հաշիվ մտնելուց առաջ միանում է պատահական հասցեի։

Հաշիվն ունի «տնային» տվյալների կենտրոն. եթե հաճախորդը սխալ տեղ է դիմել, սերվերը պատասխանում է PHONE_MIGRATE_X կամ USER_MIGRATE_X տիպի սխալով, և հաճախորդը նորից է միանում։ Ֆայլերը ներբեռնվում են այն տվյալների կենտրոնից, որտեղ պահված են, իսկ ֆայլերի փոխանցման համար կան առանձին media-only կետեր։

Տվյալների կենտրոնը պրոքսիի արձանագրությունում

Օբֆուսկացված կապում տվյալների կենտրոնի նույնացուցիչը փոխանցվում է սկզբնական փաթեթում. դա 2 բայթանոց նշանով թիվ է 60 տեղաշարժով, իսկ media տվյալների կենտրոնների համար այն բացասական է։ Այսպես պրոքսին իմանում է, թե ուր ուղղել հոսքը։ Սկզբնական փաթեթի մասին ավելին՝ obfuscated2 տերմինում։

Ինչ է սա նշանակում պրոքսիի տիրոջ համար

Պրոքսիին պետք է հասանելիություն տվյալների կենտրոնների բոլոր հասցեներին, ոչ թե մի մասին. հաշիվը կապված է տնային տվյալների կենտրոնին, և եթե նրա հասցեն սերվերից հասանելի չէ, օգտատերը չի կարողանա մուտք գործել կամ ֆայլ բեռնել։ Սերվերից դեպի Telegram ելքային կապերը չի կարելի փակել։

Ինչպես է գրվում տվյալների կենտրոնի համարը

Օբֆուսկացված կապի սկզբնական փաթեթում համարը պահվում է որպես 2 բայթանոց նշանով թիվ։ Թեստային սերվերների համար դրան ավելացնում են 10000, իսկ media տվյալների կենտրոնների համար այն դարձնում են բացասական. փաստաթղթերում որպես օրինակ բերված է 0xfcff արժեքը media տվյալների կենտրոն 4-ի համար։ Պրոքսին կարդում է այս թիվը և ընտրում, թե ուր միանալ։

Քանիսն են և որտեղ

Telegram-ի փաստաթղթերում ասվում է միայն «մի քանի տվյալների կենտրոն աշխարհի տարբեր մասերում». ո՛չ թիվ կա, ո՛չ քաղաքներ, իսկ հասցեների ցանկը հաճախորդը վերցնում է կոնֆիգուրացիայից։ Ուստի պրոքսիի համար կարևոր է ոչ թե «որտեղ են Telegram-ի սերվերները», այլ որ ձեր սերվերից կապ կա դրանց բոլոր հասցեների հետ. հաշիվը կապված է տնային տվյալների կենտրոնին, և նրան հասանելիություն չունեցող պրոքսին չի օգնի։

Աղբյուրներ

  1. Telegram: տվյալների կենտրոններ
  2. Telegram: MTProto transports
  3. telemt: FAQ