मुझे लगता है कि स्केलेबिलिटी को रोकने वाले टीसीपी/आईपी का सबसे बड़ा हिस्सा यह है कि यह मूल रूप से खिड़की के आकार तक सभी आने वाले/आउटगोइंग कनेक्शनों पर एक बफर बनाए रखता है। तो अगर मेरे पास उच्च विलंबता है लेकिन उच्च थ्रूपुट क्लाइंट है, तो मैं बात कर रहा हूं, मुझे सभी भेजे गए पैकेट बफर में रखना होगा जब तक कि मुझे एक एक प्राप्त न हो जाए। तो कुछ कनेक्शनों के लिए यह ठीक है, लेकिन 100 के कनेक्शन को संभालने के लिए, यह समस्याग्रस्त ओवरहेड होना शुरू हो सकता है। प्राप्त होने वाले अंत में, यदि एक पैकेट गिरा दिया जाता है, तो फिर से यह आवश्यक सभी नए पैकेट बफर करेगा जब तक कि एक आवश्यक पुन: प्रेषित नहीं किया जाता है।
यदि आप रीट्रान्समिशन को लागू करने जा रहे हैं, तो आपको वही काम करने की आवश्यकता है, और इसलिए एक ही ओवरहेड होगा। हालांकि, यूडीपी आपको लाभ प्रदान करता है, अगर आपको एंड-टू-एंड लिंक गति पता है, या अगर कुछ संदेश ऑर्डर से बाहर किया जा सकता है, या कुछ संदेशों को रीट्रान्समिशन की आवश्यकता नहीं है।
पैकेट 1 = कदम 3 = चाल 2,2 करने के लिए 1,1 करने के लिए पैकेट 2 = शूट पैकेट
अधिकांश खेल डिजाइनर, अगर पैकेट 1 खो दिया है, लेकिन पैकेट 3 प्राप्त होता है: गेमिंग परिदृश्य रखते हुए , पैकेट 1 अब महत्वपूर्ण नहीं है क्योंकि इसमें किसी भी तरह की जानकारी शामिल है। हालांकि, आप यह चुन सकते हैं कि पैकेट 2 महत्वपूर्ण है, इसलिए यदि यह नक़्क़ाशी नहीं है, तो एक पुन: प्रेषण भेजें।
यदि आपको उच्च थ्रूपुट की आवश्यकता है, और 1000 एमबीपीएस ईथरनेट के साथ सीधे दो सर्वर कनेक्ट करें, तो टीसीपी/आईपी को स्केल करने के लिए थोड़ी देर लग जाएगी और अतिरिक्त ओवरहेड होगा, और संभवतः भीड़ से बचने के तंत्र के कारण एक वास्तविक गीगाबिट कनेक्शन प्राप्त नहीं होगा। हालांकि, आप जानते हैं कि यह 1 जीबीपीएस है, इसलिए आप अपने आप को 1 जीबीपीएस (शून्य ओवरहेड) तक प्रेषित करने के लिए यूडीपी स्थापित कर सकते हैं।
उत्तर देने के लिए आप सीधे प्रश्न पूछ रहे हैं: यदि आप हर पैकेट को किसी भी तरह से चाकने जा रहे हैं, तो यूडीपी रखने के लिए कोई बड़ा लाभ नहीं है, इसके अलावा आप कुछ संदेशों को संसाधित करने की प्रतीक्षा करते समय कुछ प्रक्रियाओं को संसाधित कर सकते हैं (जब तक आप चाहें इन-ऑर्डर डिलीवरी भी)।
यूडीपी खेल सर्वर के लिए के रूप में ज्यादा नहीं माना जाता है, मुख्य रूप से उपरोक्त परिदृश्य से बाहर है, और इस तरह के पहले व्यक्ति निशानेबाजों, जहां संदेश छोड़ा जा सकता है, और नया संदेश आने के लिए अमान्य हो जाएगी रूप में वास्तविक समय का मुकाबला प्रणाली गिरा वैसे भी संदेश। Warcraft की दुनिया टीसीपी का उपयोग कर, क्योंकि वे समय के साथ के रूप में सटीक होना करने के लिए की जरूरत नहीं है के साथ भाग प्राप्त कर सकते हैं, और संभावना कुछ अच्छे तर्क है कि यह कठिन बना देता है आप वैसे भी अंतर बताने में के लिए की है। युद्ध प्रणाली को बस गति की आवश्यकता नहीं है।
मैं यह भी दलील दूंगा कि कुछ औचित्य वर्षों से पहले हो रहा है, जब हर किसी के पास कम भरोसेमंद और धीमे इंटरनेट कनेक्शन थे। नेटवर्क साझा करने के लिए टीसीपी भी अधिक उदार है, इसलिए यदि बहुत कुछ चल रहा है, तो यह धीमा हो जाएगा ताकि सभी को कनेक्शन का हिस्सा मिल जाए (भीड़ से बचें)।
टीसीपी/आईपी एक प्रोटोकॉल है जो अनुसंधान के वर्षों से कहीं अधिक स्मार्ट लोगों द्वारा डिजाइन किया गया है। पिछले कई वर्षों में ट्यूनिंग ने इसे तेजी से और तेज औसत नेटवर्क गति के साथ बेहतर प्रदर्शन करने की अनुमति दी है, और उपयोग करने के लिए एक बड़ी समझ की आवश्यकता नहीं है।
हालांकि, इसे यूडीपी के साथ बदलकर, नेटवर्किंग की महत्वपूर्ण समझ की आवश्यकता होती है। मैंने बुरी तरह लिखित यूडीपी कार्यक्रमों को संतृप्त 1 जीबीपीएस लिंक देखा है और लिंक पर सभी ट्रैफिक को मार डाला है, क्योंकि उन्होंने एक बेवकूफ रीट्रान्समिशन एल्गोरिदम लागू किया है।
यहाँ सब टीसीपी की एक सूची है/आईपी अब चाहते हैं कि आप ढीला यूडीपी जाकर ऐसा कर सकते हैं: - आप के लिए आदेश आगमन में कर रहे हैं कार्यक्रम - पुनर्संचरण (अब फास्ट retransmit, चयनात्मक पावती, और अन्य सुविधाओं के साथ) - अधिकतम खंड आकार - पथ MTU डिस्कवरी - ब्लैक होल का पता लगाने (पथ MTU के विस्तार) - बाधा से बचाव
इस वजह से
, मैं अत्यधिक साथ टीसीपी/आईपी चिपके की सलाह देते हैं तो यह सूट आप की जरूरत है कर रहे हैं ।
भी नहीं निट की पसंद करने के लिए है, लेकिन आप टीसीपी/आईपी पर इंटरनेट चल रहा है जा रहे हैं टिप्पणी गलत है, इंटरनेट routeable प्रोटोकॉल check them out here के तथ्य दर्जनों में हैं। मुझे लगता है कि आप वेब पेजों का जिक्र कर रहे थे और वेब सर्वर सभी टीसीपी/आईपी के शीर्ष पर चल रहे हैं। जो वेब के लिए फिर से बढ़िया है, जहां तक मनुष्य इंसानों को सही तरीके से दिखाए जाने तक देरी नहीं दिखाई देगा। टीसीपी/आईपी के लिए भी, उनकी कुछ चुनौती है कि टीसीपी/आईपी वेब के लिए आक्रामक नहीं है: Google thinks tcp/ip should be more aggressive by default
हाँ ... यह * गधे * दर्द में दर्द है जो मुझे सोचता रहता है। लेकिन मैं शोध रखता हूं ... – IAbstract
ठीक है, यह मुझे लगता है कि बलिदान में से एक है। यदि आप गेमिंग के लिए इसका उपयोग कर रहे हैं, हालांकि सर्वोत्तम अभ्यास यूडीपी हालांकि प्रतीत होता है। –
मुझे लगता है कि टीसीपी का उपयोग केवल गेम के लिए एक भयानक विचार है यदि आपका गेम "सर्वश्रेष्ठ प्रयास वितरण" के साथ अच्छा काम करता है। यदि आपका गेम संदेश ऑर्डरिंग पर निर्भर करता है, और ड्रॉप पैकेट को अनुमति नहीं देता है, तो टीसीपी आमतौर पर बहुत तेजी से समाप्त हो जाएगा (यूडीपी डेटाग्राम * इंटरनेट पर * हर समय * गिरा दिया जाता है)। क्वैक जैसे खेलों ने यूडीपी (और आईपीएक्स) को गेट-गो से इस्तेमाल किया, क्योंकि देर से पैकेट वैसे भी बेकार है। साम्राज्यों या सभ्यता की आयु जैसे खेल टीसीपी का इस्तेमाल करते थे, क्योंकि यह काफी विपरीत है - व्यक्तिगत संदेश अधिकतर बेकार होते हैं जब तक कि सभी पिछले संदेश आते हैं और संसाधित नहीं होते हैं। – Luaan