PROTOCOL'LER VE KAVRAMI
1984 yılında International Organization of Standardization (ISO) isimli kurum
Open System Interconnection modelini (ISO) ortaya koydu.
protokol nasıl bir devlet başkanının diğerinin konuşmasını
kesmesini, yada yanlış yerde yanlış harekette bulunmasını önlüyorsa, bilgisayar
ağlarında da benzer bir işlevi ifade eder.Yada 7 katlı bir apartmanda
oturduğumuzu ve ( tabi en üstte ben oturuyorum) her dairede oturanların bir
görevi olduğunu varsayalım ve her daire sakinleri kafalarına göre iş
yapamıyacağını düşünün çünki başlarında bir yönetici var yani ben.
Basit bir FTP programı ile dosya gönderirken bile arka planda bir çok protokol
görev yapar. File Transfer Protocol(FTP) iki bilgisayar üzerinde çalışan iki
yazılımın nasıl veri değişimi yapacağını belirler. Transmit Control
Protocol(TCP) gönderen sistem üzerinde yollanacak veriyi parçalara bölünmesini
ve alıcı sistem üzerinde ise tekrar birleştirilmesini sağlar. Internet
Protocol(IP) ise verinin değişik yönlendiriciler üzerinde doğru yolu izleyerek
karşı tarafa ulaşmasını sağlar.
Örnek 2 uzak ara bilgisayarımız var varsayalım A R E S bilgisayarından diğer
bilgisayara bir veri gönderiğimizde bu veriler paketler dediğimiz bitler
halinde ileitilir.bilgisayarımız Ağ kartı ve kablo protokolleri ise verinin
nasıl eletrik sinyalleri halinde iletileceğini tanımlar

Aslında internet olsun ağ olsun herşey bu bunlar üzerine kurulmuştur
peki ama biz illa OSI modelini kullanmak zorundamıyız?
hayır tabi varsayalım ben gittim ARES adında bir network katmanı geliştirip kullanabilirim eh tabi başkasınında bunu kullanması gerekir genel bakarsak OSI denilen katman aşağıda görüceğiniz bütün protokol kümelerinin birleşmiş halidir
kısaca OSI modeli verinin bir bilgisayar üzerinde bir program'dan, ağ
ortamından geçerek diğer bir bilgisayar üzerindeki diğer bir programa nasıl
ulaşacağını tanımlar. bu sürec 7 katman halinde incelenir. katmanlı OSI modeli
2 bölümde incelenebilir: Application Set ve Transport Set. (uygulama seti)
uygulamalar yani programlarla ilgili konuları içerir. Genellikle sadece
yazılımsaldır
Transport Set(veri aktarım seti) veri iletişimi ile ilgili meseleleri tanımlar.
Fiziksel ve veri aktarım katmanları hem yazılımsal hemde donanım olarak
görevini yerine getirebilir. Fiziksel katman(en alt katman) fiziksel ağ
ortamına(ağ kablosuna mesela) en yakın katmandır. Ve esas olarak bilgiyi
kablodan aktarmakla görevlidir.
KATMAN 1 : Fiziksel Katman (Physical Layer)
katman veya fiziksel katman verinin kablo üzerinde alacağı fiziksel yapıyı
tanımlar. Diğer katmanlar 1 ve sıfır değerleriyle çalışırken, 1. katman 1 ve
sıfırların nasıl elektrik, ışık veya radyo sinyallerine çevrileceğini ve
aktarılacağını tanımlar. Gönderen tarafta 1. katman bir ve sıfırları elektrik
sinyallerine çevirip kabloya yerleştirirken, alıcı tarafta 1. katman kablodan
okuduğu bu sinyalleri tekrar bir ve sıfır haline getirir.
Fiziksel katman veri bitlerinin karşı tarafa, kullanılan medya(kablo, fiber
optik, radyo sinyalleri) üzerinden nasıl gönderileceğini tanımlar. İki tarafta
aynı kurallar üzerinde anlaşmamışsa veri iletimi mümkün değildir. Örneğin bir
taraf sayısal 1 manasına gelen elektrik sinyalini +5 volt ve 2 milisaniye süren
bir elektrik sinyali olarak yolluyor, ama alıcı +7 volt ve 5 milisaniyelik bir
sinyali kabloda gördüğünde bunu 1 olarak anlıyorsa veri iletimi gerçekleşmez.
Fiziksel katman bu tip çözülmesi gereken problemleri tanımlamıştır.
Üreticiler(örneğin ağ kartı üreticileri) bu problemleri göz önüne alarak aynı
değerleri kullanan ağ kartları üretirler. Böylece farklı üreticilerin ağ
kartları birbirleriyle sorunsuz çalışır.
KATMAN 2: Veri Bağlantısı Katmanı (Data Link Layer)
Veri bağlantısı katmanı fiziksel katmana erişmek ve kullanmak ile ilgili
kuralları belirler. Veri bağlantısı katmanının büyük bir bölümü ağ kartı içinde
gerçekleşir. Veri bağlantısı katmanı ağ üzerindeki diğer bilgisayarları
tanımlama, kablonun o anda kimin tarfından kullanıldığının tespiti ve fiziksel
katmandan gelen verinin hatalara karşı kontrolü görevini yerine getirir.Veri
bağlantısı katmanı iki alt bölüme ayrılır: Media Access Control(MAC) ve Logical
Link Control(LLC).
MAC alt katmanı veriyi hata kontrol kodu(CRC), alıcı ve gönderenin MAC
adresleri ile beraber paketler ve fiziksel katmana aktarır. Alıcı tarafta da bu
işlemleri tersine yapıp veriyi veri bağlantısı içindeki ikinci alt katman olan
LLC'ye aktarmak görevi yine MAC alt katmanına aittir.
LLC alt katmanı bir üst katman olan ağ katmanı(3. katman) için geçiş
görevi görür. Protokole özel mantıksal portlar oluşturur (Service Access
Points, SAPs). Böylece kaynak makinada ve hedef makinada aynı protokoller
iletişime geçebilir(örneğin TCP/IP<-->TCP/IP). LLC ayrıca veri
paketlerinden bozuk gidenlerin(veya karşı taraf için alınanların) tekrar
gönderilmesinden sorumludur. Flow Control yani alıcının işleyebileğinden fazla
veri paketi gönderilerek boğulmasının engellenmesi de LLC'nin görevidir.
Katman 3: Ağ Katmanı(Network Layer)
Ağ katmanı veri paketine farklı bir ağa gönderilmesi gerektiğinde
yönlendiricilerin kullanacağı bilginin eklendiği katmandır. Örneğin IP
protokolü bu katmanda görev yapar.
Katman 4: Taşıma Katmanı (Transport Layer)
Taşıma katmanı üst katmanlardan gelen veriyi ağ paketi boyutunda parçalara
böler. NetBEUI, TCP ve SPX gibi protokoller bu katmanda çalışır. Bu protokoller
hata kontrolü gibi görevleride yerine getirir.Taşıma katmanı alt katmanlar
(Transport Set) ve üst katmanlar (Application Set) arasında geçit görevini
görür. Alt katmanlar verinin ne olduğuna bakmandan karşı tarafa yollama işini
yaparken üst katmanlarda kullanılan donanım ile ilgilenmeden verinin kendisi
ile uğraşabilirler.
Katman 6: Sunum Katmanı(Presentation Layer)
Sunum katmanının en önemli görevi yollanan verinin karşı bilgisayar tarafından
anlaşılabilir halde olmasını sağlamaktır. Böylece faklı programların
birbilerinin verisini kullanabilmesi mümkün olur.
Sunum katmanı günümüzde çoğunlukla ağ ile ilgili değil, programlarla ilgili
hale gelmiştir. Örneğin eğer siz iki tarafta da gif formatını açabilen bir
resim gösterici kullanıyorsanız, bir makinanın diğeri üzerindeki bir GIF
dosyayı açması esnasında sunum katmanına bir iş düşmez, daha doğrusu sunum
katmanı olarak kastedilen şey, aynı dosyayı okuyabilen programları
kullanmaktır.
Katman 7: Uygulama Katmanı(Application Layer)
Uygulama katmanı programların ağı kullanabilmesi için araçlar sunar. Microsoft
API'leri uygulama katmanında çalışır. Bu API'leri kullanarak program yazan bir
programcı, örneğin bir ağ sürücüsüne erişmek gerektiğinde API içindeki hazır
aracı alıp kendi programında kullanır. Alt katmanlarda gerçekleşen onlarca
farklı işlemin hiçbirisiyle uğraşmak zorunda kalmaz.
Uygulama katmanı için bir diğer örnek HHTP'dir. HTTP çalıştırılan bir program
değil bir protokoldür. Yani bir kurallar dizesidir. Bu dizeye gören çalışan bir
Browser(IE mesela), aynı protokolü kullanan bir Web sunucuya erişir.
FINISH
OSI kavramsal bir modeldir. Yani hiç biryerde OSI programı veya OSI donanımı
diye bir şey göremezsiniz. Ancak yazılım ve donanım üreticileri bu modelin
tanımladığı kurallar çerçevesinde üretim yaparlar ve ürünleri birbiri ile
uyumlu olur.
OSI Modeli aygıtların işlevlerini anlamak ve açıklamakta kullanılır. Örneğin HUB dediğimiz cihazlar gelen veriyi sadece bir takım elektrik sinyalleri olarak gören ve bu sinyalleri çoklayıp, diğer portlarına gönderen bir cihazdır. Bu da HUB'ların fiziksel(1. katman) katmanda çalışan cihazlar olduğunu gösterir.
Oysa switch denen cihazlar 2. katmanda çalışırlar. Çünkü 2. katmanda tanımlı
MAC adreslerini algılayabilirler ve bir porttan gelen veri paketini(yine
elektrik sinyalleri halinde) sadece gerekli olan porta(o porttaki makinanın MAC
adresini bildiği için) yollayabilirler.
Yönlendiriciler(router) için ise bazen "3. katman switch'ler"
tabirini görebilirsiniz. Çünkü bu cihazlar biraz daha ileri gidip, 3. katmanda
veri paketine eklenmiş IP adresi gibi değerleri de okuyabilir ve ona göre veri
paketini yönlendirebilir.

ROUTER
Router internet üzerinde kullanılan , paketlerin varış noktalarına giderken ki
bir sonraki uğrak noktalarını belirleyen bir donanım veya kimi zaman bir
yazılımdır. Router en az iki ağı birbirine bağlar ve paketlerin hangi yönde
gideceğini bağlı olduğu ağların yapılarına ve durumlarına göre belirler.
Router`lar olası her türlü yön hakkında bilgileri ve durumlarına ilişkin bir
tablo oluştururlar. Bu bilgiyi paketlerin iletilmesi sırasında en güvenli ve en
masrafsız yo hesaplayarak yönlendirme işlemini gerçekleştirirler.
İNTERNET PROTOKOLÜ IP
Internet`te herhangi bir veri gönderirken veya alırken , örneğin bir eposta ya
da web sitesi , mesajlar küçük paketlere bölünür. Her paketin üzerinde
gönderenin ve alıcının IP adresleri yazılı olarak bulunur. Her paket öncelikle
“Gateway” adı verilen bilgisayardan geçer. Bu bilgisayar paketletin üzerindeki
alıcının adresini okur ve buna göre paketleri yönlendirir. Bu işlem alıcının
adresine en yakın bilgisayara kadar böyle devam eder. Bu en son bilgisayar da
paketleri alıcı bilgisayara gönderir. Internet protokolüne göre yol alan bu
paketler birçok değişik yönden giderek alıcıya ulaşabilirler. Hatta paketler
olması gerektiği sırada da alıcıya ulaşmayabilirler. Internet protokolünün
amacı sadece bu paketleri göndermektir. Paketleri eski düzenine getirmek bir
başka protokolün yani TCP`nin görevidir.
DOMAIN NAME SYSTEM
IP adresleri ezberlenmesinin zorluğu nedeniyle , genellikle bilgisayarlar “
host “ adlarıyla anılırlar. Yani internet üzerindeki her bilgisayarın bir IP
adresi bir de “ host “ ismi bulunur. Fakat iletişimin sağlanması için bu
isimlerin tekrardan IP adreslerine çevrilmeleri gerekir. Bu yüzden bu çevirme
işlemini yapması amacıyla DNS Domain Name System kullanılır. İnternet`te
bulunan her IP adresini ve alan adını barındıran bir veribankasıdır. Bu sistem,
öyle kurulmuştur ki , bu veritabanı belirli kriterlere göre ayrılır ve
sınıflandırılır.
Bir bilgisayarın alan adı , isim.com şeklindedir. Ayrıca bulunduğu ülkeye göre
sonuna ülkenin kodu da eklenir. Örneğin Türkiye`de bulunan bir alan adı şu
şekilde olacaktır : “ isim.com.tr “ .
Bu her alanla ilgili birer DNS sunucusu vardır. “tr” domainini alan bütün
bilgisayarların listesi bir sunucuda tutular. Veya sonu sadece “.com”la
bitenler Amerika`da bir DNS sunucu bilgisayarda tutulur. Bu adresler sondan
başa doğru ayrıştırılır. Yani “isim.com.tr” adına göre ayrılır. Ve diğer aynı
adlı bilgisayarlarla birlikte düzenlenir. Eğer sonunda bir ülke adı yoksa, ki
bu sadece Amerika`daki bilgisayarlar için geçerlidir , direkt “.com” adına
bakılarak ayrıştırılır. Bunlara üst düzey domain de denilir.
.com ticari şirketler
.edu eğitim kurumları
.org ticari olmayan organizasyonlar
.net internet omurgası görevini üstlenen ağlar
.gov hükümete bağlı kurumlar
.mil askeri kurumlar
Bilgisayarımızda bir adres girdiğimizde bu bilgiler direkt
olarak ilgili DNS sunucusuna ulaştırılır. Bu DNS sunucu eğer bu bilgisayarın
bilgisini içeriyorsa DNS istemcisine hemen ilgili adresin IP adresini
ulaştırır.
ARP ADRESS RESOLUTİON PROTOCOL
Yerel bir ağ üzerinde IP adresleri belirlenmiş bilgisayarlar mesajlaşmaya
başlamadan önce normalde IP adresinin sahibinin fiziksel adresini sorgulayan
gelen bir yayın yaparlar ( broadcasting ). IP adresine sahip bilgisayar kendi
fiziksel adresini içeren bir mesajı istemci bilgisayara gönderir ve böylece
gerçek veri gönderimi bu adres üzerinden yapılmış olur.
IP ROUTİNG
Paketlerin net ortamında yönlendirilmesi ve gönderilmesi işlemi Internet
Protokolünün görevidir. Paketlerin üzerlerinde yazılı olan adreslere bakarak
bunu bir yönlendirme tablosundaki bilgilerle karşılaştırır ve yönlendirmeyi
yapar. Bu tablonun oluşturulması görevi ise routing protocolün görevidir.
Routing protokolün de çeşitleri vardır ama bunlardan sadece bir tanesi internet
yönlendirme domainleri arasında bilgi alışverişi yapar.
ICMP
Internet Control Message Protokol bu protokol internet protokolün veri iletişimi
sırasında beklenmedik bir olay gerçekleşmesi halinde göndereni uyarma görevi
üstlenmiştir. ICMP mesajlarına örnek verecek olursak :
Destination Unreachable : Bu mesaj varış noktası olan hostun erişilmez olduğunu
belirtmek için kullanılır. Yani alıcının bulunduğu ağ tanımsız ya da ulaşılamaz
haldedir.
Echo And Echo Reply : Bu iki mesaj türü alıcının erişilebilir olup olmadığını anlamak için kullanılır. Gönderen bilgisayar alıcıya veri içeren bir echo mesajı atar. Karşılığında alıcı bilgisayardan cevap yani echo reply gelirse , alıcı bilgisayarın ağ üzerinde erişilebilir olduğunu gösterir.
TCP
Daha önce de belirtildiği gibi veriler küçük paketlere ayrılıp gönderilirken
değişik yollardan ve değişik sıralar ile gönderilirler. Bu paketlerin sıralamasını
sağlayan protokolün adı TCP (Transmission Control Protokol)`dir. Örneğin bize
gelen herhangi bir veri önce paketlere ayrılır. Bu paketleme işlemini
gerçekleştiren TCP aynı zamanda bu paketleri sırası ile numaralandırır ve
adreslendirir ve IP katmanına gönderir. Artık gönderme işlemi sadece internet
protokolünün elindedir. Paketler yola çıktıktan sonra birbirlerinden ayrılır ve
farklı yönleri takip ederler. Bilgisayarımıza ulaştığında bizim bu paketleri
bir bütün olarak ve tam sırasıyla görmemizi sağlayan gene TCP`dir. Aynı zamanda
TCP/IP `nin en güvenilir protokol olmasını sağlayan işlevi de yerine getirir.
Paketlerin belirli bir kısmı ulaştıktan sonra eğer paket sağlam ise TCP bize
bir onay gönderir. Eğer paketlerde bir sorun var ise , bu onay gelmez ve biz bu
verileri baştan göndermek zorunda kalırız. Yani diğer protokollerden farkı
paketlere bir şey olması halinde biz bunu mutlaka biliriz ve eksikleri
tekrardan göndermek suretiyle iletişimi kesin tamamlamış oluruz.
UDP
User Datagram Protokol TCP`nin aksine az güvenilir ama daha hızlı olmayı
amaçlayan bir protokoldür. Bazı basit istem ve cevap ile işleyen uygulamalarda
kullanılması işlemin daha hızlı gelişmesini sağlar. UDP`nin yaptığı paket
üzerinde bulunan IP numarasını yanına bir adet port numarası eklemek ve böylece
uygulamaların çalışması için gereken socketleri oluşturmak. İnternet`i
oluşturan TCP/IP`nin bir başka katmanında bulunan bazı protokol ve uygulamalar
da şöyledir:
SMTP: “Simple Mail
Transfer Protokol” internet üzerinde elektronik olarak posta alım ve
gönderimini sağlayan standart bir protokol. SMTP internet üzerindeki e-posta
sunucuları arasında ve herhangi bir bilgisayardan e-posta sunucuları arasında
ve herhangi bilgisayardan e-posta sunucusuna posta ulaşmasını sağlar.
HTTP: “The Hypertext Transfer Protokol” internet üzerinde bilgi
değişimini sağlayan baz protokol. WWW üzerinde bilgiler kullanıldığı sisteme
bakmaksızın HTML formatında yazılır ve her sistem bu formatı tanır.
FİNGER: Diğer kullanıcıların ya da hostların internet üzerindeki
durumunu öğrenmek için kullanılır.
POP: “The Post Office Protokol” bir kullanıcının e-posta programı ile
e-posta sunucu arasındaki POP e-posta sunucusundan istemciye postaların
alınmasını ve kullanıcıların kendi posta kutularını yönetmelerine olanak verir.
DNS: “The Domain Name System” internet üzerinde bulunan isimleri ve
bunlara ait IP adreslerini düzenler. Aynı zamanda posta ve isim sunucularını da
alan adları ilişkilendirir.
SNMP: “The Simple
Network Management Protokol” TCP/IP bazlı network araçlarını yönetmeye yönelik
prosedürleri ve veritabanlarını belirler. SNMP (RFC 1157) is widely deployed in
local and wide area network
PİNG: “The Packet Internet Groper” , bir sistemdeki kullanıcıya diğer bağlı
bilgisayarların durumu ve mesajlaşma süresinde yaşanan gecikmeleri öğrenmesine
olanak verir. ICMP Echo mesajlarını kullanır.