ip - आईपीवी 6 पते के पाठपरक प्रतिनिधित्व की अधिकतम लंबाई?




ip-address ipv6 (4)

कुछ शीर्षलेखों के लिए देखें जैसे कि HTTP_X_FORWARDED_FOR जिसमें एक एकल आईपी पता शामिल होता है। वे वास्तव में कई पते (प्रॉक्सी की एक श्रृंखला मुझे लगता है) हो सकता है।

वे अल्पविराम को सीमित कर पाएंगे - और कुल 45 वर्णों से अधिक लंबा हो सकता है - इसलिए डीबी में स्टोर करने से पहले जांचें।

मैं PHP में $_SERVER["REMOTE_ADDR"] द्वारा लौटाए गए डेटा को डीबी फ़ील्ड में, वास्तव में बहुत आसान कार्य में संग्रहीत करना चाहता हूं। समस्या यह है कि मुझे आईपीवी 6 पते के पाठपरक प्रतिनिधित्व की अधिकतम लंबाई के बारे में कोई उचित जानकारी नहीं मिल रही है, जो एक वेबसर्वर $_SERVER["REMOTE_ADDR"] माध्यम से प्रदान करता है।

मुझे 128 बिट्स में टेक्स्ट प्रस्तुति को परिवर्तित करने में कोई दिलचस्पी नहीं है, जिसमें पता आमतौर पर एन्कोड किया जाता है, मैं सिर्फ यह जानना चाहता हूं कि $_SERVER["REMOTE_ADDR"] द्वारा लौटाए गए किसी भी आईपीवी 6 पते को स्टोर करने के लिए अधिकतम वर्ण कितने आवश्यक हैं।


जैसा कि एक मानक आईपीवी 6 पता सबसे 45 वर्णों पर इंगित किया गया है, लेकिन एक आईपीवी 6 पते में "स्कोप" या "जोन" स्ट्रिंग के बाद एक समाप्ति% भी शामिल हो सकता है, जिसमें कोई निश्चित लंबाई नहीं है लेकिन आमतौर पर एक छोटा सकारात्मक पूर्णांक या नेटवर्क इंटरफ़ेस होता है नाम, इसलिए वास्तविकता में यह 45 वर्णों से बड़ा हो सकता है। नेटवर्क इंटरफ़ेस नाम आमतौर पर "eth0", "eth1", "wlan0" होते हैं, इसलिए सीमा का चयन करने की संभावना 50 है।


मुझे लगता है कि इस लिंक में @ दीपक जवाब सही उत्तर के करीब है। क्लाइंट आईपी पते के लिए अधिकतम लंबाई । तो सही आकार 45 नहीं है 39. कभी-कभी हम खेतों के आकार में स्क्रॉउज करने का प्रयास करते हैं, लेकिन अगर हम पर्याप्त भंडारण आकार तैयार करते हैं तो यह बेहतर लगता है।


मेरे अपने प्रश्न का उत्तर दिया:

आईपीवी 6 पते सामान्य रूप से चार हेक्साडेसिमल अंकों के आठ समूहों के रूप में लिखे जाते हैं, जहां प्रत्येक समूह को कोलन (:)।

तो यह 39 वर्ण अधिकतम है।