चूंकि TCP एक कनेक्शन-उन्मुख प्रोटोकॉल है, इसलिए दो उपकरणों को संचार करने से पहले एक कनेक्शन स्थापित करना होगा। TCP अनुक्रम और पावती क्षेत्रों पर बातचीत करने और सत्र शुरू करने के लिए तीन-तरफ़ा हैंडशेक नामक एक प्रक्रिया का उपयोग करता है। यहाँ प्रक्रिया का एक चित्रमय प्रतिनिधित्व है:
जैसा कि नाम से ही स्पष्ट है, तीन तरह से हाथ मिलाने की प्रक्रिया में तीन चरण होते हैं:
- होस्ट A गंतव्य होस्ट पर TCP SYN पैकेट भेजकर कनेक्शन आरंभ करता है। पैकेट में यादृच्छिक अनुक्रम संख्या (जैसे 5432 ) होती है जो डेटा के लिए अनुक्रम संख्या की शुरुआत को चिह्नित करता है जो होस्ट ए संचारित करेगा।
- सर्वर पैकेट प्राप्त करता है और अपने स्वयं के अनुक्रम संख्या के साथ प्रतिक्रिया करता है। प्रतिक्रिया में पावती संख्या भी शामिल है, जो कि होस्ट ए का अनुक्रम संख्या 1 है (हमारे मामले में, जो कि 5433 होगी )।
- होस्ट ए सर्वर के पावती नंबर को भेजकर सर्वर की प्रतिक्रिया को स्वीकार करता है, जो कि सर्वर का अनुक्रम संख्या 1 है।
यहाँ शामिल संख्याओं के साथ एक और तस्वीर दी गई है:
डेटा ट्रांसमिशन प्रक्रिया समाप्त होने के बाद, TCP दो समापन बिंदुओं के बीच कनेक्शन को समाप्त कर देगा। यह चार-चरण की प्रक्रिया नीचे दी गई है:
- क्लाइंट अनुप्रयोग जो कनेक्शन को बंद करना चाहता है, वह फ़ाइनल (समाप्त) ध्वज के साथ एक TCP सेगमेंट को 1 पर सेट करता है।
- सर्वर TCP सेगमेंट प्राप्त करता है और ACK सेगमेंट के साथ इसे स्वीकार करता है।
- सर्वर कनेक्शन को समाप्त करने के लिए क्लाइंट को 1 के लिए सेट किए गए अंतिम ध्वज के साथ अपना TCP सेगमेंट भेजता है।
- क्लाइंट सर्वर के फिन सेगमेंट को स्वीकार करता है और कनेक्शन बंद कर देता है।