The Network Virtual Terminal (Das Netzwerk-Virtual-Terminal)
Das Netzwerk-Virtual-Terminal (Network Virtual Terminal, NVT) ist ein bidirektionales Zeichengerät (Bi-Directional Character Device). Das NVT verfügt über einen Drucker (Printer) und eine Tastatur (Keyboard). Der Drucker reagiert auf eingehende Daten, und die Tastatur erzeugt ausgehende Daten, die über die TELNET-Verbindung gesendet werden, und wenn "Echos" erwünscht sind, auch an den Drucker des NVT. "Echos" sollen nicht das Netzwerk durchlaufen (obwohl Optionen existieren, um einen "Remote"-Echo-Modus zu ermöglichen, ist kein Host verpflichtet, diese Option zu implementieren). Der Codesatz ist 7-Bit-USASCII in einem 8-Bit-Feld, außer wie hierin geändert. Alle Code-Konvertierungs- und Timing-Überlegungen sind lokale Probleme und beeinflussen das NVT nicht.
TRANSMISSION OF DATA (Datenübertragung)
Obwohl eine TELNET-Verbindung durch das Netzwerk intrinsisch vollduplex ist, soll das NVT als halbduplexes Gerät (Half-Duplex Device) betrachtet werden, das im zeilengepufferten Modus (Line-Buffered Mode) arbeitet. Das heißt, sofern und bis Optionen nicht anders ausgehandelt werden, gelten die folgenden Standardbedingungen für die Übertragung von Daten über die TELNET-Verbindung:
-
Soweit die Verfügbarkeit von lokalem Pufferspeicher es erlaubt, sollten (SHOULD) Daten in dem Host akkumuliert werden, in dem sie generiert werden, bis eine vollständige Datenzeile für die Übertragung bereit ist oder bis ein lokal definiertes explizites Übertragungssignal auftritt. Dieses Signal könnte entweder von einem Prozess oder von einem menschlichen Benutzer generiert werden.
Die Motivation für diese Regel sind die hohen Kosten für einige Hosts bei der Verarbeitung von Netzwerk-Eingabeunterbrechungen, verbunden mit der Standard-NVT-Spezifikation, dass "Echos" nicht das Netzwerk durchlaufen. Daher ist es vernünftig, eine gewisse Menge an Daten an ihrer Quelle zu puffern. Viele Systeme führen eine Verarbeitungsaktion am Ende jeder Eingabezeile durch (sogar Zeilendrucker oder Kartenstanzer arbeiten häufig auf diese Weise), daher sollte die Übertragung am Ende einer Zeile ausgelöst werden. Andererseits kann ein Benutzer oder Prozess manchmal es als notwendig oder wünschenswert empfinden, Daten bereitzustellen, die nicht am Ende einer Zeile enden; daher werden Implementierer ermahnt, Methoden zur lokalen Signalisierung bereitzustellen, dass alle gepufferten Daten sofort übertragen werden sollen.
-
Wenn ein Prozess das Senden von Daten an einen NVT-Drucker abgeschlossen hat und keine wartenden Eingaben von der NVT-Tastatur zur weiteren Verarbeitung hat (d.h. wenn ein Prozess an einem Ende einer TELNET-Verbindung nicht ohne Eingabe vom anderen Ende fortfahren kann), muss (MUST) der Prozess den TELNET Go Ahead (GA) Befehl übertragen.
Diese Regel soll nicht erfordern, dass der TELNET GA-Befehl am Ende jeder Zeile von einem Terminal gesendet wird, da Server-Hosts normalerweise kein spezielles Signal (zusätzlich zum Zeilenende oder anderen lokal definierten Zeichen) benötigen, um mit der Verarbeitung zu beginnen. Vielmehr ist der TELNET GA so konzipiert, dass er dem lokalen Host des Benutzers hilft, ein physisch halbduplexes Terminal mit einer "sperrbaren" Tastatur wie dem IBM 2741 zu betreiben. Eine Beschreibung dieses Terminaltyps kann helfen, die richtige Verwendung des GA-Befehls zu erklären.
Die Terminal-Computer-Verbindung steht immer unter der Kontrolle entweder des Benutzers oder des Computers. Keiner kann die Kontrolle vom anderen einseitig übernehmen; vielmehr muss (MUST) das kontrollierende Ende seine Kontrolle explizit aufgeben. Auf der Terminalseite ist die Hardware so konstruiert, dass sie die Kontrolle jedes Mal aufgibt, wenn eine "Zeile" beendet wird (d.h. wenn die "New Line"-Taste vom Benutzer gedrückt wird). Wenn dies geschieht, verarbeitet der angeschlossene (lokale) Computer die Eingabedaten, entscheidet, ob Ausgabe erzeugt werden soll, und gibt, falls nicht, die Kontrolle an das Terminal zurück. Wenn Ausgabe erzeugt werden soll, behält der Computer die Kontrolle, bis alle Ausgaben übertragen wurden.
Die Schwierigkeiten bei der Verwendung dieses Terminaltyps über das Netzwerk sollten offensichtlich sein. Der "lokale" Computer kann nicht mehr entscheiden, ob er die Kontrolle nach dem Erkennen eines Zeilenendesignals behalten soll oder nicht; diese Entscheidung kann nur vom "entfernten" Computer getroffen werden, der die Daten verarbeitet. Daher bietet der TELNET GA-Befehl einen Mechanismus, mit dem der "entfernte" (Server-)Computer dem "lokalen" (Benutzer-)Computer signalisieren kann, dass es Zeit ist, die Kontrolle an den Benutzer des Terminals zu übergeben. Er sollte (SHOULD) zu diesen Zeiten übertragen werden, und nur zu diesen Zeiten, wenn dem Benutzer die Kontrolle über das Terminal gegeben werden sollte. Beachten Sie, dass eine vorzeitige Übertragung des GA-Befehls zu einer Blockierung der Ausgabe führen kann, da der Benutzer wahrscheinlich annimmt, dass das übertragende System pausiert hat, und er daher nicht in der Lage sein wird, die Leitung manuell umzudrehen.
Das Vorstehende gilt natürlich nicht für die Benutzer-zu-Server-Kommunikationsrichtung. In dieser Richtung können GAs jederzeit gesendet werden, müssen aber niemals gesendet werden. Auch wenn die TELNET-Verbindung für Prozess-zu-Prozess-Kommunikation verwendet wird, müssen GAs in keiner Richtung gesendet werden. Schließlich kann für Terminal-zu-Terminal-Kommunikation GA in keiner, einer oder beiden Richtungen erforderlich sein. Wenn ein Host plant, Terminal-zu-Terminal-Kommunikation zu unterstützen, wird empfohlen (suggested), dass der Host dem Benutzer ein Mittel zur manuellen Signalisierung bereitstellt, dass es Zeit ist, ein GA über die TELNET-Verbindung zu senden; dies ist jedoch keine Anforderung an den Implementierer eines TELNET-Prozesses.
Beachten Sie, dass die Symmetrie des TELNET-Modells erfordert, dass an jedem Ende der TELNET-Verbindung, zumindest konzeptionell, ein NVT vorhanden ist.
STANDARD REPRESENTATION OF CONTROL FUNCTIONS (Standarddarstellung von Steuerungsfunktionen)
Wie in der Einleitung zu diesem Dokument angegeben, ist das Hauptziel des TELNET-Protokolls die Bereitstellung einer Standardschnittstelle für Terminalgeräte und terminalorientierte Prozesse über das Netzwerk. Frühe Erfahrungen mit dieser Art von Verbindung haben gezeigt, dass bestimmte Funktionen von den meisten Servern implementiert werden, aber die Methoden zum Aufrufen dieser Funktionen stark variieren. Für einen menschlichen Benutzer, der mit mehreren Serversystemen interagiert, sind diese Unterschiede höchst frustrierend. TELNET definiert daher eine Standarddarstellung für fünf dieser Funktionen, wie unten beschrieben. Diese Standarddarstellungen haben standardmäßige, aber nicht erforderliche Bedeutungen (mit der Ausnahme, dass die Funktion Interrupt Process (IP) von anderen Protokollen, die TELNET verwenden, möglicherweise erforderlich ist); das heißt, ein System, das die Funktion nicht für lokale Benutzer bereitstellt, muss sie nicht für Netzwerkbenutzer bereitstellen und kann (may) die Standarddarstellung für die Funktion als No-Operation behandeln. Andererseits ist ein System, das die Funktion für einen lokalen Benutzer bereitstellt, verpflichtet, dieselbe Funktion für einen Netzwerkbenutzer bereitzustellen, der die Standarddarstellung für die Funktion überträgt.
Interrupt Process (IP) (Prozess unterbrechen)
Viele Systeme bieten eine Funktion, die die Operation eines Benutzerprozesses aussetzt, unterbricht, abbricht oder beendet. Diese Funktion wird häufig verwendet, wenn ein Benutzer glaubt, dass sich sein Prozess in einer Endlosschleife befindet, oder wenn ein unerwünschter Prozess versehentlich aktiviert wurde. IP ist die Standarddarstellung zum Aufrufen dieser Funktion. Implementierer sollten beachten, dass IP möglicherweise von anderen Protokollen, die TELNET verwenden, erforderlich ist und daher implementiert werden sollte (should), wenn diese anderen Protokolle unterstützt werden sollen.
Abort Output (AO) (Ausgabe abbrechen)
Viele Systeme bieten eine Funktion, die es einem Prozess, der Ausgabe erzeugt, ermöglicht, bis zum Abschluss zu laufen (oder den gleichen Stopppunkt zu erreichen, den er bei vollständigem Durchlauf erreichen würde), aber ohne die Ausgabe an das Terminal des Benutzers zu senden. Darüber hinaus löscht diese Funktion typischerweise jede bereits erzeugte, aber noch nicht tatsächlich auf dem Terminal des Benutzers gedruckte (oder angezeigte) Ausgabe. AO ist die Standarddarstellung zum Aufrufen dieser Funktion. Zum Beispiel könnte ein Subsystem normalerweise einen Befehl des Benutzers akzeptieren, als Antwort eine lange Textzeichenfolge an das Terminal des Benutzers senden und schließlich die Bereitschaft zur Annahme des nächsten Befehls signalisieren, indem es ein "Prompt"-Zeichen (dem <CR><LF> vorangeht) an das Terminal des Benutzers sendet. Wenn das AO während der Übertragung der Textzeichenfolge empfangen würde, wäre eine vernünftige Implementierung, den Rest der Textzeichenfolge zu unterdrücken, aber das Prompt-Zeichen und das vorangehende <CR><LF> zu übertragen. (Dies unterscheidet sich möglicherweise von der Aktion, die ausgeführt würde, wenn ein IP empfangen würde; das IP könnte die Unterdrückung der Textzeichenfolge und einen Austritt aus dem Subsystem verursachen.)
Es sollte von Serversystemen, die diese Funktion bereitstellen, beachtet werden, dass Puffer außerhalb des Systems (im Netzwerk und im lokalen Host des Benutzers) vorhanden sein können, die gelöscht werden sollten; die geeignete Methode dazu besteht darin, das "Synch"-Signal (unten beschrieben) an das Benutzersystem zu übertragen.
Are You There (AYT) (Bist du da)
Viele Systeme bieten eine Funktion, die dem Benutzer sichtbare (z.B. druckbare) Beweise liefert, dass das System noch läuft. Diese Funktion kann vom Benutzer aufgerufen werden, wenn das System unerwartet für eine lange Zeit "still" ist, aufgrund der unerwarteten (für den Benutzer) Länge einer Berechnung, einer ungewöhnlich hohen Systemlast usw. AYT ist die Standarddarstellung zum Aufrufen dieser Funktion.
Erase Character (EC) (Zeichen löschen)
Viele Systeme bieten eine Funktion, die das letzte vorhergehende ungelöschte Zeichen oder die "Druckposition"* aus dem Datenstrom löscht, der vom Benutzer bereitgestellt wird. Diese Funktion wird typischerweise verwendet, um Tastatureingaben zu bearbeiten, wenn Tippfehler gemacht werden. EC ist die Standarddarstellung zum Aufrufen dieser Funktion.
*HINWEIS: Eine "Druckposition" kann mehrere Zeichen enthalten, die das Ergebnis von Überstrichen sind, oder von Sequenzen wie <char1> BS <char2>...
Erase Line (EL) (Zeile löschen)
Viele Systeme bieten eine Funktion, die alle Daten in der aktuellen Eingabe-"Zeile" löscht. Diese Funktion wird typischerweise verwendet, um Tastatureingaben zu bearbeiten. EL ist die Standarddarstellung zum Aufrufen dieser Funktion.
THE TELNET "SYNCH" SIGNAL (Das TELNET-"Synch"-Signal)
Die meisten Timesharing-Systeme bieten Mechanismen, die es einem Terminalbenutzer ermöglichen, die Kontrolle über einen "außer Kontrolle geratenen" Prozess zurückzugewinnen; die oben beschriebenen IP- und AO-Funktionen sind Beispiele für diese Mechanismen. Solche Systeme haben, wenn sie lokal verwendet werden, Zugriff auf alle vom Benutzer gelieferten Signale, unabhängig davon, ob dies normale Zeichen oder spezielle "out-of-band"-Signale wie die vom Fernschreiber "BREAK"-Taste oder der IBM 2741 "ATTN"-Taste gelieferten sind. Dies ist nicht unbedingt der Fall, wenn Terminals über das Netzwerk mit dem System verbunden sind; die Flusssteuerungsmechanismen des Netzwerks können dazu führen, dass ein solches Signal woanders gepuffert wird, beispielsweise im Host des Benutzers.
Um diesem Problem zu begegnen, wird der TELNET-"Synch"-Mechanismus eingeführt. Ein Synch-Signal besteht aus einer TCP-Urgent-Benachrichtigung (TCP Urgent Notification), gekoppelt mit dem TELNET-Befehl DATA MARK. Die Urgent-Benachrichtigung, die nicht der Flusssteuerung unterliegt, die für die TELNET-Verbindung gilt, wird verwendet, um eine spezielle Behandlung des Datenstroms durch den Prozess aufzurufen, der ihn empfängt. In diesem Modus wird der Datenstrom sofort nach "interessanten" Signalen gescannt, wie unten definiert, wobei dazwischenliegende Daten verworfen werden. Der TELNET-Befehl DATA MARK (DM) ist die Synchronisierungsmarkierung im Datenstrom, die anzeigt, dass alle speziellen Signale bereits aufgetreten sind und der Empfänger zur normalen Verarbeitung des Datenstroms zurückkehren kann.
Das Synch wird über die TCP-Sendeoperation mit gesetztem Urgent-Flag und dem DM als letztem (oder einzigem) Datenoktett gesendet.
Wenn mehrere Synchs schnell hintereinander gesendet werden, können die Urgent-Benachrichtigungen zusammengeführt werden. Es ist nicht möglich, Urgents zu zählen, da die Anzahl der empfangenen kleiner oder gleich der Anzahl der gesendeten sein wird. Im normalen Modus ist ein DM eine No-Operation; im Urgent-Modus signalisiert es das Ende der Urgent-Verarbeitung.
Wenn TCP das Ende der Urgent-Daten anzeigt, bevor das DM gefunden wird, sollte (should) TELNET die spezielle Behandlung des Datenstroms fortsetzen, bis das DM gefunden wird.
Wenn TCP nach dem Auffinden des DM weitere Urgent-Daten anzeigt, kann dies nur aufgrund eines nachfolgenden Synch sein. TELNET sollte (should) die spezielle Behandlung des Datenstroms fortsetzen, bis ein weiteres DM gefunden wird.
"Interessante" Signale werden definiert als: die TELNET-Standarddarstellungen von IP, AO und AYT (aber nicht EC oder EL); die lokalen Analoga dieser Standarddarstellungen (falls vorhanden); alle anderen TELNET-Befehle; andere standortdefinierte Signale, auf die reagiert werden kann, ohne das Scannen des Datenstroms zu verzögern.
Da ein Effekt des SYNCH-Mechanismus das Verwerfen von im Wesentlichen allen Zeichen (außer TELNET-Befehlen) zwischen dem Sender des Synch und seinem Empfänger ist, wird dieser Mechanismus als die Standardmethode zum Löschen des Datenpfads angegeben, wenn dies gewünscht wird. Zum Beispiel sollte (should) der Server, der das AO empfängt (wenn er diese Funktion überhaupt bereitstellt), dem Benutzer ein Synch zurücksenden, wenn ein Benutzer an einem Terminal die Übertragung eines AO verursacht.
Schließlich ist, genauso wie die TCP-Urgent-Benachrichtigung auf der TELNET-Ebene als out-of-band-Signal benötigt wird, so können andere Protokolle, die TELNET verwenden, einen TELNET-Befehl erfordern, der als out-of-band-Signal auf einer anderen Ebene angesehen werden kann.
Nach Konvention soll die Sequenz [IP, Synch] als ein solches Signal verwendet werden. Angenommen, ein anderes Protokoll, das TELNET verwendet, definiert die Zeichenfolge STOP analog zum TELNET-Befehl AO. Stellen Sie sich vor, ein Benutzer dieses Protokolls möchte, dass ein Server die STOP-Zeichenfolge verarbeitet, aber die Verbindung ist blockiert, weil der Server andere Befehle verarbeitet. Der Benutzer sollte sein System anweisen:
-
Das TELNET IP-Zeichen zu senden;
-
Die TELNET-SYNC-Sequenz zu senden, das heißt:
Das Data Mark (DM) als einziges Zeichen in einer TCP-Urgent-Mode-Sendeoperation zu senden.
-
Die Zeichenfolge STOP zu senden; und
-
Das Analogon des anderen Protokolls zum TELNET DM zu senden, falls vorhanden.
Der Benutzer (oder der Prozess, der in seinem Namen handelt) muss (must) die TELNET-SYNCH-Sequenz von Schritt 2 oben übertragen, um sicherzustellen, dass das TELNET IP zum TELNET-Interpreter des Servers gelangt.
Das Urgent sollte den TELNET-Prozess aufwecken; das IP sollte den nächsthöheren Prozess aufwecken.
THE NVT PRINTER AND KEYBOARD (Der NVT-Drucker und die NVT-Tastatur)
Der NVT-Drucker hat eine unspezifizierte Wagenbreite und Seitenlänge und kann Darstellungen aller 95 USASCII-Grafiken (Codes 32 bis 126) erzeugen. Von den 33 USASCII-Steuerungscodes (0 bis 31 und 127) und den 128 nicht abgedeckten Codes (128 bis 255) haben die folgenden eine spezifizierte Bedeutung für den NVT-Drucker:
NAME CODE MEANING
NULL (NUL) 0 Keine Operation Line Feed (LF) 10 Bewegt den Drucker zur nächsten Druckzeile, wobei dieselbe horizontale Position beibehalten wird. Carriage Return (CR) 13 Bewegt den Drucker zum linken Rand der aktuellen Zeile.
Darüber hinaus sollen (shall) die folgenden Codes definierte, aber nicht erforderliche Auswirkungen auf den NVT-Drucker haben. Kein Ende einer TELNET-Verbindung kann (may) annehmen, dass die andere Partei bei Empfang oder Übertragung dieser eine bestimmte Aktion ergreifen wird oder ergriffen hat:
BELL (BEL) 7 Erzeugt ein hörbares oder sichtbares Signal (das NICHT den Druckkopf bewegt). Back Space (BS) 8 Bewegt den Druckkopf eine Zeichenposition in Richtung des linken Rands. Horizontal Tab (HT) 9 Bewegt den Drucker zum nächsten horizontalen Tabstopp. Es bleibt unspezifiziert, wie eine der Parteien bestimmt oder festlegt, wo sich solche Tabstopps befinden. Vertical Tab (VT) 11 Bewegt den Drucker zum nächsten vertikalen Tabstopp. Es bleibt unspezifiziert, wie eine der Parteien bestimmt oder festlegt, wo sich solche Tabstopps befinden. Form Feed (FF) 12 Bewegt den Drucker zum Anfang der nächsten Seite, wobei dieselbe horizontale Position beibehalten wird.
Alle verbleibenden Codes veranlassen den NVT-Drucker nicht, irgendeine Aktion auszuführen.
Die Sequenz "CR LF" wird, wie definiert, dazu führen, dass das NVT am linken Rand der nächsten Druckzeile positioniert wird (wie es beispielsweise die Sequenz "LF CR" tun würde). Jedoch behandeln viele Systeme und Terminals CR und LF nicht unabhängig und müssen einige Anstrengungen unternehmen, um ihre Wirkung zu simulieren. (Beispielsweise haben einige Terminals kein vom LF unabhängiges CR, aber auf solchen Terminals kann es möglich sein, ein CR durch Rückwärtstabulator zu simulieren.) Daher muss (must) die Sequenz "CR LF" als ein einzelnes "Neue Zeile"-Zeichen behandelt und verwendet werden, wann immer ihre kombinierte Aktion beabsichtigt ist; die Sequenz "CR NUL" muss (must) verwendet werden, wenn nur ein Wagenrücklauf tatsächlich gewünscht wird; und das CR-Zeichen muss (must) in anderen Kontexten vermieden werden. Diese Regel gibt Systemen, die entscheiden müssen, ob sie eine "Neue Zeile"-Funktion oder mehrere Rückwärtstabulatoren ausführen sollen, die Gewissheit, dass der TELNET-Strom ein Zeichen nach einem CR enthält, das eine rationale Entscheidung ermöglicht.
Beachten Sie, dass "CR LF" oder "CR NUL" in beiden Richtungen erforderlich ist (im Standard-ASCII-Modus), um die Symmetrie des NVT-Modells zu bewahren. Auch wenn in einigen Situationen bekannt sein mag (z.B. mit aktivierten Remote-Echo- und Suppress-Go-Ahead-Optionen), dass Zeichen nicht an einen tatsächlichen Drucker gesendet werden, erfordert das Protokoll dennoch aus Gründen der Konsistenz, dass ein NUL nach einem CR eingefügt wird, dem kein LF im Datenstrom folgt. Das Gegenteil davon ist, dass ein NUL, das im Datenstrom nach einem CR empfangen wird (in Abwesenheit von Optionsverhandlungen, die ausdrücklich etwas anderes spezifizieren), vor der Anwendung der NVT-zu-lokalen-Zeichensatz-Zuordnung entfernt werden sollte (should).
Die NVT-Tastatur hat Tasten, Tastenkombinationen oder Tastenfolgen zum Generieren aller 128 USASCII-Codes. Beachten Sie, dass obwohl viele keine Auswirkung auf den NVT-Drucker haben, die NVT-Tastatur in der Lage ist, sie zu generieren.
Zusätzlich zu diesen Codes soll (shall) die NVT-Tastatur in der Lage sein, die folgenden zusätzlichen Codes zu generieren, die, außer wie angegeben, definierte, aber nicht erforderliche Bedeutungen haben. Die tatsächlichen Codezuweisungen für diese "Zeichen" befinden sich im TELNET-Befehlsabschnitt, da sie als in gewissem Sinne generisch angesehen werden und auch dann verfügbar sein sollten, wenn der Datenstrom als ein anderer Zeichensatz interpretiert wird.
Synch
Diese Taste ermöglicht es dem Benutzer, seinen Datenpfad zur anderen Partei zu löschen. Die Aktivierung dieser Taste bewirkt, dass ein DM (siehe Befehlsabschnitt) im Datenstrom gesendet wird, und eine TCP-Urgent-Benachrichtigung ist damit verbunden. Das Paar DM-Urgent muss (must) wie zuvor definiert die erforderliche Bedeutung haben.
Break (BRK)
Dieser Code wird bereitgestellt, weil er ein Signal außerhalb des USASCII-Satzes ist, dem derzeit in vielen Systemen lokale Bedeutung gegeben wird. Er soll anzeigen, dass die Break-Taste oder die Attention-Taste gedrückt wurde. Beachten Sie jedoch, dass dies dazu gedacht ist, einen 129. Code für Systeme bereitzustellen, die ihn benötigen, nicht als Synonym für die IP-Standarddarstellung.
Interrupt Process (IP)
Suspendiert, unterbricht, bricht ab oder beendet den Prozess, mit dem das NVT verbunden ist. Auch Teil des out-of-band-Signals für andere Protokolle, die TELNET verwenden.
Abort Output (AO)
Erlaubt dem aktuellen Prozess, (scheinbar) bis zum Abschluss zu laufen, sendet aber seine Ausgabe nicht an den Benutzer. Sendet auch ein Synch an den Benutzer.
Are You There (AYT)
Sendet zurück zum NVT einige sichtbare (d.h. druckbare) Beweise, dass das AYT empfangen wurde.
Erase Character (EC)
Der Empfänger sollte (should) das letzte vorhergehende ungelöschte Zeichen oder die "Druckposition" aus dem Datenstrom löschen.
Erase Line (EL)
Der Empfänger sollte (should) Zeichen aus dem Datenstrom bis zu, aber nicht einschließlich, der letzten über die TELNET-Verbindung gesendeten "CR LF"-Sequenz löschen.
Der Geist dieser "zusätzlichen" Tasten sowie der Drucker-Formateffekte ist, dass sie eine natürliche Erweiterung der Zuordnung darstellen sollten, die bereits von "NVT" nach "lokal" erfolgen muss. Genauso wie das NVT-Datenbyte 68 (104 oktal) auf den lokalen Code für "Großbuchstabe D" abgebildet werden sollte, sollte das EC-Zeichen auf die lokale "Zeichen löschen"-Funktion abgebildet werden. Ferner ist, genauso wie die Zuordnung für 124 (174 oktal) in einer Umgebung, die kein "vertikaler Balken"-Zeichen hat, etwas willkürlich ist, das EL-Zeichen möglicherweise eine etwas willkürliche Zuordnung (oder gar keine) haben, wenn es keine lokale "Zeile löschen"-Funktion gibt. Ähnlich für Formateffekte: Wenn das Terminal tatsächlich einen "Vertikalen Tabulator" hat, ist die Zuordnung für VT offensichtlich, und nur wenn das Terminal keinen vertikalen Tabulator hat, sollte die Wirkung von VT unvorhersehbar sein.