TCP / IP Stack

  • Ich bin seit 3 Wochen dabei für eine WANG MVP einen einfachen TCP/IP Stack zu programmieren, um per SLIP Zugang in die grosse weite Welt zu finden.
    Die Maschinen sind zwar zu langsam für SSL aber zumindest Telnet (Client) / FTP (Client und Server) und HTTP (als "Server") sollten funktionieren.


    Hat hier jemand etwas ähnliches in Basic oder einer anderen Sprache die nunmal anders als C keine Übergabe per Pointer u.ä. hergibt programmiert?

    Momentan hänge ich noch an Sliding Window (momentan ganz einfach auf 1ne Paketgröße eingestellt, was enorm Performance kostet).


    Freue mich über Tips zu Implementierungen auf verwandten Systemen, wenn es sowas geben sollte.

  • Danke, das war schon mal ein super Tip, schau ich mir gleich heute an

  • Beim mTCP für DOS sind die jeweiligen Netzwerksachen in den Applikationen mit drin. Ist aber auch in C geschrieben. Hier besteht der Clou in einer einheitlichen Netzwerktreiber Schnittstelle. Da gibt es auch SLIP dafür.


    Ich weiß nicht inwieweit das bei manchen Terminalprogrammen mit enthalten ist, oder wie weit zurückgehend Telnet eingebaut ist. Für Kermit finde ich RFC 2840 Telnet Kermit OPTION vom May 2000.


    Ich seh schon: Security Alert: worse WANG worm deny of service attac.

    Und das alle nur für:


    Diese Mail wurde von meiner WANG verschickt

    Suche Teile und Geräte für DEC PDP8 Systeme, DEC PDP 11/40 (Unibus) und Teletype ASR-33+ ASR-35. Sowie Zubehör, Doku usw. aus dem Umfeld.

  • Danke für die Antworten,

    bei der WANG ist Basic leider die einzige Programmiersprache, die Speicherbereiche zwischen Control Memory (Basic Implementation) und Programm und Datenspeicher sind streng getrennt und das Control Memory von Basic aus auch nicht editierbar.

    Also muss ich den ganzen Stack tatsächlich in Basic schreiben.


    mTCP und LwIP hatte ich mir angesehen, Problem ist bei beiden das die in C implementiert sind, was viele schöne Features hat die ein altes Basic so nicht mitbringt.


    Werd wohl einfach weiter basteln müssen.


    Und stimmt, wirklich sinn macht das vielleicht nicht, aber die ganzen Disk Images die auf wang2200.org verfügbar sind direkt laden zu können hätte einfach was. Und eine email direkt aus der Wang irgendwie auch.

  • Ich würde da einen externen Prozessor (Arduino, ESP8266 oder ESP32) nehmen und auf dem das TCP/IP laufen lassen.

    Evtl. wie den Disk Emulator an ein Disk-Interface anschliessen und dann Verbindungskommandos und Nutzdaten per DATALOAD relativ effizient und gesichert übertragen. Bei geeigneter Definition dieser 256 Byte Pakete können dann auch mehrere TCP Verbindungen gleichzeitig laufen. Etwa so:

    <verbindungs-nummer> <kommando> <datenlänge> <daten> <auffüll auf 256>

  • Hi Reinhard,


    wenn schon mit externem Prozessor, dann lieber richtig a la Wang. Das würde heissen eine extra Karte basteln mit einem einfachen Prozessor drauf, der die TCP/IP Funktionen übernimmt und die direkt eine RJ45-Ethernet / Wifi oder beides hat.


    Das würde dann etwa den späten RS232 Karten in den Wangs entsprechen auf den ja auch 286er werkeln.


    Ans Disk Interface anschließen geht natürlich ist nur ziemlich zweckentfremdet.

  • klar, dazu reicht dann ein ESP-01 Modul völlig aus. PLUS natürlich eine RS232 Schnittstelle an der Wang...

  • Mir dem Disk Interface wäre zumindest eine schnellere, gesichertere und geblockte Übertragung möglich. Seriell musste das eben noch mit einem Protokoll drüber legen, evtl. AT-Befehle?


    ATDT 192.168.1.3:1234 oder so?

  • Ach, Du meintest eine einfache Karte für die Wang, welche dann wie eine serielle Schnittstelle agiert? Bleibt trotzdem die Notwendigkeit da ein Protokoll drüber zu legen um ggf. mehrere TCP Verbindungen gleichzeitig zu haben und abgehende und ankommende Verbindungen und Fehlerzustände abzufragen.