वांछित व्यवहार
जब कोई एप्लिकेशन वैश्विक प्रसारण आईपी पते पर एक पैकेट भेजता है 255.255.255.255
, तो मैं चाहूंगा कि पैकेट को सभी वैश्विक ff:ff:ff:ff:ff:ff
इंटरफेस पर ईथरनेट वैश्विक प्रसारण पते ( ) में भेजा जाए ।
लिनक्स और शायद अन्य OSes पर भी यह काम करने लगता है। विंडोज एक्सपी और विंडोज 7 इस बारे में अलग-अलग व्यवहार प्रदर्शित करते हैं, और न ही व्यवहार मेरी स्थिति के लिए वांछनीय है।
Windows XP व्यवहार
पैकेट को पहले नेटवर्क इंटरफ़ेस (इंटरफ़ेस ऑर्डर "नेटवर्क कनेक्शन / एडवांस्ड / एडवांस्ड सेटिंग्स") में निर्दिष्ट किया गया है। इसे अन्य इंटरफेस पर भी भेजा जाएगा।
अभी तक सब कुछ सही है। समस्या यह है कि अन्य इंटरफेस को भेजते समय, प्रसारण पैकेट का स्रोत पता पहले इंटरफ़ेस का आईपी पता है। उदाहरण के लिए, इस नेटवर्क कॉन्फ़िगरेशन की कल्पना करें (ऑर्डर महत्वपूर्ण है):
- एडाप्टर 1: आईपी एड्रेस
192.168.0.1
- एडाप्टर 2: आईपी एड्रेस
10.0.0.1
- एडाप्टर 3: आईपी एड्रेस
172.17.0.1
अब अगर मैं एक प्रसारण पैकेट भेजता हूं, तो निम्नलिखित पैकेट भेजे जाएंगे (स्रोत और गंतव्य आईपी पते के साथ):
- एडाप्टर 1 पर:
192.168.0.1
=>255.255.255.255
- एडाप्टर 2 पर:
192.168.0.1
=>255.255.255.255
एडाप्टर 3 पर:
192.168.0.1
=>255.255.255.255
व्यवहार में, प्रसारण पैकेट का उपयोग करने वाले एप्लिकेशन एडॉप्टर 1 के अलावा किसी भी इंटरफेस पर काम नहीं करेंगे। मेरी राय में, यह विंडोज़ एक्सपी के टीसीपी / आईपी स्टैक में एक धुंधला बग है।
विंडोज 7 व्यवहार
नेटवर्क इंटरफ़ेस ऑर्डर को संशोधित करना विंडोज 7 पर कोई प्रभाव नहीं डालता है। इसके बजाय, आईपी मार्ग तालिका द्वारा प्रसारण को नियंत्रित किया जाता है।
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.202.254.254 10.202.1.2 286
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.3 10
10.202.0.0 255.255.0.0 On-link 10.202.1.2 286
10.202.1.2 255.255.255.255 On-link 10.202.1.2 286
10.202.255.255 255.255.255.255 On-link 10.202.1.2 286
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.0.0 255.255.255.0 On-link 192.168.0.3 266
192.168.0.3 255.255.255.255 On-link 192.168.0.3 266
192.168.0.255 255.255.255.255 On-link 192.168.0.3 266
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.0.3 266
224.0.0.0 240.0.0.0 On-link 10.202.1.2 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.0.3 266
255.255.255.255 255.255.255.255 On-link 10.202.1.2 286
===========================================================================
255.255.255.255
मार्ग देखें ? हां, वे प्रसारण पैकेट को नियंत्रित करते हैं। इस स्थिति में, प्रसारण पैकेटों को इसके माध्यम से भेजा जाएगा 192.168.0.3
क्योंकि इसमें कम मीट्रिक है ... लेकिन अन्य इंटरफेस के लिए नहीं।
आप इंटरफ़ेस को बदल सकते हैं जिसके माध्यम से वैश्विक प्रसारण पैकेट बहुत आसानी से भेजे जाएंगे (बस 255.255.255.255
कम मीट्रिक के साथ एक स्थायी मार्ग जोड़ें )। लेकिन आप कितनी भी कोशिश कर लें, प्रसारण पैकेट केवल एक ही इंटरफेस पर भेजा जाएगा , उन सभी को नहीं जैसे मैं यह करना चाहूंगा।
निष्कर्ष
- विंडोज 7 केवल एक इंटरफेस में प्रसारण पैकेट भेजता है। आप चुन सकते हैं कि कौन सा है, लेकिन यहां बात नहीं है।
- विंडोज एक्सपी सभी इंटरफेसों पर प्रसारण पैकेट भेजता है, लेकिन यह केवल उन्हें एक इंटरफ़ेस की अपेक्षा के अनुसार भेजता है, जो व्यवहार में विंडोज 7 व्यवहार के बराबर है।
लक्ष्य
मैं इस वैश्विक आईपी प्रसारण समर्थन को विंडोज में (अधिमानतः विंडोज 7) एक बार और सभी के लिए बदलना चाहता हूं। बेशक बेहतर तरीका यह होगा कि किसी प्रकार का समर्थित कॉन्फ़िगरेशन परिवर्तन (रजिस्ट्री हैक या समान) हो, लेकिन मैं सभी सुझावों के लिए तैयार हूं।
कोई विचार?