2010-02-11 16 views
8

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 लटका गूंज की पीठ)।

ऐसा लगता है कि यूएनपी का अर्थ यह है कि बहु-गृहस्थता का लाभ उठाने के लिए एससीटीपी को टीसीपी अनुप्रयोगों को पोर्ट करना छोटा है, फिर भी यह सरल प्रयास है जो वास्तव में ऐसा नहीं लगता है।

क्या कोई मुझे एक अच्छे ट्यूटोरियल पर इंगित कर सकता है या किसी भी गोचा के बारे में अच्छी सलाह दे सकता है कि टीसीपी ऐप्स को बहु-होमिंग का लाभ उठाने के लिए एक-से-एक-शैली एससीटीपी में पोर्टिंग करते समय क्या देखना है?

+0

टीसीपी इस प्रकार के अनावश्यकता को भी कार्यान्वित कर सकता है ---- रूटिंग टेबल में ए से बी तक कई मार्ग - परेशान क्यों? –

+0

@ हसन सैयद: क्योंकि मैं उत्सुक हूं। –

+0

क्या आपने वायरशर्क को कैप्चर करने का प्रयास किया है। अगर सबकुछ सही ढंग से सेटअप किया गया है, तो क्लाइंट पर एक कनेक्ट कॉल सर्वर की ओर 4-तरफा हैंडशेक ट्रिगर करना चाहिए। इसके अलावा, मुझे आपके द्वारा प्रदान किए गए लिंक से क्लाइंट फ़ाइल (~/unpv13e/select/tcpcli02.c) नहीं मिल सका। –

उत्तर

2

tcpcli02 पोर्ट 7 से कनेक्ट करने का प्रयास करता है, जबकि tcpserv04 पोर्ट 9877 पर सूचीबद्ध होता है (SERV_PORT के लिए डिफ़ॉल्ट मान)। मिलान करने के लिए उन्हें बदलने के बाद, यह मेरे लिए काम करता है।

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

+0

मुझे लगता है कि मुझे केवल दो अंतराल को नियंत्रित करने की आवश्यकता होगी जो एक दूसरे से बात कर रहे हैं। मुझे "संपूर्ण नेटवर्क आधारभूत संरचना" के नियंत्रण की आवश्यकता क्यों होगी? आह, मुझे लगता है कि नेटवर्क में सभी राउटर को एससीटीपी के लिए स्पष्ट समर्थन होना चाहिए और वर्तमान में ऐसा नहीं है? –

+1

दरअसल। सिद्धांत रूप में, राउटर को कोई समस्या नहीं होनी चाहिए, क्योंकि वे परत 4 में निरीक्षण नहीं करते हैं। इंटरनेट के मूल में रूटर शायद नहीं करेंगे। हालांकि, आप किनारे पर पहुंच जाते हैं, उतना ही अधिक संभावना है। एक बार जब आप एनएपीटी कर रहे बक्से प्राप्त कर लेते हैं (जो लेयर 4 हेडर का उपयोग करके एंडपॉइंट्स पर मैपिंग पैकेट पर निर्भर करता है), तो शायद आप भाग्य से बाहर हैं, क्योंकि वे निश्चित रूप से केवल टीसीपी और यूडीपी से निपटेंगे। – fnl

संबंधित मुद्दे