TCP / IP (Transmission Control Protocol - Internet Protokol)

TCP-IP (Transmission Control Protocol - Internet Protokol), internette, bilgisayarlar arası iletişimi sağlayan protokol grubudur. Bilgisayarlar arasında bilgi alışverişi IP paketleri aracılığıyla yapılır. Bilgisayar A, bilgisayar B ye göndermek istediği veriyi paketler halinde gönderir. Bu paketler içerisinde A' nın ve B' nin adresleri vardır. A'nın gönderdiği paketlere IP-Paketleri, A'nın adresine IP-Adresi denir. Gönderilen paketler, B'nin adresini taşıdığı için bilgisayar ağları arasında kullanılan Router lar aracılıyla doğru bilgisayara iletilir.

IP paketleri birbirinden bağımsız olarak gönderilir. B' nin görevi tüm IP paketlerini alıp, A' nin gönderdiği veriyi kazanmaktır. Gönderilen bazı IP paketleri B'ye ulaşmayabilir. Her paketin içinde, gönderilecek paket sayısı hakkında bilgi olduğu için, B, kaç tane IP paketi alması gerektiğini bilir. Eksik olan paketler A'dan tekrar istenir. TCP nin görevi, gönderilen IP paketlerini denetlemektir. TCP eksik olan paketleri tespit eder ve A tarafından tekrar gönderilmesi için gerekli işlemleri yapar.

Subnet tiplerini ve subnet içinde yer alacak bilgisayar miktarını tespit etmek amacıyla IP-numaraları A, B, C, D, E sınıflarına ayrilir. Burada A, B, C sınıfları incelenmiştir. Sınıflar arasında ayrım ilk 8 bit (byte) üzerinde yapılır. Sınıfların hangi adres alanlarına sahip olduklarını aşağıdaki tabloda yer alıyor. Sinif Sistem 1. byte 2. byte 3. byte 4. byte

A desimal dual 0-127 0xxx xxxx 0-255 xxxx xxxx 0-255 xxxx xxxx 0-255 xxxx xxxx
B 128-191 10xx xxxx 0-255 xxxx xxxx 0-255 xxxx xxxx 0-255 xxxx xxxx
C 192-223 110x xxxx 0-255 xxxx xxxx 0-255 xxxx xxxx 0-255 xxxx xxxx


Sinif A: 1.0.0.0 - 127.0.0.0 Net-id: İlk byte 0-127 rakamlarını verecek şekilde seçilir: 0000 0000 - 0111 1111 Host-id: Geri kalan 3 byte (24bit = 2^24 = 16777216) bilgisayar Host-id olarak kullanılır. A sınıf subnet sayısı: 1. byte tan 7 bit, 2^7= 128
A sınıfından subnetler teorik olarak 16777216 adet bilgisayar barındırabilirler. Bu kadar sayıda bilgisayarı bir subnet içinde barındırmak mümkün değildir. Ayrıca dünya çapında sadece 127 adet A sınıfı IP-numaraları verilebilir, daha doğrusu verildi ve A sınıfı IP-numaraları artık verilmiyor.

Sinif B: 128.0.0.0 - 191.255.0.0 Net-id: İlk iki byte 128.0-191.255 rakamlarını verecek şekilde seçilir: 1000 0000.0000 0000 - 1011 1111.1111 1111 Host-id: Geri kalan 2 byte (16bit = 2^16 = 65536) bilgisayar Host-id olarak kullanılır
B sınıf subnet sayısı: 1.byte tan 6, 2. byte tan 8, 2^14=16384

Sinif C: 192.0.0.0 - 223.255.255.0 Net-id: İlk üç byte 192.0.0-223.255.255 rakamlarını verecek şekilde seçilir: 1100 0000.0000 0000.0000 0000 - 1101 1111.1111 1111.1111 1111 Host-id: Geri kalan 1 byte (8bit = 256) bilgisayar Host-id olarak kullanılır.
C sınıf subnet sayısı: 1.byte tan 5, 2. byte tan 8, üçüncü byte tan 8, 2^21=2.097.152

Aritmetiksel olarak dünya çapında 128 + 16384 + 2.097.152 = 2.113.664 adet subnet oluşturulabilir. Bu subnetler kendi aralarında tekrar subnetlere ayrılabilir. Bu rakam cok büyük görünse de, aslında internetin son zamanlarda çok hızlı gelişmesinden dolayı, bos net-id kalmamıştır. Bu sebepten dolayı 1995 yılından beri IPv6 isminde bir adresleme üzerinde çalışılmaktadır. IPv6 16 byten oluşur. 16 byte = 128 bit = 2^128 = 3.402823669209e+38 . IPv6 su anda kullanılan IPv4 standartına uygun şekilde tasarlanmaktadır. Bu yüzden iki standartı paralel çalıstırmak mümkün hale gelecek. Belli bir zaman sonra, tamamiyle IPv6 sistemine gecilmis olacak.

Aktarım Kontrol Protokolü [Transmission Control Protokol (TCP)]
TCP, IP ’nin bir üst katmanında çalışan iki aktarım katmanı protokolünden birisidir. TCP, güvenilir ve sanal devre üzerinden çalışan bir protokoldür. Aynı ağ üzerinde ya da farklı ağlar üzerinde iki hostun birbirleriyle güvenilir bir şekilde haberleşmesini sağlar. TCP ‘nin başlıca özellikleri şunlardır:

■Bir bağlantının (connection) kurulması ve sonlandırılması
■Güvenilir (Reliable) paket dağıtımının sağlanması

■Akış kontrolü (flow control) olanağı ile hostlarda veri taşmasının (overflow) önlenmesi

■Bozulmuş ya da ikilenmiş verinin düzeltilmesi (error recovery)

■Alıcı host içerisinden birçok uygulama arasında demultiplexing yapılması
TCP istemci host üzerinde çalışan bazı uygulama katmanı protokolleri:

■TELNET

■Dosya Aktarım Protokolü [File Transfer Protocol (FTP)]

■Temel Posta Aktarım Protokolü [Simple Mail Transfer Protocol (SMTP)] TCP, IP' den hizmet alan bir protokoldür. IP, TCP' nin sağladığı olanaklarla güvenli veri dağıtımı yapar. IP ‘nin TCP' ye sağladığı ana hizmetler şunlardır.

■Farklı ağlar üzerindeki kaynak ve hedef istasyonların adreslenmesi
■İnternet üzerinde veri paketlerinin yönlendirilmesi
■Ağlar arasında küçük boyutlu paketleri iletebilen ağlarda daha sonra birleştirilmek üzere paket parçalama (fragmentation) fonksiyonunun yerine getirilmesi

■IP paketinin protokol numarasına bakarak bu paketleri üst katmana yönlendirme işinin yapılması

■Yaşam Süresi [Time to Live (TTL)] alanına yerleştirilen değerle paketin internet üzerinde ömrünün sınırlandırılması
■Bir TCP Paketi Örneği TCP ‘nin Temel İşlevleri TCP ‘nin üzerinde çalıştığı farklı hostlar arasında güvenilirliğe sahip, bağlantı tabanlı paket dağıtımını sağlar.
TCP, internet ortamında şu işlevleri sağlar:

■Temel Veri Aktarımı (Basic Data Transfer)

■Güvenilirlik (Reliability)

■Uçtan Uca Akış Kontrolü (End to end flow control)

■Çoğullama (Multiplexing)

■Bağlantılar (connections)

■Tam Çift Yönlü İşlem (full duplex process)
Temel Veri Transferi (Basic Data Transfer): Haberleşen TCP hostlar üzerinde bu katmanlar arası segment aktarımı yoluyla haberleşme sağlanır. TCP veri akışını baytları sıralandırıp segment grupları halinde iletir. Eğer bir parçalama gerekliliği ortaya çıkmadıysa her segment bir IP paketine konarak iletilir. Güvenilirlik (Reliability): TCP, zarara uğramış, bozulmuş, ikilenmiş verinin doğru olarak elde edilmesinden sorumludur. TCP, her bir bayt ’a sıra numarası verir. Daha sonra ilettiği bu bayt ’lara karşılık onay (acknowledge) bekler. Eğer belirli aralıklarla beklediği onayları alamazsa onay alamadığı kısımları yeniden hedef hosta iletir. Hedef host sıra numaralarına göre segmentleri sıralarken aynı segment numarasına sahip iki segmentle karşılaşabilir. Her bir segment checksum denilen kontrol bilgileri içerir. Bu kontrol bilgilerine göre hasara uğramış segmentler anlaşılır ve atılır. Kaynak hosta onay gönderilmezse kaynak hosttaki TCP onay alamadığı segmentleri yeniden gönderir.

Uçtan Uca Akış Kontrolü (End to end flow control): Kaynak istasyondan hedefe iletilen veri miktarını kontrol eden bir mekanizmadır. Bu mekanizma pencere yönetimi (window management) tekniği ile sağlanır.

Çoğullama (Multiplexing): TCP üzerinde birden fazla eş zamanlı TCP bağlantı kurmakta kullanılır.

Bağlantılar (Connections): Bağlantı iki TCP hostun veri transferi için birbirlerinden haberdar olmaları ve gerekli hazırlıkları tamamlamış olmaları demektir. Bağlantı kurulumu için kaynak host hedef hosta bağlantı kurmak istediğini bildirir. Hedef host gelen istekteki port numarasına karşılık gelen hizmeti sağlıyorsa ve bağlantı için hazırsa bir cevap mesajı göndererek bağlantı işlemini başlatır. Bağlantı, kaynak ve hedef host arasında sanal bir devre oluşturulmasıyla kurulur. Bağlantı kurulup transfer gerçekleştirildikten sonra bağlantı koparılır. Haberleşme sırasında, her bir host üzerindeki TCP protokolü, sürekli hata kontrolü yaparlar. Eğer herhangi bir nedenle bir iletişim problemi ortaya çıkarsa, her iki uçtaki TCP yürütücüsü bu problemden haberdar olur ve üst katman protokollerini uyarırlar. Bağlantının kurulmasında TCP paketinin başlığı içindeki SYN (Sync) ve ACK (onay) bitlerini kullanılır.

TCP Yeniden-İletim Şeması Bağlantı kurulumunda bağlantı talebinde bulunan ve bağlantıyı kabul eden hostlar arasında iki farklı durum oluşur. Bağlantıyı kabul eden host pasif, bağlantı talebinde bulunan host aktif olur.
Tam çift yönlü işlem (Full Duplex Process): TCP işlemleri hem gönderim hem de alımın aynı anda yapılmasına olanak tanır. Bu da haberleşmenin daha hızlı olmasını sağlar.
Sıra Numarası (Sequence Number) TCP üst katmandan aldığı veriyi segmentlere böler. Bu segmentlerin herbiri genelde tek bir IP paketi içinde taşınır. Her bir segmente TCP bir numara verir. Amaç ağlar üzerinde dolaşan bu segmentlerin hedefe varış sıralarının karışması durumunda hedef hostta çalışan TCP yürütücüsünün bunları tekrar sıraya koyup üst katmana aktarmasıdır. (segment boyları sabit değildir) TCP, karşı TCP ile bağlantıyı ilk kurduğunda, ilk gönderdiği segmente bir numara verir ve daha sonraki segment numaraları sıralı olarak artan şekilde devam ettirir. Sıra numarası 0 – 231 arasında olabilmektedir. Çünkü TCP paketi veri yapısında sıra numarası 4 byte‘lık bir alanla ifade edilir TCP verideki bayt ’ları gruplayarak segmentleri oluşturur ve herbir segment ayrı bir numara ile numaralandırılır. Bir segment bir numara aldığında bu segment numarasını içinde barındırdığı ilk bayt ’a verir. Yine içinde barındırdığı diğer bayt ‘lara bu numaranın artanlarını verir. Bu segmentten sonra gelen segmentin alacağı numara, bir önceki segmentin içindeki en son bayt ‘ın aldığı numaranın bir fazlası olacaktır. Bu sıra numaraları TCP başlığı içinde taşınır.

■TCP/IP işlevleri
Temel veri transferi Segment aktarımı yoluyla haberleşilirken segmentlerin IP paketine konularak iletilmesi Güvenilirlik TCP zarara uğramış, bozulmuş, ikilenmiş verinin doğru olarak elde edilmesinden sorumludur. Herbir octet' e sıra numarası verilerek bir onay mekanizması çalıştırılır. Onay alınmayan kısımlar hedef hosta tekrar iletilir. TCP olumsuz geribildirim mekanizması kullanmaz. Uçtan uca akış kontrolü Hedefe iletilen veri miktarı kontrol tekniğidir. Çoğullama Aynı TCP host üzerinden birden fazla eş zamanlı bağlantı kurulması Bağlantılar Bağlantı iki TCP hostun haberleşmek için hazır olmaları demektir. İstek ve cevaptan oluşur. Bağlantı kaynak ve hedef host arasında sanal bir devre oluşturulması ile kurulmuştur. Transfer gerçekleştikten sonra bağlantı koparılır. Haberleşme esnasında sürekli hata kontrolü yapılır. Bağlantı kurulmasında TCP başlığı içerisinde SYN ve ACK bitleri kullanılır. Bağlantıyı kabul eden hostun durumu pasif bağlantı talebinde bulunan hostun durumu aktiftir. Tam çift yönlü işlem: Hem gönderim hemde alımın aynı anda yapılması işlemidir. Buda haberleşmeyi hızlandırır.
Sıra Numarası ( Sequence Number) TCP üst katmandan aldığı veriyi segmentlere böler. TCP her ser segmente bir numara verir. Bu ileride birleştirilmek için gereklidir. Sıra numarası TCP başlığı içinde taşınır.
Port TCP ve UDP üst protokollerle bağlantıda portları kullanır. TCP kendine gelen paket içerisindeki TCP başlığında yer alan hedef port numarasına bakarak ilgili veriyi bu port ile temsil edilen uygulamaya gönderir. Bu port numaraları hedef port numaraları olarak kullanılır. Hizmet alan uygulamaya port numarası hostun IP adresi ve hedef TCP port numarası göz önünde bulundurularak otomatik olarak o anda atanır. Pencere Yönetimi Pencere mekanizması karşı hosttan onay alınmadan önce TCP'nin bir çok segmenti en uygun şekilde iletmesini sağlar. Pencere kullanımı ile akış kontrolü de sağlanmış olur. Akış Kontrolü Son uçtan son uca akış kontrolü ile değişken boyutlu pencere uygulamaları geliştirilebilmektedir. TCP' nin güvenlik servislerinden biridir.
TCP Paket Formatı
Kaynak port: 16 bitlik kaynak port alanı bulunur.
Hedef port : Varış noktasındaki üst katman protokolünün portunu gösterir 16 bitliktir.
Sıra Numarası : 32 bitlik tir. TCP mesajı tekrar düzgün sırada oluşturmak için sıra numarasını kullanır.
Onay Numarası: Onay işlemi için kullanılır. Özel geribildirim mantığı kullanılarak band genişliğini etkin kullanmak için tasarlanmıştır.
Göreli veri adresi: 4 bitlik göreli veri adresi alanı, 32 bitlik TCP başlığındaki kelime sayısını gösterir.
Saklı: 8 bitlik alan reserve edilmiştir.
Bayrak: Denetim fonksiyonlarını sağlarlar

■URGent bayrağı, urgent pointer alanının geçerli olduğunu gösterir.

■ACKnowledgement bayrağı, onay alanının geçerli olduğunu gösterir.

■PuSH bayrağı gönderen TCPye gönderilecek veriyi hemen gönderilmesi için emir verir

■ReSeT bayrağı, bağlantıyı özellikle anormal durumlarda başlangıç durumuna getirir.

■SYNchronize bayrağı, gönderen ve alanın sanal bağlantı isteğinde bulundukları anlamını taşır.

■FINish bayrağı ,gönderenin daha fazla verisinin olmadığını belirler ve bağlantı koparılabilir.

■Pencere :16 bitliktir. Pencere alanı onay alanından, göndericinin iletmek istediği alana kadar iletilebilecek veri baytlarının sayısını verir. Hata kontrolü:
■16 bitlik bu alan veri transferinde başlığın bozulup bozulmadığını test eder.

■Acil göstergesi : 16 bitlik acil göstergesi paketin sıra numarasından hesaplanan göreli başlangıç değeridir. Bu alan veri içinde acil bilginin nerede bulunacağını belirtir.

■Seçenekler : Değişken değerli seçenekler alanı eğer varsa acil gösterge alanından sonra gelir.

Yorumlar

Bu blogdaki popüler yayınlar

Uzak Masaüstü Bağlantı Geçmişini Silmek

TERMINAL SERVICES UNLIMITED

Gpupdate Komutu