Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!
TCP bağlantılı (connection-oriented) ve güvenilir (reliable) bir protokoldür. Bağlantılı bir protokol olduğundan iki bilgisayar hemen iletişime geçmez. Önce aralarında bir oturum açarlar, birbirlerine bu oturum için kendi parametrelerini gönderirler. Eğer şartlar uygunsa iletişime başlarlar. Tıpkı telefon görüşmesinde "alo" demeden konuşmaya başlamamamız gibi.
Güvenilir olduğu için de gönderilen verinin akıbetinden endişe etmeye gerek yoktur. Çünkü TCP bir takım hata sezme ve düzeltme mekanizmalarıyla verinin kaybolmasına izin vermez.
TCP bir üst katmandan gelen veriyi transfere uygun hale gelebilmesi için belli uzunlukta segmentlere böler. Bu segmentlerin alıcı tarafta doğru sırayla alınması için her segmente bir sıra numarası verir. Böylece veri transferi sırasında kaybolan, yerine ulaşmayan ya da yanlış sırayla alınan paketler sorun oluşturmaz. Ayrıca karşı taraftaki alıcı bilgisayar, aldığı paketler için "tamam, veriyi tam olarak aldım" anlamında "acknowledged" (ACK) paketi göndermek zorundadır. Verinin gönderici bilgisayarla aynı olup olmadığı, bir tür algoritmayla hesaplanır. Algoritma sonuçları her iki tarafta da aynıysa veri bozulmadan gönderilmiş demektir. Paketi gönderen bilgisayar, ACK paketini belli bir süre içinde almazsa, ilgili paketi yeniden gönderir.
Veri akışının kontrolü "kayan pencereler" (sliding windows) denilen bir mekanizmayla sağlanır. Veriyi gönderen bilgisayar, gönderdiği her segment için karşı taraftan bir ACK biti beklemez. Belli sayıda segmenti topluca göndererek, gönderdiği bu sayı için bir onay bekler. Belli sayıdaki bu segment topluluğuna pencere (window) denir. Alıcı taraftaki bilgisayarın TCP katmanı, gönderici bilgisayarın TCP katmanına "benim pencere büyüklüğüm bu kadar, fazlasını gönderme" anlamında bir bilgi gönderir. Pencere büyüklüğü, bilgisayarın bir defa da alabileceği veri miktarını gösterir. Gönderici bilgisayar bu veri miktarı kadar veri göndermek zorundadır, fazla gönderirse alıcı tarafta dikkate alınmaz. İletişim sırasında pencere boyutunun karşılıklı anlaşmayla değişebildiğinden, bu olaya "kayan pencereler" adı verilir.
Bir bilgisayarın TCP üzerinden aynı anda birden fazla prosesi kullanabilmesi portlar yardımıyla sağlanır. Hem TCP, hem de UDP port-ları kullanır. Port numaraları 0 ile 65,536 arasında değişir. Mesela ftp 21. portu kullanırken, telnet 23 nolu portu kullanır. 0 ile 1024 arasındaki portlar bilinen portlar (well-known ports) olarak bilinir. Bu portların listesi RFC 1700'de verilmiştir. Kitabın sonundaki ekte bu listeyi bulabilirsiniz. Port numarasıyla birlikte IP adresine "soket numarası" denilir. TCP bağlantılar bu soketler üzerinden sağlanır. Bir uygulama kendi başına bir soket oluşturarak, karşı taraftaki bir uygulamanın soketine bağlanabilir. Windows NT/2000 ya da UNIX işletim sistemlerinin hangi portları kullandığını "netstat" komutuyla görebiliriz. Komut promtunda "netstat -na" yazarak veri gönderen ya da dinleme durumunda olan portlarımızı görebiliriz. Burada -a parametresi tüm (ali) portları gösterirken, -n parametresi nümerik (numerical) format-ta gösterir.
Güvenilir olduğu için de gönderilen verinin akıbetinden endişe etmeye gerek yoktur. Çünkü TCP bir takım hata sezme ve düzeltme mekanizmalarıyla verinin kaybolmasına izin vermez.
TCP bir üst katmandan gelen veriyi transfere uygun hale gelebilmesi için belli uzunlukta segmentlere böler. Bu segmentlerin alıcı tarafta doğru sırayla alınması için her segmente bir sıra numarası verir. Böylece veri transferi sırasında kaybolan, yerine ulaşmayan ya da yanlış sırayla alınan paketler sorun oluşturmaz. Ayrıca karşı taraftaki alıcı bilgisayar, aldığı paketler için "tamam, veriyi tam olarak aldım" anlamında "acknowledged" (ACK) paketi göndermek zorundadır. Verinin gönderici bilgisayarla aynı olup olmadığı, bir tür algoritmayla hesaplanır. Algoritma sonuçları her iki tarafta da aynıysa veri bozulmadan gönderilmiş demektir. Paketi gönderen bilgisayar, ACK paketini belli bir süre içinde almazsa, ilgili paketi yeniden gönderir.
Veri akışının kontrolü "kayan pencereler" (sliding windows) denilen bir mekanizmayla sağlanır. Veriyi gönderen bilgisayar, gönderdiği her segment için karşı taraftan bir ACK biti beklemez. Belli sayıda segmenti topluca göndererek, gönderdiği bu sayı için bir onay bekler. Belli sayıdaki bu segment topluluğuna pencere (window) denir. Alıcı taraftaki bilgisayarın TCP katmanı, gönderici bilgisayarın TCP katmanına "benim pencere büyüklüğüm bu kadar, fazlasını gönderme" anlamında bir bilgi gönderir. Pencere büyüklüğü, bilgisayarın bir defa da alabileceği veri miktarını gösterir. Gönderici bilgisayar bu veri miktarı kadar veri göndermek zorundadır, fazla gönderirse alıcı tarafta dikkate alınmaz. İletişim sırasında pencere boyutunun karşılıklı anlaşmayla değişebildiğinden, bu olaya "kayan pencereler" adı verilir.
Bir bilgisayarın TCP üzerinden aynı anda birden fazla prosesi kullanabilmesi portlar yardımıyla sağlanır. Hem TCP, hem de UDP port-ları kullanır. Port numaraları 0 ile 65,536 arasında değişir. Mesela ftp 21. portu kullanırken, telnet 23 nolu portu kullanır. 0 ile 1024 arasındaki portlar bilinen portlar (well-known ports) olarak bilinir. Bu portların listesi RFC 1700'de verilmiştir. Kitabın sonundaki ekte bu listeyi bulabilirsiniz. Port numarasıyla birlikte IP adresine "soket numarası" denilir. TCP bağlantılar bu soketler üzerinden sağlanır. Bir uygulama kendi başına bir soket oluşturarak, karşı taraftaki bir uygulamanın soketine bağlanabilir. Windows NT/2000 ya da UNIX işletim sistemlerinin hangi portları kullandığını "netstat" komutuyla görebiliriz. Komut promtunda "netstat -na" yazarak veri gönderen ya da dinleme durumunda olan portlarımızı görebiliriz. Burada -a parametresi tüm (ali) portları gösterirken, -n parametresi nümerik (numerical) format-ta gösterir.
