दो ग्राहकों के लिए एक ही /24? VPNv4 को RD और लेबल चाहिए
दो किरायेदार एक ही /24 का प्रचार केवल इसलिए कर सकते हैं कि RD हर रूट को अपनी पहचान देता है। लेबल दूसरे सवाल का जवाब देता है: आगे कैसे भेजना है।
दो किरायेदार अपनी शाखा को एक ही 10.50.0.0/24 से क्रमांकित करते हैं, और बदलाव के बाद एक किरायेदार का रूट प्रदाता किनारे से गायब हो जाता है जबकि दूसरा काम करता रहता है। उस टिकट के पीछे का सरलीकरण आमतौर पर रूट विभेदक (RD) छोड़ देना होता है, क्योंकि "लेबल पहले ही ग्राहक की पहचान करता है"। वह नहीं करता। RD और लेबल दो अलग सवालों के जवाब देते हैं, और यह अंतर तभी दिखता है जब अतिव्यापी पते इसे थोप देते हैं।
जहाँ दो होने चाहिए वहाँ एक रूट
सामान्य IPv4 यूनिकास्ट एक ही प्रीफ़िक्स के दो पथों की तुलना करता है और बेहतर को स्थापित करता है। किरायेदार A से 10.50.0.0/24 और किरायेदार B से 10.50.0.0/24 एक ही कुंजी हैं, इसलिए एक जीतता है और दूसरा केवल बैकअप पथ के रूप में बचता है। प्रोटोकॉल ने वही किया जो उसे कहा गया; नियंत्रण तल से एक ही पहचानकर्ता के अंतर्गत दो अलग रूट संग्रहीत करने को कहा गया था।
नतीजा त्रुटि की तरह नहीं, गुमशुदा रूट की तरह दिखता है: जो PE प्रतिस्पर्धा हार गया वह अब भी अपने किरायेदार को स्थानीय रूप से अग्रेषित करता है, इसलिए साइट के भीतर पिंग सफल होता है और साइटों के बीच परीक्षण विफल होता है। किसी भी नीति को छूने से पहले VPNv4 तालिका में उस प्रीफ़िक्स की प्रविष्टियाँ गिनें।
RD एक कुंजी को दो बनाता है
आठ बाइट का रूट विभेदक IPv4 प्रीफ़िक्स के आगे जोड़ा जाता है, और BGP जो वस्तु वहन करता है वह IPv4 प्रीफ़िक्स के बजाय VPN-IPv4 पता बन जाती है। दो किरायेदार एक ही 32 बिट रख सकते हैं क्योंकि आगे के 64 बिट अलग हैं। AS-आधारित RD और पता-आधारित RD के लिए प्रारूप प्रकार मौजूद हैं, और चुनाव मूल PE का है। जब PE एक ही AS साझा करते हैं तो AS-आधारित RD सामान्य है, और जब नहीं करते तो पता-आधारित।
RD को सदस्यता टैग के रूप में न पढ़ें. रूट टारगेट आयात और निर्यात को नियंत्रित करते हैं और तय करते हैं कि कौन से VRF रूट स्थापित कर सकते हैं; RD केवल यह गारंटी देता है कि रूट की अपनी पहचान हो। हर VRF को उसका अपना RD देना आम प्रथा है, क्योंकि यह उस मैपिंग को रूट दृश्य में पठनीय रखता है।
लेबल स्थानीय अग्रेषण निर्देश है
हर घोषणा एक MPLS लेबल भी वहन करती है, और उसका अर्थ उसी राउटर तक सीमित है जिसने उसे आवंटित किया। दूसरा PE किसी असंबंधित गंतव्य के लिए वही संख्या दे सकता है। इसी कारण लेबल ग्राहक की पहचान का स्थान नहीं ले सकता: संख्या केवल अगले हॉप और उसे स्थापित करने वाली अग्रेषण स्थिति के साथ ही सही है।
आवंटन की बारीकी कार्यान्वयन और डिज़ाइन के अनुसार बदलती है: कुछ प्लेटफ़ॉर्म प्रति VRF एक लेबल आवंटित करते हैं, अन्य प्रति प्रीफ़िक्स, और लेबल ग्राहक के बजाय किसी अग्रेषण क्रिया की पहचान कर सकता है। एक ही गंतव्य तक पहुँचने वाले दो अलग लेबल विरोधाभास नहीं हैं, और दो PE पर एक ही लेबल संख्या भी नहीं।
| Field | Where it lives | Scope | If you remove it |
|---|---|---|---|
| RD | VPNv4 NLRI | Per advertised route | Overlapping prefixes collide |
| Route target | Extended community | Import and export policy | Route lands in the wrong VRF |
| Label | Labeled NLRI and forwarding state | Per allocating router | No instruction for the data plane |
| Next hop | Path attribute | Per path | The label cannot be resolved |
एक दूसरे का स्थान क्यों नहीं ले सकता
घोषणा पढ़ने का अर्थ है चार चीज़ों को एक साथ देखना: RD-योग्य प्रीफ़िक्स, रूट टारगेट, अगला हॉप और लेबल। उपयोगकर्ता पैकेट पढ़ने का अर्थ है उस जानकारी से स्थापित स्टैक को देखना। स्वस्थ डिज़ाइन दोनों पक्षों को मेल खाता दिखाता है, और टूटे डिज़ाइन में आमतौर पर एक पक्ष सही और दूसरा पुराना होता है। यही तुलना पहचान की समस्या को अग्रेषण की समस्या से अलग करती है।
नियंत्रण तल और डेटा तल के बीच सुव्यवस्थित विरोध शिक्षण साधन है, एन्कोडिंग का वर्णन नहीं। RFC 8277 लेबल को लेबलयुक्त NLRI के भीतर रखता है, इसलिए घोषणा स्वयं बंधन वहन करती है; इसका उपयोग अग्रेषण के लिए करना बाद का, अलग चरण है।
जब किरायेदार का रूट गायब हो, तो इस क्रम में जाँचें: प्रीफ़िक्स के लिए दो VPNv4 प्रविष्टियाँ, हर एक पर सही रूट टारगेट, हल होने योग्य अगला हॉप, और ऐसा लेबल जिसके लिए प्राप्तकर्ता PE के पास स्थिति है। पहचान को अग्रेषण मान से ठीक करना, या इसका उलटा, एक जाँच पास करेगा और अगली में विफल होगा।