"Enter"a basıp içeriğe geçin

P2P Ağlarda Dosya Paylaşımı

Bilgisayar ağları, iki ya da daha çok bilgisayarın enformasyon değişimi, kaynak veya uygulama paylaşımı amacıyla birbirleriyle bağlanmasından oluşur. Bilgisayarların birbirleriyle bağlanmasından söz ediyor olsak da bilgisayar kavramının kapsayıcılığını, telefonların, televizyonların ve film oynatıcıların bilgisayarlaştığını unutmamak gerekir.

Bilgisayarlar farklı teknolojiler (bakır ve fiber kablolar, fiber optik, kızılötesi ışınlar, uydu bağlantıları) kullanılarak birbirlerine bağlanabilirler ve bilgisayarlar arası iletişim daha önce belirlenmiş (protokol) kurallar çerçevesinde gerçekleşir.

Enformasyon değişimine en güzel örnek dosyaların farklı bilgisayar kullanıcılarınca paylaşımıdır. Bu paylaşım, bir dosyanın bilgisayardan bilgisayara transferi biçiminde olabileceği gibi iki ya da daha fazla bilgisayar kullanıcısının eş zamanlı olarak aynı belge üzerinde çalışması da olabilir. Enformasyon değişimi, anlık mesajlaşma ve video konferans gibi biçimlerde de gerçekleşebilir. Paylaşılan kaynaklara ise birden fazla bilgisayarın ortak kullandığı yazıcılar örnek gösterilebilir. Her bilgisayara bir yazıcı bağlamaktansa bir yazıcıyı ağ üzerinden paylaştırmak daha ekonomiktir. Bilgisayarlar iş yerlerinde belirli bir işi aynı anda yapabilmek ve veri bütünlüğünü korumak için de ağa dahil edilirler. Bir iş yerinde kullanılan muhasebe uygulaması, ağ üzerinden farklı kullanıcılar tarafından aynı anda kullanılabilir.

Ağı oluşturma amacımız, ağın yapısını da belirler. Örneğin, iki kullanıcı sadece aralarında dosya paylaşmak istediklerinde aşağıdaki gibi basit bir ağ oluşturulabilir:

Resim-1
Resim-1

A ve B bilgisayarları birbirlerine ağ üzerinden ses, görüntü ve metin dosyaları gönderebilirler.

Bilgisayar ağında belirli bir içeriği sunan sunucu bilgisayarlar (server) ve bundan faydalanan istemci (client) bilgisayarlar bulunur. Resim-2’de A ve B istemcileri, C sunucusunu kullanmaktadır.

ag-2

Çoğunlukla sunucular istemcilere göre daha üstün teknik özelliklere sahiptir. Ama bu bir zorunluluk değildir. Tam tersi de olabilir. İstemcilerden ve sunuculardan oluşan bir ağ, hiyerarşik bir ilişkidir. Herhangi bir istemcinin yokluğu diğer istemcileri ya da sunucuyu olumsuz etkilemez. Sunucuda yaşanan herhangi bir olumsuzluk ise istemcilerin çalışmasını doğrudan etkileyecektir.

İstemci ve sunucu kavramları ağdaki bilgisayarlar arası ilişkide bilgisayarın rolünü gösterir. Pekala aynı bilgisayar ağda hem istemci hem de sunucu olabilir. Aslında Resim 1’deki A bilgisayarı, içerdiği dosyaları B ile paylaşırken sunucu, B’nin dosyalarından faydalanırken istemcidir. Bilgisayarların ağda nasıl ve hangi rollerle ilişkilendirileceği ve bu ilişkinin hangi kurallar çerçevesinde gerçekleşeceği ağın oluşumunda belirleyicidir.

Ağların ağı İnternet’e bakalım.

İnternet’in 1960’larda, ABD Savunma Bakanlığı’nın bir nükleer savaşta SSCB’nin zaferini ya da ABD iletişim ağlarının çökertilmesini önlemeye yönelik bir planla doğduğu bilinir. Fakat bu planın nasıl gerçekleştirildiği, ağların ağındaki bilgisayarların nasıl ilişkilendirildiği önemlidir:

Proje, bir ölçüye dek düşmanın gücüne hareket kabiliyeti ve arazinin bilgisiyle karşı koyabilmek için gerilla güçlerinin çok geniş bir araziye yayılmasını öngören Maocu taktiklerin elektronik bir dengiydi. Sonuç, tam da mucitlerinin istediği gibi, herhangi bir merkezden kontrol edilemeyen, elektronik bariyerleri aşarak birbirleriyle sayısız biçimde bağlantı kurabilen binlerce özerk bilgisayardan oluşan bir ağ mimarisi oldu [1]. (s. 8)

Bu nedenle İnternet’in sansürlenmesi pek kolay olmamaktadır. Tüm engellemelere rağmen yasaklı sitelere girilebilir. Hükümetlerin elektronik takibi alt edilebilir. Örneğin Mısır Hükümeti İnternet karşısında çaresiz kalmış, iletişimi engellemek için İnternet’i tamamen kesmek dışında bir yol bulamamıştır.

İnternet’in ademi merkeziyetçi niteliği ve bu niteliğin ağdaki uygulamalarda korunması devletlerin ve şirketlerin yaptırımlarına karşı koyabilmek adına önemlidir. Bir dosya paylaşım uygulaması olan Napster’in hikayesi buna güzel bir örnektir.

Napster

Her şey mp3’ün icadıyla başladı diyebiliriz. mp3 teknolojisi, ses dosyalarını sıkıştırarak boyutlarının küçülmesine olanak veren ve böylece müzik eserlerinin paylaşılabilirliğini arttıran bir teknoloji. 1990ların ikinci yarısında İnternet, mp3 paylaşım siteleriyle doldu.

Fakat 1999 yılında 18 yaşında olan Shawn Fanning’e göre bir müzik eserine ait mp3 dosyasını bulmak hala sıkıntılıydı. Arama motorlarında bir müzik eserini arattığınızda karşınıza ilgili ilgisiz çok sayıda bağlantı çıkıyordu. Üstelik bu bağlantılar arasında ses dosyasının artık sunucuda yer almadığı ölü bağlantılar da çoktu. Fanning, sadece mp3 dosyaları arasında bir arama yapan, merkezi bir sunucu olmadan dosyaların paylaşılabildiği ve kullanıcıların kendi aralarında sohbet edebileceği bir yazılım geliştirmeye karar verdi. Fanning, aylarca süren bir çalışmadan sonra geliştirdiği ve Napster (kıvırcık saçlarından dolayı Fanning’in okuldaki lakabıydı) adını verdiği yazılımın içerdiği ağ ilişkileri aşağıdaki gibiydi (http://www.howstuffworks.com/napster.htm):

napster

Bilgisayarınızdaki Napster uygulamasını kullanarak bir şarkı indirmek istediğinizde önce Napster’in merkezi indeks sunucusuna bağlanmanız gerekiyordu. Bu sunucu, kendisine bağlı istemcilerin listesini ve bu istemcilerin paylaştığı dosyaların bilgisini saklamaktaydı. Mp3 dosyaları, Napster sunucusunda değil, istemci bilgisayarlarında yer alıyordu. Eser veya sanatçı adı yazarak yaptığınız arama Napster’in merkezi indeks sunucusuna gidiyordu. Daha sonra bu sunucu, bulunan eserlerin listesini, bu eserlerin hangi istemci bilgisayarında yer aldığı bilgisiyle beraber size iletiyordu. Siz de listede yer alan bir esere tıklayarak bu eserin ses dosyasını başka bir istemci bilgisayardan indirebiliyordunuz. Bu tarz iletişime, P2P (peer to peer – akranlar arası iletişim) denir.

Sunucu Tabanlı Ağ
Sunucu Tabanlı Ağ
P2P Ağ
P2P Ağ

 

Napster’dan önce de dosya paylaşılıyordu. Fakat Napster, dosya paylaşımını kolaylaştırarak dosya paylaşımını yaygınlaştırdı. Tabi bu durum kayıt şirketlerinin gözünden kaçmadı ve Napster’ın yasal bir uygulama olmadığını iddia ettiler. Napster ise yaptığı savunmada 1992 yılında çıkan, Sesin Evde Kaydedilmesi Hakkındaki Kanun’u (http://en.wikipedia.org/wiki/_Home_Recording_Act) referans göstererek kullanıcıların dosya paylaşımının yasalara aykırı olmadığını belirtti. İlgili kanun, ticari ya da herhangi bir çıkar amacı gütmeksizin kişilere ellerindeki müzik eserlerini arkadaşlarıyla paylaşma olanağı sunuyordu. Arkadaşın tanımı ve sayısı hakkında hiçbir kısıtlama yoktu. Tüm İnternet kullanıcıları arkadaştı ve dolayısıyla P2P ağlarda paylaşımda yasaya aykırı bir durum olmamalıydı.

Mahkeme aynı görüşte değildi. Napster’in faaliyetleri telif haklarını ihlal ettiği gerekçesiyle 2000 yılında durduruldu ve Napster 2002 yılında iflasını açıkladı. Napster’in aşil topuğu merkezi sunucularda tutulan dizinleriydi. Nitekim mahkemede Napster’a telif haklarını ihlal eden dosyaların sunucuya kaydını engellemediği gerekçesiyle bir suçlama yöneltildi.

Napster 2001 yılında yaptığı savunmada telif hakkı ihlallerini %99.4 oranında engelleyen bir teknoloji geliştirdiğini söyledi. Ancak mahkeme bu oranı yeterli bulmadı! Lawrence Lessig’e göre mahkemenin bu oranı yeterli bulmaması, asıl savaşın telif hakları üzerine değil dosya paylaşım teknolojileri üzerine olduğunun bir göstergesiydi [2].

Şirketlerin bu savaş ilanı karşılıksız kalmadı.

Gnutella

Justin Frankel, Gianluca Rubinacci ve Tom Pepper tarafından geliştirildi. Gnutella, Napster’den farklı olarak dosya paylaşımını müzik dosyaları ile sınırlamıyordu. Gnutella da P2P bir ağıydı ve Napster gibi,

  • Kullanıcılar paylaşmak istedikleri dosyaları kendi bilgisayarları üzerinden diğer kullanıcılara sunuyorlardı.
  • Gnutella ağına bir yazılım kullanarak bağlanıyorlardı.

Fakat Napster olayından ders alınmıştı. Napster’den farklı olarak Gnutella’da,

  • Paylaşılan tüm dosyaların bilgisine sahip merkezi sunucu bulunmaz. Napster’daki indeks sunucusunun görevi ağadaki diğer istemciler tarafından yerine getirilir.
  • Tek bir istemci uygulaması yoktur. Gnutella ağında, protokol kurallarına uyan başka başka uygulamalar olabilir.

Yazının başında belirtildiği gibi istemcilerin sunucuya bağımlı olduğu merkezi sistemlerde, istemciler sunucudaki herhangi bir sorundan doğrudan etkilenmektedir. Napster’in başına gelen yasal sorun tüm Napster ağını ortadan kaldırmıştır. Şimdi mahkemelerin suçlayabileceği ne merkezi bir sunucu vardır ne de tüm P2P iletişi engelleyebilecek bir aşil topuğu.

Şimdi tek bir yazılım da olmadığından bir kişi ya da grubun yazılımına dava açarak ağı çökertmek de mümkün değildir. Gnutella protokolü çerçevesinde, aynı dili konuşan uygulamalar ağın sürekliliğini sağlar.

Peki Gnutella, her şeyi bilen merkezi bir sunucu olmaksızın nasıl çalışmaktadır? (bkz. http://computer.howstuffworks.com/file-sharing.htm)

Herhangi bir Gnutella istemcisiyle ağa bağlandığınızda, bu istemci ağdaki en az bir Gnutella istemcisinin adresini bilir. Bu ilk adresi ya siz belirtmişsinizdir ya da kullandığınız Gnutella istemcisi geliştirilirken önceden belirtilmiştir. Bir dosya arattığınızda, ilk ulaştığınız istemciler aradığınız dosyanın kendi disklerinde olup olmadığına bakar. Eğer varsa, bu dosya adresini indirebilmeniz için size gönderir. Dosya yoksa, talebinizi ağdaki diğer istemcilere iletir. Aynı adım, mesajın iletildiği diğer istemcilerde de gerçekleşir. Aramalarınızda TTL (time to live) adlı bir zaman kriteri belirtirsiniz ve yanıtın sürenin izin verdiği ölçüde dönmesini beklersiniz. 6. veya 7. derinliğe kadar inilebilir ve erişilebilen istemci sayısı 8000’i aşabilir:

gnutella

Görüldüğü gibi Gnutella’da, herhangi bir mahkeme kararının, bir bilgisayarı devre dışı bırakarak ağ iletişimine son vermesi mümkün değildir. Başta Limewire olmak üzere Gnutella protokolü üzerinden haberleşen çok sayıda istemci uygulaması vardır. Limewire aynı zamanda özgür bir yazılımdır. Limewire yazılımının geliştiricileri yasal yaptırımlara maruz kalsa da aynı kod başka biçimler altında özgürlüğüne devam eder (bkz. http://en.wikipedia.org/wiki/LimeWire_Pirate_Edition).

Gnutella’yı yasal yollardan durdurmak pek olanaklı değildir. Ama ağı gereksiz ve yoğun bir şekilde meşgul ederek ve istemcilere bozuk dosyalar yerleştirip ağın güvenirliğini sarsarak ağı içten çökertme girişimleri de olmuştur. Bu girişimler, programcılar tarafından etkisiz hale getirilmiştir.

Fakat Gnutella’yı merkezi bir indeks sunucusu olan Napster ile karşılaştırdığımızda bazı dezavantajlarının da olduğunu görürüz.

Merkezdeki Napster sunucusu ağa bağlı tüm bilgisayarların disklerindeki dosyaların bilgisine sahiptir. Gnutella’da ise arama kapsamı o an erişilebilen istemci sayısı ile sınırlıdır. Ağda 1 milyon istemci bulunabilir. Ama rastgele 8000 bilgisayara erişip bir şey bulamamanız da olasıdır.

Arama doğrudan tek bir sunucuya erişerek değil de dağıtık bir biçimde gerçekleştiğinden yanıtın dönüşü daha uzun zaman alabilir.

Her istemci, aynı zamanda bir sunucudur. Gelen talepleri alıp diğer istemcilere iletir. Bu haberleşme de daha yoğun bir ağ trafiği yaratır.

BitTorrent

BitTorrent de Gnutella gibi tek bir uygulama değil, farklı uygulamalar tarafından gerçekleştirimi yapılabilen bir protokoldür. Bram Cohen tarafından geliştirilen ilk sürümü 2001’de, son sürümü ise 2008’de yayınlandı. Ağı daha verimli kullanıyor olması Bittorent’i Gnutella’dan daha popüler hale getirdi.

BitTorrent’in kendinden önceki P2P protokollerinden en büyük farkı dosya indirme işini dağıtık bir şekilde gerçekleştirmesi oldu.

BitTorrent’te, ağdaki dosyaya tohum (seed), bir dosyayı yükleyen veya dosyanın tamamına sahip olan kullanıcıya tohumcu (seeder) adı verilir. Dosyayı indirene ise sömürgen (leecher) denir. Sömürgen dosyanın tamamını indirdiğinde sömürgenliği sona erir ve tohumcu olur. Ağda herhangi bir tohumcu olduğu sürece, dosya dağıtılabilirliğini korur.

BitTorrent ağı beş bileşenden oluşuyor.

1. İçerik Dosyası: İçerik herhangi bir dosya olabilir. BitTorrent istemcisi bu içeriği parçalar. Böylece dosya diğer P2P protokollerinde olduğu gibi tek bir bilgisayardan indirilme zorunluluğundan kurtulur. Herhangi bir dosyanın bir parçasını A bilgisayarından, diğer bir parçasını B’den, bir diğerini C’den indirmek mümkündür. İndirme için tek bir bilgisayara bağımlılık ortadan kalktığından indirme işlemi Napster’dan ve Gnutella’dan çok daha hızlıdır..

2. Torrent Dosyası: İçerik dosyasının P2P ağa tohum olarak ekilebilmesi için bir torrent dosyasının oluşturulması gerekir. Torrent dosyaları birkaç kilobayttan oluşur ve dosyanın nasıl parçalandığı bilgisini içerir.

3. İndeks: İndeks siteleri, torrent dosyalarının aranmasını kolaylaştıran bir arayüz sunar. Diğer P2P ağlarda olduğu gibi sunucularda herhangi bir içerik barındırılmaz. Arama sonuçları, dosyaların torrent bilgilerini içerir. İndeks dosyalarından arama hizmeti sunan isoHunt.com’a açılan davada isoHunt.com yaptıklarının arama motorlarının yaptıklarından farksız olduğunu savunup, arama motorları gibi arama sonucundan sorumlu olamayacaklarını belirtmiştir. Tabi bu tarz savunmalar yine pek kabul görmemiştir.

4. Takipçi (Tracker): Bir torrent dosyasını açtığınızda dosyanın tohumcularının ve sömürgenlerinin listesini veren bir takipçi sunucusuna erişilir. Takipçi, içeriğe dair bir bilgi içermez. Sadece içeriğe erişilebilecek bilgisayarların listesine (swarm) sahiptir. Sürekli takipçiye erişime gerek yoktur. Takipçide gerekli bilgi alındıktan sonra dosyanın indirilmesi başlar.

5. İstemci: Dosya tohumlamak, torrent dosyalarını okumak ve indirme işlerini yönetmek için kullanılır.

Tohumcu ve sömürgen terimleri belirli bir dosyayla ilişkilidir. Bir istemci bir dosya için tohumcu, bir başkası için sömürgen olabilir. Bir sömürgen dosyanın x. parçasını indirmiş, bir başkası 7. parçasını indirmiş olabilir. Bu durumda, her iki sömürgen birbirinden faydalanabilir.

Bir BitTorrent istemcisi aynı anda dosyanın çeşitli bölümlerini gönderip alabilir.
Bir BitTorrent istemcisi aynı anda dosyanın çeşitli bölümlerini gönderip alabilir.

BitTorrent’te bir şey paylaşmayan sömürgenlere karşı da önlem alınmıştır. Protokole yerleştirilen tit-for-tat adlı ilkeyle paylaşımda bulunanlar ağ kullanımında daha avantajlı hale getirilmektedir.

BitTorrent’in de aşil topuğu merkez sunucularıdır. İndeks ve takip işlemleri için merkezi sunucular kullanılmaktadır. Fakat BitTorrent yalnızca telif hakkı ihlali içeren dosyaların paylaşımı için değil çok sayıda yasal amaç için de kullanılmaktadır:

  • Büyük Britanya Hükümeti, vatandaşların vergilerinin nasıl harcandığının detayları BitTorrent kullanarak dağıtmıştır.
  • Facebook ve Twitter, sunucularındaki güncellemeleri BitTorrent protokolü üzerinden yapmaktadır.
  • CBC (Kanada Yayın Kurumu), NRK (Norveç Yayın Kurumu), VPRO (Hollanda Yayın Kurumu) vb yayıncı kuruluşlar telif hakkı sorunu olmayan içeriklerini BitTorrent üzerinden dağıtmayı tercih etmişlerdir.
  • Vodo (http://vodo.net/), telif hakkı sorunu olmayan içeriği BitTorrent üzerinden dağıtmaktadır.

Fakat BitTorrent’in merkez sunucuları çalışamaz hale geldiğinde de alternatif çözümler hazırdır. BitTorrent protokolü değişen şartlara göre hızla evrimleşebilen bir potansiyele sahiptir. Şu anda bile Gnutella benzeri merkezsiz BitTorrent alternatifleri vardır

***

Bu yazıda, P2P ağların tarihsel gelişim sürecinde kısa bir gezinti yaptık. P2P ağları internette bilginin özgür akışını savunanlarla buna karşı çıkanların mücadelesi sonucunda gelişiyor. Castells’in belirttiği gibi gerilla, harekat kabiliyeti ve arazinin bilgisi ile çok geniş bir araziye yayılarak bilginin özgür akışını gerçekleştiriyor. Karşı güçler de kimi zaman yasal yollarla, kimi zaman DRM (Sayısal Kısıtlamalar Yönetimi) ile, kimi zaman da DPI (Derin Paket İnceleme) ile bilginin özgür akışını kısıtlamaya çalışıyorlar.

Peki P2P ağlar toplumsal ilişkileri nasıl etkiliyor? P2P ağlarında çok sayıda aktör var. Birçok kullanıcı sadece müzik, video ve kitap paylaşmak için P2P ağlarını kullanmaktadır. P2P’nin bu bireysel kullanımı dışında, P2P’ye daha bilinçli müdahalelerde bulunabilen örgütlü yapılar da var.

Bu örgütlerin başında, bir BitTorrent sunucusu olan The Pirate Bay’in üyeleri tarafından kurulan Korsan Partisi geliyor. Avrupa siyasetinde büyük bir başarı gösterdi. İnternet’in metalaşmasına karşı, telif hakları ve patent yasalarının reformunu, gözetimin olmadığı şeffaf bir toplumu savunuyor.

P2P Vakfı (http://p2pfoundation.net) ise P2P’nin toplumsal etkileri üzerine çalışan uluslararası bir kuruluş. P2P Vakfı P2P’yi, daha eşitlikçi ve özgür bir topluma doğru bir adım olarak değerlendiriyor.

Bir de P2P’den yeni iş modelleri üretmek isteyenler var. Örneğin O’Leary, P2P’nin yayıncılar için bir tehdit değil, fırsat olduğu iddiasında [3]. Acaba kapitalizm P2P’yi de özümseyebilecek mi?

P2P ağının bu aktörlerini sonraki sayılarda tartışacağız.

Kaynaklar

[1] Castells M (2008), Ağ Toplumunun Yükselişi Enformasyon Çağı: Ekonomi, Toplum ve Kültür 1. Cilt, İstanbul Bilgi Üniversitesi Yayınları

[2] Lessig L (2004), Free Culture: The Nature and Future of Creativity, Penguin. S 73–74

[3] O’Leary B (2009), Impact of P2P and Free Distribution on Book Sales, O’Reilly Media

 

 

Tek Yorum

  1. Researcherman Researcherman

    Ellerinize sağlık , P2P çalışma mantığını güzel anlatmışsınız.
    Böyle güzel yazıların devamını bekliyorum 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir