- Temel Veri Aktarımı:
TCP, Genel Ağ sistemi üzerinden aktarım için bazı sayıları veribölütleri içinde sekizliler şeklinde paketleyen kullanıcılar arasında iki yönlü olarak sürekli bir sekizliler akımı olarak aktarabilir. Genelde, TCP verinin ne zaman durdurulacağına ve ne zaman bırakılacağına kendi kuralları dahilinde karar verir.
Bazen kullanıcılar gönderilmesi için TCP'ye teslim ettikleri verilerin tamamının iletildiğinden emin olmak isterler. İşte bu amaçla bir gitsin işlevi tanımlanmıştır. TCP'ye teslim edilmiş verinin gerçekten iletildiğinden emin olmak için gönderici tarafın bu verinin alıcı tarafa doğru itilmesi gerektiğini belirtmesi gerekir. Bir GİTsin, TCP'nin hemen bu noktada alıcıya verileri göndermesine ve teslim etmesine sebep olur. gitme noktası alıcı tarafa görünür olmayabileceği gibi gitsin işlevi bir kayıt sınırlama işaretçisi de sağlamaz.
- Güvenilirlik:
TCP'nin Genel Ağ iletişim sistemi tarafından hasar verilmiş, kaybedilmiş, yinelenmiş veya sırası değiştirilerek teslim edilmiş verileri kurtarması gerekir. Bunu sağlamak için aktarılacak her sekizliye alıcı TCP tarafından olumlu bir alındı (ALN) gönderilmesini gerektiren bir sıra numarası atanır. Eğer bir zamanaşımı süresi içinde ALN alınmazsa veri yeniden aktarılır. Alıcı tarafta bu sıra numarası gönderilen veribölütlerin doğru sıraya konması (veribölütleri karışık bir sırada gelmiş olabilir) ve gelen veribölütlerinin içinden yinelenmiş olanların ayıklanması için kulanılır. Aktarılan veribölütlerinde meydana gelen hasarı saptamak için her veribölütüne, alıcı tarafta sınanması ve bozuksa veribölütünün iptal edilebilmesi için bir sağlama özeti eklenir.
TCP'ler düzgün olarak işlediği sürece ve Genel Ağ sistemi tamamen parçalanmadıkça verinin düzgün teslimatını etkileyecek hiçbir aktarım hatası olmaz.
- Akış Denetimi:
TCP alıcıya gönderici tarafından gönderilmiş verinin miktarını yönetme imkanı da sağlar. Bunun için her ALN ile bir "pencere" döndürülür ve bu pencere son veribölütün başarıyla alındığını belirtmekten başka alıcıdan bir izin alınmasını gerektirmeden gönderilebilecek sekizlilerin sayısını belirten bir sıra numarası aralığı içerir.
- Çoğullama:
Tek bir konak içinde birden fazla sürecin TCP iletişim oluşumlarını aynı anda kullanabilmelerini mümkün kılmak için TCP her konağa bir takım adresler ve portlar sağlar. Genel Ağ iletişim katmanındaki ağ ve konak adreslerine kademeli eklenerek bu bir soketi şekillendirir. Bir bağlantı bir soket çifti gerektirdiğinden bir soket aynı anda çok sayıda bağlantıda kullanılabilir.
Süreçlerin portlara bağlanması her konak tarafından bağımsız olarak yürütülür. Yine de, sıklıkla kullanılan süreçleri (örn, bir günlük kayıtçısı veya zaman paylaşım hizmeti) herkesin bildiği hep aynı soketlere bağlamak kullanışlılık sağlar. Bu hizmetlere böylece bilinen adreslerden erişilebilir. Diğer süreçlerin port adreslerinin kurulması ve öğrenilmesi daha anlık mekanizmaların işe karışmasını gerektirebilir.
- Bağlantılar:
Yukarıda açıklanan güvenilirlik ve akış denetim mekanizmaları TCP'lerin her veri akımı için ilklendirilmesini ve belli bir durum bilgisinin sürekli sağlanmasını gerektirir. Soketleri, sıra numaralarını ve pencere boyutlarını da içererek bu bilgi bütününe bağlantı adı verilir. Her bağlantı her biri bir ucu belirten bir çift soket tarafından eşsiz olarak belirlenir.
İki süreç haberleşmek istediklerinde, kendi TCP'leri önce bir bağlantı oluşturmalıdır (her iki uçta da durum bilgileri ilklendirilmelidir). Haberleşme tamamlandığında, özkaynakları başkalarının kullanımı için serbest bırakmak için bağlantı sonlandırıldıktan sonra kapatılır.
Bağlantılar güvenilir olmayan makinalar arasında ve güvenilir olmayan Genel Ağ iletişim sistemi üzerinden yapılmak zorunda olunduğu için, bağlantıların hatalı ilklendirilmesinden kaçınmak için saate dayalı sıra numaraları ile bir uzlaşma mekanizması kulanılır.
- Öncelik ve Güvenlik:
TCP kullanıcıları iletişimlerinin önceliğini ve güvenliğini belirleyebilir. Gerekli önlemler bu özellikler gerekli olmadığında kullanılan öntanımlı değerler için alınır.