Wie fkt. Prozeduraufruf zwischen Schichten?



  • Prozedur n+1 (z.B. TCP)

    Prozeduraufruf

    Prozedur n (z.B. IP)

    Prozedur n-1



  • hat keiner eine Idee?

    Letztendlich geht es doch, um einen Prozeduraufruf zwischen Software, die sich auf zwei übereinanderliegenden Modulen befindet.


  • Mod

    Martin69! schrieb:

    hat keiner eine Idee?

    Es hätten sicherlich haufenweise Leute Ideen, wenn wir nur wüssten, wovon du überhaupt redest. Es fehlt jeglicher Kontext.

    http://www.tty1.net/smart-questions_de.html



  • Es geht um die Interaktion zwischen Software, die in einem Schichtmodell implementiert sind. Nur über die Schnittstellen können beide Prozesse interagieren. Dabei stellt die untere Schicht (also der Software-Code) der über ihr liegenden Schicht (software-Code) ihre Dienste zur Verfügung. Jede Software auf einer Schicht hat ihren eigenen Code, die sie von anderen verbirgt.

    Die Frage bezieht sich darauf, was so ein Prozeduraufruf bewirkt, wenn man diese über die Interface aufruft.


  • Mod

    Eine Funktion wird aufgerufen, etwas passiert. Was möchtest du mehr wissen? Deine Frage ist vollkommen unverständlich.



  • Martin69! schrieb:

    Nur über die Schnittstellen können beide Prozesse interagieren.

    Praktisch werden die Schichten nicht als Prozesse implementiert, weil es einfach viel zu langsam wäre. Vermittlungsschicht (IP) zu Transport (TCP) ist dann z.B. ein strinknormaler Funktionsaufruf der Form LeseTCP(daten, ip_info). Wenn es ein UDP Paket ist, könnte entsprechend LeseUDP(daten, ip_info) aufgerufen werden. In ip_info kann der höheren Schicht alles nötige bisher gelesene mitgeteilt werden. Das ist alles was an Schnittstelle nötig ist.



  • Tobiking2 schrieb:

    Martin69! schrieb:

    Nur über die Schnittstellen können beide Prozesse interagieren.

    Praktisch werden die Schichten nicht als Prozesse implementiert, weil es einfach viel zu langsam wäre. Vermittlungsschicht (IP) zu Transport (TCP) ist dann z.B. ein strinknormaler Funktionsaufruf der Form LeseTCP(daten, ip_info). Wenn es ein UDP Paket ist, könnte entsprechend LeseUDP(daten, ip_info) aufgerufen werden. In ip_info kann der höheren Schicht alles nötige bisher gelesene mitgeteilt werden. Das ist alles was an Schnittstelle nötig ist.

    Super genau das, ich bin glücklich, dass mich wenigstens einer versteht.

    Warum wäre es den zu langsam?



  • Schichten im OSI-Referenzmodell haben nichts mit Prozeduren, Prozessen oder Schichten in einer Anwendung zu tun.



  • Martin69! schrieb:

    Super genau das, ich bin glücklich, dass mich wenigstens einer versteht.

    Eher wenigstens einer, der richtig geraten hat, was Du eigentlich gemeint haben könntest.



  • knivil schrieb:

    Schichten im OSI-Referenzmodell haben nichts mit Prozeduren, Prozessen oder Schichten in einer Anwendung zu tun.

    Da bin ich anderer Meinung. Denn zwischen den Schichten des OSI-Modells sind nur Prozeduraufrufe erlaubt. Ist ja auch irgendwie logisch, weil wir ja keine Speichermöglichkeiten haben. Höhere Dienste können die Dienste der unteren Schichten im Stack nur über Prozeduren aufrufen. Der Code einer Schicht ist gekapselt, da kann man nicht viel machen.



  • Da bin ich anderer Meinung.

    Gluecklicherweise sind Meinungen irrelevant, nur Fakten zaehlen. Ich kann ein UDP-Paket in einem einzelnen Code-Blob zusammenbauen und verschicken ohne auch nur eine Prozedur aufgerufen zu haben.



  • Martin69! schrieb:

    knivil schrieb:

    Schichten im OSI-Referenzmodell haben nichts mit Prozeduren, Prozessen oder Schichten in einer Anwendung zu tun.

    Da bin ich anderer Meinung. Denn zwischen den Schichten des OSI-Modells sind nur Prozeduraufrufe erlaubt. Ist ja auch irgendwie logisch, weil wir ja keine Speichermöglichkeiten haben. Höhere Dienste können die Dienste der unteren Schichten im Stack nur über Prozeduren aufrufen. Der Code einer Schicht ist gekapselt, da kann man nicht viel machen.

    Das OSI-Modell und auch das TCP/IP-Modell teilen das Problemfeld Netzwerkkommunikation in Schichten. Um die zu lösenden Probleme einfacher beschreiben und lösen zu können. Denn in jeder Schicht müssen nur die Probleme dieser Schicht gelöst werden, da die darunterliegenden Schichten durch Dienste abstrahiert sind.
    Diese abstrakten Modelle schreiben aber nicht vor wie Dienste konkret realisiert werden müssen.



  • geloescht: was solls ...


Log in to reply