Tüm Yazılar
Ağ Mühendisliği10 dk okuma

Telegram'ın Teknik Anatomisi: MTProto ve Dağıtık Sunucu Mimarisi

MTProto neden sıfırdan yazıldı? Bulut mesajları ile Gizli Sohbet arasındaki şifreleme farkı ne anlama gelir? Telegram'ın DC mimarisi, fan-out sistemi ve mobil optimizasyonlarının mühendislik anatomisi.

S

Sinaps Technologies

8 Ocak 2026

Telegram'ın Teknik Anatomisi: MTProto ve Dağıtık Sunucu Mimarisi

Telegram, 2013 yılında piyasaya çıktığından bu yana teknik topluluğun en çok tartıştığı mesajlaşma altyapılarından biri haline geldi. Özellikle kendi geliştirdiği şifreleme protokolü MTProto ve çok merkezli sunucu mimarisi, hem övgü hem de eleştiriyle karşılandı. Bu yazı, o tartışmaları bir kenara bırakarak Telegram'ın gerçekte nasıl çalıştığını mühendislik gözüyle inceliyor.

MTProto: Sıfırdan Tasarlanan Bir Protokol

Çoğu mesajlaşma uygulaması, mevcut şifreleme ve transport katmanlarını (TLS, XMPP, Signal Protocol) birleştirerek çalışır. Telegram ise MTProto (Mobile Transport Protocol) adını verdiği, sıfırdan tasarlanmış bir protokol yığını geliştirdi.

MTProto'nun temel hedefi, yavaş veya kararsız mobil bağlantılarda bile düşük gecikmeyle çalışmaktı. Bunu başarmak için protokol, üç katmanlı bir yapı kullanır:

Yüksek Düzey Bileşen: API sorgularını ve yanıtlarını TL (Type Language) adlı kendi serileştirme diliyle ikili formata dönüştürür. JSON'dan çok daha kompakt olan bu format, özellikle düşük bant genişliğinde belirgin avantaj sağlar.

Kriptografik Katman: Oturum anahtarlarını RSA-2048 ile şifrelenmiş Diffie-Hellman değişimiyle oluşturur. Mesajlar AES-256 ile şifrelenir; ancak standart CBC veya GCM modları yerine IGE (Infinite Garble Extension) modu kullanılır. Bu tercih, kriptografi camiasında tartışmalı olmaya devam etmektedir.

Transport Katmanı: TCP, UDP veya HTTP üzerinden çalışabilir. Engelleme senaryolarında protokol, HTTP/HTTPS trafiğine benzer paketler üretecek şekilde gizlenebilir (obfuscation).

Veri Merkezleri: Beş Bölge, Tek Ağ

Telegram, kullanıcıları coğrafi konumlarına göre beş DC (Data Center) bölgesinden birine atar:

  • DC1, DC3: Miami, ABD
  • DC2, DC4: Amsterdam, Hollanda
  • DC5: Singapur

Bir kullanıcının mesajı, her zaman kendi DC'sinden geçer. İki kullanıcı farklı DC'lerdeyse, Telegram'ın omurga ağı mesajı kaynak DC'den hedef DC'ye iletir. Bu mimari, büyük grup iletişimlerinde merkezi koordinasyonu kolaylaştırır; ancak aynı zamanda Telegram'ın bulut mesajları için sunuculara erişim gerektirdiği anlamına gelir.

Hücresel bağlantıda bu mimari şöyle işler: Cihaz, TCP bağlantısını en yakın DC'ye açar. Bağlantı TCP üzerindeyse MTProto kendi akış kontrolünü yönetir. UDP kullanıldığında ise MTProto kendi güvenilir iletim katmanını devreye sokar; kayıp paketler protokol düzeyinde yeniden gönderilir.

Bulut Mesajları ve Gizli Sohbetler: İki Farklı Model

Telegram'ın şifreleme modeli iki şekilde çalışır ve bu ayrım kritik önem taşır:

Bulut Mesajları (Varsayılan)

Normal sohbetler, grup mesajları ve kanallar sunucu taraflı şifreleme kullanır. Mesajlar Telegram'ın sunucularında şifreli olarak saklanır; Telegram bu içeriklere teknik olarak erişebilir. Avantajı, mesajların tüm cihazlarda senkronize kalmasıdır. Sohbet geçmişi yeni bir cihazda anında yüklenir, çünkü veri bulutta tutulmaktadır.

Gizli Sohbetler (Secret Chats)

Yalnızca bu modda uçtan uca şifreleme devreye girer. Anahtarlar yalnızca iki cihazda bulunur, sunucular mesajın içeriğini göremez. Gizli sohbetler cihaza özgüdür: başka bir cihazdan erişilemez, bulutta yedeklenmez. İsteğe bağlı mesaj silme süreleri (self-destruct timers) yalnızca bu modda geçerlidir.

Bu ayrım, WhatsApp ve Signal'den temel farkı oluşturur: Telegram'da şifreleme varsayılan değil, tercihli bir özelliktir.

Kanal ve Grup Mimarisi: Milyonlarca Eş Zamanlı Alıcı

Telegram'ın en özgün mühendislik katkılarından biri, büyük kanal mimarisini ölçeklendirme biçimidir. Bir kanal milyonlarca abone içerebilir ve her yeni mesaj tüm abonelere iletilmek zorundadır.

Bu problemi çözmek için Telegram fan-out mimarisine başvurur: Mesaj DC'ye ulaştığında, sunucu katmanı her aktif abonenin bağlı olduğu TCP oturumuna bir push bildirimi gönderir. Çevrimdışı kullanıcılar için mesaj, bir sonraki bağlantıda iletilmek üzere sıralanır.

Hücresel ağ tarafında bu, abone sayısıyla orantılı değil, bireyin bağlantı kalitesiyle orantılı bir veri yüküdür: Her kullanıcı, yalnızca kendi gelen mesajlarını çeker.

Medya ve CDN Katmanı

Fotoğraf, video ve dosya paylaşımı için Telegram kendi CDN altyapısını işletir. Büyük kanal yayınları için ayrıca CDN DC adı verilen önbellekleme sunucuları devreye girer: Popüler içerikler, kullanıcıya coğrafi olarak yakın CDN düğümlerinden sunulur.

Medya şifrelemesi, içerik yükleme anında istemci tarafında gerçekleşir. Sunucuya ulaşan şifreli yük, CDN'e dağıtılır; şifre çözme anahtarı mesaj içinde taşınır. Gizli sohbetlerde bu anahtar da uçtan uca şifreli kanaldan geçer.

Bot API: Mesajlaşma Altyapısının Programatik Yüzü

Telegram'ın Bot API'si, protokolün HTTP/JSON arayüz katmanıdır. Bot'lar, uzun süre bekleyen HTTP bağlantısı (long polling) veya webhook aracılığıyla olayları alır. Bu altyapı, Telegram'ı yalnızca bir mesajlaşma uygulaması değil, entegrasyon platformuna dönüştürür.

Hücresel ağ perspektifinden bakıldığında: Bir bot webhook'u tetiklendiğinde, Telegram'ın sunucuları belirlenen HTTPS uç noktasına POST isteği gönderir. Bu istek başarısız olursa Telegram, üstel geri çekilmeyle yeniden dener.

Hücresel Bağlantıda MTProto Davranışı

MTProto, özellikle mobil ağ koşulları için optimize edilmiştir:

  • Ağ geçişlerinde: Wi-Fi'dan hücresel ağa geçişte mevcut oturum yeniden kullanılmaya çalışılır; bu sayede yeniden bağlanma süresi kısalır.
  • Yüksek gecikme koşullarında: Protokol, yanıt beklemeksizin birden fazla isteği pipeline (ardışık) biçimde gönderebilir.
  • Paket kaybında: UDP modunda MTProto kendi ACK mekanizmasını yönetir; kayıp paketler uygulama katmanında tespit edilerek yeniden istenir.
  • Bant genişliği kısıtlamasında: TL serileştirmesi, mesajları mümkün olan en kompakt ikili formata dönüştürür.

Performans: Sayısal Çerçeve

MTProto üzerinden metin mesajı gecikmesi, iyi hücresel bağlantı koşullarında genellikle 30-150 ms arasındadır. WhatsApp'a kıyasla zaman zaman daha düşük gecikme gözlemlenmesinin başlıca nedeni, MTProto'nun TCP el sıkışmalarını ve TLS müzakerelerini minimize etmek üzere tasarlanmış olmasıdır.

Ancak bu avantaj, güvenlik açısından bir bedelle gelir: TLS gibi geniş çapta denetlenmiş protokollerin sağladığı güvencelerden bazılarından feragat edilmiştir.

Sonuç

Telegram, mesajlaşma altyapısı tasarımında alışılmışın dışında bir yol seçti: Var olan bileşenleri birleştirmek yerine, uçtan uca kendi protokolünü yazdı. Bu tercih, özellikle ölçek ve performans açısından somut avantajlar sağlarken, şifreleme modelindeki seçimler teknik topluluğun süregelen tartışma gündeminde kalmaya devam etmektedir. Sonuç olarak Telegram, iyi anlaşılması gereken; avantajlarını ve sınırlılıklarını bilerek kullanılması gereken bir altyapıdır.