|
|
1.1 ! root 1: % run this through LaTeX with the appropriate wrapper ! 2: ! 3: \section {Background} ! 4: Having suggested that the use of TCP/IP is beneficial in the short- and ! 5: medium-term for the development of OSI-based application protocols, ! 6: and further, ! 7: that a strategy utilizing the DDN protocols towards these ends can also prove ! 8: to be a valuable tool during the transition from TCP/IP-based networks to ! 9: OSI-based networks, ! 10: it behooves us to present a terse definition of these terms. ! 11: ! 12: \subsection {The DDN Protocol Suite} ! 13: The \dod/ Transmission Control Protocol (TCP)\cite{TCP} provides ! 14: end-to-end transport services for \dod/ military standard networking ! 15: applications. ! 16: The TCP presents a full-duplex connection service to two end-peers, ! 17: while addressing the issues of reliability when using a non-reliable datagram ! 18: service. ! 19: The TCP implements a three-way handshake for connection establishment, ! 20: uses a windowing scheme for flow-control purposes, ! 21: and has a graceful termination phase. ! 22: To access the underlying network, ! 23: the TCP utilizes the services of the \dod/ Internet Protocol (IP)\cite{IP}. ! 24: ! 25: The IP is a datagram, or connectionless, service and includes provision for ! 26: service specification, fragmentation/reassembly, and security information. ! 27: The IP makes no assumption regarding the reliability of the communications ! 28: subnet, and uses a simple checksum mechanism. ! 29: This requires the higher layer protocols (e.g., the TCP) to handle end-to-end ! 30: reliability. ! 31: This degree of freedom permits the IP an unprecedented amount of flexibility ! 32: in dealing with different subnetwork technologies, ! 33: and in connecting those subnetworks efficiently. ! 34: ! 35: The DDN protocol suite is based on the ARPAnet Reference Model (ARM). ! 36: Interested readers should consult \cite{Internet.Architecture,ARM} for a ! 37: perspective on this model. ! 38: For our purposes, ! 39: it is instructive to note that there is an underlying {\em client/server\/} ! 40: paradigm for services. ! 41: Speaking in broad generalities: ! 42: a {\em server\/} listens on a well-known {\em port\/} ! 43: (e.g., file transfer activities occur over TCP port~21), ! 44: awaiting a connection. ! 45: At some later time, ! 46: a {\em client\/} will connect to the server. ! 47: After some application-specific negotiations, ! 48: the client begins to make requests of the server, ! 49: which in turn makes various responses. ! 50: These transactions ! 51: continue until either the client or server determine that no further ! 52: transactions remain and the connection should be closed. ! 53: ! 54: Further, ! 55: servers in the ARPAnet Reference Model tend to be stateless in nature. ! 56: That is, ! 57: there is no inherent state information retained between connection sessions. ! 58: As a result, ! 59: connections can and generally do exist in parallel between several clients and ! 60: several servers ! 61: (each of the latter being instantiated when a client connects to the ! 62: well-known port). ! 63: Of course, ! 64: there may be side-effects between different instantiations ! 65: (e.g., when one file server removes a file, ! 66: this usually results in other servers being unable to retrieve that file), ! 67: but there is no state information which ``lives'' between instantiations of a ! 68: given server. ! 69: ! 70: Finally, ! 71: the ARM is not a seven-layer architecture: ! 72: applications reside directly above the TCP ! 73: and have implicit session and presentation mechanisms ! 74: (i.e., they are application-specific). ! 75: ! 76: The DDN protocol suite is quite mature, ! 77: having stabilized about {\oldstyle 1980} ! 78: (the fundamental work leading to TCP/IP having been done since the early ! 79: {\oldstyle 1970\/}'s). ! 80: TCP/IP enjoys a wide vendor support base and user population. ! 81: Typically, vendor support from TCP/IP to other technologies ! 82: (e.g., IBM's SNA\cite{SNA}) is available, ! 83: and many vendors offer board-level implementations at the transport layer. ! 84: As of April, {\oldstyle 1986}, ! 85: in the ARPA Internet, ! 86: most probably the largest unclassified TCP/IP internetwork, ! 87: it was estimated that there were 2400~hosts residing on 400~networks ! 88: connected via 120~gateways. ! 89: The same source\cite{IP.Requirements} estimates that the ARPA Internet is ! 90: growing at the rate of approximately 10\% a month. ! 91: ! 92: The services available in the DDN protocol suite are wide and varied, ! 93: supporting everything from cross-network debugging, ! 94: to network measurement and host measurement, ! 95: to voice protocols, ! 96: and so on (consult \cite{Assigned.Numbers} for a full list). ! 97: Perhaps the three most notable services are: ! 98: SMTP\cite{SMTP}, the Simple Mail Transfer Protocol, ! 99: which provides store-and-forward service for text messages; ! 100: FTP\cite{FTP}, the File Transfer Protocol, ! 101: which provides remote file access; ! 102: and, ! 103: TELNET\cite{TELNET}, which provides network virtual terminal access. ! 104: ! 105: \subsection {The OSI Protocol Suite} ! 106: Offering services similar to the TCP is the OSI Transport ! 107: Service\cite{ISO.TP.Service}, ! 108: henceforth called TP, ! 109: which addresses the same general issues.% ! 110: \footnote{This paper references the ISO specifications rather than ! 111: the CCITT recommendations. ! 112: The differences between these parallel standards are quite small, ! 113: and can be ignored, with respect to this paper, without loss of generality. ! 114: To provide the reader with the relationships: ! 115: \[\begin{tabular}{lll} ! 116: Session protocol& \cite{ISO.SP.Protocol}& ! 117: \cite{CCITT.SP.Protocol}\\ ! 118: Transport protocol& \cite{ISO.TP.Protocol}& ! 119: \cite{CCITT.TP.Protocol}\\ ! 120: Transport service& \cite{ISO.TP.Service}& ! 121: \cite{CCITT.TP.Service} ! 122: \end{tabular}\]} ! 123: In contrast though, ! 124: the reference model for Open Systems Interconnection (OSI)\cite{OSI}, ! 125: is based on a {\em user/provider\/} paradigm for services. ! 126: That is, ! 127: instead of viewing an asymmetric horizontal relationship between peers ! 128: (as with the servers and clients in the ARM), ! 129: the peers are viewed as being completely symmetric in behavior. ! 130: Instead of a server listening on a well-known port ! 131: when a connection is established, ! 132: the {\em provider\/} fires an {\sf INDICATION\/} event for the entity at the ! 133: next highest layer. ! 134: This entity, called the {\em user}, catches the event and acts accordingly. ! 135: Although this might be implemented by having a user acting as a server ! 136: ``listen'' by hanging on the {\sf INDICATION\/} event, ! 137: from the perspective of the OSI reference model, ! 138: all users remain in the {\sf IDLE\/} state until they generate a ! 139: {\sf REQUEST\/} or accept an {\sf INDICATION}. ! 140: ! 141: The services under consideration and being implemented for the OSI protocol ! 142: suite are also wide and varied. ! 143: Perhaps the most notable services are: ! 144: FTAM\cite{ISO.FTAM}, the File Transfer, Access, and Management Protocol; ! 145: and, ! 146: MHS\cite{MHS}, the suite of protocols for Message Handling Systems, ! 147: originally developed by IFIP in {\oldstyle 1979}. ! 148: ! 149: \subsection {Comparison of Services} ! 150: Several studies have been performed comparing the DDN and OSI protocol ! 151: suites ! 152: (e.g., \cite{NRC.Report}, which concluded that the TCP and the TP were ! 153: functionally equivalent). ! 154: As discussed by \cite{TCP.convert.ISO}, ! 155: the services offered by the two protocols can be divided into three areas: ! 156: connection establishment, data transfer, and connection release. ! 157: Although we disagree with the bias with which the comparison is presented, ! 158: the results are essentially correct: ! 159: the two protocols offer services of functional equivalence with very few ! 160: differences. ! 161: For our purposes, ! 162: it is important to note: ! 163: \begin{itemize} ! 164: \item Simultaneous connection requests by both ends of the connection ! 165: result in two connections being established in the TP, ! 166: while in the TCP a single connection is established. ! 167: Experience shows this difference to be of little practical value in ! 168: a large number of applications using a connection-oriented transport service. ! 169: ! 170: \item The TCP does not have an expedited data transfer mechanism, ! 171: although an urgent pointer is available. ! 172: This paper will suggest a method for implementing an expedited data stream on ! 173: top of the TCP so that OSI-based applications can naively utilize this ! 174: mechanism. ! 175: ! 176: \item The TP does not have a graceful ``drain-and-close'' mechanism for ! 177: connection release. ! 178: Most user profiles of the TP ! 179: (e.g., the National Bureau of Standards profile of TP4\cite{NBS.TP}) ! 180: require the inclusion of an orderly release facility in the TP, ! 181: based on the corresponding session-level mechanism. ! 182: As will be made clear later, ! 183: this lack of functionality in TP is unimportant. ! 184: \end{itemize} ! 185: ! 186: \subsection {A Digression on the Interoperability of Applications} ! 187: Ideally, ! 188: in order to preserve our investment in existing tools ! 189: we would like to do one of two things: ! 190: \begin{enumerate} ! 191: \item achieve interoperability between similar applications in each protocol ! 192: suite; ! 193: or, ! 194: \item migrate an existing application from one protocol suite to the other. ! 195: \end{enumerate} ! 196: In practice, ! 197: neither of these goals can be realized without a significant investment. ! 198: ! 199: In the first case, ! 200: although both the DDN protocol suite and the OSI protocol suite have, ! 201: for example, ! 202: a``mail'' application, ! 203: they are quite different. ! 204: That is, they provide electronic mail services, ! 205: but the type of services available and the implementation of those services ! 206: is vastly different. ! 207: Hence, ! 208: in order to make mail in the DDN protocol suite interoperate with mail in the ! 209: OSI protocol suite, ! 210: a special-purpose gateway is required. ! 211: (To grasp the complexity of this issue, ! 212: interested readers should consult \cite{ARPA.MHS} which describes the ! 213: operation of such a gateway for mail applications.) ! 214: ! 215: Given that the first alternative is not practical, ! 216: what about the second? ! 217: Unfortunately, ! 218: this too is not straight-forward. ! 219: As a brief review, ! 220: let us compare the two {\em protocol stacks\/} which comprise the ! 221: DDN and OSI protocol suites. ! 222: These are presented in Figure~\ref{stacks}. ! 223: \tagfigure{2-1}{Comparison of the Protocol Stacks}{stacks} ! 224: ! 225: Although there is great similarly until we reach the the transport layer, ! 226: at this point, ! 227: the stacks diverge. ! 228: The figure emphasizes that ! 229: each application in the DDN protocol suite has its own implicit session and ! 230: presentation mechanisms, ! 231: whereas in the OSI protocol suite these exist explicitly as layers. ! 232: In short, ! 233: in the DDN protocol suite, ! 234: the services required by the applications are exactly those which are offered ! 235: by the transport service; ! 236: but, ! 237: in the OSI protocol suite, ! 238: the services required by the applications and those provided by the transport ! 239: service are not the same. ! 240: Hence, ! 241: although the {\em services offered by the transport layer\/} are quite similar ! 242: between the two stacks, ! 243: the {\em services required by the applications\/} are quite different.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.