Peer-to-Peer (P2P) — nedir ve mobil uygulamalarda nasıl çalışır

Yazar: IT Sectr Yayınlanma: 2026-06-03 Okuma süresi: 8 dk

Peer-to-Peer (P2P), cihazların merkezi bir sunucu olmadan doğrudan etkileşime girdiği bir ağ mimarisidir. Mobil geliştirmede, P2P bağlantıları, sesli aramalardan dosya senkronizasyonuna kadar istemciler arasında doğrudan veri aktarımı sağlar. Statista (2025)'ya göre, WebRTC ve merkezi olmayan uygulamaların yaygınlaşması sayesinde mobil ağlardaki P2P trafiği hacmi ayda 15 exabyte'ı aşmaktadır. Bu mimari, sunucu altyapı maliyetlerini düşürür ve katılımcı sayısı arttıkça sistemin hata toleransını artırır.

Önemli Noktalar

  • Peer-to-Peer (P2P) — her katılımcının aynı anda hem istemci hem de sunucu olduğu bir ağ mimarisi.
  • Merkeziyetsizlik — P2P ile istemci-sunucu modeli arasındaki temel fark: veriler aracılar olmadan doğrudan iletilir.
  • WebRTC — mobil uygulamalarda P2P iletişimi için ana protokol, sesli ve görüntülü aramalar sağlar.
  • NAT Traversal — STUN ve TURN mekanizmaları, yönlendiricilerin arkasındaki cihazları bağlama sorununu çözer.
  • Ölçeklenebilirlik — P2P ağlarında yeni katılımcılar eklemek, sistemin genel kapasitesini artırır.

Peer-to-Peer (P2P) Nedir?

Peer-to-Peer (P2P), ağdaki her katılımcının aynı anda kaynak sağlayıcı ve tüketici olarak hareket ettiği merkezi olmayan bir ağ mimarisidir. İstemci isteklerini işleyen özel bir sunucunun bulunduğu geleneksel istemci-sunucu modelinin aksine, P2P ağında her düğüm eşittir.

Merkezi olmayan ağ terimi, tek bir hata noktasının olmadığı anlamına gelir — herhangi bir düğüm, genel işlevselliği kaybetmeden ağdan ayrılabilir veya kapanabilir. Bu özellik, P2P'yi merkezi mimarilerden temel olarak ayırır ve onu dağıtık uygulamalar için cazip kılar.

P2P'nin temel fikri, Napster ve Gnutella gibi erken dosya paylaşım ağlarında uygulanmıştır, ancak modern uygulamalar çok daha karmaşık mekanizmalar kullanır. Günümüzde, eşler (peer) yalnızca dosyaları değil, aynı zamanda gerçek zamanlı medya akışlarını, mesajları ve merkezi olmayan uygulamalar için verileri de değiş tokuş eder.

P2P mimarisinin temel özelliği ölçeklenebilirliktir; her yeni katılımcının eklenmesi, ağın genel bant genişliğini ve hesaplama gücünü artırır. Merkezi sistemlerde, yük artışı sunucuya binerken, P2P'de tüm düğümler arasında dağıtılır.

P2P Mimarisi Nasıl Çalışır

P2P ağ işleyişinin temeli, katılımcılar arasındaki doğrudan bağlantı ilkesidir. Bir eş, başka bir eşe veri aktarmak istediğinde, önce ağdaki adresini bulur. Eşleri bulmak için merkezi izleyicilerden (tracker) tamamen merkezi olmayan protokollere kadar çeşitli mekanizmalar kullanılır.

Bağlantı kurulduktan sonra, veriler ara sunucuları atlayarak doğrudan iletilir. Bu, tüm trafiğin sunucu altyapısından geçtiği bulut mimarilerinden temel bir farktır. Doğrudan iletim, gecikmeyi azaltır ve geliştiriciler için işletme maliyetlerini düşürür.

P2P Ağ Topolojileri

Birkaç P2P ağ topolojisi vardır. Tam bağlantılı topolojide, her eş diğer tüm eşlere bağlanır — bu maksimum hız sağlar ancak ağ büyüdükçe çok sayıda bağlantı gerektirir. Karma topolojide, koordinasyon için doğrudan bağlantılar ve yardımcı sunucuların bir kombinasyonu kullanılır.

Mobil P2P uygulamaları için en popüler topoloji DHT (Dağıtık Hash Tablosu)'dur. DHT, veri konumu hakkındaki bilgileri tüm ağ düğümlerine dağıtarak, merkezi bir dizin olmadan istenen eşi bulmayı sağlar. Bu, ağı tek tek düğüm arızalarına karşı dirençli hale getirir.

NAT Traversal ve STUN/TURN

Mobil ağlarda P2P'nin ana teknik sorunu NAT (Ağ Adresi Çevirisi) sınırlamalarıdır. Çoğu mobil cihaz, dahili IP adreslerini gizleyen ve gelen bağlantıları engelleyen yönlendiricilerin arkasındadır. Özel mekanizmalar olmadan, farklı NAT'ların arkasındaki iki cihaz doğrudan bir P2P bağlantısı kuramaz.

Bu sorunu çözmek için STUN (NAT için Oturum Geçiş Yardımcı Programları) protokolü kullanılır. Bir STUN sunucusu, bir cihazın internete görünen harici IP adresini ve portunu belirlemesine yardımcı olur. Bu bilgiyi alan eş, bunu bir sinyalleşme kanalı aracılığıyla başka bir katılımcıya iletir.

STUN'un doğrudan bağlantı kuramadığı durumlarda (simetrik NAT), TURN (NAT Çevresinde Röle Kullanarak Geçiş) protokolü imdadına yetişir. Bir TURN sunucusu, geçici bir aracı olarak hareket ederek eşler arasındaki trafiği iletir. Bu, gecikmeyi artırır ancak her ağ koşulunda bağlantıyı garanti eder.

WebRTC ve P2P İletişimi

WebRTC (Web Gerçek Zamanlı İletişim), ses, video ve verilerin gerçek zamanlı P2P iletimi için açık bir standarttır. WebRTC, en uygun bağlantı yolunu bulmak için STUN ve TURN'ü birleştiren ICE (Etkileşimli Bağlantı Kurulumu) aracılığıyla yerleşik NAT Traversal desteği içerir.

WebRTC üzerinden P2P bağlantısı kurma süreci şöyledir: başlatan eş, yeteneklerini açıklayan bir teklif SDP'si (offer SDP) oluşturur, ardından bunu bir sinyalleşme sunucusu (WebSocket veya HTTP) aracılığıyla ikinci katılımcıya gönderir. İkinci eş bir yanıt SDP'si (answer SDP) oluşturur ve ICE adaylarının değişiminden sonra doğrudan bir bağlantı kurulur.

JavaScript'te temel WebRTC bağlantısı başlatma örneği:

js
const config = {
  iceServers: [
    { urls: 'stun:stun.l.google.com:19302' }
  ]
};
const pc = new RTCPeerConnection(config);
pc.onicecandidate = (event) => {
  if (event.candidate) {
    // forward candidate via signaling channel
  }
};
const channel = pc.createDataChannel('p2p-chat');
pc.createOffer().then((offer) => pc.setLocalDescription(offer));

Bağlantı kurulduktan sonra, Veri Kanalı (Data Channel) metin, ikili dosyalar, medya akışları gibi isteğe bağlı verilerin iletilmesine olanak tanır. WebRTC otomatik olarak en uygun codec'i seçer ve kaliteyi kanal bant genişliğine göre uyarlar.

Mobil Geliştirmede P2P Kullanımı

Mobil geliştirme, veri aktarım hızı ve gizliliğin önemli olduğu senaryolar için P2P mimarisini aktif olarak kullanır. Başlıca uygulama alanları arasında sesli ve görüntülü aramalar, dosya paylaşımı, merkezi olmayan mesajlaşma ve cihazlar arası veri senkronizasyonu bulunur.

Mesajlaşma ve Sesli İletişim

Modern mobil mesajlaşma uygulamaları, sunucu altyapılarındaki yükü azaltmak ve iletim gecikmelerini düşürmek için sesli ve görüntülü aramalarda P2P bağlantıları kullanır. İki kullanıcı arasındaki bir arama sırasında, Signal Protokolü uçtan uca şifreleme sağlar ve WebRTC doğrudan bir medya akışı oluşturur.

WhatsApp, Telegram ve Signal gibi popüler uygulamalar, medya iletişimi için P2P kullanır. NAT sınırlamaları nedeniyle doğrudan P2P bağlantısı mümkün olmadığında, sistem otomatik olarak bir röle sunucusuna (TURN) geçer. Bu hibrit yaklaşım, her koşulda bağlantıyı garanti eder.

P2P aramalarının önemli bir avantajı azaltılmış gecikmedir. Veriler, veri merkezlerindeki sunucuları atlayarak doğrudan cihazlar arasında iletilir; bu, 200 ms'nin üzerindeki gecikmenin kullanıcı tarafından fark edildiği sesli iletişim ve video konferans için özellikle kritiktir.

Dosya Paylaşımı ve Senkronizasyon

P2P üzerinden dosya paylaşımı, mobil uygulamalarda en çok talep edilen özelliklerden biri olmaya devam etmektedir. BitTorrent protokolünü veya mobil uygulamalarını kullanarak cihazlar, büyük dosyaları bulut sunucusuna yüklemeden doğrudan aktarabilir. Bu, depolama maliyetlerini düşürür ve aktarımı hızlandırır.

Bir kullanıcının cihazları arasında veri senkronizasyonu için IPFS (Gezegenlerarası Dosya Sistemi) protokolü kullanılır. IPFS, dosyaları içeriklerine göre tanımlar (içerik adresleme), bu da merkezi bulut depolama olmadan telefon, tablet ve dizüstü bilgisayar arasında verimli senkronizasyon sağlar.

P2P senkronizasyonu ayrıca işbirliğine dayalı çalışmada — gerçek zamanlı belge ve not düzenleme uygulamalarında kullanılır. CRDT (Çakışmasız Çoğaltılmış Veri Türleri) işlemleri, birden çok katılımcının merkezi bir sunucu olmadan aynı anda verileri düzenlemesine olanak tanır.

P2P'nin Avantajları ve Sınırlamaları

P2P mimarisi, merkezi modellere göre birkaç önemli avantaj sunar. Hata toleransı temel avantajlardan biridir: tek bir sunucunun olmaması, herhangi bir düğümün arızalanmasının tüm ağı engellemediği anlamına gelir. Bu, özellikle mobil uygulamalar için önemlidir çünkü cihazlar her an bağlantıyı kaybedebilir.

İkinci avantaj maliyet etkinliğidir. Geliştiricilerin medya trafiği iletimi için pahalı sunucu altyapısı için ödeme yapması gerekmez. Bunun yerine, sunucular yalnızca sinyalleşme ve koordinasyon için kullanılırken, ana veri akışı doğrudan kullanıcılar arasında gider.

Gizlilik bir diğer önemli faktördür. Cihazlar arasında doğrudan veri aktarımı ile trafiği engelleyebilecek veya analiz edebilecek bir ara sunucu yoktur. Uçtan uca şifreleme ile birleştiğinde, P2P kullanıcılar için yüksek düzeyde gizlilik sağlar.

Ancak P2P'nin sınırlamaları da vardır. Başlıca sınırlama, gerçek ağ koşullarında bağlantı kurmanın karmaşıklığıdır. Mobil operatörler ve kurumsal ağlar genellikle P2P trafiğini engeller; bu da ölçeklendirme sırasında pahalı olabilen röle sunucularının (TURN) kullanılmasını gerektirir.

Diğer bir sorun dengesiz yük dağılımıdır. Bir P2P ağında, bazı düğümler daha güçlü bir işlemciye veya daha geniş bir iletişim kanalına sahip olabilirken, diğerleri zayıf bir bağlantıya sahiptir. Bu, hızlı düğümlerin orantısız derecede büyük miktarda trafik işlediği bir dengesizlik yaratır.

Son olarak, P2P ağ güvenliği ek dikkat gerektirir. Merkezi olmayan bir ağda, hangi verilerin iletildiğini ve kimin katıldığını kontrol etmek daha zordur. Mobil uygulamalar için kimlik doğrulama mekanizmaları ve veri bütünlüğü kontrolleri uygulamak gereklidir.

Sıkça Sorulan Sorular

P2P, istemci-sunucu mimarisinden nasıl farklıdır?

P2P mimarisinde, ağdaki her katılımcı hem istemci hem de sunucu işlevlerini yerine getirir ve verileri doğrudan değiş tokuş eder. İstemci-sunucu modelinde, tüm istekler kaynakları yöneten ve erişim sağlayan merkezi bir sunucudan geçer. P2P, altyapı yükünü azaltır ve hata toleransını artırır.

WebRTC, Peer-to-Peer ile nasıl ilişkilidir?

WebRTC, ses, video ve veri aktarımı için protokoller içeren gerçek zamanlı P2P iletişimi için bir standarttır. ICE, STUN ve TURN aracılığıyla tarayıcılar ve mobil uygulamalar arasında doğrudan bağlantı kurulmasını sağlayarak NAT Traversal sorununu çözer.

Mobil uygulamalarda P2P için hangi protokoller kullanılır?

Ana protokoller şunlardır: medya ve veri iletimi için WebRTC, dosya paylaşımı için BitTorrent, merkezi olmayan depolama için IPFS, şifreleme için Signal Protokolü. NAT Traversal için STUN ve TURN kullanılır ve bağlantı koordinasyonu için WebSocket üzerinden sinyalleşme protokolleri kullanılır.

Mobil uygulamalarda P2P bağlantıları kullanmak güvenli midir?

Doğru uygulama ile P2P bağlantıları güvenli olabilir. İletilen tüm veriler için uçtan uca şifreleme, bir sinyalleşme sunucusu aracılığıyla katılımcı kimlik doğrulaması ve mesaj bütünlüğü doğrulaması kullanılması önerilir. WebRTC, varsayılan olarak medya akışlarını şifreler (DTLS ve SRTP).

Bulut mimarisi yerine P2P ne zaman kullanılmalıdır?

P2P, sesli ve görüntülü aramalar, cihazlar arası dosya paylaşımı, merkezi olmayan uygulamalar ve veri senkronizasyonu için tercih edilir. Bulut mimarisi, veri depolama, iş mantığı ve merkezi yönetim ile denetim gerektiren senaryolar için daha uygundur.

Özet

  • Peer-to-Peer (P2P) — her katılımcının eşit bir düğüm olduğu merkezi olmayan bir ağ mimarisi.
  • İstemci-sunucu modelinden temel fark — merkezi sunucu yok ve cihazlar arasında doğrudan veri iletimi.
  • WebRTC — ses, video ve Veri Kanalı dahil olmak üzere mobil geliştirmede P2P iletişimi için temel standart.
  • NAT Traversal (STUN ve TURN aracılığıyla) — yönlendirme kısıtlamaları olan mobil ağlarda P2P çalışması için gerekli koşul.
  • P2P mesajlaşma uygulamaları gecikmeyi azaltmak ve kullanıcı gizliliğini artırmak için doğrudan bağlantılar kullanır.
  • Güvenlik, uçtan uca şifreleme, katılımcı kimlik doğrulaması ve WebRTC'deki DTLS ve SRTP protokolleri aracılığıyla sağlanır.
  • Karma mimariler, veri iletimi için P2P'yi ve sinyalleşme ve koordinasyon için bulut sunucularını birleştirir.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış