* बीएसडी नेटवर्क इंटरफेस के लिए ड्राइवर विशिष्ट नामों का उपयोग क्यों करता है? क्या इसकी सीमाएँ हैं?


13

मुझे लगता है कि नेटवर्क कार्ड के ब्रांड के आधार पर, इंटरफ़ेस के नाम अलग-अलग होते हैं (ड्राइवर पर निर्भर मुझे लगता है)।

  • * बीएसडी नेटवर्क इंटरफेस के लिए ड्राइवर विशिष्ट नामों का उपयोग क्यों करता है?
  • क्या इसका मतलब है कि कर्नेल में "जेनेरिक नेटवर्क इंटरफ़ेस" का वर्णन करने वाली कोई अमूर्त परत नहीं है, इसलिए प्रत्येक चालक को आंतरिक रूप से अपने एपीआई के माध्यम से संबोधित किया जाएगा?
  • (कैसे) यह लिंक एकत्रीकरण, यातायात को आकार देने, क्यूओएस ( एएलटीक्यू ), फ़िल्टरिंग और अन्य जैसे उप-प्रणालियों को प्रभावित करता है ?

संक्षेप में, यह pfSense के तहत लग रहा है, मैं एक लिंक एकत्रीकरण (LAG) वर्चुअल इंटरफ़ेस के साथ ALTQ का उपयोग नहीं कर सकता।

क्या यह एक उचित अमूर्त परत की कमी के कारण बीएसडी आंतरिक सीमा है?

जवाबों:


7

* बीएसडी नेटवर्क इंटरफेस के लिए ड्राइवर विशिष्ट नामों का उपयोग क्यों करता है?

यह सिर्फ एक ऐतिहासिक विकल्प है। नाम के अक्षर ड्राइवर से आते हैं जो कार्ड से बात करता है, इसलिए वे दो अलग-अलग इंटरफेस के लिए समान होंगे यदि वे एक ही ड्राइवर का उपयोग करने के लिए होते हैं।

इसका एक व्यावहारिक लाभ है: बीएसडी पर, नेटवर्क ड्राइवरों के अनुभाग 4 में अपने स्वयं के मैनुअल पृष्ठ हैं। इसलिए, dc(4)आपको DEC 21143 चालक के बारे में बताता है, जो dc0नेटवर्क एडाप्टर को नियंत्रित करेगा ।

आप इसे बीएसडी यूनिक्स के अन्य भागों में भी देखते हैं, जैसे कि हार्ड डिस्क।

क्या यह एक उचित अमूर्त परत की कमी के कारण बीएसडी आंतरिक सीमा है?

नहीं।

इसके लायक क्या है, लिनक्स एक समान मार्ग के नीचे जा रहा है । ईथरनेट एडेप्टर के लिए सरल नामकरण नियमों के दिन गायब हो रहे हैं, क्योंकि नेटवर्किंग अधिक जटिल हो जाती है।


धन्यवाद। क्या आप जानते हैं कि मैं एक लिंक एकत्रीकरण के साथ ALTQ का उपयोग क्यों नहीं कर सकता हूं?
टोटर

एक प्रश्न प्रति प्रश्न, कृपया। आइए इस पर ध्यान केंद्रित करें बीएसडी डिवाइस नामकरण।
वॉरेन यंग

मैं नए udv नेटवर्क डिवाइस को BSD के समान पथ का नाम नहीं दूंगा। जहां तक ​​मुझे पता है कि डिफ़ॉल्ट तरीका कुछ उपकरणों की पहचान करने के लिए बस पथ का उपयोग करना है, न कि यादृच्छिक क्रमांक योजना के साथ ड्राइवर का नाम।
पावेल Paमेरदा

@ Pavel Linuximerda: मेरा बस इतना मतलब था कि इस योजना का उपयोग करने वाले लिनक्स सिस्टम अब eth0थ्रू का उपयोग नहीं करते हैं ethINFINITY। अब आप केवल टाइप करने में सक्षम नहीं होंगे ifconfig eth0और अपेक्षा कर सकते हैं कि आप पहले ईथरनेट इंटरफेस को देख रहे हैं, जो ऐसे लिनक्स सिस्टम को यूजर इंटरफेस के दृष्टिकोण से फ्रीबीएसडी के समान कार्यात्मक बनाता है, जहां आपको या तो नामों के प्राथमिक ज्ञान की आवश्यकता होती है सिस्टम पर इंटरफेस, या आपको ifconfigपहले एक अयोग्य आदेश के साथ एक सूची प्राप्त करने की आवश्यकता है । अंतर्निहित कर्नेल तंत्र बिल्कुल अलग हैं।
वॉरेन यंग

5

जेनेरिक या ड्राइवर-विशिष्ट नामों का उपयोग करने का विकल्प किसी भी चालक सीमा से कोई लेना-देना नहीं है।

यह ज्यादातर एक कॉस्मेटिक विकल्प है। जेनेरिक नामों का उपयोग करने से उन सूचनाओं को छिपाने का फायदा होता है जो लगभग हमेशा अप्रासंगिक होती हैं - एक नेटवर्क इंटरफ़ेस एक नेटवर्क इंटरफ़ेस है, चाहे इसे किसी भी तरह से बनाया गया हो। डिवाइस की क्षमताएं सटीक मॉडल और उसके कॉन्फ़िगरेशन पर निर्भर करती हैं, न कि जिस पर ड्राइवर उपयोग में है। विशिष्ट नामों का लाभ प्रशासक के लिए है: यदि कोई त्रुटि संदेश का उल्लेख करता है eth0(ठीक है, तो जो 0 है और जो 1 है), यह कम जानकारीपूर्ण है यदि वह उल्लेख करता है wlan0(आह, यह वाईफाई इंटरफ़ेस है) या bcm0(आह, यह है ब्रॉडकॉम इंटरफ़ेस)।

FreeBSD पर, नेटवर्क सेटअप संचालन ioctlएक यूनिक्स सॉकेट पर कॉल करके काम करता है । यह ioctl जेनेरिक नेटवर्किंग कोड द्वारा संसाधित किया जाता है और संबंधित ड्राइवर को इसके लिए ट्रिकल करता है यदि ioctl इसके लिए कहता है।

मुझे नहीं पता कि ALTQ लिंक एकत्रीकरण के साथ कैसे इंटरैक्ट करता है। FreeBSD के हाल के संस्करण का उपयोग करना सुनिश्चित करें, क्योंकि यह काम नहीं करता था, लेकिन अब करता है


3

इससे यह बताना आसान हो जाता है कि आप किस नेटवर्क कार्ड से बात कर रहे हैं।

यदि आपके पास Intel (igb0) और एक Realtek (rl0) निक है, तो अब आप उन्हें तुरंत अलग कर सकते हैं।

इसके अलावा, विभिन्न ड्राइवर अलग-अलग सुविधाओं का समर्थन करते हैं। कुछ ड्राइवर सपोर्ट करते हैं pollingऔर कुछ नहीं। कुछ समर्थन LRO, TSOऔर RSSआदि यह ट्रैक करना आसान है कि कौन सा समर्थन है जब वे सभी का नाम नहीं है eth

eth समझ में आ सकता है कि क्या आपके पास बहुत से अन्य प्रकार के नेटवर्किंग इंटरफेस थे, लेकिन आप शायद ही कभी करते हैं।


+1, क्योंकि मैं जानता हूं कि आप कौन हैं। :) पॉडकास्ट के लिए धन्यवाद !
वारेन यंग

1

* बीएसडी नेटवर्क इंटरफेस के लिए ड्राइवर विशिष्ट नामों का उपयोग क्यों करता है?

चीजों को सरल बनाने के लिए। यदि आप नामित इंटरफ़ेस को देखते हैं bge0और मैनुअल पर एक नज़र डालते हैं या अपने mnemonic लिंक सिस्टम का उपयोग करते हैं, तो आपको जल्दी से याद होगा कि यह ड्राइवर ब्रॉडकॉम गिगाबिट ईथरेट हैयह दस्तावेज़ भी उपयोगी है।

क्या इसका मतलब है कि कर्नेल में "जेनेरिक नेटवर्क इंटरफ़ेस" का वर्णन करने वाली कोई अमूर्त परत नहीं है, इसलिए प्रत्येक चालक को आंतरिक रूप से अपने एपीआई के माध्यम से संबोधित किया जाएगा?

यहाँ नियम है:

  • डिवाइस नाम बनाने के लिए ड्राइवर के नाम का उपयोग करें;
  • डिवाइस नाम के ठीक बाद नंबर बनाने के लिए सबसे कम PCI आईडी का उपयोग करें;

कोई अमूर्त परत की जरूरत है। यह सरल है।

(कैसे) यह लिंक एकत्रीकरण, यातायात को आकार देने, क्यूओएस (एएलटीक्यू), फ़िल्टरिंग और अन्य जैसे उप-प्रणालियों को प्रभावित करता है?

इंटरफ़ेस नामों को ट्रैफ़िक शेडिंग में हस्तक्षेप नहीं करना चाहिए।

संक्षेप में, यह pfSense के तहत लग रहा है, मैं एक लिंक एकत्रीकरण (LAG) वर्चुअल इंटरफ़ेस के साथ ALTQ का उपयोग नहीं कर सकता।

आज यह काम करना चाहिए:

क्या यह एक उचित अमूर्त परत की कमी के कारण बीएसडी आंतरिक सीमा है?

ऐसा नहीं है कि इसे संभालने के लिए एक उपयुक्त परत नहीं है। यह इसलिए है क्योंकि आप उन नामों को संभालने के लिए अन्य संसाधनों का उपयोग कर सकते हैं जैसे कि इंटरफ़ेस नाम ( /etc/rc.conf) बना रहे हैं, या मदरबोर्ड सेटअप पर it's pci आईडी बदल रहे हैं । और जैसा कि इस सवाल पर दूसरों ने कहा है, यहां तक ​​कि लिनक्स भी इस रास्ते पर जा रहा है biosdevname

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.