SCTP
के लिए ड्रॉप इन रिप्लेसमेंट के रूप में मल्टीहोमिंग के साथ एससीटीपी देशी मल्टी-होमिंग सपोर्ट है जो अगर मैं समझता हूं कि प्राथमिक इंटरफ़ेस नीचे जाने पर यह सही ढंग से आपके पैकेट को माध्यमिक एनआईसी पर फिर से चालू कर देगा। यदि मेरा प्राथमिक एनआईसी नीचे चला जाता है तो मैंने रूटिंग टेबल को संशोधित करने के लिए कस्टम रूटिंग डेमॉन लिखकर टीसीपी के साथ इस कार्यक्षमता को दोहराया। मैं इसके बजाए SCTP
का उपयोग करने का प्रयास करना चाहता हूं।टीसीपी
स्टीवन के Unix Network Programming V1 3rd Edition पेज 288 पर में यह कहते हैं:
इस उदाहरण के लिए, हम एक एक-से-कई शैली सर्वर का उपयोग करें। हम एक महत्वपूर्ण कारण के लिए इस विकल्प को बनाते हैं। अध्याय 5 में उदाहरण एक के साथ
SCTP
से अधिक मामूली परिवर्तन को चलाने के लिए संशोधित किया जा सकता है: तीसरा तर्क के रूप मेंIPPROTO_SCTP
बजायIPPROTO_TCP
की निर्दिष्ट करने के लिएsocket
समारोह कॉल को संशोधित। बस यह परिवर्तन कर रहा है, हालांकि, किसी भीSCTP
द्वारा प्रदान की गई अतिरिक्त सुविधाओं का लाभ नहीं लेगा, बहु-होमिंग को छोड़कर।
अब मैंने काफी खराब परिणामों के साथ यह कोशिश की है।
मैं libsctp1, libsctp-dev, और lksctp-tools संकुल के साथ उबंटू 9.04 पर चल रहा हूं। मैंने lksctp-tools के साथ सत्यापित किया है कि SCTP
ठीक से काम कर रहा है।
मैंने UNP example code लिया और ~/unpv13e/tcpcliserv/tcpserv04.c
और ~/unpv13e/select/tcpcli02.c
प्रोग्राम्स के ऊपर दर्शाए गए अनुसार संशोधित किया गया।
यह एक साधारण गूंज सर्वर/क्लाइंट जोड़ी है। सर्वर स्पष्ट रूप से सुनता है, लेकिन ग्राहक यह कहता है कि कनेक्शन अस्वीकार कर दिया गया था। चूंकि netstat SCTP
का समर्थन नहीं करता मैं lsof -n | grep tcpserv
जो मुझे पता चला प्रयोग किया है:
tcpserv04 6208 alice 3u sock 0,4 33889 can't identify protocol
यह प्रतीत नहीं होता है बताने के लिए मुझे tcpserv04 की तुलना में बहुत अन्य सॉकेट खुले किसी तरह का है।
मैंने पहले से ही मूल टीसीपी क्लाइंट को प्रतिलिपि में लिखा और परीक्षण किया था, इसलिए मैंने इसे एसटीपीपी पर स्विच किया और कनेक्ट करने में सक्षम था हालांकि स्टडीन पर एक फाइल पाइप पूरी तरह से काम नहीं कर रहा था (प्राप्त करने के माध्यम से रास्ते के बारे में 2/3 लटका गूंज की पीठ)।
ऐसा लगता है कि यूएनपी का अर्थ यह है कि बहु-गृहस्थता का लाभ उठाने के लिए एससीटीपी को टीसीपी अनुप्रयोगों को पोर्ट करना छोटा है, फिर भी यह सरल प्रयास है जो वास्तव में ऐसा नहीं लगता है।
क्या कोई मुझे एक अच्छे ट्यूटोरियल पर इंगित कर सकता है या किसी भी गोचा के बारे में अच्छी सलाह दे सकता है कि टीसीपी ऐप्स को बहु-होमिंग का लाभ उठाने के लिए एक-से-एक-शैली एससीटीपी में पोर्टिंग करते समय क्या देखना है?
टीसीपी इस प्रकार के अनावश्यकता को भी कार्यान्वित कर सकता है ---- रूटिंग टेबल में ए से बी तक कई मार्ग - परेशान क्यों? –
@ हसन सैयद: क्योंकि मैं उत्सुक हूं। –
क्या आपने वायरशर्क को कैप्चर करने का प्रयास किया है। अगर सबकुछ सही ढंग से सेटअप किया गया है, तो क्लाइंट पर एक कनेक्ट कॉल सर्वर की ओर 4-तरफा हैंडशेक ट्रिगर करना चाहिए। इसके अलावा, मुझे आपके द्वारा प्रदान किए गए लिंक से क्लाइंट फ़ाइल (~/unpv13e/select/tcpcli02.c) नहीं मिल सका। –