नेटबीआईओएस

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

यह भी देखें

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

आगे की पढाई

 * Haugdahl, J. Scott (1990). Inside NetBIOS. 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 NetBIOS APIs]
 * Implementing CIFS (from the Samba team, published under the Open Publication License)
 * NetBIOS, NetBEUI, NBF, SMB, CIFS Networking
 * LMHOSTS File
 * NETBIOS End Characters / Suffixes – Microsoft Knowledge Base article describing list of NetBIOS Suffixes.
 * – Visual Basic 2010 NetBIOS API source code.