TCP/IP (Transmıssıon Control
Protocol/Internet Protocol)
TCP/IP’ nin Tarihçesi
TCP/IP nin kökenleri 1960 ların sonunda ve 1970 lerin
başlarında Amerikan savunma bakanlığına bağlı İleri Araştırma
Projeleri Ajansının (Advanced Research Projects Ağency,ARPA)
yürüttüğü paket anahtarlı ağ deneylerine kadar uzanır.
TCP/IP’nin yaratılmasını sağlayan proje , ABD deki
bilgisayarların bir felaket anında da ayakta kalabilmesini ,
birbirleriyle iletişimin devam etmesini amaçlıyordu. Amacına
fazlasıyla ulaştığı gibi interneti de ortaya çıkardı.
TCP/IP (Transmıssıon Control Protocol/Internet
Protocol)
TCP/IP, Transmission Control Protocol/Internet Protocol
ifadesinin kısaltılmasıdır. Türkçesi “İletim kontrol
protokolü/İnternet Protokolü” dür. Protokol belli bir işi
düzenleyen kurallar dizisi demektir. Örneğin devlet protokolü
devlet erkanının nerede duracağını, nasıl oturup kalkacağını
düzenler. Ağ protokolüde bilgisayarlar arası bağlantıyı,
iletişimi düzenliyor.
TCP/IP Unix dünyasının standart iletişim kuralıdır.
Aynı zamanda internetin de temeli olan Savunma Bakanlığı(ABD)
tarafından geliştirilmiştir. İnternet adresleri InterNIC
tarafından atanır. Eğer TCP/IP ağınız internete bağlı değilse
ve hiçbir zaman bağlanmayacaksa, geçerli herhangi bir adres
alanını kullanabilirsiniz. Ancak eğer ilerde bağlanma şansınız
varsa adres için başvurmanız gerekir.
Netware’in içinde TCP/IP desteği vardır ve tünelleme
olarak bilinen süreç ile bir TCP/IP ağda IPX çalıştırmanıza
imkan verir.
Tünelleme; IPX paketi bir TCP/IP önbilgi ve
artbilgiyle çevrelenir. Böylece paket IPX ağdan TCP/IP ağa,
oradan tekrar IPX ağa geri yöneltilebilir.
Artık çoğu işyerlerinin internete doğrudan bağlantısı
yoktur. Doğrudan bağlantı büyük bir güvenlik riski
doğurmaktadır.Genellikle “firewall” olarak bilinen iç
ağ ile internet arasında sadece izin verilen trafiğin olmasını
sağlayan bir sunucu veya yöneltici kullanırlar. Firewall
kullanıldığında iç ağ numaraları herhangibir geçerli adres
olmayabilir ve firewall yönelticinin ihtiyacı olan tek şey
“düzgün” yetkili bir internet numarasıdır.
Değişik tipte bilgisayarların bir arada çalışabilmelerini
garantilemek amacıyla programcılar programlarını bazı standart
protokolleri kullanarak yazarlar. Bu protokol, teknik bir terim
olarak işlerin nasıl yapılması gerektiğini tarif eden kurallar
bütünüdür. Örneğin, bir posta mesajı için hangi formatın
kullanılacağını tam olarak tarif eden bir protokol bulunmaktadır.
Tüm internet posta programları, mesaj gönderecekleri zaman bu
protokolü takip ederler.
TCP, gerçekte iki ayrı protokolden oluşur: TCP ve IP.
TCP/IP ikisinin beraber kullanıldığı zamanlarda genellikle tercih
edilir.
IP- Bu bölümde datagramlara bölünmüş bilgi
paketleri diğer bilgisayar ve ağlara yönlendirilir. Bu
datagramların herbiri IP’den bağımsız olarak düşünülür.
IP datagramın hedefine ulaşacağını garantilemez veya
herhangi iki datagramın aynı yolda alınacağıyla protokol
datagramların sıralandığı gibi gönderilmesini sağlamaz.
Bu protokolün basitliği ve her datagramın bağımsız
olması sebebiyle IP bir bağlantısız(connectionless
protocol) olarak düşünülür.
TCP- TCP, datalardan segmentleri düzenler ve
gönderilmesi için IP katmanına geçirir. Bu katmanda IP
katmanından alınan datagramlar tekrar sıralanır ve verinin
değişmiş olup olmadığı, hatasız geldiğinden emin olunur. TCP
veriyi ilettiğinde bir zamanlayıcı(timer) düzenler. Bir paket
uzak bir bilgisayara ulaştığında bir onay(acknowledment)
göndericiye ulaştırılır. Eğer onay ulaşmadan zamanlayıcının
süresi dolarsa paket tekrar transfer edilir.
Tüm pratik amaçlar için bir makinedeki TCP protokolü
uzak bilgisayarlara bağlantı kurmak için TCP protokolüyle
iletişim kurar.
TCP; bağlantı tabanlı
protokoldür(connection-oriented protocol). Bir uzak bilgisayarla
sanal bir dolaşım sağlamaya yarayan, port adı verilen başka
adresleri formlamayı kullanır. TCP Telnet gibi birden fazla
kullanıcı olduğunda aynı porttan çoklu işlemlere(Multiple
processes) izin verir.
TCP/IP; katmanlardan oluşan bir protokoller
kümesidir. Her katman değişik görevlere sahip olup altındaki ve
üstündeki katmanlar ile gerekli bilgi alışverişini sağlamakla
yükümlüdür.
TCP/IP katmanlarının tam olarak ne olduğu, nasıl
çalıştığı konusunda bir fikir sahibi olabilmek için bir örnek
üzerinde inceleme yapalım:
TCP/IP’nin kullanıldığı en önemli servislerden birisi
elektronik postadır (e-posta). E- posta servisi için bir uygulama
protokolü belirlenmiştir (SMTP). Bu protokol e- posta’nın bir
bilgisayardan başka bir bilgisayara nasıl iletileceğini belirler.
Yani e- postayı gönderen ve alan kişinin adreslerinin
belirlenmesi, mektup içeriğinin hazırlanması vs. gibi. Ancak
e-posta servisi bu mektubun bilgisayarlar arasında nasıl
iletileceği ile ilgilenmez, iki bilgisayar arasında bir iletişimin
olduğunu varsayarak mektubun yollanması görevini TCP ve IP
katmanlarına bırakır.
TCP katmanı komutların karşı tarafa ulaştırılmasından
sorumludur. Karşı tarafa ne yollandığı ve hatalı yollanan
mesajların tekrar yollanmasının kayıtlarını tutarak gerekli
kontrolleri yapar. Eğer gönderilecek mesaj bir kerede
gönderilemeyecek kadar büyük ise (Örnegin uzunca bir e-posta
gönderiliyorsa) TCP onu uygun boydaki segment’lere (TCP
katmanlarının iletişim için kullandıkları birim bilgi miktarı)
böler ve bu segment’lerin karşı tarafa doğru sırada, hatasız
olarak ulaşmalarını sağlar. İnternet üzerindeki tek servis
e-posta olmadığı için ve segment’lerin karşı tarafa hatasız
ulaştırılmasını sağlayan iletişim yöntemine tüm diğer
servisler de ihtiyaç duyduğu için TCP ayrı bir katman olarak
çalışmakta ve tüm diğer servisler onun üzerinde yer almaktadır.
Böylece yeni bir takım uygulamalar da daha kolay
geliştirilebilmektedir. Üst seviye uygulama protokollerinin TCP
katmanını çağırmaları gibi benzer şekilde TCP de IP katmanını
çağırmaktadır. Ayrıca bazı servisler TCP katmanına ihtiyaç
duymamakta ve bunlar direk olarak IP katmanı ile görüşmektedirler.
Böyle belirli görevler için belirli hazır yordamlar oluşturulması
ve protokol seviyeleri inşa edilmesi stratejisine ‘katmanlaşma’
adı verilir. Yukarda verilen örnekteki e- posta servisi (SMTP), TCP
ve IP ayrı katmanlardır ve her katman altındaki diğer katman ile
konuşmakta diğer bir deyişle onu çağırmakta ya da onun sunduğu
servisleri kullanmaktadır. En genel haliyle TCP/IP uygulamaları 4
ayrı katman kullanır. Bunlar:
...Bir uygulama protokolu, mesela e-posta
....Üst seviye uygulama protokollerinin gereksinim
duyduğu TCP gibi bir protokol katmanı
...IP katmanı. Gönderilen bilginin istenilen adrese
yollanmasını sağlar.
...Belirli bir fiziksel ortamı sağlayan protokol
katmanı. Örneğin Ethernet, seri hat, X.25 vs.
İnternet birbirine geçiş yolları (gateway) ile bağlanmış
çok sayıdaki bağımsız bilgisayar ağlarından oluşur ve buna
‘catenet model’ adi verilir. Kullanıcı bu ağlar üzerinde yer
alan herhangi bir bilgisayara ulaşmak isteyebilir. Bu işlem
esnasında kullanıcı farkına varmadan bilgiler, düzinelerce ağ
üzerinden geçiş yapıp varış yerine ulaşırlar. Bu kadar işlem
esnasında kullanıcının bilmesi gereken tek şey ulaşmak istediği
noktadaki bilgisayarın ‘Internet adresi’ dir. Bu adres toplam 32
bit uzunluğunda bir sayıdır. Fakat bu sayı 8 bitlik 4 ayrı
ondalık sayı şeklinde kullanılır (144.122.199.20 gibi). Bu 8
bitlik gruplara ‘octet’ ismi de verilir. Bu adres yapısı
genelde karşıdaki sistem hakkında bilgi de verir. Mesela 144.122
ODTU için verilmiş bir numaradır. ODTU üçüncü octet’i kampüs
içindeki birimlere dağıtmıştır. Örneğin, 144.122.199
bilgisayar merkezinde bulunan bir Ethernet ağda kullanılan bir
adrestir. Son octet ise bu Ethernete 254 tane bilgisayar bağlanmasına
izin verir (0 ve 255 bilgisayar adreslemesinde kullanılmayan özel
amaçlı adresler olduğu için 254 bilgisayar adreslenebilir).
IP bağlantısız “connectionless” ağ teknolojisini
kullanmaktadır ve bilgi “datagramlar” (TCP/IP temel bilgi birim
miktarı) dizisi halinde bir noktadan diğerine iletilir. Büyük bir
bilgi grubunun (büyük bir dosya veya e-posta gibi) parçaları olan
“datagram” ağ üzerinde tek başına yol alır. Mesela 15000
octet’lik bir kütük pek çok ağ tarafından bir kere de
iletilemeyecek kadar büyük olduğu için protokoller bunu 30
adet 500 octetlik datagramlara böler. Her datagram ağ
üzerinden tek tek yollanır ve bunlar karşı tarafta yine 15000
octetlik bir kütük olarak birleştirilir. Doğal olarak önce yola
çıkan bir datagram kendisinden sonra yola çıkan bir datagramdan
sonra karşıya varabilir veya ağ üzerinde oluşan bir hatadan
dolayı bazı datagramlar yolda kaybolabilir. Kaybolan veya yanlış
sırada ulaşan datagramların sıralanması veya hatalı gelenlerin
yeniden alınması hep üst seviye protokollerce yapılır. Bu arada
“paket” ve “datagram” kavramlarına bir açıklama getirmek
yararlı olabilir. TCP/IP ile ilgili kavramlarda “datagram” daha
doğru bir terminolojidir. Zira datagram TCP/IP’de iletişim için
kullanılan birim bilgi miktarıdır. Paket ise fiziksel ortamdan
(Ethernet, X.25 vs.) ortama değişen bir büyüklüktür. Mesela
X.25 ortamında datagramlar 128 byte’lık paketlere dönüştürülüp
fiziksel ortamda böyle taşınırlar ve bu işlemle IP seviyesi hiç
ilgilenmez. Dolayısıyla bir IP datagramı X.25 ortamında birden
çok paketler halinde taşınmış olur.
TCP/IP protokoller kümesidir. Her biri değişik işler
yapan bir yığın protokolden oluşur.
TCP/ IP kurulan bir bilgisayar ağında bilgisayarı üç
parametre ile tanımlarız.
1. Bilgisayar İsmi : Kullanıcı tarafından işletim
sistemi kurulurken bilgisayara verilen addır.
2. IP Adresi : 4 bölümden oluşan adrestir
xxx.xxx.xxx.xxx her bölüm 0-255 arasında değer alabilir.
3. Mac Adresi: bilgisayar ağ kartlarının ya da ağ
cihazlarının içine değiştirilemez bir şekilde yerleştirilmiş
bulunan bir adrestir. 0020AFF8E771 örneğinde olduğu gibi 16 lık
düzende (hexadecimal) rakamlardan oluşur. Mac adresi yerine donanım
adresleri ya da fiziksel adreste kullanılabilir.
Ağ üzerinde iletişimler aslında Mac adresleri ile
gerçekleşir. Çünkü IP adresleri TCP/IP protokolüne özeldir.
Başka protokolde , örneğin , Novell’in kullandığı IPX/SPX
protokolünde IP adresi diye birşey yoktur. Bütün protokollerde
değişmeyen tek şey MAC adresidir.
Her protokol kendine göre bir adresleme şeması kullanır
ama bu şemalarda yer alan adreslerin dönüp dolaşıp en altta MAC
adresine çevrilmesi gerekir.
TCP/IP’ nin Yapısı
TCP/IP Katmanları:
TCP/IP protokol kümesinin sahip olduğu mimari uygulama
programlarının bulunduğu katman sayılmaz ise 4 katmanlıdır.En
üstte uygulama programları vardır, altında ise iletişim işini
yapan programlar bulunur.
Uygulama katmanın altında sırasıyla ulaşım,
yönlendirme ve fiziksel katmanlar vardır. Ulaşım katmanında TCP
ve UDP protocolleri, yönlendirme katmanında IP ve ICMP protokolleri
tanımlıdır. Her katmanda birçok protokol vardır; ancak uygulama
programları tarafından istenen bir iş yerine getirilirken, her
katmandaki protokollerden yalnızca biri kullanılır.
Uygulama Katmanı Programları: Uygulama katmanı
için tanımlı olan STMP,TELNET… gibi protokoller bir üstünde
bulunan programlara hizmet verir. Bunlar, kullanıcının doğrudan
etkileşimde bulunduğu veya bilgisayar kaynaklarını başka
kullanıcılara erişme olanağı sağlayan programlardır.
STMP(Simple Mail Transport Protocol): Ağ içindeki
kullanıcılar arasındaki elektronik mektup alış verişini
düzenler.
SNMP(Simple Network Management Protokol): Ağ içinde
bulunan yönlendirici, anahtar ve HUB gibi cihazların yönetimi için
kullanılır. SNMP desteği olan ağ cihazları SNMP mesaj alış
verişleriyle uzaktan yönetilebilir. Bunun için cihazlarda SNMP
(agent) olmalıdır.
TELNET: Bir sistem üzerindeki başka bir sisteme
bağlanarak, sanki onun terminalindeymiş gibi bağlandığı sistemi
kullanmasını sağlar.
FTP (File Transfer Protocol): Bir Bilgisayardan başka
bir bilgisayara dosya aktarımı için kullanılan temel protokoldür.
FSP(File Send Protocol): Bu protokol FTP ‘ye
alternatif olarak geliştirilmiş. Tek üstün özelliği, bir dosya
transfer edilirken herhangi bir sorun olur da hat kesilirse yeni
bağlantıda dosyanın yarım kaldığı yerden alış- verişe devam
edilmesine olanak vermesi. Ancak hat hızları arttığından FSP’ye
çok fazla rağbet olmamamış. FTP daha çok kullnılmıştır.
NNTP (Netwok News Transpor Protocol): USENET
postalama hizmetinin kullanımını sağlar.
Ulaşım Katmanı Protokolü: TCP ve UDP ulaşım
katmanı protokolleri, bir üst katmandan gelen veriyi paketleyip bir
alt katmana verirler,. Eğer veri bir seferde gönderilemeyecek kadar
uzunsa, alt katmana verilmeden önce parçalara ayrılır (segment)
ve her birine bir sıra numarası verilir.Genellikle TCP kullanılır,
Sorgu amaçlı olarak da UDP kullanılır.
TCP(Transmission Control Protocol): Görevleri
şunlardır;
Bir üst katmandan gelen verinin uygun uzunlukta parçalara
bölünmesi;
Herbir parçaya, alıcı kısmında aynı biçimde sıraya
koyabilmesi amacıyla sıra numarası verilmesi;
Kaybolan veya bozuk gelen parçaları tekrarlaması;
TCP kendisine atanmış olan bu görevleri yapabilmek
amacıyla, ulaşım katmanında veri parçalarının önüne başlık
bilgisi ekler. Başlık bilgisi ve veri parçası, ikisi birlikte TCP
segmenti olarak anılır. Bir alt katmana örneğin, IP katmanına bu
TCP segmenti gönderilir; oradan da bu segmente IP başlığı
eklenerek alıcıya gönderilir.
UDP (User Datagram Protocol): UDP’nin farkı
sorgulama ve sınama amaçlı, küçük boyutlu verinin aktarılması
için olmasıdır; veri küçük boyutlu olduğu için parçalara
gerek duyulmaz. UDP, TCP’den kısadır. Fakat, bir kaynak ve hedef
adrese sahiptir.
Yönlendirme Katmanı Protokolleri: Bir üst
katmandan gelen segmentleri alıcıya, uygun yoldan ve hatasız
ulaşımla yükümlüdür.
IP(Internet Protokol): Bir datagramın hangi üst
katmana katmana ait olduğunu belirler. Alıcı IP bu alana bakarak
paketi bir üstte bulunan protokollerden hangisine ileteceğini
anlar.
ICMP (Internet Control Message Protokol): ICMP
kontrol amaçlı bir protokoldür; genel olarak sistemler arası
kontrol mesajları IP yerine ICMP üzerinden aktarılır. ICMP, IP
aynı düzeyde olmasına karşın aslında kendiside IP’yi
kullanır. ICMP mesajları IP üzerinden gönderilir.
0 yorum:
Yorum Gönder