TCP SEQUENCE, ACKNOWLEDGEMENT, WINDOWING

Merhaba arkadaşlar,
Herkese şimdiden iyi yıllar. Yılın son yazısını yazıyorum... Çok çalışmam gereken bir yıla merhaba diyeceğim...
Neyse çok fazla lakırdı etmeden inceden derdimi anlatmaya başlayayım...Bu akşamki konumuz TCP...
TCP; OSI Modelimizin Transport katmanının iki büyük temsilcisinden biridir... TCP deyince aklımıza 3 önemli özelliği düşüverir;
1-) HEDEFE BAĞLANTI
2-) SIRA(SEQUENCE) NUMARALI PAKETLER
3-) GÜVENİRLİLİK

Aslında bakarsanız bu özelliklerin varlığı hissetdiğimiz uygulamalar ile hergün sarmaş oluyoruz.. Web sitesi çağırımları, dosya upload-downloadları gibi alışageldik bir çok işimizde bu protokol çakı gibi karşımıza çıkıyor...

Gelin biraz Hedefe Bağlantı özelliğinden konuşalım...

Aslında bu özellik bir çok yerde duyduğumuz three-way handshake... Bu süper üçlü geometri deki muhteşem üçlü veya 3 silahşörler (daha fazla bilgi için google da 3'ü taratın...) gibi orjinal bir olay.. Hedef ile sıcak temas kuruyoruz.. Şöyle ki..



Neler oluyor.. Gelin bir bakalım.. Öncelikle bağlantıya geçmek istediğimiz server'a bir tcp paketi yolluyoruz..Paketimiz 10 numara bir paket:D yani sequence numarası 10... bu paket serverımıza ulaşıyor ve cevap olarak seq 20,ack 11 numaralara sahip bir paket cevap olarak gidiyor.. Bu şu anlama geliyor.. ACK tarafında 11 denerek ben senin seq 10 numaralı paketini aldım ve şimdi 11 için hazırım.. Bizde durmuyoruz ve hemen seq 11 numaralı paketi sallıyoruz ileriye.. Karanlıkta kalan yerler var farkındayım.. Seq 20 de nerde çıktı? Bunu çifte takip gibi düşünebiliriz.. Orda server tarafında da 2.paket ile beraber başlamış oluyoruz.. Peki bu numaralar nerden çıktı? Ben uydurdum ama inanın bilgisayarda böyle yapıyor... Yani just make it up!!!!

Şimdi son olarak windowing'den bahsedelim..

Windowing kritik bir mevzuu ey Türk milleti... Kısaca şöyle diyelim.. Network işlemlerimizde birim zamanda ne kadar paket transferi yapabileceğimizin; gönderdiğimiz SEQ numaralarına göre aldığımız ACK nolu cevaplar ve bu cevaplara göre bir sonraki seferde göndereceğimiz paket sayısının buna göre ayarlanmasıdır. Waww!!
Süper bir olay bu... File Download:Time remaining 10 minute.. :D Sakın bu konu ile alakası olmasın şakacı.... Aynen dostlar windowing sayesinde birim zamanda kaç paket gönderceğimizi anlıyor ve buna göre hesap yapabiliyor ve dosyayı ne kadar sürede download edebileceğimizi tahmin edebiliyoruz.. Örneklersek; seq numaraları sırası ile 10,11,12,13 olan 4 paket yolladık.. Cevap olarak aldığımız son paketin ack numarası 13 bu durumda 3 paket hedefine ulaşmış 4.paket ulaşamamış.. 3 paket göndererek devam ediyoruz.. Bu konuyu bence biraz daha ayrıntılı araştırın..
Herkese iyi yıllar..

Yorumlar

Bu blogdaki popüler yayınlar

IONIC BAŞLANGIÇ

Cannot resolve the collation conflict between “Turkish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation

Golang working with interfaces and functions -3