टीसीपी ऑफलोड इंजन: Difference between revisions
(Created page with "{{short description|Technology used in network interface cards}} टीसीपी ऑफलोड इंजन (टीओई) नेटवर्क कंट्रोलर...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{short description|Technology used in network interface cards}} | {{short description|Technology used in network interface cards}} | ||
टीसीपी ऑफलोड इंजन (टीओई) नेटवर्क | टीसीपी ऑफलोड इंजन (टीओई) नेटवर्क नियंत्रक को पूरे टीसीपी/आईपी स्टैक के प्रसंस्करण को ऑफलोड करने के लिए कुछ [[नेटवर्क इंटरफेस कार्ड]] (एनआईसी) में उपयोग की जाने वाली विधि है। यह मुख्य रूप से हाई-स्पीड नेटवर्क इंटरफेस के साथ प्रयोग किया जाता है, जैसे [[गीगाबिट ईथरनेट]] और [[10 गीगाबिट ईथरनेट]], जहां नेटवर्क स्टैक के ओवरहेड को प्रोसेस करना महत्वपूर्ण हो जाता है। | ||
टीओई का | |||
टीओई का अधिकांशतः उपयोग किया जाता है<ref>{{cite conference |date=2003-05-18 |author=Jeffrey C. Mogul|title=टीसीपी ऑफलोड एक गूंगा विचार है जिसका समय आ गया है|conference=HotOS |publisher=[[Usenix]] |url=https://www.usenix.org/conference/hotos-ix/tcp-offload-dumb-idea-whose-time-has-come}}</ref> [[iSCSI|आईएससीएसआई]] और [[ नेटवर्क फ़ाइल सिस्टम | नेटवर्क फ़ाइल प्रणाली]] (एनएफएस) जैसे [[इंटरनेट प्रोटोकॉल]] (आईपी) स्टोरेज प्रोटोकॉल से जुड़े ओवरहेड को कम करने के विधि के रूप में किया जाता है। | |||
== उद्देश्य == | == उद्देश्य == | ||
मूल रूप से [[ प्रसारण नियंत्रण प्रोटोकॉल ]] को अविश्वसनीय कम गति वाले नेटवर्क (जैसे | मूल रूप से [[ प्रसारण नियंत्रण प्रोटोकॉल ]] को अविश्वसनीय कम गति वाले नेटवर्क (जैसे प्रारंभिक [[डायल करें]] [[ मोडम ]]) के लिए डिज़ाइन किया गया था, किन्तु [[ इंटरनेट रीढ़ ]] ट्रांसमिशन गति ([[ऑप्टिकल कैरियर]], गिगाबिट ईथरनेट और 10 गीगाबिट ईथरनेट लिंक का उपयोग करके) और तेज़ और इंटरनेट के विकास के साथ अधिक विश्वसनीय एक्सेस मैकेनिज्म (जैसे [[ डिजिटल खरीदारों की पंक्ति ]] और [[ केबल मॉडेम ]]) इसका उपयोग अधिकांशतः डेटा केंद्रों और डेस्कटॉप [[ निजी कंप्यूटर ]] वातावरण में 1 गीगाबिट प्रति सेकंड की गति से किया जाता है। इस गति पर होस्ट प्रणाली पर टीसीपी सॉफ्टवेयर कार्यान्वयन के लिए महत्वपूर्ण कंप्यूटिंग शक्ति की आवश्यकता होती है। 2000 के दशक की प्रारंभिक में, फुल-डुप्लेक्स गीगाबिट टीसीपी संचार 2.4 गीगाहर्ट्ज़ [[पेंटियम 4]] प्रोसेसर के 80% से अधिक की खपत कर सकता था,<ref name="Foong"/> परिणामस्वरूप प्रणाली पर चलने वाले अनुप्रयोगों के लिए छोटे या कोई प्रसंस्करण संसाधन नहीं बचे हैं। | ||
टीसीपी एक [[कनेक्शन-उन्मुख प्रोटोकॉल]] है जो जटिलता और प्रसंस्करण ओवरहेड जोड़ता है। इन पहलुओं में | टीसीपी एक [[कनेक्शन-उन्मुख प्रोटोकॉल]] है जो जटिलता और प्रसंस्करण ओवरहेड जोड़ता है। इन पहलुओं में सम्मिलित हैं: | ||
* | * संचरण नियंत्रण प्रोटोकॉल या 3-वे हैंडशेक (सिंक्रोनाइज़; सिंक्रोनाइज़-एक्नॉलेज; एकनॉलेज) का उपयोग करके संबंध की स्थापना करना । | ||
* पैकेट की पावती, क्योंकि वे दूर के अंत तक प्राप्त होते हैं, समापन बिंदुओं के बीच संदेश प्रवाह और इस प्रकार प्रोटोकॉल लोड को जोड़ते हैं। | * पैकेट की पावती, क्योंकि वे दूर के अंत तक प्राप्त होते हैं, समापन बिंदुओं के बीच संदेश प्रवाह और इस प्रकार प्रोटोकॉल लोड को जोड़ते हैं। | ||
* [[ अंततः, ]] और अनुक्रम संख्या की गणना - प्रदर्शन करने के लिए एक सामान्य उद्देश्य [[ CPU ]] पर फिर से एक | * [[ अंततः, ]] और अनुक्रम संख्या की गणना - प्रदर्शन करने के लिए एक सामान्य उद्देश्य [[ CPU | सीपीयू]] पर फिर से एक भार। | ||
* पैकेट पावती और [[भीड़ नियंत्रण]] के लिए [[ स्लाइडिंग खिड़की ]] | * पैकेट पावती और [[भीड़ नियंत्रण]] के लिए [[ स्लाइडिंग खिड़की | स्लाइडिंग विंडो]] की गणना करना है। | ||
* प्रसारण नियंत्रण प्रोटोकॉल। | * प्रसारण नियंत्रण प्रोटोकॉल। | ||
इनमें से कुछ या सभी कार्यों को समर्पित हार्डवेयर में स्थानांतरित करना, एक टीसीपी ऑफलोड इंजन, | इनमें से कुछ या सभी कार्यों को समर्पित हार्डवेयर में स्थानांतरित करना, एक टीसीपी ऑफलोड इंजन, प्रणाली के मुख्य सीपीयू को अन्य कार्यों के लिए मुक्त करता है। 2012 तक, बहुत कम उपभोक्ता नेटवर्क इंटरफेस कार्ड टीओआई का समर्थन करते हैं। | ||
=== मुक्त सीपीयू चक्र === | === मुक्त सीपीयू चक्र === | ||
सामान्यतः स्वीकृत नियम यह है कि टीसीपी/आईपी के 1 बिट/एस भेजने या प्राप्त करने के लिए सीपीयू प्रसंस्करण के 1 हर्ट्ज की आवश्यकता होती है।<ref name="Foong">{{cite conference |author1=Annie P. Foong |author2=Thomas R. Huff |author3=Herbert H. Hum |author4=Jaidev P. Patwardhan |author5=Greg J. Regnier |date=2003-04-02 |title=टीसीपी के प्रदर्शन पर दोबारा गौर किया गया|conference=Proceedings of the International Symposium on Performance Analysis of Systems and Software (ISPASS) |location=Austin, Texas |url=http://www.nanogrids.org/jaidev/papers/ispass03.pdf}}</ref> उदाहरण के लिए, 5 Gbit/s (625 MB/s) नेटवर्क ट्रैफ़िक के लिए 5 GHz CPU प्रोसेसिंग की आवश्यकता होती है। इसका अर्थ यह है कि 2.5 गीगाहर्ट्ज़ मल्टी-कोर प्रोसेसर के 2 पूरे कोर को टीसीपी/आईपी ट्रैफिक के 5 जीबीटी/एस से जुड़े टीसीपी/आईपी प्रसंस्करण को संभालने की आवश्यकता होगी। चूंकि ईथरनेट (इस उदाहरण में 10GE) द्विदिश है, इसलिए 10 Gbit/s (20 Gbit/s के समग्र थ्रूपुट के लिए) भेजना और प्राप्त करना संभव है। 1 Hz/(bit/s) नियम का उपयोग करते हुए यह आठ 2.5 GHz कोर के समान है। | |||
टीसीपी/आईपी प्रोसेसिंग के लिए उपयोग किए जाने वाले कई सीपीयू चक्र टीसीपी/आईपी ऑफलोड द्वारा फ्री-अप होते हैं और सीपीयू ( | टीसीपी/आईपी प्रोसेसिंग के लिए उपयोग किए जाने वाले कई सीपीयू चक्र टीसीपी/आईपी ऑफलोड द्वारा फ्री-अप होते हैं और सीपीयू (सामान्यतः एक [[सर्वर (कंप्यूटिंग)]] सीपीयू) द्वारा फाइल प्रणाली प्रोसेसिंग (फाइल सर्वर में) जैसे अन्य कार्यों को करने के लिए उपयोग किया जा सकता है। ) या अनुक्रमण (बैकअप मीडिया सर्वर में)। दूसरे शब्दों में, टीसीपी/आईपी ऑफलोड वाला सर्वर टीसीपी/आईपी ऑफलोड एनआईसी के बिना सर्वर की तुलना में अधिक 'सर्वर' काम कर सकता है। | ||
===पीसीआई ट्रैफिक में कमी=== | ===पीसीआई ट्रैफिक में कमी=== | ||
प्रोटोकॉल ओवरहेड के | प्रोटोकॉल ओवरहेड के अतिरिक्त जिसे टीओई संबोधित कर सकता है, यह कुछ वास्तुशिल्प उद्देश्यो को भी संबोधित कर सकता है जो होस्ट आधारित (सर्वर और पीसी) एंडपॉइंट्स के बड़े प्रतिशत को प्रभावित करते हैं। | ||
एक | कई पुराने एंड पॉइंट होस्ट [[ पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट | पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट]] बस आधारित हैं, जो सर्वर (कंप्यूटिंग) और पीसी के लिए नेटवर्क इंटरफेस जैसे कुछ [[बाह्य उपकरणों]] को जोड़ने के लिए एक मानक इंटरफ़ेस प्रदान करता है। | ||
पीसीआई बस में पीसीआई बस से नेटवर्क इंटरफेस आईसी तक मुख्य मेमोरी से डेटा के छोटे विस्फोटों को स्थानांतरित करने के लिए पीसीआई अक्षम है, किन्तु डेटा विस्फोट आकार बढ़ने के साथ इसकी दक्षता में सुधार होता है। टीसीपी प्रोटोकॉल के अंदर, बड़ी संख्या में छोटे पैकेट बनाए जाते हैं (जैसे पावती) और जैसा कि ये सामान्यतः होस्ट सीपीयू पर उत्पन्न होते हैं और पीसीआई बस में और नेटवर्क भौतिक इंटरफ़ेस से बाहर प्रसारित होते हैं, यह होस्ट कंप्यूटर आईओ थ्रूपुट को प्रभावित करता है। | |||
एक टीओइ समाधान, नेटवर्क इंटरफ़ेस पर स्थित, सीपीयू होस्ट से पीसीआई बस के दूसरी तरफ स्थित है, इसलिए यह इस I/O दक्षता समस्या को संबोधित कर सकता है, क्योंकि टीसीपी संबंध में भेजे जाने वाले डेटा को भेजा जा सकता है। पीसीआई बस में सीपीयू से टीओई बड़े डेटा फट आकार का उपयोग करते हुए पीसीआई बस को पार करने वाले छोटे टीसीपी पैकेटों में से कोई भी नहीं है। | |||
== इतिहास == | == इतिहास == | ||
यूडीपी ऑफलोड के लिए इस | यूडीपी ऑफलोड के लिए इस विधि में पहले पेटेंट में से एक, 1990 की प्रारंभिक में [[ऑस्पेक्स सिस्टम्स|ऑस्पेक्स प्रणाली]] को जारी किया गया था।<ref> | ||
[http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=5355453.PN.&OS=PN/5355453&RS=PN/5355453 United States Patent: 5355453 ''"Parallel I/O network file server architecture category"'']</ref> | [http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=5355453.PN.&OS=PN/5355453&RS=PN/5355453 United States Patent: 5355453 ''"Parallel I/O network file server architecture category"'']</ref> ऑस्पेक्स के संस्थापक लैरी बाउचर और कई ऑस्पेक्स इंजीनियरों ने 1997 में नेटवर्क स्टैक ऑफ़लोड की अवधारणा को टीसीपी तक विस्तारित करने और इसे कस्टम सिलिकॉन में प्रयुक्त करने के विचार के साथ अलाक्रिटेक की स्थापना की थी\। उन्होंने 1999 की प्रारंभिक में पहला समानांतर-स्टैक फुल ऑफलोड नेटवर्क कार्ड प्रस्तुत किया; कंपनी का एसएलआईसी (सेशन लेयर इंटरफेस कार्ड) इसके वर्तमान टीओइ प्रसाद का पूर्ववर्ती था। [[अलाक्रिटेक]] के पास टीसीपी/आईपी ऑफलोड के क्षेत्र में कई पेटेंट हैं।<ref> | ||
[http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=6247060.PN.&OS=PN/6247060&RS=PN/6247060 United States Patent: 6247060 ''"Passing a Communication Block from Host to a Local Device such that a message is processed on the Device"'']</ref> | [http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=6247060.PN.&OS=PN/6247060&RS=PN/6247060 United States Patent: 6247060 ''"Passing a Communication Block from Host to a Local Device such that a message is processed on the Device"'']</ref> | ||
2002 तक, | |||
2002 तक, आईएससीएसआई जैसे टीसीपी-आधारित संचयन के उद्भव के रूप में, यह कहा गया था कि कम से कम एक दर्जन नवागंतुक, जो डॉट-कॉम बबल के अंत की ओर स्थापित हैं, संचयन प्रोटोकॉल के लिए मर्चेंट अर्धचालक त्वरक के अवसर का पीछा कर रहे हैं। और अनुप्रयोग, आधा दर्जन आरोपित विक्रेताओं और इन-हाउस एएसआईसी डिज़ाइनों के साथ प्रतिस्पर्धा कर रहे हैं।<ref>[http://www.eetimes.com/electronics-news/4143213/Newcomers-spin-storage-network-silicon "Newcomers spin storage network silicon "], Rick Merritt, | |||
10/21/2002, EE Times</ref> | 10/21/2002, EE Times</ref> | ||
2005 में [[Microsoft]] ने | |||
2005 में [[Microsoft|माइक्रोसॉफ्ट]] ने अलाक्रिटेक के पेटेंट बेस को लाइसेंस दिया और अलाक्रिटेक के साथ मिलकर आंशिक टीसीपी ऑफ़लोड आर्किटेक्चर बनाया जिसे टीसीपी चिमनी ऑफ़लोड के रूप में जाना जाता है। एलाक्रिटेक कम्युनिकेशन ब्लॉक पासिंग पेटेंट पर टीसीपी चिमनी ऑफलोड केंद्र उसी समय, ब्रॉडकॉम ने टीसीपी चिमनी ऑफलोड चिप्स बनाने का लाइसेंस भी प्राप्त किया। | |||
== प्रकार == | == प्रकार == | ||
टीसीपी स्टैक को पूरी तरह से टीओई के साथ बदलने के बजाय, ऑपरेटिंग | टीसीपी स्टैक को पूरी तरह से टीओई के साथ बदलने के बजाय, ऑपरेटिंग प्रणाली के टीसीपी स्टैक के साथ सहयोग में कुछ परिचालनों को ऑफलोड करने के लिए वैकल्पिक तकनीकें हैं। [[टीसीपी चेकसम ऑफलोड]] और बड़े खंड ऑफलोड आज के अधिकांश ईथरनेट एनआईसी द्वारा समर्थित हैं। नई विधि जैसे [[ बड़े ऑफलोड प्राप्त करते हैं ]] और टीसीपी पावती ऑफलोड पहले से ही कुछ हाई-एंड ईथरनेट हार्डवेयर में प्रयुक्त हैं, किन्तु सॉफ्टवेयर में पूरी तरह से प्रयुक्त होने पर भी प्रभावी हैं।<ref name=lwn-lro>{{cite news |author=Jonathan Corbet |date=2007-08-01 |publisher=[[LWN.net]] |title=बड़े ऑफलोड प्राप्त करते हैं|url=https://lwn.net/Articles/243949/ |access-date=2007-08-22 }}</ref><ref name=menon>{{cite conference |date=2008-04-28 |author1=Aravind Menon |author2=Willy Zwaenepoel |title=टीसीपी प्राप्त करने के प्रदर्शन का अनुकूलन|conference=USENIX Annual Technical Conference |publisher=USENIX |url=http://www.usenix.org/event/usenix08/tech/full_papers/menon/menon_html/paper.html }}</ref> | ||
=== समानांतर-स्टैक पूर्ण ऑफलोड === | === समानांतर-स्टैक पूर्ण ऑफलोड === | ||
समानांतर-स्टैक पूर्ण ऑफलोड को इसका नाम दो समानांतर टीसीपी/आईपी स्टैक की अवधारणा से मिलता है। पहला मुख्य होस्ट स्टैक है जो होस्ट ओएस के साथ | समानांतर-स्टैक पूर्ण ऑफलोड को इसका नाम दो समानांतर टीसीपी/आईपी स्टैक की अवधारणा से मिलता है। पहला मुख्य होस्ट स्टैक है जो होस्ट ओएस के साथ सम्मिलित है। दूसरा या समानांतर स्टैक इंटरनेट प्रोटोकॉल सूट या एप्लीकेशन लेयर और इंटरनेट प्रोटोकॉल सूट या ट्रांसपोर्ट लेयर|ट्रांसपोर्ट लेयर (टीसीपी) के बीच वैम्पायर टैप का उपयोग करके जुड़ा हुआ है। वैम्पायर टैप अनुप्रयोगों द्वारा टीसीपी संबंध अनुरोधों को स्वीकार करता है और टीसीपी संबंध प्रबंधन के साथ-साथ टीसीपी डेटा ट्रांसफर के लिए जिम्मेदार है। निम्नलिखित खंड में कई आलोचनाएँ इस प्रकार के टीसीपी ऑफलोड से संबंधित हैं। | ||
=== एचबीए पूर्ण ऑफलोड === | === एचबीए पूर्ण ऑफलोड === | ||
HBA (होस्ट बस एडॉप्टर) पूर्ण ऑफलोड | HBA (होस्ट बस एडॉप्टर) पूर्ण ऑफलोड आईएससीएसआई [[मेजबान अनुकूलक|होस्ट अनुकूलक]] में पाया जाता है जो एक आईएससीएसआई स्टोरेज डिवाइस से (TCP/आईपी के माध्यम से) कनेक्ट करते समय खुद को होस्ट प्रणाली के लिए डिस्क नियंत्रक के रूप में प्रस्तुत करता है। इस प्रकार का टीसीपी ऑफलोड न केवल टीसीपी/आईपी प्रोसेसिंग को ऑफलोड करता है बल्कि यह आईएससीएसआई आरंभकर्ता फ़ंक्शन को भी ऑफलोड करता है। क्योंकि HBA होस्ट को एक डिस्क नियंत्रक के रूप में दिखाई देता है, इसका उपयोग केवल आईएससीएसआई डिवाइस के साथ किया जा सकता है और सामान्य TCP/आईपी ऑफलोड के लिए उपयुक्त नहीं है। | ||
=== टीसीपी चिमनी आंशिक ऑफलोड === | === टीसीपी चिमनी आंशिक ऑफलोड === | ||
टीसीपी चिमनी ऑफलोड समानांतर-स्टैक फुल ऑफलोड की प्रमुख सुरक्षा आलोचना को संबोधित करता है। आंशिक ऑफलोड में, मुख्य | टीसीपी चिमनी ऑफलोड समानांतर-स्टैक फुल ऑफलोड की प्रमुख सुरक्षा आलोचना को संबोधित करता है। आंशिक ऑफलोड में, मुख्य प्रणाली स्टैक होस्ट के सभी कनेक्शनों को नियंत्रित करता है। स्थानीय होस्ट (सामान्यतः एक सर्वर) और एक विदेशी होस्ट (सामान्यतः एक क्लाइंट) के बीच एक संबंध स्थापित होने के बाद संबंध और इसकी स्थिति टीसीपी ऑफलोड इंजन को पास की जाती है। डेटा ट्रांसमिट और रिसीव की भारी लिफ्टिंग को ऑफलोड डिवाइस द्वारा नियंत्रित किया जाता है। लगभग सभी टीसीपी ऑफलोड इंजन होस्ट सीपीयू हस्तक्षेप के बिना डेटा ट्रांसफर करने के लिए कुछ प्रकार के टीसीपी/आईपी हार्डवेयर कार्यान्वयन का उपयोग करते हैं। जब संबंध बंद हो जाता है, तो संबंध स्थिति ऑफलोड इंजन से मुख्य प्रणाली स्टैक में वापस आ जाती है। टीसीपी संबंध का नियंत्रण बनाए रखना मुख्य प्रणाली स्टैक को संबंध सुरक्षा को प्रयुक्त करने और नियंत्रित करने की अनुमति देता है। | ||
=== बड़ा प्राप्त ऑफलोड === | === बड़ा प्राप्त ऑफलोड === | ||
लार्ज रिसीव ऑफलोड (एलआरओ) [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू) ओवरहेड को कम करके हाई-[[बैंडविड्थ (कंप्यूटिंग)]] नेटवर्क | लार्ज रिसीव ऑफलोड (एलआरओ) [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू) ओवरहेड को कम करके हाई-[[बैंडविड्थ (कंप्यूटिंग)]] नेटवर्क संबंध के इनबाउंड [[THROUGHPUT]] को बढ़ाने की एक विधि है। यह एक ही [[स्ट्रीम (कंप्यूटिंग)]] से आने वाले कई [[पैकेट (सूचना प्रौद्योगिकी)]] को एक बड़े बफर में एकत्रित करके काम करता है, इससे पहले कि वे नेटवर्किंग स्टैक के ऊपर से गुजरते हैं, इस प्रकार उन पैकेटों की संख्या कम हो जाती है जिन्हें संसाधित किया जाना है। [[लिनक्स]] कार्यान्वयन सामान्यतः [[ बाधा डालना ]] की संख्या को कम करने के लिए [[ नया एपीआई ]] (एनएपीआई) के संयोजन में एलआरओ का उपयोग करता है। | ||
बेंचमार्क के अनुसार, इस | बेंचमार्क के अनुसार, इस विधि को पूरी तरह से सॉफ्टवेयर में प्रयुक्त करने से भी नेटवर्क के प्रदर्शन में काफी वृद्धि हो सकती है।<ref name=lwn-lro/><ref name=menon /><ref>{{cite mailing list |author= Andrew Gallatin |title= lro: Generic Large Receive Offload for TCP traffic |mailing-list= linux-kernel |date= 2007-07-25 |url= https://lkml.org/lkml/2007/7/25/313 |access-date= 2007-08-22 }}</ref> {{As of | 2007 | April}}, Linux कर्नेल केवल सॉफ़्टवेयर में संचरण नियंत्रण प्रोटोकॉल के लिए LRO का समर्थन करता है। फ्रीबीएसडी 8 एडेप्टर पर हार्डवेयर में एलआरओ का समर्थन करता है जो इसका समर्थन करता है।<ref>{{cite web|url=http://www.freebsd.org/cgi/man.cgi?cxgb|title=सीएक्सजीबी|website=Freebsd.org|access-date=12 July 2018}}</ref><ref>{{cite web|url=http://www.freebsd.org/cgi/man.cgi?mxge|title=एमएक्सजीई|website=Freebsd.org|access-date=12 July 2018}}</ref><ref>{{cite web|url=http://www.freebsd.org/cgi/man.cgi?nxge|title=समय|website=Freebsd.org|access-date=12 July 2018}}</ref> | ||
<ref name=vmxnet-lro>{{cite news | date= 2011-07-04 |publisher= [[VMware]] | title= एलआरओ सक्षम के साथ लिनक्स वर्चुअल मशीनों में खराब टीसीपी प्रदर्शन हो सकता है|url= http://kb.vmware.com/kb/1027511 |access-date= 2011-08-17 }}</ref> | <ref name=vmxnet-lro>{{cite news | date= 2011-07-04 |publisher= [[VMware]] | title= एलआरओ सक्षम के साथ लिनक्स वर्चुअल मशीनों में खराब टीसीपी प्रदर्शन हो सकता है|url= http://kb.vmware.com/kb/1027511 |access-date= 2011-08-17 }}</ref> | ||
LRO को राउटर के रूप में कार्य करने वाली मशीनों पर काम नहीं करना चाहिए, क्योंकि यह [[एंड-टू-एंड सिद्धांत]] को तोड़ता है और प्रदर्शन को महत्वपूर्ण रूप से प्रभावित कर सकता है।<ref>{{cite web|url= http://downloadmirror.intel.com/14687/eng/readme.txt|title= Linux* Intel(R) ईथरनेट 10 गीगाबिट PCI एक्सप्रेस परिवार के एडेप्टर के लिए बेस ड्राइवर|publisher= [[Intel Corporation]]|date= 2013-02-12|access-date= 2013-04-24}}</ref><ref>{{cite web|url= https://bugzilla.redhat.com/show_bug.cgi?id=772317|title= एलआरओ सक्षम वाले सभी एनआईसी के लिए एलआरओ को अक्षम करें|publisher= [[Red Hat, Inc.]]|date= 2013-01-10|access-date= 2013-04-24}}</ref> | LRO को राउटर के रूप में कार्य करने वाली मशीनों पर काम नहीं करना चाहिए, क्योंकि यह [[एंड-टू-एंड सिद्धांत]] को तोड़ता है और प्रदर्शन को महत्वपूर्ण रूप से प्रभावित कर सकता है।<ref>{{cite web|url= http://downloadmirror.intel.com/14687/eng/readme.txt|title= Linux* Intel(R) ईथरनेट 10 गीगाबिट PCI एक्सप्रेस परिवार के एडेप्टर के लिए बेस ड्राइवर|publisher= [[Intel Corporation]]|date= 2013-02-12|access-date= 2013-04-24}}</ref><ref>{{cite web|url= https://bugzilla.redhat.com/show_bug.cgi?id=772317|title= एलआरओ सक्षम वाले सभी एनआईसी के लिए एलआरओ को अक्षम करें|publisher= [[Red Hat, Inc.]]|date= 2013-01-10|access-date= 2013-04-24}}</ref> | ||
Line 59: | Line 64: | ||
==== सामान्य ऑफलोड प्राप्त करें ==== | ==== सामान्य ऑफलोड प्राप्त करें ==== | ||
जेनेरिक प्राप्त ऑफलोड (जीआरओ) सॉफ्टवेयर में एक सामान्यीकृत एलआरओ | जेनेरिक प्राप्त ऑफलोड (जीआरओ) सॉफ्टवेयर में एक सामान्यीकृत एलआरओ प्रयुक्त करता है जो टीसीपी/आईपीवी4 तक सीमित नहीं है या एलआरओ द्वारा बनाई गई समस्याएं हैं।<ref>{{cite web|url=https://lwn.net/Articles/358910/|title=JLS2009: Generic receive offload|website=[[lwn.net]]}}</ref><ref>{{cite conference | last1 = Huang| first1 = Shu| last2 = Baldine| first2 = Ilia| title = Performance Evaluation of 10GE NICs with SR-IOV Support: I/O Virtualization and network Stack Optimizations| editor1-last = Schmitt| editor1-first = Jens B. | conference = Measurement, Modeling, and Evaluation of Computing Systems and Dependability and Fault Tolerance: 16th International GI/ITG Conference, MMB & DFT 2012 |location=Kaiserslautern, Germany |date=March 2012 | url = https://books.google.com/books?id=C3wQBwAAQBAJ| series = Lecture Notes in Computer Science | volume = 7201| publisher = Springer| publication-date = 2012| page = 198| isbn = 9783642285400| access-date = 2016-10-11| quote = Large-Receive-Offload (LRO) reduces the per-packet processing overhead by aggregating smaller packets into larger ones and passing them up to the network stack. Generic-Receive-Offload (GRO) provides a generalized software version of LRO [...].}} | ||
</ref> | </ref> | ||
=== बड़ी मात्रा में ऑफलोड भेजें === | === बड़ी मात्रा में ऑफलोड भेजें === | ||
[[ संगणक संजाल ]]िंग में, लार्ज सेंड ऑफलोड (एलएसओ) सेंट्रल प्रोसेसिंग यूनिट ओवरहेड को कम करके हाई-बैंडविड्थ (कंप्यूटिंग) नेटवर्क | [[ संगणक संजाल ]]िंग में, लार्ज सेंड ऑफलोड (एलएसओ) सेंट्रल प्रोसेसिंग यूनिट ओवरहेड को कम करके हाई-बैंडविड्थ (कंप्यूटिंग) नेटवर्क संबंध के इग्रेस थ्रूपुट को बढ़ाने की एक विधि है। यह नेटवर्क इंटरफेस कार्ड (एनआईसी) के लिए एक मल्टीपैकेट बफर पास करके काम करता है। NIC तब इस बफ़र को अलग-अलग पैकेट में विभाजित करता है। संचरण नियंत्रण प्रोटोकॉल पर प्रयुक्त होने पर विधि को टीसीपी सेगमेंटेशन ऑफलोड (टीएसओ) या जेनेरिक सेगमेंटेशन ऑफलोड (जीएसओ) भी कहा जाता है। एलएसओ और एलआरओ स्वतंत्र हैं और एक के उपयोग के लिए दूसरे के उपयोग की आवश्यकता नहीं है। | ||
जब एक | जब एक प्रणाली को एक कंप्यूटर नेटवर्क पर बड़ी मात्रा में डेटा भेजने की आवश्यकता होती है, तो सबसे पहले टुकड़ों को छोटे खंडों में तोड़ने की आवश्यकता होती है जो राउटर और स्रोत और गंतव्य कंप्यूटर के बीच स्विच जैसे सभी नेटवर्क तत्वों से गुजर सकते हैं। इस प्रक्रिया को ''[[ पैकेट विभाजन ]]'' कहा जाता है। होस्ट कंप्यूटर में अधिकांशतः टीसीपी प्रोटोकॉल इस विभाजन को करता है। इस कार्य को एनआईसी को ऑफलोड करने को 'टीसीपी सेगमेंटेशन ऑफलोड' (टीएसओ) कहा जाता है। | ||
उदाहरण के लिए, 64 KiB (65,536 बाइट्स) डेटा की एक इकाई को | उदाहरण के लिए, 64 KiB (65,536 बाइट्स) डेटा की एक इकाई को सामान्यतः NIC और नेटवर्क पर भेजे जाने से पहले प्रत्येक 1460 बाइट्स के 45 सेगमेंट में विभाजित किया जाता है। NIC में कुछ बुद्धिमत्ता के साथ, होस्ट सीपीयू 64 KB डेटा को NIC को एक ट्रांसमिट-अनुरोध में सौंप सकता है, NIC उस डेटा को 1460 बाइट्स के छोटे खंडों में तोड़ सकता है, TCP, इंटरनेट प्रोटोकॉल और जोड़ सकता है। डेटा लिंक परत प्रोटोकॉल हेडर - होस्ट के टीसीपी/आईपी स्टैक द्वारा प्रदान किए गए टेम्पलेट के अनुसार - प्रत्येक खंड के लिए, और परिणामी फ़्रेम को नेटवर्क पर भेजें। यह सीपीयू द्वारा किए गए कार्य को काफी कम कर देता है। {{As of | 2014}} बाजार में कई नए एनआईसी टीएसओ का समर्थन करते हैं। | ||
कुछ नेटवर्क कार्ड टीएसओ को सामान्य रूप से पर्याप्त रूप से | कुछ नेटवर्क कार्ड टीएसओ को सामान्य रूप से पर्याप्त रूप से प्रयुक्त करते हैं कि इसका उपयोग अन्य परिवहन परत प्रोटोकॉल के विखंडन को लोड करने के लिए किया जा सकता है, या उन प्रोटोकॉल के लिए आईपी विखंडन करने के लिए किया जा सकता है जो स्वयं द्वारा विखंडन का समर्थन नहीं करते हैं, जैसे [[डेटाग्राम प्रोटेकॉलका उपयोग करें]] | ||
== लिनक्स में समर्थन == | == लिनक्स में समर्थन == | ||
फ्रीबीएसडी जैसे अन्य ऑपरेटिंग सिस्टमों के विपरीत, लिनक्स कर्नेल में टीओई के लिए समर्थन | फ्रीबीएसडी जैसे अन्य ऑपरेटिंग सिस्टमों के विपरीत, लिनक्स कर्नेल में टीओई के लिए समर्थन सम्मिलित नहीं है (अन्य प्रकार के नेटवर्क ऑफलोड से भ्रमित नहीं होना चाहिए)।<ref>[https://lwn.net/Articles/148697/ "Linux and TCP offload engines"], August 22, 2005, LWN.net</ref> जबकि हार्डवेयर निर्माताओं जैसे [[चेल्सियो]] या [[कलोजिक]] से पैच हैं जो टीओई समर्थन जोड़ते हैं, लिनक्स कर्नेल डेवलपर्स कई कारणों से इस विधि का विरोध करते हैं:<ref>{{citation | url = http://www.linuxfoundation.org/collaborate/workgroups/networking/toe | title = Net:TOE | publisher = Linux Foundation}}.</ref> | ||
* सुरक्षा - क्योंकि टीओई हार्डवेयर में | * सुरक्षा - क्योंकि टीओई हार्डवेयर में प्रयुक्त किया गया है, किसी विशेष टीओई कार्यान्वयन में पाए जाने वाले किसी भी सुरक्षा भेद्यता को दूर करने के लिए पैच को केवल सॉफ्टवेयर के अतिरक्त टीओई [[फर्मवेयर]] पर प्रयुक्त किया जाना चाहिए। यह इस हार्डवेयर की नवीनता और विक्रेता-विशिष्टता द्वारा और भी जटिल है, जैसा कि एक अच्छी तरह से परीक्षण किए गए टीसीपी/आईपी स्टैक की तुलना में एक ऑपरेटिंग प्रणाली में पाया जाता है जो टीओई का उपयोग नहीं करता है। | ||
* हार्डवेयर की सीमाएं - क्योंकि | * हार्डवेयर की सीमाएं - क्योंकि संबंध बफ़र किए जाते हैं और टीओइ चिप पर संसाधित होते हैं, ऑपरेटिंग प्रणाली के लिए उपलब्ध उदार सीपीयू और मेमोरी की तुलना में संसाधन अप्राप्ति अधिक आसानी से हो सकती है। | ||
* जटिलता - टीओई इस धारणा को तोड़ता है कि | * जटिलता - टीओई इस धारणा को तोड़ता है कि कर्नेल हर समय सभी संसाधनों तक पहुंच के बारे में बनाती है - विवर्त संबंध द्वारा उपयोग की जाने वाली मेमोरी जैसे विवरण टीओई के साथ उपलब्ध नहीं हैं। टीओइ को ठीक से समर्थित होने के लिए नेटवर्किंग स्टैक में बहुत बड़े बदलावों की आवश्यकता होती है, और जब ऐसा किया जाता है, तब भी [[सेवा की गुणवत्ता]] और [[पैकेट फ़िल्टरिंग]] जैसी सुविधाएँ काम नहीं कर सकती हैं। | ||
* | * स्वामित्व- टीओइ को प्रत्येक हार्डवेयर विक्रेता द्वारा अलग तरह से प्रयुक्त किया जाता है। इसका अर्थ है कि उपरोक्त जटिलता और संभवतः सुरक्षा की कीमत पर विभिन्न टीओई कार्यान्वयन से निपटने के लिए अधिक कोड को फिर से लिखा जाना चाहिए। इसके अतिरिक्त, टीओइ फर्मवेयर को आसानी से संशोधित नहीं किया जा सकता क्योंकि यह बंद-स्रोत है। | ||
* अप्रचलन - प्रत्येक टीओई एनआईसी की उपयोगिता का सीमित जीवनकाल होता है, क्योंकि | * अप्रचलन - प्रत्येक टीओई एनआईसी की उपयोगिता का सीमित जीवनकाल होता है, क्योंकि प्रणाली हार्डवेयर तेजी से टीओई प्रदर्शन स्तर तक पहुंच जाता है, और अंततः टीओई प्रदर्शन स्तर से अधिक हो जाता है। | ||
== आपूर्तिकर्ता == | == आपूर्तिकर्ता == | ||
टीओई प्रौद्योगिकी पर वर्तमान कार्य 10 गिगाबिट ईथरनेट इंटरफेस कार्ड के निर्माताओं द्वारा किया जाता है, जैसे [[ब्रॉडकॉम]], [[ चेल्सी कम्युनिकेशंस ]], [[एमुलेक्स]], [[मेलानॉक्स टेक्नोलॉजीज]], [[QLogic]] | टीओई प्रौद्योगिकी पर वर्तमान कार्य 10 गिगाबिट ईथरनेट इंटरफेस कार्ड के निर्माताओं द्वारा किया जाता है, जैसे [[ब्रॉडकॉम]], [[ चेल्सी कम्युनिकेशंस ]], [[एमुलेक्स]], [[मेलानॉक्स टेक्नोलॉजीज]], [[QLogic|क्यूलॉजिक]] | | ||
== यह भी देखें == | == यह भी देखें == | ||
Line 94: | Line 99: | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
* Article: [https://web.archive.org/web/20041028124133/http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=154 | * Article: [https://web.archive.org/web/20041028124133/http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=154 टीसीपी Offload to the Rescue] by Andy Currid at [http://www.acmqueue.com/ ACM Queue] | ||
* [http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220040042487%22.PGNR.&OS=DN/20040042487&RS=DN/20040042487 Patent Application 20040042487 ] | * [http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220040042487%22.PGNR.&OS=DN/20040042487&RS=DN/20040042487 Patent Application 20040042487 ] | ||
* {{cite conference | * {{cite conference |
Revision as of 10:00, 10 May 2023
टीसीपी ऑफलोड इंजन (टीओई) नेटवर्क नियंत्रक को पूरे टीसीपी/आईपी स्टैक के प्रसंस्करण को ऑफलोड करने के लिए कुछ नेटवर्क इंटरफेस कार्ड (एनआईसी) में उपयोग की जाने वाली विधि है। यह मुख्य रूप से हाई-स्पीड नेटवर्क इंटरफेस के साथ प्रयोग किया जाता है, जैसे गीगाबिट ईथरनेट और 10 गीगाबिट ईथरनेट, जहां नेटवर्क स्टैक के ओवरहेड को प्रोसेस करना महत्वपूर्ण हो जाता है।
टीओई का अधिकांशतः उपयोग किया जाता है[1] आईएससीएसआई और नेटवर्क फ़ाइल प्रणाली (एनएफएस) जैसे इंटरनेट प्रोटोकॉल (आईपी) स्टोरेज प्रोटोकॉल से जुड़े ओवरहेड को कम करने के विधि के रूप में किया जाता है।
उद्देश्य
मूल रूप से प्रसारण नियंत्रण प्रोटोकॉल को अविश्वसनीय कम गति वाले नेटवर्क (जैसे प्रारंभिक डायल करें मोडम ) के लिए डिज़ाइन किया गया था, किन्तु इंटरनेट रीढ़ ट्रांसमिशन गति (ऑप्टिकल कैरियर, गिगाबिट ईथरनेट और 10 गीगाबिट ईथरनेट लिंक का उपयोग करके) और तेज़ और इंटरनेट के विकास के साथ अधिक विश्वसनीय एक्सेस मैकेनिज्म (जैसे डिजिटल खरीदारों की पंक्ति और केबल मॉडेम ) इसका उपयोग अधिकांशतः डेटा केंद्रों और डेस्कटॉप निजी कंप्यूटर वातावरण में 1 गीगाबिट प्रति सेकंड की गति से किया जाता है। इस गति पर होस्ट प्रणाली पर टीसीपी सॉफ्टवेयर कार्यान्वयन के लिए महत्वपूर्ण कंप्यूटिंग शक्ति की आवश्यकता होती है। 2000 के दशक की प्रारंभिक में, फुल-डुप्लेक्स गीगाबिट टीसीपी संचार 2.4 गीगाहर्ट्ज़ पेंटियम 4 प्रोसेसर के 80% से अधिक की खपत कर सकता था,[2] परिणामस्वरूप प्रणाली पर चलने वाले अनुप्रयोगों के लिए छोटे या कोई प्रसंस्करण संसाधन नहीं बचे हैं।
टीसीपी एक कनेक्शन-उन्मुख प्रोटोकॉल है जो जटिलता और प्रसंस्करण ओवरहेड जोड़ता है। इन पहलुओं में सम्मिलित हैं:
- संचरण नियंत्रण प्रोटोकॉल या 3-वे हैंडशेक (सिंक्रोनाइज़; सिंक्रोनाइज़-एक्नॉलेज; एकनॉलेज) का उपयोग करके संबंध की स्थापना करना ।
- पैकेट की पावती, क्योंकि वे दूर के अंत तक प्राप्त होते हैं, समापन बिंदुओं के बीच संदेश प्रवाह और इस प्रकार प्रोटोकॉल लोड को जोड़ते हैं।
- अंततः, और अनुक्रम संख्या की गणना - प्रदर्शन करने के लिए एक सामान्य उद्देश्य सीपीयू पर फिर से एक भार।
- पैकेट पावती और भीड़ नियंत्रण के लिए स्लाइडिंग विंडो की गणना करना है।
- प्रसारण नियंत्रण प्रोटोकॉल।
इनमें से कुछ या सभी कार्यों को समर्पित हार्डवेयर में स्थानांतरित करना, एक टीसीपी ऑफलोड इंजन, प्रणाली के मुख्य सीपीयू को अन्य कार्यों के लिए मुक्त करता है। 2012 तक, बहुत कम उपभोक्ता नेटवर्क इंटरफेस कार्ड टीओआई का समर्थन करते हैं।
मुक्त सीपीयू चक्र
सामान्यतः स्वीकृत नियम यह है कि टीसीपी/आईपी के 1 बिट/एस भेजने या प्राप्त करने के लिए सीपीयू प्रसंस्करण के 1 हर्ट्ज की आवश्यकता होती है।[2] उदाहरण के लिए, 5 Gbit/s (625 MB/s) नेटवर्क ट्रैफ़िक के लिए 5 GHz CPU प्रोसेसिंग की आवश्यकता होती है। इसका अर्थ यह है कि 2.5 गीगाहर्ट्ज़ मल्टी-कोर प्रोसेसर के 2 पूरे कोर को टीसीपी/आईपी ट्रैफिक के 5 जीबीटी/एस से जुड़े टीसीपी/आईपी प्रसंस्करण को संभालने की आवश्यकता होगी। चूंकि ईथरनेट (इस उदाहरण में 10GE) द्विदिश है, इसलिए 10 Gbit/s (20 Gbit/s के समग्र थ्रूपुट के लिए) भेजना और प्राप्त करना संभव है। 1 Hz/(bit/s) नियम का उपयोग करते हुए यह आठ 2.5 GHz कोर के समान है।
टीसीपी/आईपी प्रोसेसिंग के लिए उपयोग किए जाने वाले कई सीपीयू चक्र टीसीपी/आईपी ऑफलोड द्वारा फ्री-अप होते हैं और सीपीयू (सामान्यतः एक सर्वर (कंप्यूटिंग) सीपीयू) द्वारा फाइल प्रणाली प्रोसेसिंग (फाइल सर्वर में) जैसे अन्य कार्यों को करने के लिए उपयोग किया जा सकता है। ) या अनुक्रमण (बैकअप मीडिया सर्वर में)। दूसरे शब्दों में, टीसीपी/आईपी ऑफलोड वाला सर्वर टीसीपी/आईपी ऑफलोड एनआईसी के बिना सर्वर की तुलना में अधिक 'सर्वर' काम कर सकता है।
पीसीआई ट्रैफिक में कमी
प्रोटोकॉल ओवरहेड के अतिरिक्त जिसे टीओई संबोधित कर सकता है, यह कुछ वास्तुशिल्प उद्देश्यो को भी संबोधित कर सकता है जो होस्ट आधारित (सर्वर और पीसी) एंडपॉइंट्स के बड़े प्रतिशत को प्रभावित करते हैं।
कई पुराने एंड पॉइंट होस्ट पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट बस आधारित हैं, जो सर्वर (कंप्यूटिंग) और पीसी के लिए नेटवर्क इंटरफेस जैसे कुछ बाह्य उपकरणों को जोड़ने के लिए एक मानक इंटरफ़ेस प्रदान करता है।
पीसीआई बस में पीसीआई बस से नेटवर्क इंटरफेस आईसी तक मुख्य मेमोरी से डेटा के छोटे विस्फोटों को स्थानांतरित करने के लिए पीसीआई अक्षम है, किन्तु डेटा विस्फोट आकार बढ़ने के साथ इसकी दक्षता में सुधार होता है। टीसीपी प्रोटोकॉल के अंदर, बड़ी संख्या में छोटे पैकेट बनाए जाते हैं (जैसे पावती) और जैसा कि ये सामान्यतः होस्ट सीपीयू पर उत्पन्न होते हैं और पीसीआई बस में और नेटवर्क भौतिक इंटरफ़ेस से बाहर प्रसारित होते हैं, यह होस्ट कंप्यूटर आईओ थ्रूपुट को प्रभावित करता है।
एक टीओइ समाधान, नेटवर्क इंटरफ़ेस पर स्थित, सीपीयू होस्ट से पीसीआई बस के दूसरी तरफ स्थित है, इसलिए यह इस I/O दक्षता समस्या को संबोधित कर सकता है, क्योंकि टीसीपी संबंध में भेजे जाने वाले डेटा को भेजा जा सकता है। पीसीआई बस में सीपीयू से टीओई बड़े डेटा फट आकार का उपयोग करते हुए पीसीआई बस को पार करने वाले छोटे टीसीपी पैकेटों में से कोई भी नहीं है।
इतिहास
यूडीपी ऑफलोड के लिए इस विधि में पहले पेटेंट में से एक, 1990 की प्रारंभिक में ऑस्पेक्स प्रणाली को जारी किया गया था।[3] ऑस्पेक्स के संस्थापक लैरी बाउचर और कई ऑस्पेक्स इंजीनियरों ने 1997 में नेटवर्क स्टैक ऑफ़लोड की अवधारणा को टीसीपी तक विस्तारित करने और इसे कस्टम सिलिकॉन में प्रयुक्त करने के विचार के साथ अलाक्रिटेक की स्थापना की थी\। उन्होंने 1999 की प्रारंभिक में पहला समानांतर-स्टैक फुल ऑफलोड नेटवर्क कार्ड प्रस्तुत किया; कंपनी का एसएलआईसी (सेशन लेयर इंटरफेस कार्ड) इसके वर्तमान टीओइ प्रसाद का पूर्ववर्ती था। अलाक्रिटेक के पास टीसीपी/आईपी ऑफलोड के क्षेत्र में कई पेटेंट हैं।[4]
2002 तक, आईएससीएसआई जैसे टीसीपी-आधारित संचयन के उद्भव के रूप में, यह कहा गया था कि कम से कम एक दर्जन नवागंतुक, जो डॉट-कॉम बबल के अंत की ओर स्थापित हैं, संचयन प्रोटोकॉल के लिए मर्चेंट अर्धचालक त्वरक के अवसर का पीछा कर रहे हैं। और अनुप्रयोग, आधा दर्जन आरोपित विक्रेताओं और इन-हाउस एएसआईसी डिज़ाइनों के साथ प्रतिस्पर्धा कर रहे हैं।[5]
2005 में माइक्रोसॉफ्ट ने अलाक्रिटेक के पेटेंट बेस को लाइसेंस दिया और अलाक्रिटेक के साथ मिलकर आंशिक टीसीपी ऑफ़लोड आर्किटेक्चर बनाया जिसे टीसीपी चिमनी ऑफ़लोड के रूप में जाना जाता है। एलाक्रिटेक कम्युनिकेशन ब्लॉक पासिंग पेटेंट पर टीसीपी चिमनी ऑफलोड केंद्र उसी समय, ब्रॉडकॉम ने टीसीपी चिमनी ऑफलोड चिप्स बनाने का लाइसेंस भी प्राप्त किया।
प्रकार
टीसीपी स्टैक को पूरी तरह से टीओई के साथ बदलने के बजाय, ऑपरेटिंग प्रणाली के टीसीपी स्टैक के साथ सहयोग में कुछ परिचालनों को ऑफलोड करने के लिए वैकल्पिक तकनीकें हैं। टीसीपी चेकसम ऑफलोड और बड़े खंड ऑफलोड आज के अधिकांश ईथरनेट एनआईसी द्वारा समर्थित हैं। नई विधि जैसे बड़े ऑफलोड प्राप्त करते हैं और टीसीपी पावती ऑफलोड पहले से ही कुछ हाई-एंड ईथरनेट हार्डवेयर में प्रयुक्त हैं, किन्तु सॉफ्टवेयर में पूरी तरह से प्रयुक्त होने पर भी प्रभावी हैं।[6][7]
समानांतर-स्टैक पूर्ण ऑफलोड
समानांतर-स्टैक पूर्ण ऑफलोड को इसका नाम दो समानांतर टीसीपी/आईपी स्टैक की अवधारणा से मिलता है। पहला मुख्य होस्ट स्टैक है जो होस्ट ओएस के साथ सम्मिलित है। दूसरा या समानांतर स्टैक इंटरनेट प्रोटोकॉल सूट या एप्लीकेशन लेयर और इंटरनेट प्रोटोकॉल सूट या ट्रांसपोर्ट लेयर|ट्रांसपोर्ट लेयर (टीसीपी) के बीच वैम्पायर टैप का उपयोग करके जुड़ा हुआ है। वैम्पायर टैप अनुप्रयोगों द्वारा टीसीपी संबंध अनुरोधों को स्वीकार करता है और टीसीपी संबंध प्रबंधन के साथ-साथ टीसीपी डेटा ट्रांसफर के लिए जिम्मेदार है। निम्नलिखित खंड में कई आलोचनाएँ इस प्रकार के टीसीपी ऑफलोड से संबंधित हैं।
एचबीए पूर्ण ऑफलोड
HBA (होस्ट बस एडॉप्टर) पूर्ण ऑफलोड आईएससीएसआई होस्ट अनुकूलक में पाया जाता है जो एक आईएससीएसआई स्टोरेज डिवाइस से (TCP/आईपी के माध्यम से) कनेक्ट करते समय खुद को होस्ट प्रणाली के लिए डिस्क नियंत्रक के रूप में प्रस्तुत करता है। इस प्रकार का टीसीपी ऑफलोड न केवल टीसीपी/आईपी प्रोसेसिंग को ऑफलोड करता है बल्कि यह आईएससीएसआई आरंभकर्ता फ़ंक्शन को भी ऑफलोड करता है। क्योंकि HBA होस्ट को एक डिस्क नियंत्रक के रूप में दिखाई देता है, इसका उपयोग केवल आईएससीएसआई डिवाइस के साथ किया जा सकता है और सामान्य TCP/आईपी ऑफलोड के लिए उपयुक्त नहीं है।
टीसीपी चिमनी आंशिक ऑफलोड
टीसीपी चिमनी ऑफलोड समानांतर-स्टैक फुल ऑफलोड की प्रमुख सुरक्षा आलोचना को संबोधित करता है। आंशिक ऑफलोड में, मुख्य प्रणाली स्टैक होस्ट के सभी कनेक्शनों को नियंत्रित करता है। स्थानीय होस्ट (सामान्यतः एक सर्वर) और एक विदेशी होस्ट (सामान्यतः एक क्लाइंट) के बीच एक संबंध स्थापित होने के बाद संबंध और इसकी स्थिति टीसीपी ऑफलोड इंजन को पास की जाती है। डेटा ट्रांसमिट और रिसीव की भारी लिफ्टिंग को ऑफलोड डिवाइस द्वारा नियंत्रित किया जाता है। लगभग सभी टीसीपी ऑफलोड इंजन होस्ट सीपीयू हस्तक्षेप के बिना डेटा ट्रांसफर करने के लिए कुछ प्रकार के टीसीपी/आईपी हार्डवेयर कार्यान्वयन का उपयोग करते हैं। जब संबंध बंद हो जाता है, तो संबंध स्थिति ऑफलोड इंजन से मुख्य प्रणाली स्टैक में वापस आ जाती है। टीसीपी संबंध का नियंत्रण बनाए रखना मुख्य प्रणाली स्टैक को संबंध सुरक्षा को प्रयुक्त करने और नियंत्रित करने की अनुमति देता है।
बड़ा प्राप्त ऑफलोड
लार्ज रिसीव ऑफलोड (एलआरओ) सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) ओवरहेड को कम करके हाई-बैंडविड्थ (कंप्यूटिंग) नेटवर्क संबंध के इनबाउंड THROUGHPUT को बढ़ाने की एक विधि है। यह एक ही स्ट्रीम (कंप्यूटिंग) से आने वाले कई पैकेट (सूचना प्रौद्योगिकी) को एक बड़े बफर में एकत्रित करके काम करता है, इससे पहले कि वे नेटवर्किंग स्टैक के ऊपर से गुजरते हैं, इस प्रकार उन पैकेटों की संख्या कम हो जाती है जिन्हें संसाधित किया जाना है। लिनक्स कार्यान्वयन सामान्यतः बाधा डालना की संख्या को कम करने के लिए नया एपीआई (एनएपीआई) के संयोजन में एलआरओ का उपयोग करता है।
बेंचमार्क के अनुसार, इस विधि को पूरी तरह से सॉफ्टवेयर में प्रयुक्त करने से भी नेटवर्क के प्रदर्शन में काफी वृद्धि हो सकती है।[6][7][8] As of April 2007[update], Linux कर्नेल केवल सॉफ़्टवेयर में संचरण नियंत्रण प्रोटोकॉल के लिए LRO का समर्थन करता है। फ्रीबीएसडी 8 एडेप्टर पर हार्डवेयर में एलआरओ का समर्थन करता है जो इसका समर्थन करता है।[9][10][11] [12] LRO को राउटर के रूप में कार्य करने वाली मशीनों पर काम नहीं करना चाहिए, क्योंकि यह एंड-टू-एंड सिद्धांत को तोड़ता है और प्रदर्शन को महत्वपूर्ण रूप से प्रभावित कर सकता है।[13][14]
सामान्य ऑफलोड प्राप्त करें
जेनेरिक प्राप्त ऑफलोड (जीआरओ) सॉफ्टवेयर में एक सामान्यीकृत एलआरओ प्रयुक्त करता है जो टीसीपी/आईपीवी4 तक सीमित नहीं है या एलआरओ द्वारा बनाई गई समस्याएं हैं।[15][16]
बड़ी मात्रा में ऑफलोड भेजें
संगणक संजाल िंग में, लार्ज सेंड ऑफलोड (एलएसओ) सेंट्रल प्रोसेसिंग यूनिट ओवरहेड को कम करके हाई-बैंडविड्थ (कंप्यूटिंग) नेटवर्क संबंध के इग्रेस थ्रूपुट को बढ़ाने की एक विधि है। यह नेटवर्क इंटरफेस कार्ड (एनआईसी) के लिए एक मल्टीपैकेट बफर पास करके काम करता है। NIC तब इस बफ़र को अलग-अलग पैकेट में विभाजित करता है। संचरण नियंत्रण प्रोटोकॉल पर प्रयुक्त होने पर विधि को टीसीपी सेगमेंटेशन ऑफलोड (टीएसओ) या जेनेरिक सेगमेंटेशन ऑफलोड (जीएसओ) भी कहा जाता है। एलएसओ और एलआरओ स्वतंत्र हैं और एक के उपयोग के लिए दूसरे के उपयोग की आवश्यकता नहीं है।
जब एक प्रणाली को एक कंप्यूटर नेटवर्क पर बड़ी मात्रा में डेटा भेजने की आवश्यकता होती है, तो सबसे पहले टुकड़ों को छोटे खंडों में तोड़ने की आवश्यकता होती है जो राउटर और स्रोत और गंतव्य कंप्यूटर के बीच स्विच जैसे सभी नेटवर्क तत्वों से गुजर सकते हैं। इस प्रक्रिया को पैकेट विभाजन कहा जाता है। होस्ट कंप्यूटर में अधिकांशतः टीसीपी प्रोटोकॉल इस विभाजन को करता है। इस कार्य को एनआईसी को ऑफलोड करने को 'टीसीपी सेगमेंटेशन ऑफलोड' (टीएसओ) कहा जाता है।
उदाहरण के लिए, 64 KiB (65,536 बाइट्स) डेटा की एक इकाई को सामान्यतः NIC और नेटवर्क पर भेजे जाने से पहले प्रत्येक 1460 बाइट्स के 45 सेगमेंट में विभाजित किया जाता है। NIC में कुछ बुद्धिमत्ता के साथ, होस्ट सीपीयू 64 KB डेटा को NIC को एक ट्रांसमिट-अनुरोध में सौंप सकता है, NIC उस डेटा को 1460 बाइट्स के छोटे खंडों में तोड़ सकता है, TCP, इंटरनेट प्रोटोकॉल और जोड़ सकता है। डेटा लिंक परत प्रोटोकॉल हेडर - होस्ट के टीसीपी/आईपी स्टैक द्वारा प्रदान किए गए टेम्पलेट के अनुसार - प्रत्येक खंड के लिए, और परिणामी फ़्रेम को नेटवर्क पर भेजें। यह सीपीयू द्वारा किए गए कार्य को काफी कम कर देता है। As of 2014[update] बाजार में कई नए एनआईसी टीएसओ का समर्थन करते हैं।
कुछ नेटवर्क कार्ड टीएसओ को सामान्य रूप से पर्याप्त रूप से प्रयुक्त करते हैं कि इसका उपयोग अन्य परिवहन परत प्रोटोकॉल के विखंडन को लोड करने के लिए किया जा सकता है, या उन प्रोटोकॉल के लिए आईपी विखंडन करने के लिए किया जा सकता है जो स्वयं द्वारा विखंडन का समर्थन नहीं करते हैं, जैसे डेटाग्राम प्रोटेकॉलका उपयोग करें
लिनक्स में समर्थन
फ्रीबीएसडी जैसे अन्य ऑपरेटिंग सिस्टमों के विपरीत, लिनक्स कर्नेल में टीओई के लिए समर्थन सम्मिलित नहीं है (अन्य प्रकार के नेटवर्क ऑफलोड से भ्रमित नहीं होना चाहिए)।[17] जबकि हार्डवेयर निर्माताओं जैसे चेल्सियो या कलोजिक से पैच हैं जो टीओई समर्थन जोड़ते हैं, लिनक्स कर्नेल डेवलपर्स कई कारणों से इस विधि का विरोध करते हैं:[18]
- सुरक्षा - क्योंकि टीओई हार्डवेयर में प्रयुक्त किया गया है, किसी विशेष टीओई कार्यान्वयन में पाए जाने वाले किसी भी सुरक्षा भेद्यता को दूर करने के लिए पैच को केवल सॉफ्टवेयर के अतिरक्त टीओई फर्मवेयर पर प्रयुक्त किया जाना चाहिए। यह इस हार्डवेयर की नवीनता और विक्रेता-विशिष्टता द्वारा और भी जटिल है, जैसा कि एक अच्छी तरह से परीक्षण किए गए टीसीपी/आईपी स्टैक की तुलना में एक ऑपरेटिंग प्रणाली में पाया जाता है जो टीओई का उपयोग नहीं करता है।
- हार्डवेयर की सीमाएं - क्योंकि संबंध बफ़र किए जाते हैं और टीओइ चिप पर संसाधित होते हैं, ऑपरेटिंग प्रणाली के लिए उपलब्ध उदार सीपीयू और मेमोरी की तुलना में संसाधन अप्राप्ति अधिक आसानी से हो सकती है।
- जटिलता - टीओई इस धारणा को तोड़ता है कि कर्नेल हर समय सभी संसाधनों तक पहुंच के बारे में बनाती है - विवर्त संबंध द्वारा उपयोग की जाने वाली मेमोरी जैसे विवरण टीओई के साथ उपलब्ध नहीं हैं। टीओइ को ठीक से समर्थित होने के लिए नेटवर्किंग स्टैक में बहुत बड़े बदलावों की आवश्यकता होती है, और जब ऐसा किया जाता है, तब भी सेवा की गुणवत्ता और पैकेट फ़िल्टरिंग जैसी सुविधाएँ काम नहीं कर सकती हैं।
- स्वामित्व- टीओइ को प्रत्येक हार्डवेयर विक्रेता द्वारा अलग तरह से प्रयुक्त किया जाता है। इसका अर्थ है कि उपरोक्त जटिलता और संभवतः सुरक्षा की कीमत पर विभिन्न टीओई कार्यान्वयन से निपटने के लिए अधिक कोड को फिर से लिखा जाना चाहिए। इसके अतिरिक्त, टीओइ फर्मवेयर को आसानी से संशोधित नहीं किया जा सकता क्योंकि यह बंद-स्रोत है।
- अप्रचलन - प्रत्येक टीओई एनआईसी की उपयोगिता का सीमित जीवनकाल होता है, क्योंकि प्रणाली हार्डवेयर तेजी से टीओई प्रदर्शन स्तर तक पहुंच जाता है, और अंततः टीओई प्रदर्शन स्तर से अधिक हो जाता है।
आपूर्तिकर्ता
टीओई प्रौद्योगिकी पर वर्तमान कार्य 10 गिगाबिट ईथरनेट इंटरफेस कार्ड के निर्माताओं द्वारा किया जाता है, जैसे ब्रॉडकॉम, चेल्सी कम्युनिकेशंस , एमुलेक्स, मेलानॉक्स टेक्नोलॉजीज, क्यूलॉजिक |
यह भी देखें
- स्केलेबल नेटवर्किंग पैक
- I/O त्वरण प्रौद्योगिकी (I/OAT)
- ऊर्जा कुशल ईथरनेट (ईईई)
- स्वायत्त परिधीय संचालन
संदर्भ
- ↑ Jeffrey C. Mogul (2003-05-18). टीसीपी ऑफलोड एक गूंगा विचार है जिसका समय आ गया है. HotOS. Usenix.
- ↑ 2.0 2.1 Annie P. Foong; Thomas R. Huff; Herbert H. Hum; Jaidev P. Patwardhan; Greg J. Regnier (2003-04-02). टीसीपी के प्रदर्शन पर दोबारा गौर किया गया (PDF). Proceedings of the International Symposium on Performance Analysis of Systems and Software (ISPASS). Austin, Texas.
- ↑ United States Patent: 5355453 "Parallel I/O network file server architecture category"
- ↑ United States Patent: 6247060 "Passing a Communication Block from Host to a Local Device such that a message is processed on the Device"
- ↑ "Newcomers spin storage network silicon ", Rick Merritt, 10/21/2002, EE Times
- ↑ 6.0 6.1 Jonathan Corbet (2007-08-01). "बड़े ऑफलोड प्राप्त करते हैं". LWN.net. Retrieved 2007-08-22.
- ↑ 7.0 7.1 Aravind Menon; Willy Zwaenepoel (2008-04-28). टीसीपी प्राप्त करने के प्रदर्शन का अनुकूलन. USENIX Annual Technical Conference. USENIX.
- ↑ Andrew Gallatin (2007-07-25). "lro: Generic Large Receive Offload for TCP traffic". linux-kernel (Mailing list). Retrieved 2007-08-22.
- ↑ "सीएक्सजीबी". Freebsd.org. Retrieved 12 July 2018.
- ↑ "एमएक्सजीई". Freebsd.org. Retrieved 12 July 2018.
- ↑ "समय". Freebsd.org. Retrieved 12 July 2018.
- ↑ "एलआरओ सक्षम के साथ लिनक्स वर्चुअल मशीनों में खराब टीसीपी प्रदर्शन हो सकता है". VMware. 2011-07-04. Retrieved 2011-08-17.
- ↑ "Linux* Intel(R) ईथरनेट 10 गीगाबिट PCI एक्सप्रेस परिवार के एडेप्टर के लिए बेस ड्राइवर". Intel Corporation. 2013-02-12. Retrieved 2013-04-24.
- ↑ "एलआरओ सक्षम वाले सभी एनआईसी के लिए एलआरओ को अक्षम करें". Red Hat, Inc. 2013-01-10. Retrieved 2013-04-24.
- ↑ "JLS2009: Generic receive offload". lwn.net.
- ↑ Huang, Shu; Baldine, Ilia (March 2012). Schmitt, Jens B. (ed.). Performance Evaluation of 10GE NICs with SR-IOV Support: I/O Virtualization and network Stack Optimizations. Measurement, Modeling, and Evaluation of Computing Systems and Dependability and Fault Tolerance: 16th International GI/ITG Conference, MMB & DFT 2012. Lecture Notes in Computer Science. Vol. 7201. Kaiserslautern, Germany: Springer (published 2012). p. 198. ISBN 9783642285400. Retrieved 2016-10-11.
Large-Receive-Offload (LRO) reduces the per-packet processing overhead by aggregating smaller packets into larger ones and passing them up to the network stack. Generic-Receive-Offload (GRO) provides a generalized software version of LRO [...].
- ↑ "Linux and TCP offload engines", August 22, 2005, LWN.net
- ↑ Net:TOE, Linux Foundation.
बाहरी संबंध
- Article: टीसीपी Offload to the Rescue by Andy Currid at ACM Queue
- Patent Application 20040042487
- Mogul, Jeffrey C. (2003). "TCP offload is a dumb idea whose time has come" (PDF). Proceedings of HotOS IX: The 9th Workshop on Hot Topics in Operating Systems. USENIX Association. Retrieved 23 July 2006.
- "TCP/IP offload Engine (TOE)". 10 Gigabit Ethernet Alliance. April 2002.
- Windows Network Task Offload
- GSO in Linux
- Brief Description of LSO in Linux
- Case Studies of Performance issues with LSO and Traffic Shaping (Linux)
- FreeBSD 7.0 new features, brief discussion on TSO support