Der Ping Befehl

hihi.
was passiert eigentlich beim ping befehl??? und welche OSI-SCHICHTEN werden da angesprochen? hab mich neulich mit nen paar kumpels überhaupt nicht einigen können.
MfG und thx.
Don

was passiert eigentlich beim ping befehl???

Es wird ein ICMP Echo-Request an das Ziel bzw. die Ziele gesendet aud auf Antworten gewartet.

und welche OSI-SCHICHTEN werden da angesprochen?

Jaja, OSI und IP, die Welten die nicht zusammenpassen. Wenn du davon ausgehst, dass du ganz oben eine Anwendung hast, die die Daten auswertet, dann müssen zwangsweise alle Schichten beteiligt sein. Genau betrachtet spielen allerdings die Schichten 5 und 6 kaum eine Rolle, da du eine Anwendung hast, die direkt auf Schicht 4 (Transport/Internetwork) aufsetzt.

Hi,

und welche OSI-SCHICHTEN werden da angesprochen?

Jaja, OSI und IP, die Welten die nicht zusammenpassen. Wenn du
davon ausgehst, dass du ganz oben eine Anwendung hast, die die
Daten auswertet, dann müssen zwangsweise alle Schichten
beteiligt sein. Genau betrachtet spielen allerdings die
Schichten 5 und 6 kaum eine Rolle, da du eine Anwendung hast,
die direkt auf Schicht 4 (Transport/Internetwork) aufsetzt.

Ergänzend und vielleicht auch korrigierend ist zu sagen, daß ICMP auf Layer 3 angesiedelt ist.

Gruß,

Malte.

Ergänzend und vielleicht auch korrigierend ist zu sagen, daß
ICMP auf Layer 3 angesiedelt ist.

Layer 3 ist doch eher unter IP angesiedelt, also z.B. ARP und andere Spielereien für’s Routing. ICMP setzt auf IP auf, das (zumindest meiner Literatur nach) zwischen Network und Transport sitzt, wenn es überhaupt einer Ebene zuzuordnen ist (meiner Meinung nach kann es schon als Transport durchgehen). Demnach würde ich ICMP in etwa auf die selbe Ebene wie UDP oder TCP setzen, und das ist nunmal Layer 4.

Ergänzend und vielleicht auch korrigierend ist zu sagen, daß
ICMP auf Layer 3 angesiedelt ist.

Layer 3 ist doch eher unter IP angesiedelt, also z.B. ARP und
andere Spielereien für’s Routing.

ARP liegt auf Layer 2 :smile: Und IP _ist_ auf Layer 3

ICMP setzt auf IP auf, das
(zumindest meiner Literatur nach) zwischen Network und
Transport sitzt, wenn es überhaupt einer Ebene zuzuordnen ist
(meiner Meinung nach kann es schon als Transport durchgehen).
Demnach würde ich ICMP in etwa auf die selbe Ebene wie UDP
oder TCP setzen, und das ist nunmal Layer 4.

Ich will mich da nicht mit Dir streiten, meine Antwort beruht i.w. auf dem zweiten Poster von oben: http://onenetworks.comms.agilent.com/BV/posters.asp (leider nicht mehr erhältlich und als PDF auf die Schnelle nicht zu finden).

Ich hab grad leider nicht die Zeit, da eine andere, bessere Quelle zu finden.

Gruß,

Malte.

Hi,
Misch mich ungern ein aber meiner Meinung und Literatur nach hat Malte recht, ICMP arbeitet auf Layer 3
mfg Alex

Hi,

Hallo,

Misch mich ungern ein aber meiner Meinung und Literatur nach
hat Malte recht, ICMP arbeitet auf Layer 3

Dann kann ich also ICMP fahren ohne ein anderes Layer-3-Protokoll? ICMP ohne IP? Na da bin ich ja mal gespannt…

ISO/OSI ist mehr so der fromme Wunsch als die Realitaet. Ich schieb ICMP direkt neben TCP und UDP ins Layer 4.

YMMV,
Gruss vom Frank.

Sers.

Dann kann ich also ICMP fahren ohne ein anderes
Layer-3-Protokoll? ICMP ohne IP? Na da bin ich ja mal
gespannt…

Fahren tut ein Protokoll gar nicht.Und hier widersprichst du dir selber.
Wie du richtig sagst hängen Ip und ICMP zusammen. Da IP die Zustellung
von Datagrammen nicht garantiert, gibt es ICMP um bei einem Fehler wenigstens eine Meldung an den sendenden Host zu schicken.
Also gehört es auch auf den selben Layer.

ISO/OSI ist mehr so der fromme Wunsch als die Realitaet. Ich
schieb ICMP direkt neben TCP und UDP ins Layer 4.

Tu, das. Wird aber sonst niemanden sehr berühren, wenn du das OSI- Modell für dich veränderst. Stell ein neues auf das besser ist und ich werds akzeptieren. Oder gefällt dir das DoD modell besser?

Gruss vom Frank.

Auch grüße von mir, alles da oben ist nicht unhöflich gemeint, sry falls es so klingt.
Alex

Wie du richtig sagst hängen Ip und ICMP zusammen. Da IP die
Zustellung von Datagrammen nicht garantiert, gibt es ICMP um
bei einem Fehler wenigstens eine Meldung an den sendenden Host
zu schicken.

Aber man packt doch ICMP _immer_ in IP ein. Und so ein „Einpacken“ habe ich immer mit einem Uebergang in eine andere Schicht gleichgesetzt. Und da wir uns ja einig sind, das IP in die 3 gehoert…

Also gehört es auch auf den selben Layer.

Zwei mal Einpacken im selben Layer?

Oder gefällt dir das DoD modell besser?

Ueber die Theorie solcher Modelle hab ich aufgehoert nachzudenken, als ich darin Dinge wie IPsec einzuordnen versuchte. Ich bin da eher praktisch veranlagt: Hauptsache es funktioniert.

Auch grüße von mir, alles da oben ist nicht unhöflich gemeint,
sry falls es so klingt.

Jaja,
Gruss vom Frank.

Wie du richtig sagst hängen Ip und ICMP zusammen. Da IP die
Zustellung
von Datagrammen nicht garantiert, gibt es ICMP um bei einem
Fehler wenigstens eine Meldung an den sendenden Host zu
schicken.
Also gehört es auch auf den selben Layer.

Genausogut könnte man statt eines ICMP-Paketes für Echo-Request, -Reply oder Destination Unreachable auch entsprechende UDP-Pakete an einen reservierten Port schicken, und wir sollten uns alle einig sein, dass UDP irgendwo in Layer 4 liegt. Tatsächlich wäre das sogar eine sauberere Lösung als ICMP. ICMP braucht irgendein übergeordnetes Adressierungs-Schema, um irgendjemanden zu erreichen, und das Schema kann halt durch IP gestellt werden. Dass der IP-Stack einige Informationen selber auswerten kann stellt nur einen kleinen Hack dar, der die Schichtung verletzt (Layer 3 bekommt Einblick in Teile eines darauf aufsetzenden Protokolls, um die Fehlerbehandlung zu vereinfachen).

Theoretisch müsste ein Protokoll wie TCP oder UDP in einem sauber aufgebauten Modell eigene Mechanismen stellen, um diese Fehler zu behandeln, aber stattdessen gibt es ICMP, das halbwegs OOB arbeitet. Im Falle einer unerreichbaren Gegenstelle wird die Verknüpfung anhand der ersten 8 Byte des verursachenden Paketes hergestellt und die Meldung dann an die entsprechende Protokollinstanz weitergereicht, wobei es tatsächlich zu Verwechslungen kommen könnte, wenn aus irgendeinem unerfindlichen Grund diese Zuordnung nicht eindeutig ist.

Richtig interessant wird das aber erst, wenn man sich die Request-Typen 37 und 38 anschaut. Damit kann man dann DNS-Anfragen erledingen, was endgültig bis auf die Anwendungsebene hochgeht.