Tam o sırada, başka bir pillinetwork sitesi olan 10marifet.org'da: "Havlu kenarı"

Benim merak ettiğim konu şu:

Normal olarak, modem arkasında bulunan bir kullanıcıya direk erişmek için, modem üzerinde NAT ayarlarının yapılması gerekiyor. Bu sayede kullanıcı size bağlanmadan, bağlantıyı siz oluşturarak direkt olarak kullanıcıya bağlanabiliyor ve veri gönderebiliyorsunuz.

Ancak iki kişi düşünün, her ikisi de kendi evinde (aynı evde değiller) oturmuş bilgisayarlarını kullanıyor. Nasıl oluyor da bu iki kullanıcı Google Talk üzerinden (veya başka bir program üzerinden), karışılıklı bir bağlantı sağlayarak karşılıklı olarak sesli (veya programına göre görüntülü) görüşme yapıyorlar.

Bildiğim kadarı ile metin alışverişi esnasında veri servis sağlayıcı sunucularına gidiyor; ancak sesli (veya görüntülü) haberleşme sırasında, her iki kullanıcının da modem ayarlarında herhangi bir değişiklik yapılmadan böyle bir bağlantı nasıl sağlanıyor?

Bu teknik konuda, gerçekten kullanılan yöntemi açıklayan bir cevap olursa sevinirim. Şimdiden teşekkürler.

Spacer
Spacer
 | 6 yorum var 
 | 04 Ocak 2010 10:51 

Yorumlar

programların çalışma mantığına göre veri bir uçtan diğer uca gidiyor, bu programına göre iletim yönteminin değişeceği anlamına gelir

mesela SKYPE veriyi iletmek için alternatifleri bir bir değerlendiriyor

ağda UPNP özellikli modem varmı diye kontrol ediyor

varsa portları açıyor, yoksa hangi porttan haberleşebilir ona bakıyor,

hatta aklımda kaldığı kadarıyla HTTP protokolü için standart olan 80 Portunu bile kullanabiliyor.

Bu skype için böyle, Google Talk yada IP üzerinden ses ileten başka programların farklı yöntemleride var.

Şimdi bu konuda kesin konuşmak için belirli bir program üstünde gitmekte fayda var.

Mesela Google Talk libjingle Kodunu kullanır. Ve bu kod 2 bilgisayarın konuşması için gerekebilecek tüm mekanizmaları içerir. Örneğin Ağ ve Proxy tanımlamaları yapacak sınıfları ve STUN sunucusunu içerir.

Google açık standartları kullanıyor. Ama kendi sunucusunda nasıl bir mekanizma çalıştırdığını açıklamıyor.

Bu soruyu sormakta bir amacınızın olduğunu düşünmeden edemedim, sadece merak mı ?

omersiar  |  (1 puan) 05 Ocak 2010 17:46

öncelikle teşekkürler @omersiar..
Amacıma gelirsek: Merak ve öğrenme isteği..

Benim burada merak ettiğim, modem'e herhangi bir şekilde, belirli bir portu bana yönlendir demenin bir yönteminin mevcut olup olmadığı. Sonuçta bir şekilde karşılıklı veri transferi olabilmesi için bağlantının sağlanması lazım.

Aynı konu torrent programlarında da geçerli. Torrent sunucusuna bağlanarak, dosyanın bulunduğu eşlerin listesini alıyorsunuz ve o bilgisayarlara bağlanıyorsunuz. Bilgisayarların çoğu da evlerinde modem arkasından bağlanan insanlar sonuçta. Nasıl oluyor da ben onlardan, onlar da benden dosya indirebiliyor. Bu soru benim kafamı uzun süredir kurcalıyor ve nasıl soracağımı da bilemediğim için cevabını öğrenmekte sıkıntı yaşıyorum.

Konuya verilen ismi tam olarak bilsem araştıracağım; ancak onu da bilmiyorum.

Yani örnek vermek gerekirse, karşılıklı iki bilgisayarlara program yükleyerek aralarında veri transferi yapabilen bir program yapacak olsam, kafamdaki bu bağlantı sorununu nasıl çözerim bilemiyorum.

axanc  |  (0 puan) 05 Ocak 2010 18:42

belki şu şekilde de açıklanabilir:

Bu tür programlar, nasıl oluyor da modem üzerinde NAT kuralını oluşturabiliyorlar?

axanc  |  (0 puan) 05 Ocak 2010 18:53

Cevap bu sanırım:

by adding a port mapping, a upnp controller behind the igd can enable traversal of the igd from an external address to an internal client.

Olayın kendisine de "nat traversal" deniyormuş :-)

Ve şu da, konuya ilginç bir bakış açısı katıyor.

however, applications such as peer-to-peer file sharing (such as bittorrent or gnutella applications), voip services (such as session initiation protocol) and the online services of current generation video game consoles (such as the xbox 360's xbox live or the ps3's playstation network) require clients to be servers as well, thereby posing a problem for users behind nat devices, as incoming requests cannot be easily correlated to the proper internal host. furthermore many of these types of services carry ip address and port number information in the application data, potentially requiring substitution or special traversal techniques for nat traversal.

axanc  |  (0 puan) 05 Ocak 2010 18:56

araştırmalarınız doğru yönde ilerliyor.

eğer bir program yapmak istiyorsanız kullanacağı protokolü belirlemeniz lazım, bittorrent halen geliştirilen bir protokol, FTP zaten en eski dosya transfer protokolü, eşler arasında (peers) dosya transferi yapılacaksa şu an en popüler protokol bittorrent

omersiar  |  (0 puan) 06 Ocak 2010 13:44

Program geliştirme gibi bir niyetim henüz yok. Uzun süredir merak ettiğim bir konuydu bu. Network derslerinde öğrendiklerim ile yapılması pek de mümkün değildi. Ancak anladığım kadarıyla ağ geçitlerinde kullanılan UPnP gibi teknolojiler sayesinde yapılabiliyor böyle işler.

axanc  |  (0 puan) 07 Ocak 2010 14:55

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)
bildirgec.org bölümleri
pillinetwork hesabınızla giriş yapın.

son yorumlar

bildirgecinfo

bildirgec.org içeriği kullanıcıları tarafından üretilen kolektif bir blogdur.

network siteleri

RSS Dosyası
pillikutu