मैं अपने आवेदन में भेजने और प्राप्त करने के लिए PF_RING
का उपयोग करने पर एक नज़र डाल रहा था।टीसीपी और पीएफ_रिंग
यदि मैं एक टीसीपी कनेक्शन बनाए रखने के लिए PF_RING
का उपयोग करने की योजना बना रहा हूं, तो ऐसा लगता है कि मुझे आईपी और टीसीपी संदेशों को मैन्युअल रूप से "फोर्ज" करने की आवश्यकता होगी, क्योंकि pfring_send
कच्चे पैकेट भेजता है। क्या इसका मतलब है कि मुझे PF_RING
के शीर्ष पर मैन्युअल रूप से टीसीपी को फिर से कार्यान्वित करना होगा?
मुझे लगता है कि PF_RING
का उपयोग करने के लिए एक स्पष्ट लाभ है, क्या किसी ने PF_RING
के साथ डेटा भेजने का प्रयास किया है? क्या सामान्य प्रेषण कॉल पर कोई स्पष्ट लाभ है?
नोट: मैं डीएनए (डायरेक्ट एनआईसी एक्सेस) का उपयोग नहीं कर रहा हूं, मैं सिर्फ एनआईसी जागरूक ड्राइवरों के साथ कर्नेल आंशिक बाईपास का उपयोग कर रहा हूं।
सामान्य सॉकेट बनाम प्रदर्शन लाभ के बारे में कैसे? मैं सामान्य सॉकेट भेजने में असंगतताओं को खत्म करने के लिए देख रहा हूँ। आम तौर पर मुझे लगता है कि यह औसतन 0-> 1 उपयोगक लेता है, लेकिन बड़े आउटलेटर्स (कर्नेल गतिविधियों के कारण) होते हैं जो कभी-कभी 100 उपयोगों तक पहुंचते हैं। मैं इस सिस्टम कॉल को खत्म करने की कोशिश कर रहा हूं। – Alex
आप उस बिंदु पर उपयोगकर्ता स्थान में एक टीसीपी/आईपी स्टैक को फिर से कार्यान्वित कर रहे हैं, लगभग कोई मामला नहीं है कि यह कर्नेल में बनाए गए एक से अधिक तेज़ या अधिक प्रदर्शनशील होगा, विशेष रूप से जब ट्रांसमिशन विफलता पर पैकेट को पुन: भेजने की बात आती है , या सभी किनारे मामलों का ख्याल रखना। आप किस विशेष उपयोग के मामले को अनुकूलित करने की कोशिश कर रहे हैं? अंतिम लक्ष्य क्या है? –
अंतिम लक्ष्य प्रदर्शन भेजने में आउटलायर को कम करना है। मेरा आवेदन भेजने की प्रकृति में "विस्फोट" है (एक पंक्ति में एक गुच्छा भेज सकता है और फिर दोबारा भेजने से पहले थोड़ी देर इंतजार कर सकता है - थोड़ी देर के लिए 1ms +)। आप शायद पूछ रहे हैं कि मेरा आवेदन क्या करता है, जो मुझे डरता है मैं नहीं कह सकता। – Alex