इंटरनेट पर सबसे बड़ा सुरक्षित यूडीपी पैकेट आकार क्या है


201

मैंने यूडीपी के पैकेट आकार के बारे में कई लेख पढ़े हैं लेकिन व्हाट्सएप पर एक निष्कर्ष पर आने में असमर्थ रहा है।

कई सेवाओं ने सबसे बड़े यूडीपी पैकेट को 512 बाइट्स (जैसे डीएनएस) तक सीमित कर दिया है

इंटरनेट पर न्यूनतम MTU को देखते हुए 576 है, और IPv4 हेडर का आकार 20 बाइट्स और UDP हेडर 8 बाइट्स है। यह उपयोगकर्ता डेटा के लिए उपलब्ध 548 बाइट्स को छोड़ देता है

क्या मैं पैकेट विखंडन के बिना 548 के आकार तक के पैकेट का उपयोग कर पाऊंगा? या क्या ऐसा कुछ है जिसके बारे में DNS के निर्माता जानते थे और इसीलिए उन्होंने इसे 512 बाइट तक सीमित कर दिया था।

क्या मैं 548 बाइट से भी अधिक सुरक्षित रूप से जा सकता था?


2
डुप्लिकेट, देखें stackoverflow.com/questions/900697/…
क्रिस

10
यह एक अलग सवाल है। मैं पूछ रहा हूं कि सबसे बड़ा पैकेट कौन सा है जो मैं इंटरनेट पर भेज सकता हूं (अन्य नेटवर्क के किसी भी ज्ञान के बिना, या जांच) जो विखंडन नहीं होने वाला है। अनिवार्य रूप से अधिकतम सुरक्षित आकार, जो कनेक्शन की जांच के बारे में चिंता किए बिना हमेशा काम करेगा।
केएम

2
आप विखंडन की संभावना को समाप्त नहीं कर सकते, लेकिन यह चीजों को कम सुरक्षित नहीं बनाता है। यदि एक टुकड़ा गिराया जाता है, तो यह उसी तरह है जैसे कि पूरा पैकेट गिरा दिया गया था, जो वैसे भी यूडीपी के साथ होता है। असुरक्षित तब होगा जब एक पैकेट न्यूनतम आकार से अधिक हो जो राउटर को समर्थन देने के लिए आवश्यक था, और इस प्रकार डिलिबल होने की गारंटी नहीं थी (बनाम वितरित होने की गारंटी)। यह वह जगह है जहाँ 512-बाइट का आंकड़ा आता है।
बीजोर

जवाबों:


129

यह सच है कि एक विशिष्ट IPv4 हेडर 20 बाइट्स है, और यूडीपी हेडर 8 बाइट्स है। हालांकि आईपी विकल्पों को शामिल करना संभव है जो आईपी हेडर के आकार को 60 बाइट्स तक बढ़ा सकते हैं। इसके अलावा, कभी-कभी मध्यवर्ती नोड्स के लिए पैकेट को रूट करने के लिए IPsec ( जैसे वीपीएन और इस तरह के लिए इस्तेमाल किया गया) के अंदर डेटाग्राम को एनकोड करना आवश्यक होता है। इसलिए यदि आप अपने विशेष नेटवर्क पथ पर एमटीयू को नहीं जानते हैं , तो अन्य हेडर जानकारी के लिए एक उचित मार्जिन छोड़ना सबसे अच्छा है जिसे आपने अनुमान नहीं लगाया होगा। एक 512-बाइट यूडीपी पेलोड को आमतौर पर ऐसा करने के लिए माना जाता है, हालांकि यह भी कि अधिकतम आकार के आईपी हेडर के लिए पर्याप्त जगह नहीं छोड़ता है।


36
बस स्पष्ट होने के लिए: विखंडन से बचने के लिए एक छोटा आकार होने से पैकेट "सुरक्षित" का वितरण नहीं होता है, अभी भी अनंत संभावनाएं हैं जो डिलीवरी को अविश्वसनीय बनाती हैं जैसे कि कुत्ते ने मेरे नेटवर्क केबल को खा लिया। ने कहा कि; कम टुकड़े होने से डिलीवरी "सुरक्षित" हो जाती है क्योंकि अगर एक से अधिक थे और उनमें से किसी एक ने इसे कभी नहीं बनाया - पूरे पैकेट (डेटाग्राम) को यूडीपी द्वारा गिरा दिया जाता है।
मार्मनल

3
एक प्रश्न के प्रयोजनों के लिए कोई 'सुरक्षित' के पोस्टर परिभाषा का उपयोग करने के लिए अनुमान लगाएगा, कुछ मानकों की किताब में कुछ परिभाषा नहीं जिसे उन्होंने कभी नहीं देखा है।
अस्तारा

क्या वास्तविक दुनिया के राउटरों को खंडित करने के बजाय यूडीपी पैकेट छोड़ने के लिए जाना जाता है?
user253751

60

एक UDP पैकेट के अधिकतम आकार के लिए (विंडोज पर) सैद्धांतिक सीमा 65507 बाइट्स है। यह यहाँ प्रलेखित है :

सही अधिकतम यूडीपी संदेश का आकार 65507 है, जैसा कि निम्नलिखित सूत्र द्वारा निर्धारित किया गया है: 0xffff - (sizeof (IP Header) + sizeof (UDP Header) = 65535- (20 + 8) = 65507

कहा जा रहा है, अधिकांश प्रोटोकॉल बहुत छोटे आकार तक सीमित होते हैं - आमतौर पर या तो 512 या कभी-कभी 8192। यदि आप विश्वसनीय नेटवर्क पर हैं, तो आप अक्सर 548 से अधिक सुरक्षित रूप से जा सकते हैं - लेकिन यदि आप बड़े पैमाने पर इंटरनेट पर प्रसारित कर रहे हैं, तो बड़ा आप जाते हैं, अधिक संभावना है कि आप पैकेट ट्रांसमिशन की समस्याओं और नुकसान में भाग लेंगे।


39
Microsoft लिंक एक मानक संदर्भ नहीं है। RFC मानक संदर्भ हैं; और आपने जो उद्धृत किया है वह केवल आईपीवी 4 पर लागू होता है।
लोर्ने जूल का मार्किस

2
सिर्फ इसलिए कि एमएस यह अनुमति देता है इसका मतलब यह नहीं है कि यह हमेशा एक अच्छा विचार है, क्योंकि मध्यवर्ती राउटर, आदि को बड़े पैकेट के आकार के टुकड़े करने के लिए मजबूर किया जा सकता है (जैसा कि आपने उल्लेख किया है)।
रोज़गारपैक

1
@EJP वे इसे Microsoft लिंक पर स्पष्ट रूप से नहीं समझाते हैं, लेकिन यह IPv4 का एक आवश्यक परिणाम प्रतीत होता है: IPv4 कुल लंबाई फ़ील्ड 16 बिट्स है, और उस मान में IP हेडर की लंबाई और लंबाई शामिल होनी चाहिए। यूडीपी हेडर।
jtpereyda

@jtpereyda मुझे इस बात की पूरी जानकारी है। मेरी बात बिल्कुल वही है जो मैंने पहले ही कहा था: आपको आदर्श संदर्भों का हवाला देना चाहिए जहां वे मौजूद हैं।
लोर्ने का

मुझे नहीं लगता कि अधिकतम यूडीपी पैकेट आकार कभी 65,507 बाइट्स होगा, यह देखते हुए कि मेरा वाईफाई कार्ड (IEEE 802.3) केवल 1500 MTU कर सकता है, और जंबो फ्रेम केवल 9k बाइट्स हैं।
क्रिश्चियन स्टीवर्ट

52

अधिकतम सुरक्षित यूडीपी पेलोड 508 बाइट्स है। यह 576 का पैकेट आकार, अधिकतम 60-बाइट आईपी हेडर और 8-बाइट यूडीपी हेडर है। किसी भी यूडीपी पेलोड ने इस आकार या छोटे को आईपी पर सुपुर्द करने की गारंटी दी है (हालांकि वितरित होने की गारंटी नहीं है)। किसी भी कारण से किसी भी राउटर द्वारा बड़े पैमाने पर किसी भी चीज को सीधे बाहर करने की अनुमति है। IPv6- केवल रूट को छोड़कर, जहां अधिकतम पेलोड 1,212 बाइट्स है। जैसा कि दूसरों ने उल्लेख किया है, अतिरिक्त प्रोटोकॉल हेडर को कुछ परिस्थितियों में जोड़ा जा सकता है। इसके बजाय लगभग 300-400 बाइट्स का अधिक रूढ़िवादी मूल्य पसंद किया जा सकता है।

कोई भी यूडीपी पैकेट खंडित हो सकता है। लेकिन यह बहुत महत्वपूर्ण नहीं है, क्योंकि एक टुकड़े को खोने का एक समान प्रभाव पड़ता है क्योंकि एक अनपेक्षित पैकेट को खोना: पूरा पैकेट गिरा दिया जाता है। यूडीपी के साथ, यह दोनों तरह से होने जा रहा है।

दिलचस्प बात यह है कि अधिकतम सैद्धांतिक पैकेट का आकार लगभग 30 एमबी (1,500 ईथरनेट एमटीयू - 60 आईपी हेडर x 65,536 अधिकतम संख्या में टुकड़े) है, हालांकि इसके माध्यम से होने की संभावना असीम होगी।

स्रोत: आरएफसी 791, आरएफसी 2460


2
कोई भी UDP पैकेट, डिफ़ॉल्ट रूप से, "_U_nreliable" माना जाता है। केवल सुरक्षित यूडीपी पैकेट आकार जिसे आप प्राप्त करने की उम्मीद कर सकते हैं वह होगा 1, अनफ्रीगेटेड पैकेट। यदि आप "सुरक्षित" पैकेट चाहते हैं, तो टीसीपी के शीर्ष पर एक पैकेट प्रोटोकॉल का उपयोग करें।
अस्तारा

26
@Astara सच है, स्वभाव से UDP अविश्वसनीय है। लेकिन सवाल यह है कि दिए गए आकार के एक पैकेट को डिलीवर किए जाने की गारंटी है या नहीं, डिलीवर किए जाने की गारंटी नहीं है। एक निश्चित आकार से अधिक के पैकेट किसी भी कारण से किसी भी राउटर द्वारा गिराए जा सकते हैं (और हैं), जबकि छोटे को उद्योग के मानकों के अनुसार सभी राउटरों द्वारा संभाला जाना चाहिए। तो इस मामले में "सुरक्षित" का अर्थ है "क्या मेरी कार पुल के नीचे फिट होगी" और "मेरी कार यातायात में फंस जाएगी" नहीं।
बीजर

1
मैं दोहराता हूं कि कुछ यादृच्छिक आदमी ने जो कहा है उसे रोकना और तथ्यों की जांच करना, क्योंकि यूडीपी वास्तव में काफी विश्वसनीय है। BTW मैं टीसीपी के अनावश्यक ओवरहेड के बिना यूडीपी के शीर्ष पर सुरक्षित पैकेट है। openmymind.net/How-Urelreliable-Is-UDP
पाब्लो एरियल

5
गिराए गए पैकेटों की मात्रा के कारण यूडीपी "अविश्वसनीय" नहीं है, लेकिन क्योंकि पैकेट गिराए जा सकते हैं (और हैं)। आप किसी भी विशिष्ट पैकेट आगमन, आदेश, या पुष्टि पर "भरोसा नहीं" कर सकते हैं। डेटा नाजुक है, और यह कार स्टीयरिंग की तरह है जो 99% काम करता है, और 89% सही दिशा में, विश्वसनीय है। ऐसा नहीं है कि यूडीपी कई चीजों के लिए महान नहीं है, बस इसके लिए आपको मूल रूप से "टीसीपी" का अपना संस्करण लिखना होगा। यहाँ खेल देव दुनिया (हालांकि थोड़ा पुराना) में एक आकर्षक वास्तविक दुनिया का मामला है: gamasutra.com/view/feature/131781
Beejor

@Beejor आप सही रास्ते पर थे, लेकिन "इसके लिए आपको मूल रूप से" टीसीपी "का अपना संस्करण लिखना होगा, जो कि गलत है।" UDP प्रसारण के लिए महान और 'नॉन-क्रिटिकल' डेटा भेजने के लिए महान है। (गेम के संबंध में) आप यूडीपी का उपयोग करके (LAN) सर्वर / सेवाओं की खोज कर सकते हैं और तेजी से प्लेयर लोकेशन भेजने के लिए यूडीपी का उपयोग कर सकते हैं। अगर एक पैकेट गिराया जा रहा है; आप परवाह नहीं करते हैं क्योंकि अगले पैकेट में दूसरे खिलाड़ी का स्थान अधिक अद्यतित होगा। टीसीपी में "आउट-ऑफ-ऑर्डर" पैकेट हो सकते हैं, ओवरहेड है और यह एक से कई कनेक्शन नहीं करता है। कुछ मामलों में यूडीपी अधिक लागू हो सकता है।
पॉल

46

576 न्यूनतम अधिकतम reassembly बफर आकार है , यानी प्रत्येक कार्यान्वयन को कम से कम उस आकार के पैकेट को फिर से इकट्ठा करने में सक्षम होना चाहिए । देखें IETF RFC 1122 जानकारी के लिए।


2
यदि, और केवल यदि आपके पास एक नेटवर्क है जो IPv6 नहीं ले जाता है। यदि यह IPv6 करता है, तो IPv6-हेडर्स के अधिकतम पैकेट आकार का उपयोग करें, फिर IPv6 पर IPv4 करने के लिए एनकैप्सुलेशन हेडर को घटाएं। ;-)
अस्तारा

@Astara IPv6 में, प्रेषक द्वारा विखंडन किया जाता है, इसलिए डोडी नॉनप्लायंट इंटरमीडिएट राउटर के साथ कोई समस्या नहीं है। और अगर प्राप्तकर्ता मेमोरी-कॉम्प्लेस्ड एम्बेडेड आकार नहीं है, तो यह कम से कम 64kB तक के पैकेट को फिर से इकट्ठा कर सकता है।
user253751

@ user253751 यह नॉनप्लायंट रूटर्स नहीं है जो टुकड़े कर सकते हैं। पथ एमटीयू डिस्कवरी है, लेकिन यहां तक ​​कि विखंडन को पूरी तरह से खत्म करने के लिए पर्याप्त नहीं है।
डेस्ट्रोमबर्ग

@dstromberg IPv6 राउटर को किस स्थिति में डेटाग्राम को खंडित करने की अनुमति है?
user253751

@ user253751 मेरे पास अभी बहुत IPv6 नहीं है, लेकिन यहां एक उदाहरण है: IPv6 नेटवर्क की कल्पना करें कि एक और IPv6 नेटवर्क को jumbograms (> 65536 बाइट्स) भेज रहा है जो jumbograms भी समर्थन करता है। इसके अलावा मान लीजिए कि पथ एमटीयू डिस्कवरी का कहना है कि उन जुंबोग्राम को विखंडन के बिना समर्थित किया जाना चाहिए। लेकिन फिर एक राउटर पावर साइकल होता है, और नेटवर्क पथ का हिस्सा उन उपकरणों से बदल दिया जाता है जो जंबोग्राम के लिए कॉन्फ़िगर नहीं किए जाते हैं।
dstromberg

14

यह लेख अधिकतम संचरण इकाई (MTU) http://en.wikipedia.org/wiki/Maximum_transmission_unit का वर्णन करता है । यह बताता है कि IP होस्ट को IP पैकेट के लिए 576 बाइट्स संसाधित करने में सक्षम होना चाहिए। हालाँकि, यह नोट करता है कि माइनुम 68 है। RFC 791: "प्रत्येक इंटरनेट मॉड्यूल को आगे विखंडन के बिना 68 ओकटेट्स के डेटाग्राम को अग्रेषित करने में सक्षम होना चाहिए। ऐसा इसलिए है क्योंकि एक इंटरनेट हेडर 60 ओकटेट्स तक हो सकता है, और न्यूनतम विखंडन 8 ऑक्टेट है। । "

इस प्रकार, सुरक्षित पैकेट का आकार 508 = 576 - 60 (आईपी हेडर) - 8 (udp हेडर) उचित है।

जैसा कि user607811 द्वारा उल्लेख किया गया है, अन्य नेटवर्क परतों द्वारा विखंडन को फिर से जोड़ा जाना चाहिए। https://tools.ietf.org/html/rfc1122#page-56 3.3.2 Reassembly IP लेयर IP डाटाग्राम के reassembly को लागू करना चाहिए। हम सबसे बड़े डेटाग्राम आकार को नामित करते हैं जिसे EMTU_R ("प्रभावी एमटीयू प्राप्त करने के लिए") द्वारा पुन: प्राप्त किया जा सकता है; इसे कभी-कभी "reassembly बफर आकार" कहा जाता है। EMTU_R 576 से अधिक या उसके बराबर होना चाहिए


11

IPv4 न्यूनतम reassembly बफर आकार 576 है, IPv6 में यह 1500 पर है। यहां से हेडर के आकार को घटाएं। डब्ल्यू। रिचर्ड स्टीवंस द्वारा UNIX नेटवर्क प्रोग्रामिंग देखें :)


1
न्यूनतम, बिल्कुल। इसे जगह देने के लिए धन्यवाद। पता नहीं कैसे वर्षों से किसी ने गलती पर ध्यान नहीं दिया।
निकोलाई फेटिसोव

1
जबकि IPv6 में 1500 का न्यूनतम पुन: उपयोग बफर हो सकता है, IPv6 पैकेट को खंडित होने की अनुमति नहीं है, और न्यूनतम IPv6 MTU 1280 है। एक अंत डिवाइस को एक खंडित IPv6 पैकेट को पुन: इकट्ठा करने की आवश्यकता नहीं होनी चाहिए।
रॉन मौपिन

1
@RonMaupin IPv6 पैकेट एंडपॉइंट्स द्वारा खंडित किए जा सकते हैं। बस बीच में रूटर्स द्वारा नहीं।
नवीं

3
@Navin, नहीं, IPv6 पैकेट्स खंडित नहीं होंगे, IPv6 पैकेटों में पैक होने से पहले डेटा को खंडित किया जाना चाहिए, लेकिन पैकेट स्वयं खंडित नहीं हैं। इसमे अंतर है। IPv4 पैकेट हेडर के विपरीत, जिनके विखंडन से निपटने के लिए फ़ील्ड हैं, IPv6 पैकेट हेडर के पास विखंडन से निपटने के लिए कुछ भी नहीं है। IPv6 पैकेट हेडर IPv4 पैकेट हेडर की तुलना में बहुत सरल है।
रॉन मौपिन

6

512 आपका सबसे अच्छा दांव है। यह कहीं और उपयोग किया जाता है और एक अच्छी संख्या है (1024 का आधा)।


6

यह देखते हुए कि IPV6 का आकार 1500 है, मैं यह दावा करूंगा कि वाहक IPV4 और IPV6 के लिए अलग-अलग रास्ते प्रदान नहीं करेंगे (वे दोनों अलग-अलग प्रकार के साथ IP हैं), उन्हें ipv4 के लिए उपकरण के लिए मजबूर करना जो पुराना, निरर्थक होगा, बनाए रखने के लिए अधिक महंगा और कम विश्वसनीय। इसका कोई मतलब नहीं होगा। इसके अलावा, ऐसा करना आसानी से कुछ ट्रैफ़िक के लिए अधिमान्य उपचार प्रदान करने के रूप में माना जा सकता है - एक नियम के तहत कोई नियम नहीं जिसके बारे में वे बहुत परवाह नहीं करते हैं (जब तक कि वे पकड़े नहीं जाते हैं)।

तो 1472 बाहरी उपयोग के लिए सुरक्षित होना चाहिए (हालांकि इसका मतलब यह नहीं है कि DNS जैसा कोई ऐप जो EDNS के बारे में नहीं जानता है वह इसे स्वीकार करेगा), और यदि आप आंतरिक नेट पर बात कर रहे हैं, तो आप अधिक संभावना है कि किस स्थिति में अपने नेटवर्क लेआउट को जान सकते हैं जंबो पैकेट आकार 4096 - 4068 बाइट्स के लिए गैर-खंडित पैकेट के लिए लागू होते हैं, और 9014 बाइट बफ़र्स के साथ इंटेल के कार्ड के लिए, पैकेज का आकार ... प्रतीक्षा करें ... 8086 बाइट्स, अधिकतम होगा ... संयोग? हिनहिनाहट

****अपडेट करें****

विभिन्न उत्तर 1 SW विक्रेता या अनुमति वाले विभिन्न उत्तरों को अधिकतम मान देते हैं, जो इनकैप्सुलेशन मानते हैं। उपयोगकर्ता ने न्यूनतम मान संभव नहीं पूछा (जैसे कि एक सुरक्षित यूडीपी आकार के लिए "0"), लेकिन सबसे बड़ा सुरक्षित पैकेट आकार।

विभिन्न परतों के लिए एनकैप्सुलेशन मान कई बार शामिल किए जा सकते हैं। चूँकि एक बार आपने एक स्ट्रीम को एनकैप्सुलेट किया है - ऐसा कुछ भी निषिद्ध नहीं है, कहते हैं, इसके नीचे एक वीपीएन परत और उसके ऊपर एनकैप्सुलेशन परतों का एक पूर्ण दोहराव है।

चूंकि सवाल अधिकतम सुरक्षित मूल्यों के बारे में था, इसलिए मैं मान रहा हूं कि वे यूडीपी पैकेट के लिए अधिकतम सुरक्षित मूल्य के बारे में बात कर रहे हैं जो प्राप्त किया जा सकता है। चूंकि कोई यूडीपी पैकेट की गारंटी नहीं है, अगर आपको यूडीपी पैकेट मिलता है, तो सबसे बड़ा सुरक्षित आकार आईपीवी 4 या 1472 बाइट्स पर 1 पैकेट होगा।

नोट - यदि आप IPv6 का उपयोग कर रहे हैं, तो अधिकतम आकार 1452 बाइट्स होगा, क्योंकि IPv6 के हेडर का आकार 40 बाइट्स है, IPv4 का 20 बाइट आकार (और किसी भी तरह, एक को अभी भी UDP हेडर के लिए 8 बाइट्स की अनुमति होनी चाहिए)।


1
आप 1472 की गणना कैसे कर रहे हैं? ईथरनेट में 1500 का MTU है, क्या आप इसका उल्लेख कर रहे हैं?
रोजरपैक

4
@rogerdpack मुझे लगता है कि उनका मतलब है कि क्योंकि IPv4 और IPv6 के बहुत सारे बुनियादी ढांचे को साझा करने की संभावना है, और यह कि IPv6 अपेक्षाकृत लोकप्रिय हो रहा है, IPv6 की सीमाएँ (इस प्रकार 1500) मान लेना सुरक्षित होना चाहिए। यह तर्क कितना मान्य है, हालांकि, मैं नहीं बता सकता।
थॉमस

2
नेटवर्क "चेन" में आईपीवी 6 संगत घटकों द्वारा 1500 का समर्थन किया जाना चाहिए - अगर कोई आईपीवी 4 का उपयोग करता है, जो आईपीवी 6-सपोर्टिंग चेन (हालांकि रिवर्स सच नहीं है) पर यात्रा कर सकता है, तब से आईपीवी 4 के हेडर का आकार 20 बाइट्स है, और यूडीपी का हेडर का आकार 8 बाइट्स है, जो कि अधिकतम सुरक्षित आकार के रूप में 1500-20-8 = 1472 को छोड़ देगा (क्योंकि आईपीवी 6 टुकड़े करने की अनुमति नहीं देता है)। नोट - यदि लोग एनकैप्सुलेशन की पर्याप्त परतें जोड़ते हैं, तो कोई अनुमान लगा सकता है कि DATA के लिए कोई जगह नहीं है। जब से आपने MAX के लिए पूछा है, कोई मान लेगा कि एनकैप्सुलेशन ओवरहेड की कई परतों का उपयोग नहीं किया जा रहा है।
अस्तारा

" 1500 को नेटवर्क श्रृंखला में IPv6 संगत घटकों द्वारा समर्थित होना चाहिए। " नहीं, न्यूनतम IPv6 MTU 1280 है। ईथरनेट MTU 1500 है।
रॉन मौपिन

@ रोनमुपिन - मूल क्यू सबसे बड़ा सुरक्षित यूडीपी पैकेट आकार था, न कि एमटीयू। RFC2460 देखें। साथ ही 1280 ओक्टेट के एक एमटीयू का उल्लेख करते हुए, यह बताता है: नोड्स को एक खंडित पैकेट को स्वीकार करने में सक्षम होना चाहिए, जब कि 1500 ओकटेट तक पुन: संयोजन किया जाए। 1500 से बड़ा हैंडलिंग पैकेट वैकल्पिक है।
अस्तारा

6

मैंने यहाँ कुछ अच्छे उत्तर पढ़े हैं; हालाँकि, कुछ छोटी गलतियाँ हैं। कुछ ने उत्तर दिया है कि यूडीपी हेडर में संदेश लंबाई क्षेत्र अधिकतम 65535 (0xFFFF) है; यह तकनीकी रूप से सच है। कुछ ने उत्तर दिया है कि वास्तविक अधिकतम (65535 - IPHL - UDPHL = 65507) है। गलती यह है कि, यूडीपी हैडर में संदेश लंबाई क्षेत्र में सभी पेलोड (परत 5-7), और यूडीपी हैडर की लंबाई (8 बाइट्स) शामिल हैं। इसका मतलब यह है कि यदि संदेश लंबाई फ़ील्ड 200 बाइट्स (0x00C8) है, तो पेलोड वास्तव में 192 बाइट्स (0x00C0) है।

क्या कठिन और तेज है कि एक आईपी डेटाग्राम का अधिकतम आकार 65535 बाइट्स है। यह संख्या एल 3 और एल 4 हेडर के कुल योग पर पहुंची है, साथ ही लेयर 5-7 पेलोड। आईपी ​​हैडर + यूडीपी हैडर + परतें 5-7 = 65535 (अधिकतम)।

UDP डेटागम का अधिकतम आकार क्या है, इसके लिए सबसे सही उत्तर 65515 बाइट्स (0xFFEB) है, क्योंकि UDP डेटाग्राम में UDP हेडर शामिल है। UDP पेलोड का अधिकतम आकार क्या है, इसके लिए सबसे सही उत्तर 65507 बाइट्स हैं, क्योंकि UDP पेलोड में UDP शीर्षलेख शामिल नहीं है।


1
आपने सवाल का जवाब नहीं दिया। प्रश्नकर्ता ने जानना चाहा कि पैकेट के टुकड़े से बचने के लिए वे सबसे बड़े आकार का क्या उपयोग कर सकते हैं।
अस्तारा

0

मुझे डर है कि मैं परेशान प्रतिक्रियाएँ लूँगा, लेकिन फिर भी, मेरे लिए स्पष्ट करने के लिए कि क्या मैं गलत हूँ या जो इस प्रश्न को देख रहे हैं और एक उत्तर में दिलचस्पी ले रहे हैं:

https://tools.ietf.org/html/rfc1122 की मेरी समझ जिसकी स्थिति "एक आधिकारिक विनिर्देश" है और जैसे कि इस प्रश्न में प्रयुक्त शब्दावली का संदर्भ है और जिसे न तो किसी अन्य आरएफसी द्वारा अधिगृहीत किया गया है और न ही गलत विवरण दिया गया है निम्नलिखित:

सैद्धांतिक रूप से, यानी। लिखित युक्ति के आधार पर, UDP जैसे https://tools.ietf.org/html/rfc1122#section-4 द्वारा दिया गया कोई "पैकेट आकार" नहीं है। इस प्रकार उत्तर "अनिश्चित" हो सकता है

व्यवहारिक रूप से, यह वही है जो इस संभावना की तलाश करता है (और जिसे वर्तमान में कार्रवाई के लिए अद्यतन किया जा सकता है), यह अलग हो सकता है और मुझे नहीं पता।

अगर मैंने परेशान किया तो मैं माफी मांगता हूं। https://tools.ietf.org/html/rfc1122#page-8 "इन्टरनेट प्रोटोकॉल सूट" और "आर्किटेक्चरल एसेम्मुलेशन" मुझे इस बात पर स्पष्ट नहीं करते हैं कि जो मैंने सुना, उसके आधार पर मैं "धारणा" पर था। परतों अलग कर रहे हैं । अर्थात। UDP परत में परत के साथ खुद को चिंता करने की ज़रूरत नहीं है, IP है (और IP परत में Reassembly, EMTU_R, Fragmentation और MMS_R ( https://tools.ietf.org/html-rfc1122#page-) जैसी चीज़ें हैं 56 ))


1
यूडीपी हेडर में एक डेटाग्राम लंबाई क्षेत्र है जो 16 बिट्स है, जिसका अर्थ है कि सबसे बड़ा सैद्धांतिक यूडीपी डेटाग्राम 65,535 है, लेकिन यह कभी भी नहीं पहुंच सकता है क्योंकि यूडीपी एक आईपी पैकेट के अंदर एनकैप्सुलेटेड है, जिसमें सैद्धांतिक रूप से अधिकतम लंबाई 65,535 (है) वही) लेकिन आपको सैद्धांतिक अधिकतम डेटा आकार का पता लगाने के लिए उस आकार के आईपी और यूडीपी हेडर को घटाना होगा।
रॉन मौपिन

मैंने यह बहुत पहले पूछा था, लेकिन यह चश्मे / या सिद्धांत में जो कहता है उसके बजाय एक व्यावहारिक उत्तर (वास्तविक जीवन में क्या काम करता है) की तलाश में था। मैं पैकेटों को विखंडन के साथ एक बी के रूप में प्राप्त करना चाहता था, यह एक वास्तविक समय गेम नेटवर्किंग समस्या के लिए था - मुझे लगता है कि अब बहुत से लोगों द्वारा विकसित कई समाधान हैं :)
KM
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.