नेटबीआईओएस

नेटबायोस नेटवर्क बेसिक इनपुट/आउटपुट सिस्टम का संक्षिप्त रूप है। यह ओएसआई मॉडल के सत्र परत से संबंधित सेवाएं प्रदान करता है, जो अलग-अलग कंप्यूटरों पर एप्लिकेशन को स्थानीय क्षेत्र अंतरजाल पर संचार करने की अनुमति देता है। सख्त एपीआई के रूप में, नेटबायोस नेटवर्किंग प्रोटोकॉल नहीं है। पुराने ऑपरेटिंग सिस्टम नेटबायोस को क्रमशः IEEE 802.2 और आईपीएक्स/एसपीएक्स पर नेटबायोस फ्रेम्स (एनबीएफ) और नेटबायोस पर आईपीएक्स/एसपीएक्स (NBX) प्रोटोकॉल का उपयोग करके चलाया। आधुनिक नेटवर्क में, नेटबायोस आमतौर पर टीसीपी/आईपी (NBT) प्रोटोकॉल पर नेटबायोस के माध्यम से टीसीपी/आईपी पर चलता है। इसका परिणाम नेटवर्क के प्रत्येक कंप्यूटर में एक IP पता और एक नेटबायोस नाम (संभवतः अलग) होस्ट नाम के अनुरूप होता है। नेटबायोस का उपयोग टीसीपी/आईपी (विंडोज) में सिस्टम नामों की पहचान करने के लिए भी किया जाता है। सीधे शब्दों में कहें तो यह एक प्रोटोकॉल है जो LAN में ओएसआई मॉडल के सेशन लेयर के माध्यम से फाइलों और प्रिंटर के संचार की अनुमति देता है।

इतिहास और शब्दावली
नेटबायोस एक गैर-रूटेबल ओएसआई सत्र परत 5 प्रोटोकॉल और एक सेवा है जो कंप्यूटर पर अनुप्रयोगों को स्थानीय क्षेत्र नेटवर्क (LAN) पर एक दूसरे के साथ संवाद करने की अनुमति देती है। नेटबायोस को 1983 में Sytek Inc. द्वारा आईबीएम PC नेटवर्क LAN तकनीक पर सॉफ़्टवेयर संचार के लिए API के रूप में विकसित किया गया था। आईबीएम PC नेटवर्क पर, केवल एक API के रूप में, नेटबायोस वायर पर संचार के लिए स्वामित्व वाले Sytek नेटवर्किंग प्रोटोकॉल पर निर्भर था। एक LAN में अधिकतम 80 PC का समर्थन करने के बावजूद, नेटबायोस एक उद्योग मानक बन गया।

1985 में, आईबीएम टोकन रिंग नेटवर्क योजना के साथ आगे बढ़ा और इस नए डिजाइन पर काम करने के लिए पीसी-नेटवर्क युग से नेटबायोस-जागरूक अनुप्रयोगों को अनुमति देने के लिए एक नेटबायोस एमुलेटर का उत्पादन किया गया। नेटबायोस एक्सटेंडेड यूजर इंटरफेस (NetBEUI) नाम के इस एमुलेटर ने, अन्य बातों के अलावा, टोकन रिंग की अधिक नोड क्षमता से निपटने की क्षमता के साथ बेस नेटबायोस API का विस्तार किया। एक नया नेटवर्किंग प्रोटोकॉल, नेटबायोस फ्रेम्स, NetBEUI (नेटबायोस) को टोकन रिंग पर विशेष रूप से IEEE 802.2 तार्किक लिंक नियंत्रण लेयर पर अपनी सेवाएं प्रदान करने की अनुमति देने के लिए एक साथ निर्मित किया गया था।

1985 में, माइक्रोसॉफ्ट ने अपनी एमएस-नेट नेटवर्किंग तकनीक के लिए एक नेटबायोस कार्यान्वयन बनाया। जैसा कि आईबीएम के टोकन रिंग के मामले में था, माइक्रोसॉफ्ट के नेटबायोस कार्यान्वयन की सेवाएं IEEE 802.2 लॉजिकल लिंक कंट्रोल लेयर पर नेटबायोस फ्रेम्स प्रोटोकॉल द्वारा प्रदान की गई थीं। जब तक माइक्रोसॉफ्ट ने होस्ट नाम के डॉमेन नाम सिस्टम (DNS) रिज़ॉल्यूशन को नहीं अपनाया, तब तक माइक्रोसॉफ्ट ऑपरेटिंग सिस्टम ने Windows क्लाइंट-सर्वर मॉडल | क्लाइंट-सर्वर नेटवर्क में नामों को हल करने के लिए नेटबायोस का उपयोग किया।

1986 में, नोवेल ने उन्नत नोवेल नेटवेयर 2.0 जारी किया, जिसमें कंपनी का अपना नेटबीओएस इम्यूलेटर था। आईपीएक्स/एसपीएक्स (NBX) प्रोटोकॉल पर नेटबायोस का उपयोग करते हुए इसकी सेवाओं को NetWare के आईपीएक्स/एसपीएक्स प्रोटोकॉल के भीतर समाहित किया गया था।

1987 में, ट्रांसमिशन कंट्रोल प्रोटोकॉल और डेटाग्राम प्रोटोकॉल उपयोगकर्ता पैकेट्स में नेटबायोस को एनकैप्सुलेट करने की एक विधि, टीसीपी/आईपी (NBT) पर नेटबायोस प्रकाशित की गई थी। इसका वर्णन RFC 1001 (TCP/UDP परिवहन पर नेटबायोस सेवा के लिए प्रोटोकॉल मानक: अवधारणाएँ और विधियाँ) और RFC 1002 (TCP/UDP परिवहन पर नेटबायोस सेवा के लिए प्रोटोकॉल मानक: विस्तृत विनिर्देश) में किया गया था। NBT प्रोटोकॉल को [नेटबायोस अनुप्रयोगों के] कार्यान्वयन की अनुमति देने के लिए विकसित किया गया था ताकि वस्तुतः किसी भी प्रकार की प्रणाली पर बनाया जा सके जहाँ टीसीपी/आईपी प्रोटोकॉल सूट उपलब्ध है, और इंटरनेट में नेटबायोस इंटरऑपरेशन की अनुमति देने के लिए।

1987 में आईबीएम PS/2|PS/2 कंप्यूटर के बाजार में आने के बाद, आईबीएम ने PC LAN सपोर्ट प्रोग्राम जारी किया, जिसमें नेटबायोस के लिए एक ड्राइवर शामिल था।

नेटबायोस और NetBEUI नामों के बीच कुछ भ्रम है। NetBEUI की शुरुआत आईबीएम के 1985 में टोकन रिंग के लिए बढ़ाए गए नेटबायोस इम्यूलेटर के उपनाम के रूप में हुई थी। NetBEUI नाम वहीं समाप्त हो जाना चाहिए था, यह देखते हुए कि उस समय अन्य कंपनियों द्वारा नेटबायोस कार्यान्वयन केवल नेटबायोस के रूप में जाना जाता था, भले ही उन्होंने उस एमुलेटर में पाए जाने वाले API एक्सटेंशन को शामिल किया हो या नहीं। एमएस-नेट के लिए, हालाँकि, माइक्रोसॉफ्ट ने नेटबायोस फ्रेम्स प्रोटोकॉल NetBEUI के अपने कार्यान्वयन का नाम चुना - आईबीएम के API के दूसरे संस्करण के बाद परिवहन प्रोटोकॉल के कार्यान्वयन का नामकरण। परिणामस्वरूप ईथरनेट पर माइक्रोसॉफ्ट फ़ाइल और प्रिंटर शेयरिंग को NetBEUI कहा जाता है, जिसका नाम नेटबायोस आमतौर पर केवल टीसीपी/आईपी पर फ़ाइल और प्रिंटर शेयरिंग के लिए उपयोग किया जाता है। अधिक सटीक रूप से, पूर्व नेटबायोस फ्रेम्स (एनबीएफ) है, और बाद वाला टीसीपी/आईपी (NBT) पर नेटबायोस है।

आईबीएम की एक तकनीकी संदर्भ पुस्तक में इसके मूल प्रकाशन के बाद से, नेटबायोस API विनिर्देश एक वास्तविक मानक बन गया है।

सेवाएं
नेटबायोस तीन अलग-अलग सेवाएं प्रदान करता है:
 * नाम पंजीकरण और नाम समाधान (कंप्यूटर सिस्टम) के लिए नाम सेवा (नेटबायोस-NS)।
 * कनेक्शन रहित संचार के लिए आंकड़ारेख वितरण सेवा (नेटबायोस-DGM)।
 * कनेक्शन उन्मुख संचार के लिए सत्र (कंप्यूटर विज्ञान) सेवा (नेटबायोस-एसएसएन)।

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

नाम सेवा
सत्र शुरू करने या डेटाग्राम वितरित करने के लिए, एप्लिकेशन को नाम सेवा का उपयोग करके अपना नेटबायोस नाम पंजीकृत करना होगा। नेटबायोस नाम लंबाई में 16 ऑक्टेट हैं और विशेष कार्यान्वयन के आधार पर भिन्न होते हैं। अक्सर, 16वाँ ऑक्टेट, जिसे नेटबायोस प्रत्यय कहा जाता है, संसाधन के प्रकार को निर्दिष्ट करता है, और अन्य अनुप्रयोगों को यह बताने के लिए इस्तेमाल किया जा सकता है कि सिस्टम किस प्रकार की सेवाएँ प्रदान करता है। नेटबायोस में टीसीपी/आईपी पर, नाम सेवा UDP पोर्ट 137 पर संचालित होती है (TCP पोर्ट 137 का भी उपयोग किया जा सकता है, लेकिन शायद ही कभी होता है)।

नेटबायोस द्वारा प्रस्तावित नाम सेवा आदिम हैं:
 * नाम जोड़ें - एक नेटबायोस नाम पंजीकृत करता है।
 * समूह का नाम जोड़ें - एक नेटबायोस समूह नाम पंजीकृत करता है।
 * डिलीट नाम - एक नेटबायोस नाम या समूह का नाम अपंजीकृत करता है।
 * नाम खोजें - नेटवर्क पर एक नेटबायोस नाम खोजता है।

IPv6 के लिए माइक्रोसॉफ्ट द्वारा नेटबायोस नाम समाधान समर्थित नहीं है। इंटरनेट प्रोटोकॉल संस्करण 6 (IPv6)।

डेटाग्राम वितरण सेवा
डेटाग्राम मोड संयोजन रहित है; एप्लिकेशन त्रुटि का पता लगाने और पुनर्प्राप्ति के लिए ज़िम्मेदार है। नेटबायोस में टीसीपी/आईपी पर, डेटाग्राम सेवा UDP पोर्ट 138 पर चलती है।

नेटबायोस द्वारा प्रदान की जाने वाली डेटाग्राम सर्विस प्रिमिटिव हैं:
 * डेटाग्राम भेजें - एक दूरस्थ नेटबायोस नाम पर डेटाग्राम भेजें।
 * प्रसारण डेटाग्राम भेजें - नेटवर्क पर सभी नेटबायोस नामों को डेटाग्राम भेजें।
 * डेटाग्राम प्राप्त करें - डेटाग्राम भेजें ऑपरेशन से पैकेट के आने की प्रतीक्षा करें।
 * ब्रॉडकास्ट डेटाग्राम प्राप्त करें - सेंड ब्रॉडकास्ट डेटाग्राम ऑपरेशन से एक पैकेट के आने की प्रतीक्षा करें।

सत्र सेवा
सत्र मोड दो कंप्यूटरों को एक कनेक्शन स्थापित करने देता है, संदेशों को कई पैकेटों तक फैलाने की अनुमति देता है, और त्रुटि का पता लगाने और पुनर्प्राप्ति प्रदान करता है। नेटबायोस में टीसीपी/आईपी पर, सत्र सेवा TCP पोर्ट 139 पर चलती है।

नेटबायोस द्वारा प्रदान की जाने वाली सत्र सेवा प्रिमिटिव हैं:
 * कॉल - एक दूरस्थ नेटबायोस नाम के लिए एक सत्र खोलता है।
 * सुनें - किसी सत्र को नेटबायोस नाम से खोलने के प्रयासों को सुनें।
 * हैंग अप - एक सत्र बंद करें।
 * भेजें - सत्र के दूसरे छोर पर कंप्यूटर को एक पैकेट भेजता है।
 * कोई स्वीकृति नहीं भेजें - जैसे भेजें, लेकिन इसके लिए पावती की आवश्यकता नहीं है।
 * प्राप्त करें - सत्र के दूसरे छोर पर भेजे गए पैकेट से पैकेट आने की प्रतीक्षा करें।

पीसी-नेटवर्क पर नेटबायोस सेवाओं को लागू करने के लिए उपयोग किए जाने वाले मूल प्रोटोकॉल में, एक सत्र स्थापित करने के लिए, आरंभ करने वाला कंप्यूटर एक खुला अनुरोध भेजता है जिसका उत्तर एक खुली पावती द्वारा दिया जाता है। सत्र शुरू करने वाला कंप्यूटर फिर एक सत्र अनुरोध पैकेट भेजेगा जो या तो एक सत्र स्वीकार या सत्र अस्वीकार पैकेट का संकेत देगा।

एक स्थापित सत्र के दौरान, प्रत्येक प्रेषित पैकेट का उत्तर सकारात्मक-स्वीकृति (एसीके) या नकारात्मक-स्वीकृति (एनएके) प्रतिक्रिया द्वारा दिया जाता है। एक एनएके डेटा के पुन: प्रसारण का संकेत देगा। नॉन-इनिशिएटिंग कंप्यूटर द्वारा क्लोज़ रिक्वेस्ट भेजकर सेशन को बंद कर दिया जाता है। सत्र शुरू करने वाला कंप्यूटर एक करीबी प्रतिक्रिया के साथ उत्तर देगा जो अंतिम सत्र के बंद पैकेट को संकेत देता है।

नेटबायोस नाम बनाम इंटरनेट होस्ट नाम
जब नेटबायोस इंटरनेट प्रोटोकॉल सूट (जैसे, NBT) के संयोजन में चलाया जाता है, तो प्रत्येक कंप्यूटर के कई नाम हो सकते हैं: एक या अधिक नेटबायोस नाम सेवा नाम और एक या अधिक इंटरनेट होस्ट नाम।

नेटबायोस नाम
नेटबायोस नाम 16 ASCII वर्णों का है, हालाँकि माइक्रोसॉफ्ट होस्ट नाम को 15 वर्णों तक सीमित करता है और 16वें वर्ण को नेटबायोस प्रत्यय के रूप में सुरक्षित रखता है। यह प्रत्यय सेवा या नाम रिकॉर्ड प्रकार जैसे होस्ट रिकॉर्ड, मास्टर ब्राउज़र रिकॉर्ड या डोमेन नियंत्रक रिकॉर्ड या अन्य सेवाओं का वर्णन करता है। होस्ट नाम (या संक्षिप्त होस्ट नाम) निर्दिष्ट किया जाता है जब विंडोज नेटवर्किंग स्थापित/कॉन्फ़िगर किया जाता है, पंजीकृत प्रत्यय होस्ट द्वारा प्रदान की गई व्यक्तिगत सेवाओं द्वारा निर्धारित किए जाते हैं। टीसीपी/आईपी चलाने वाले कंप्यूटर से इसके नेटबायोस नाम के माध्यम से जुड़ने के लिए, नाम को एक नेटवर्क पते पर हल किया जाना चाहिए। आज यह आम तौर पर एक आईपी एड्रेस है (नेटबायोस नाम से आईपी एड्रेस रेजोल्यूशन अक्सर ब्रॉडकास्ट या विंडोज इंटरनेट नाम सेवा सर्वर - नेटबायोस नेम सर्वर द्वारा किया जाता है)। एक कंप्यूटर का नेटबायोस नाम अक्सर उस कंप्यूटर के होस्ट नाम (नीचे देखें) के समान होता है, हालाँकि इसे 15 वर्णों तक छोटा कर दिया जाता है, लेकिन यह पूरी तरह से अलग भी हो सकता है।

नेटबायोस नाम अल्फ़ान्यूमेरिक वर्णों का एक क्रम है। निम्नलिखित वर्णों की स्पष्ट रूप से अनुमति नहीं है: \/:*? <>| । विंडोज 2000 के बाद से, नेटबायोस नामों को भी DNS नामों पर प्रतिबंधों का पालन करना पड़ा: वे पूरी तरह से अंकों से युक्त नहीं हो सकते हैं, और हाइफ़न (-) या पूर्ण-विराम (.) वर्ण पहले या अंतिम वर्ण के रूप में प्रकट नहीं हो सकते हैं। विंडोज 2000 के बाद से, माइक्रोसॉफ्ट ने नेटबायोस नामों में किसी भी पूर्ण-विराम (.) वर्णों को शामिल करने के खिलाफ सलाह दी है, जैसे कि अनुप्रयोग नेटबायोस नामों से डोमेन नामों को अलग करने के लिए पूर्ण-विराम की उपस्थिति का उपयोग कर सकते हैं।

Windows LMHOSTS फ़ाइल एक नेटबायोस नाम रिज़ॉल्यूशन विधि प्रदान करती है जिसका उपयोग छोटे नेटवर्क के लिए किया जा सकता है जो WINS सर्वर का उपयोग नहीं करते हैं।

इंटरनेट होस्ट नाम
विंडोज मशीन के नेटबायोस नाम को कंप्यूटर के इंटरनेट होस्ट नाम के साथ भ्रमित नहीं होना चाहिए (यह मानते हुए कि कंप्यूटर नेटबायोस नोड होने के अलावा एक इंटरनेट होस्ट भी है, जो जरूरी नहीं कि मामला हो)। आम तौर पर इंटरनेट प्रोटोकॉल चलाने वाले कंप्यूटर (चाहे वह विंडोज मशीन हो या नहीं) में आमतौर पर एक होस्ट नाम होता है (जिसे कभी-कभी मशीन का नाम भी कहा जाता है)। मूल रूप से इन नामों को होस्ट (फ़ाइल) में संग्रहीत और प्रदान किया गया था, लेकिन आज ऐसे अधिकांश नाम श्रेणीबद्ध डोमेन नाम सिस्टम (डीएनएस) का हिस्सा हैं।

आम तौर पर विंडोज कंप्यूटर का होस्ट नाम नेटबीओएसओ नाम और प्राथमिक डीएनएस प्रत्यय पर आधारित होता है, जो दोनों सिस्टम गुण संवाद बॉक्स में सेट होते हैं। कनेक्शन-विशिष्ट प्रत्यय भी हो सकते हैं जिन्हें कंट्रोल पैनल → नेटवर्क → टीसीपी/आईपी → उन्नत गुणों में डीएनएस टैब पर देखा या बदला जा सकता है। होस्ट नाम का उपयोग अनुप्रयोग परत द्वारा किया जाता है जैसे टेलनेट, एफ़टीपी, वेब ब्राउज़र इत्यादि। टीसीपी/आईपी प्रोटोकॉल चलाने वाले कंप्यूटर से इसके नाम का उपयोग करने के लिए, होस्ट नाम को एक आईपी पते में हल किया जाना चाहिए, आमतौर पर एक डीएनएस सर्वर द्वारा। (केवल आईपी पतों का उपयोग करके ऊपर सूचीबद्ध तीन सहित कई टीसीपी/आईपी-आधारित अनुप्रयोगों को संचालित करना भी संभव है, लेकिन यह मानक नहीं है।)

नोड प्रकार
विंडोज के तहत, नेटवर्क वाले संगणक का नोड प्रकार उस तरीके से संबंधित होता है जिस तरह से यह नेटबायोस नामों को आईपी पतों में हल करता है। यह मानता है कि नेटबायोस नोड्स के लिए कोई भी IP पता है, जो केवल तभी सुनिश्चित होता है जब नेटबायोस NBT पर संचालित होता है; इस प्रकार, नोड प्रकार नेटबायोस प्रति से नहीं बल्कि Windows OS वातावरण में नेटबायोस और टीसीपी/आईपी के बीच सहभागिता की संपत्ति हैं। चार नोड प्रकार हैं।
 * बी-नोड: 0x01 प्रसारण
 * पी-नोड: 0x02 सहकर्मी (केवल जीतता है)
 * एम-नोड: 0x04 मिश्रित (प्रसारण, फिर WINS)
 * एच-नोड: 0x08 हाइब्रिड (जीतता है, फिर प्रसारण करता है)

कमांड लाइन खोलकर और 'ipconfig /all' टाइप करके नोड प्रकार का उपयोग प्रदर्शित किया जाता है। माइक्रोसॉफ्ट Windows कंप्यूटर रजिस्ट्री को इस तरह से भी कॉन्फ़िगर किया जा सकता है जैसे कि नोड प्रकार के लिए अज्ञात प्रदर्शित करना।

नेटबायोस प्रत्यय
नेटबायोस प्रत्यय, जिसे वैकल्पिक रूप से नेटबायोस एंड कैरेक्टर (endchar) कहा जाता है, नेटबायोस नाम का 16वाँ वर्ण है और पंजीकृत नाम के लिए सेवा प्रकार को इंगित करता है। रिकॉर्ड प्रकारों की संख्या 255 तक सीमित है; कुछ सामान्य रूप से उपयोग किए जाने वाले मान हैं:

अद्वितीय नामों के लिए:
 * 00: वर्कस्टेशन सर्विस (वर्कस्टेशन का नाम)
 * 03: विंडोज मैसेंजर सेवा
 * 06: रिमोट एक्सेस सेवा
 * 20: फ़ाइल सर्वर (जिसे होस्ट रिकॉर्ड भी कहा जाता है)
 * 21: रिमोट एक्सेस सर्विस क्लाइंट
 * 1B: Windows सर्वर डोमेन मास्टर ब्राउज़र सेवा - डोमेन के लिए प्राथमिक डोमेन नियंत्रक
 * 1डी: मास्टर ब्राउज़र

समूह के नाम के लिए:
 * 00: वर्कस्टेशन सर्विस (वर्कग्रुप/डोमेन नाम)
 * 1सी: एक डोमेन के लिए डोमेन नियंत्रक (25 आईपी पतों के साथ समूह रिकॉर्ड)
 * 1E: ब्राउज़र सेवा चुनाव

यह भी देखें

 * टीसीपी/आईपी पर नेटबायोस (एनबीटी)
 * नेटबायोस फ्रेम्स (एनबीएफ)
 * सर्वर संदेश ब्लॉक (एसएमबी)

आगे की पढाई

 * Haugdahl, J. Scott (1990). Inside नेटबायोस. Architecture Technology Corp. ISBN 99914-57-34-8
 * Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2004). Operating System Concepts. (7th Ed.). John Wiley & Sons. ISBN 0-471-69466-5
 * Meyers, Michael (2004). "Managing and Troubleshooting Networks". McGraw-Hill. ISBN 978-0-07-225665-9
 * Tamara Dean. Network+ Guide to Networks, pg. 206 (NetBEUI)

बाहरी कड़ियाँ

 * [//publib.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/BK8P7001/CCONTENTS LAN Technical Reference: 802.2 and नेटबायोस APIs]
 * Implementing CIFS (from the Samba team, published under the Open Publication License)
 * नेटबायोस, NetBEUI, एनबीएफ, SMB, CIFS Networking
 * LMHOSTS File
 * नेटबायोस End Characters / Suffixes – माइक्रोसॉफ्ट Knowledge Base article describing list of नेटबायोस Suffixes.
 * – Visual Basic 2010 नेटबायोस API source code.