Ağ Yapılandırması: Net Libraries ve Protocols

Dark-Man

Kıdemli Üye
5 Ocak 2013
4,430
9
I Don't Know
Protokoller:
Protokol dediğimiz şey, iletişimin kurallarını belirleyen yapılardır. 2 farklı bilgisayar aynı ya da uyumlu protokol kullanarak iletişim kurabilirler. Örnek vermek gerekirse, bir Japon ile yazıştığınızı düşünün. Eğer o Türkçe bilmiyorsa, siz de Japonca bilmiyorsanız anlaşamazsınız değil mi. Eğer ortak bilinen bir dil varsa, örneğin İngilizce, bu şekilde iletişim kurabilirsiniz. İngilizce de protokol olmuş oluyor bir nevi. Sql Database Engine'e bağlanmak için en azından bir protokolü aktif tutmanız gerekmektedir


0.JPG


Gördüğünüz üzere 4 adet protokol mevcut. Bunlar:


1.Shared Memory
2.Named Pipes
3.TCP/IP
4.VIA



Sadece Shared Memory varsayılan olarak aktiftir. Daha önceki versiyonlarda varsayılan olarak TCP/IP de aktifti. Ancak bu güvenlik açığı yaratmakta olduğundan bundan vazgeçildi. Akla gelebilecek yegane soru da:"Neden hepsini aktifleştirmiyoruz" olacaktır. İlk nedenini az önce söyledik. Bir diğer nedeni de, bunun iletişimde yavaşlama yaratmasıdır.

Şimdi bunları yakından inceleyelim.


Named Pipes:
TCP/IP olmadığında ya da TCP/IP altındaki server'ları isimlendirmeye izin veren DNS olmadığı durumlarda kullanışlı olabilir (ancak isim yerine IP ile bağlandığınızda böle bir sorun da kalmaz). Named Pipes kullanımı azalmaktadır. Local ağlarda kullanılır daha çok. Bir process'in çıktısı ikinci bir process'in girdisi şeklindedir iletişim. İkinci process local(aynı makine) de olabilir, uzakta da olabilir(remote).


TCP/IP:
En çok kullanılan protokoldür. Sql Server'a uzaktan bağlanırken kullanabilirsiniz. Çünkü IP kullanan tek protokoldür. Ağ trafiği yönlendiren ve gelişmiş güvenlik özelliklerinin bir standartını bulundurur.


Shared Memory:
En basit ve ayar gerektirmeyen protokoldür çünkü client ile Server aynı makinededir. Varsayılan olarak aktiftir. Client, server'ın veriyi sakladığı bellek dosyasına direkt erişir (çünkü aynı makinede). Dolayısıyla bu yöntem oldukça hızlıdır. Daha ziyade diğer protokollerde problem yaşadığında kullanılır. Microsoft bu konuda bir de uyarı yapıyor: Microsoft Data Access Components (MDAC) 2.8 ve öncesini kullananların bu protokolü kullanamayacağını, kullanmaya kalkışsa bile Named Pİpes protokolüne yönlendirilecekleri belirtiliyor.


VIA:
Virtual Interface Adapter. Özel uygulamaları değişkenlik gösterir. İki sistem arasındaki bağlantıya özel bir ağ ara yüzüdür ancak çok yüksek performans gösterir. Bunun sebebi de, özel olarak o bağlantı için tasarlamış donanımdır.




Protokoller bu şekilde arkadaşlar. Şimdi ara verdiğimiz konuya geri gidelim: NetLibs.Sql Server'daki NetLibs'ler:


1.Shared Memory
2.Named Pipes
3.TCP/IP
4.VIA



Gördüğünüz gibi bu protokollerin aynı zamanda NetLibs'leri var. NetLibs, client uygulaması ile ağ protokolü arasında bir yalıtkan gibidir. Pek tabidir ki server tarafında da aynı mekanizma mevcuttur.


Hem client hem de server'da birbirleriyle uyumlu NetLibsler seçilmelidir. Eğer uyumsuz olursa Specified Sql Server Not Found hatasını alırsınız.

NetLibs kavramının iyice oturması için şöyle anlatayım: Eğer network TCP/IP protokolünü kullanıyorsa, Sql Server da TCP/IP NetLib'ini kullanır ki TCP/IP ile nasıl konuşacağını, iletişim kuracağını bilebilsin.

Kullanılan sürücü türünden (Sql Native Client, ODBC, OLEDB) bağımsız olarak, her zaman NetLib ile konuşan bir sürücü olacaktır. İstemci uygulaması sürücü ile konuşur. Sürücü de istemci tarafındaki NetLib'i çağırır. NetLib de uygun ağ protokolü ile(hangisi kullanılıyorsa), veriyi server tarafındaki NetLib'e iletir. Server tarafındaki NetLib de istekleri server'a aktarır. Server da buna cevap verir. Bu cevap da aynı yoldan geri döner.

NetLiblerle ilgili son bir konu daha var arkadaşlar. Sql Server'ı başlattığınızda karşınıza bir ekran çıkıyor bildiğiniz gibi. Orada Server Name alanı var. Eğer orada localhost anlamına gelen bir değer girerseniz(. ya da 127.0.0.1 gibi), Sql Server, client ile aynı bilgisayarda olduğundan, bağlantı için seçilen NetLibs ne olursa olsun, Shared Memory NetLibs kullanılacaktır. Eğer bu alana gerçek server adını girerseniz, server ile iletişiminiz aynı makina üzerinde olduğuna bakılmaksızın TCP/IP NetLibs'ini kullanacaktır.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.