जवाबों:
हम कहते हैं TCP segment
कि प्रोटोकॉल डेटा यूनिट है जिसमें एक टीसीपी हेडर और एक एप्लिकेशन डेटा टुकड़ा (पैकेट) होता है जो (ऊपरी) एप्लीकेशन लेयर से आता है। ट्रांसपोर्ट लेयर डेटा को आम तौर पर segment
नेटवर्क लेयर डेटा यूनिट के रूप में नामित किया जाता है, datagram
लेकिन जब हम यूडीपी का उपयोग ट्रांसपोर्ट लेयर प्रोटोकॉल के रूप में करते हैं UDP segment
, तो हम नहीं कहते हैं , इसके बजाय, हम कहते हैं UDP datagram
। मुझे लगता है कि यह इसलिए है क्योंकि हम यूडीपी डेटा यूनिट को विभाजित नहीं करते हैं (टीसीपी का उपयोग करते समय परिवहन परत में विभाजन किया जाता है)।
मूल TCP RFC इस तरह से फ़ज़ी है कि यह "सेगमेंट" शब्द का उपयोग कैसे करता है।
कुछ मामलों में, "सेगमेंट" शब्द का तात्पर्य केवल उस मौजूदा डेटा डेटा स्ट्रीम से है, जो प्रसारित हो रहा है, जो टीसीपी हेडर को बाहर करता है। उदाहरण के लिए, टीसीपी "अधिकतम सेगमेंट साइज" (एमएसएस) टीसीपी हेडर की गिनती नहीं करते हुए, इस संदेश में एप्लिकेशन डेटा का अधिकतम आकार है।
लेकिन अन्य मामलों में "सेगमेंट" शब्द में टीसीपी हेडर सहित पूरे टीसीपी संदेश शामिल हैं। वास्तव में कम से कम एक मामले में युक्ति में बिना किसी एप्लिकेशन डेटा (जैसे सादे ऐक्स) के टीसीपी सेगमेंट का उल्लेख है।
एक एकल संपूर्ण आईपी संदेश एक "डेटाग्राम" है।
मूल आईपी आरएफसी "पैकेट" के रूप में लिंक-लेयर संदेशों को संदर्भित करता है। छोटे पैकेट नेटवर्क पर पैकेट के आकार की सीमा में फिट होने के लिए आईपी डेटाग्राम को "टुकड़े" में तोड़ा जा सकता है।
IEEE 802.3 / ईथरनेट लिंक परत एक "पैकेट" के रूप में एकल सन्निहित भौतिक-परत संचरण को संदर्भित करता है। पैकेट के मैक डेटा-लिंक हिस्से को "फ्रेम" कहा जाता है। फ़्रेम गंतव्य मैक पते से शुरू होता है और फ़्रेम चेक अनुक्रम से समाप्त होता है। एक आईपी डेटाग्राम (या उसके टुकड़े) हो सकने वाले फ्रेम के हिस्से को "मैक क्लाइंट डेटा फ़ील्ड" कहा जाता है।
इसलिए, तकनीकी रूप से, "टीसीपी पैकेट" या "आईपी पैकेट" जैसी कोई चीज नहीं है। पैकेट आईपी के नीचे की परतों से शब्द हैं। टीसीपी में "सेगमेंट" है, और आईपी में "डेटाग्राम" है।
टीसीपी हेडर, जिसे "सेगमेंट हेडर" के रूप में भी जाना जाता है, और पेलोड, या डेटा, या "सेगमेंट डेटा" टीसीपी सेगमेंट को अलग-अलग आकार का बनाते हैं।
टीसीपी सेगमेंट को डेटाग्राम कहा जाता है। आमतौर पर, एक सेगमेंट या डेटाग्राम एक पैकेट है। जब डेटाग्राम या पैकेट को नेटवर्क लेयर द्वारा संसाधित किया जाता है, तो यह डेटा में IP हैडर जोड़ता है और यह IP पैकेट बन जाता है।
ट्रांसपोर्ट लेयर डेटा को सेगमेंट, डेटाग्राम या तथाकथित पैकेट जैसी छोटी इकाइयों में विभाजित करता है। लेकिन हम आमतौर पर उन्हें सेगमेंट के रूप में संदर्भित करते हैं।
tcp सेगमेंट केवल एक अवधारणा है, यह आईपी डीफ़्रेग्मेंट के साथ अलग है
जब आप डेटा भेजते हैं जो कि IP mtu से बड़ा होता है, तो इसे एक ip पैकेट में डाल दिया जाता है, लेकिन ip लेयर तब ip पैकेट को transmit ट्रांसमिट करने में बहुत लंबा लगता है, इसलिए यह बड़े पैकेट को कई टुकड़ों में विभाजित करेगा, उनमें से प्रत्येक का समान है पहचानकर्ता लेकिन अलग-अलग ऑफसेट और डेटा लंबाई के साथ। प्राप्त पक्ष सभी टुकड़ों को इकट्ठा करने के लिए जिम्मेदार है, सभी टुकड़ों को प्राप्त करने के बाद यह सभी टुकड़ों को एक पूरे आईपी पैकेट में फिर से इकट्ठा करेगा और इसे ऊपरी प्रोटोकॉल परत पर धकेल देगा।
लेकिन tcp लेयर का व्यवहार अलग होता है। जब आप एक डेटा भेजते हैं जो काफी बड़ा होता है, तो tcp लेयर डेटा को एक tcp पैकेट में नहीं डालेगी और फिर उन्हें टुकड़ों में विभाजित कर देगी (लेकिन ip do), यह कच्चे डेटा के एक हिस्से को एक tcp पैकेट में पुनः प्राप्त करता है और फिर पुश करता है। tcp पैकेट को ip लेयर में tcp पैकेट की लंबाई mss द्वारा निर्धारित किया जाता है, बाद में यह बाकी डेटा के दूसरे हिस्से को दूसरे tcp पैकेट में फिर से प्राप्त करेगा, और प्रक्रिया को तब तक दोहराएगा जब तक कि सभी डेटा ट्रांसमिट नहीं हो जाते।
अगर tcp mss का उपयोग नहीं करता है तो यह भयानक है। मान लें कि आप एक डेटा भेजते हैं जो mss से बड़ा है, इसे केवल एक tcp पैकेट में डाला जाएगा is डेटा छोटे टुकड़ों में विभाजित नहीं है क्योंकि ms का उपयोग नहीं किया जाता है that, tcp पैकेट ip mtu से बड़ा है, इसलिए ip tcp को विभाजित करेगा पैकेट टुकड़ों में। यदि कोई भी सामान खो जाता है, तो बेकार समय और बैंडवाथ के साथ tcp पैकेट फिर से संचारित होगा
ps: tcp_mss = ip_mtu - tcp_header
हेडर खंडों से नहीं बना होता है। एक हेडर हमेशा एक ही आकार का होता है और पूरा होना चाहिए। अन्यथा, पैकेट को डिकोड नहीं किया जा सकता था।
जिसे आप "सेगमेंट" के रूप में संदर्भित करते हैं वह संपूर्ण "पैकेट" है जो बाद में दूसरों के साथ टीसीपी स्ट्रीम में संयुक्त हो जाता है। देख:
ट्रांसमिशन कंट्रोल प्रोटोकॉल एक डेटा स्ट्रीम से डेटा को स्वीकार करता है, इसे खंडों में 'सेगमेंट' करता है, और टीसीपी सेगमेंट बनाते हुए एक टीसीपी हेडर जोड़ता है।
टीसीपी आवेदन परत से डेटा प्राप्त करता है और इस डेटा को कई डेटा-सेगमेंट में 'चॉप' करता है; एक जोड़ा टीसीपी हेडर के साथ मूल डेटा के टुकड़े। इस हेडर का एक हिस्सा एक अनुक्रम-संख्या है जो सभी प्राप्त खंडों (शून्य हेडर) को प्राप्त करने के लिए टीसीपी प्रोटोकॉल द्वारा उपयोग किया जाता है, जो सही क्रम में होता है और मूल डेटा को फिर से इकट्ठा करता है जो तब अनुप्रयोग परत पर स्थानांतरित होता है। ।
तो, आपके प्रश्न का उत्तर देने के लिए; 'टीसीपी पैकेट' शब्द वास्तव में मौजूद नहीं है। इसे 'सेगमेंट' कहा जाता है जिसमें हेडर और डेटा-सेक्शन होते हैं। हेडर में ही कई 'फ़ील्ड्स' होते हैं जो दूसरों के बीच होते हैं, एक क्रम संख्या, चेकसम और स्रोत- और गंतव्य पोर्ट नंबर।
जब आप डेटा को एक टीसीपी कनेक्शन के लिए भेजते हैं, तो आपके द्वारा भेजे गए डेटा की मात्रा एक पैकेट में कनेक्शन द्वारा अनुमत बाइट्स के अधिकतम आकार से अधिक हो सकती है। यह राशि "अधिकतम सेगमेंट साइज" (जिसे MSS भी कहा जाता है) दो टीसीपी एंड-पॉइंट (क्लाइंट और सर्वर) के बीच कनेक्शन समय पर "बातचीत" (1) है। OSI स्तर 4 प्रोटोकॉल टीसीपी बिखराव / इकट्ठा होने के लिए जिम्मेदार है। इसका अर्थ है कि आपकी डेटा स्ट्रीम छोटे भागों में विभाजित है (सेगमेंट कहा जाता है) और नेटवर्क के माध्यम से अलग से भेजा जाता है। दूसरी तरफ, टीसीपी परत को सही क्रम में पैकेट को फिर से इकट्ठा करने के लिए जिम्मेदार है, जैसे कि इसे भेजा गया था। कुछ भी नहीं बता सकता है कि प्रस्थान के समय खंड उसी क्रम में गंतव्य पर पहुंचेंगे। इसीलिए पैकेट भी गिने जाते हैं। अधिक, पैकेट को रिसीवर द्वारा एक-एक करके (2) अलग-अलग स्वीकार किया जाता है, लेकिन कुछ पैकेट खो सकते हैं। फिर पैकेट के गंतव्य से एमिटर तक कोई भी एसीके वापस नहीं किया जाएगा। तब एमिटर को इसे फिर से भेजना चाहिए (यह भी टीसीपी की भूमिका है)। कुछ समय बाद पैकेट को सही तरीके से प्राप्त किया जाता है, लेकिन एमिटर को एटर (खोया पैकेट फिर से) प्राप्त नहीं होता है। ऐसे मामले में, एमिटर इसे फिर से भेज देगा, लेकिन रिसीवर देखता है कि यह पहले ही इसे प्राप्त कर चुका है (यह एक डुप पैकेट है) और इसे खत्म कर दें, लेकिन प्रेषक को रेक पुनः भेजें।
थ्रूपुट को बेहतर बनाने के लिए एमिटर श्रृंखला में कई पैकेट भेज सकता है और अगले पैकेट को भेजने के लिए पिछली बार इंतजार नहीं करना होगा। यह टीसीपी प्रोटोकॉल का भी हिस्सा है और इसे स्लाइडिंग विंडो कहा जाता है। Ack के लिए लंबित भेजे गए पैकेट की संख्या सीमित है।
(1) तथ्यों में, कोई बातचीत नहीं है, प्रत्येक अंतिम बिंदु अधिकतम आकार बताता है जिससे वह निपटने में सक्षम है। इस मान में IP हैडर के 20 बाइट्स शामिल नहीं हैं, न ही TCP बडर के 20 बाइट्स। (2) कई पैकेट एक एकल ACK द्वारा भी स्वीकार किए जा सकते हैं।
ध्यान रखें कि डेटाग्राम एक आईपी नेटवर्क पर भेजे गए डेटा या यूडीपी जैसे कनेक्शन-कम प्रोटोकॉल का उपयोग कर रहे हैं। पैकेट टीसीपी जैसे एक संकेंद्रण-उन्मुख प्रोटोकॉल के लिए एनकैप्सुलेटेड डेटा है। सेक्शन टीसीपी पर भेजे गए डेटा स्ट्रीम के भाग हैं। W.Richard स्टीवंस "टीसीपी / आईपी सचित्र" देखें इस सभी सामान का कहीं बेहतर विवरण है।
इस तरह की चीजों के लिए "सामान्य" शब्द प्रोटोकॉल डेटा यूनिट, या पीडीयू है।
LAYER # - OSI NAME - COMMON PROTOCOL OR USE - PDU NAME
------- ------------ ---------------------- --------------------------
Layer 1 - Physical - Transceiver - bits, or a physical signal
Layer 2 - Datalink - Ethernet - frame
Layer 3 - Network - IP - packet
Layer 4 - Transport - TCP - segment
Layer 5 - Session - SIP - data, request, or response
Layer 6 - Presentation - Encryption/compression - data, request, or response
Layer 7 - Application - HTTP - data, request, or response
चीजों की तरह परत 4 और ऊपर से विशिष्ट प्रोटोकॉल के साथ धुंधला हो जाना (उदाहरण के लिए, आज तक मुझे कुछ भी नहीं पता है जो वास्तव में एक सत्र प्रोटोकॉल है, और वास्तव में एक आम "प्रस्तुति" प्रोटोकॉल जैसी कोई चीज नहीं है लेकिन यह बहुत सारे सॉफ्टवेयर / संचार ढेर में लगभग अलग परत है)।
साथ ही, जैसा कि पहले बताया गया है, इनमें से प्रत्येक पीडीयू का हेडर है जो उसके पेलोड , या डेटा से अलग है । शीर्ष लेख में डेटा और संभवतः दूसरे छोर पर सत्यापन के लिए एक चेकसम की जानकारी है।