1.1 TCP/IP PROTOKOLLERİ, PORTLAR ve SERVİSLER
Diagramda TCP/IP protocol yığını tarafindan belirlenen ve çok yaygın olan protokollerden bazıları görülmektedir. TCP/IP referans modelinde, hangi uygulamanın ağ servisi istediğinden veya hangi taşıma katmanı servisinin kullanıldığından bağımsız olarak ağ katmanında tek bir ağ katmanı desteği verilir. Buda Internet Protocol olarak bilinen IP protokoludur.
Ağ katmanında bağlantısız bir servis olan IP, paketin ağlar arasında en iyi şekilde iletilmesi ve yönlendirilmesini sağlar. Veri paketleri birkez ağ katmanından taşıma katmanına gelince burada iki ayrı protokole göre işleme tabi tutulurlar. Bunlar bağlantılı bir servis olan TCP (Transmission Control Protocol) ve bağlantısız bir servis olan UDP dir (User Datagram Protocol).
.TCP, uç sistemlerdeki port numaralarını kullanarak uygulamalar arasında yapay-devre oluşturur. Karakteristikler özetlenirse,
.Bağlantılı bir servistir
.Güvenilirdir
.Giden mesajları segmentlere ayırırak gonderir
.Alıcı sistemde bunları numara sırasına göre sıraya dizer
.Alıcı sistem tarafından alınmayan segmentleri yeniden gönderir
.Gelen segmentlerden mesajları yeniden oluşturur
UDP, uç sistemler arasında veriyi güvenilir olmayan bir şekilde iletir. UDP’in karakteristikleri ise şöyle özetlenebilir,
·Bağlantısızdır
·Güvenilir değildir
·Mesajların kendisini iletir
·Mesajın dağıtılıp dağıtılmadığına ilişkin yazılımsal bir doğrulama yoktur (Güvenilmez)
·Gelen mesajları bir araya toparlayarak yeniden mesajı oluşturmaz
·Mesaj alındısı kullanmaz (No-Acknowledgement)
·Akış kontrolü yoktur (No-Windowing)
TCP/IP iki bireysel protokolün bir kombinasyonudur. Bağlantısız ve bir 3. Katman protokolü olan IP ki taşıdığı verinin ağ üzerinde en-iyi-dağıtım (Best-Effort-Delivery) servis desteğini veren ve bağlantılı ve güvenilirliğin yanında akış kontrolü sağlayan ve bir 4. Katman protokolü olan TCP bunu oluşturur. TCP ve UDP, bilgiyi üst katmanlara iletmek için port (yada socket) adı verilen servis erişim noktalarını kullanırlar. Port’lar eş zamanlı oluşan farklı dialogların izini takip edebilmek için kullanılır. Bu port numaraları RFC1700 ile belirlenmiştir. Bir çok TCP/IP ve UDP/IP servisi bu port numaraları ile tanınırlar. Port numaraları üç ayrı sınıfta toplanırlar, bunlar,
·Numarası 255 ‘in altında olan Portlar (Well-Known-Ports)
·Numarası 255 ile 1023 arasında bulunan ve ticari şirketlerin geliştirdiği uygulamalar için atanan Port Numaraları
·Numarası 1024 ve üzerinde bulunan ve herhangi bir düzenlemeye tabi tutulmamış Port Numaralarıdır.
Bazı portlar halka açık ve çok kullanılan uygulama programları için özellikle ayrılmıştır. Örneğin bir dosya aktarma protokolü olarak bilinen FTP standart olarak 21 nolu TCP portunu kullanır. Bu tür portlara İyi-Bilinen (Well-Known) Port numaraları denir. Port numaralarının bir kısmı ise şirketlerin geliştirdiği ticari yazılımlar için ayrılmıştır. Bu tür yazılımlara yukarıda belirlenen aralıktan rastgele olarak port numaraları atanabilir. Bazı TCP ve UDP port numaraları ise özel amaçlar için ayrılmış ve saklanmıştır. Uç sistemler port numaralarını uygun uygulamayı seçmek amacıyla kullanırlar. Kaynak port numaraları kaynak sistem tarafından dinamik olarak atanır ve 1024 ve üzerindeki port numaralarından seçilirler
TCP, veri aktarımından önce bağlantı temelli oturumu Üç-Yönlü Elsıkışma (Three Way Handshake) metodunu kullanarak açar ve her iki uç sistemde bağlantıyı eşzamanlı kılar. Veri transferi daha sonra başlatılır. Böylece üst katmanlara taşıma katmanı tarafından verilen bu servis sayesinde üst katman protokollerine ait olan veri (mesaj), sıralanmış, veri segmentleri birleştirilmiş ve mesaj haline getirilmiş olur. Veri daha sonra ilgili üst katman protokolüne, o protokol ile ilgili PORT numarısı uyarınca iletilir
TCP, eşzamanlama için Beklenimli onay adıda verilen (Expectational Acknowledgement) Pozitif Onaylama Yeniden İletim Sistemi kullanır. Yani uç sistemler gönderdikleri mesajlarda sıra numarası (sequence number) ve onay (acknowledgement) bilgilerini içeren alanlar kullanırlar. Bu sistem uç sistemlerin, üç yönlü elsıkışma esnasında başlatılan ve veri iletiminde de devam eden bir kontrol mekanizmasına dayanır. Sistemler birbirlerine gönderdikleri mesajı alıp almadıklarını kontrol etmek amacıyla verilen cevap mesajında, karşı tarafın kendisinden beklediği kendi sıra numarasını (sequence number) ve onay olarak gönderilmiş olan mesajın devamını niteleyen bir sonraki sıra numarasını (acknowledgement number) gönderirler.
Eğer, gönderilen mesajın karşı tarafa ulaştığı haberi zamanında geri gelmezse mesaj tekrar gönderilir. Eğer mesaj alıcı sistem tarafından zamanında alınmaz ise Pozitif Onaylama Yeniden iletim sistemi gereği mesaj yeniden istenir. Bunun için ise beklenilen ve henüz alınmamış verinin sıra (sequence) numarası onay mesajında belirtilir.
TCP, verinin güvenilir biçimde iletilmesinin yanında aynı zamanda veri iletimi için veri üzerinde akış kontrolüde gerçekleştirir. Akış kontrolü için Kayan Pencere (Sliding Window) sistemi kullanılır. Alıcı sistemler, her defasında mesajın devamını isterken göderecekleri onay üzerinde, karşı taraftan kendisine segmentleri kaçarlı gruplar halinde kabul edebileceğini belirten ve pencere boyutu olarak tanımlanan sayıyıda, gönderen sisteme bildirirler. Bu sayı alıcı sistemin tampon belleğinin o anki durumuna göre belirlenir ve dinamik olarak değişir.
Bu sistem düzgün çalışmasa yada kullanılmasaydı tampon bellek boşalması yada taşması gibi problemler oluşabileceğinden veri transferi etkin kılınamamış olacaktı.
UDP, TCP/IP protokol ailesinde ,bağlantısız bir veri iletim sistemidir. Datagramların değiş tokuş edilmesini sağlayan basit bir protokoldür. Pencere ve onay sistemi kullanmaz. Hata işleme ve yeniden iletim diğer protokoller tarafından gerçekleştirilmek zorundadır. Bu yüzden uygulama katmanı protokolleri bu görevleri yerine getirmek durumundadır.
UDP, mesajın segment sıra (sequence) numaraları kullanarak sıralanmasına ve/veya bu segmentlerden yeniden oluşturulmasına ihtiyaç duymayan uygulama katmanı protokolleri için geliştirilmiş bir protokoldür. Segmentlere ayırılması gerekmeyen büyüklükteki verilerin (mesajların) iletilmesi için ideal bir protokoldür. User Datagram Protocol’ü kullanan bazı uygulamalar arasında, TFTP, SNMP, DNS (zone transferleri için) sayılabilir.
1.2 MAC ve IP ADRESLERİ ve IP ADRES SINIFLARI
MAC (Media Access Control ) adresleri 48 bit uzunluğunda ve 12 hexadecimal dijit ile ifade edilen adreslerdir ve iki kısımdan oluşurlar. Yüksek anlamlı ilk 6 dijitlik ilk kısım IEEE tarafından idare edilir ve kart üretici firmalara dağıtılır. OUI (Organizational Unique Identifier), olarak adlandırılan bu kısım kart üreticisi firmayı temsil eder. Geri kalan 6 hex dijit, Interface Serial Number’ı ihtiva eder. Bu 6 dijitlik kısım firmanın kontrolünde üreteceği kartlar için firmanın belirlediği kurallar ile kullanılır. MAC adresleri, NIC kartın ROM’u üzerine yazıldığı için zaman zaman burned-in-address (BIAs) olarak da adlandırılırlar. Her bilgisayar kendisinin diğer bilgisayarlardan ayırt edilmesini sağlayan bir fiziksel yada donanım (Hardware) adresine sahiptir.Bu adreslere Medya Erişim Kontrol Adresleri (Media Access Control Adress) yada kısace MAC adresleri denir. İki ayrı NIC kartın ve dolayısı ile bunları kullanan bilgisayarların MAC adresleri aynı olamaz. MAC adreslerinin 0000.0c12.3456 ve 00-00-0c-12-34-56 olmak üzere iki çeşit gösterim şekli vardır.
Bir Ethernet ağında, herhangi bir cihaz ile veri alışverişinde bulunmak isteyen bir cihaz kendi ve hedef cihazın MAC adreslerini kullanarak bir iletişim yolu açar. Verinin ağ üzerindeki yolculuğu esnasında ağ üzerindeki diğer tüm cihazlar bu hedef MAC adreslerini kendi MAC adresleri ile kıyaslayarak verinin kendilerine gönderilip gönderilmediğini anlamaya çalışırlar. Kendilerine ulaşan frame üzerindeki hedef MAC adresi kendi MAC adresi ile uyuşmayan cihazlar bu frame’i kabul etmez gözardı ederler. Adres uyuşması durumunda hedef istasyon frame ‘in bir kopyasını alarak bunu üst katmana iletir.
MAC adresleri olmadan ağ üzerinde iletişim imkansızdır, bu adresler cihazların ağ üzerinde kendilerini belirlemelerini sağlar. Ancak bunların yanında herhangi bir hierarşik yada yapısallığa sahip olmaması nedeniyle ağlar arası iletişimi desteklemek için yetersizdirler. Bu yüzden MAC adresleme mekanizmasına düz adresleme (Flat Addressing) mekanizmasıda denir. MAC adresleri bir ülkede yaşayan insanlar için birer kimlik kartı gibi yorumlanabilir. Ancak bu kimlik kartları bir pasaport gibi uluslararası kabul belgeleri değildirler! MAC adresleri bir yerel ağ (Local Area Network) üzerindeki iletişimin düzgün kurulabilmesi için gerekli ve yeter şart iken yerel ağlar arası iletişim için bir mantıksal ağ adresleme (Logic Addressing) mekanizmasına ihtiyaç vardır. Bu adresleme mekanizmasının hierarşik bir yapıya sahip olması gerekir. Bu tür adresleme mekanizması ISO/OSI modelde Ağ katmanında TCP/IP modelde ise Internet katmanında belirlenir. Örnek olarak TCP/IP modelde IP (Internet Protocol) adresleri mantıksal adreslerdir. Nowell’in IPX’i, Digital Equipment Co.nun DecNet adresleri de diğer örnekler olarak verilebilir. Hierarşik adresleme mekanizmasına bir örnek de telefon numaraları verilebilir. Telefon numaralarındaki alan kodunu belirten ön-ekler (Prefix) santralleri, numaranın geri kalanı ise belirli bir santraldeki abone numarasını betimler. Bir telefona ulaşmak için, alan kodu birinci adımı ( First Hop) sonraki 3 dijit yerel santral numarasını yani ikinci adımı (Second Hop), son dijitler ise telefonun kendisini yani son adımı (Final Hop) belirler.
IP adresleri en yaygın ve popüler hierarşik adresleme uygulamasıdır. IP, Internetin kullandığı ağ protokolüdür ve yaygınlaşmasında çok büyük rol oynamıştır. Her IP paketinin başlık (Header) kısmında yer alan kaynak ve hedef adres alanları 32 bitlik alanlandır ve paketin ağ üzerinde yönlendirilebilmesi için yeterli bilgiye sahiptir. Paketi gönderen sistem, IP paketinin başlık kısmındaki kaynak adres bölümünü kendi IP adresi için, hedef adres kısmınıda ulaşmak istediği istasyonun IP adresini belirlemek için kullanır. IP adresleri 4 adet 8 bitlik octet adı verilen alandan oluşur. IP adreslerinin hierarşik yapısı, IP adreslerinin sınıflandırılmasından kaynaklanır. IP adresleri ağ ve sunucu (network ve host) alanı olmak üzere iki alandan oluşur. Sınıflandırma IP adreslerinin bu özelliğine göre gerçekleştirilmiştir.
IP adresleri American Registry for Internet Numbers (ARIN) tarafından organize edilir. Üç adet IP adres sınıfı vardır bunlar A, B ve C sınıfı adreslerdir. Bir IP adresi eğer,
·İkilik düzende yazıldığında ensoldaki bit 0 ise bu bir A sınıfı adrestir. Adresin ilk octeti ağ bölümünü sonraki üç octeti sunucu bölümünü ifade eder. Başka bir deyişle bir A sınıfı adreste, 7 bit ağ alanı ve 24 bit host alanı vardır. IP adres uzayı 0 ile 127 arasındadır. 127, 0 ile başlar ama özel amaçlar için kullanılmak amacıyla saklanmıştır.
·En sol 2 bit 10 ise bu bir B sınıfı adrestir. Ağ alanı ilk iki octet ten oluşur ve geri kalan 2 octet sunucu alanını tanımlar. 14 bitlik ağ ve 16 bitlik sunucu alanına sahiptir. IP uzayı 128 ile 191 arasındadır. 172.16.0.0 ile 172.31.255.255 arasındaki adresler özel adresler olarak ayrılmıştır (Private Address Space) ve internet üzerinde yönlendirilmezler.
·En sol üç bit 110 ise IP C sınıfıdır. Üç adet ağ ve bir adet sunucu alanı vardır. Ağ alanı 21 bit, sunucu alanı 8 bittir. Adres uzayı 192 ile başlar ve 223 ile biter. 192.168 ile başlayan adresler özel adreslerdir (Private Address Space) ve internet üzerinde yönlendirilmezler.
1.3 TCP/IP AĞ ADRESLERİ
IP adresleri her nekadar sınıflarına göre sunucu alanlarına sahip olsalarda bu alanlarının hepsini sunucuları adreslemek için kullanamazlar. Örneğin bir C sınıfı adres için 2^8 yani 256 adet sunucu adresi vardır ancak bunlardan 254-2 tanesi sunucuları yada ağ üzerindeki cihazları adreslemek için kullanılırlar. Kullanılamayan adreslerden biri ağ adresi (Network Address), diğeri ise ağ yayın adresidir (Broadcast Address). Bir ağ yada alt-ağ üzerinde bağlı olan tüm sunucular ve ağ cihazlarının sahip olduğu IP adreslerinin hepsi aynı ağ yada alt-ağ adresine sahiptir (Network yada Subnetwork adresi) . Bu ağ adresi ağın kendisinin ve ağdaki tüm cihazların diğer ağlar ve diğer ağlardaki cihazlardan ayırt edilebilmelerini sağlar. Ağ adresinin tanımlanabilmesi için IP adresinin yanında ağ maskesi adı verilen yine 32 bitten ve 4 octet ten oluşan bir adrese daha ihtiyaç vardır.
Ağ maskesi (Netmask) IP adresinin sınıfına göre belirlenir ve varsayılan ağ maskesi adını alır. Bir IP nin ağ maskesini (Netmask) belirlemek için iki durum göz önünde bulundurulmalıdır.
1.Ağ alt ağlara ayrılmamışsa ; bu durumda ağın ağ maskesi IP’nin ağ (Network Bitleri) alanlarını belirleyen bitlerin hepsinin 1 yapılması ile gerçekleştirilebilir. (örneğin 180.80.200.15 bir B sınıfı adrestir ve ağ maskesi 255.255.0.0 dır. Ağ adresi 180.80.0.0 dır, çünki ağ bitleri 16 adettir. Sunucu alanların bit alanı sayısı ise aynıdır)
2.Eğer alt ağlara bölünmüş ise (Subnetting) ; ağ alanları ile birlikte alt-ağ (Subnet bitleri) alanlarınında birlenmesi ile bulunabilir (örneğin 193.185.25.65 bir C sınıfı adrestir ağ maskesi ise 255.255.255.223 olarak belirlenmiş ise ağ adresi, 193.185.25.64 olarak karşımıza çıkar. Dikkat edilirse sunucu alanı olan son octet üzerinde üç bitlik alan alt-ağ yaratmak üzere sunucu alanından ödünç alınmıştır. Böylece 2^3 adet yani 8 tane alt ağ yaratılabilir ancak 8 – 2=6 adet alt-ağ kullanılabilir. Kullanılamayan ağlardan biri ana-ağın adresi le diğeri ise yine ana-ağın ağ yayın adresi ile çakışmaktadır. Sunucu alanı için geriye 5 bit kalır buda herbir alt ağ üzerinde 2^5 yani 32 adet IP adresi demektir ancak bunlardan 32-2=30 tanesi hostlar için kullanılabilir. Bu sefer, kullanılamayan IP adreslerinden biri ana-ağın adresi ile diğeri ise yine ana-ağın ağ yayın adresi ile çakışmaktadır.
1.3.1 Alt-Ağlara Ayırma Örneği
Ağ Ağ Ağ Sunucu
193 185 25 64 IP Adresi (Onluk Düzen)
11000001. 10111001. 00011001. 010 00000 IP Adresi (İkilik Düzen)
11111111. 11111111. 11111111. 111 00000 Alt-Ağ Maskesi
AND
11000001. 10111001. 00011001. 010 00000 Alt-Ağ Adresi
2^2 * 0 + 2^1 * 1 + 2^0 *0 = 2 ( IP adresi İkinci alt Alt ağ aittir)
Alt ağlar, sahip olunan ağ üzerinde yayın etki alanı (broadcast domain) kontrolü yapılabilmesi ve ağın daha etkin olarak kullanılabilmesi, yönetilmesi amacıyla yaratılırlar. Yayın etki alanları bir ağ katmanı cihazı olan router ile biribirinden ayrılabilir.
Ağlar arası iletişimde ağ yada alt-ağ adresleri router yardımıyla sağlanır. Bir router kendisine bağlanan her ağ üzerinde bir ağ arayüzüne (Network Interface yada Port) sahiptir. Bu arayüz o alt ağın adres uzayından bir mantıksal adres alır. Örneğin IP sözkonusu ise, router ın bu arayüzünün sahip olduğu adres, o ağ yada alt-ağdaki tüm ağ istasyonları için (hosts, network devices) varsayılan geçit adresi ismini alır (Default Gateway). Varsayılan geçit adresi istasyonların yerel olmayan iletişimin kurulabilmesi için gereklidir. Bu yüzden dış ağlara ve internete ulaşması istenen tüm istasyonlarda TCP/IP yapılandırılmasında belirtilebilir.
Ağ yayın adresleri ve alt-ağ yayın adresleri aynı ağ üzerindeki tüm istasyonlara aynı anda ulaşacak bir verinin iletilmesi için kullanılırlar (Broadcast). Ağ yayın adresi tüm sunucu bitlerinin “1” yapılması ile bulunabilir. Görülen örnekteki 2. alt-ağ için ağ yayın adresinin nasıl bulunduğu gösterilmiştir.
Ağ Ağ Ağ Alt-ağ Sunucu
11000001. 10111001. 00011001. 010 11111 2. Alt-Ağ Yayın Adresi
193. 185. 25. 95 2. Alt-Ağ Yayın Adresi
11000001. 10111001. 00011001. 010 00001 İlk Kullanılabilir Sunucu Adresi
193. 185. 25. 65
11000001. 10111001. 00011001. 010 11110 Son Kullanılabilir Sunucu Adresi
193. 185. 25. 94