A'dan Z'ye Bilgisayar Öğrenme


A'dan Z'ye Bilgisayar Öğrenme   (6.Bölüm)
PROTOKOLLER
Bildiğiniz gibi işletim sistemleri birden çok protokolü aynı anda kullanabiliyor. Hatta aynı PC’de iki ethernet kartı içinde aynı protokolü kullanabiliyor. İşte bu network özelliklerini
 NDIS “Network Driver Interface Specification” (Microsoft networkleri için) ODI “Open Driver Interface” ( Netware networkleri için) sağlar. Driver arayüzlerinin tam olarak görevlerini şöyle tanımlayabiliriz: İşletim sistemleri ile ethernet kartı driver’ları arasında bir köprü oluşturmak. 
NDIS teknolojisinden önce bir network kart ile yalnızca bir protokol tanımlayabiliyorduk. NDIS; kart driver’larını protokollerden bağımsız hale getiriyor ve böylece aynı anda bazı uygulamalar TCP
 bazılarıda IPX kullanabiliyor. Ayrıca NDIS arayüzünün Plug and Play özelliği olmasıda kurulumunda artı bir yük getirmiyor. 
Protokoller yönlendirilebiler ve yönlendirilemeyenler olmak üzere iki gruba ayrılır.
Yönlendirilebilir protokoller: TCP/IP
 IPX/SPX Apple Talk DECnet XNS.
Yönlendirilemeyen protokoller: NetBEUI DLC LAT

OSI MODELİNDE PROTOKOLLER
Application
BOOTP
 DNS FTP SMTP SNMP Telnet
Presentation
SMB
Session
Named Pipes
 NetBIOS DLC
Ttansport
SPX
 TCP UDP NetBEUI
Network
ARP
 IP IPX NWLink RIP
Data Link
MAC
 CSMA/CD 802.3 8025 802.12**LLC PPP
Phyical
802
2. PPP. SLIP. Ethernet. Token Ring
TCP/IP ve Bileşenleri 
TCP/IP protokolünün internet otamında kullanılması dolayısıyla Windows NT Server UNIX gibi büyük ağ işletim sistemlerinde default olarak kurulması; TCP/IP’nin ne kadar önemli bir protokol olduğunu vurgulamaktadır.

Genel tanımlar
TCP/IP katmanlardan oluşan bir protokoller kümesidir. Her katman değişik görevlere sahip olup altındaki ve üstündeki katmanlar ile gerekli bilgi alışverişini sağlamakla yükümlüdür.

TCP/IP Katmanları
TCP/IP katmanlarının tam olarak ne olduğu nasıl çalıştığı konusunda bir fikir sahibi olabilmek için bir örnek üzerinde inceleyelime yapalım: 
TCP/IP nin kullanıldığı en önemli servislerden birisi elektronik postadır (e-posta). E- mail servisi için bir uygulama protokolü belirlenmiştir (SMTP Simple Mail Transfer Protocol). Bu protokol e- mail’in bir bilgisayardan bir başka bilgisayara nasıl iletileceğini belirler. Yani e- mail’i gönderen ve alan kişinin adreslerinin belirlenmesi mail içeriğinin hazırlanması vs. gibi. Ancak e-mail servisi bu mail’in bilgisayarlar arasında nasıl iletileceği ile ilgilenmez iki bilgisayar arasında bir iletişimin olduğunu varsayarak mail’in yollanması görevini TCP ve IP katmanlarına bırakır. TCP katmanı komutların karşı tarafa ulaştırılmasından sorumludur. Karşı tarafa ne yollandığı ve hatalı yollanan mesajların tekrar yollanmasının kayıtlarını tutarak gerekli kontrolleri yapar. Eğer gönderilecek mesaj bir kerede gönderilemeyecek kadar büyük ise (örneğin uzunca bir e-mail gönderiliyorsa) TCP onu uygun boydaki segment’lere (TCP katmanlarının iletişim için kullandıkları birim bilgi miktarı) böler ve bu segment’lerin karşı tarafa doğru sırada hatasız olarak ulaşmalarını sağlar. Internet üzerindeki tek servis e-mail olmadığı için ve segment’lerin karşı tarafa hatasız ulaştırılmasını sağlayan iletişim yöntemine tüm diğer servisler de ihtiyaç duyduğu için TCP ayrı bir katman olarak çalışmakta ve tüm diğer servisler onun üzerinde yer almaktadır. Böylece yeni bir takım uygulamalar da daha kolay geliştirilebilmektedir. 
Üst seviye uygulama protokollerinin TCP katmanını çağırmaları gibi benzer şekilde TCP de IP katmanını çağırmaktadır. Ayrıca bazı servisler TCP katmanına ihtiyaç duymamakta ve bunlar direk olarak IP katmanı ile görüşmektedirler. Böyle belirli görevler için belirli hazır yordamlar oluşturulması ve protokol seviyeleri inşa edilmesi stratejisine ‘katmanlaşma’ adı verilir. En genel haliyle TCP/IP uygulamaları 4 ayrı katman kullanır. Bunlar: 
- Bir uygulama protokolü mesela e-mail 
- Üst seviye uygulama protokollerinin gereksinim duyduğu TCP gibi bir protokol katmanı 
- IP katmanı. Gönderilen bilginin istenilen adrese yollanmasını sağlar. 
- Belirli bir fiziksel ortamı sağlayan protokol katmanı. Örneğin Ethernet seri hat X.25 vs. 

TCP Katmanı 
TCP’nin (“transmission control protocol-iletişim kontrol protokolü”) temel işlevi üst katmandan (uygulama katmanı) gelen bilginin segment’ler haline dönüştürülmesi iletişim ortamında kaybolan bilginin tekrar yollanması ve ayrı sıralar halinde gelebilen bilginin doğru sırada sıralanmasıdır. IP (“internet protocol”) ise tek tek datagramların yönlendirilmesinden sorumludur. Bu açıdan bakıldığında TCP katmanının hemen hemen tüm işi üstlendiği görülmekle beraber (küçük ağlar için bu doğrudur) büyük ve karmaşık ağlarda IP katmanı en önemli görevi üstlenmektedir. Bu gibi durumlarda değişik fiziksel katmanlardan geçmek doğru yolu bulmak çok karmaşık bir iş halini almaktadır. 
Doğal olarak bir segment’i doğru varış noktasına ulaştırmak tek başına yeterli değildir. TCP bu segment’in kime ait olduğunu da bilmek zorundadır. “Demultiplexing” bu soruna çare bulan yöntemdir. TCP/IP ‘de değişik seviyelerde “demultiplexing” yapılır. Bu işlem için gerekli bilgi bir seri “başlık” (header) içinde bulunmaktadır. Başlık datagram’a eklenen basit bir kaç octet’den oluşan bir bilgiden ibarettir. Yollanmak istenen mesajı bir mektuba benzetecek olursak başlık o mektubun zarfı ve zarf üzerindeki adres bilgisidir. Her katman kendi zarfını ve adres bilgisini yazıp bir alt katmana iletmekte ve o alt katmanda onu daha büyük bir zarfın içine koyup üzerine adres yazıp diğer katmana iletmektedir. Benzer işlem varış noktasında bu sefer ters sırada takip edilmektedir. 
Her segment’in başına TCP bir başlık koyar. Bu başlık bilgisinin en önemlileri ‘port numarası’ ve ‘sıra numarası’ dır. Port numarası örneğin birden fazla kişinin aynı anda dosya yollaması veya karşıdaki bilgisayara bağlanması durumunda TCP’nin herkese verdiği farklı bir numaradır. Üç kişi aynı anda dosya transferine başlamışsa TCP 1000 1001 ve 1002 “kaynak” port numaralarını bu üç kişiye verir böylece herkesin paketi birbirinden ayrılmış olur. Aynı zamanda varış noktasındaki TCP de ayrıca bir “varış” port numarası verir. Kaynak noktasındaki TCP nin varış port numarasını bilmesi gereklidir ve bunu iletişim kurulduğu anda TCP karşı taraftan öğrenir. Bu bilgiler başlıktaki “kaynak” ve “varış” port numaraları olarak belirlenmiş olur. Ayrıca her segment bir “sıra” numarasına sahiptir. Bu numara ile karşı taraf doğru sayıdaki segmenti eksiksiz alıp almadığını anlayabilir. Aslında TCP segmentleri değil octet leri numaralar. 
Diyelim ki her datagram içinde 500 octet bilgi varsa ilk datagram numarası 0 ikinci datagram numarası 500 üçüncüsü 1000 şeklinde verilir. Başlık içinde bulunan üçüncü önemli bilgi ise “kontrol toplamı” (Checksum) sayısıdır. Bu sayı segment içindeki tüm octet’ler toplanarak hesaplanır ve sonuç başlığın içine konur. Karşı noktadaki TCP kontrol toplamı hesabını tekrar yapar. Eğer bilgi yolda bozulmamışsa kaynak noktasındaki hesaplanan sayı ile varış noktasındaki hesaplanan sayı aynı çıkar. Aksi takdirde segment yolda bozulmuştur ve bu durumda bu datagram kaynak noktasından tekrar istenir. 

IP Katmanı 
TCP katmanına gelen bilgi segmentlere ayrıldıktan sonra IP katmanına yollanır. IP katmanı kendisine gelen TCP segmenti içinde ne olduğu ile ilgilenmez. Sadece kendisine verilen bu bilgiyi ilgili IP adresine yollamak amacındadır. IP katmanının görevi bu segment için ulaşılmak istenen noktaya gidecek bir “yol” (route) bulmaktır. Arada geçilecek sistemler ve geçiş yollarının bu paketi doğru yere geçirmesi için kendi başlık bilgisini TCP katmanından gelen segment’e ekler. TCP katmanından gelen segmentlere IP başlığının eklenmesi ile oluşturulan IP paket birimlerine datagram adı verilir.

IP Datagram 
Bu başlıktaki temel bilgi kaynak ve varış Internet adresi (32-bitlik adres 144.122.199.20 gibi) protokol numarası ve kontrol toplamıdır. Kaynak internet adresi tabiiki sizin bilgisayarınızın internet adresidir. Bu sayede varış noktasındaki bilgisayar bu paketin nereden geldiğini anlar. Varış Internet adresi ulaşmak istediğiniz bilgisayarın adresidir. Bu bilgi sayesinde aradaki yönlendiriciler veya geçiş yolları (gateway) bu datagram’ı nereye yollayabileceklerini bilirler. Protokol numarası IP’ye karşı tarafta bu datagram’ı TCP’ye vermesi gerektiğini söyler. Her ne kadar IP trafiğinin çoğunu TCP kullansa da TCP dışında bazı protokollerde kullanılmaktadır. Dolayısıyla protokoller arası bu ayrım protokol numarası ile belirlenir. Son olarak kontrol toplamı IP başlığının yolda bozulup bozulmadığını kontrol etmek için kullanılır. Dikkat edilirse TCP ve IP ayrı ayrı kontrol toplamları kullanmaktalar. IP kontrol toplamı başlık bilgisinin bozulup bozulmadığı veya mesajın yanlış yere gidip gitmediğini kontrol için kullanılır. Bu protokollerin tasarımı sırasında TCP’nin ayrıca bir kontrol toplamı hesaplaması ve kullanması daha verimli ve güvenli bulunduğu için iki ayrı kontrol toplamı alınması yoluna gidilmiştir. 
Başlıktaki “Yaşam süresi” (Time to Live) alanı IP paketinin yolculuğu esnasında geçilen her sistemde bir azaltılır ve sıfir oldugunda bu paket yok edilir. Bu sayede oluşması muhtemel sonsuz döngüler ortadan kaldırılmış olur. IP katmanında artık başka başlık eklenmez ve iletilecek bilgi fiziksel iletişim ortamı üzerinden yollanmak üzere alt katmana (bu Ethernet X.25 telefon hattı vs. olabilir) yollanır. 

Fiziksel Katman
Fiziksel katman gerçekte Data Link Connection (DLC) ve Fiziksel ortamı içermektedir. Etherneti temel iletişim ortamı olarak kullanmasından dolayı da Ethernet teknolojisini örnek olarak verelim. Dolayısıyla burada Ethernet ortamının TCP/IP ile olan iletişimini açıklayacağız. Ethernet kendine has bir adresleme kullanır. Ethernet tasarlanırken dünya üzerinde herhangi bir yerde kullanılan bir Ethernet kartının tüm diğer kartlardan ayrılmasını sağlayan bir mantık izlenmiştir. Ayrıca kullanıcının Ethernet adresinin ne olduğunu düşünmemesi için her Ethernet kartı fabrika çıkışında kendisine has bir adresle piyasaya verilmektedir. Her Ethernet kartının kendine has numarası olmasını sağlayan tasarım 48 bitlik fiziksel adres yapısıdır. Ethernet teknoloji olarak yayın teknolojisini (broadcast medium) kullanır. Yani bir istasyondan Ethernet ortamına yollanan bir paketi o Ethernet ağındaki tüm istasyonlar görür. Ancak doğru varış noktasının kim olduğunu o ağa bağlı makinalar Ethernet başlığından anlarlar. Her Ethernet paketi 14 octet’lik bir başlığa sahiptir. Bu başlıkta kaynak ve varış Ethernet adresi ve bir tip kodu vardır. Dolayısıyla ağ üzerindeki her makina bir paketin kendine ait olup olmadığını bu başlıktaki varış noktası bilgisine bakarak anlar (Bu Ethernet teknolojisindeki en önemli güvenlik boşluklarından birisidir). Bu noktada Ethernet adresleri ile Internet adresleri arasında bir bağlantı olmadığını belirtmekte yarar var. Her makina hangi Ethernet adresinin hangi Internet adresine karşılık geldiğini tutan bir tablo tutmak durumundadır. Tip kodu alanı aynı ağ üzerinde farklı protokollerin kullanılmasını sağlar. Dolayısıyla aynı anda TCP/IP DECnet IPX/SPX gibi protokoller aynı ağ üzerinde çalışabilir. Her protokol başlıktaki tip alanına kendine has numarasını koyar. Kontrol toplamı (Checksum) alanındaki değer ile komple paket kontrol edilir. Alıcı ve vericinin hesaplandığı değerler birbirine uymuyorsa paket yok edilir. Ancak burada kontrol toplamı başlığın içine değilde paketin sonuna konulur. Ethernet katmanında işlenip gönderilen mesaj ya da bilgiye başka bir deyişle bilgi paketlerine frame adı verilir.

Ethernet Paketi 
Bu paketler (frame) varış noktasında alındığında bütün başlıklar uygun katmanlarca atılır. Ethernet arayüzü Ethernet başlık ve kontrol toplamını atar. Tip koduna bakarak protokol tipini belirler ve Ethernet cihaz sürücüsü (device driver) bu datagram’i IP katmanına geçirir. IP katmanı kendisi ile ilgili katmanı atar ve protokol alanına bakar protokol alanında TCP olduğu için segmenti TCP katmanına geçirir. TCP sıra numarasına bakar bu bilgiyi ve diğer bilgileri iletilen dosyayı orijinal durumuna getirmek için kullanır. Sonuçta bir bilgisayar diğer bir bilgisayar ile- letişimi tamamlar. 

Ethernet encapsulation: ARP 
Ethernet üzerinde IP datagramların nasıl yer aldığından bahsettik. Fakat açıklanmadan kalan bir nokta bir internet adresi ile iletişime geçmek için hangi Ethernet adresine ulaşmamız gerektiği idi. Bu amaçla kullanılan protokol ARP’dir (“Address Resolution Protocol”). ARP aslında bir IP protokolü değildir ve dolayısıyla ARP datagramları IP başlığına sahip değildir. Varsayalımki bilgisayarınız 128.6.4.194 IP adresine sahip ve siz de 128.6.4.7 ile iletişime geçmek istiyorsunuz. Sizin sisteminizin ilk kontrol edeceği nokta 128.6.4.7 ile aynı ağ üzerinde olup olmadığınızdır. Aynı ağ üzerinde yer alıyorsanız bu Ethernet üzerinden direk olarak haberleşebileceksiniz anlamına gelir. Ardından 128.6.4.7 adresinin ARP tablosunda olup olmadığı ve Ethernet adresini bilip bilmedigi kontrol edilir. Eğer tabloda bu adresler varsa Ethernet başlığına eklenir ve paket yollanır. Fakat tabloda adres yoksa paketi yollamak için bir yol yoktur. Dolayısıyla burada ARP devreye girer. Bir ARP istek paketi ağ üzerine yollanır ve bu paket icinde “128.6.4.7” adresinin Ethernet adresi nedir sorgusu vardır. Ağ üzerindeki tüm sistemler ARP isteğini dinlerler bu isteği cevaplandırması gereken istasyona bu istek ulaştığında cevap ağ üzerine yollanır. 128.6.4.7 isteği görür ve bir ARP cevabı ile “128.6.4.7 nin Ethernet adresi 8:0:20:1:56:34” bilgisini istek yapan istasyona yollar. Bu bilgi alıcı noktada ARP tablosuna işlenir ve daha sonra benzer sorgulama yapılmaksızın iletişim mümkün kılınır. Ağ üzerindeki bazı istasyonlar sürekli ağı dinleyerek ARP sorgularını alıp kendi tablolarını da güncelleyebilirler.

TCP dışındaki diğer protokoller: UDP ve ICMP
TCP katmanını kullanan bir iletişim türünü açıkladık. TCP gördüğümüz gibi mesajı segment’lere bölen ve bunları birleştiren bir katmandı. Bu cins mesajlara en güzel örnek adres kontrolüdür (name lookup). Internet üzerindeki bir bilgisayara ulaşmak için kullanıcılar internet adresi yerine o bilgisayarın adını kullanırlar. Bu cins kullanımlar için TCP’nin alternatifi protokoller vardır. Böyle amaçlar için en çok kullanılan protokol ise UDP’dir(User Datagram Protocol). 
UDP datagramların belirli sıralara konmasının gerekli olmadığı uygulamalarda kullanılmak üzere dizayn edilmiştir. TCP’de olduğu gibi UDP’de de bir başlık vardır. IP katmanı kendi başlık bilgisini ve protokol numarasını yerleştirir (bu sefer protokol numarası alanına UDP’ye ait değer yazılır). Fakat UDP TCP’nin yaptıklarının hepsini yapmaz. Bilgi burada datagramlara bölünmez ve yollanan paketlerin kayıdı tutulmaz. UDP’nin tek sağladığı port numarasıdır. Böylece pek çok program UDP’yi kullanabilir. Daha az bilgi içerdiği için doğal olarak UDP başlığı TCP başlığına göre daha kısadır. Başlıkkaynak ve varış port numaraları ile kontrol toplamını içeren tüm bilgidir. 
Diğer bir protokol ise ICMP’dir (“Internet Control Message Protocol”). ICMP hata mesajları ve TCP/IP yazılımının bir takım kendi mesaj trafiği amaçları için kullanılır. Mesela bir bilgisayara bağlanmak istediğinizde sisteminiz size “host unreachable” ICMP mesajı ile geri dönebilir. ICMP ağ hakkında bazı bilgileri toplamak amacı ile de kullanılır. ICMP yapı olarak UDP’ye benzer bir protokoldür. ICMP de mesajlarını sadece bir datagram içine koyar. Bununla beraber UDP’ye göre daha basit bir yapıdadır. Başlık bilgisinde port numarası bulundurmaz. Bütün ICMP mesajlari ağ yazılımının kendisince yorumlanırICMP mesajının nereye gideceği ile ilgili bir port numarasına gerek yoktur. ICMP ‘yi kullanan en popüler Internet uygulaması PING komutudur. Bu komut yardımı ile Internet kullanıcıları ulaşmak istedikleri herhangi bir bilgisayarın açık olup olmadığını hatlardaki sorunları anında test etmek imkanına sahiptirler. 

Katmanlar Arası Bilgi Akışı
Internet Adresleri 
Internet adresleri 32-bitlik sayılardır ve noktalarla ayrılmış 4 octet (ondalık sayı olarak) olarak gösterilirler. Örnek vermek gerekirse 128.10.2.30 internet adresi 10000000 00001010 00000010 00011110 şeklinde 32-bit olarak gösterilir. Temel problem bu bilgisayar ağı adresinin hem bilgisayar ağını ve hem de belli bir bilgisayarı tek başına gösterebilmesidir. 
Internet’te değişik büyüklükte bilgisayar ağlarının bulunmasından dolayı internet adres yapısının tüm bu ağların adres sorununu çözmesi gerekmektedir. Tüm bu ihtiyaçları karşılayabilmek amacı ile internet tasarlanırken 32 bit’lik adres yapısı seçilmiş ve bilgisayar ağlarının çoğunun küçük ağlar olacağı varsayımı ile yola çıkılmıştır. 
32-bit internet adresleri 'Ağ Bilgi Merkezi (NIC) internet Kayıt Kabul' tarafindan yönetilmektedir. Yerel yönetilen bir ağ uluslararası platformda daha büyük bir ağa bağlanmadığında adres rastgele olabilir. Fakat bu tip adresler ileride internet'e bağlanılması durumunda sorun çıkartabileceği için önerilmemektedir. Ağ yöneticisi bir diğer IP-tabanlı sisteme örneğin NSFNET'e bağlanmak istediğinde tüm yerel adreslerin 'Uluslararası Internet Kayıt Kabul' tarafindan belirlenmesi zorunludur. 
Değişik büyüklükteki ağları adreslemek amacı ile 3 sınıf adres kullanılmaktadır: 

A Sınıfı adresler: İlk byte 0 'la 126 arasında değişir. İlk byte ağ numarasıdır. Gerisi bilgisayarların adresini belirler. Bu tip adresleme herbiri 16777216 bilgisayardan oluşan 126 ağın adreslenmesine izin verir. 
B Sınıfı adresler: İlk byte 128 'le 191 arasında değişir. İlk iki byte ağ numarasıdır. Gerisi bilgisayar adresini belirler. Bu tip adresleme herbiri 65536 bilgisayardan oluşan 16384 ağın adreslenmesine izin verir. 
C Sınıfı adresler: İlk byte 192 ile 223 arasında değişir. İlk üç byte ağ numarasıdır. Gerisi bilgisayarların adresini belirler. Bu tip adresleme herbiri 254 bilgisayardan oluşan 2000000 ağın adreslenmesine izin verir. 
127 ile başlayan adresler Internet tarafından özel amaçlarla (localhost tanımı için) kullanılmaktadır. 
223'ün üzerindeki adresler gelecekte kullanılmak üzere D-sınıfı ve E-sınıfı adresler olarak reserve edilmiş olarak tutulmaktadır. 
A sınıfı adresler NSFNET MILNET gibi büyük ağlarda kullanılır. C sınıfı adresler genellikle üniversite kurulu yerel ağlarla ufak devlet kuruluşlarında kullanılır. NIC sadece ağ numaralarını yönetir. Bölgede olması beklenen bilgisayar sayısına göre A B veya C sınıfı adresleme seçilir. Bir bölgeye ağ numarası verildikten sonra bilgisayarların nasıl adresleneceğini bölge yönetimi belirler. IP adres alanı özellikle son yıllarda artan kullanım talebi sonucunda hızla tükenmeye başlamıştır. Bu nedenle yapılan IP adres taleplerinin gerçekci olmasının sağlanması için gerekli kontroller yapılmaktadır. 

Özel Adresler 
Internet adreslemesinde 0 ve 255'in özel bir kullanımı vardır. 0 adresi internet üzerinde kendi adresini bilmeyen bilgisayarlar için (Belirli bazı durumlarda bir makinanın kendisinin bilgisayar numarasını bilip hangi ağ üzerinde olduğunu bilmemesi gibi bir durum olabilmektedir) veya bir ağın kendisini tanımlamak için kullanılmaktadır (144.122.0.0 gibi). 255 adresi genel duyuru "broadcast" amacı ile kullanılmaktadır. Bir ağ üzerindeki tüm istasyonların duymasını istediginiz bir mesaj genel duyuru "broadcast" mesajıdir. Duyuru mesajı genelde bir istasyon hangi istasyon ile konuşacağını bilemediği bir durumda kullanılan bir mesajlaşma yöntemidir. 
Örneğin ulaşmak istediğiniz bir bilgisayarın adı elinizde bulunabilir ama onun IP adresine ihtiyaç duydunuz bu çevirme işini yapan en yakın "name server" makinasının adresini de bilmiyorsunuz. Böyle bir durumda bu isteğinizi yayın mesajı yolu ile yollayabilirsiniz. Bazı durumlarda birden fazla sisteme bir bilginin gönderilmesi gerekebilir böyle bir durumda her bilgisayara ayrı ayrı mesaj gönderilmesi yerine tek bir yayın mesajı yollanması çok daha kullanışlı bir yoldur. Yayın mesajı yollamak için gidecek olan mesajın IP numarasının bilgisayar adresi alanına 255 verilir. Örneğin 144.122.99 ağı üzerinde yer alan bir bilgisayar yayın mesajı yollamak için 144.122.99.255 adresini kullanır. Bazı eski sürüm TCP/IP protokolüne sahip bilgisayarlarda yayın adresi olarak 255 yerine 0 kullanılabilmektedir. Ayrıca yine bazı eski sürümler subnet kavramına hiç sahip olmayabilmektedir. 
0 ve 255'in özel kullanım alanları olduğu için ağa bağlı bilgisayarlara bu adresler kesinlikle verilmemelidir. Ayrıca adresler asla 0 ve 127 ile ve 223'ün üzerindeki bir sayı ile başlamamalıdır. 

Internet Erişim Protokolleri
Internet protokolleri derken aslında bağsetmek istediğim dialup protokolleriydi. Dial up protokolleri olarak 2 tane protokol kullanılmaktadır. Bunlar:
        
PPP (Point-to-Point Protocol): 
OSI katmanlarında fiziksel ve data link katmanlarında çalışır. Tek bir zaman diliminde birden çok protokolü ( TCP/IP. IPX/SPX. NetBEUI ) üzerinde taşıyabilir. Birden fazla kanal birleşmelerine izin verir. (Multiplexing). Otomatik olarak konfigure edilir. Frame ve IP başlığını sıkıştırmak ve hata kontrolü gibi özellikleri vardır. DHCP server ile birlikte çalışabilir. Windows NT server’da PPP server olarak konfigure edilebilir. Dialup bağlantılarda otomatik logon olmak için iki method kullanır: PAP (Password Authentication Protokol). CHAP (Challenge-Handshacke Authentication Protokol) NT server bölümünde ayrıntılı olarak üzerinde geçilecektir. 
        
SLIP (Serial Line Internet Protocol): 
OSI modelinde fiziksel katmanda çalışır. Winsock progrramlarını çalıştırabilir. IP konfigurasyonunu otomatik olarak gerçeklerştirmez. Static IP gerektirir yani DHCP’den IP alamaz. PPP’de otomatikti. Authentication yoktur dolayısıyla güvenlik PPP göre daha azdır. Windows NT RAS Server SLIP desteklemez. Error kontrol ve data sıkıştırması yoktur. PPP’de vardı. UNIX network işletim sistemi default SLIP destekler.

A'dan Z'ye Bilgisayar Öğrenme   (7.Bölüm)
WINDOWS NT SERVER 

KURULUMU 

Kurulum için gereken minimum donanım: 

·                 125M HDD te boş alan (110 MB for Workstation )
·                 16MB RAM (12MB for Workstation )
·                 486-DX33
·                 CD-ROM ( Eğer networkten kurmuyorsanız)
KURULUM ÇEŞİTLERİ

PDC ( Primary Domain Conroller ): Domain konrolünü yapmak için kurulur. Bir domain de ancak bir tane PDC bulunur.
BDC (Backup Domain Controller ): PDC domain server’ın bir yedeği gibi çalışır. PDC server’da bir problem olduğunda onun yerine geçebilecek server’dır. Aynı zamanda domain’de backup işlemlerini takip etmek için kurulur.
STAND-ALONE : Windows NT PDC Server’da bulunan domain oluşturma özelliği dışındaki servisleri verebilen bir kurulum çeşitidir. 

KURULUMU BAŞLATMAK 
1) Kuruluma WINNT.EXE yi CD den HDD’ten veya networkten Windows NT Server kurulum dosyalarının bulunduğu i386 dizini içerisinden çalıştırarak başlıyoruz. WINNT.EXE ile sıradan bir NT kurulumu gerçekleştirebiliriz veya DOS ve WINDOWS 95 üzerine kurulum yapabiliriz.
2) UPGRADE için WINNT32.EXE yi yine i386 dizininin içinden çalıştırıyoruz. Windows NT Server Version 3.X versiyonundan NT Version 4.0’a geçiş yaptığınız zaman kullanıcılarınız network ayarlarınız ve kurulu olan programlar aynı kalacaktır. 
Windows 95 üzerine Windows NT Server 4.0 kuramazsınız. Ancak NT’yi başka bir dizine kurar ve ayrıca tekrardan 95’te kullandığınız uygulamalarınızın hepsini kurmak zorundasınız. Bu şekilde NT ve Windows 95 dual boot olarak çalışır. 
KURULUM OPTIONLARI 

/B
Kurulum sırasında kullanılan BOOT disketlerini oluşturmadan kurulum yapmak için kullanılır. Disketleri HDD’e yazar. 
/OX
CD den veya setup’ın bulunduğu herhangi bir yerden OX opsiyonunu kullanarak kurulum başlatıldığında sadece BOOT disketleri oluşturur.

NT BOOT İŞLEMLERİ 
NT boot işlemleri aynı MS-DOS ve Windows açılış işlemleri gibi belirli bir sırada gerçekleşir. Bu gerçekleştirme sırasıyla bir takım dosyaların çalışmaları ile olur. Bu dosyalar Intel ve RISC işlemcilere göre farklılık gösterir. Dosyalar sırası ile: 
Intel x86 
Ntldr--- İşletim sistemini yükler. Hidden Read-only dosyadır.
Boot.ini—İşletim sistemlerinin açılış sırasını belirten menuyü getiren dosya. Read-only dir. Sadece intel x86 PC’lerde.
Bootsec.dos—Eğer HDD’te NT den başka bir işletim sistemi daha varsa ve NT olmayan seçilirse açılıştaki Ntldr dosyası bu dosyayı çalıştırır. Hidden dosyadır.
Ntdetect.com—Donanım tarama dosyası. Sisteme yani takılan donanımları tarar. Registry’ye girişlerini yapar driverlarını yükler. Hidden Read-only dir. 
Ntbootdd.sys-- Sadece SCSI adapter bulunan sistemlerde bulunur. Açılış sırasında SCSI’ ye bağlı aygıtlar taranır.

RISC 
Osloader.exe—İşletim sistemini yükleyen dosyadır. İntel işlemcilerdeki Ntldr dosyasının yaptığı işi yapar. 
*.pal ( Alpha only )-- Bu dosyalarda PAL codes software subroutines bulunur. Bu dosyalar işletim sistemi için CPU ile direk haberleşmeyi sağlayan dosyalardır.
Her iki platformda ortak olan dosyalar. 
Ntoskrnl.exe—Windows NT nin çekirdek dosyası.
HAL.dll—Hardware Abstraction Layer (dinamic linc library ) dosyası.
System—Bu dosyada tüm sistemin konfigürasyon bilgileri bulunur. \winnt_root\system32\config dizininin altındadır. Donanım driver’larını ve servisleri sistem açılışında düzenler.
Device Drivers—Bu dosyalar çeşitli donanım driver’larını desteklemek için kullanılır. Örneğin FTDISK SCSIDISK gibi.

VIRTUAL MEMORY

Virtual Memory Windows 95’teki swap dosyası gibi çalışır. NT Virtual memory dosyası olarak pagefile kullanır. Pagefile NT nin çalışma sürecinde giderek genişler fakat boyut olarak sabit kalır. Yoğun bir çalışma süresi içinde Pagefile boyut olarak yetersiz kalabilir. PC restart olduğunda Pagefile’da reset’lenir. (yapılan değişiklikler kaydedilir) 
Kurulumdan sonra Pagefile boyut olarak RAM+11MB NT Workstation’da RAM+12MB kadarda NT Server’dadır. 
Virtual memory Conrol Panel>System Properties>Performans Tab altından değiştirilebilir. Hatta istenirse birçok HDD’de de istenilen miktada yer Pagefile olarak kullanılır. 
En verimli Pagefile kullanım şekli: Pagefile’ın çeşitli HDD’lere dağıtılmış olanıdır. Ancak systemin veya açılış doyalarının bulunduğu bölümlerde fazla arttırmamak gerekir. 
Pagefile’ı en iyi izleme yeri Administrator Tools>Performans Monitor>Pagefile. Buradan NT normal çalışırken izlendiğinde çalışam temposuna göre genişletilip genişletilmeyeceğine karar verilebilir. 
Note: genelde kullandığınız her disk için pagefile ayırın bu performansınızı büyük ölçüde arttıracaktır. Aslında her partition için bile ayrı ayrı kurulabilir.
NT’DE HARD DISK KULLANIMI



MULTİBLE DISK SET 

Disk Striping
Datalar 64K’lık bloklar halinde bölünür ve eşit olarak bütün disklere yazılır. En az üç tane HDD gerekir. Fault Tolarans içermez.
Disk Mirroring 
Bir bölümün tümüyle başka bir disk üzerinde kopyasıyla kullanır. Fault Tolarans içerir. Disklerden biri çöktüğünde diğeriyle devam edilebilir. 
Disk Dublexing 
Bir HDD’in tümüyle başka bir kontroller ve disk üzerine kopyasının alınmasından oluşur. Fualt Tolarans içerir. HDD ve kontroller çökmelerinden etkilenmez.
Disk Striping With Parity
Datalar bloklar haline bölünerek HDD’lere yazılırlar. Bütün blokların log’ları tutulur. Fualt Tolarans sağlar data’yı farklı disklere dağıtır. Her diskte bloklar hakkında bilgiler vardır. Bunlara Parity denir. Parity çöken disklerin yenilenmesi için kullanılır. Aslında sistem kendi kendini otomatik olarak düzzeltir. En az 3 disk gereklidir.
Volume Set
Bir çok bölümü tek bir bölümmüş gibi bir araya toplamaya yarar. Map için çok idealdir. Tüm bölümlere kolayca erişim sağlar. Fault Tolarans sağlamaz. 

Note: System ve boot bölümleri stripe set veya volum set olarak kullanılamaz Ama mirroring ve dublexing te kullanılabilir. 
VOLUME SETS 

Windows hem NT Server hem deWorkstation tarafından desteklenir. HDD’lerin kullanılmayan ( Primary ve Extended bölümlerinden sonra geriye kalan bölüm ) bölümleri birleştirmek için kullanılır. Volume Seti en az 2 en çok 32 farklı disk bölümlerinden oluşturabilirsiniz. Volume Set oluşturulduktan sonra mutlaka formatlanmalıdır. Örneğin iki tane HDD’miz olsun ve bunların da bir miktar alanı boş olsun. 1.inci HDD’te 50 MB 2.inci HDD’tede 154 MB olduğunu varsayarsak bu boş alanları Volum Set ile birleştirerek 204 MB’lık bir Volume Set yapabiliriz. Volume Set oluşturmak için SCSI ESDI ve IDE HDD’leri aynı makinada problemsiz bir şekilde kullanabilirsiniz. Volume Set’te tek bir zaman diliminde birim data yazılımında setteki HDD’lerden sadece biri kullanılır. Taki yazılan HDD’te boş alan kalmayıncaya kadar. Daha sonra data sırasıyla Volume Setteki diğer HDD’lere yazılmaya başlar. Volum Set’te disk erişimi sadece bir disk üzerinden yapılır. Diğer diskler beklemededir. System ve boot bölümleri Volume Set’e dahil edilemez. Volume Set’ler FAT veya NTFS olarak format’lanabilir. Volume Set içindeki disk parçacıkları ayrı ayrı format’lanamaz böyle bir teşebbüs Volume Seti bozar ve tüm setteki bütün bilgilerin kaybolmasına neden olur. 
Ayrıca Volume Set sadece Windows NT sistemler tarafından desteklenir. Yani dual-boot ile çalışan bir sistemde ( PC nin hem Windows NT hemde MS-DOS Windows 95/98 de çalışabilmesi ) diğer işletim sistemleri Volume Set’lere kesinlikle erişemez. Hatta bu alanları göremezler. Bir başka önemli nokta ise; Volume Set’ler Fault Tolerans sağlamaz. Kısaca eğer setteki herhangi bir disk çökerse Volume Set’te çöker ve tabiki tüm disklerdeki bilgiler kaybolur. . 

STRIPE SETS
Stripe Set yapısal olarak Volume Set’e çok benzer. Her ikiside birden fazla diskin boş alanlarını kullanır. 32 diske kadar destekler. Yine Volume Sette kullanabildiğimiz SCSI ESDI ve IDE HDD’ler aynı sette kullanılabilir. 
Stripe Set’te bilgi setteki tüm disklere paylaştırılarak 64 K’lık bloklar halinde yazılır. Setteki tüm diskler sanki tek bir diskmiş gibi fonsksiyonal halde çalışır. Bu şekilde çalışmak için I/O command’ları eş zamanlı ve birlikte tüm disklerde aynı anda çalışırlar. Bu nedenle I/O sisteminin hızı; tüm disklerin hızı; aynı zamanda Stripe Setin hızı olmaktadır. Volum Set’e oranla çok daha hızlıdır. Diğer özellikleri Volum Set ile aynıdır. Stripe Set’te Fault Tolerance sağlamaz. Sistem ve boot bölümleri Stripe Set’ede dahil edilemez; diğer işletim sistemleri Stripe Set’ede erişemez. 

STRIPE VE VOLUM SET KARŞILAŞTIRILMASI 
DURUM STRIPE VOLUME 
Tek bir diskte kullanma hayır evet
Sistem ve boot patitionı içerme hayır hayır
Max. Birleştirme alanı 32 disk 32 disk

HIZ FOKTÖRÜ

·                 Stripe Set çok diskli ortamlarda hızlı okuma-yazma avantajı sağlar. Aynı anda birden çok diski okuma ve yazma avantajı vardır.
·                 Disk striping with Parity bilgileri yazarken Stripe Set’te oranla daha yavaştır. Ama mirroring ve volum set’ten daha hızlıdır.
Disk Mirroring’te çöken bir disk için yeni bir disk tanıtılır. NT çalıştırılır. Disk Administrator dan Fault Tolaranca bölümünden mirror kırılır. Sonra yeni diskle tekrar mirror oluşturulur. Bu işlem otomatik olarak gerçekleşmez.
Disk Striping With Parity’de çöken bir disk için yeni bir disk tanıtılır. NT çalıştırılır ve Disk Administrator’dan Regenerate yapılır.
Disk Striping With Parity’de sistemde ancak birden fazla diskin çökmesinde yeni diskler systeme tanıtılır. NT çalıştırılır. Backuptan geri dönülür.
FİLE SYSTEMS 

FAT 16/32 :
1) FAT systemindeki dosya ve dizinler standart özelliklere sahiptir: Archive Read-Only System ve Hidden.
2) Fat bölümde local security access kullanılamaz. 
3) Convert.exe ile NTFS’e çevrilebilir.
4) Fat bölümünde defrag.exe çalıştırılabilir. Yani defragmantation yapılabilir. ( DOS disketiyle yapılabilir.)
5) FAT’ten NTFS’e Move edilen dosyaların sadece özellikleri ve uzun dosya isimleri devam eder.
NTFS 

1) NTFS dosya seviyesinde güvenlik sağlar.
2) Local security access kullanılır.
3) NTFS FAT’e çevrilemez. NTFS bölüm silinip tekrardan FAT olarak yaratılabilir.
4) NTFS defragment edilemez. Defragment etmek için format atılıp sonra backup’tan dönülmesi gerekir.
5) NTFS’den FAT’e move edilen dosyalar özelliklerini ve güvenliklerini taşıyamazlar. Ama uzun dosya isimleri taşınır.

GÜVENLİK
Share-level Security’de (Paylaşım Düzeyli) ağdan erişimlerde kaynaklar kullanıcı ve şifre seviyesindedir. Hem NTFS hem de FAT’te kullanılır. 
File-level Security’de (Dosya Paylaşım Düzeyli) yerel yönetimde sadece NTFS dosya sisteminde kullanıcılar için dosya ve dizin seviyesinde paylaşım yapabilir.
PAYLAŞIM GÜVENLİK SEVİYELERİ
FULL CONTROL

·                 Default olarak Everyone Group’ una gelir.
·                 Kullanıcılara dosya ve dizinleri sahiplenme hakkı verir.
·                 Kullanıcılar dosya erişim haklarını değiştirebilirler.
·                 Bütün kullanıcılara hakları değiştirme ve okuma seviyesinde haklar verelebilir.
CHANGE

·                 Kullanıcılar dosya yaratabilir ve ekleyebilir.
·                 Dosyaları değiştirme hakkı verilebilir.
·                 Kullanıcı dosyaların özelliklerini değiştirebilir.
·                 Kullanıcı dosyaları silebilir.
·                 Diğer kullanıcılara read hakkı verebilir.
READ

·                 Kullanıcı dosyayı açabilir ve okuyabilir.
·                 Kullanıcı dosyanın özelliklerini görebilir.
·                 Kullanıcı read hakkı verilmiş bir programı çalıştırabilir.
NO ACCESS

·                 Kullanıcı dosyayı göremez açamaz ve değişiklik yapamaz.


C2 GÜVENLİK DÜZEYİ 
1) Kaynak erişim kontrolü kaynağın sahibinde olmalı.
2) Denetim: Sistem yöneticileri güvenlikle ilgili olayları ve kulanıcıları denetleyebilmelidir. Denetim sadece yetkili kişiler tarafından yapılabilmelidir.
3) Tanımlama: Her kullanıcı kendini tanımlamalıdır. Sistem kullanarak kullanıcının aktivitelerini kontrol eder.
Windows NT C2 güvenlik standartlarına uyacak şekilde tasarlanmıştır. Ama en büyük dez avantajıda “plug and play” değil “plug and pray” olmasıdır.
NTFS FOLDER (Klasör) İZİNLERİNDE KULLANICI NELER YAPABİLİR
READ (R)
* Klasör ismini sahibini özelliklerini ve izinlerini görebilir. 
WRITE (T)
* Dosya ve klasörlere bilgi ekleyebilir özelliklerini değiştirebilir; izinleri ve sahibini görebilir.
EXECUTE
* Klasörün özelliklerini sahibini ve izinlerini görebilir. Eğer çalıştırılabilir dosya ise çalıştırabilir.
DELETE (D)
* Klasörü silebilir.
CHANGE (P) PERMİSSİON
* Klasörün izinlerini değiştirebilir.
TAKE (O)
OWNERSHİP
* Klasörü sahiplenebilir.
NTFS DOSYA İZİNLERİNDE KULLANICI NELER YAPABİLİR 
READ (R)
* Dosya içeriğini sahibini izinlerini özelliklerini görebilir.
WRİTE (W)
*Sahibini ve izinlerini görebilir; özelliklerini ve içindeki bilgileri değiştirebilir.
EXECUTE(E)
* Sahibini özelliklerini ve izinlerini görebilir. Eğer çalıştırılabilir bir dosya ise çalıştırabilir.
DELETE (D)
* Dosyayı silebilir.
CHANGE (P) PERMİSSİON 
* Dosyanın izinlerini değiştirebilir.
TAKE (O) OWNERSHİP
* Dosyayı sahiplenebilir.
NO ACCESS DIŞINDA BÜTÜN İZİNLER CUMULATIVE’ DİR. (Örneğin: X dosyası için Ahmet kullanıcısına okuma izni verilmiş olsun. Ayrıca Muhasebe grubuna da yazma izni verilmiş olsun. Eğer Ahmet kullanıcısı muhasebe grubuna dahil ise Ahmet kullanıcısının hem okuma hem de yazma hakkı olacaktır.) Yeni bir dosya yaratıldığında hangi kalsör altında yaratılırsa onun izinlerini alır. 
Dosyaların Kopyalama ve Taşıma Sonrasındaki Durumları
Bir dosya hangi folder içine kopyalanırsa o folderın izinleri dosyanın izinlerinin üzerine yazılır. Yani dosya izinleri kabolur.
Her hangi bir folder içinde bir dosya yaratırsanız o dosya otomatikolarak içinde yaratıldığı folderın izinlerini alır.
Copying Within a Partition
Eğer dosya aynı partition içinde kopyalanıyorsa izinler olarak kopyalandığı klasörün izinlerini alır. 
Moving within a partition
Eğer dosya aynı partition’da move edilirse izinler aynı kalır. Sadece directory pointerlar’ı ubdate edilir. 
Moving across partition 
Eğer farklı partition’a dosyayı taşırsak; dosya taşındığı klasörün izinlerini alır.

A'dan Z'ye Bilgisayar Öğrenme   (8.Bölüm)
GROUP VE HESAP YÖNETİMİ
GLOBAL GROUP: 
İçinde aynı haklara ve gereksinimlere sahip kullanıcılar bulunan group. Sadece Domain Kontrollerda yaratılabilir. Specific bir domaindeki kullanıcıları içerir. Başka group taşıyamaz. Başka domainlerin kullanıcılarını içeremez. Trust Relationship’lerde bir domain’den diğerine geçişlerde kullanılır. Bir çok domain’de aynı anda kullanılır bu nedenle büyük bir kolaylık sağlar. NT Workstationda yaratılamaz.
LOCAL GROUP (Yerel) 
Yerel bilgisayar veya domain’ deki kaynaklara kullanıcıların erişmesini sağlar. Başka bir deyişle tüm haklar ancak yerel olarak verilir. Sadece NT sistemlerde yaratılabilir. Genelde sadece global goupları içermelidir. Ama kullanıcılarıda içerebilir. ( tavsiye edilmez. ). Başka domain’ lerin global gruplarınıda içerir. Ancak başka domain’ lerde kullanılamaz.
Yeni bir kullanıcı hesabı yaratmak için sadece iki terim girilmesi yeterlidir: Kullanıcı ismi ve şifre.

PROFİLES
Profiles kullanıcı ayarlarıdır. Yani bir kullanıcının masaüstü öğelerinden tutunda network ayarlarına kadar her türlü bilgilerinin bulunduğu yerdir. Ne zaman oluşur? Kullanıcı ilk logon olduğunda otomatik olarak Profiles dizini altına kullanıcı ismiyle yeni bir klasör oluşur ve ondan sonra yaptığı bütün değişiklikler buraya kaydedilir. Klasör içerisinde domain’ de kullanıcıyı tanımlayan NTUser.dat dosya bulunur. Üç çeşit profile bulunur: DefaultMandatory Roaming. 
NTUser.dat dosyaları default olarak açılan dosyadır. Kullanıcı windows ayarlarını tekrardan konfigüre edebilir. 
NTUser.man dosyaları read-only dosyalardır. Kullanıcının yaptığı değişiklikler server’ a kayıt edilmediğinden ve tekrar logon olduğunda profile yine server’ dan okuyacağından bir önceki logon sırasında yaptığı değişiklikler görünmeyecektir.
 

POLICIES 
Policy kullanıcıların Windows fonksiyonlarını server’ dan denetlemek kısıtlamak için kullanılır. Windows NT’ de System Policy’ den yaratılır. Bir kullanıcı için oluşturulmuş bir policy var ise policy kullanıcının Windows ayarları üzerinde profile’ dan daha önceliklidir. Yani profile’ da kullanıcı için bir kısıtlama olmasa ancak policy’ de kısıtlanmışsa policy geçerli olur. 
Kişisel policy’ ler group policy’ lerinden daha önceliklidir. Machine policy ise bütün policy’ lerden daha önceliklidir.

Emergency Repair Disk Oluşturmak 
Bu bölüm hem NT Server hem de NT Workstation’da tamamen aynıdır. 
Emergency Repair Disk yani acil durumlarda (genelde NT’nin açılmadığı durumlarda) tamir için kullanabileceğimiz disketi yaratmak için komut satırında veya Run’da rdisk.exe komutunu yazmanız yeterlidir. (Sadece rdisk yazsanızda olur.) Komut girildiğinde yeni bir pencere açılacaktır. Önce update Emergency Repair Disk’e tıklanır (Registry ve SAM kayıtlarının son haliyle yedeğe yazılması için) sonrada Create’e tıklanır. NT önce disketinize format atacak ve sonrada Registry ve SAM dosyaları için yedekleme yapacaktır. 
Emergency Repair Disk ile NT’de yaratmış olduğunuz kullanıcı ve group tanımlamalarını HDD’lerde yapmış olduğunuz değişiklikleri (RAID vs) sistem şifrelerini vs geri getirebilirsiniz.

TRUST RELATIONSHIP ( Domainler arasında güven ilişkileri ) 
Windows NT Server günümüzde bir çok şirkette değişik amaçlarla kullanılmaktadır. Bazı şirketlerde özel birimler güvenlik açısından sadece kendilerine ait primary domain controller bulundurmak istiyor. Amaçları bölümlerini network ortamından software olarak ayırmak. Özellikle bankalarda domain sayısı oldukça fazla. Trust Relationship diye tanımladığımız NT Server özelliği birden fazla domain bulunan networklerde domain’ ler arasında güvenli bir geçiş için kullanılır. PDC’ de Administrative Tools User Manager for Domains penceresinde policies modülünde Trust Relationship’ ten güven ilişkileri ile ilgili ayarları yapabiliriz. 
Her PDC kendisine ait domain database’ ini kurulum aşamasında oluşturur. Database’ de kullanıcılar network erişim hakları gibi bir çok güvenlik bilgileri bulunur. Farklı domainlerde bulunan kullanıcı ve kaynakları yönetilmek için güvenen (Trusting) domain ve güvenilen (Trusted) domain olarak Trust Relationship kurulumunda oluşan iki terimi anlamaya çalışalım. 
Güvenen domain karşı domaindeki kullanıcılara kendi kaynaklarını açan domain’ dir. Bir başka deyişle kaynakların bulunduğu domain anlamında kaynak domain’ i diyebiliriz. Güvenilen domain için ise; kullanıcıları başka domain’lerin kaynaklarını kullanan domain diye tanımlayalım. Yada kısaca kullanıcıların bulunduğu domain diyelim.
 
Kısaca özetlemeye çalışırsak Trust Relationship oluşturulduğunda (Trusting) güvenen “kaynak” domain’i ve (Trusted) güvenilen “kullanıcı” domain’ i olmak üzere iki domain kavramı oluşur. 
Trust Relationship oluşturmaya her zaman (Trusted) kullanıcı domain’nini oluşturarak başlamak karışıklığa sebeb vermemek açısından oldukça fayladılır. 
[IMG]file:///C:/Users/CTRLSH%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif[/IMG] 
Domain B trusts Domain A 
Yukarıda ki şekle göre Domain A da bulunan tüm kullanıcılar Domain A ya logon olduklarında Domain B yede logon olurlar. Aslında güven ilişkilerinde Domain A nın database’ini kullanan kullanıcılar Domain B nin de database’ ini kullanırlar.

[IMG]file:///C:/Users/CTRLSH%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif[/IMG]

Domain B trusts Domain A and Domain A trusts Domain B
İki domain’ inde birbirine güvenmesi durumunda her iki domaindeki kullanıcılarda logon olduklarında database olarak iki domaininde database’ ini kullanılar. Bu durumda iki taraftaki kaynaklarda ortak kullanıma açılmış olur.
[IMG]file:///C:/Users/CTRLSH%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif[/IMG]Çoklu domainlerde yandaki örnekte görüldüğü gibi E ve G domainleri F domainine güvenmekteler. Böylece F domainine logon olan kullanıcılar aynı zamnada E ve G domain kaynaklarını da kullanabilir. Ama bu şu anlama gelmiyor: E domaini G domainine güveniyor veya G domaini E domainine güveniyor. Ancak şartlar alttaki durumda olursa tüm domainler birbirine güvenir. 
Kısaca Microsoft güven ilişkilerini geçişli olarak kullanmıyor. Örneğin siz bir arkadaşınıza çok güvenebilirsiniz ama arkadaşınız çok iyi birisi diye sizin tanımadığınız onun arkadaşlarına Microsoft domain mantığı ile güvenemiyoruz.
Ayrıca bir diğer önemli ayrıntı ise güvenen (Trusting) domain’ de kaynaklarının güvendiği domain’den (Trusted) logon olan kullanıcıların kullanabilmesi için gerekli izinlerin verilmesi gerekir. Başka bir anlatımla kaynaklarını paylaşıma açan domain onlar için izinleri düzenlemek sorundadır. İzin düzenlemeleri yapılmamış bir Trust Relationship oluşumu network’te kaynak paylaşımı için bir anlam ifade etmez
. 

NOVELL NETWARE CONNECTIONS (Bağlantıları) 

NWLink (IPX/SPX Transport Protocol): 

NWLink Windows NT Server’ı Netware 2X 3X 4X (in bindery emulation mode) çalışan ortamlara dahil etmek için kullanılır. Netware client’lar üzerinde hiç bir artı işlem yapmadan Netware client’ları Exchange server’a veya SQL server’a erişebilir duruma getirir. Ayrıca NWLink Windows Sockets Novell NetBIOS and Named Pipes protokollerini destekler.
Client Service for Netware: 
Windows NT Workstation PC’lerde Netware’ın file ve print servislerini kullanması için CSNW servisi Workstation’ da olmak zorundadır. Sadece bir kullanıcı ismi ve password ile hem NT hemde Netware’e logon olmanızı ve Netware logon scriptleri çalıştırmamızı sağlar.
File and Print Services for NetWare (FPNW):
Netware client’ ları için dosya ve printer servisidir. Windows NT server FPNW ile tam anlamıyla Netware server gibi davranabiliyor. Böylece Netware client’larda hiç bir değişiklik yapmadan Netware’de olmayan NT özelliklerinden faydalanabiliyor. Örneğin: Netware protokollerini ve isim eşleştirmesini kullanan bir client programı yönlendirme veya translation yapılmadan NT ortamında da çalışabiliyor.
Gateway Service For Netware(GSNW): 
Netware Server’ lara Microsoft client’ların erişebilmeleri için kullanılan NT Server servisidir. GSNW olmayan ortamlarda Microsoft client’ lar Netware server’ a ulaşmak için Microsoft client yazılımını yüklemek zorundadır (windows 95 ve 98 de). GSNW ile Netware client software yüklenmeden bağlantı sağlanır. Tabii NT’ nin versiyonları olduğu gibi Novell Netware’ inde versiyonları bulunmakta; dolayısı ile GSNW konfigürasyonlarını yaparken Netware 3.x için bindery netware 4.x için NDS (Netware Directory Service) ayarlarına dikkat etmek gerekiyor. 
Ayrıca GSNW kurduğumuzda NT server otomatik olarak Netware ortamına ayak uydurabilmek için NWLink IPX/SPX (Internetworking Packet Exchange/Sequenced Packet Exchange) protokolünü’ de yükler.
Windows NT’ de NETWORK İşlemleri
PC İSİM ÇÖZÜMLEMELERİ: 
DNS:(Domain Name System ): 
Host isimleri ile IP numaralarını çözümlemek için kullanılır. Çözümlemede Hosts dosyası kullanılır. Örnek hcolpan.anadolu.com.tr 197.158.168.24 benzer bilgiler bulunur.
WINS:( Windows Internet Name Service ): 
NetBIOS bilgisayar isimlerini IP adresleri ile eşleştirmek için kullanılır. Çözümlemede Lmhosts dosyası kullanır. Örnek: hasanc isimli bilgisayarın IP numarası 197.158.168.24’ dır gibi bilgiler bulunur. Windows NT’ de WINS otomatik olarak bu isimleri kaydeder. Şöyleki sistemdeki bütün PC’ ler benim IP adresim x.x.x.x ismim . diyerek kendilerini WINS server’ a kaydettirirler. Windows NT Server WINS database’ inden bunları izleyebiliriz. 
DHCP: (Dynamic Host Configuration Protocol): 
Network’te TCP/IP konfigurasyonu olan PC’lere otomatik olarak IP adresi subnetmask gibi değerleri atamak için kullanılır. Windows NT’ de DHCP Manager’ dan configure edilir. Scope tanımlaması yapılarak networkte’ ki PC’ leride grouplayabiliriz. ( IP aralığı) . DHCP’nin bir eski versiyonu olan BOOTP UNIX systemleri tarafından kullanılır. BOOTP diski olmayan Dami terminallere IP adresi dağıtır. DHCP’ninde aynı özelliği vardır. 
Öneriler: Bu doküman özellikle çeşitli kaynaktan derlenmiş bilgiler içermektedir. Windows NT Server ile ilgili bir çok yabancı ve yerli yayın bulabilirsiniz ama network tanımları ve topolojiler hakkında yerli yayın bulmak oldukça zor olduğundan bende daha çok network terimleri üzerinde yoğunlaşmaya çalıştım. Windows NT Server için tavsiye edilen kitaplar dikkatli okunduğunda ve PC üzerinde çalışma yapıldığında çok faydalı olacaktır. Ayrıca interneti her zaman ve her konuda yardım alabileceğiniz bir kaynak olarak kullanmaya çalışalım.


A'dan Z'ye Bilgisayar Öğrenme   (9.Bölüm)
TCP/IP’ye Genel Bir Bakış

Internet üzerinde bilgisayarlar nasıl adreslenirler ve paketler yollarını nasıl bulurlar. Bu soru bilgisayar ağları ile uğraşan herkesin bir süre kafasını kurcalamış bir sorudur. Bu soruya yanıt bulabilmek için internet’in temel protokolü olan TCP/IP’nin yapısını bir miktar bilmek gerekmektedir.

TCP/IP protokolünde tüm bilgisayarlar 32 bitlik “özgün” bir IP numarasına sahip olacak şekide adreslenirler (buradan çıkarılabilecek teorik bir sonuç ise internete aynı anda bağlı olabilecek bilgisayar sayısının en fazla 232 = 4294967296 olabileceğidir) Bunu bir örnekle ele alırsak internet üzerinde 3559735316 sayısı ile adreslenmiş bir bilgisayar düşünelim. Bu sayının heksadesimal karşılığının D42D4014 olduğunu kolaylıkla hesaplayabiliriz. Bu şekilde bir gösterimin hemen hiç kimseye birşey ifade etmeyeceği sanırım oldukça açık bir şekilde görülmektedir. Bu yüzden şu şekilde bir yol izlenirbu 32 bitlik adres 8 bitlik adresler halinde 4’e ayrılıp (D4 2D 40 14 şeklinde) daha alışıldık bir sayı sistemiyle çalışabilmek için desimale çevrilirler (0xD4 = 212 0x2D = 45 0x40 = 64 ve 0x14=20). Bu gösterim son olarak aralara konan bir nokta ile birleştirilir ve sonuç olarak IP numarası olarak tanımlanan notasyona ulaşılır yani internet üzerinde 3559735316 sayısı ile adreslenmiş bilgisayar 212.45.64.20 IP nolu bilgisayardır. Benzer bir yaklaşımı tersten izleyecek olursak A.B.C IP nosuna sahip olduğu bilinen bir bigisayarın gerçek adresi A * 224 + B * 216 + C * 28 + D şekline hesaplanır.

Örneğimizden yola çıkarsak 212.45.64.20 için gerçek adres 212 * 224 + 45 * 216 + 64 * 28 + 20 = 3559735316 ‘dır.

IP numarasının bu şekildeki gösterilimi aslında internet trafiğinin yönünün nasıl bulunduğu konusunda hiçbirşey ifade etmez elbette bir yığın halinde bulunan 4 milyarın üzerindeki adresin bir kısım gruplara ayrılması zorunludur. Trafiğin yönünün belirlenmesi ancak paketlerin belli IP gruplarından gelmesi ve belli gruplara yönelmesi ile mümkün olabilecektir. Bu durumda her IP paketi kendi numarasının bağlı olduğu gruplar için tanımlanmış kurallara göre hareket eder. Yapılan gruplama işlemine ise subnetting adı verilir. Bu işlem sırasında IP adresi ait olduğu grubu ve bu grubun üyeleri arasında kaçıncı sırada olduğunu belirtmek üzere iki kısma ayrılır. İlk kısma network numarası ikinci kısma ise uç adresi adı verilir ve işlem şu şekilde gerçekleşir.

Tüm internet IP bloğunu 255 kısma ayırmayı istediğimizi düşünelim bu gruplama sonucunda ortaya çıkacak IP numaralarının 1.x.y.z 2.x.y.z ……255.x.y.z şeklinde olacağı kolay bir akıl yürütme ile görülebilmektedir. Bu tanımlamada elde edilen IP numaralarının oluşturduğu blokların her birine subnet veya network adı verilmektedir ve 1.0.0.0 networkü 2.0.0.0 networkü vs şeklinde telaffuz edilmektedir. Bu durumda örneğin 2 ile başlayan bütün IP numaralarının (2.x.y.z) 2.0.0.0 networkünün parçası olduğu kolayca anlaşılabilir. Dikkati çekmesi gereken bir nokta elde edilen blokların hala devasa boyularda olduklarıdır (224 = 16777216) ve bu bloklar kendi içlerinde daha fazla bölünmeye tabi tutulabilirler örneğin 1.0.0.0 networkünü 1.0.0.0 1.1.0.0  1.254.0.0 1.255.0.0 şeklinde 255 ayrı networke ayırmak da mümkündür aynı şekilde 1.1.0.0 networkünü de 1.1.1.0 1.1.2.01.1.255.0 vs şeklinde daha da küçültmek mümkündür bu işleme her blokta 2 hatta 1 IP kalıncaya kadar devam edilebilir. Burada önemli nokta bu blok büyüklerinin ihtiyaca göre belirlenmesi gereği ve her bloğun bir üst bloğun alt kümesi olmasıdır. Daha detaylı açıklarsak 1.0.0.0 networkünden bahsediyor iseniz otomatik olarak 1.1.0.0 networkünden ve 1.10.5.0 networkünden de bahsediyorsunuz demektir.

IP numarasını network numarası ve uç adresi olarak ikiye böldüğümüzü yukarıda söylemiştik bunları örneklerle açıklaylım test amacıyla seçtiğimiz 212.45.64.20 IP numarasından yola çıkarsak bu IP’nin hem 212.0.0.0 hem 212.45.0.0 hem de 212.45.64.0 networklerinde yer alan bir IP olduğu söylenebilir. Burada kritik nokta netwok numarası olarak hangisinin alınacağı (212 212.45 212.45.64) daha da önemlisi buna nasıl karar verileceğidir. Açıkça görülen odur ki bunu bilmek yalnızca IP numarası ile mümkün olmamaktadır. Bu nedenle IP numarasının hangi bitlerinin network numarasınını temsil ettiğini hangilerinin ise uç adresini oluşturduğunu tanımlayacak başka bir bilgiye ihtiyaç duyulmaktadır. Buna “subnet mask” adı verilmektedir. Çoğu zaman kullanıcıların kafasını karıştırmakla beraber aslında anlamı ve kullanımı son derece açıktır.

Subnet mask’ı daha sonra detaylı incelemek üzere kabaca tanımlarsak network numarasının bulunduğu bit pozisyonlarında 1 kalan pozisyonlarda 0 bulunduran bir sayı olarak tarif edebiliriz.
Örneğin 212.45.64.20 IP’sini alt bölümlemeye gitmeden 212.0.0.0 bloğunun bir parçası olarak görmek istiyorsak network adresini yalnızca ilk 8 bitin oluşturduğunu söylüyoruz demektir. Bu durumda subnet maskımız 8 tane 1 ve 24 tane 0 ‘dan oluşacaktır (toplam 32’yı verecek şekilde). 
Subnet mask (binary) : 11111111 00000000 000000000 0000000
Subnet mask (desimal) : 255 0 0 0
Subnet mask : 255.0.0.0 
Ya da 212.45.0.0 bloğunun bir parçası olmasını istiyorsak bu kez network adresini ilk 16 biti ile tanımlamamız gerekecektir bu durumda subnet mask 16 tane 1 ve 16 tane 0’dan oluşacaktır. 
Subnet mask (binary) : 11111111 11111111 000000000 0000000
Subnet mask (desimal) : 255 255 0 ; 0
Subnet mask : 255.255.0.0 
Son olarak 212.45.64.0 bloğu için aynı hesaplamayı yaparsak network adresi ilk 24 bitte bulunacaktır. Subnet mask ise 24 tane 1 ve 8 tane 0’dan oluşacaktır. 
Subnet mask (binary) : 11111111 11111111 11111111 0000000
Subnet mask (desimal) : 255 255 255 0
Subnet mask : 255.255.255.0 
Burada subnet mask’ı belitrmek için kullanılan farkli bir yöntemden bahsetmek gerekir bu da “/” ayracı ile IP numarasına ya da network numarasına eklenen bir sayıdır (212.45.64.20/25 veya 212.45.64.0/19 gibi). Burada verilen sayı subnet maskta ilk kaç bitin 1 olduğunu gösterir. Örneğin /8 8 tane 1 24 tane 0 anlatır bu da 255.0.0.0 netmaskının eşdeğeridir yine benzer şekilde /16 16 tane 1 16 tane sıfırı tanımladığı için 255.255.0.0’ın/24 de 255.255.255.0’ın eşdeğer gösterimleridir.

Daha çok kullanılan subnetler için konulmuş bir takım isimler vardır burada bunlardan da bahset gerekir. İlgili isimler kısa bir tanımlama ile Tablo 1’de verilmiştir. 
Tablo1:

NetMask /“ lü gösterim Ip Adedi Isim
255.0.0.0 /8 16777216 &n bsp; A Sınıfı (A Class)
255.255.0.0 /16 65536 &nb sp; B Sınıfı (B Class)
255.255.255.0 /24 256 &nbs p; C Sınıfı (C Class) 
* Kullanılabilen IP adedi burada verilenden iki eksik olacaktır (bir broadcast ve bir network numarası için) 
Kullanıcılar arasında sıkça karşılaşılan 32’lik bir C class veya 128’lik bir C class gibi kullanımlar tamamen yanlıştır. Çünkü bir “C class” tanımı gereği 256’lık bir bloktur.
Subnetlerin buraya kadar olan kısmı hemen herkesçe bilinmesine rağmen genellikle /24’den küçük bölümlemeler sorun yaratmaktadır. Bilgisayar ağları ile uğraşırken çoğu zaman 32’lik 64’lik veya 128’lik subnetlere ihtiyaç duyulmaktadır. Bunların nasıl yapılacağını doğrudan örneklerle açıklamanın daha faydalı olacağını düşünüyorum.
Elimizde bulunan 212.45.64.0/24 ‘lük bir bloğu 8 tane 32’lik subnete ayımak için neler yapılması gerektiğine bakalım. Öncelikle 32’lik bir subnet için maskın ne olduğunu hesaplamak gerekmektedir.32 2’nin beşinci kuvvetidir yani 0-31 arası sayılar binary sistemde 5 bitle yazılabilirler. Öyleyse subnet maskta sağdan 5 biti uç adresi için ayırmamız gerekmektedir geriye kalan 27 bit ise network kısmını oluşturacaktır. Bu durumda 32’lik subnet için masklar 
Subnet mask (binary) : 11111111 11111111 11111111 11100000
Subnet mask (desimal) : 255 255 255 224
Subnet mask : 255.255.255.224 
olacaktır. Her subnet için ayrılan 32 IP için sırasıyla network adresleri 212.45.64.0/27 212.45.64.32/27 …….212.45.224/27 olacaktır. Ancak buradabir adet /24’te yalnızca 0 ve 255 olarak iki IP kullanılamazken (biri network numarası diğeri broadcast) 32’lik subnetlere ayrıldığında her biri için için 2toplam 2*8=16 IP numarasının kullanılamadığına dikkat edilmelidir.
Benzer bir şekilde 212.45.64.0/24 ‘lük bloğumu 4 tane 64’lük subnete ayıralım. 64 2’nin altıncı kuvvetidir yani 063 arası sayılar 6 bitle yazılabilirleröyleyse 64’lük bloklar için masklar 
Subnet mask (binary) : 11111111 11111111 11111111 11000000
Subnet mask (desimal) : 255 255 255 192
Subnet mask : 255.255.255.192 
şeklinde olacaktır. Sırasıyla subnetler de 212.45.64.0/26 212.45.64.64/26 ……  212.45.64.192/26 olacaktır. Burada kaybedilen IP sayısı 4*2=8 olarak hesaplanabilir.
Son olarak aynı bloğu 128’lik iki bölüme ayırırsak masklar 
Subnet mask (binary) : 11111111 11111111 11111111 10000000
Subnet mask (desimal) : 255 255 255 128
Subnet mask : 255.255.255.128 
Şeklinde olacaktır. Sırasıyla subnetler 212.45.64.0/25 ve 212.45.64.128/25 olacaktır. Kaybedilen IP sayısı ise 2*2=4’tür.
Genel kullanımda bir blok her zaman eşit büyüklükteki bloklara bölünmez. Elinizdeki bir C sınıfı bloğu 1 128’lik 1 64’lük ve 2 32’lik bloğa bölmek isteyebilirsiniz. Detaylara girmeden incelersek böyle bir bölümleme 212.45.64.0/25 212.45.64.128/26212.45.64.192/27 212.45.64.224/27 şeklinde yapılabilir.

Burada en çok dikkat edilmesi gereken nokta istediğiniz bir bloğu oluşturmak için büyük bloğun yerini istediğiniz gibi seçemeyeceğinizdir. Örneğin 128’lik bir bloğu 212.45.64.64’ten başlatıp 212.45.64.192’de bitiremezsiniz benzer şekilde 212.45.64.32’de başlayıp 212.45.64.96’da biten bir /26 blok da tanımlayamazsınız. Başlangıç adresleri kesinlikle bloktaki_IP_sayısı * n (n tamsayı) formülü ile elde edilebilecek sayılar olmalıdır. Örneğin 64’lük bir blok ancak 064128192 adreslerinden başlayabilir benzer şekilde 128’lik bir blok da ancak 0 veya 128 adreslerinden başlayabilir.

Son olarak verilen bir IP numarası / subnet mask çifti ile bu IP’nin ait olduğu bloğun nasıl bulunabileceğini açıklayarak bu bölümü bitiriyorum.
Bir IP’nin ait olduğu network IP numarasının binary hali ile subnet maskın binary hali arasında yapılacak birebir “VE” işlemi (bitwise AND) ile bulunurörneklemek için 212.45.64.20/25 IP numarasının ait olduğu networkü bulalım.

/25 25 adet 1 ve 7 adet 0’dan oluşan bir netmask anlamına gelmektedir (255.255.255.128) binary ortamda ifade edecek olursak

Netmask : 11111111 11111111 11111111 10000000

IP numarasını binary olarak ifade edersek ise

IP : 11010100 00101101 01000000 00010100

Değelerini elde ederiz.

Birebir “VE” işlemi ile

11010100 00101101 01000000 00010100
VE 11111111 11111111 11111111 10000000
----------- -----------------------
11010100 00101101 01000000 00000000
212 45 64 &nbs p; 0 
Bu sonuç 212.45.64.20/26 IP numarasının 212.45.64.0/26 networkünde bulunduğunu göstermektedir.

Aynı işlem 212.45.64.228/27 IP numarası için tekrarlanırsa

11010100 00101101 01000000 11100100
VE 11111111 11111111 11111111 11000000
--------- ------------------------
11010100 00101101 01000000 11000000
212 45 64 224 
elde edilir bu da 212.45.64.228/27 IP numarasının 212.45.64.224/27 networkünde yeraldığını gösterir.


A'dan Z'ye Bilgisayar Öğrenme   (10.Bölüm)


TCP/IP Yönlendirme

Önceki dökümanda TCP/IP’nin ne olduğunu ve adreslemenin nasıl yapıldığı anlatılmıştı paketlerin internet üzerinde yollarını nasıl bulduklarını ise bu dokümanda anlatacağız.
Öncelikle bir TCP/IP networküne bağlanmak isteyen bir bilgisayarda yapılması gereken ayarları ele alalım. TCP/IP protokolü tanıtılırken bir takım bilgilere ihtiyaç duyulmaktadır bunlar
1. IP numarası *
2. Subnet maskesi *
3. Ağ geçidi (Gateway)
4. DNS Sunucularıdır
Yanlarında * bulunan bilgiler mutlaka girilmesi gerken bilgilerdir diğerleri duruma göre boş bırakılabilir.
Buradaki IP numarası ve subnet maskesi hakkında detaylı bilgi önceki dokümanlarda verilmiştir DNS sunucuları ise daha sonra açıklanacaktır. Bu kısımda özellikle üzerinde durulacak olan “ağ geçidi” kavramı ve internet üzerinde yönlendirmedir. Buradan hareketle yukarıdaki bilgilere sahip bir bilgisayarın yapacaklarını özetleyelim ilk olarak daha önce anlatıldığı şekilde IP adresini ve subnet maskesini kullanarak ait olduğu networkü bulacaktır. Daha sonra kendisi için bir IP yönlendirme tablosu oluşturacaktır.
Yönlendirme tablosu oluştururken izleyeceği yol şudur. Kendi IP numarasına giden tüm paketleri kendisine yönlendirecektir. Aynı şekilde kendisi ile aynı networkte olan adreslere bu IP numarasının ait olduğu arayüz üzerinden ulaşmaya çalışacaktır. Bu network dışında kalan adreslere yönelen tüm paketleri ise ağ geçidi olarak tanımlanan cihaza yönlendirecektir (Buradan da anlaşılacağı gibi ağ geçidi olarak tanımlanan IP numarası mutlaka kendi IP numarası ile aynı subnet içinde olmalıdır aksi taktirde bilgisayar ağ geçidine ulaşamayacaktır).
IP yönlendirme tablosunun oluşturulabilmesi için gerekenlere bir bakalım. Öncelikle ulaşılmak istenen network ve bu networkün maskesi bilinmelidir ve bu networke ulaşmak için kullanılacak arayüz de gerekmektedir.
Bir örnekle konuyu daha açık hale getiremek için 212.45.64.226 IP numarasına ve 255.255.255.224 subnet maskına sahip bir bilgisayar için ağ geçidinin 212.45.64.225 olarak tanımlandığını düşünelim.
Bu durumda bilgisayar ait olduğu networkü 212.45.64.224 olarak hesaplayacaktır oluşturduğu yönlendirme tablosu ise şu şekilde ifade edilebilir. Öncelikle kendi IP numarasına giden paketleri kendi kendine gönder. 212.45.64.224 networkünde olan tüm paketleri 212.45.64.226 IP numarasını kullanarak gönder bu networkün dışındaki adreslere gidecek paketleri ise 212.45.64.225 IP numarası üzerinden yönlendir. Tablo olarak ifade edecek olursak


Hedef Network 
Maske 
Ağ geçidi 
Arayüz
212.45.64.226
255.255.255.255
127.0.0.1*
Loopback
212.45.64.224
255.255.255.224
212.45.64.226
Ethernet0
0.0.0.0
0.0.0.0
212.45.64.225
Ethernet0
* 127.0.0.1 (Loopback) bilgisayarın kendisini ifade eder 255.255.255.255 ise tek bilgisayarı tanımlayan subnet maskesidir.
sonucunu elde edebiriz. Burada belirtilen arayüz bilgisayarın bu IP numarasına ulaşmak için kullandığı arayüzdür bu arayüzün tanımı ve gösterimi çeşitli işletim sistemleri arasında farklı olabilmektedir unix türevi sistemlerde ethernet için eth0 le0 hme0 gibi isimler kullanılırken (burada 0 kaçıncı arayüz olduğunu gösterir örneğin bir bilgisayarda iki ethernet kartı varsa bunlar eth0 ve eth1 ya da hme0 ve hme1 olarak tanımlanırlar) windows tabanlı sistemlerde ise bundan farklı olarak arayüzler sahip oldukları birincil IP ile tanımlanırlar örneğin örneğimizdeki arayüz arayüzün birincil IP numarası olan 212.45.64.226 ile tanımlanacaktır.
Bu tanımlamaların yapılmış olduğu bir bilgisayarın IP yönlendirme tablosu incelenecek olursa (IP numarasının tanımlandığı bilgisayar WinNT Server 4.0’dır)
C:\>route print
Active Routes:

Network Address
Netmask
Gateway Address
Interface 
Metric
0.0.0.0
0.0.0.0
212.45.64.225
212.45.64.226
1
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
212.45.64.224
255.255.255.224
212.45.64.226
212.45.64.226
1
212.45.64.226
255.255.255.255
127.0.0.1
127.0.0.1
1
212.45.64.255
255.255.255.255
212.45.64.226
212.45.64.226
1
224.0.0.0
224.0.0.0
212.45.64.226
212.45.64.226
1
255.255.255.255
255.255.255.255
212.45.64.226
212.45.64.226
1
NOT: 0.0.0.0/0.0.0.0 tanımlanabilecek en genel networktür. Bütün IP numaralarını kapsar.
Yukarıdaki tabloda birinci üçüncü ve dördüncü satırların bizim oluşturduğumuz tabloda yer aldığı diğerlerinin ise yer almadığı hemen dikkati çekecektir. Burada ikinci satır 127 ile başlayan tüm adreslerin loopback arayüzüne yönlendirilmesi gerektiğini belirtmektedir. Bu da 127 ile başlayan tüm adreslerin aslında kendi kullandığımız bilgisayarı tanımladığı anlamına gelir. Beşinci altıncı ve yedinci satırlar ise broadcast ve multicast tanımlamalarıdır broadcast yönlendirmeler belli bir IP numarasına değil tüm networke ulaşılmaya çalışıldığında kullanılırlar. Ancak yönlendirme tablosunun bu tanımları sistem tarafından otomatik olarak yapılmaktadır kullanıcının bunları ileride değinileceği şekilde değiştirmesine silmesine ya da eklemesine gerek duyulmamaktadır.
Bizim oluşturduğumuz tabloda bulunmayan “metric” hanesi ise eşdeğer yönlendirmeler arasında hangisinin önce kullanılacağını belirtir.
Bir IP yönlendirme tablosu incelenirken ya da oluşturulurken dikkat edilmesi gereken en önemli noktalardan biri yönlendirme tablosunun en özelden en genele doğru taranacağıdır örneğin 212.45.64.226 numaralı IP’ye ulaşmaya çalışırken bu IP numarasının hem 212.45.64.226/255.255.255.255 hem 212.45.64.224/255.255.255.224 hem de 0.0.0.0/0.0.0.0 networklerinin içinde kaldığı görülür ama bunların arasında en özel olan kullanılacaktır bu da 212.45.64.226/255.255.255.255’tir.
Örneklerle devam ederek konumuzu genişletelim. 212.45.64.226/27 IP numaralı bilgisayarımızın 212.45.64.231 IP numaralı bilgisayara ulaşmak istediğini düşünelim. Öncelikle kendi yönlendirme tablosunda bulunan network adresleri ile subnet maskelerini kullanarak bu IP’nin yönlendirme tablosundaki networklerden herhangi birinin dahilinde olup olmadığını hesaplayacaktır. Hem birinci (0.0.0.0/0) hem de üçüncü satırların (212.45.64.224/27) bu IP’yi kapsadığı bu hesaplama sonucu ortaya çıkacaktır 212.45.64.224/27 diğerinden daha özel bir tanımlama olduğu için bunu kullanacak ve paketi kendi IP numarası üzerinden LAN’e gönderecektir. Bunu komut satırında inceleyecek olursak.
C:\>tracert 212.45.64.231
Tracing route to aboneservisi.marketweb.net.tr [212.45.64.231]
over a maximum of 30 hops:
1 <10 ms <10 ms <10 ms aboneservisi.marketweb.net.tr [212.45.64.231]
Trace complete.
Buradan da görüldüğü gibi 212.45.64.226 ve 212.45.64.226 bilgisayarları aynı networkte bulundukları için hiçbir ağ geçididen geçmeksizin haberleşebilmektedirler.
Bu kez aynı bilgisayarı kullanarak 212.45.64.20 IP numarasına sahip bilgisayara ulaşmaya çalıştığımızı düşünelim. Bilgisayarımız yine yönlendirme tablosunu kullanarak bu IP’nin hangi networkler tarafından kapsandığını bulmaya çalışacaktır. Bulacağı networkün ise yalnızca 0.0.0.0/0 olduğu görülecektir. (Daha önce de söylendiği gibi 0.0.0.0/0 tüm networkleri kapsamaktadır bu yüzden default route adı verilmiştir). Bu durumda paketlerağ geçidi olarak tanımlanan 212.45.64.225 IP numaralı cihaza yönlendirilecektir yani bir anlamda “top 212.45.64.225’e atılmıştır”. Kritik soru da burada gelmektedir 212.45.64.225 IP numaralı cihaz 212.45.64.20 IP numarasına nasıl ulaşacaktır. Ağ geçidinin özelliğini de tam burada tanımlamak faydalı olacaktır. Bir cihazın ağ geçidi görevini görebilmesi için en az iki farklı network’te arayüzünün bulunması gerekmektedir. Örneğin bir ağ geçidi x.y.z.0/24 networkündeki bilgisayarların a.b.c.0/24 networkündeki bilgisayarlara ulaşması için kurulmuşsa bir arayüzünün (örneğin ethernet) x.y.z.0/24 networküne bağlı başka bir arayüzünün (ethernet seri/dialup arabirim vs) a.b.c.0/24 networküne bağlı olması gerekmektedir.
Örneğimizden kopmadan devam edersek 212.45.64.20 IP numaralı bilgisayar ağ yönlendiricisine 1 numaralı ethernet arayüzünden 212.45.64.226 IP numaralı bilgisayar ise ağ yönlendiricisine 2 numaralı ethernet arayüzünden bağlı olduğunu düşünebiliriz.
Traceroute sonucunu incelersek
C:\>tracert 212.45.64.20
Tracing route to kheops.marketweb.net.tr [212.45.64.20]
over a maximum of 30 hops:
1 10 ms <10 ms 10 ms grf.marketweb.net.tr [212.45.64.225]
2 <10 ms 10 ms 10 ms kheops.marketweb.net.tr [212.45.64.20]
Trace complete.
Görüldüğü gibi 212.45.64.20 IP numaralı bilgisayara 212.45.64.225 numaralı cihaz üzerinden ulaşılmıştır. Buradan çıkan sonuç 212.45.64.225 IP numaralı cihazın en az iki arayüzü/IP adresinin olduğu ve bu arayüzlerden biri 212.45.64.224 networkünde iken diğerinin 212.45.64.0 networkünde olduğudur. 212.45.64.225 IP numaralı cihazın yönlendirme tablosu hakkında basit bir yorum yaparsak şöyle bir sonuç elde edebiliriz.


Network Address
Netmask
Gateway Address
Interface
212.45.64.0
255.255.255.128*
212.45.64.1**
Ethernet0
212.45.64.224
255.255.255.224
212.45.64.225
Ethernet1
* Buradaki traceroute sonucu ile netmaskı öğrenmek mümkün değildir burada verileni bir önbilgi kabul edebilirsiniz.
** Burada belirtilen 212.45.64.0/25 segmentinde herhangi bir IP olabilir. Bu yönlendiricinin 212.45.64.0/25 segmentindeki IP numarasıdır. Aynı şekilde arayüzler de (ethernet 0 ethernet 1) önbilgi olarak yazılmıştır arayüzlerin ne olduğu eldeki verilerle tesbit edilemez.
Görüldüğü gibi 212.45.64.225 adresine yönlendirilen paketler bu cihazın yönlendirme tablosunda taranarak ilgili arayüzlerden hedeflerine ulaştırılmışlardır. Aynı şekilde 212.45.64.20/25 IP numaralı bilgisayardan 212.45.64.226 adresine çekilen traceroute sonucu da
kheops/export/staff/ilker>traceroute 212.45.64.226
traceroute to 212.45.64.226 (212.45.64.226) 30 hops max 40 byte packets
1 212.45.64.1 (212.45.64.1) 3 ms 3 ms 1 ms
2 taurus.marketweb.net.tr (212.45.64.226) 5 ms 5 ms 6 ms
şeklindedir. Bu da ağ geçidimizin hem 212.45.64.1 hem de 212.45.64.225 IP numaralarına sahip olduğunu göstermektedir.
Şematik olarak gösterirsek
[IMG]file:///C:/Users/CTRLSH%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.jpg[/IMG]


Görüldüğü gibi ağ geçidinin iki ayrı networke de bağlantısı bulunmaktadır. Kafalarda kalmış olabilecek soruları gidermek için son bir örnek vererek konumuzun tanım kısmını bitirelim. Networkleri caddelere istemcileri de caddelere çıkışları olan evlere benzetirsek ağ geçitleri ön kapısı bir caddeyearka kapısı ise başka bir caddeye açılan böylece caddeler arasında –belli kurallar dahilinde- geçiş sağlayan iş merkezleridir.
Yukarıdaki açıklamalardan da anlaşılabileceği gibi internete bağlı tüm bilgisayarlar bir anlamda yönlendirme yapmakta ve yönlendirme tabloları kullanmaktadırlar. Ancak asıl işi yürütenler yönlendirici (router) dediğimiz bu işi yapmak için özel olarak tasarlanmış sistemlerdir (“sıradan” bilgisayarlar da uygun şekilde konfigüre edilerek router haline getirilebilirler ancak bu dokümanda buna değinilmeyecektir). O halde genel anlamda bir routerı tanımlarsak çok sayıda farklı arayüze (ethernet atm fddi serial e1 e3 t1 t3…) sahip olup çeşitli protokolleri yönlendirmesi (IPIPX …) için özel olarak tasarlanmış cihazlardır. Bir çoğunda desteklenen arayüzler modüler olup ihtiyaca göre eklenip çıkarılabilmektedir. Aynı şekilde yönlendirme protokolleri de cihazların yazılımları ile belirlenebilmektedir. Bu cihazlara örnek olarak çeşitli Cisco ve Ascend cihazları gösterilebilir (Piyasada onlarda farklı üretici tarafından üretilmiş yüzlerce hatta binlerce router bulunmaktadır burada belirtilenler yalnızca örnek olarak verilmiştir). Dokümanın bundan sonraki kısmında işletim sistemi detaylarına mümkün olduğu kadar az girilerek router’lardan bahsedilecektir.
Az önce teorik olarak çıkarılan sonuçları omurga router’I üzerinde inceleyecek olursak (Burada incelenen router bir Ascend GRF 400’dür)
Routing tables
Internet:

Destination
Gateway
Flags
Refs
Use
Interface
212.45.64/25
212.45.64.1
UHI
2
6
ge031
212.45.64.224/27
212.45.64.225
U
1
403
ge032
NOT:
1. Buradaki iki satır router yönlendirme tablosundan seçilerek gösterilmiştir. Aksi taktirde yüzlerce network tanımı arasında görülmeleri mümkün değildir.
2. Arayüzler ise burada görüldüğü gibi belirtilenlerden farklı tanımlanmışlardır ge031 cihazın birinci şase üçüncü slotunun birinci portunu belirtmektedir aynı şekilde ge032 de birinci şase üçüncü slotunun ikinci portunu belirtir (buradaki e ise arayüzün ethernet olduğunu göstermektedir).
Şimdi örneği biraz daha karmaşıklaştıralım ve sisteme yeni bir cihaz daha ilave edelim. Ethernet portunun IP’si 212.45.65.8/24 olan bu cihaz GRF’e 3. ethernet portu aracılığıyla bağlantılı olsun (GRF’in aynı segmentteki IP numarasının ise 212.45.65.9/24 olduğunu kabul edelim). Aynı zamanda bu cihaz üzerinde bulunan 240 modemin IP numaralarının 212.45.68.1 212.45.68.2 …
212.45.68.254 havuzunda bulunsun.