📄 rfc1921.txt
字号:
4. TNVIP functions The TNVIP protocol allows the following functions : - Support of a VIP terminal emulation addressing the screen and its associated printer . - Selection of the terminal type model at the connection time. - Specific or generic access to the "TNVIP server" by referencing or not a Mailbox name. - TNVIP protocol independent of the terminal data presentation protocol (7800 or P200). - Support of the DSA End To End Acknowledgement. - Support of the DSA Terminal Manager local attention. - Support of the DSA turn to the terminal side. - Support of the DSA secret read. - Control of the hard copy.Dujonc Informational [Page 8]RFC 1921 TNVIP Protocol March 19964.1 TNVIP terminal station The "TNVIP client" acts as the interface adapter between the TNVIP connection and an application program. The "TNVIP client" is mainly defined to support a VIP terminal emulation program but can be used by other else program using the TNVIP protocol. A VIP terminal emulation manages: - a screen buffer, - a printer buffer if it supports the associated printer, - the interface with the communication line and runs using the following rules: When the VIP terminal emulation exchanges a message on the communication line, it is in the BUSY state until the end of the message exchange. That means when the VIP terminal is sending a message it can't receive and when it is receiving a message it can't send. Note: If a VIP terminal works in the half duplex mode, as the TNVIP protocol uses a Telnet connection it allows a full duplex mode processing.4.1.1 Local and online states The VIP terminal has the capability to switch between these two states. The LOCAL state is generally used to process local terminal tests or to modify the configuration. In this state, the data coming from the line are ignored. The LOCAL state allows the "TNVIP client" to request to the server the screen and printer data flows to be suspended. The ONLINE state indication allows the "TNVIP server" to resume the screen and printer flows. For these reasons the TNVIP protocol differentiates the screen and printer flows from the screen copy printing flow and defines to report the two states to the "TNVIP server".Dujonc Informational [Page 9]RFC 1921 TNVIP Protocol March 19964.1.2 Data receiving When a VIP terminal emulation receives a data message from the line, according to the address given in the header message,it sends data to the screen buffer or to the printer buffer. A message received at the screen or printer address is deleted and ignored if the terminal emulation is in the LOCAL state and a BUSY status is returned. The printer buffer is busy when the terminal is transmitting the data from the printer buffer to the printer device. A data message for the printer is deleted and ignored if the terminal is in the printing state and a BUSY status is returned. When a BUSY state is encountered, the "TNVIP client" according to the type of message received (request or indication) reports or not the BUSY acknowledgement to the "TNVIP server".4.1.3 Data sending A VIP terminal emulation can send message even if the terminal is in the LOCAL state.4.2 TNVIP Server functions4.2.1 VIP Terminal Manager Its function is to act as a gateway between the VIP terminal and the VIP application. Generally the application is a remote DSA application. It manages the screen and printer devices of the VIP terminal station.Dujonc Informational [Page 10]RFC 1921 TNVIP Protocol March 1996 In the following example figure, the "TNVIP server" is a DSA server and manages three VIP terminal units TU1, TU2 and TU3. Generic access -------------- !----> LD 1S ----> DV 1S (screen) ---->! MB 1 --> SN 1 TU 1 !----> LD 1P ----> DV 1P (printer) ---->! Specific accesses ----------------- !----> LD 2S ----> DV 2S (screen) ---->TU 2 MB 2 --> SN 2 !----> LD 2P ----> ! ! !----> LD 3P ----> DV 3S (printer) ---->! MB 3 --> SN 3 TU 3 !----> LD 3S ----> DV 3P (screen) ---->! Each Terminal Unit (TU object) is declared as containing one or two devices (DV objects). The Terminal Manager maps this physical representation to a logical representation where the station (SN object) is the logical representation of a terminal unit, and the logical device (LD) object a logical representation of the real device. - TU1 will be chosen by default on generic request (without mailbox name) or by the MB1 name addressing on specific request. It can manage the associated printer device. - MB2 will be addressed to access the TU2 terminal unit. TU2 is defined in a specific way because it will be presented to the host application as a station composed of a screen (the TU2 one's) and a printer (the TU3 one's). - MB3 will be addressed to access TU3 terminal unit. TU3 is also defined in a specific way because the printer device is shared by several logical stations (SN2 and SN3) and must be well identified.Dujonc Informational [Page 11]RFC 1921 TNVIP Protocol March 19965. TNVIP Messages Format Each TNVIP message is delimited by the Telnet EOR command. Therefore, a TNVIP message has the following format: <TNVIP Header> <parameters> <IAC EOR> The TNVIP header is mandatory and have a fixed length of two bytes. Some TNVIP messages need no parameter. In this case, the TNVIP message has the following construction: <TNVIP Header> <IAC EOR> It is strongly recommended that Telnet commands (other than IAC IAC) should be sent between TNVIP messages, with no TNVIP header and no trailing IAC EOR. If a TNVIP data message containing any other IAC- command sequence (other than IAC IAC) is received, it is implementation dependent when the IAC-command sequence will be processed, but it must be processed. The receiver may process it immediately, which in effect causes it to be processed as if it had been received before the current TNVIP message, or the processing may be deferred until after the current TNVIP message has been processed. It is because of this ambiguity that the presence of Telnet commands within a TNVIP message is not recommended; neither "TNVIP client"s nor "TNVIP server"s should send such data. The TNVIP header contains 2 bytes. The first one indicates the address <ADR> and the second the command <CDE>.5.1 Address Field The <ADR> address field is mandatory and is defined on one byte. The TNVIP protocol defines 3 addresses: - ADR = SCREEN = 96 (0x60) for the screen commands flow, - ADR = PRINTER = 104 (0x68) for the printer commands flow, - ADR = SCPM = 105 (0x69) for the screen copy printing commands flow. A request message with an unknown or unsupported address will be discarded by the receiver which replies with a NOT-AVAILABLE response message.Dujonc Informational [Page 12]RFC 1921 TNVIP Protocol March 19965.2 Command field The <CDE> command field is mandatory and defined on one byte. The command byte <CDE> is structured as follows: <Command-Type><Message-Type> - The Command-Type fills the six most significant bits of the <CDE> byte. The most significant bit is always 0. Its value is ranged from 0 to 31 included. It defines the command associated to the message for the flow identified by the address field. - The Message-Type fills the two less significant bits of the <CDE> byte. 0 = Indication message. No response message is expected. An indication message with an undefined command type or with an unknown address is deleted and ignored. 1 = Request message. The sender of a request message is waiting for a response message having the same address value. When a request message is sent for a given address, it is not allowed to send another request to the same address before the receiving response. If an end point receives a request before having sent the response of the previous request, it deletes the second request but have to send back a PROTOCOL-VIOLATION response after the response of the first request. A request message with a not defined address is replied to by a NOT-AVAILABLE response message. A request message with an unknown or unsupported command <CDE> for this address will be deleted by the receiver and replied to by an UNKNOWN-COMMAND response message. 2 = Response message. This message is the response to the current request message. The receiver of this message is allowed to send another request message on the flow defined by the ADR field. 3 = Response and request message. This message is a positive response to the current request message sent by the receiver, but is also a request message.Dujonc Informational [Page 13]RFC 1921 TNVIP Protocol March 1996 The following table gives the <CDE> commands list with their hexadecimal values Command Indication Request Response Resp/Req -------------------------------------------------------- DATA 00 01 PASSW 04 05 ACK 0A ERROR 0E BUSY 12 ABORTED 16 PURGED 1A NOT-AVAILABLE 1E PROTOCOL-VIOLATION 22 UNKNOWN-COMMAND 26 PURGE 28 LOCAL-STATE 2D ONLINE-STATE 30 STATE-REQ 35 READY 3A STANDBY 3E COPY-REQ 41 LOCAL-COPY 475.3 Parameter field This field has a variable length and its content is depending on the two previous fields (address and command).6. The screen flow All the following messages contain the value SCREEN = 96 (0x60) in the ADR field.6.1 Screen data messages These messages are defined to transport in the parameter field of the TNVIP message, the data in the terminal presentation negotiated by the "Terminal Type" telnet command. The parameter has the following format: <FC1> <FC2> <STX> < screen data> - The FC1, FC2 bytes are the functions codes of the VIP procedure transmission [9]. Their values are comprised between 32 (0x20) included and 127 (0x7F) included.Dujonc Informational [Page 14]RFC 1921 TNVIP Protocol March 1996 - The STX byte is defined by the value 2 and acts as the introducer of the screen data. A screen data message can be sent in a request or in an indication message. The command values are defined as follows: <CDE> = DATA indication = 0 <CDE> = DATA request = 1 <CDE> = PASSWORD indication = 4 <CDE> = PASSWORD request = 5 Generally, the "TNVIP server" only sends indication messages to the screen. The request message is used mainly for the printer device. But a DSA/TNVIP gateway server should use the screen data request message when it processes a DSA end to end acknowledgement request from the DSA application and synchronizes the response message receipt with the DSA end to end acknowledgement. The password request and the password indication message are defined, to be used by the programs in the "TNVIP client" machine which don't emulate terminal. In this way, they have the indication that a secret read (password acquisition) is requested by the "TNVIP server". When the program is a terminal emulation this information is not necessary because the data contains the terminal presentation command to request this secret read.6.2 Local state monitoring messages Before to switch in the local state, the "TNVIP client" sends a LOCAL-STATE request message to the "TNVIP server". This last one sends back an acknowledgement message and suspends the screen and printer data flow until it receives a LINE-STATE indication message. Note: In the local state, only the messages from the "TNVIP server" to the screen or printer devices are deleted. The messages from the "TNVIP client" screen device or the messages associated to others addresses are allowed. The following command values are defined as: <CDE> = LOCAL-STATE request = 45 (0x2D). It is sent by the "TNVIP client". There is no parameter field.Dujonc Informational [Page 15]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -