एक राउटर एक कनेक्टेड डिवाइस का पता कैसे लगाता है? (ENC28J60 मॉड्यूल)


0

पृष्ठभूमि:

मैं वास्तव में एक Arduino शुरुआत कर रहा हूं और ईथरनेट के माध्यम से इंटरनेट से कनेक्ट करना सीख रहा हूं।

मैं अधिक सामान्यतः उपयोग किए जाने वाले (बहुत आसान) ईथरनेट ढाल (Wiznet W5100 / W5200 चिप्स पर आधारित) का उपयोग नहीं कर रहा हूं, लेकिन एक जो ENC28J60 चिप का उपयोग करता है - अंतर टीसीपी 'हैंडलिंग (?)' सॉफ्टवेयर के साथ किया जाना है , जबकि W5100 / W5200 चिप्स में हार्डवेयर द्वारा अंतर्निहित है)।

मैं पुस्तकालयों का उपयोग कर रहा हूं जो कोड के साथ ग्रन्ट कार्य को संभालते हैं। मैं पूरी तरह से समझ नहीं पा रहा हूं, लेकिन पहले से ही Arduino को एक वेब सर्वर के साथ-साथ एक वेब क्लाइंट के रूप में स्थापित करने में सफल रहा हूं।

समस्या:

मेरी समस्या संगति है। अधिक बार नहीं, Arduino + ईथरनेट मॉड्यूल को राउटर द्वारा पता नहीं लगाया जाता है और इसलिए यह कार्य नहीं करेगा क्योंकि इसे आईपी पता नहीं मिलता है। यह एक लैन केबल मुद्दा नहीं है; जब मैं इसे कंप्यूटर से जोड़ता हूं, तो यह राउटर के क्लाइंट टेबल में दिखाई देता है, लेकिन जब मैं इसे डिवाइस से कनेक्ट करता हूं (यानी ईथरनेट मॉड्यूल के माध्यम से Arduino) तो यह दिखाई नहीं देता।

मेरा सवाल है: एक रूटर कंप्यूटर / कनेक्टेड डिवाइस का पता कैसे लगाता है? Google पर एक खोज ने मुझे "कैसे एक कंप्यूटर रूटर का पता लगाता है?" मैं इसे दूसरे तरीके से चाहता हूं।

मैं एक सामान्य समझ रखना चाहूंगा कि राउटर कैसे पता लगाता है, क्योंकि मैं यह निर्धारित नहीं कर सकता कि कनेक्ट करने में विफलता डिवाइस की तरफ है, या राउटर की तरफ।

मैं नेटवर्किंग के साथ तकनीकीताओं से काफी अनभिज्ञ हूं, लेकिन पिंग-आईएनजी और डीएचसीपी बनाम फिक्स्ड आईपी पते की अवधारणाओं से परिचित हूं - जिनमें से सभी एक वास्तविक कनेक्शन होने के कारण हैं - जो कि मेरी ठोकर है। मैं किसी भी आम आदमी की व्याख्या या कम से कम कुछ समस्या निवारण युक्तियों की सराहना करता हूं ताकि यह पता लगाया जा सके कि समस्या वास्तव में कहां है।


क्या आप उन पुस्तकालयों के लिए लिंक पोस्ट कर सकते हैं जिनका आप उपयोग कर रहे हैं? क्या आपने अपने चिप + आर्डिनो + राउटर के नाम के लिए गुगली की है? IIRC Arduino USB के साथ अपने ईथरनेट कवच को साझा करता है; क्या आपके पास कुछ डिवाइस हैं जो बहुत सारे USB बैंडविड्थ का उपयोग कर रहे हैं, शायद?
lorenzog

ढाल SPI बस का उपयोग करता है, जबकि USB UART को साझा करता है। मैं अभी भी Arduino के लिए काफी नया हूँ, इसलिए "बैंक को मत ले जाना" :) मुझे नहीं लगता कि पुस्तकालय मुद्दा है, मैं इसे एक बार काम करने में कामयाब रहा हूं पता है कि यह अब क्यों नहीं है - मुझे लगता है कि यह हार्डवेयर से संबंधित है यही कारण है कि मैं यह समझने की कोशिश कर रहा हूं कि केबलों में क्या चल रहा है।
Bouncing_Back

जवाबों:


1

सभी राउटर में कम से कम दो नेटवर्क इंटरफेस होते हैं। इस उत्तर के लिए, एक विशिष्ट होम सेटअप मानें जहां राउटर में केवल दो इंटरफेस हैं - WAN ईथरनेट, और LAN + वायरलेस ईथरनेट (आमतौर पर एक साथ ब्रिज किया गया था ताकि यह प्रभावी रूप से एक एकल इंटरफ़ेस हो)।

क्या होता है राउटर अपने वान इंटरफेस पर एक डीएचसीपी अनुरोध जारी करता है, और फिर आईएसपी का डीएचसीपी सर्वर सार्वजनिक आईपी जानकारी के साथ प्रतिक्रिया करता है। राउटर तब WAN इंटरफ़ेस के IP को कॉन्फ़िगर करने के लिए उपयोग करता है।

राउटर आमतौर पर अपना खुद का डीएचसीपी सर्वर चलाता है जो लैन से जुड़े लोगों को आईपी सौंपता है। यह वान इंटरफेस को एक आईपी बिल्कुल नहीं देता है।

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

IPv6 ऑटोकॉन्फ़िगरेशन इसी तरह काम करता है।

मुझे Arduino पर बहुत अधिक अनुभव नहीं है, लेकिन ऐसा लगता है कि आपको कहीं पर DHCP क्लाइंट कार्यक्षमता की आवश्यकता है।


1
आपकी प्रतिक्रिया के लिए धन्यवाद, मैंने इसे उपयोगी पाया लेकिन इसे वोट नहीं कर सकता। इसने मुझे उन तारों के बीच और बाहर भी क्या चल रहा है, इसके बारे में आम आदमी की समझ देने में मदद की! देखना होगा कि ARP अधिक विस्तार से क्या है :)
Bouncing_Back

0

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

आपके राउटर में संभवतः मैक पतों को डीएचसीपी असाइनमेंट दिखाने वाली एक टेबल है - क्या आपका अरुडिनो वहां दिखाई देता है?


वास्तव में। महत्वपूर्ण बिंदु है: डीएचसीपी एक "पुल" सेवा है। यह क्लाइंट का पता नहीं लगाता है। बिल्कुल इसके विपरीत, वास्तव में। अधिकांश रूटर्स में (विशुद्ध रूप से सूचनात्मक!) सूची एआरपी सूँघने का उपयोग करते हुए भी आबादी है।
Daniel B

Arduino दिखाई नहीं देता है - जिसने यह सवाल करने के लिए प्रेरित किया कि यह असफल क्यों हो रहा है, क्या यह राउटर की "गलती" या Arduino (और मॉड्यूल) है - यह एक बार दिखा जब कनेक्शन काम किया - लेकिन यह पता लगाने की कोशिश कर रहा कब से बदल गया। "पुल" सेवा और "एआरपी सूँघने" के लिए धन्यवाद - इससे मुझे स्थिति का और अध्ययन करने में मदद मिलेगी।
Bouncing_Back

0

राउटर कंप्यूटर का पता नहीं लगाते हैं, न ही कंप्यूटर राउटर का पता लगाते हैं (IPV6 कंप्यूटर राउटर का पता लगाते हैं)

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

यदि आप अपने Arduino को बूट कर रहे हैं और इसे एक IP पता नहीं मिल रहा है और यह आपके राउटर पर DHCP क्लाइंट के रूप में सूचीबद्ध नहीं है, तो Arduino या इसके नेटवर्क कनेक्शन के साथ कुछ गड़बड़ है, यह मानते हुए कि नेटवर्क पर बाकी सब कुछ समस्या नहीं है ।

मेरा सुझाव है कि आप Arduino से कनेक्ट करें और IP पते को रीफ़्रेश करने का प्रयास करें। इसके अलावा eth0 या eth1 की स्थिति देखें, जो आपको बताएगा कि क्या यह नेटवर्क से जुड़ा है।

https://serverfault.com/questions/15776/how-to-check-the-physical-status-of-an-ethernet-port-in-linux


लिंक के लिए धन्यवाद - यह बिल्कुल उसी तरह का लिंक है जिसकी मैं उम्मीद कर रहा था - हालांकि लिनक्स के लिए नहीं, लेकिन बेहतर तस्वीर प्राप्त करने के लिए सभी की प्रतिक्रिया है कि क्या होता है b / n राउटर & amp; ग्राहक, शायद एनटी वास्तव में मैं क्या देख रहा हूँ। yr का कथन "मेरी समझ में नहीं आने वाला", मेरी समझ में नहीं आता है - मुझे लगता है कि यह समस्या समाप्त हो सकती है, अरुडिनो की ओर है, न कि राउटर की। बस मेरा प्रश्न संपादित किया गया था, मुझे लगा कि शायद यह मॉड्यूल से आने वाली अपर्याप्त वोल्टेज का मुद्दा था - जैक में एलईडी प्रकाश को ऊपर करता है & amp; गतिविधि दिखाते हुए ब्लिंक हैं, लेकिन शायद राउटर के लिए "सुनने" के लिए पर्याप्त उच्च वोल्टेज नहीं है
Bouncing_Back

उपरोक्त "txt भाषा" के लिए खेद है - मेरी टिप्पणी ओवरबोर्ड हो गई और मैंने चरित्र सीमा के तहत प्राप्त करने की कोशिश करते हुए हैक कर लिया - मुझे इसे केवल दो टिप्पणियों में तोड़ देना चाहिए - वैसे भी, धन्यवाद - मुझे लगता है कि आपका जवाब मेरे लिए सबसे करीब है जो मुझे चाहिए , लेकिन हर किसी के उत्तर ने मदद की जो शायद एक व्यापक रूप से विस्तृत क्वेरी थी।
Bouncing_Back
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.