www.mikrocontroller.net

Forum: PC-Programmierung ENC-Modul an zweiter Netzwerkkarte


Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in meinem PC stecken zwei Netzwerkkarten. Die eine ist mit meinem Router 
verbunden und darüber gehe ich ins Internet. Nun habe ich eine zweite 
Netzwerkkarte eingebaut, an welche ich mein Ethernetmodul (ENC28J60) 
angeschlossen habe. Dieses hat -wie auch alle Netzwerkkarten- eine 
statische IP, natürlich sind die IPs alle unterschiedlich.

IP des Moduls:   192.168.99.99
IP der 1. Karte: 192.168.2.3
IP der 2. Karte: 172.16.2.3

Mein Problem: ich möchte mein ENC-Modul anpingen, nur wie mache ich dem 
System klar, dass es den Ping zwischen zweiter Netzwerkkarte und 
Ethernetmodul ausführen soll. Mit nur einer eingebauten Netzwerkkarte 
klappt der Ping einwandfrei.

Ich kenne mich mit diesen Sachen wenig aus und ich hoffe, mir kann 
jemand einen Hinweis geben.

Vielen Dank!

Jan

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Crossover Kabel,
Subnetzmaske,
Netzadresse
usw alles beachtet?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>IP des Moduls:   192.168.99.99
>IP der 1. Karte: 192.168.2.3
>IP der 2. Karte: 172.16.2.3

Was für einen Sinn hat es, die IPs so zu legen, dass die Geräte nichtmal 
in gemeinsamen Netzen sind? Gut, die Routerkarte ist sinnvollerweise im 
Netz vom Router. Aber das Modul und die Karte an dem es hängt, sollten 
schon in einem Netz sein: 192.168.3.1 und 192.168.3.2 z.B.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gib der 2. Karte eine IP-Adresse, die im selben Netz liegt, wie das 
Modul, also 192.168.99.X

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Gib der 2. Karte eine IP-Adresse, die im selben Netz liegt, wie das
>Modul, also 192.168.99.X

Sehr cool, geht! Danke!!

Autor: Superuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

die Tips die gegeben wurden, mögen zwar gehen, treffen aber nicht den
Kern des Problems.

Wenn dein Rechner mehr als einen NIC kennt, sendet er auf allen zunächst
ein ARP Paket, um herauszufinden, über welchen NIC er deinen ENC 
erreichen kann. Wenn sich der ENC zurückmeldet, erzeugt dein Rechner 
einen Eintrag in seiner ARP Tabelle, und weiß ab diesem Zeitpunkt wohin 
das Ping gehen soll.

Also:
Implementiere ARP auf deinem ENC und dann gehts.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber das ist Blödsinn.
Das Problem des OP hatte rein gar nichts mit ARP zu tun.
Zuerst wird über die Routing-Tabelle bestimmt, über welchen NIC das 
Paket raus soll, und an wen (direkt das Ziel oder Router). Erst dann 
wird über diesen NIC (und nur genau den) mittels ARP-Request der 
Empfänger (Ziel oder Router) gesucht.

Autor: Superuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan Ernst
Wenn du son Netzwerkspezi bist, kannste mir und dem Rest der Welt
hier bestimmt erkären, wie die Routing Tabelle aufgebaut wird.

Ansonsten empfehle ich, du probierst es einfach mal aus, vorausgesetzt,
du schaffst es, eine zweite Netzwerkkarte in deinen Rechner zu 
basteln...

Ping ohne ARP Resolution geht definitiv nicht!

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

abgesehen davon, daß ich denke, es wird auch ARP da sein, weil ja nach 
seinem Post Ping mit einer Karte schonmal ging,

du erklärst mir sicher die Routingfunktion eines Netzwerkkabels, daß 
Subnetz 192.168.99.0 nach 192.168.2.0 routet oder gar nach 172.16.2.0...

Ausgehend davon, daß 192.168.x.0 als übliches Class-C maskiert sind.

Gruß aus Berlin
Michael

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Superuser wrote:

> Ping ohne ARP Resolution geht definitiv nicht!

Natürlich nicht, habe ich ja auch nicht behauptet.
Ohne ARP geht gar kein IP-Verkehr über Ethernet. Deine Aussage oben 
"Implementiere ARP auf deinem ENC und dann gehts" haut daher gleich auf 
zweifache Weise daneben:
1. ARP ist offensichtlich auf dem Modul implementiert, denn sonst 
würde gar nichts gehen.
2. ARP alleine macht es nicht, denn noch vor dem "ARPen" kommt das 
Routen, und genau da lagt das Problem des OP.

> Wenn du son Netzwerkspezi bist, kannste mir und dem Rest der Welt
> hier bestimmt erkären, wie die Routing Tabelle aufgebaut wird.

Auf einem normalen Rechner (also ohne spezielle Routing-Fähigkeiten) ist 
die Routing-Tabelle eine einfache Liste statischer Einträge, die sich 
entweder aus den Gegebenheiten (Konfiguration der Net-Interfaces) 
ergeben, oder manuell eingetragen wurden. ARP spielt da nicht die 
geringste Rolle.

Als Beispiel mal die ursprüngliche Konfiguration des OP:
IP der 1. Karte: 192.168.2.3 (mit Router verbunden)
IP der 2. Karte: 172.16.2.3
Für den Router nehme ich einfach mal 192.168.2.1 an. Ferner nehme ich 
an, dass der OP keine zusätzlichen Routen eingetragen hat, und dass es 
alles Class-C-Netze sind.
Daraus ergibt sich folgende Routing-Tabelle:
1) Pakete mit Adresse 192.168.2.* über Karte 1 raus direkt zum Ziel
2) Pakete mit Adresse 172.16.2.* über Karte 2 raus direkt zum Ziel
3) Pakete mit Adresse *.*.*.* über Karte 1 raus nach 192.168.2.1
1 und 2 ergeben sich aus den Interface-Konfigurationen und 3 ist die 
Default-Route, die vom BS eingetragen wurde, weil die Adresse 
192.168.2.1 entweder in der Konfiguration als Standardgateway 
eingetragen ist, oder über DHCP entsprechend geliefert wurde.

Folgendes passiert nun bei einem Ping an 192.168.99.99:
Zuerst kommt das Routing, und da die Adresse weder zum Netz 192.168.2.* 
noch zum Netz 172.16.2.* gehört, greift die Default-Route. Es wird also 
entschieden, das Paket über Karte 1 an 192.168.2.1 (Router) 
weiterzureichen. Erst jetzt kommt ARP ins Spiel, nämlich um zu der 
Adresse 192.168.2.1 (Router) die passende Hardwareadresse zu finden (mit 
einem ARP-Request über Karte 1). Das Paket geht an den Router, der in 
seiner Routing-Tabelle aber auch keinen Eintrag für 192.168.99.* findet. 
Eigentlich würde er es jetzt anhand seiner eigenen Default-Route 
weiterreichen, tut er aber nicht (sollte er jedenfalls nicht), weil die 
Adresse zu einem reservierten Adressbereich für lokale Netze gehört. Das 
Paket ist also in einer Sackgasse gelandet, und der Router sendet daher 
ein "host unreachable"-ICMP-Paket zurück. Für den Rechner ist das Ping 
damit gescheitert.

Wenn man nun der 2. Karte eine Adresse aus dem 192.168.99.* Netz gibt, 
modifiziert man damit automatisch die Routing-Tabelle. Für das 
Ping-Paket greift dann Route 2 (und nicht mehr 3). Und erst nach der 
Routing-Entscheidung, das Paket über Karte 2 direkt an 192.168.99.99 zu 
schicken, wird dann mit einem ARP-Request über Karte 2 nach der 
Hardwareadresse gesucht.

Autor: Superuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
selten so'nen Bullshit gelesen...

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Superuser wrote:

> selten so'nen Bullshit gelesen...

Hast du auch irgend etwas Konkretes?

Ich hätte z.B. das:
http://de.wikipedia.org/wiki/Bild:ARP_und_Routing.png
oder eine ganze Hand voll RFCs, oder ....

Autor: Franky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ "Superuser":

> selten so'nen Bullshit gelesen...

In welcher Netzwerk-Parallelwelt lebst du eigentlich?
Tu dir selbst einen Gefallen, und informier dich mal richig, angefangen 
mit RFC 826.

Zugegeben, er hat manches natürlich etwas vereinfacht, aber richtige 
Fehler kann ich in Stefans Text nicht entdecken. Höchstens 
Kleinigkeiten, wie:
> Ohne ARP geht gar kein IP-Verkehr über Ethernet.
Broadcasting geht natürlich auch ohne ARP. ;-)

MfG
Franky

Autor: Superuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
manomann, was man hier so lesen muss...
Das ideale Forum für Erstsemester-Studenten und Freiberufler jenseits 
50...

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Superuser wrote:

> manomann, was man hier so lesen muss...
> Das ideale Forum für Erstsemester-Studenten und Freiberufler jenseits
> 50...

Was hast du denn z.B. hierzu zu sagen:
http://de.wikipedia.org/wiki/Bild:ARP_und_Routing.png
Dass das ganze Internet sich irrt, und nur du hast den Durchblick?

Na ja, da du offensichtlich nicht in der Lage bist, auch nur ein 
einziges sachliches Argument zu bringen, erübrigt sich wohl jede weitere 
Diskussion.

Viel Spaß noch in deiner Traumwelt.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geh' doch nicht drauf ein, Stefan. Wenn dein kleiner Auszug wirklich 
falsch sein sollte (was er aber nicht ist), würde sich schon jemand hier 
melden, der wenigstens registriert ist ;)

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. wrote:

> Geh' doch nicht drauf ein, Stefan.

Es fuchst mich einfach. Man nimmt sich die Zeit für einen ausführlichen 
Beitrag, und dann wird der ohne jeglichen Sachbezug abqualifiziert.
Aber du hast Recht, Ignoranten sollte man einfach ignorieren. ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.