3. TCP/IP ve INTERNET
Veri haberleşme ağları kullanıcıların bilgisayar ve bilgi kaynaklarını
ortaklaşa kullanabilmeleri için geliştirilmiştir. Organizasyonlar bilgisayarı
ticaretin her yönüne taşıdıkça, açıkça görüldü ki tek bir ağ çok kullanışlı
olmasına rağmen, ticaret ve katılımcıların bilgi ihtiyacını karşılamakta
yetersiz kalıyordu. Örneğin, bir ağın kullanıcısı sık sık başka bir ağa ait
bilgisayar ve veritabanı kaynaklarına ulaşmak ihtiyacında olabilir. Tüm
kaynakları bir ağda birleştirmek, fahiş biçimde karışık ve pahalı bir
yöntemdir. 3.1 OSI Modeli Intenational Organization for Standardization (ISO)’nun tanımlamış olduğu
OSI modeli, bilgisayar ağı iletişimi için büyük problemleri, küçük, daha
kolay yönetilebilir parçalara bölerek işlevsel bir tanım verir. Model, ağ ile
ilgili tartışmalara bir referans oluşturmaktadır. Şekil 3-1’de OSI modeli
görülmektedir. OSI modeli yedi katmandan oluşur. Her katman için belirli sorumluluklar ve
servisler tanımlanmıştır. Alıcı ya da göndericideki katman karşısındaki
katman ile iletişim kurar. Her katman komşu katmanlardan işlevsel olarak
bağımsızdır. Örneğin, ağ katmanındaki bir protokol gerçekleştirimi, diğer
katmanların işleyişini değiştirmeden başka bir ağ katmanı gerçekleştirimi ile
yer değiştirebilir. Şekil 3-1 OSI
Referans Modeli OSI modelinin katmanları aşağıdaki işlevleri yerine getirir: · Fiziksel bağlantılar (1 ve 2. katmanlar): Bu katmanlar üst katmanlara
(3-7) fiziksel bağlantı sağlarlar ve verinin ağ ortamından
iletilmesinden sorumludurlar. OSI modeli detaylı bir tanımlama ya da protokol olmadığından, veri
iletişim protokollerini tartışırken referans model olarak kullanılabilir.
Veri iletişim protokollerinin amacı farklı birimler üzerinden uygulama
verilerinin taşınmasıdır. Tüm veri iletişim protokollerinde temel amaç budur.
Veri iletişim protokolleri farklı yöntemlerle geliştirilseler bile aynı
işlevi yerine getirmektedirler. Internet’in nasıl çalıştığı RFC’lerde (Request for Comments)
belirlenmiştir. Bir, RFC bir Internet standardını veya sadece önerileri,
fikirleri veya bir standart için gerekli kuralları içeren bir metin
belgesidir. Dokümanlar yayınlanma tarihlerine göre sıraya konulur. Bu yüzden
konulara göre bir sıralama söz konusu değildir. Resmi bir standart durumuna sahip 2200 RFC bulunmaktadır. Dokümanlar
Internet’te arşivlenmiştir ve buradan bunları okumak mümkündür 3.3 TCP/IP ve OSI Ağ mimarilerini tartışmaya başlamadan önce şunu bilmeliyiz ki TCP/IP ve
ilgili protokollerin kullanımı hızla artmaktadır. Bu arada OSI modeli ile
ilgili ilginç gelişmeler olmaktadır. Birçok kişi bazı nedenlerden dolayı
TCP/IP’nin daha uygulanabilir bir model olduğunu düşünmektedir. Bu nedenleri
şöyle sıralayabiliriz: 1. TCP/IP buradadır ve çalışmaktadır. Yukarıda sayılan nedenlere rağmen, TCP/IP protokol ailesinden OSI modeline
geçme fikri orijinal Internet sponsoru US DOD’a (Birleşik Devletler Savunma
Departmanı) aittir. Ancak, Internet yaklaşımı şu anda varolan standart ve
protokolleri ile duracaktır. Yalnızca gerekirse yeni özellikler yazılacaktır.
Son olarak, Internet yaklaşımının daha uzun bir süre üreticisinden bağımsız
olacağı söylenebilir. 3.4 Internetworking Mimarisi 3.4.1 Terimler ve kavramlar Internet’te ağlar arası fonksiyonların aktarılmasını sağlayan cihazlara
gateway veya router denir. Şekil 3-2’de görülen A, B, C ağları genelde altağ olarak tanımlanır. Bu,
alışılagelmiş bir ağdan daha az fonksiyon sağlarlar demek değildir. Daha
doğrusu, üç ağ da tam mantıksal ağdır. Altağlar internetworking için yapılan
tüm işlemlere katılırlar. Altağlar bir internetwork veya bir interneti
yaratırlar. Şekil 3-2 Gateway
ve Altağlar Bir internetworking gateway’i son-kullanıcı uygulaması için transparandır.
Gerçekte, son-kullanıcı uygulaması ağa bağlı host cihazında yerleşmiştir;
nadiren gateway’e yerleştirilmiştir. Bu yaklaşım çeşitli bakış açılarından
dolayı çekicidir. Birincisi, gateway kendini veri tabanı erişimi, elektronik
posta, ve dosya yönetimi gibi uygulama katmanı protokolleri için yormaya
gerek duymaz. Böylece, ağlar arası trafiği yönetmek gibi, diğer görevlerini
daha hızlı yapabilir. İkincisi, bu yaklaşım gateway’in her türlü veri
uygulamasını desteklemesini sağlar çünkü gateway uygulama mesajını, transparan
bir protokol veri biriminden (protocol data unit (PDU)) farklı bir şey
olarak görmez. Bazı tasarımcılar, uygulama katmanı transparanlığı yanında, gateway’i
altağlara karşı da transparan yapmaya kalkışmışlardır. Bu, gateway’in ne tip
bir ağa bağlandığına dikkat etmemesi anlamınadır. Gateway’in ana amacı
yeterli miktarda adres bilgisine sahip PDU’yu almak ve onu son varış yerine
veya bir sonraki gateway’e iletmektir. Transparanlık çok çekicidir çünkü
gateway’i bir şekilde modüler yapar. Gateway farklı tiplerdeki ağlarda
kullanılabilir. Şunu önemle belirtmek gerekir ki, bu transparanlık sihirle
başarılmamaktadır. Altağ protokolleri ve gateway arasında haberleşmenin
mümkün kılınması için yazılıma ihtiyaç duyulur. Bu prosedürler genelde
şirketlere özeldir ve standartlar gateway ile altağ arasındaki bu arabirimi
tanımlamazlar. Bu sözün dışında kalanlar; IEEE, OSI yayınlarıdır. Ayrıca host
ve gateway protokolleri (katmanları) arasındaki prosedürleri tanımlayan
Internet servis tanımlamaları da bu sözün dışındadırlar. Internet’in servis
tanımlamaları ilerleyen bölümlerde incelenecektir. 3.4.2 Bağlantısız ve bağlantı-yönlendirmeli protokoller Bağlantısız ve bağlantı-yönlendirmeli işlem kavramları her haberleşme
protokolünün temelidir ve Internet standartları her ikisini de
kullanmaktadır. Bunların özelliklerini tam olarak anlamak bizim için
zorunludur. Ana karakteristikleri aşağıdaki gibidir: · Bağlantı-yönlendirmeli işlemler: Kullanıcı ve ağ veri transferine
başlamadan önce aralarında mantıksal bir bağlantı kurarlar. Bu tip bağlantı,
kullanıcı ile ağ arasında başarılı bir veri transferi için kullanılır. Şekil 3-3
Bağlantı-Oryantasyonlu Ağlar. Şekil 3-4
Bağlantısız Servis. 3.5 Internet Katmanları TCP/IP ağları üzerinde çalışan yazılımlar ve donanımlar haberleşme
aktivitelerini desteklemek üzere geniş bir fonksiyon yelpazesine sahiptirler.
Ağ tasarımcıları bu fonksiyonların sayısı ve karışıklığı karşısında muazzam bir
görevle karşılaştılar. Bu sorunların çözümü için, bir internetin
fonksiyonları katmanlara ayrılmış ve internet katmanlı olarak
yapılandırılmıştır. Modern ağlar yedi kavramsal katmana bölünerek tanımlansa da, Internet
mimarisi yalnızca dört katmana dayanır. Şekil 3-5’te Internet katman mimarisi
gösterilmiştir. Internet’in en alttaki katmanı altağlar ve altağ
arabirimlerinden oluşur. Bu altağlar verinin her bir ağın içerisinden
gidebilmesine izin verirler. Altağlara örnek olarak WillTel, Transpac, ve bir
Ethernet LAN’ı verilebilir. Bu katman bir altağ içermesine rağmen, gerçek
uygulamalarda, bir altağ veya gateway ile haberleşen tüm cihazlar için veri
bağlantı ve fiziksel katmanların varolması gerekmektedir. Bu nedenle Şekil
3-5 oldukça özettir çünkü bu katman veri bağlantı ve fiziksel katmanları da
içermelidir. Daha sonraki şekillerde bu alt katman daha detaylı olarak
gösterilecektir. Bunun üstünde internetwork katmanı vardır. Bu katman ağları ve
gateway’leri tutarlı bir sistem içerisinde birbirlerine bağlamak için gerekli
fonksiyonları sağlar. Bu katman, veriyi kaynaktan varış noktasına taşımakla
sorumludur. Internetwork katmanı IP ve ICMP (internet control message
protocol (Internet kontrol mesajı protokolü)) protokollerini içeri. Rota
bulma ve adres haritalama için kullanılan diğer destek protokolleri de bu
katmanda IP ile birliktedirler. Şekil 3-5 Internet
Katmanları Üçüncü katman servis sağlayıcı protokol katmanı olarak bilinir. Bu katman
uçtan-uca haberleşmeden sorumludur. Eğer bağlantı-yönlendirmeli ise,
güvenirlilik ölçümleri ve bir internet üzerinden akan tüm trafiği
açıklayabilen mekanizmalar sağlar. Bu katmanda TCP ve UDP vardır. Son olarak, en üst katman uygulamalar servisi katmanıdır. Bu katman bir
son kullanıcı uygulamasına doğrudan arabirimler sağlar. Dosya transferi, uzak
terminal erişimi (remote terminal access), remote job execution, elektronik
posta vb, gibi fonksiyonlardan sorumludur. Ayrıca bu katman, FTP gibi, geniş
kullanım alanı olan belirli protokoller içerir. 3.6 Katman İşlemlerine bir Örnek Şekil 3-6’da, katmanlı protokoller ile altağ ve gateway’lerin ilişkisini
gösterilmiştir. Şekil 3-5’de belirtilen katmanlar, endüstride sıkça
kullanılan terimleri kullanmak üzere yeniden adlandırıldı. Şekil 3-6
Internet Katman İşlemlerine bir Örnek Bu şekilde, A host’unun B host’undaki bir uygulama katmanı protokolüne bir
uygulama PDU’su gönderdiğini düşünelim (bir dosya transfer sisteminde olduğu
gibi). Dosya transfer yazılımı çeşitli fonksiyonları gerçekleştirir ve dosya
kayıtlarını kullanıcı verisine yollar. Birçok sistemde, B host’unda yapılan
işlemler sunucu işlemleri ve A host’unda yapılan işlemler istekçi (client)
işlemleri olarak anılır. Şekilde, A host’unun protokol yığınındaki okun yönünden de anlaşılacağı
gibi, bu birim uygulama katmanından aktarım katmanına gönderilir. Üst
katmandan gelen PDU aktarım katmanınca veri olarak karşılanır. Bu katman
çeşitli işlemler yapar ve kendine gelen PDU’ya bir başlık ekler. Bu veri
birimine artık segment denir. Daha sonra, aktarım katmanı segment’i IP katmanı da denen ağ katmanına
geçirir. Bu katman da özel servisler sağlar ve segmente kendi başlığını
ekler. Bu birim (Internet terimlerinde datagram denir) alt katmanlara
geçirilir. Burada veri bağlantı katmanı, datagrama kendi başlığını ekler ve
veri birimi (artık çerçeve denir) fiziksel katman aracılığı ile ağa
bırakılır. Tabii ki, B host’u A host’una veri gönderirse süreç ters olur ve
okların yönü değişir. Rotalama kararları alındıktan sonra PDU uygun bir altağa bağlı haberleşme
linkine geçer. PDU, veri bağlantı katmanı çerçevesi olacak biçimde yeniden
paketlenir ve diğer altağa iletilir. Daha önce olduğu gibi, bu birim altağı
transparan olarak geçer ve sonunda varış host’una gelir. Varış host’u B, trafiği alt katmanları ile alır ve A host’unda yapılan
işlemlerin tersini yapar; yani uygun katmanlarda başlıkları sökerek paketleri
açar. Başlık; katmana yapılması gereken işleri bildirir. Yani başlık katman
işlemlerini yönetir. Uygulama katmanında; dosya transfer uygulaması tarafından yaratılan PDU, B
host’undaki dosya transfer uygulamasına varır. Eğer A ve B host’ları büyük
mainframe bilgisayarları iseler, bu uygulama büyük ihtimalle A host’undakinin
tam bir eşidir. Uygulama aldığı başlığa göre çeşitli fonksiyonları yerine
getirebilir. Verinin B host’undaki başka bir son-kullanıcı uygulamasına
geçirilebileceği ihtimali vardır, fakat çoğu durumda, A host’u yalnızca dosya
transferi veya elektronik posta gibi sunucu protokolü servislerinden
yararlanmak ister. Eğer durum bu ise B host’unda bir son-kullanıcı
uygulamasının çalıştırılmasına gerek yoktur. B host’undaki sunucunun aldığı veriyi, A host’u istekçisine geri döndürmek
için, bu sürecin tersi izlenir. Veri, B cihazının katmanlarını, ağı,
gateway’i, diğer ağı ve A host’unun katmanlarını geçerek son-kullanıcıya
ulaşır. 3.7 TCP/IP Modeli: Daha Yakın bir Bakış Şekil 3-7’de, TCP/IP modelinin mimarisi ve çeşitli temel ilgili
protokoller gösterilmiştir. Bu modelin katmanlarının yığınlanma biçimi, ağ
kullanıcılarının ihtiyacına ve ağ tasarımcılarının kararlarına bağlıdır. TCP
(ve UDP)’nin üzerindeki protokoller uygulama katmanı protokollerine
örnektirler ve Şekil 3-5’de gösterildiği gibi uygulama servisi olarak da
adlandırılırlar. Daha alttaki iki katman veri bağlantı ve fiziksel katmanları
gösterir. Şekilde görüldüğü gibi bu katmanlar için geniş bir standartlar ve
protokoller yelpazesi geliştirilmiştir. Şekil 3-7 IP Ailesi 3.8 Internetworking’in Amacı Şimdiye kadar edinilen bilgilerle, bir ağ yöneticisinin internetworking
servislerini sağlarken karşılaştığı çeşitli zorluklar ve sorunlar
tartışılabilir. Bu başlık altında bu sorunlara genel olarak değinilecektir. Farklı ağlar farklı uzunlukta PDU’lar kullanırlar. Eğer farklı uzunluklar
kullanılırsa, ağlar veya gateway’ler veri birimleri için fragmantasyon
(parçalama) sağlamalıdır ve bu yapılırken veri birimlerinin kimliği
kaybedilmemelidir. Veri birimlerinin farklı uzunlukları, uçtan-uca temeline
dayanan sıra numarası (sequence number) ilişkisinin kurulması gereğini
ortadan kaldırmaz. Bir IP gateway’i veri birimlerini parçalayabilir ve alıcı
host bilgisayarı bu parçaları, tam bir PDU elde etmek üzere
yeniden-birleştirebilir (reassemble). Zamanlayıcılar, timeout’lar ve tekrarlama değerleri altağdan altağa
değişebilir. Örneğin, A ağının bir veri birimini ilerlettiğinde onay-bekleme
zamanlayıcısını kurduğunu düşünelim. Zamanlayıcı uçtan-uca onayının belirli
bir zaman dilimi içerisinde oluşmasını sağlar. Veri birimi B ağına geçer
fakat bu ağın uçtan-uca zamanlayıcısı yoktur. Böylece, bir açmazla karşı
karşıya kalırız. Veri birimi B ağından geçtikten sonra A ağı alıcı
kullanıcıdan onay alabilecek midir? ve ikinci ağ veri birimini gerçekten
alabilecek midir? A ağı bu durumda bir güvenlik sorunu oluştuğunu
düşünecektir çünkü veri varış yerine ulaşmamış olabilir. TCP/IP uçtan-uca
zamanlama desteği sağlar. Ancak fonksiyon, veri birimi altağlardan geçerken
çalıştırılmaz, yalnızca host bilgisayarlarında çalıştırılır. Böylece, ağ
istediği tipte zamanlayıcı kullanmakta özgür kalır. Altağlar farklı adresleme şemaları kullanabilirler. Örneğin, biri
mantıksal isimler kullanırken diğeri fiziksel isimler kullanabilir. Bu
durumda, iki altağ arasında adres çözümleme ve haritalama farklılıklar
gösterebilir. Aslında, çoğu ağ kendi ağına-özel adresler kullanır. Örneğin,
bir SNA adresi kolayca bir DECnet adresine çevrilemez. Neyse ki, Internet
çeşitli tiplerdeki adresleri destekleyecek standartları sağlar. Ayrıca,
Internet sistemleri, ağ katmanından fiziksel katmana kadar olan adresler için
adres haritalama desteği sağlar. Altağlar farklı seviyelerde başarım gösterebilirler. Bir ağ, diğerinden
daha yavaş olabilir ve daha az akış sağlayabilir. Internet protokolleri bu
meselelerle ilgili belirli bir çözüm sağlamazlar ve kendilerini bu
meselelerden sorumlu tutmazlar. Daha önce belirttiğimiz gibi, protokoller farklı
tipteki ağlar üzerinde transparan olarak çalışmak üzere tasarlanmışlardır.
Tabii ki, ağ yöneticisi bu sorunlarla ilgilenmek zorundadır ve sorunların
çözümünde yardımcı olması için bazı Internet yazılımlarını araç olarak
kullanabilir. Altağlar farklı rotalama yöntemleri kullanabilirler. Örneğin, biri sabit
rotalama dizini kullanırken diğeri adaptif rotalama dizini kullanabilir. İlk
durumda ağ mantığı, rotalama dizinini seyrek olarak yeniden düzenler.
İkincisinde, yeniden düzenleme mantığı geniştir. TCP/IP ailesi gateway
rotalamasını destekleyen birçok protokol içerir fakat intranet-working
rotalamasına hiç girmez. Bu nedenle, birçok organizasyon bu protokolleri
kendi ağları içerisinde kullanırlar. Altağlar farklı tiplerde kullanıcı arabirimlerine gereksinim duyabilirler.
Bir altağ bağlantı-yönlendirmeli, kullanıcı-altağ arabirimi kullanırken bir
diğeri bağlantısız, datagram protokolü kullanabilir. Arabirim tipi, hata
bulma ve akış kontrolünde söz sahibidir. Altağlar farklı seviyelerde güvenlik gerektirebilirler. Bir ağ enkripsyon
(şifre çözümlenmesi) gerektirirken bir diğeri yalnızca temiz-metin iletimini
destekleyebilir. TCP/IP güvenlik ile kendisi ilgilenmez ve kullanıcının veri
iletimi için bir güvenlik seviyesine karar verebilmesine olanak sağlar. Sorun giderme, teşhis etme ve ağ bakımı, altağdan altağa farklılıklar
gösterebilir. Bir altağda meydana gelen sorun, bir başka altağı etkileyebilir
ve etkilenen altağ hata analizi ve hata doğrulamasındaki kontrolünü
yitirebilir. Ağ yönetim bilgilerinin ağlar arası alışverişi Internet
protokolleri tarafından transparan olarak gerçekleştirilir. Internet ağ
yönetim standartları, ağ yönetimi için hatırı sayılır destekler sağlar. Açıktır ki internetworking işi basit değildir ve gerçekleştirilmeden önce
ciddi analizler ve ön çalışmalar yapılması gerekir. 3.9 Tipik Internet Topolojileri Şekil 3-8(a)’da bir gateway (G ile gösterildi) ile birbirlerine bağlanan
iki ağ gösterilmiştir. Ağlar ağ adresleri (ağ ID’si) ile tanınırlar. Şeklin
solundaki ağ, 11.4 ağı, diğeri 128.1 ağı (bu numaraları yaratmakta kullanılan
şema 5. bölümde anlatılacak) olarak tanınır. Bu şekil için ağ bulutları
terimi kullanılabilir çünkü ağların topolojisi ve işlevleri gösterilmemiştir.
Daha alttaki şekillerde, ağ topolojileri de belirtilmiştir. Şekil 3-8
Tipik Internet Topolojileri : (a) Ağ Bulutları ve Gateway’ler (b) Gateway
Ağları Bağlıyor (c) Paket Anahtarları veya Gateway olarak davranan Host’lar
(d) LAN Gateway’leri (e) LAN’lar arasında Ortak Gateway’ler (f) Bir Internet
içerisinde Çoklu Gateway’ler Ağ içerisindeki işlemlerin tartışılmadığı durumlarda Şekil 3-8(a)
kullanılır. Ağ içerisindeki işlemler incelenecekse Şekil 3-8’deki diğer ağ
gösterilimleri kullanılır. Örneğin Şekil 3-8(b)’de bir paket-anahtarlamalı ağ
(11.4 ağı) ve bir Ethernet-tipi LAN (128.1 ağı) topolojisi gösterilmiştir.
11.4 ağında A, B, C, D ile gösterilen kutular paket anahtarlarını sembolize
ederler ve bunlar birbirlerine haberleşme linkleri ile bağlanmışlardır.
Bunlar aynı zamanda host ve paket anahtarı fonksiyonlarını gerçekleyen
bilgisayarlar da olabilirler. Şekil 3-8(b)’deki iki ağ bir gateway ile
birbirlerine bağlanmışlardır. Şekil 3-8(c)’de 128.1 ağındaki B host’unun 11.4 ağındaki D paket anahtarı
için bir gateway gibi davrandığını görüyoruz. Bir paket anahtarının bir
gateway gibi davranması gereken durumlarda, bu düzenleme oldukça yaygındır.
Host’un bir gateway olarak kullanılması gereken durumlarda, bu düzenleme pek
yaygın değildir çünkü host kullanıcı uygulamalarını ve gateway
fonksiyonlarını çalıştıracak kaynaklara sahip olmayabilir. Şekil 3-8(d) LAN yapılarını açıklamak için de kullanılabilir. Bu yapı, bir
ofis içerisinde birden fazla LAN birbirlerine bağlanarak kullanıldığında
görülür. 128.1 ağı Ethernet topolojisinde ve 128.2 ağı token-ring
topolojisinde olan ağlardır. Şekil 3-8(e)’de bir gateway iki Ethernet-tipi
ağı birbirlerine bağlamaktadır. Bu yaklaşım da oldukça yaygındır. Dikkat
edilirse Şekil 3-8(d) ve 3-8(e)’de ağlar bulutsuz çizilmiştir. Son olarak, Şekil 3-8(f)’de çeşitli ağ bulutlarını görüyoruz. Bir internet
kullanıcısı açısından, dış bulut kullanıcının hayali ağını gösterir.
Kullanıcısı verisinin, dört ağı (128.1, 11.1, 11.2 ve 128.2) ve üç gateway’i
(A, B, ve C) geçerek varış noktasına ulaşabileceği gerçeği kullanıcıyı
ilgilendirmez. Tartışmalarımızda tüm internetworking fonksiyonları için gateway terimini
kullanmaktayız. Daha sonra bu tanım, genişletilerek gateway, router ve
köprüler ek olarak tanıtılacaktır. |