RFC 6270

The 'tn3270' URI Scheme

๐Ÿ“… published June 2011, from ietf

RFC 6270: The 'tn3270' URI Scheme ๐Ÿ’–

okay bestie, this one is by M. Yevstifeyev (Mykyta Yevstifeyev), dated June 2011. It's on the Standards Track ๐Ÿฆ‹ and it updates RFC 1041, RFC 1738, and RFC 2355. It doesn't obsolete anything. It's giving "fix the old stuff" energy โœจ


Status of This Memo ๐Ÿ“œ

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6270.

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

Table of Contents ๐Ÿ—‚๏ธ

1. Introduction ....................................................2
   1.1. Terminology ................................................3
2. URI Scheme Definition ...........................................3
   2.1. URI Scheme Syntax ..........................................3
   2.2. URI Scheme Semantics .......................................3
3. Security Considerations .........................................3
4. IANA Considerations .............................................4
5. References ......................................................4
   5.1. Normative References .......................................4
   5.2. Informative References .....................................5
Appendix A. Acknowledgments ........................................6

Abstract ๐ŸŒธ

okay so the whole point here is defining the 'tn3270' URI scheme. It's how you point at stuff you can reach through Telnet 3270 mode (TN3270) and Telnet 3270 Enhanced mode (TN3270E). The doc also updates RFC 1041 and RFC 2355, the specs for those protocols, plus RFC 1738, which name-dropped this scheme without ever saying what its syntax or semantics were. Iconic behaviour from 1738, honestly ๐Ÿ’€


1. Introduction โœจ

bestie, this document specifies the 'tn3270' Uniform Resource Identifier (URI) scheme, which is used to designate the access to the resources available via Telnet 3270 mode (TN3270) and Telnet 3270 Enhanced mode (TN3270E).

so TN3270 is a special mode of a Telnet session [RFC0854]. When you're in it, the 3270 data stream [GA23-0059] carries the data during the session, and the Telnet 3270 Regime option [RFC1041] is what turns it on and negotiates it. (If you want more backstory, see [RFC1576].) TN3270E works on a similar principle, and you can read all about it in RFC 2355 [RFC2355] ๐Ÿงš

the 'tn3270' scheme first showed up in RFC 1738 [RFC1738], used in URIs for "Interactive 3270 emulation sessions". Later, once the URI schemes registry was created per RFC 4395 [RFC4395], the scheme got added to the "Provisional URI Schemes" sub-registry in the "Uniform Resource Identifier (URI) Schemes" IANA registry [URIREG]. The problem? RFC 1738 [RFC1738] never defines syntax or semantics for 'tn3270' URIs and has no guidelines for registering the scheme. Not a vibe ๐Ÿ˜ญ

and because there was no real spec, somebody could look at the IANA registry and just wing it with some new, maybe undocumented, syntax. Big yikes. So this document gives a precise definition of the syntax and semantics, explains how to use this URI, and registers the scheme. It also updates RFC 2355 [RFC2355], RFC 1738 [RFC1738], and RFC 1041 [RFC1041] โœจ

the generic syntax of URIs lives in RFC 3986 [RFC3986], and the registration procedures for new URI schemes are in RFC 4395 [RFC4395].

1.1. Terminology ๐Ÿ’…

here's the keyword paragraph, copied exactly as the spec has it. These are the RFC 2119 [RFC2119] key words, and they're the only ones that carry requirement weight in this doc:

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].


2. URI Scheme Definition ๐ŸŽ€

2.1. URI Scheme Syntax ๐Ÿ”ฎ

the 'tn3270' URI looks like this. Heads up: this form is non-normative, so it's just a sketch:

tn3270://<userinfo>@<host>:<port>/

the <userinfo> part, including its "@" (at) sign, is OPTIONAL. The <port> part, including the ":" (colon) before it, is OPTIONAL too.

the normative syntax is the <tn3270-uri> ABNF [RFC5234] rule below. The <authority> rule comes from RFC 3986 [RFC3986]:

tn3270-uri       = "tn3270:" "//" authority ["/"]

and the semantics of each part are spelled out in Section 2.2, right under here ๐Ÿ‘‡

2.2. URI Scheme Semantics ๐Ÿฆ‹

the <host> part is REQUIRED. It names the host you're connecting to for the TN3270 or TN3270E connection.

the <userinfo> part is treated as info for the Telnet Authentication option [RFC2941], which might get used during the TN3270 or TN3270E session.

the <port> part, if it's there, says which port to open the TCP connection to the <host> on. If it's missing, the default port SHALL be 23, as registered in [PORTREG]. That part's a must-have, no cap ๐Ÿ’–


3. Security Considerations ๐Ÿ”ฅ

generic security stuff for URIs is covered in Section 7 of [RFC3986], so go read that first.

since 'tn3270' URIs just give you access to services you can already reach through TN3270 and TN3270E, and those don't add any new security issues to a Telnet session (they're basically a modified form of it), there are no other security considerations for 'tn3270' URIs beyond what RFC 4248 [RFC4248] covers in the 'telnet' URI scheme spec.

BUT here's the scary part ๐Ÿ˜ฑ Telnet, TN3270, and TN3270E are all inherently insecure. Anyone who needs remote login access and related services is strongly encouraged to use something safer, like Secure Shell [RFC4251]. Protect yourself, bestie ๐Ÿซถ


4. IANA Considerations ๐ŸŒˆ

IANA updated the registration of the 'tn3270' URI scheme using the registration template below (see [RFC4395]). The template is verbatim, so the fields are exactly as the spec wrote them:

URI scheme name: tn3270

Status: Permanent

URI scheme syntax: see Section 2.1 of RFC 6270

URI scheme semantics: see Section 2.2 of RFC 6270

URI scheme encoding considerations: there are no other encoding
considerations for 'tn3270' URIs that are not described in RFC
3986 [RFC3986]

Protocols that use the scheme: Telnet 3270 mode (TN3270) [RFC1041]
and Telnet 3270 Enhanced Mode (TN3270E) [RFC2355]

Security considerations: see Section 3 of RFC 6270

Contact: IESG <iesg@ietf.org>

Author/Change controller: IETF <ietf@ietf.org>

References: see Section 5 of RFC 6270

5. References ๐Ÿ“š

5.1. Normative References ๐Ÿง 

every normative reference, with all its details:

[RFC1041]   Rekhter, Y., "Telnet 3270 regime option", RFC 1041,
            January 1988.

[RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
            Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2355]   Kelly, B., "TN3270 Enhancements", RFC 2355, June 1998.

[RFC3986]   Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
            Resource Identifier (URI): Generic Syntax", STD 66, RFC
            3986, January 2005.

[RFC4248]   Hoffman, P., "The telnet URI Scheme", RFC 4248, October
            2005.

[RFC5234]   Crocker, D., Ed., and P. Overell, "Augmented BNF for
            Syntax Specifications: ABNF", STD 68, RFC 5234, January
            2008.

5.2. Informative References ๐ŸŒท

and the informative ones, for extra reading vibes:

[GA23-0059] IBM Corporation, "IBM 3270 Information Display System.
            Data Stream Programmer's Reference", IBM Publication
            GA23-0059, July 1992.

[PORTREG]   Internet Assigned Numbers Authority (IANA) Registry,
            "Port Numbers", <http://www.iana.org>.

[RFC0854]   Postel, J. and J. Reynolds, "Telnet Protocol
            Specification", STD 8, RFC 854, May 1983.

[RFC1576]   Penner, J., "TN3270 Current Practices", RFC 1576, January
            1994.

[RFC1738]   Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform
            Resource Locators (URL)", RFC 1738, December 1994.

[RFC2941]   Ts'o, T., Ed., and J. Altman, "Telnet Authentication
            Option", RFC 2941, September 2000.

[RFC4251]   Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH)
            Protocol Architecture", RFC 4251, January 2006.

[RFC4395]   Hansen, T., Hardie, T., and L. Masinter, "Guidelines and
            Registration Procedures for New URI Schemes", BCP 35, RFC
            4395, February 2006.

[URIREG]    Internet Assigned Numbers Authority (IANA) Registry,
            "Uniform Resource Identifier (URI) Schemes",
            <http://www.iana.org>.

Appendix A. Acknowledgments ๐Ÿซถ

huge thank yous to Alfred Hoenes, Graham Klyne, Alexey Melnikov, Julian Reschke, and Peter Saint-Andre for their input to this document. you're all iconic ๐Ÿ‘‘

Author's Addresses ๐Ÿฆ‹

Mykyta Yevstifeyev
8 Kuzovkov St., flat 25,
Kotovsk
Ukraine

EMail: evnikita2@gmail.com
๐Ÿ“ฆ where this page comes from