DC
Data center — Telegram дата-орталығы
Прокси клиент трафигін жіберетін Telegram серверлері.
Сызбадағы рөлі
Telegram серверлері бірнеше дата-орталыққа бөлінген. Прокси клиент пен олардың арасында тұрады: клиент проксиге қосылады, ал прокси керекті дата-орталыққа қосылып, трафикті әрі қарай жібереді. Мазмұн бұл кезде клиент пен сервердің кілтімен шифрланған күйінде қалады.
Клиент дата-орталықты қалай таңдайды
Мекенжайлар тізімін клиент help.getConfig сұрауымен алады: жауапта әр қолжетімділік нүктесінің идентификаторы, IP-мекенжайы және порты бар dc_options өрісі болады. Мекенжайлар мен порттар өзгеруі мүмкін, ал әр дата-орталықта әдетте кемінде бір IPv4 және бір IPv6 мекенжайы болады. Негізгі сұраулар үшін клиент ең жақын нүктені таңдайды, ал аккаунтқа кірмей тұрып кездейсоқ мекенжайға қосылады.
Аккаунттың «үй» дата-орталығы бар; клиент басқа жаққа қосылса, сервер PHONE_MIGRATE_X немесе USER_MIGRATE_X түріндегі қатемен жауап береді, клиент қайта қосылады. Файлдар сақталған дата-орталықтан жүктеледі, ал файл жіберу үшін бөлек media-only нүктелері бар.
Прокси хаттамасындағы дата-орталық
Бүркемеленген қосылымда дата-орталық идентификаторы бастапқы пакетте беріледі: бұл 60-ығысудағы таңбалы 2 байттық сан, ал медиа дата-орталықтар үшін ол теріс. Прокси ағынды қайда бағыттау керегін осылай біледі. Бастапқы пакет туралы толығырақ — obfuscated2 терминінде.
Прокси иесі үшін мұның мәні
Проксиге дата-орталықтардың бәріне қолжетімділік керек, бір бөлігіне ғана емес: аккаунт «үй» дата-орталығына байланған, егер оның мекенжайы серверден қолжетімсіз болса, пайдаланушы кіре алмайды немесе файл жүктей алмайды. Серверден Telegram жаққа шығатын қосылымдарды жабуға болмайды.
Дата-орталықтың нөмірі қалай жазылады
Бүркемеленген қосылымның бастапқы пакетінде нөмір таңбалы 2 байттық сан ретінде сақталады. Сынақ серверлері үшін оған 10000 қосылады, ал media дата-орталықтар үшін ол теріс болады: құжатта мысал ретінде media дата-орталық 4 үшін 0xfcff мәні берілген. Прокси осы санды оқиды да, қайда қосылу керегін таңдайды.
Олар қанша және қайда
Telegram құжаттамасында тек «әлемнің әртүрлі бөліктеріндегі бірнеше дата-орталық» делінген: сан да, қалалар да көрсетілмеген, ал мекенжайлар тізімін клиент конфигурациядан алады. Сондықтан прокси үшін «Telegram серверлері қайда тұр» емес, сіздің серверден олардың барлық мекенжайына байланыс бар екені маңызды: аккаунт «үй» дата-орталығына байланған, соған қолжетімділігі жоқ прокси көмектеспейді.