Annotation of 43BSDReno/contrib/isode-beta/doc/cn-isdn/section2.tex, revision 1.1

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.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.