Alper Konuralp

Kartınızı Oluşturun
Google+
Follow @alperkonuralp

4. Haberleşme Protokolleri

Günümüzde dünyanın herhangi bir yerinde bir bilgisayar bir başka noktadaki bilgisayarla haberleşebilmektedir. Farklı firmalar tarafından üretilen, üzerlerinde farklı işletim sistemlerinin çalıştığı bu bilgisayarların anlaşabilmeleri ve birbirleriyle haberleşebilmeleri bazı kurallar sayesinde olmaktadır. İşte haberleşme protokolleri, aradaki anlaşmayı sağlayan kural setleridir. Bu bölümde Internet’in protokolü olarakta bilinen TCP/IP ile PPP ve NetBIOS gibi bazı popüler protokoller anlatılacaktır.

4.1 TCP/IP

TCP/IP (Transmission Control Protocol/Internet Protocol) İletişim kontrol protokolü/Internet protokolü) aslında bir protokoller bütünüdür. İsmini bütün içindeki iki popüler protokolden (TCP ve IP) almıştır. Internet’in protokolü olan TCP/IP Internet yayıldıkça daha popüler olmaya başladı. Fakat TCP/IP protokolünün önem kazanmasının asıl sebepleri şu şekilde özetlenebilir.

     a) Ücretsiz olarak, herhangi bir bilgisayar donanım ve işletim sisteminden bağımsız olarak geliştirilen açık bir standart olması. Bu özellik TCP/IP’nin çok fazla desteklenmesini ve Internet bağlantısı olmasa bile farklı donanım ve yazılım bağlantısında kullanılmasını sağlamıştır.

     b) Özel bir network bağlantısı gerektirmemesi. Yani TCP/IP Ethernet, Token Ring ağlarda veya dial-up, X.25 bağlantılarda kullanılabileceği gibi hemen her tür ağ ortamında kullanılabilir.

     c) Adresleme sistemi sayesinde herhangi bir bilgisayara verilen adresin bütün dünya üzerinde tek olması sağlanmıştır.

     d) Son olarak kullanıcı hizmetleri için geliştirilmiş yüksek seviyeli protokolleri barındırması TCP/IP’nin popülerliğini artırmıştır.

image011

Şekil 9. Verinin Katmanlar Arasında İletilmesi

TCP/IP’de OSI referans modelinde olduğu gibi katmanlardan oluşur. Bunlar en alt seviyeden başlamak üzere fiziksel katman (ağ erişim katmanı)-(Network Access Layer), yönlendirme katmanı (Internet Layer), taşıma katmanı (Host-to-host transport layer) ve uygulama katmanıdır. (Aplication Layer). Veriler ağ üzerinde iletilmeden önce en üstteki katmandan en alttaki katmana aktarılırlar. Bu aktarma aşamasında her katman verinin önüne başlık dediğimiz bir kısım ekler. Veriler ağ üzrerinden iletilip karşı noktaya ulaştıklarında bu sefer en alt seviyedeki katmandan en üst noktadaki katmana kadar giden bir yol izlerler. Bu esnada her katman kendi başlığını verilerden ayırır ve uygulama katmanında sadece veri kalır. Şekil-9’da verilerin katmanlar arasında izlediği yol görülüyor.

TCP/IP protokolünde veriler yani paketler her katmanda farklı bir isim alır. Fakat bu isimlendirme yapılırken taşıma katmanında kullanılan protokol dikkate alınır. TCP/IP protokolü kullanıldığında farklı UDP kullanıldığında farklı isimler verilir. Şekil-10’da bu isimlendirme görülüyor.

image012

     Şekil 10. Verinin Kullanılan Protokole Göre Katmanlarda Aldığı İsimler 

Bu isimlendirmede en önemli olan yönlendirme katmanındaki (IP layer) datagramlardır. Paket anahtarlamalı bir ağ yapısında IP, bağlantısız (connectionless) iletim yöntemini kullanmaktadır. Burada veriler datagramlar dizisi halinde bir noktada diğerine iletilir. Yani büyük bir veri önce datagramlara bölünür, bu datagramlar ağ üzerinde iletilir (bağlantısız yöntem kullanıldığı için farklı yolları izleyerek ve karışık sırada varış noktasına ulaşırlar) ve karşı noktada tekrar sıraya dizilerek birleştirilir. Fakat kaybolan datagramların tekrar gönderilmesi ve sıraya dizme işlemi üst seviyedeki protokollerce yapılır. Burada datagram ve paket kavramına açıklık getirmek yararlı olabilir; TCP/IP ile ilgili kavramlarda datagram daha doğru bir teminolojidir. Çünkü, datagram TCP/IP’de iletişim için kullanılan birim bilgi miktarıdır. Paket ise ağ alt yapısına (Ethernet, X.25, vs.) göre değişen bir büyüklüktür. Fiziksel ortamda paketlerin büyüklükleri ve nasıl taşınacağı ile IP katmanı ilgilenmez.

Şimdi alt-seviyeden başlayarak katmanlara ve her katmanda eklenen başlıklara bakalım. Örnekler verilirken daha çok UNIX sistemleri dikkate alınmıştır.

4.1.1 TCP/IP Protokol Katmanları

Ağ Erişim Katmanı (Network Access Layer)

TCP/IP’nin en düşük seviyedeki bu katmanı IP datagramların iletilebilmesi için ağın nasıl kullanılabileceğini tanımlar. Üst seviyedeki katmanlardan farklı olarak ağ yapısının detaylarını (adres yapısı, kullanılan paketler vs.) bilmek zorundadır. Bu katman TCP/IP kullanıcıları arasında pek fazla bilinmez. TCP, UDP ve IP gibi protokollerin gölgesinde kalmıştır. Bunun sebebi aslında değişik ağ yapılarında (Ethernet, X.25 vs) farklı protokollerin kullanılmasıdır. Dolayısıyla teknoloji geliştiştikçe ve yeni ağ yapıları bulundukça bu katmanda kullanılacak protokollerinde geliştirilmesi gerekir. Temel olarak bu katmanda yapılanlar IP datagramların ağ üzerinde iletilebilecek şekilde paketlere çevrilmesi ve IP adreslerinin o ağda kullanılan fiziksel adreslere çevrilmesidir. Örnek olarak Ethernet bir ağ kullanıldığı zaman IP adresleri Ethernet adreslerine ARP (Address Resolution Protocol) protokolü ile Ethernet adresleri de IP adreslerine RARP (Reverse Address Resolution Protocol) protokolü ile çevrilir.

Yönlendirme Katmanı (Internet Layer)

Bu katmanda yer alan Internet Protokolü (IP) TCP/IP’nin en önemli protokolüdür. Bütün veri akışı bu katman üzerinden olur. IP’nin fonksiyonlarını kısaca özetlemek gerekirse:

·    Internet üzerinde temel veri iletim birimi olan datagramı tanımlar

·    Internet’in adresleme yapısını tanımlar

·    Verilerin ağ erişim katmanı ile taşıma katmanı arasında iletilmesini sağlar

·    Datagramların ağ üzerinde yönlendirilmesini yapar

·    Datagramların gerektiği durumlarda daha ufak parçalara bölünmesini ve birleştirilmesini sağlar.

IP protokolü hata kontrolü (error detection) ve kaybolan datagramların tespiti işlemleri yapmaz. IP datagramları varış noktasına ulaşacak şekilde iletir, fakat karşı tarafın bunları alıp almadığını kontrol etmez. Kontrol işlemleri diğer katmanlar tarafından yapılır.

Paket anahtarlamalı bir ağda, paketler üzerlerindeki adres bilgisine göre iletilirler. Her paket birbirinden bağımsız olarak iletilir (işte burada bütün paketler aynı yolu takip ederler ve sırası ile iletilirlerse sanal devre (virtual-circuit) adı verilir. Fakat herbiri farklı yollardan, farklı sırada iletilirse (connectionless) bağlantısız olarak isimlendirilir). Datagram Internet Protokol’ünce tanımlanan paket formatıdır. Şekil 11’de görülebileceği gibi ilk 5 yada 6 32-bitlik bölüm başlık olarak isimlendirilir. Bu başlıkta bir üst-seviyedeki katmanın başlığı ve daha sonra asıl  bilgiler yer alır.

image013

Şekil-11 IP Datagram Formatı

Şekil 11’de 5 tane 32-bitlik bölüm (word) den oluşan başlık görülüyor. Altıncı word da istenildiği durumda kullanılabilir. Başlık uzunluğu değişebildiği için IHL (Internet Header Length) bu uzunluğu içerir.  Internet Protokolü Datagramları 5. word deki Varış Adresini kontrol ederek iletir. Yerel bir ağda paket doğrudan varış noktasına iletilebilir. Aksi halde farklı ağa gönderilmek üzere bir geçityoluna verilir. Geçityolları farklı fiziksel ağlar (Ethernet, Token Ring, …) arasında paket anahtarlama yaparlar. Hangi geçityolunun kullanılacağına dair karar verme işlemine yönlendirme (Routing) denir. IP her datagram için tek tek yönlendirme yapar. Burada yine bir konuya açıklık getirmek gerekirse bazı kaynaklarda daha önce gördüğümüz yönlendirici (router) cihazları fonksiyonları itibariyle geçityolu olarak isimlendirilir. Fakat geçityollarının kullanılan yere göre farklı anlamları vardır. Burada OSI referans modelinin en alttaki 3 katmanı kastediliyor.

Datagramlar varış noktasına ulaşmak için farklı fiziksel ağlardan geçtikçe o ağın iletebileceği paket büyüklüğüne göre parçalar ayrılabilir. Bu parçalar fragment olarak adlandırılır. Her ağın maksimum transmission unit (MTU) denilen yani maksimum iletilebilecek birim tanımlamaları vardır. Datagramlar bunlara uyacak şekilde bölünürler. Her fragmentin başına, ait olduğu datagramın başlığı eklenir. Fakat birleştirme esnesında sırayı bilmek ve fragmentin ait olduğu datagramı bulmak için tanımlama ve fragment offset kısımlarına gerekli bilgiler yazılır.

IP, datagramları bir üst katmanda hangi protokole geçileceğini 3. word’de protokol yazan kısmına bakarak karar verir.

Bu katmanda yer alan bir diğer önemli protokolde Internet Mesaj Kontrol Protokolüdür (ICMP, Internet Message Coontrol Protocol) bu protokol mesajlar gönderek aşağıdaki kontrolleri yapar.

Akış Kontrolü (Flow Control): Eğer datagram daha gerekli işlemler  yapılmadan hızlı bir şekilde geliyorsa varış makinası veya aradaki bir yönlendirici ICMP Source Quench Message’nı göndericiye iletir. Bu durumda kaynak makina geçici olarak datagram göndermeyi durdurur.

Ulaşılamayan makinaların tespiti: Eğer datagram başlığında geçen varış adresine ulaşamıyorsa problemi tespit eden sistem kaynak makinaya ICMP “Destination Unreachable” mesajını gönderir.

Yeni Yönlendirmelerin Tayini: Bu yönlendirici herhangi bir datagramın varış noktasına başka bir yönlendirici tarafından daha kolay iletilebileceğini anlarsa kaynak makinaya ICMP “Redirect” mesajı gönderir. Fakat bunun için kaynak makinanın iki yönlendiriciye de bağlı olması gerekir.

Uzaktaki Makinalar İçin Ulaşım Kontrolü: Bir bilgisayar uzaktaki bir sistemin IP protokolünün çalışıp çalışmadığını anlamak için ICMP “Echo” mesajı gönderir. Bu mesajı alan herhangi bir sistem aynı tür bir mesajla cevap verir. UNIX’te ping komutu bu mesajı kullanır.

Taşıma Katmanı (Host-to-host Transport Layer)

Bu katmanda da iki önemli protokol yer alır. İletişim Kontrol Protokolü (TCP Transmission Control Protocol) ve Kullanıcı Datagram Protokolü (UDP User Datagram Protocol)

UDP, uygulama programcılarının direk olarak datagram servisine ulaşmalarını sağlar. Bu sayede uygulamalar protokolden kaynaklanan gecikmeleri minumuma indirerek mesaj alıp gönderebilirler.

UDP güvenilir olmayan, bağlantısız bir protokoldür. Güvenilir olmaması protokolün içinde verilerin karşı noktaya ulaştığına dair kontrol yapılmamasındandır. Fakat protokolün daha hızlı olmasını sağlayan da bu özelliktir.

UDP’yi kullanmanın bazı sebepleri vardır. İletilecek veri miktarı azsa bu veriyi tekrar iletmek çoğu zaman bağlantı kurup güvenilir bir iletim yapmaktan daha kolay olmaktadır. Ayrıca soru-cevap şeklindeki uygulamalar içinde UDP iyi bir adaydır. Soruya gelen cevap sorunun karşı tarafa ulaştığına delildir. Cevap belli bir süre içinde alınamazsa soru tekrar gönderilir.

UDP mesaj başlığındaki port numaralarına göre bir üst katmanda hangi uygulamaya mesajı ileteceğine karar verir. Şekil-12’de UDP mesaj formatı görülüyor.

image014

Şekil 12. UDP Mesaj Formatı

 

TCP ise güvenilir veri iletimine ihtiyaç duyan uygulamalar tarafından kullanılır. Yaptığı kontrollerden ve veri iletiminden önce bağlantı kurması gerektiğinden TCP segmentlerinin formatı UDP paketlerine göre daha çok karışıktır. Şekil-13’de TCP Segment Formatı görülüyor.

image015

Şekil 13. TCP Segment Formatı

TCP’de veriler segmentler halinde iletilir. Segmentdeki kontrol toplamı verilerde hasar olup olmadığını anlamak içindir. Eğer hasar yoksa varış noktasındaki makina kaynak makinaya onay (Positive Acknowledgement) gönderir. Belli bir süre içinde onay gelmezse segment tekrar gönderilir.

TCP veri transferinden önce bağlantı ihtiyacı duyduğu için, ilk gönderilen segmentler bağlantı kurma amaçlıdır. Ancak el sıkışma (handshake) adı verilen bir yöntemle bağlantı kurulduktan sonra veri iletimi başlar. TCP segment başlığındaki sıra numarası sayesinde veriler akıp giden bir byte ırmağı gibi algılar yoksa birbirinden bağımsız paketler gibi görmez. Pencere denilen bir yöntem sayesinde TCP’de kontroller daha kolay yapılır ve tek tek her segment için onay gönderilmez. Mesela onay numarası 2000 ise bu 2000’e kadar gönderilen segmentlerin alındığını gösterir. Pencere bilgisi bir anda ne kadar bilginin gönderileceğini kontrol etmek için kullanılır. Pencere bilgisindeki değerden küçük olduğu sürece kaynak makinası her segment için beklemeden göndermeye devam eder.

TCP’de UDP’de olduğu gibi bir üst-seviyedeki katmanda hangi uygulamaya segmentleri geçireceğine başlıktaki portlara bakarak karar verir.

Uygulama Katmanı (Application Layer)

Bu katmanda TCP veya UDP protokolünü kullanan uygulamalar yer alır. Örnek vermek gerekirse;

     TELNET       :    ağ üzerinde uzak noktalardan login olmak için

     FTP           :    dosya transferi yapmak için

     SMTP        :    elektronik posta göndermek için

bir alt katmanda TCP’yi kullanan protokolerdir. Benzer şekilde;

     DNS : IP numaralarını makina isimlerine çevirmek için

     RIP   : ağ cihazları arasında yönlendirme bilgi alışverişi için

     NFS : ağ üzerinden dosyaların ortak kullanımı için

bir alt katmanda UDP’yi kullanan protokollere örnektir.

TCP/IP protokolünün daha iyi anlaşılması için bir örnek verelim. Bir makinadan ağ üzerindeki bir diğer makinaya TELNET kullanarak login olmak istedik. Bunun için şu anda çalıştığımız makina verinin başına daha alt seviyedeki katmanlara geçerken gerekli başlıkları ekler. Login olmak istediğimiz makinaya datagramlar IP başlığındaki varış adresine göre yönlendirilir. Burada o makina yine IP başlığına bakarak datagramları taşıma katmanında hangi protokole geçirmesi gerektiğini anlar. Başlığın protokol kısmında yazan 6 numarası UNIX ortamında TCP anlamına gelir. Bu bilgiler UNIX makinalarda /etc/protocols dosyasında görülebilir. Taşıma katmanında TCP protokolü varış port numarasına göre uygulama katmanında segmentleri hangi programın alacağına karar verir. Buradaki 23 numarası TELNET anlamındadır. Yine UNIX sisteminde /etc/services dosyası bu tür bilgiler içerir. Şekil-14’de bu uygulamalar görülebilir.

image016
Şekil 14. Datagaramın Katmanlarda İzlediği Yol

TCP/IP’yi özetlemek açısından Şekil-15’de katmanlar örnek protokollerle gösterilmiştir.

image017
Şekil 15. TCP/IP Katmanları ve Bazı Örnek Protokoller

4.1.2 IP Adresleri

Internet Protokolünde veriler makinalar arasında datagram halinde iletilir. Bu datagramların yönlendirilmeleri ve uygun makinaya iletilmesi ise datagram başlığının 5. word’ünde yer alan varış adresine göre yapılır. İşte bu 32 bitlik adresler IP adresi olarak isimlendirilir.

Bir IP adresi ağ ve makina bölümü olmak üzere iki bölüm içerir. Fakat bu bölümlerin uzunluğu sabit değildir. Kaç bitin ağ bölümünü ve kaç bitin makina bölümünü göstereceği adresin içinde yer aldığı sınıfa göre değişir. A sınıfı, B sınıfı ve C sınıfı olmak üzere üç çeşit adres sınıfı vardır. Adreslerin ilk birkaç bitine bakılarak hangi sınıfta olduğu anlaşılır. Bunun için şu kurallar izlenir:

    Bir IP adresin ilk biti “0” ise bu A sınıfı adrestir. İlk bit adres sınıfını sonraki 7 bit ağ bölümünü ve kalan 24 bit de makina bölümünü ifade eder. 7 bit dolayısıyla bütün dünyada 128′den az A sınıfı adres vardır fakat bir ağ milyonlarca makina içerir.

    Eğer ilk iki bit “10” ise bu B sınıfı bir adrestir. B sınıfı adreslerde ilk iki bit adres sınıfını sonraki 14 bit ağ bölümünü ve kalan 16 bit de makina bölümünü belirtir. Binlerce B sınıfı ağ vardır ve hepsi yine binlerce makina içerir.

    İlk üç bit “110” ise bu C sınıfı bir adrestir. İlk üç bit adres sınıfını sonraki 21 bit ağ bölümünü ve en sondaki 8 bit makina bölümünü oluşturur. Milyonlarca C sınıfı ağ vardır fakat her biri sadece 254 makina içerir.

Şimdiye kadar bitlerle ifade ettik. Fakat IP adresleri yazımı bu kadar karmaşık değildir. Bir IP adresi noktayla ayrılmış 4 sayı ile yazılır. Mesela 194.27.213.21 BİLGEM’deki “aviion” isimli makinanın adresidir. Burada her bir sayı 0 ile 255 arasında olabilir. Adres sınıflarına bir de bu şekilde bakarsak ilk sayısı 0 ile 126 arasındaki adresler A sınıfı, 128 ile 191 arasındakiler B sınıfı ve 192 ile 223 arasındakiler C sınıfıdır. 223′ün üzerindeki adresler D ve E sınıfı olarak ayrılmıştır. Fakat şu an kullanılmamaktadır. 127 ile başlayan adresler ise loopback olarak isimlendirilen özel bir adres için kullanılır.

Ayrıca IP adreslerinde 0 ve 255′in özel anlamları vardır. Makina kısmını belirten bütün bitler “0” olursa bu o ağı belirtir. Örneğin 194.27.213.0 C sınıfı bir adrestir ve BİLGEM için ayrılan bu adres BİLGEM’in ağını ifade eder. Bütün bitlerin 1 yapılması ile broadcast adres denilen o ağdaki bütün makinaları adreslemek için kullanılan adres oluşur. Mesela 194.27.213.255 BİLGEM ağındaki bütün makinaları ifade eder. Bu adrese gönderilen datagramlar o ağdaki bütün makinalara ulaştırılır.

Internet protokolü yönlendirme yaparken adreslerin ağ kısmını kullanır. Bütün adres ise, datagram, varış adresinin olduğu ağa ulaşınca ilgili makinaya bu datagramın iletilmesi için kullanılır.


4.1.3 Alt Ağlar (Subnets)

Bir önceki bölümde anlatılan IP adreslerinin sınıfları yani standart yapısı yerel olarak yeni sınıflara ayrılabilir. Herhangi bir adres sınıfında makina adresi için kullanılan bitlerin bazıları yeni ağ sınıfları oluşturmak için kullanılabilir. Bu şekilde o anki ağ sınıfının altında oluşturulan ağlara alt ağ (subnet) denir.

Alt ağlar topolojiden veya organizasyondan kaynaklanan güçlükleri ortadan kaldırmak için kullanılır. Bir organizasyon içinde ağ yöneticisi o organizasyona ait olan ağ adresini alt ağlara bölerek her bölüme kendi kontrollerinde olarak bir adres sınıfı verir. Bu şekilde büyük organizasyonlarda merkezde yer alan kimselerin yükü azalmış olur. Örneğin Bilkent Üniversite’sinde bu şekilde bir uygulama vardır. B sınıfı bir adres olan 139.179.0.0 alt ağlara bölünmüş ve üçüncü sayı artık makinayı değil ağı gösterir olmuştur. Bu sayede bütün adresleri verme yükü bilgisayar merkezi personelinden kalkmış ve fakülte ve bölümlerdeki yöneticilere devredilmiştir. Örneğin 139.179.97.0 numaralı ağ içinde makina adreslerini Fen Fakültesindeki yöneticiler vermektedir. Alt ağlar topolojik sınırlamaları yani donanımdan kaynaklanan mesafe sınırlamalarını ortadan kaldırmak içinde kullanılabilir. Mesela Ethernet bir ağ köprü ve tekrarlayıcılarla en fazla 5 segmente kadar büyütülebilir. Bu şekilde farklı Ethernet ağları birleştirmek için yönlendiricilere ihtiyaç duyulur. Fakat yönlendiricilerin kullanılabilmesi için her ağın adresinin farklı olması gerekir. Bu farklılık ise bir organizasyon içinde alt ağlarla oluşturulabilir.

Alt ağ oluşturmak için IP adreslerine uygulanan bir alt ağ maskesi oluşturulmalıdır. Bu maskede IP adresi gibi 32 bittir. Maske “1” ve “0” lardan oluşur. Herhangi bir IP adresi ile karşılaştırıldığında bir olan bitlere karşılık gelen bitler ağ adresini 0′a karşılık gelenler de o ağ içindeki makina adresini gösterir. Mesela 139.179.10.13 IP adresini 255.255.255.0 alt ağ maskesiyle karşılaştıralım. Adresi ve maskeyi bit olarak yazarsak;

139.179.10.13

10001011 10110011 00001010

00001101

255.255.255.0

11111111 11111111 11111111

00000000

 

Ağ numarası alanı

Bilgisayar numarası

 

görülebileceği gibi bu maske ile kullanıldığında 139.179.10.13 numarası 139.179.10 ağındaki 13 numaralı bilgisayarı ifade eder. Farklı subnet maskeleri ile ne gibi sonuçlar alınabileceğini örnek verirsek

IP adresi

Subnet Maskesi

Açıklama

128.66.12.1

255.255.255.0

128.66.12 subnetindeki 1. Bilgisayar

130.97.16.132

255.255.255.192

130.97.16.128 subnetindeki 4. Bilgisayar

192.178.16.66

255.255.255.192

192.178.16.64 subnetindeki 2. Bilgisayar

132.90.132.5

255.255.240.0

132.90.128 subnetindeki 4.5′inci bilgisayar

18.20.16.91

255.255.0.0

18.20 subnetindeki 16. 91′inci bilgisayar


4.2 NetBIOS ve NetBEUI

Özellikle Microsoft firmasının ürünlerinde kullandığı NetBIOS protolokü çok az bellek ihtiyacı duyan ve hızlı bir protokol olması dolayısıyla küçük ağlarda tercih edilebilir. Fakat NetBIOS, üzerinde çalıştığı ağ ortamına bağlı olduğu için yönlendirmeyi desteklemez bu da onu büyük ağ ortamlarında kullanışsız kılar. NetBIOS paketlerinin yönlendirilememesi (routing) bağımsız bir adres yapısının olmamasındandır. Tamamen üzerinde çalıştığı ağın adreslemesine bağlıdır, (örneğin 48 bitlik Ethernet adresleri) küçük fiziksel ağ parçalarıyla sınırlamasının sebebi budur. Fiziksel broadcast adreslere bağımlılığı seri bağlantılarda kullanılmasını da engeller. Örnek olarak Windows for Workgroups ağına yeni bir bilgisayarın eklenişini açıklarsak NetBIOS’un çalışması daha iyi anlaşılabilir.

Windows for Workgroups çalışmaya başladığında name registration paket denilen kendi ismini onaylatmak amacıyla broadcast (ağdaki bütün makinalara) bir paket gönderir. Bu pakette içinde makinayı tanımlayan NetBIOS ismi yer alır. Eğer ağ üzerinde başka bir bilgisayar bu ismi kullanıyorsa o da negative name registration response paketi (önerilen ismin o anda kullanımda olduğunu gösteren) yine broadcast olarak gösterilir. Fakat yeni eklenen bilgisayar olumsuz bir cevap almazsa önerdiği ismi kullanır. Bu isim o bilgisayarın adresi olmuştur. NetBIOS paketleri kaynak ve varış adresleri kısmında bu isimleri kullanır. Bu protokolün diğerlerinden ayrılmasını sağlayan en büyük özelliklerden birisi yeni bir bilgisayar eklendiğinde adres verme işleminin, merkezi bir isim sunucusunda (name server) kayıt edilmesine gerek olmadan, otomatik bir şekilde gerçekleşmesidir. Fakat bu çalışma şekli protokolün küçük ağlarla sınırlanmasına sebep olur.

NetBIOS’un bu zayıflıkları zaman içinde değişim geçirmesine sebep olmuş ve katmanlı bir protokol haline gelmiştir. NetBIOS denilince oluşan kavram karmaşasının bir sebebi de budur. Artık NetBIOS NBF (NetBIOS frame) protokolüne bağımlı değildir. TCP/IP’de dahil olmak üzere başka protokoller üzerinden çalışılabilir. Bunu NetBIOS mesajlarını TCP/IP datagramlarına ekleyerek yapar. Bunu sağlayan protokole NetBIOS over TCP/IP (NBT) denir. NBT, Microsoft tarafından Windows NT, Windows 95 ve Windows for Workgroups sistemlerinde ağ protokolü olarak kullanılmaktadır.

NBT protokolü b-node yapısına dayalıdır. Bir b-node (broadcast node) kendi ismini onaylatma ihtiyacı duyan veya başka bilgisayarların ismini öğrenmek isteyen bir bilgisayardır. Bunun için broadcast mesajlar kullanır. Fakat bu sefer broadcast mesajlar UDP mesajlar içinde IP broadcast adresler kullanılarak gönderilir. Microsoft bu durumda da devam eden broadcast bağımlılığını hafifletmek için biraz değiştirilmiş b-node yapısını kullanır. Burada LMHOSTS isimli bir dosya NetBIOS isimleri ile IP adreslerini içerir. Bu sayade her zaman broadcast mesaj yollamak gerekmez.

b-node yapısında broadcast mesajlar sadece isim tespiti için kullanılır yoksa normal bir mesaj hangi makina hedeflenmişse doğrudan o makinanın adresine gönderilebilir. Fakat NetBIOS paketleme IP datagramların içine koymak protokolü yavaşlattığı gibi daha kompleks yapmaktadır. NBT kullanan bir bilgisayar bir başka NBT kullanan bilgisayarla haberleşebilir fakat NBF kullananla haberleşemez.

Bugün Microsoft’un ağlar için geliştirdiği Windows NT işletim sistemi birçok haberleşme protokolünü destekler. Windows NT install edilirken bilgisayar üzerinde ağ içerisinde adaptör kartı tespit ederse otomatik olarak NetBEUI yüklenir. NetBEUI giriş bölümünde geçtiği gibi NetBIOS ın biraz geliştirilmiş halidir. Fakat NBT gibi katmanlı değildir. Eğer geniş alan bağlantıları düşünülüyorsa Windows NT üzerinde TCP/IP ve NBT için gerekli programlar da yüklenmelidir. NBT yüklenirken NetBIOS ismine, Workgroups ismine, scape ID denilen bir değere ve LMHOSTS dosyasının yerine ihtiyaç duyulur.

NetBIOS ismi NetBIOS ile haberleşen bilgisayarların birbirlerini adreslemelerini sağlayan isimdir. Bu isim 15 karakteri geçmemelidir.

Workgroup ismi bilgisayarlar arasında organizasyon sağlayan bir isimdir. Bu açıdan dosya sistemlerimde dizinlere benzetilebilir. Workgroup ismi ağ yöneticileri tarafından tanımlanır ve 15 karakteri geçmemelidir.

Üçüncü gerekli değer olan scope ID NBT’ye özgüdür. Buda 15 karakteri geçmeyen bir değerdir. Scope ID sayesinde bir TCP/IP ağ, parçalara bölünebilir. Bu bölünme mantıksal olmasına rağmen bilgisayarların birbirlerine erişimini sınırlar. Workgroup ismi hiyerarşik bir yapı oluştursa da erişim sınırlaması getirmez. Fakat iki bilgisayrın birbirlerinin kaynaklarına erişebilmesi için aynı scope ID’ye sahip olmaları gerekir.

Son olarak NBT ile gelen ve çözülmesi gereken bir problem NetBIOS isimlerinin IP adreslere çevrilmesidir. Bunun için UNIX’teki /etc/hosts dosyasına benzer bir dosya kullanılır LMHOSTS olarak adlandırılan bu dosyanın formatı da /etc/hosts ile hemen hemen aynıdır. Tek fark ise /etc/hosts ile TCP/IP makina isimleri IP adreslerine çevrilirken LMHOSTS ile NetBIOS isimleri IP adreslerine çevrilir.

4.3 PPP

TCP/IP protokol katmanlarından ağ erişim katmanı ile yönlendirme katmanı arasında kalan PPP protokolü modem ve telefon hatları kullanılarak uzak noktalardaki bilgisayar ve ağlar arasında bağlantı yapmamızı sağlar. PPP’nin çalışması için her iki noktadaki bilgisayar seri port üzerinden bir modeme bağlanmalıdır. Bu port üzerinden asenkron bir veri iletimi olur. Yapılan bağlantı türü ise dial-up bağlantıdır.

Önce dial-out ve dial-in kavramlarına bir açıklık getirirsek PPP’nin en çok kullanıldığı yer bir evden veya uzak noktadaki bir ofisten merkezdeki bir ağ sistemine ulaşmak içindir. Ağ sisteminde üzerine modem takılan bir makina sunucu görevi görür. Evinden ağ sistemine ulaşmak isteyen biri bilgisayarına bağlı olan modem arayıcılığıyla ağ sistemindeki bilgisayara bağlı modemin bağlı olduğu telefon numarasını çevirir. Bilgisayarın cevap vermesiyle bağlantı kurulur. Bu bağlantıda evden arama yapan bilgisayar dial-out makina, ağ üzerinde ona cevap veren makina da dial-in makinadır.

Dial-out makinalar için PPP konfigürasyonu farklı işletim sistemleri üzerinde pek fazla zahmet gerektirmeden yapılabilir. Fakat daha önemli ve zor olanı dial-in makinaların PPP konfigürasyonudur.

Bu bölümde kısaca UNIX işletim sistemi Solaris için PPP bağlantı türlerinden ve bağlantı kurulma esnasındaki işlemlerden bahsedilecek fakat konfigürasyon detaylarına girilmeyecektir.

Solaris işletim sistemi entire distribution şeklinde yüklendiği zaman PPP kullanacak bağlantı yapmak için gerekli yazılımlar da yüklenmiş olur. Soloris PPP kullanılarak yapılabilecek değişik bağlantı alternatifleri sunmaktadır. Örneğin:

    Farklı noktalardaki iki bilgisayar arasında bağlantı kurulabilir.

    Bir sunucu dial-in makinaya aynı anda sadece biri aktif olacak şekilde birden fazla makina bağlantı yapabilir.

    Ağ üzerinde yer alan iki makinanın bu şekilde bağlanmasıyla farklı iki ağ arasında bağlantı gerçekleştirilebilir.

    Bilgisayarlar arasında bu tür bir bağlantıyla sanal bir ağ oluşturulabilir.

 

Solaris üzerinde PPP ile ilgili yazılımlar ve konfigürasyon dosyaları Şekil-16 da gösterilmiştir.

image018

Şekil 16. Solaris PPP Yazılımları ve Konfigürasyon Dosyaları

 

Şimdi step step dial-out ve dial-in bağlantıda olanları anlatırsak bu programların görevleri daha iyi anlaşılacaktır. Bir kere konfigürasyonlar yapıldıktan sonra Solaris sistemlerinde kullanıcıların bağlantı kurmak için özel bir işlem yapmalarına gerek kalmaz. Farzedelimki dial-out makina hercai dial-in makinada leylak olsun. Hercai deki bir kullanıcı örneğin rlogin leylak yazdığı zaman şu olaylar gerçekleşir :

1.   rlogin verileri TCP/IP katmanlarında aşağı doğru gönderir.

2.   Sanal bir ağ arayüzü (ıpdn veya ıpdptpn) verileri IP paketleri halinde alır.

3.   Ağ arayüzü aspppd bağlantı yöneticis programa dial-out bağlantı isteği gönderir.

4.   Bağlantı yöneticisi

      a – Gelen bağlantı isteği ile ilgili konfigürasyon bilgisinin /etc/asppp.cf dosyasında olup olmadığına bakar.

      b – UUCP veri tabanı dosyalarına (/etc/uucp/systems, /etc/uucp/Devices, /etc/uucp/Dialers) modemlere bağlantı kuracağı sistemle ilgili bilgiler için bakar.

      c – Bağlantı kuracağı makinanın telefon numarasını çevir.

5.  Leylak ile fiziksel bağlantı kurulur.

6.  Bağlantı yöneticisi konfigürasyonu yaparak PPP’yi başlatır.

7.  Hercai ve leylaktaki PPP modülleri haberleşmeye başlar.

8.  Bağlantı yönetici hat üzerinde IP trafiğine izin verir.

Bu aşamalardam sonra bağlantı yöneticisi bağlantıyı izler ve belli bir süre veri transferi olmazsa, hat kapatılırsa ve hata oluşursa bağlantıyı koparır.

Bu esnada leylakta ise /usr/sbin/aspppls login programı çağrılır ve şu işlemler olur:

1.   aspppls login servisi /tmp/.asppp.fifo dosyası sayesinde bağlantı yöneticisi ile bağlantı kurar.

2.   Login servisi bağlantı yöneticisine hercainin login ismi gibi bilgiler sunar.

3.   Bağlantı yöneticisi bu login ismini kullanarak konfigürasyon dosyasında gerekli bilgileri bulur.

4.   Bağlantı yöneticisi konfigürasyonu yaparak PPP’yi başlatır.

5.   Her iki taraftaki PPP modülleri haberleşmeye başlar.

6.   Bağlantı yöneticisi hat üzerinde IP trafiğine izin verir.

Benzeri bir şekilde leylaktaki bağlantı yöneticisi hattı izler ve yukarıdaki gibi durumlarda bağlantıyı koparır.

Leave a Reply

İzmir Yazılım Grubu
Google Groups
Subscribe to İzmir Yazılım Grubu
Email:
Visit this group
Şubat 2012
Pts Sal Çar Per Cum Cts Paz
« Oca    
 12345
6789101112
13141516171819
20212223242526
272829  
Yeni Downloadlar
StatPress
Visits today: 13
Sahip oldugum diger adresler :
3dmaxtraining.info
3dmaxtrainings.com
3dmaxtrainings.info
adobelearning.info
adobelearnings.info
adobetrainings.com
adobetrainings.info
autocadbootcamp.info
autocadexams.info
autodesklearning.info
autodesklearnings.com
autodesklearnings.info
ciscotrainings.info
egepro.com
elonunbahcesi.com
elonunbahcesi.info
flashbootcamp.info
flashexams.com
flashexams.info
konuralp.biz
konuralp.org
mayatutorial.info
mayatutorials.info
microsoftexams.info
microsofttrainings.info
proege.com
sharepointlearning.info
sharepointlearnings.com
sharepointlearnings.info
sharepointtutorial.info
silverlightbootcamp.info
silverlightlearning.info
silverlightlearnings.info
silverlighttraining.info
silverlighttrainings.com
silverlighttrainings.info
silverlighttutorial.info
silverlighttutorials.info
sirasende.info
urunbul.info
yagmurca.com
yagmurca.info