Ağ derslerinin değişmeyen konusu OSI referans modelidir.

OSI 7 katmandan oluşur. Ağ altyapısı OSI katmanları referans alınarak oluşturulur. Her katmanda haberleşmede kullanılan tüm protokoller, ağ bileşenlerinin belirli bir yeri vardır. Hal böyle olunca tüm katmanların sahip olduğu protokoller, cihazlar, yaptığı işler farklılık göstermektedir. İşte karşınızda, OSI’nin dördüncü katmanı olan taşıma katmanı.

Haberleşmede gidip gelen veriler her bir katmanda farklı isim alırlar. Taşıma katmanı için önemli olan şey segmentlerdir. Yani aldığı veriyi segmentlere böler. Ayrıca gelen segmentleri de birleştirip akışı devam ettirir.

“Haberleşmedeki veriler uygulama, sunum, oturum katmanlarında veri; taşıma katmanında segment; ağ katmanında paket; veri bağı katmanında çerçeve (frame); fiziksel katmanda ise bit adını alırlar.”

Taşıma katmanı için oldukça önemli olan başka bir şey ise portlardır. Veri bu katmana geldiğinde kullanılan protokole göre kapsüllemeye bir başlık eklenir. Bu katmanda ise kaynak ve hedef portlar başlığa eklenir.

“Kapsülleme, verinin başına ve sonuna birtakım adres ve kontrol bilgilerinin eklenmesi işlemidir. Bu işlem her katmanda yapılır. Katmanların görevlerine göre, çeşitli bilgiler yazılır. Örneğin ağ katmanında hedef ve kaynak ip adresleri yazılırken veri bağı katmanında hedef ve kaynak mac adresleri yazılır. Bunlar küçük örneklerdir.”

Aslında taşıma katmanının üç ana işlevi vardır;

  1. Çoğullama (Multiplexing)
  2. Segmentlere Ayırma (Segmentation)
  3. Yeniden Birleştirme Ve Hata Tespiti (error detection)

Taşıma katmanı istemci ve sunucu uygulamaları arasında verileri gönderir. Taşıma katmanı bunun için iki protokol kullanır.

TCP (TRANSMISSION CONTROL PROTOCOL)

TCP, taşıma katmanı protokolüdür. TCP başlığı 20 byte’tan oluşur.

TCP verilerin hedefe ulaşıp ulaşmadığını kontrol eden, güvenliğin göz ardı edilemeyeceği haberleşmelerde kullanılan bir protokoldür. RFC 793.

Teslimattan emin olmak için onaylı teslimat kullanır.(SYN,ACK) Segmentlere numara verir ve sıraya sokar. Ağda fazla paket oluşturur.

Connection Oriented: Bağlantı merkezlidir. Haberleşmenin başlaması için oturum oluşturur.

Reliable: Güvenlidir. Kayıp ya da bozuk veriyi tekrardan iletir.

Flow Control: Akış kontrolü sağlar. İletilen veri miktarını düzenler.

Stateful Protocol: Oturum açık olduğu sürece izler.

TCP PORTLARI

TCP portlarına geçmeden önce “port” kavramından bahsetmek gereklidir.

Bir sunucu olduğunu düşünelim. Bu sunucu web ve ftp hizmeti versin. İstemci, ilgili sunucudan bir web sitesi istediğinde sunucu bunun web sitesi isteği olduğunu nereden anlar? Web isteğinin sunucunun ilgili web portuna gelmesi gerekmektedir. Aslında portlar fiziksel ve mantıksal olarak ikiye ayrılırlar. Taşıma katmanında önemli olan şey mantıksal portlardır. Bunlara kapı da denir. Somut bir şey olarak düşünmeyin, bu kapılar tamamen mantıksaldır.

Varsayılanda http 80 portunu, ftp ise 20,21 portlarını kullanır. Sunucu hangi portuna istek geliyorsa bunun ne tür bir istek olduğunu anlar ve cevap verir.

Toplamda 65535 port bulunur. Bunlardan 0-1023 arası iyi bilinen portlardır. 1024-49151 arası ise özel kullanım için ayrılmış portlardır.

“Bir sunucuda varsayılanda http için 80. port ayrılmıştır ama istersek kendi yazdığımız bir uygulamayı 80. porta alabiliriz. Yani yer değişikliği yapılabilir.”

Ayrıca geçici ve kalıcı port kavramları da vardır.

Geçici portlar; istemci karşı taraftan bir şey talep ettiğinde ve geri dönen bilgileri (bu bir web sayfası olabilir.) almak için açılan portlardır. Bu portlar rastgele açılırlar ve iletişim bitince kapanırlar.

Kalıcı portlar; bir sunucuda sürekli hizmet veren ve numarası kolay kolay değişmeyen portlardır. (https:443 gibi) Sunucunun cevap verebilmesi için bu portlar sürekli açık kalmak zorundadır.

Görüldüğü gibi iki bilgisayarın sunucudan talepleri var. Birisi http, birisi smtp talebinde bulunuyor. Client 1’in isteği sunucunun 80. portuna giderken, diğerinin isteği sunucunun 25. portuna gidiyor. Request’te bulunan destination portlar, isteğin gitmesi gereken portlardır. Peki source (kaynak) portlar nedir? Demin bahsettiğimiz geçici portlardır. Bu iki bilgisayar da sorgu yapmak için rastgele port açtılar. Bu portlar iş bitince yani oturum sonlanınca kapanacaklar.

Yapılacak işe ya da protokole göre portlar da farklılık gösterir. Eğer haberleşmede güvenlik ve verinin bütünlüğü önemliyse TCP kullanılır; TCP’nin de özel olarak kullandığı portlar bulunur.

Bunlar bilinmesi gereken bazı port numaralarıdır. Görüldüğü gibi FTP, Telnet, SMTP, HTTPS gibi protokoller TCP kullanır. Bunlarda önemli olan güvenlik, veri hassasiyeti ve bütünlük gibi kriterlerdir. Peki TCP güvenlik için ne yapar?

3-WAY-HANDSHAKE (3 YOLLU EL SIKIŞMA)

TCP güvenliği sağlamak için haberleşmeyi başlatmadan önce üç paketin yollandığı bir anlaşma yapar. Buna 3 yollu el sıkışma denir.

Hedef cihazın etkin bir hizmete sahip olduğunu; işlemi başlatan istemcinin, oturum için kullanmak istediği hedef port numarasında isteği kabul ettiğini gösterir. İstemci, sunucuyu bu port numarasında iletişim oturumu kurmak istediği konusunda bilgilendirir.

1 numarada bir SYN paketi gönderilir. A bilgisayarı B’ye iletişim kurmak istediğini söyler. B ise 2 numarada geriye SYN ve ACK paketi gönderir. Burada B iletişimi kabul ettiğini ve A’nın da onunla iletişim kurup kurmayacağını sorar.(İstemciden sunucuya iletişim.) 3 numarada ise A iletişim kurmayı kabul eder. Ve ACK paketi yollar. Böylece TCP oturumu başlar. Oturum sonlanana kadar arada gidip gelen paketler ACK paketleridir. TCP’de oturumun başlaması için 3 paket gerekmektedir.

Haberleşme bitince oturumun sonlandırılması gerekmektedir. Oturumu sonlandırmak için 1 numarada istemci sunucuya oturumu sonlandırmak istediğini söyler. Bunun için FIN paketi yollar. 2 numarada sunucu bunu kabul ettiğini ve onun da oturumu sonlandırmak istediğini söyler. Bunun için bir ACK paketi bir de FIN paketi gönderir. İstemci sunucuya ACK paketi yollayarak bunu onaylar. Ve böylece oturumun kapatılması 4 paket ile gerçekleşir. TCP oturumunun açılıp sonlandırılması için 7 paket gereklidir. Bu da haberleşmede gereğinden fazla paket olacağı anlamına gelir.

UDP (USER DATAGRAM PROTOCOL)

Bir başka taşıma katmanı protokolü ise UDP’dir. RFC 768.

Bu protokol güvenliğin göz ardı edilebileceği, hızın önemli olduğu ve sadece teslimat görevinin yapılacağı yerlerde kullanılır. Gerçek zamanlı uygulamalarda kullanılır. TCP’deki gibi 3 yollu el sıkışma mekanizması yoktur. Bu yüzden ağda yük yapmaz, sadece gerektiği kadar paket gider.

UDP başlığı 8 byte’tan oluşur.

“UDP, gerçek zamanlı uygulamalarda kullanılır. Mesela, sosyal paylaşım uygulamalarında canlı yayın açtığınızda aradaki iletişim UDP ile gerçekleştirilir. Çünkü orada önemli olan iletişimin anlık olarak sağlanmasıdır. Güvenliğe, arada kaybolan paketlerin tekrar gönderilmesine ihtiyaç yoktur.”

Bağlantısızdır: Haberleşmenin başlaması için oturuma gerek yoktur.
Unreliable: Güvenilir olmayan teslimat yapar.
Sıralamasız: Veri geldiği gibi iletilir, sıralama yapmaya gerek duymaz.
No Flow Control: Akış kontrolü yapmaz.
Stateless: Durumsuz protokoldür, izleme yapmaz.

Görüldüğü gibi DHCP, TFTP protokolleri UDP ile haberleşirler. Aslında bunun sebebi, bu protokollerde hızın önemli olmasıdır. Mesela DHCP’de bilgisayarın ip adresi alması için ekstra 7 paketin ağı meşgul etmesine gerek yoktur. Ya da ağ cihazınızın acil durumlarda uzaktaki işletim sistemini almak istemesi durumunda (TFTP) fazla pakete ihtiyaç yoktur.

MULTIPLEXING (KONUŞMA ÇOĞULLAMA)

Bilgisayarınızda aynı anda kaç işlem yaptığınızı düşünün. Web tarayıcınızda birden fazla site açık, belki skype üzerinden görüşme yapıyorsunuz ve aynı zamanda mail gönderiyorsunuz. Bu işlerin aynı anda gerçekleşmesi için ihtiyacımız olan şey multiplexing işlemidir.

Multiplexing; aynı ip adresi üzerinden internete çıkış yapıp, istenilen birden fazla şeyin istemciye geri dönmesidir. Yani web sitesine bakmak, skype görüşmesi, outlook’da mailleşme işlemleri aslında internete aynı ip adresi (bilgisayarınızın ip adresi) üzerinden çıkar. Ama onları birbirinden ayıran özellikleri vardır, bilgisayarınızın hangi portundan çıktığı gibi. Bilgisayarınızdan çıkan her isteğin cevabı sizin açılmış geçici portunuza geri döner. Böylece aynı anda yaptığınız tüm web işlemleri birbirine karışmadan gerçekleşir.

Cevap Ver

Lütfen yorumunuzu yazınız!
Lütfen isminizi buraya giriniz