Ağ Programcılığı

AĞ PROGRAMCILIĞI
TCP Programlama
TCP (Transmission Control Protocol), TCP/IP protokol takımının aktarım katmanı protokollerinden birisidir. Gelişmiş bilgisayar ağlarında paket anahtarlamalı bilgisayar iletişiminde kayıpsız veri gönderimi sağlayabilmek için TCP protokolü yazılmıştır. HTTP, HTTPS, POP3, SSH, SMTP, Telnet ve FTP gibi internetin kullanıcı açısından en popüler protokollerinin veri iletimi TCP vasıtasıyla yapılır.

UDP Programlama
UDP (User Datagram Protocol - Kullanıcı Veri bloğu İletişim Kuralları), TCP/IP protokol takımının iki aktarım katmanı protokolünden birisidir. Verileri bağlantı kurmadan yollar. Gelişmiş bilgisayar ağlarında paket anahtarlı bilgisayar iletişiminde bir datagram modu oluşturabilmek için UDP protokolü yazılmıştır. Bu protokol minimum protokol mekanizmasıyla bir uygulama programından diğerine mesaj göndermek için bir prosedür içerir. Bu protokol 'transaction' yönlendirmelidir. Paketin teslim garantisini isteyen uygulamalar TCP protokolünü kullanır.
·         Geniş alan ağlarında (WAN) ses ve görüntü aktarımı gibi gerçek zamanlı veri aktarımlarında UDP kullanılır.
·         UDP bağlantı kurulum işlemlerini, akış kontrolü ve tekrar iletim işlemlerini yapmayarak veri iletim süresini en aza indirir.
·         UDP ve TCP aynı iletişim yolunu kullandıklarında UDP ile yapılan geçek zamanlı veri transferinin servis kalitesi TCP'nin oluşturduğu yüksek veri trafiği nedeniyle azalır.

UDP 'yi kullanan protokollerden bazıları DNS, TFTP, ve SNMP protokolleridir. Uygulama programcıları birçok zaman UDP 'yi TCP'ye tercih eder, zira UDP ağ üzerinde fazla bant genişliği kaplamaz.
UDP güvenilir olmayan bir aktarım protokolüdür. Ağ üzerinden paketi gönderir ama gidip gitmediğini takip etmez ve paketin yerine ulaşıp ulaşmayacağına onay verme yetkisi yoktur. UDP üzerinden güvenilir şekilde veri göndermek isteyen bir uygulama bunu kendi yöntemleriyle yapmak zorundadır.

Telnet
Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir. Bağlanılan makineye girebilmek için orada bir kullanıcı isminizin ve bağlantının gerçekleşebilmesi için bir telnet erişim programınızın olması gereklidir. Fakat bazı kütüphane ve herkese açık telnet bazlı web servisleri, bağlantı sırasında kullanıcı ismi istemeyebilirler; ya da, kullanıcı isim ve parola olarak ne yazmanız gerektiği bağlandığınızda otomatik olarak karşınıza çıkar. Telnet, BBS sistemlere internet üzerinden erişimde günümüzde yaygın olarak kullanılmaktadır. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir. Çok kullanıcılı işletim sistemleri genellikle kullanıcılara metin tabanlı bir arayüz sunar ve bu sistemlerde tüm işlemler klavye vasıtası ile komut isteminden gerçekleştirilir. Telnet programı ile sanal sunucunuza bağlandığınızda, uzaktan UNIX işletim sistemine bağlanmış olursunuz. Bu, UNIX komutları yazabileceğiniz, programları çalıştırabileceğiniz, sanki makinenin karşısında oturuyormuş gibi web sitenizi düzenleyebileceğiniz anlamına gelir. Telnet güvensiz bir protokoldür. Tüm veriler şifrelenmemiş olarak gönderilir. Bu yüzden telnet oturumundan, sniffer yardımıyla kolaylıkla önemli bilgilere ulaşılabilir. Telnet protokolü kullanıcı adı ve şifrenizi bağlı bulunduğunuz ağda kolaylıkla görebilecek bir format olan PLAIN TEXT düzeninde göndermektedir. Bu kullanıcı isminizin ve şifrenizin ağı dinleyen herhangi biri tarafından kolaylıkla görülebileceği anlamına gelir. Eğer ağınızdaki herkese güveniyorsanız Telnet kullanmanızda bir sakınca yoktur. Fakat güvenlik hakkında en ufak bir endişeniz bile varsa, hesabınıza bağlanırken telnet kullanmamanız yararınıza olacaktır. Veri alışverişini şifreleyen uzaktan bağlantı protokolü olarak SSH 'ı örnek verebiliriz.

TFTP
Trivial File Transfer Protocol (TFTP) 1980 yılında tanımlanmış, FTP' nin temel fonksiyonel şekli olarak ifade edilen basit bir dosya transfer protokolüdür. Basit yapısından dolayı kullanılması esnasında çok az bellek tüketilmektedir. Bu özelliğinden dolayı, yeterli yığın bellek cihazı olmayan yönlendirici bilgisayarların önyüklemesinde kullanılırdı. Halen  üzerinde bulunan host makinalar arasında küçük dosyaların transferi için kullanılır. TFTP kısmen PUP protokol grubunun eski bir parçası olan EFTP protokolüne dayanır. TCP/IP protokol grubunun geliştirilmesinin ilk safhalarında TFTP basitliğinden dolayı genellikle yeni bir host tipinin üstünde çalıştırılan ilk protokoldü.

DNS
DNS, internet uzayını bölümlemeye, bölümleri adlandırmaya ve bölümler arası iletişimi organize etmeye yarayan, bilgisayar, servis, internet veya özel bir ağa bağlı herhangi bir kaynak için hiyerarşik dağıtılmış bir adlandırma sistemidir. Katılımcı kuruluşların her birine atanmış alan adları çeşitli bilgileri ilişkilendirir. En belirgin olarak, insanlar tarafından kolayca ezberlenebilen alan adlarını, dünya çapında bilgisayar servisleri ve cihazlar için gerekli sayısal IP adreslerine çevirir. DNS, çoğu internet servisinin işlevselliği için temel bir bileşendir, çünkü internetin temel yönetici servisidir. Alan Adı Sistemi DNS her alan için yetkili ad sunucuları atayarak alan adlarını atama ve bu adların IP adreslerine haritalanması sorumluluğunu verir. Yetkili ad sunucuları desteklenen alanları için sorumlu olmakla görevlidirler ve diğer ad sunucuları yerine alt alanlara yetki verebilirler. Bu mekanizma dağıtılmış ve arızaya toleranslı servis sağlar  ve tek bir merkezi veri tabanına ihtiyacı önlemek için tasarlanmıştır.

Threads
Thread (iplik) kavramı, aynı process ortamında birden fazla iş yürütme imkânı sağlar. Bir process’in çalışmaya başlaması ile birlikte bir thread (main thread) oluşturulur ve bu process içerisinde birden fazla iplik (multi-thread ) oluşturulabilir. Yaratılan iplikler aynı adres uzayında koşarlar. Her ipliğin kendine has program sayacı, saklayıcıları, yığını ve durumu(yok edilme, askıya alınma, önceliğinin değiştirilmesi) vardır. Bir iplikteki (thread) değişkeni aynı işlem tarafından üretilmiş bütün iplikler değiştirebilir veya okuyabilir. Threadler iş parçacıkları olup, çoklu görevlerde senkronizasyonu sağlamak için kullanılır. Her threadin farklı bir görevi vardır. Eğer bu threadler aynı anda aynı bölgeye girerse hatalar (deadlock) meydana gelebilir.

IPv6
Internet Protocol Version 6 (İnternet Protokol sürüm 6) kısaca IPv6, aslında 32 bitlik bir adres yapısına sahip olan IPv4'ün adreslemede artık yetersiz kalması ve ciddi sıkıntılar meydana getirmesi üzerine IETF tarafından geliştirilmiştir. IPv4 oluşturulmaya başlandığında İnternet'in bu kadar ilerleyeceği hesap edilmemişti. Ancak İnternet kullanımının yaygınlaşması ve IP (Internet Protocol) adresi gerektiren yeni aygıtların (cep telefonları, IP telefon, sayısal fotoğraf makineleri vb.) ortaya çıkması, var olan adreslerin yetersiz kalmasına yol açmıştır. Şimdi adresleme sıkıntısı oluşunca 128 bitlik adres yapısı olan IPv6'ya geçilmesi kaçınılmaz olmuştur. Bu sefer gelecek fazlasıyla düşünülerek oluşturulmuş bir adres yapısıdır. Yeni adreslemede sınırsız denebilecek bir adres aralığı olacaktır.
IPv6'da adresler 8 oktetten oluşur ve 16 tabanda temsil edilir. 128 bit önce 16 bitlik bölümlere (oktet) ayrılır. Her oktet, onaltılık tabana çevrilir.
SMTP
Elektronik posta gönderme protokolü (Simple Mail Transfer Protocol), bir e-posta göndermek için sunucu ile istemci arasındaki iletişim şeklini belirleyen protokoldür. Farklı işletim sistemleri için geliştirilmiş e-posta protokolleri vardır. Bu protokollerinin SMTP'ye geçit vardır. SMTP, Aktarım Temsilcisi ve Kullanıcı Temsilcisi yazılımları arasındaki iletişimi sağlar. TCP'nin üst katmanında çalışır.
Sadece e-posta yollamak için kullanılan bu protokolde, basitçe, istemci bilgisayar SMTP sunucusuna bağlanarak gerekli kimlik bilgilerini gönderir, sunucunun onay vermesi halinde gerekli e-postayı sunucuya iletir ve bağlantıyı sonlandırır. E-posta almak için POP3 ya da IMAP protokolü kullanılır. Ücretsiz hizmet veren büyük e-posta hizmet sağlayıcıları da SMTP ve diğer e-posta gönderim ve kontrol protokollerini desteklemeye başlamışlardır. Outlook, Eudora, Kmail, Thunderbird, Evolution, Sylpheed gibi e-posta istemcileri, e-postalarınızı gönderilmek üzere sunucunuza iletirken SMTP hizmetinden faydalanırlar. 25 ve 587 numaralı portlar SMTP sunucusu için ayrılmıştır. Türkiye'de erişim sağlayıcılar 25. portu kapattığı için 587. port üzerinden bu hizmet sunulmaktadır.


IMAP
IMAP (Internet Message Access Protocol; İnternet Mesaj Erişim Protokolü), bir e -posta iletişim protokolüdür. 1986 yılında Stanford Üniversitesi'nde geliştirilmiştir. IMAP4 olarak de bilinen IMAP, yerel kullanıcıların uzaktaki bir e-posta sunucusuna erişmesini sağlayan bir uygulama katmanı protokolüdür. En son sürümü IMAP sürüm 4 Revizyon 1 (IMAP4rev1) olup, RFC 3501'de tanımlanmıştır. IMAP4 TCP 143. portu kullanarak çalışır.  E-posta sunucularından mesaj çekmek için kullanılan en yaygın protokollerden biridir. Modern e-posta sunucularının neredeyse tamamı tarafından desteklenir.

FTP
Dosya aktarım iletişim kuralı, bir veri yığınının - ASCII, EBCDIC, ve binary - bir uç aygıttan diğerine iletimi için kullanılmaktadır. Bir dosyayı FTP kullanarak başka bir TCP/IP ağı üzerindeki kullanıcıya yollamak için o ağdaki bilgisayarda geçerli bir kullanıcı ismi ve şifresi gerekmektedir. Birçok FTP sunucusu, kullanıcı ismi ve parola olmadan erişim için "anonim FTP" desteği verir, bu kullanım için kullanıcı adı olarak anonymous parola olarak ise bir e-mail adresi girilmesi gerekmektedir. FTP, dosya transferi ve komut transferi için değişik portlar kullanır. Varsayılan konfigürasyonda, komut transfer için kullanılan port numarası 21'dir. Dosyalar indirilir veya gönderilirken ise o an boş olan bir port numarası kullanılır.




Yorumlar

Bu blogdaki popüler yayınlar

VLSI Devre Tasarımı

Yapay Sinir Ağlarına Giriş

İnsan Bilgisayar Etkileşimi