| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|---|
| 2 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head profile="http://dublincore.org/documents/2008/08/04/dc-html/">
|
|---|
| 3 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|---|
| 4 | <meta name="robots" content="index,follow">
|
|---|
| 5 | <meta name="creator" content="rfcmarkup version 1.101">
|
|---|
| 6 | <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/">
|
|---|
| 7 | <meta name="DC.Identifier" content="urn:ietf:rfc:2217">
|
|---|
| 8 | <meta name="DC.Description.Abstract" content="This memo proposes a protocol to allow greater use of modems attached\nto a network for outbound dialing purposes. This memo defines an\nExperimental Protocol for the Internet community.">
|
|---|
| 9 | <meta name="DC.Creator" content="G. Clark">
|
|---|
| 10 | <meta name="DC.Date.Issued" content="October, 1997">
|
|---|
| 11 | <meta name="DC.Title" content="Telnet Com Port Control Option">
|
|---|
| 12 |
|
|---|
| 13 | <link rel="icon" href="http://tools.ietf.org/images/rfc.png" type="image/png">
|
|---|
| 14 | <link rel="shortcut icon" href="http://tools.ietf.org/images/rfc.png" type="image/png">
|
|---|
| 15 | <title>RFC 2217 - Telnet Com Port Control Option</title>
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 | <style type="text/css">
|
|---|
| 19 | body {
|
|---|
| 20 | margin: 0px 8px;
|
|---|
| 21 | font-size: 1em;
|
|---|
| 22 | }
|
|---|
| 23 | h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
|---|
| 24 | font-weight: bold;
|
|---|
| 25 | line-height: 0pt;
|
|---|
| 26 | display: inline;
|
|---|
| 27 | white-space: pre;
|
|---|
| 28 | font-family: monospace;
|
|---|
| 29 | font-size: 1em;
|
|---|
| 30 | font-weight: bold;
|
|---|
| 31 | }
|
|---|
| 32 | pre {
|
|---|
| 33 | font-size: 1em;
|
|---|
| 34 | margin-top: 0px;
|
|---|
| 35 | margin-bottom: 0px;
|
|---|
| 36 | }
|
|---|
| 37 | .pre {
|
|---|
| 38 | white-space: pre;
|
|---|
| 39 | font-family: monospace;
|
|---|
| 40 | }
|
|---|
| 41 | .header{
|
|---|
| 42 | font-weight: bold;
|
|---|
| 43 | }
|
|---|
| 44 | .newpage {
|
|---|
| 45 | page-break-before: always;
|
|---|
| 46 | }
|
|---|
| 47 | .invisible {
|
|---|
| 48 | text-decoration: none;
|
|---|
| 49 | color: white;
|
|---|
| 50 | }
|
|---|
| 51 | a.selflink {
|
|---|
| 52 | color: black;
|
|---|
| 53 | text-decoration: none;
|
|---|
| 54 | }
|
|---|
| 55 | @media print {
|
|---|
| 56 | body {
|
|---|
| 57 | font-family: monospace;
|
|---|
| 58 | font-size: 10.5pt;
|
|---|
| 59 | }
|
|---|
| 60 | h1, h2, h3, h4, h5, h6 {
|
|---|
| 61 | font-size: 1em;
|
|---|
| 62 | }
|
|---|
| 63 |
|
|---|
| 64 | a:link, a:visited {
|
|---|
| 65 | color: inherit;
|
|---|
| 66 | text-decoration: none;
|
|---|
| 67 | }
|
|---|
| 68 | .noprint {
|
|---|
| 69 | display: none;
|
|---|
| 70 | }
|
|---|
| 71 | }
|
|---|
| 72 | @media screen {
|
|---|
| 73 | .grey, .grey a:link, .grey a:visited {
|
|---|
| 74 | color: #777;
|
|---|
| 75 | }
|
|---|
| 76 | .docinfo {
|
|---|
| 77 | background-color: #EEE;
|
|---|
| 78 | }
|
|---|
| 79 | .top {
|
|---|
| 80 | border-top: 7px solid #EEE;
|
|---|
| 81 | }
|
|---|
| 82 | .bgwhite { background-color: white; }
|
|---|
| 83 | .bgred { background-color: #F44; }
|
|---|
| 84 | .bggrey { background-color: #666; }
|
|---|
| 85 | .bgbrown { background-color: #840; }
|
|---|
| 86 | .bgorange { background-color: #FA0; }
|
|---|
| 87 | .bgyellow { background-color: #EE0; }
|
|---|
| 88 | .bgmagenta{ background-color: #F4F; }
|
|---|
| 89 | .bgblue { background-color: #66F; }
|
|---|
| 90 | .bgcyan { background-color: #4DD; }
|
|---|
| 91 | .bggreen { background-color: #4F4; }
|
|---|
| 92 |
|
|---|
| 93 | .legend { font-size: 90%; }
|
|---|
| 94 | .cplate { font-size: 70%; border: solid grey 1px; }
|
|---|
| 95 | }
|
|---|
| 96 | </style>
|
|---|
| 97 | <!--[if IE]>
|
|---|
| 98 | <style>
|
|---|
| 99 | body {
|
|---|
| 100 | font-size: 13px;
|
|---|
| 101 | margin: 10px 10px;
|
|---|
| 102 | }
|
|---|
| 103 | </style>
|
|---|
| 104 | <![endif]-->
|
|---|
| 105 |
|
|---|
| 106 | <script type="text/javascript"><!--
|
|---|
| 107 | function addHeaderTags() {
|
|---|
| 108 | var spans = document.getElementsByTagName("span");
|
|---|
| 109 | for (var i=0; i < spans.length; i++) {
|
|---|
| 110 | var elem = spans[i];
|
|---|
| 111 | if (elem) {
|
|---|
| 112 | var level = elem.getAttribute("class");
|
|---|
| 113 | if (level == "h1" || level == "h2" || level == "h3" || level == "h4" || level == "h5" || level == "h6") {
|
|---|
| 114 | elem.innerHTML = "<"+level+">"+elem.innerHTML+"</"+level+">";
|
|---|
| 115 | }
|
|---|
| 116 | }
|
|---|
| 117 | }
|
|---|
| 118 | }
|
|---|
| 119 | var legend_html = "Colour legend:<br /> <table> <tr><td>Unknown:</td> <td><span class='cplate bgwhite'> </span></td></tr> <tr><td>Draft:</td> <td><span class='cplate bgred'> </span></td></tr> <tr><td>Informational:</td> <td><span class='cplate bgorange'> </span></td></tr> <tr><td>Experimental:</td> <td><span class='cplate bgyellow'> </span></td></tr> <tr><td>Best Common Practice:</td><td><span class='cplate bgmagenta'> </span></td></tr> <tr><td>Proposed Standard:</td><td><span class='cplate bgblue'> </span></td></tr> <tr><td>Draft Standard:</td> <td><span class='cplate bgcyan'> </span></td></tr> <tr><td>Standard:</td> <td><span class='cplate bggreen'> </span></td></tr> <tr><td>Historic:</td> <td><span class='cplate bggrey'> </span></td></tr> <tr><td>Obsolete:</td> <td><span class='cplate bgbrown'> </span></td></tr> </table>";
|
|---|
| 120 | function showElem(id) {
|
|---|
| 121 | var elem = document.getElementById(id);
|
|---|
| 122 | elem.innerHTML = eval(id+"_html");
|
|---|
| 123 | elem.style.visibility='visible';
|
|---|
| 124 | }
|
|---|
| 125 | function hideElem(id) {
|
|---|
| 126 | var elem = document.getElementById(id);
|
|---|
| 127 | elem.style.visibility='hidden';
|
|---|
| 128 | elem.innerHTML = "";
|
|---|
| 129 | }
|
|---|
| 130 | // -->
|
|---|
| 131 | </script>
|
|---|
| 132 | </head>
|
|---|
| 133 | <body onload="addHeaderTags()">
|
|---|
| 134 | <div style="height: 13px;">
|
|---|
| 135 | <div onmouseover="this.style.cursor='pointer';" onclick="showElem('legend');" onmouseout="hideElem('legend')" style="height: 6px; position: absolute;" class="pre noprint docinfo bgyellow" title="Click for colour legend."> </div>
|
|---|
| 136 | <div id="legend" class="docinfo noprint pre legend" style="position:absolute; top: 4px; left: 4ex; visibility:hidden; background-color: white; padding: 4px 9px 5px 7px; border: solid #345 1px; " onmouseover="showElem('legend');" onmouseout="hideElem('legend');">
|
|---|
| 137 | </div>
|
|---|
| 138 | </div>
|
|---|
| 139 | <span class="pre noprint docinfo top">[<a href="http://tools.ietf.org/html/" title="Document search and retrieval page">Docs</a>] [<a href="http://tools.ietf.org/rfc/rfc2217.txt" title="Plaintext version of this document">txt</a>|<a href="http://tools.ietf.org/pdf/rfc2217" title="PDF version of this document">pdf</a>] [<a href="http://tools.ietf.org/html/draft-clark-telnet-control" title="draft-clark-telnet-control">draft-clark-telne...</a>] [<a href="http://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=rfc2217" title="Inline diff (wdiff)">Diff1</a>] [<a href="http://tools.ietf.org/rfcdiff?url2=rfc2217" title="Side-by-side diff">Diff2</a>] </span><br>
|
|---|
| 140 | <span class="pre noprint docinfo"> </span><br>
|
|---|
| 141 | <span class="pre noprint docinfo"> EXPERIMENTAL</span><br>
|
|---|
| 142 | <span class="pre noprint docinfo"> </span><br>
|
|---|
| 143 | <pre>Network Working Group G. Clark
|
|---|
| 144 | Request for Comments: 2217 Cisco Systems, Inc.
|
|---|
| 145 | Category: Experimental October 1997
|
|---|
| 146 |
|
|---|
| 147 |
|
|---|
| 148 | <span class="h1"><h1>Telnet Com Port Control Option</h1></span>
|
|---|
| 149 |
|
|---|
| 150 |
|
|---|
| 151 | Status of this Memo
|
|---|
| 152 |
|
|---|
| 153 | This memo defines an Experimental Protocol for the Internet
|
|---|
| 154 | community. This memo does not specify an Internet standard of any
|
|---|
| 155 | kind. Discussion and suggestions for improvement are requested.
|
|---|
| 156 | Distribution of this memo is unlimited.
|
|---|
| 157 |
|
|---|
| 158 | Introduction
|
|---|
| 159 |
|
|---|
| 160 | This memo proposes a protocol to allow greater use of modems attached
|
|---|
| 161 | to a network for outbound dialing purposes.
|
|---|
| 162 |
|
|---|
| 163 | Table of Contents
|
|---|
| 164 | 1. Negotiation of the Com Port
|
|---|
| 165 | Control Option Protocol .................. <a href="#page-5">5</a>
|
|---|
| 166 | <a href="#section-2">2</a>. Com Port Configuration Commands .................. <a href="#page-6">6</a>
|
|---|
| 167 | Version
|
|---|
| 168 | Baud Rate
|
|---|
| 169 | Data Bit Size
|
|---|
| 170 | Parity
|
|---|
| 171 | Stop Bit size
|
|---|
| 172 | <a href="#section-3">3</a>. Special Com Port Control Commands ................. <a href="#page-8">8</a>
|
|---|
| 173 | XON/XOFF Flow Control
|
|---|
| 174 | HARDWARE Flow Control
|
|---|
| 175 | BREAK Signal
|
|---|
| 176 | DTR Signal
|
|---|
| 177 | RTS Signal
|
|---|
| 178 | <a href="#section-4">4</a>. Notification of Com Port and .................. <a href="#page-12">12</a>
|
|---|
| 179 | Modem Line Changes
|
|---|
| 180 | <a href="#section-5">5</a>. Flow Control .................. <a href="#page-13">13</a>
|
|---|
| 181 | <a href="#section-6">6</a>. Security Considerations .................. <a href="#page-13">13</a>
|
|---|
| 182 | <a href="#section-7">7</a>. Author's Address .................. <a href="#page-14">14</a>
|
|---|
| 183 | <a href="#section-8">8</a>. Reference Section .................. <a href="#page-14">14</a>
|
|---|
| 184 |
|
|---|
| 185 | Discussion
|
|---|
| 186 |
|
|---|
| 187 | The Telnet protocol defines an interactive, character-oriented
|
|---|
| 188 | communications session. It was originally designed to establish a
|
|---|
| 189 | session between a client and a remote login service running on a host
|
|---|
| 190 | [<a href="#ref-5" title=" Volume III. Prentice Hall">5</a>].
|
|---|
| 191 |
|
|---|
| 192 |
|
|---|
| 193 |
|
|---|
| 194 | <span class="grey">Clark Experimental [Page 1]</span>
|
|---|
| 195 | </pre><!--NewPage--><pre class="newpage"><a name="page-2" id="page-2" href="#page-2" class="invisible"> </a>
|
|---|
| 196 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 197 |
|
|---|
| 198 |
|
|---|
| 199 | Many new business functions require a person to connect to remote
|
|---|
| 200 | services to retrieve or deposit information. By in large, these
|
|---|
| 201 | remote services are accessed via an async dial up connection. This
|
|---|
| 202 | new class of functions include:
|
|---|
| 203 |
|
|---|
| 204 | - dial up connections to the Internet
|
|---|
| 205 | - connecting to bulletin boards
|
|---|
| 206 | - connecting to internal and external databases
|
|---|
| 207 | - sending and receiving faxes.
|
|---|
| 208 |
|
|---|
| 209 | The general nature of this new class of function requires an
|
|---|
| 210 | interactive, character-oriented communications session via an async
|
|---|
| 211 | modem. This is typically known as outbound modem dialing.
|
|---|
| 212 |
|
|---|
| 213 | To help defer the cost of installing and maintaining additional phone
|
|---|
| 214 | lines which may be used very little per person, many equipment
|
|---|
| 215 | manufacturers have added the ability to establish a Telnet session
|
|---|
| 216 | directly to the outbound ports on many of the most popular access
|
|---|
| 217 | servers and routers, here after referred to as access servers.
|
|---|
| 218 |
|
|---|
| 219 | However, the current Telnet protocol definitions are not sufficient
|
|---|
| 220 | to fully support this new use. There are three new areas of
|
|---|
| 221 | functionality which need to be added to the Telnet protocol to
|
|---|
| 222 | successfully support the needs of outbound modem dialing. These are:
|
|---|
| 223 |
|
|---|
| 224 | - The ability for the client to send com port configuration
|
|---|
| 225 | information to the access server which is connected to the
|
|---|
| 226 | outbound modem. This is needed to ensure the data being
|
|---|
| 227 | transmitted and received by the modem is formatted correctly
|
|---|
| 228 | at the byte level.
|
|---|
| 229 |
|
|---|
| 230 | - The ability for the access server to inform the client of any
|
|---|
| 231 | modem line or signal changes such as RLSD changes (carrier
|
|---|
| 232 | detect). This information is vital, since many client software
|
|---|
| 233 | packages use this information to determine if a session with the
|
|---|
| 234 | remote service has been established. RLSD changes are also
|
|---|
| 235 | used for signaling in Class I faxing [<a href="#ref-6">6</a>].
|
|---|
| 236 |
|
|---|
| 237 | - The ability to manage flow control between the client and
|
|---|
| 238 | the access server which does not interfere with the flow
|
|---|
| 239 | control mechanisms used by the session between the client and
|
|---|
| 240 | the remote service. Unfortunately <a href="http://tools.ietf.org/html/rfc1372">RFC 1372</a> "Telnet Remote
|
|---|
| 241 | Flow Control Option" [<a href="#ref-2" title=""Telnet Remote Flow Control Option"">2</a>] can not be used for this purpose
|
|---|
| 242 | because it relies on sending XON/XOFF style characters which
|
|---|
| 243 | maybe transmitted or received as a normal course of the
|
|---|
| 244 | client / remote service session.
|
|---|
| 245 |
|
|---|
| 246 |
|
|---|
| 247 |
|
|---|
| 248 |
|
|---|
| 249 |
|
|---|
| 250 | <span class="grey">Clark Experimental [Page 2]</span>
|
|---|
| 251 | </pre><!--NewPage--><pre class="newpage"><a name="page-3" id="page-3" href="#page-3" class="invisible"> </a>
|
|---|
| 252 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 253 |
|
|---|
| 254 |
|
|---|
| 255 | Though this discussion has focused on outbound modem dialing as the
|
|---|
| 256 | primary use of this protocol, the protocol can also be used for any
|
|---|
| 257 | serial device attached to an access server. Such devices could be:
|
|---|
| 258 |
|
|---|
| 259 | - serial printers
|
|---|
| 260 | - plotters
|
|---|
| 261 | - monitoring devices such as pipe line monitors or medical
|
|---|
| 262 | monitors
|
|---|
| 263 | - general office equipment such as photo-copiers and cash
|
|---|
| 264 | registers
|
|---|
| 265 |
|
|---|
| 266 | Definition of Terms
|
|---|
| 267 |
|
|---|
| 268 | Access Server - Any network device which accepts Telnet sessions
|
|---|
| 269 | and passes the data received to a com port, and
|
|---|
| 270 | passes data received from the com port to the client
|
|---|
| 271 | via the Telnet session.
|
|---|
| 272 |
|
|---|
| 273 | Baud Rate - For the purposes of this document, baud rate will
|
|---|
| 274 | mean the communications of data in bits per second.
|
|---|
| 275 |
|
|---|
| 276 | Client - Any network device which initiates a Telnet session
|
|---|
| 277 | to an access server.
|
|---|
| 278 |
|
|---|
| 279 | Outbound - Transmission of data from the modem attached to the
|
|---|
| 280 | access server to a remote service.
|
|---|
| 281 |
|
|---|
| 282 | Inbound - Transmission of data from the remote service to the
|
|---|
| 283 | modem attached to the access server.
|
|---|
| 284 |
|
|---|
| 285 | Remove Service - Any service which accepts dial-up connections,
|
|---|
| 286 | including fax machines.
|
|---|
| 287 |
|
|---|
| 288 |
|
|---|
| 289 |
|
|---|
| 290 |
|
|---|
| 291 |
|
|---|
| 292 |
|
|---|
| 293 |
|
|---|
| 294 |
|
|---|
| 295 |
|
|---|
| 296 |
|
|---|
| 297 |
|
|---|
| 298 |
|
|---|
| 299 |
|
|---|
| 300 |
|
|---|
| 301 |
|
|---|
| 302 |
|
|---|
| 303 |
|
|---|
| 304 |
|
|---|
| 305 |
|
|---|
| 306 | <span class="grey">Clark Experimental [Page 3]</span>
|
|---|
| 307 | </pre><!--NewPage--><pre class="newpage"><a name="page-4" id="page-4" href="#page-4" class="invisible"> </a>
|
|---|
| 308 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 309 |
|
|---|
| 310 |
|
|---|
| 311 | Illustration
|
|---|
| 312 |
|
|---|
| 313 | =====================
|
|---|
| 314 | | |
|
|---|
| 315 | | CLIENT |\
|
|---|
| 316 | | | \ < ---- Local Area /
|
|---|
| 317 | ===================== \ Enterprise Network
|
|---|
| 318 | \
|
|---|
| 319 | \
|
|---|
| 320 | =============================
|
|---|
| 321 | | Telnet Interface |
|
|---|
| 322 | | | |
|
|---|
| 323 | | | |
|
|---|
| 324 | | ACCESS SERVER | |
|
|---|
| 325 | | | |
|
|---|
| 326 | | | |
|
|---|
| 327 | | Com Port Interface |
|
|---|
| 328 | =============================
|
|---|
| 329 | |
|
|---|
| 330 | |
|
|---|
| 331 | ==================
|
|---|
| 332 | | |
|
|---|
| 333 | | MODEM |
|
|---|
| 334 | | |
|
|---|
| 335 | ==================
|
|---|
| 336 | |
|
|---|
| 337 | Access to Remote Service |
|
|---|
| 338 | most commonly Public Switched ----->|
|
|---|
| 339 | Network |
|
|---|
| 340 | |
|
|---|
| 341 | |
|
|---|
| 342 | ======================
|
|---|
| 343 | Could be Internet Service | |
|
|---|
| 344 | Provider, Bulletin Board | |
|
|---|
| 345 | or FAX machine | REMOTE SERVICE |
|
|---|
| 346 | | |
|
|---|
| 347 | | |
|
|---|
| 348 | ======================
|
|---|
| 349 |
|
|---|
| 350 |
|
|---|
| 351 | Command Names and Codes:
|
|---|
| 352 | COM-PORT-OPTION 44
|
|---|
| 353 |
|
|---|
| 354 |
|
|---|
| 355 |
|
|---|
| 356 |
|
|---|
| 357 |
|
|---|
| 358 |
|
|---|
| 359 |
|
|---|
| 360 |
|
|---|
| 361 |
|
|---|
| 362 | <span class="grey">Clark Experimental [Page 4]</span>
|
|---|
| 363 | </pre><!--NewPage--><pre class="newpage"><a name="page-5" id="page-5" href="#page-5" class="invisible"> </a>
|
|---|
| 364 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 365 |
|
|---|
| 366 |
|
|---|
| 367 | Client to Access Server Access Server to Client
|
|---|
| 368 | SIGNATURE text text
|
|---|
| 369 | SET-BAUDRATE 1 101
|
|---|
| 370 | SET-DATASIZE 2 102
|
|---|
| 371 | SET-PARITY 3 103
|
|---|
| 372 | SET-STOPSIZE 4 104
|
|---|
| 373 | SET-CONTROL 5 105
|
|---|
| 374 | NOTIFY-LINESTATE 6 106
|
|---|
| 375 | NOTIFY-MODEMSTATE 7 107
|
|---|
| 376 | FLOWCONTROL-SUSPEND 8 108
|
|---|
| 377 | FLOWCONTROL-RESUME 9 109
|
|---|
| 378 | SET-LINESTATE-MASK 10 110
|
|---|
| 379 | SET-MODEMSTATE-MASK 11 111
|
|---|
| 380 | PURGE-DATA 12 112
|
|---|
| 381 |
|
|---|
| 382 | Discussion: As initially proposed, com port configuration
|
|---|
| 383 | commands are only sent from the client to the access
|
|---|
| 384 | server. There is no current vision that the access
|
|---|
| 385 | server would initiate the use of a com port configuration
|
|---|
| 386 | command, only the notify commands. However, to allow for
|
|---|
| 387 | access server initiated com port configurations different
|
|---|
| 388 | command values have been established.
|
|---|
| 389 |
|
|---|
| 390 | <span class="h2"><h2><a class="selflink" name="section-1" href="#section-1">1</a>. Negotiation of the Com Port Control Option Protocol</h2></span>
|
|---|
| 391 |
|
|---|
| 392 | The negotiation of the com port control option protocol uses the
|
|---|
| 393 | standard Telnet negotiation protocol mechanism:
|
|---|
| 394 |
|
|---|
| 395 | IAC WILL COM-PORT-OPTION
|
|---|
| 396 | The sender of this command is willing to send com port
|
|---|
| 397 | control option commands.
|
|---|
| 398 | IAC WONT COM-PORT-OPTION
|
|---|
| 399 | The sender of this command refuses to send com port
|
|---|
| 400 | control option commands.
|
|---|
| 401 | IAC DO COM-PORT-OPTION
|
|---|
| 402 | The sender of this command is willing to accept com port
|
|---|
| 403 | control option commands.
|
|---|
| 404 | IAC DONT COM-PORT-OPTION
|
|---|
| 405 | The sender of this command refuses to accept com port control
|
|---|
| 406 | options commands.
|
|---|
| 407 |
|
|---|
| 408 | Typically a client will use WILL and WONT, while an access server
|
|---|
| 409 | will use DO and DONT.
|
|---|
| 410 |
|
|---|
| 411 |
|
|---|
| 412 |
|
|---|
| 413 |
|
|---|
| 414 |
|
|---|
| 415 |
|
|---|
| 416 |
|
|---|
| 417 |
|
|---|
| 418 | <span class="grey">Clark Experimental [Page 5]</span>
|
|---|
| 419 | </pre><!--NewPage--><pre class="newpage"><a name="page-6" id="page-6" href="#page-6" class="invisible"> </a>
|
|---|
| 420 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 421 |
|
|---|
| 422 |
|
|---|
| 423 | <span class="h2"><h2><a class="selflink" name="section-2" href="#section-2">2</a>. Com Port Configuration Commands</h2></span>
|
|---|
| 424 |
|
|---|
| 425 | Once DO and WILL have been negotiated, the client may send any of the
|
|---|
| 426 | following commands. The client can send these commands at any time
|
|---|
| 427 | and multiple times throughout the Telnet session. Each command
|
|---|
| 428 | transmitted from the client to the access server must be acknowledged
|
|---|
| 429 | once the command has been processed by the access server. This
|
|---|
| 430 | confirmation informs the client of the value set at the access server
|
|---|
| 431 | after the processing of the command. This acknowledgment is not used
|
|---|
| 432 | to acknowledge the receipt of the command, which is handled at the
|
|---|
| 433 | TCP protocol layer. Its purpose is to inform the client of the value
|
|---|
| 434 | in use, which may be different than the value requested in the
|
|---|
| 435 | client's command. For example, the client may request a baud rate
|
|---|
| 436 | higher than the access service can provide. If an acknowledgment is
|
|---|
| 437 | not received by the client within a reasonable time (such as twice
|
|---|
| 438 | the delay acknowledgment timer), the client may wish to resend the
|
|---|
| 439 | command or terminate the session.
|
|---|
| 440 |
|
|---|
| 441 | Though the commands may be sent from the client to the access server
|
|---|
| 442 | in any sequence, there are sequences which may result in invalid
|
|---|
| 443 | configurations for the com port (for example: EVEN parity is only
|
|---|
| 444 | valid if the data size is set to less than 8 bits). Thus it is
|
|---|
| 445 | recommended that commands be issued in the following sequence:
|
|---|
| 446 |
|
|---|
| 447 | 1. SET-BAUDRATE
|
|---|
| 448 | 2. SET-DATASIZE
|
|---|
| 449 | 3. SET-PARITY
|
|---|
| 450 | 4. SET-STOPSIZE
|
|---|
| 451 |
|
|---|
| 452 | IAC SB COM-PORT-OPTION SIGNATURE <text> IAC SE
|
|---|
| 453 | This command may be sent by either the client or the access
|
|---|
| 454 | server to exchange signature information. If the command is
|
|---|
| 455 | sent without <text> it is a request from the sender to receive
|
|---|
| 456 | the signature text of the receiver. The text may be a
|
|---|
| 457 | combination of any characters. There is no structure to the
|
|---|
| 458 | <text> field. It may contain manufacturer information, version
|
|---|
| 459 | number information, or any other information desired. If an
|
|---|
| 460 | IAC character appears in the text it must be translated to
|
|---|
| 461 | IAC-IAC to avoid conflict with the IAC which terminates
|
|---|
| 462 | the command.
|
|---|
| 463 |
|
|---|
| 464 | IAC SB COM-PORT-OPTION SET-BAUD <value(4)> IAC SE
|
|---|
| 465 | This command is sent by the client to the access server to set
|
|---|
| 466 | the baud rate of the com port. The value is four octets (4 bytes).
|
|---|
| 467 | The value is represented in network standard format. The value
|
|---|
| 468 | is the baud rate being requested. A special case is the value 0.
|
|---|
| 469 | If the value is zero the client is requesting the current baud
|
|---|
| 470 | rate of the com port on the access server.
|
|---|
| 471 |
|
|---|
| 472 |
|
|---|
| 473 |
|
|---|
| 474 | <span class="grey">Clark Experimental [Page 6]</span>
|
|---|
| 475 | </pre><!--NewPage--><pre class="newpage"><a name="page-7" id="page-7" href="#page-7" class="invisible"> </a>
|
|---|
| 476 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 477 |
|
|---|
| 478 |
|
|---|
| 479 | Discussion: Though baud rates used today form a very sparse space,
|
|---|
| 480 | and the initial version of the option used an index
|
|---|
| 481 | based baud rate table, after much discussion with a
|
|---|
| 482 | number of groups it has been determined that the
|
|---|
| 483 | actual baud rate should be used. There are two main
|
|---|
| 484 | reasons. 1) It limits the number of updates to the
|
|---|
| 485 | option as faster baud rates come into use,
|
|---|
| 486 | 2) It provides the greatest amount of flexibility
|
|---|
| 487 | in the selection of the baud rates.
|
|---|
| 488 |
|
|---|
| 489 | IAC SB COM-PORT-OPTION SET-DATASIZE <value> IAC SE
|
|---|
| 490 | This command is sent by the client to the access server to set
|
|---|
| 491 | the data bit size. The command can also be sent to query the
|
|---|
| 492 | current data bit size. The value is one octet (byte). The value
|
|---|
| 493 | is an index into the following value table:
|
|---|
| 494 |
|
|---|
| 495 | Value Data Bit Size
|
|---|
| 496 | 0 Request Current Data Bit Size
|
|---|
| 497 | 1 Available for Future Use
|
|---|
| 498 | 2 Available for Future Use
|
|---|
| 499 | 3 Available for Future Use
|
|---|
| 500 | 4 Available for Future Use
|
|---|
| 501 | 5 5
|
|---|
| 502 | 6 6
|
|---|
| 503 | 7 7
|
|---|
| 504 | 8 8
|
|---|
| 505 | 9-127 Available for Future Use
|
|---|
| 506 |
|
|---|
| 507 | Discussion: There are only eight possible values for the data bit
|
|---|
| 508 | size, only four have ever been used historically and
|
|---|
| 509 | only two are commonly used today. The use of the
|
|---|
| 510 | command-value format is recommended to preserve
|
|---|
| 511 | consistency with other commands. It also reduces the
|
|---|
| 512 | number of commands defined in the protocol, and
|
|---|
| 513 | allows for future expansion.
|
|---|
| 514 |
|
|---|
| 515 | IAC SB COM-PORT-OPTION SET-PARITY <value> IAC SE
|
|---|
| 516 | This command is sent by the client to the access server to set
|
|---|
| 517 | the parity. The command can also be sent to query the current
|
|---|
| 518 | parity. The value is one octet (byte). The value is an index into
|
|---|
| 519 | the following value table:
|
|---|
| 520 |
|
|---|
| 521 | Value Parity [<a href="#ref-1" title=" Second Edition. Indianapolis: SAMS Publishing">1</a>]
|
|---|
| 522 | 0 Request Current Data Size
|
|---|
| 523 | 1 NONE
|
|---|
| 524 | 2 ODD
|
|---|
| 525 | 3 EVEN
|
|---|
| 526 | 4 MARK
|
|---|
| 527 |
|
|---|
| 528 |
|
|---|
| 529 |
|
|---|
| 530 | <span class="grey">Clark Experimental [Page 7]</span>
|
|---|
| 531 | </pre><!--NewPage--><pre class="newpage"><a name="page-8" id="page-8" href="#page-8" class="invisible"> </a>
|
|---|
| 532 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 533 |
|
|---|
| 534 |
|
|---|
| 535 | 5 SPACE
|
|---|
| 536 | 6-127 Available for Future Use
|
|---|
| 537 |
|
|---|
| 538 | Discussion: There are only five possible values for parity
|
|---|
| 539 | commonly used today. The use of the command-value
|
|---|
| 540 | format is recommended to preserve consistency with
|
|---|
| 541 | other commands.
|
|---|
| 542 |
|
|---|
| 543 | IAC SB COM-PORT-OPTION SET-STOPSIZE <value> IAC SE
|
|---|
| 544 | This command is sent by the client to the access server to set
|
|---|
| 545 | the number of stop bits. The command can also be sent to query
|
|---|
| 546 | the current stop bit size. The value is one octet (byte). The
|
|---|
| 547 | value is an index into the following value table:
|
|---|
| 548 |
|
|---|
| 549 | Value Stop Bit Size
|
|---|
| 550 | 0 Request Current Data Size
|
|---|
| 551 | 1 1
|
|---|
| 552 | 2 2
|
|---|
| 553 | 3 1.5
|
|---|
| 554 | 4-127 Available for Future Use
|
|---|
| 555 |
|
|---|
| 556 | Discussion: Stop bit 1.5 is supported by most com port hardware
|
|---|
| 557 | only if data size is set to 5 bits. It is not
|
|---|
| 558 | commonly used.
|
|---|
| 559 |
|
|---|
| 560 | <span class="h2"><h2><a class="selflink" name="section-3" href="#section-3">3</a>. Special Com Port Control Commands</h2></span>
|
|---|
| 561 |
|
|---|
| 562 | The client can send this command to the access server at any time
|
|---|
| 563 | and multiple times throughout the Telnet session. Each command
|
|---|
| 564 | transmitted from the client to the access server is acknowledged
|
|---|
| 565 | with a confirmation of the command and the actual value set. The
|
|---|
| 566 | client should expect a response within a reasonable time (such as
|
|---|
| 567 | twice the delay acknowledgment timer). The client may wish to
|
|---|
| 568 | resend any command which is not acknowledged or terminate the
|
|---|
| 569 | session.
|
|---|
| 570 |
|
|---|
| 571 | IAC SB COM-PORT-OPTION SET-CONTROL <value> IAC SE
|
|---|
| 572 | This command is sent by the client to the access server to set
|
|---|
| 573 | special com port options. The command can also be sent to query
|
|---|
| 574 | the current option value. The value is one octet (byte). The
|
|---|
| 575 | value is an index into the following value table:
|
|---|
| 576 |
|
|---|
| 577 | Value Control Commands
|
|---|
| 578 | 0 Request Com Port Flow Control Setting
|
|---|
| 579 | (outbound/both)
|
|---|
| 580 | 1 Use No Flow Control (outbound/both)
|
|---|
| 581 | 2 Use XON/XOFF Flow Control (outbound/both)
|
|---|
| 582 | 3 Use HARDWARE Flow Control (outbound/both)
|
|---|
| 583 |
|
|---|
| 584 |
|
|---|
| 585 |
|
|---|
| 586 | <span class="grey">Clark Experimental [Page 8]</span>
|
|---|
| 587 | </pre><!--NewPage--><pre class="newpage"><a name="page-9" id="page-9" href="#page-9" class="invisible"> </a>
|
|---|
| 588 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 589 |
|
|---|
| 590 |
|
|---|
| 591 | 4 Request BREAK State
|
|---|
| 592 | 5 Set BREAK State ON
|
|---|
| 593 | 6 Set BREAK State OFF
|
|---|
| 594 | 7 Request DTR Signal State
|
|---|
| 595 | 8 Set DTR Signal State ON
|
|---|
| 596 | 9 Set DTR Signal State OFF
|
|---|
| 597 | 10 Request RTS Signal State
|
|---|
| 598 | 11 Set RTS Signal State ON
|
|---|
| 599 | 12 Set RTS Signal State OFF
|
|---|
| 600 | 13 Request Com Port Flow Control Setting (inbound)
|
|---|
| 601 | 14 Use No Flow Control (inbound)
|
|---|
| 602 | 15 Use XON/XOFF Flow Control (inbound)
|
|---|
| 603 | 16 Use HARDWARE Flow Control (inbound)
|
|---|
| 604 | 17 Use DCD Flow Control (outbound/both)
|
|---|
| 605 | 18 Use DTR Flow Control (inbound)
|
|---|
| 606 | 19 Use DSR Flow Control (outbound/both)
|
|---|
| 607 | 20-127 Available for Future Use
|
|---|
| 608 |
|
|---|
| 609 | Discussion: Flow control options were divided into inbound and
|
|---|
| 610 | outbound to take full advantage of existing
|
|---|
| 611 | programming interfaces and access server
|
|---|
| 612 | capabilities.
|
|---|
| 613 |
|
|---|
| 614 | Discussion: The outbound values should set flow control for both
|
|---|
| 615 | outbound and inbound. If inbound is to be, or can
|
|---|
| 616 | be, set separately it should be done after the
|
|---|
| 617 | setting of the outbound value.
|
|---|
| 618 |
|
|---|
| 619 | Discussion: If the access server is not able to set inbound flow
|
|---|
| 620 | control differently from the outbound flow control,
|
|---|
| 621 | it should ignore the inbound flow control commands
|
|---|
| 622 | and set the flow control option based on the outbound
|
|---|
| 623 | flow control commands only.
|
|---|
| 624 |
|
|---|
| 625 | IAC SB COM-PORT-OPTION SET-LINESTATE-MASK <value> IAC SE
|
|---|
| 626 | This command is sent by the client to the access server to set a
|
|---|
| 627 | bit mask for the sending of the NOTIFY-LINESTATE option (see
|
|---|
| 628 | <a href="#section-4">section 4</a>). When the LINESTATE changes on the access server, the
|
|---|
| 629 | access server will "AND" the new LINESTATE with the LINESTATE-
|
|---|
| 630 | MASK. If the result is not zero, the access server will send the
|
|---|
| 631 | result of the "AND" as the value in a NOTIFY-LINESTATE com port
|
|---|
| 632 | option. If more than one bit satisfies the LINESTATE-MASK, only
|
|---|
| 633 | one NOTIFY-LINESTATE, with all the satisfying bits, will be sent
|
|---|
| 634 | to the client. The SET-LINESTATE-MASK may be any combination of
|
|---|
| 635 | bits as listed below. These are the same bit values used in the
|
|---|
| 636 | NOTIFY-LINESTATE option. The SET-LINESTATE-MASK values are based
|
|---|
| 637 | on the most popular UART (com port control chip) in use [<a href="#ref-1" title=" Second Edition. Indianapolis: SAMS Publishing">1</a>].
|
|---|
| 638 |
|
|---|
| 639 |
|
|---|
| 640 |
|
|---|
| 641 |
|
|---|
| 642 | <span class="grey">Clark Experimental [Page 9]</span>
|
|---|
| 643 | </pre><!--NewPage--><pre class="newpage"><a name="page-10" id="page-10" href="#page-10" class="invisible"> </a>
|
|---|
| 644 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 645 |
|
|---|
| 646 |
|
|---|
| 647 | Bit Position Value Meaning
|
|---|
| 648 | 7 128 Time-out Error
|
|---|
| 649 | 6 64 Transfer Shift Register Empty
|
|---|
| 650 | 5 32 Transfer Holding Register Empty
|
|---|
| 651 | 4 16 Break-detect Error
|
|---|
| 652 | 3 8 Framing Error
|
|---|
| 653 | 2 4 Parity Error
|
|---|
| 654 | 1 2 Overrun Error
|
|---|
| 655 | 0 1 Data Ready
|
|---|
| 656 |
|
|---|
| 657 | Discussion: The SET-LINESTATE-MASK value of 0 will prevent the
|
|---|
| 658 | access server from sending NOTIFY-LINESTATE options
|
|---|
| 659 | to the client.
|
|---|
| 660 |
|
|---|
| 661 | Discussion: The SET-LINESTATE-MASK value of 255 will allow the
|
|---|
| 662 | access server to send a NOTIFY-LINESTATE option to
|
|---|
| 663 | the client each time the LINESTATE changes on the
|
|---|
| 664 | access server.
|
|---|
| 665 |
|
|---|
| 666 | Discussion: The initial LINESTATE-MASK at the access server is 0.
|
|---|
| 667 |
|
|---|
| 668 | Discussion: The client does not have to send a new
|
|---|
| 669 | SET-LINESTATE-MASK after receiving a NOTIFY-
|
|---|
| 670 | LINESTATE. The LINESTATE-MASK on the access server
|
|---|
| 671 | is retained until set by the client or reset at the
|
|---|
| 672 | start of a new Telnet session.
|
|---|
| 673 |
|
|---|
| 674 | IAC SB COM-PORT-OPTION SET-MODEMSTATE-MASK <value> IAC SE
|
|---|
| 675 | This command is sent by the client to the access server to set a
|
|---|
| 676 | bit mask for the sending of the NOTIFY-MODEMSTATE option (see
|
|---|
| 677 | <a href="#section-4">section 4</a>). When the MODEMSTATE changes on the access server,
|
|---|
| 678 | the access server will "AND" the new MODEMSTATE with the
|
|---|
| 679 | MODEMSTATE-MASK. If the result is not zero, the access server
|
|---|
| 680 | will send the result of the "AND" as the value in a NOTIFY-
|
|---|
| 681 | MODEMSTATE com port option. If more than one bit satisfies the
|
|---|
| 682 | MODEMSTATE-MASK, only one NOTIFY-MODEMSTATE, with all the
|
|---|
| 683 | satisfying bits, will be sent to the client. The SET-
|
|---|
| 684 | MODEMSTATE-MASK may be any combination of bits as listed below.
|
|---|
| 685 | These are the same bit values used in the NOTIFY-MODEMSTATE
|
|---|
| 686 | option. The SET-MODEMSTATE-MASK values are based on the most
|
|---|
| 687 | popular UART (com port control chip) in use [<a href="#ref-1" title=" Second Edition. Indianapolis: SAMS Publishing">1</a>].
|
|---|
| 688 |
|
|---|
| 689 |
|
|---|
| 690 |
|
|---|
| 691 |
|
|---|
| 692 |
|
|---|
| 693 |
|
|---|
| 694 |
|
|---|
| 695 |
|
|---|
| 696 |
|
|---|
| 697 |
|
|---|
| 698 | <span class="grey">Clark Experimental [Page 10]</span>
|
|---|
| 699 | </pre><!--NewPage--><pre class="newpage"><a name="page-11" id="page-11" href="#page-11" class="invisible"> </a>
|
|---|
| 700 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 701 |
|
|---|
| 702 |
|
|---|
| 703 | Bit Position Value Meaning
|
|---|
| 704 | 7 128 Receive Line Signal Detect
|
|---|
| 705 | (also known as Carrier Detect)
|
|---|
| 706 | 6 64 Ring Indicator
|
|---|
| 707 | 5 32 Data-Set-Ready Signal State
|
|---|
| 708 | 4 16 Clear-To-Send Signal State
|
|---|
| 709 | 3 8 Delta Receive Line Signal Detect
|
|---|
| 710 | 2 4 Trailing-edge Ring Detector
|
|---|
| 711 | 1 2 Delta Data-Set-Ready
|
|---|
| 712 | 0 1 Delta Clear-To-Send
|
|---|
| 713 |
|
|---|
| 714 | Discussion: The SET-MODEMSTATE-MASK value of 0 will prevent the
|
|---|
| 715 | access server from sending NOTIFY-MODEMSTATE options
|
|---|
| 716 | to the client.
|
|---|
| 717 |
|
|---|
| 718 | Discussion: The SET-MODEMSTATE-MASK value of 255 will allow the
|
|---|
| 719 | access server to send a NOTIFY-MODEMSTATE option to
|
|---|
| 720 | the client each time the MODEMSTATE changes on the
|
|---|
| 721 | access server.
|
|---|
| 722 |
|
|---|
| 723 | Discussion: The initial MODEMSTATE-MASK at the access server
|
|---|
| 724 | is 255.
|
|---|
| 725 |
|
|---|
| 726 | Discussion: The client does not have to send a new
|
|---|
| 727 | SET-MODEMSTATE-MASK after receiving a NOTIFY-
|
|---|
| 728 | MODEMSTATE. The MODEMSTATE-MASK on the access server
|
|---|
| 729 | is retained until set by the client or reset at the
|
|---|
| 730 | start of a new Telnet session.
|
|---|
| 731 |
|
|---|
| 732 | IAC SB COM-PORT-OPTION PURGE-DATA <value> IAC SE
|
|---|
| 733 | This command is sent by the client to the access server to
|
|---|
| 734 | instruct the access server to immediately clear all data from the
|
|---|
| 735 | buffer or buffers referenced by the value. The value is one
|
|---|
| 736 | octet (byte). The value is an index into the following value
|
|---|
| 737 | table:
|
|---|
| 738 |
|
|---|
| 739 | Value Purge Data Buffer
|
|---|
| 740 | 0 Available for Future Use
|
|---|
| 741 | 1 Purge access server receive data buffer
|
|---|
| 742 | 2 Purge access server transmit data buffer
|
|---|
| 743 | 3 Purge both the access server receive data
|
|---|
| 744 | buffer and the access server transmit data
|
|---|
| 745 | buffer
|
|---|
| 746 | 4-127 Available for Future Use
|
|---|
| 747 |
|
|---|
| 748 |
|
|---|
| 749 |
|
|---|
| 750 |
|
|---|
| 751 |
|
|---|
| 752 |
|
|---|
| 753 |
|
|---|
| 754 | <span class="grey">Clark Experimental [Page 11]</span>
|
|---|
| 755 | </pre><!--NewPage--><pre class="newpage"><a name="page-12" id="page-12" href="#page-12" class="invisible"> </a>
|
|---|
| 756 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 757 |
|
|---|
| 758 |
|
|---|
| 759 | <span class="h2"><h2><a class="selflink" name="section-4" href="#section-4">4</a>. Notification of Com port and Modem Line Changes</h2></span>
|
|---|
| 760 |
|
|---|
| 761 | The access server can send these commands to the client any time
|
|---|
| 762 | and multiple times throughout the Telnet session. The access
|
|---|
| 763 | server should send the appropriate command to the client as soon
|
|---|
| 764 | as the com port or modem line changes occurs. The client does
|
|---|
| 765 | not issue a response to these commands.
|
|---|
| 766 |
|
|---|
| 767 | IAC SB COM-PORT-OPTION NOTIFY-LINESTATE <value> IAC SE
|
|---|
| 768 | The value is one octet (byte). The value is a bit level
|
|---|
| 769 | composition made up from the value table below. Multiple bit
|
|---|
| 770 | values may be set in a single transmission. The values are based
|
|---|
| 771 | on the most popular UART (com port control chip) in use [<a href="#ref-1" title=" Second Edition. Indianapolis: SAMS Publishing">1</a>].
|
|---|
| 772 |
|
|---|
| 773 | Bit Position Value Meaning
|
|---|
| 774 | 7 128 Time-out Error
|
|---|
| 775 | 6 64 Transfer Shift Register Empty
|
|---|
| 776 | 5 32 Transfer Holding Register Empty
|
|---|
| 777 | 4 16 Break-detect Error
|
|---|
| 778 | 3 8 Framing Error
|
|---|
| 779 | 2 4 Parity Error
|
|---|
| 780 | 1 2 Overrun Error
|
|---|
| 781 | 0 1 Data Ready
|
|---|
| 782 |
|
|---|
| 783 |
|
|---|
| 784 | Discussion: The LINESTATE is the line state of the UART on
|
|---|
| 785 | the access server.
|
|---|
| 786 |
|
|---|
| 787 | IAC SB COM-PORT-OPTION NOTIFY-MODEMSTATE <value> IAC SE
|
|---|
| 788 | The value is one octet (byte). The value is a bit level
|
|---|
| 789 | composition made up from the value table below. Multiple bit
|
|---|
| 790 | values may be set in a single transmission. The values are based
|
|---|
| 791 | on the most popular UART (com port control chip) in use [<a href="#ref-1" title=" Second Edition. Indianapolis: SAMS Publishing">1</a>].
|
|---|
| 792 |
|
|---|
| 793 | Bit Position Value Meaning
|
|---|
| 794 | 7 128 Receive Line Signal Detect
|
|---|
| 795 | (also known as Carrier Detect)
|
|---|
| 796 | 6 64 Ring Indicator
|
|---|
| 797 | 5 32 Data-Set-Ready Signal State
|
|---|
| 798 | 4 16 Clear-To-Send Signal State
|
|---|
| 799 | 3 8 Delta Receive Line Signal Detect
|
|---|
| 800 | 2 4 Trailing-edge Ring Detector
|
|---|
| 801 | 1 2 Delta Data-Set-Ready
|
|---|
| 802 | 0 1 Delta Clear-To-Send
|
|---|
| 803 |
|
|---|
| 804 |
|
|---|
| 805 |
|
|---|
| 806 |
|
|---|
| 807 |
|
|---|
| 808 |
|
|---|
| 809 |
|
|---|
| 810 | <span class="grey">Clark Experimental [Page 12]</span>
|
|---|
| 811 | </pre><!--NewPage--><pre class="newpage"><a name="page-13" id="page-13" href="#page-13" class="invisible"> </a>
|
|---|
| 812 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 813 |
|
|---|
| 814 |
|
|---|
| 815 | <span class="h2"><h2><a class="selflink" name="section-5" href="#section-5">5</a>. Flow Control</h2></span>
|
|---|
| 816 |
|
|---|
| 817 | The client and/or access server can send these commands any time and
|
|---|
| 818 | multiple times throughout the Telnet session.
|
|---|
| 819 |
|
|---|
| 820 | IAC SB COM-PORT-OPTION FLOWCONTROL-SUSPEND IAC SE
|
|---|
| 821 | The sender of this command is requesting that the receiver
|
|---|
| 822 | suspend transmission of both data and commands until the
|
|---|
| 823 | FLOWCONTROL-RESUME is transmitted by the sender.
|
|---|
| 824 |
|
|---|
| 825 | IAC SB COM-PORT-OPTION FLOWCONTROL-RESUME IAC SE
|
|---|
| 826 | The sender of this command is requesting that the receiver resume
|
|---|
| 827 | transmission of both data and commands.
|
|---|
| 828 |
|
|---|
| 829 | Discussion: Established Telnet sessions are initially in a
|
|---|
| 830 | resume state between the client and the access server
|
|---|
| 831 | and the access server and the client. There is no
|
|---|
| 832 | need to send the resume command during session
|
|---|
| 833 | initialization.
|
|---|
| 834 |
|
|---|
| 835 | Discussion: Multiple concurrent suspend commands may be sent.
|
|---|
| 836 | Secondary suspend commands can be ignored.
|
|---|
| 837 | Transmission will resume with the sending of a single
|
|---|
| 838 | resume command.
|
|---|
| 839 |
|
|---|
| 840 | Discussion: The flow control option is designed to handle client
|
|---|
| 841 | to access server flow control for the Telnet session.
|
|---|
| 842 | This option has been added in deference to <a href="http://tools.ietf.org/html/rfc1372">RFC 1372</a>:
|
|---|
| 843 | Telnet Remote Flow Control Option [<a href="#ref-2" title=""Telnet Remote Flow Control Option"">2</a>]. <a href="http://tools.ietf.org/html/rfc1372">RFC 1372</a> uses
|
|---|
| 844 | a simple character XON/XOFF technology to implement
|
|---|
| 845 | flow control. This can lead to two problems. First,
|
|---|
| 846 | the flow control characters may be valid data values.
|
|---|
| 847 | Second, the flow control characters may be used for
|
|---|
| 848 | end to end flow control (client application to remote
|
|---|
| 849 | dial up service).
|
|---|
| 850 |
|
|---|
| 851 | <span class="h2"><h2><a class="selflink" name="section-6" href="#section-6">6</a>. Security Considerations</h2></span>
|
|---|
| 852 |
|
|---|
| 853 | There are two security issues to discuss; authentication and
|
|---|
| 854 | resetting resources.
|
|---|
| 855 |
|
|---|
| 856 | Authentication can follow either the Kerberos authentication protocol
|
|---|
| 857 | established in <a href="http://tools.ietf.org/html/rfc1411">RFC 1411</a> [<a href="#ref-3" title=""Telnet Authentication: Kerberos Version 4"">3</a>] or the SPX authentication protocol
|
|---|
| 858 | established in <a href="http://tools.ietf.org/html/rfc1412">RFC 1412</a> [<a href="#ref-4" title=""Telnet Authentication: SPX"">4</a>].
|
|---|
| 859 |
|
|---|
| 860 | Once the Telnet session between the client and the access server has
|
|---|
| 861 | been terminated, the access server should ensure the connection to
|
|---|
| 862 | the remote service is disconnected and the com port geometry (baud
|
|---|
| 863 |
|
|---|
| 864 |
|
|---|
| 865 |
|
|---|
| 866 | <span class="grey">Clark Experimental [Page 13]</span>
|
|---|
| 867 | </pre><!--NewPage--><pre class="newpage"><a name="page-14" id="page-14" href="#page-14" class="invisible"> </a>
|
|---|
| 868 | <span class="grey"><a href="http://tools.ietf.org/html/rfc2217">RFC 2217</a> Telnet Com Port Control Option October 1997</span>
|
|---|
| 869 |
|
|---|
| 870 |
|
|---|
| 871 | rate, data size, stop bits, parity, and flow control) is reset to a
|
|---|
| 872 | factory or administrator defined configuration. This ensures the com
|
|---|
| 873 | port is in a known state and ready to receive the next client
|
|---|
| 874 | session. This will make operations more predicable and avoid
|
|---|
| 875 | problems which might occur from starting a new session with random
|
|---|
| 876 | com port configurations.
|
|---|
| 877 |
|
|---|
| 878 | <span class="h2"><h2><a class="selflink" name="section-7" href="#section-7">7</a>. Author's Address</h2></span>
|
|---|
| 879 |
|
|---|
| 880 | Glen Clark, Software Architect
|
|---|
| 881 | Cisco Systems, Inc.
|
|---|
| 882 | 170 West Tasman Drive
|
|---|
| 883 | San Jose, CA 96134
|
|---|
| 884 | USA
|
|---|
| 885 |
|
|---|
| 886 | EMail: glenc@cisco.com
|
|---|
| 887 | WEB: www.cisco.com
|
|---|
| 888 |
|
|---|
| 889 | <span class="h2"><h2><a class="selflink" name="section-8" href="#section-8">8</a>. Reference Section</h2></span>
|
|---|
| 890 |
|
|---|
| 891 | [<a name="ref-1" id="ref-1">1</a>] Joe Campbell. C Programmer's Guide to Serial Communications,
|
|---|
| 892 | Second Edition. Indianapolis: SAMS Publishing, 1993. 213-224.
|
|---|
| 893 |
|
|---|
| 894 | [<a name="ref-2" id="ref-2">2</a>] Hedrick, C., and D. Borman, "Telnet Remote Flow Control Option",
|
|---|
| 895 | <a href="http://tools.ietf.org/html/rfc1372">RFC 1372</a>, Cray Research, Inc., October 1992.
|
|---|
| 896 |
|
|---|
| 897 | [<a name="ref-3" id="ref-3">3</a>] Borman, D., "Telnet Authentication: Kerberos Version 4",
|
|---|
| 898 | <a href="http://tools.ietf.org/html/rfc1411">RFC 1411</a>, Cray Research, Inc., January 1993.
|
|---|
| 899 |
|
|---|
| 900 | [<a name="ref-4" id="ref-4">4</a>] Alagappan, K., "Telnet Authentication: SPX",
|
|---|
| 901 | <a href="http://tools.ietf.org/html/rfc1412">RFC 1412</a>, Digital Equipment Corporation, January 1993.
|
|---|
| 902 |
|
|---|
| 903 | [<a name="ref-5" id="ref-5">5</a>] D. E. Comer and David Stevens. Internetworking with TCP/IP,
|
|---|
| 904 | Volume III. Prentice Hall, 1993.
|
|---|
| 905 |
|
|---|
| 906 | [<a name="ref-6" id="ref-6">6</a>] Andrew Margolis. The FAX Modem Sourcebook. John Wiley & Sons.
|
|---|
| 907 | 1995.
|
|---|
| 908 |
|
|---|
| 909 |
|
|---|
| 910 |
|
|---|
| 911 |
|
|---|
| 912 |
|
|---|
| 913 |
|
|---|
| 914 |
|
|---|
| 915 |
|
|---|
| 916 |
|
|---|
| 917 |
|
|---|
| 918 |
|
|---|
| 919 |
|
|---|
| 920 |
|
|---|
| 921 |
|
|---|
| 922 | Clark Experimental [Page 14]
|
|---|
| 923 |
|
|---|
| 924 | </pre><br>
|
|---|
| 925 | <span class="noprint"><small><small>Html markup produced by rfcmarkup 1.101, available from
|
|---|
| 926 | <a href="http://tools.ietf.org/tools/rfcmarkup/">http://tools.ietf.org/tools/rfcmarkup/</a>
|
|---|
| 927 | </small></small></span>
|
|---|
| 928 |
|
|---|
| 929 | </body></html>
|
|---|