******************************************************************************************************************************************
Bu Sitedeki Tüm Yazılar Ücretsizdir. Sadece Sizden İstediğimiz "Allah Bu Siteyi Hazırlayandan Razı Olsun" Amin... Demenizdir.
************************************************************************************************************************************ www.odeveson.blogspot.com adresindeki yazı ve makalelerin Kaynak göstermeksizin Tamamı veya Bir Kısmının KOPYALANMASI YASAKTIR.
8 Haziran 2008 Pazar Gönderen admin

INTERNET AĞLARI




GİRİŞ
Burada ele aldığım konular ayrıntılı olarak LINUX altında "NET-3-HOWTO" (Copyright (c) 1997 Terry Dawson) adlı belgede İnglizce olarak yazılmıştır. Benim yaptığım bu belgeyi Türkçe'ye çevirmek. Buradaki bilgilerde daha çok LINUX işletim sistemindeki ayrıntıları anlatır, ama iyi bir programcı (C dili ve UNIX biliyorsa) bu bilgileri kullanarak diğer UNIX işletim sistemleride benzeri tanımlamaları kolaylıkla yapabilir. Ben bu bölümde adı geçen bazı programları ve komutları başka UNIX ortamlarında derledim, denedim ve çalıştırabildim. Programları çalıştırırken biraz kod üzerinde değişiklik yapmak gerekebiliyor. Ama emek harcanmadan sonuç elde edilmez ki...




INTERNET İÇİN KENDİ AĞINIZI KURMAK

Önce bilgisayarınızda kullanacağınız araçlara ve "fire-wall" yazılımına ihtiyacınız var. Bu araçlar ya aldığınız bilgisayarın işletim sistemi ile gelmiştir, ya da siz bunları INTERNET üzerinden sağlamışsınızdır. Benim gördüğün kadarı ile Türkiye'deki en iyi ve en son bilgi sunsite.bilkent.edu.tr sunucusunda var. Ama isterseniz ODTÜ ve EGE Üniversitesi sunucularından da gereken yazılımı alabilirsiniz.

GEREKLİ AĞ ARAÇLARI

Bu araçlar, sisteminizin Ağ bilgilerini (parametrelerini) düzenlediğiniz yönlendirmeyi (routing) yaptığınız programlardır.

INTERNET ADRESLERİ

Bugün için INTERNET adresleri 4 byte uzunluğunda bir sayıdır (Bu sayının 6 byte uzunluğunda olması çalışmaları devam etmektedir). Bu sayıyı kolay hatırlamamız ve söyleyebilmemiz için "noktalı tamsayı kavramı" geliştirilmiştir. Bu sayıdaki her byte için kullanılan 0-255 değeri ayrı ayrı aralarına nokta konarak yazılınca belirttiğimiz noktalı tamsayı kavramı çıkar. Bu kavramda sayı sıfır değilse soldaki sıfırla yazılmaz ve okunmaz.

INTERNET kavramlarına göre ağdaki her bilgisayarın noktalı tamsayılarla gösterilen bir adresi vardır ve bu adres tekildir. Bu kavramı biraz genişletip her ağ donanımı için bir adres kullanmak gerekir diyebiliriz. Böylece bir bilgisayarda seri uçtan bağlantı olanağı varsa bu seri uç için bir adres, iki ethernet kartı varsa, her ethernet için ayrı bir adres gerekir. Biz bu adreslere IP adresi adını veriyoruz.

Bir yerel ağda bulunan bilgisayarların IP adreslerinin bir bölümü (2 ayda 3 byte'lık bir bölümü) ortaktır. Ortak olan adreslere yerel ağ adresi ya da "yöre" (domain) adresi diyoruz. Kalan bölümüne ise adresin bilgisayar bölümü diyoruz. O yerel ağdaki ortak adres bilgisinin ilki her zaman yerel ağın adresi olarak kabul edilir. Ağ maskesi ise o ağa gelecek mesajlardan yalnız o ağa ait olanları almak için kullanılan maskeye verilen addır. Bir ağ içindeki tüm bilgisayarlara mesaj göndermek için Yayım Adresi kullanılır ve bu adres ağ için tanımlanmış bilgisayar adreslerinin en büyüğüdür.

Örneğin :

Bilgisayar Adresi 192 .168 .110 .23

Ağ Maskesi 255 .255 .255 .0

Ağ (Yöre) Bölümü 192 .168 .110 .

Bilgisayar Bölümü .23



Yerel Ağ Adresi 192 .168 .110 .0

Yayım Adresi 192 .168 .110 .255



Bir yerel ağın INTERNET için bir anlam taşıyabilmesi ancak bir ağ adresi, bir yayım adresi ve en az iki bilgisayar adresi olması gerekir. INTERNET ortamında ardaşık en az dört adres bir ağ oluşturur. Bu sayı iki sayısının katları olarak artar (4, 8, 16, 32 v.b.)

Ağ maskesi ile mantıksal VE işlemine sokulan bir adres sonunda bulunduğu ağın adresini verir.

Ağ içindeki tüm bilgisayarlar kendi adresleri dışında bir de yayım adresine gelen mesajları dinlerler. Onun için yayım adresi ağ içindeki en büyük IP adresi olarak tanımlanır. Bazı yönlendirme mesajları ve uyarı mesajları yayım adresini kullanır. Böylece ağ içindeki tüm bilgisayarlar bu mesajı aynı anda alabilirler. Bazen yayım adresi olarak ağ adresi kullanılabilir. Aslında yayım adresinin ne olduğu pek önemli değildir. Ağ maskesi sınırları içinde kalmak ve ağ içindeki tüm bilgisayarlarda aynı tanımlanmak koşulu ile herhangi bir IP olabilir.

Eskiden kalan bir kullanım biçimine göre IP adresleri ağlara ve sınıflara ayrılmıştır. Bu sınıflar ve ağlar aşağıdaki tabloda gösterilmiştir :

Ağ Sınıfı Ağ Maskesi Ağ Adresi

A 255.0.0.0 0.0.0.0 - 127.255.255.255

B 255.255.0.0 128.0.0.0 - 191.255.255.255

C 255.255.255.0 192.0.0.0 - 223.255.255.255

Multicast 240.0.0.0 224.0.0.0 - 239.255.255.255

Hangi tür adres kullanacağınız aslında sizin ne yapmak istediğinize göre değişir. Bazen yapacağınız işleme bağımlı olarak yukarıdaki adreslerin bir dolu karışımını kullanabilirsiniz.

Bir bilgisayarı mevcut bir yerel ağa bağlamak için gerekli olan adresler :

Bilgisayar IP Adresi Ağ için IP adresi Yayım IP adresi Ağ Maskesi Eşik - Router (Gateway) adresi Yörenin Ad Sunucu Adresi

Yeni bir ağ kuruyorsanız ve bu ağı INTERNET ortamına hiç bağlamayacaksanız :

Aslında ağınızı INTERNET ortamına hiç bağlamayacaksanız herhangi bir adresi seçebilirsiniz. Ama aşağıdaki tabloda bulunan adresleri kulanırsanız, bu adresler INTERNET ortamında tanımlı olmadığından, dah güvenli bir yerel ağ kurmuş olursunuz.

Bu tabloda yer alan adresler RFC1697 belgelerinde belirtilmiştir.

ÖZEL AĞLAR İÇİN AYRILMIŞ ADRESLER

Ağ Sınıfı Ağ Maskesi Ağ Adresi

A 255.0.0.0 10.0.0.0 - 10.255.255.255

B 255.255.0.0 172.16.0.0 - 172.31.255.255

C 255.255.255.0 192.168.0.0 - 192.168.255.255

Önce ağınızın büyüklüğünü belirlemek daha sonra bu ağ için hangi adres sınıflarını kullanacağınızı seçmek sizin ilk tasarım işiniz olacaktır.

AĞ BİLGİSİ VE KOMUTLARI NEREYE KONULMALI (TANIMLAMA)

Tüm UNIX ortamlarında kernel yüklendikten sonra ilk olarak 'init' programı çalışır. Bu program işlemleri nasıl yapacağını /etc/inittab kütüğündeki bilgilerden öğrenir.

Genelde inittab kütüğünde aşağıdaki gibi bir satır bulunur :

si::sysinit:/etc/init.d/boot

Bu satır işletim sisteminin belleğe yüklenmesi, ilk anda çalışacak programların belirlenmesi için kullanılır. Bu bir "shell" yazılımıdır. Bu kütük MS-DOS ortamındaki AUTOEXEC.BAT gibidir.

Aynı mantıkla yazılmış bakşa "shell" yazılımları da vardır. Bunlardan bazıları ağı tanımlamak için kullanılır.

Aşağıdaki tablo çeşitli Linux dağıtıcılarının kullandığı "shell" yazılımlarının yerlerini gösteren bir örnektir. Diğer UNIX sistemleri için de aynı bilgiler benzer yollarda bulunmaktadır.

Distrib. Interface Config/Routing Server Initialisation

Debian /etc/init.d/network /etc/init.d/netbase
/etc/init.d/netstd_init
/etc/init.d/netstd_nfs
/etc/init.d/netstd_misc

Slackware /etc/rc.d/rc.inet1 /etc/rc.d/rc.inet2

RedHat /etc/sysconfig/network-scripts/ifup- /etc/rc.d/init.d/network

Pek çok UNIX dağıtıcısı bu tür "shell" yazılımlarını ayarlamak için hazır programların dağıtımını yapmışlardır. Kullanıcı yalnız bu programları çalıştırarak "shell" yazılımlarının içine girmeden ağ ayarlamalarını yapabilir.




KENDİ AĞ ARAYÜZLERİNİZİ YARATMA

Pekçok UNIX ortamında ağ donanımlarına ilişkin çevre birimi tanımı /dev yolu altında yer alır (Linux hariç). Linux ortamında dinamik olarak ağ arayüzü çevre birimi yaratılır, ayrıca /dev altında tanım gerekmez.

Çoğunlukla çevre birimi tanımı işletim sistemindeki donanım arayüzü tarafından otomatik olarak yaratıldığından ve donanıma bağlanmış olduğundan ayrıca bir işlem yapmak gerekmez. Tabi ilk işlemde bu donanım arayüzü kernel (çekirdek) yazılıma eklenmiş olmalı ve arayüz çalışır durumda bulunmalıdır.

Bazı koşullarda (slip ya da ppp için geçerlidir) ağ çevre birimleri bir kullanıcı programı tarafından oluşturulur. Bir dizi çevre birimi numaralaması yapılır ancak bu çevre birimleri sistem başlarken otomatik olarak üretilemez. Bunun en büyük nedeni, sistem çalışırken, slip ve ppp çevre birimlerinin sayısının kullanıcı sayısına göre değişiklik göstermesidir.

BİR AĞ ARAYÜZÜNÜ HAZIRLAMA

Burada söylemek istediğimiz, donanıma ve diğer parametrelere göre ağ bilgilerini sisteme tanıtma işlemidir. Bu işlem için en çok kullanılan komut ifconfig (interface configure) komutudur.

Çoğu zaman aşağıdakine benzer bir komut kullanılır :

# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

Burada bir ethernet arayüzü 192.168.0.1 adresi ve 255.255.255.0 ağ maskesi ile sisteme tanıtılmıştır. Ve bu arayüz aktif olarak çalışmaya başlayacaktır. Bu örnekte ağ adresi ve yayım adresi kullanılmamıştır. ANcak programlar ve çekirdek kod IP adresinin tipinden belirtilmeyen adres yerine en uygun adresi tanımlar. Bu örnekte ağ adresi (C sınıfı adres olarak) 192.168.0.0 biçiminde, yayım adresi ise 192.168.0.255 biçiminde belirlenir.

ifconfig komutunun bir dolu parametresi vardır. Her UNIX ortamında başka parametreler, kullanılan donanıma ve arayüze göre değişik işlevler yapabilir. Bu nedenle her UNIX ortamında bu komutun dökümanı incelenmelidir. Biz burada en çok kullanılan parametreleri anlatmaya çalışacağız :

up
Bu seçenek bir arayüzü çalışır duruma getirir.
down
Bu seçenek bir ayaüzün çalışmasını durdurur.
-arp
Bu seçenek adres çözümleme protokolunun kullanılmasını ya da kullanılmamasını sağlar.
· -allmulti
Bu seçenek gelen paketlerin çevre birimi tarafından algılanıp algılanmamasını sağladığı için önemlidir. Aslında bir çevre birimi tanımlanan adres dışındaki paketleri algılamaz. Ancak tcpdump ve snooper tipi programlar için tüm paketlerin algılanması gerekir.

mtu N
Bu seçenek bu çevre birimi için Metrik Birim tanımlamaya yarar. (Metrik Birim IP paketlerinin boyu ile ilgili bir parametredir).
netmask addr
Bu seçenek ağ için maske tanımlamakta kullanılır.
irq addr
Bu parametre bazı ağ donanımları için geçerlidir ve donanımın IRQ adresini belirlemek için kullanılır.
-broadcast addr
Bu parametre yayım adresini tanımlamak için kullanılır.
-pointopoint addr
Uç uca bağlanmış bilgisayarlarda diğer uçtaki bilgisayarın adresini tanımlamak için kullanılır (slip ya da ppp bağlantılar için önemli olabilir).
hw
Bazı ağ donanımlarının donanım adreslerini tanımlamak için kullanılır.
Bir ifconfig komutunu hertür ağ arayüzü tanımlamak için kullanabilirsiniz. Bazı programlar (pppd, dip gibi) kendi ağ arayüzlerini otomatik olarak tanımlayabildiklerinden ayrıca ifconfig komutu kullanmak gerekmez.




AD ÇÖZÜCÜSÜNÜ TANIMLAMA

UNIX ortamında ad çözücü noktalı tamsayı tanıma göre hazırlanmış IP adresleri yerine kullanılan bilgisayar adlarını (bodrum.yore.com.tr gibi) bilgisayarların anladığı IP adreslerine çevirme işlemini yapan programlardır.

BİLGİSAYAR ADI NEDİR ?

Bu dökümanı okumak için bu sayfaya bağlandığınıza göre bilgisayar adlarına alışkın olmalısınız. Ancak arkasındaki mantık ilişkisini bilmeyebilirsiniz. Bu isimler nasıl üretilir ve nasıl IP adresi haline dönüştürülür bilmiyor olabilirisin. Burada bilgisayar adlarının nasıl bir mantığa göre hazırlanmış olduğunu anlatmaya çalışacağız.

Internet yöre adları bir sınıf ya da bir aileye verilen addır. Bir yöre kendi içinde alt yörelere bölünebilir. En üst düzey yöre adı alt yörelere bölünmemiş olan addır. Türkiye için en üst düzey yöre adları : COM : Ticari Kurumlar
EDU : Eğitim Kurumları
GOV : Devlet Kuruluşları
MIL : Askeri Kuruluşlar
ORG : Diğer Organizasyonlar
Ülke Kodu : İki hane ülke kodu, o ülkeyi belirtir. Türkiye için "tr" tanımlanmıştır.

Bu üst düzey yörelerin alt yöreleri vardır. Ülke adına göre düzenlenen yöre adları yukarıda sıralanan alt yörelere bölünür. Ülke kodu olmayan üst düzey yöre adları ABD kuruluşlarını belirtir.

Üst düzey sınıflamadan sonra gelen yöre adı genelde kuruluşun kendi adıdır. Bu tanımın altındaki yöre adı ayrımları kuruluşların bölümlerine göre düzenlenebilir.

En soldaki ad o bilgisayarın tekil adıdır. Bu ad genelde "hostname" olarak adlandırılır. Bilgisayar adının sağındaki yöre adının tamamı ise açıkça tanımlanmış yöre adı olarak geçer `Fully Qualified Domain Name'.

Bu sayfaların bulunduğu bilgisayarın adını açıkça yazınca "bodrum.yore.com.tr" olduğunu görürsünüz. Burada bilgisayarın adı "bodrum". Açık yöre adı "yore.com.tr" olarak belirtilmiştir. "yore" firmanın adı, "com.tr" ise Türkiyede faaliyet gösteren ticari bir kurum olduğunu belirtir.

NE TÜR BİLGİYE GEREKSİNİM VARDIR.

Bilmeniz gerekenen önemli özellik, bilgisayarınızın bağlandığı yöre adının açık olarak ne olduğudur. Adres çevirim yazılımı IP adresini yöre adı sunucusundan (Domain Name Server) alır. Eğer varsa yerel ad sunucunun IP adresinin bilmeniz gerekir. Böyle bir adres yoksa en yakın ad sunucunun IP adresinin bilmelisiniz. Türkiye için en yakın ad sunucu adresini bulamadı iseniz ODTU ve TURNET tarafından tanımlanmış ad sunucuları yazabilirsiniz. Ancak bu adresleri kullandığınızda ilk bağlantılarınız çok yavaş olacaktır. Kendi yörenizdeki ad sunucunun IP adresini kullanmanız en doğrusudur.

Üç değişik kütükte düzeltme yapmanız gerekir. Bunlar sırası ile :

/etc/resolv.conf

Ad çözücü kodlama için en önemli kütüktür. Yapısı oldukça basittir. Her satırında bir anahtar kelime olan basit bir metin kütüğüdür. En çok kullanılan anahtar kelimeler :

domain : Bu komut yerel yöre adını belirtir.

search : Bu komut bilgisayar adına eklenerek adres çözümlemesi yapılacak yöre adlarını belirtir.

nameserver : Açık adlara ilişkin IP adreslerinin çözümünde kullanılacak ad sunucuların IP adreslerinin tanımlandığı satırdır.

Örnek bir resolv.conf aşağıdaki satırlardan oluşur :

domain yerel.yore.com.tr
search yore.com.tr yerel.yore.com.tr
nameserver 195.174.26.15
nameserver 195.174.26.1

Bu örnekte yöre adı verilmemiş bilgisayar adlarının sonuna yöre adı ekleneceği belirtilmiştir. Ayrıca iki ad sunucu belirtilmiştir. Ad sunucular, bilgisayar adının çözümlenmesinde kullanılır.

/etc/host.conf

Bu kütük, ad çözücü kodlamanın ad çözüm biçimini tanımlamaya yarayan bilgilerden oluşur. Pekçok koşul için aşağıdaki satırlar sorunlarınızı çözümler :

order hosts,bind
multi on

Bu tanım ad çözümleyicisine bir adı çözümlerken önce /etc/hosts adlı kütüğe bakmasını söyle. Buradan bilgi alınamazsa ad sunucuya bağlanılır. Bir bilgisayar adı için bu kütükte bulunan tüm geçerli IP numaralarının alınmasını sağlar.

/etc/hosts

Bu kütüğe yerel bilgisayarın adını ve IP numarasını yazarız. Eğer bir bilgisayarın adını buraya yazdıysanız IP adresini almak için ad sunucuya sorgulama yapmaya gerek olmaz. Bunun en kötü yanı bu kütüğün her zaman güncel tutulmasını sağlamak gerektiğidir. İyi düzenlenmiş bir yerel ağda bu kütükte yalnız :

# /etc/hosts
127.0.0.1 localhost loopback
192.168.0.1 this.host.name

satırların bulunmalıdır.

İlk satırda belirtildiği gibi bir satıra birden çok bilgisayar adı yazabilirsiniz.

Loopback arayüzünü tanımlama.

Kendi bilgisayarınıza bağlantı yapabilmeniz için gereken arayüz tanımına "loopback" tanım denir. Kendi bilgisayarınızda kendinize bağlantı yapmak istediğinizde (program denemeleri gibi) yerel ağdaki başka bilgisayarları etkilemeden çalışmanız sağlanır. Tanım olarak bu adres 127.0.0.1 olarak belirtilmiştir. Diğer bir deyimle hangi bilgisayarda olursanız olun 127.0.0.1 için telnet bağlantısı kurmak istediğinizde kendi bilgisayarınıza bağlantı kurarsınız.

"loopback" arayüzünü tanımlamak için aşağıdaki komutları kullanmak yeterlidir :

# ifconfig lo 127.0.0.1
# route add -host 127.0.0.1 lo




YÖNLENDİRME (ROUTE KOMUTU)

Yönlendirme çok geniş bir konudur. Bu konuda sayfalarla yazı yazılabilir. Bir çoğunuzun basit yönlendirme komutlarına gereksinimi vardır. Bir kısmınızın hiçbir yönlerdirmeye gereksinimi yoktur. Biz burada oldukça basit yönlendirme gereksinimlerini ele alacağız.

IP yönlendirmesi nedir ?

IP yönlendirmesi bir bilgisayarın IP data gram mesajlarını çoklu bir ağda nereye yönlendirmesi gerektiğini belirleme işlemi olarak tanımlanabilir.

Bu tanımı bir örnekle anlatmaya çalışalım. Bir işyerindeki bir Router (Yönlendirici) düşünelim. Bu alete birden çok yerel ağ bağlı olsun. Bu alet PPP ile INTERNET ortamına bağlansın, bir başka PPP bağlantı ile uzakta bir yerleşime bağlantısı olsun. Bu alet bağlantılardan birinden bir datagram aldığında, yapacağı işlem bu mesajı hangi bağlantıya yönlendireceğini bulmasıdır. INTERNET bilgisayarlarının üç değişik bağlantısı bulunur. Biri yukarıda belirttiğimiz "loopback" bağlantı, ikincisi bağlı olduğu yerel ağ, sonuncusu ise PPP ya da SLIP ile bağlandığı INTERNET ortamı.

Bu durumda yönlendirme nasıl yapılır. Her bilgisayar kendi içinde yönlendirme tabloları tutar. En basit koşulu ile bu tabloda üç alan bulunur. İlki gideceği adres, ikincisi arayüzün adı, sonuncusu ise datagramı başka bilgisayarlara iletecek olan bilgisayarın IP adresidir.

Bu tabloyu görmek için kullanılacak komut :

# netstat -rn

olabilir.

Yönlendirme işlemi oldukça basittir. Bir datagram alındığında gideceği adres incelenir. Yönlendirme tablosunda bu adrese en uygun olan satır seçilir ve datagram burada belirtilen adrese, yine burada belirtilen arayüz üzerinden yönlendirilir. Eğer eşik (gateway) adresi tanımlı ise datagram bu adresin bulunduğu arayüze iletilir. Eğer eşik adresi yoksa iletilen arayüzde gideceği adres var olduğu kabul edilir.

Bu tabloda değişiklik yapmak, kernel bilgilerine değişikliği işlemek için özel bir komut kullanılır. Bu komuta "route" adı verilir.

Basit bir örnek. Ethernet yerel ağınız olsun. Ve bu ağda C sınıfı ağ adresi 192.168.1.0 olarak tanımlanmış olsun. Sizin kullanımınız için tanımlanan IP adresi 192.168.1.10 olarak verilmiş olsun ve 192.168.1.1 adresli router INTERNET'e bağlantı ucunuz olarak size verilmiş olsun. Yapacağınız işlemler :

Önce ethernet arayüzünü tanımlamanız gerekir :

# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up

Yönlendirme tablosuna eklemeniz gereken bilgi ise 192.168.1.* adresi ile başlayan tüm data gram bilgilerinin ethernet arayüzüne yönlendirilmesi gerektiğidir. Bunun için aşağıdaki komutu kullanmanız gerekir :

# route add -net 192.168.0.0 netmask 255.255.255.0 eth0

Burada "-net" seçeneğini "route" komutu ile kullanmak gerekir. Burada ağ yönlendirmesi yapıldığı belirtilir. Diğer seçenek ise "host" yönlendirmesi olup yalnız bir IP adresine yönlendirme yaparken kullanılır.

Bu yönlendirme sizinle aynı ağı paylaşan tüm bilgisayarlarla bağlantı kurmanızı sağlar. Ancak sizin ethernet ağınızda olmayan diğer bilgisayarlarla bağlantı için bu komut yetersiz kalır.

Her tür bilgisayar ağı için bir yönlendirme komutunu tabloya eklemek çok zor olacağından bu işlem için bir kaçamak yöntem kullanılır. Buna "default" yönlendirme adı verilir. Bir adres için en zayıf uyum "default" yönlendirmede bulunur. Ancak bir adres için daha başka bir tanım daha uygun ise yönlendirme o adrese yapılır. "default" yönlendirme kısaca başka seçenek yoksa buraya yönlendirilecek anlamını taşır.

# route add default gw 192.168.1.1 eth0

"gw" seçeneği route komutuna bir sonraki IP adresi bu satıra uygun datagram bilgilerinin gönderileceği adrestir bilgisini tanıtır.

# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
# route add -net 192.168.0.0 netmask 255.255.255.0 eth0
# route add default gw 192.168.1.1 eth0
olur.

Eğer kendi bilgisayarınızdaki ağ ile ilgili "rc" kütüklerine bakacak olursanız en az biri yukarıdaki tanıma uygun bir yapıdadır. Bu örnek çok genel bir yönlendirme kuralıdır.

Şimdi daha karmaşık bir yönlendirme işlemine bakalım. Şimdi Router birimininde yönlendirme yaptığımızı varsayalım. Router için bir PPP bağlantısı ve üç ethernet ağına bağlantı olsun. Bu durumda bizim Router tanımı aşağıdaki gibi birşey olur :

# route add 192.168.1.0 netmask 255.255.255.0 eth0
# route add 192.168.2.0 netmask 255.255.255.0 eth1
# route add 192.168.3.0 netmask 255.255.255.0 eth2
# route add default ppp0

Bu ağlarda yer alan iş istasyonları yukarıda belirtilen en basit yönlendirme tablolarını kullanabilir. Burada mesajları ethernet ağlarına dağıtmak Router biriminin görevidir.

"default" parametresinde "gw" tanımı bulunmaması çok doğaldır. Çünkü SLIP ve PPP tipi seri uç bağlantılarında bu bağlantının her iki ucunda da bir tane bilgisayar olduğundan, hattın öteki uçundaki bilgisayarı tanımlamak gerekmez.

"ethernet", "tokenring" ve "arcnet" gibi diğer ağlardaki tanımlarda "gw" belirtmek zorunludur. Çünkü ağ içinde birden çok bilgisayar vardır. Mesajın hangisine yönlendirileceği bilinmelidir.

O HALDE ROUTE PROGRAMININ GÖREVİ NEDİR ?

Yukarıda anlatılan ağlara ve route komutuna ilişkin örnekler eğer gönderilecek adrese bir çıkış varsa çok uygun bir yöntemdir.

Elle yapılan yönlendirme (static routing) işlemi yönlendirme yapan bilgisayarda sorun olduğunda datagram mesajlarının doğru yere gitmesi için yeniden bir dizi komut kullanmayı zorunlu kılar. Doğal olarak bu işlem oldukça yavaş ve pratik olmayan bir yöntemdir. Hattın düşmesi, bilgisayarların bozulması gibi olasılıklarda dinamik yönlendirme protokolları kullanılmalıdır.

En çok kullanılan dinamik yöntendirme protokolları RIP (Routing Information Protocol) ve OSPF (Open Shortest Path First Protocol) protokollarıdır. RIP küçük ölçekli ağlar için çok kullanışlıdır. OSPF ise daha büyük ve karmaşık ağlar için yeni ve kullanışlı yöntemdir.

Bu protokolların kullanıldığı programlar 'routed' ve 'gated' programlarıdır. 'routed' RIP için, 'gated' ise RIP ve OSPF için kullanılır.

Dinamik yönlendirme işlemlerine uygun bir örnek aşağıdaki çizimde açıklanmıştır :



Burada üç tane Router birimi sırası A, B, C vardır. Her birine C sııfı bir ethernet ağı bağlanmıştır (ağ maskesi 255.255.255.0). Aynı zamanda her Router diğer Router birimlerine PPP ile bağlanmıştır. Bu ağ PPP bağlantılarla bir üçgen gibi çalışır.

Router A üzerindeki yönlendirme tablosu aşağıdakine benzer :

# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
# route add -net 192.168.2.0 netmask 255.255.255.0 ppp0
# route add -net 192.168.3.0 netmask 255.255.255.0 ppp1

Bu yönlendirme tablosu A ile B arasındaki bağlantı kopmadığı sürece düzgün çalışır. Ancak bu bağlantı koptuğunda A ethernet ağındaki bilgisayarlar B ethernet ağındaki bilgisayarlarla bu yönlendirme tablosu yüzünden konuşamazlar. Ancak her iki ethernet ağı da C ethernet ağı ile hala konuşabilmektedir.

Eğer A, C ile konuşabiliyorsa, C de B ile konuşabiliyorsa neden A ile B konuşamasın ki. A datagramları C üzerinden B'ye gönderirse konuşabilirler. Yani dinamik olarak yönlendirme tablosu değişirse konuşabilirler. RIP protokolu bu tür sorunları dinamik yönlendirme ile çözmek için tasarlanmıştır. Her Router kendi üzerinde çalışan bir "deamon" programla kendi yönlendirme tablolarını duruma göre değiştirebilir ve bunu diğer Router birimlerine iletebilir. Bu tür ağları düzenlemek için aşağıdaki komutları kullanmak yeterlidir (Burada Router A için gereken komut verilmiştir).

# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
# /usr/sbin/routed

"routed" programı tüm çalışan ağ uçlarını otomatik olarak bulur ve buna göre kendi yönlendirme tablolarını düzenler.

Burada anlatılan dinamik yönlendirme işleminin en kısa ve kullanılabilir açıklamasıdır.

Dinamik yönlendirme ile ilgili önemli noktalar :

1. Sizin yapmanız gereken yalnız dinamik yönlerdirme protokolunu kullanan programı çalıştırmaktır.

2. Ağınızdaki değişiklikleri yönlendirme tablolarına otomatik olarak yansıtır.

3. RIP protokolu küçük ve orta büyüklükteki ağlar için uygun bir çözümdür.




AĞ SUNUCULARINI VE SERVİSLERİ TANIMLAMA

Ağ sunucuları ve servisleri kısaca ağ içindeki başka bilgisayarların bu sunucu hizmetlerini kullanması olarak adlandırılabilir. Uzak kullanıcı sunucu bilgisayara bir ağ bağlantısı kurar. Servis sunucu program "port"tan gelen mesajı kabul eder ve mesaja ilişkin programı çalıştırır. Ağ programları iki biçimde çalışır :

Yalnız Başına (Standalone)

Bu durumda program ağ protunu dinler, bağlantı geldiğinde bağlantıyı kurar ve port üzerinden servisi vermeye başlar. Program bellekte sürekli çalışır ve portu her zaman dinler.

inetd sunucusu tarafından çalıştırılarak

"inetd" özel bir ağ programı olup tanımlanan portların tümünü dinler. Bağlantı isteği olduğunda bu bağlantı için çalıştırması gereken programı belleğe yükler ve çalıştırarak servisi sunar. Bu işlem için gereken tanıtım kütüğü aşağıdaki parafgarflarda anlatılmıştır.

Burada düzenleme yapmamamız gereken iki önemli kütük vardır. Bulardan biri /etc/services diğeri ise /etc/inetd.conf kütükleridir. Birincisinde port numaralarına servis adları atanır (21 protu için ftp atamak gibi). İkincisinde inetd programı bir portu dinlerken bu porta gelen bağlantı mesajında hangi programı nasıl çalıştıracağını belirtmek içindir.

/etc/services

/etc/services kütüğü insanların anlayacağı port adları ile bilgisayarın anladığı port numarası arasındaki bağı tanımlayan bir veri tabanıdır. Yapısı oldukça basittir. Her satır boşluklarla ayrılmış üç ana bilgiden oluşur. Bu bilgi alanları kısaca :

adı port/protokol eşanlamlı_ad # açıklama

olarak tanımlanır.

Adı

Bir kelimelik port adı. Bu servisin adını belirtir.

port/protokol

Bu alan iki parçaya ayrılır.

port

port numarası, adlandırılan servisin numarasıdır. Pekçok ortak servis numarası RFC-1340 dokumanında anlatılmıştır.

protocol

Bu parça ya "tcp" ya da "udp" olarak tanımlanır.

Bilinmesi gereken önemli bir özellik 18/tcp port tanımı ile 18/udp port tanımı tümüyle birbirinden ayrı kavramlar olduğudur. Neden aynı port numarası kullanıldığı ise kısca şöyle tanımlanabilir : Bu servis hem "tcp" hem de "udp" için geçerlidir.

eşanlamlı_ad (aliases)

Bu servis için kullanılabilecek diğer adlar

"#"

işaretinden sonra yazılan tüm bilgi açıklama olarak kabul edilir.

Örnek bir /etc/services kütüğü

/etc/inetd.conf

Bu kütük inetd programı için işlem tanımlama kütüğüdür. İşlevi inetd programına bir hizmet için bağlantı isteği geldiğinde ne yapması gerektiğini belirtir. Burada ağ programlarının hangilerinin hangi hizmetler için çalışacağı ve nasıl çalışacağı söylenir. inetd programı buradaki tanıma göre programı belleğe yükler.

Yapısı oldukça basittir. Her atırı bir hizmet için tanımlanmış metin kütüğüdür. Bir satırdaki '#' işaretinden sonrası açıklama kabul edilir. Her satırda yedi bilgi alanı vardır. Bilgi alanları boşluklarla ayrılmıştır.

hizmet socket_tipi protokol değerler kullanıcı program_yolu program_parametreleri

Hizmet

kullandığınız bilgisayar için /etc/services kütüğündeki hizmet adlarından bir tanesidir.

socket_tipi

Gerçekli değerler "stream", "dgram" "raw", "rdm" ya da "seqpacket" olabilir. Bu değerler programın kabul ettiği mesaj türüne göre tanımlanır. (Ayrıntılı bilgi için socket_tipi konusuna bakın).

protokol

Burada tanımlanan protokol tipik olaak "tcp" ya da "udp" olur. Bu bilgi /etc/services kütüğü ile uyumlu olmalıdır. Sun RPC (Remote Procedure Call) tabanlı programlarda rpc/tcp or rpc/udp kullanılır.

değerler

Bu bilginin gerçekte alabileceği değer iki tanedir. Ya "inetd" program işi bitince socket'i boşaltacağı için hizmeti dinlemeye devam eder. Aynı socket'ten gelen yeni bağlantı isteklerini kabul edip yeni program başlatabilir ("nowait"), ya da inetd bekler ve başlattığı program yeni bağlantı isteklerini kendi çözümler ("wait").

Genelde tüm tcp programlar için bu eğer "nowait" olamalı, upd programlar için "wait" olmalıdır. Yapıları gereği bu programlar ancak belirtilen biçimde doğru çalışabilirler.

kullanıcı

Bu alan program başladığında /etc/passwd altında tanımlı hangi kullanıcı adına başlatıldığını belirtmek için tanımlanır. Güvenlik nedeniyle pekçok ağ programının kullanıcısını "nobody" yapmak gerekebilir.

program_yolu

Bu bilgi çalışacak programın tüm yolunu gösterir

program_parametreleri

Bu bilgi alanı zorunlu değildir. Başlatılan programa geçirilecek parametrik bilgi bu alana yazılabilir.

Örnek bir /etc/inetd.conf kütüğü




AĞLAR İÇİN GEREKLİ DİĞER ÖNEMLİ TANIM KÜTÜKLERİ

Çeşitli UNIX ortamlarında bulabileceğiniz ağ tanımlarına ilişkin kütüklerin içeriği hakkında kısa açıklama burada anlatılmıştır. Belki bu kütükleri hiç değiştirmeniz gerekmez. Ama gerektiğinde yapılarını bilmenizde yarar vardır.

/etc/protocols

/etc/protocols adı kütük kullanılan protokol adları ile numaralarının gösterildiği bir tablo biçimindedir. Protokolları adları ile kullanan programlarda (tcpdump gibi) ilgili hizmeti adı ile yazmak gerektiğinde kullanılır. Genel yapısı :

Protokol_adı numarası eşanlamlı_adı

Örnek bir /etc/protocols kütüğü :

# /etc/protocols:

# $Id: protocols,v 1.1 1995/02/24 01:09:41 imurdock Exp $

#

# Internet (IP) protocols

#

# from: @(#)protocols 5.1 (Berkeley) 4/17/89

#

# Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992).

ip 0 IP # internet protocol, pseudo protocol number

icmp 1 ICMP # internet control message protocol

igmp 2 IGMP # Internet Group Management

ggp 3 GGP # gateway-gateway protocol

ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')

st 5 ST # ST datagram mode

tcp 6 TCP # transmission control protocol

egp 8 EGP # exterior gateway protocol

pup 12 PUP # PARC universal packet protocol

udp 17 UDP # user datagram protocol

hmp 20 HMP # host monitoring protocol

xns-idp 22 XNS-IDP # Xerox NS IDP

rdp 27 RDP # "reliable datagram" protocol

iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4

xtp 36 XTP # Xpress Tranfer Protocol

ddp 37 DDP # Datagram Delivery Protocol

idpr-cmtp 39 IDPR-CMTP # IDPR Control Message Transport

rspf 73 RSPF # Radio Shortest Path First.

vmtp 81 VMTP # Versatile Message Transport

ospf 89 OSPFIGP # Open Shortest Path First IGP

ipip 94 IPIP # Yet Another IP encapsulation

encap 98 ENCAP # Yet Another IP encapsulation

/etc/networks

/etc/networks kütüğü işlevsel olarak /etc/hosts adlı kütük gibi çalışır. Ağ adları ve numaraları ile ilgili basit bir veri tabanı olarak kullanılır. Ad sunucu kullanılmadığı durumlarda önemli olabilir. Bu kütüğün her satırında iki bilgi alanı vardır :

# ağ_adı ağ_adresi

Bu konuda bir örnek şöyle tanımlanabilir :

loopnet 127.0.0.0
localnet 195.174.130.0
amprnet 44.0.0.0

Eğer "route" komutu gibi komutlar kullanıyorsanız ve bu komutta yer alan ağ bilgisi /etc/networks kütüğünde varsa, "route" komutu ağ numarası yerine ağ adını görüntüler.

Ağ güvenliği ve Erişim Denetimi

Bu konuda ayrıntılı bilgi UNIX Ortamında Güvenlik Önlemleri adlı yazıda anlatılmıştır. Buarada yinelemek yerine oraya bağlantı verdim.




AĞ TEKNOLOJİSİNE İLİŞKİN BİLGİLER

Burada yer alan ağ teknolojilerine ilişkin bilgiler LINUX için geçerlidir. Başka UNIX otamlarındaki ağ teknolojilerine uyumlu olmayabilir, ama konuya ilişkin genel bilgi amacı ile kullanılabilir (Bakınız : AĞ TEKNOLOJİSİ).




KABLOLAR VE KABLOLAMA

Kablo yapabilenler ve lehimlemeyi bilenler için size yardımcı olabilecek bazı kablo bilgileri burada anlatılmıştır.

NULL Modem (Modemsiz) Seri uç Kablosu

Tüm NULL modem kabloları benzer değildir. Pekçok NULL modem kablosu yalnız bilgisayarınızı kandırmakla kalmaz, tüm sinyallerin var olduğunu kabul ederek "Transmit" ve éReceive" uçlarını ters çevirir. Bunda bir sakınca yoktur. Ama o zaman yazılım akış kontrollu olan XON/XOFF protokolu kullanmanız gerekir. Bu protokol donanım akış protokoluna göre çok daha yavaş çalışır. Aşağıdaki kablo iki bilgisayar arasındaki en uygun ve olası sinyal alış verişini sağlayan RTS/CTS kontolunu kullanmanıza olanak veren bir örnektir.

Pin Adı Pin Pin

Tx Data 2 ----------------------------- 3

Rx Data 3 ----------------------------- 2

RTS 4 ----------------------------- 5

CTS 5 ----------------------------- 4

Ground 7 ----------------------------- 7

DTR 20 -\--------------------------- 8

DSR 6 -/

RLSD/DCD 8 ---------------------------/- 20

\- 6

Paralel uç kablosu (PLIP kablosu)

İki makine arasında PLIP protokolu kullanmak isterseniz aşağıdaki kablo ne tür paralel uç bağlantınız olursa olsun çalışır.

Pin Adı pin pin

STROBE 1*

D0->ERROR 2 ----------- 15

D1->SLCT 3 ----------- 13

D2->PAPOUT 4 ----------- 12

D3->ACK 5 ----------- 10

D4->BUSY 6 ----------- 11

D5 7*

D6 8*

D7 9*

ACK->D3 10 ----------- 5

BUSY->D4 11 ----------- 6

PAPOUT->D2 12 ----------- 4

SLCT->D1 13 ----------- 3

FEED 14*

ERROR->D0 15 ----------- 2

INIT 16*

SLCTIN 17*

GROUND 25 ----------- 25

Notlar :

'*' ile işaretlenmiş uçları sakın lehimlemeyin, boş kalsın.

Diğer topraklar 18, 19, 20, 21, 22, 23 ve 24 nolu pin'lerdir.

Eğer kullandığınız kablonun metalik koruyucu kafesi varsa bu kafes kablonun yalnız bir ucundan DB-25 şasesine lehimlenmelidir.

Uyarı : Yalnış lehimlenmiş bir kablo paralel uçunuzu yakıp kartınızı bozabilir. Kabloyu takmadan birkaç kez kontrol edin lütfen.

10base2 (thin coax) Ethernet Kablolaması

10base2, 52 ohm'luk 5mm çapında ince coaxial kablodur ve ethernet ağlarını kablolamak için kullanılır. Bilgisayarları 10base2 ile bağlarken dikkate alınması gereken bazı önemli noktalar vardır. Kablonun her iki ucunda terminatör (sonlandırıcı) bulunmalıdır. Bir sonlandırıcı 52 ohmluk resistans'dır. Böylece kablonun sonuna ulaşan mesaj sonlandırıcı tarafından emilir ve kablo boyunca yasıma yapmak. Bilgisayarları kabloya yerleştirmek için "T" tipi konnektör gereklidir. (Örnek kablo için çizim-2'ye bakın). Burada kullanılan "T" konnektör doğrudan ethernet kartına takılır (arada uzatma kablosu kullanılmaz).

Twisted Pair Ethernet Kablosu

Eğer yalnız twisted pair ethernet kartlarınız varsa, onları ağa bağlamak için bir hup kullanmanız gerekmez. İki kartı birbirlerine doğrudan bağlayabilirsiniz.



SÖZLÜK



Bu belgede kullanılan terimlere ilişki küçük bir sözlük

ARP

Adres çözümleme Protokolu (Address Resolution Protocol) için bir kısaltmadır. Bu yöntem donanım adresi ile ağ adresinin birbirine nasıl bağdaştırıldığını gösterir.

ATM (Asynchronous Transfer Mode)

Asynchronous Transfer Mode için bir kısatmadır. Bir ATM ağında mesajlar değişmez boydaki paketlere dönüştürülerek bir noktadan diğerine aktarılır. ATM devre anahtarlamalı paket ağı teknolojidir.

client

Kullanıcının bulunduğu yerdeki bilgisayar ya da yazılım parçasının adıdır. Bu program ya da bilgisayar sunucudan hizmet alır. SLIP ve PPP gibi iki uç arasındaki bağlantılarda çağırılan tarafa verilen addır.

datagram

Bir datagram veri ve adresleri içeren başlık bilgisi ile bir paketin tümüne verilen addır. IP ağının temel öğesidir. Buna yalnızca "paket" adı da verilebilir.

DLCI (Data Link Connection Identifier)

Frame Relay bağlantıda iki uç arasındaki sanal bağlantıyı tanımlar. DLCI Frame Relay sunucusu tarafından atanır.

Frame Relay

Bir ağ teknolojisi olarak üzerinden geçen trafik yüküne uyumlu bir yapısı vardır. Ağ maliyetleri ağı paylaşan müşteriler tarafından azaltılablir.

Hardware address

Bilgisayarı fiziksel ağ içinde (media access layer) tekil olarak adlandırmaya yarayan bir sayıdır. Ethernet adresi, AX.25 adresi örnek olarak kullanılabilir.

ISDN (Integrated Services Dedicated Network).

Bu Inegrated Services Dedicated Network sözlerinin kısaltması olan bir deyimdir. Ses ve veri iletişimi için İletişim kurumu tarafından sunulan bir alt yapıdır. Teknik olarak ISDN, devre anahtarlamalı veri ağıdır.

ISP

Bu INTERNET Servis Sunucusu için kullanılan bir kısaltmadır. ISP kurum ve insanları INTERNET ortamına bağlama görevini üstlenir.

IP address (IP adresi)

Bu sayı bir TCP/IP bilgisayaraını ağ içinde tekil olarak tanımlanmsında kullanılan bir değerdir. 4 byte uzunluğundaki adres 'noktalı sayısal gösterim' ile yazılır. Bu gösterim biçiminde her byte 0 ile 255 arasındaki ondalık sayılarla yazılır ve aralarında nokta bulunur.

MSS (Maximum Segment Size - En büyük parça boyu)

Bir işlemde gönderilebilecek en büyük veri boyuna verilen addır. Yerel ortamda mesajların parçalanmasını istemiyorsanız MMS ile MTU-IP değerleri eşit olmalıdır.

MTU (Maximum Transmission Unit - En büyük gönderme birimi)

IP arayüzü tarafından parçalanmadan taşınabilecek en büyük datagram boyunu tanımlayan bir parametredir. Bu datagram gideceği yere ulaşıncaya kadar geçeceği yollarda değişik MTU parametre değerleri yüzünden parçalanabilir, ama tanımlandığı ağ arayüzünde parçalanmaz. Bu değer parçalanmadan taşınmasını istediğiniz en büyük datagram boyundan büyük olmalıdır. ethernet arayüzü için 1500, SLIP arayüzü için 576 byte tipik değerlerdir.

route (yol, yön)

"route" bir datagram mesajının gideceği yere ulaşması için kullandığı yol ya da yön olarak adlandırılır.

server (sunucu)

Bu genelde kullanıcıdan uzakta bulunan bir bilgisayar ya da yazılım parçasıdır. Sunucu, bir ya da daha çok isteğe hizmet verir. Sunucu için tipik örnekler "ftp", "NFS", "Domain Name Server". İki uç arasındaki bağlantılarda (slip ya da ppp bağlantıda) sunucu kendisine bağlantı yapılan uç olarak adlandırılır. Bağlantıyı yapana da .... denir.

window

Mesaj alan tarafta, verilen bir zamanda, alınabilen en büyük mesaj boyuna window adı verilir.

Googleda AraGoogle da bu haberi ara
Etiketler:

ECBanner bloggping TurkeyRank.Com - Pagerank Servisi pagerankonline.de - Pagerank Anzeige ohne Toolbar On our way to 1,000,000 rss feeds - millionrss.com
Seo Memurvadisi Backlink Austausch ECBannerFree Automatic Backlinks Free Automatic Backlinks Free Automatic BacklinksFree Automatic Backlinks Free Automatic BacklinksFree Automatic Backlinks
Bu sitedeki yazılar telif hakkları göz önüne alınarak yayınlanmaktadır. Kaynak göstermeksizin Tamamı veya Bir Kısmının KOPYALANMASI YASAKTIR. yayınlanan bu makale ve eserlerin hak sahipleri herhangibir nedenle telif hakkı idda ederlerse ve bizce uygun görülmesi halinde (gerçeklik esası olması dahilinde) bize lütfen mail atsınlar (ozkan@mail.nu) en kısa sürede eserleriniz sitemizden kaldırlır. © 2008 www.odeveson.blogspot.com