summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1306.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1306.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1306.txt')
-rw-r--r--doc/rfc/rfc1306.txt563
1 files changed, 563 insertions, 0 deletions
diff --git a/doc/rfc/rfc1306.txt b/doc/rfc/rfc1306.txt
new file mode 100644
index 0000000..3c8e093
--- /dev/null
+++ b/doc/rfc/rfc1306.txt
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+Network Working Group A. Nicholson
+Request for Comments: 1306 J. Young
+ Cray Research, Inc.
+ March 1992
+
+
+ Experiences Supporting By-Request Circuit-Switched T3 Networks
+
+Status of this Memo
+
+ This RFC provides information for the Internet community. It does
+ not specify an Internet standard. Distribution of this memo is
+ unlimited.
+
+Abstract
+
+ This memo describes the experiences of a project team at Cray
+ Research, Inc., in implementing support for circuit-switched T3
+ services. While the issues discussed may not be directly relevant to
+ the research problems of the Internet, they may be interesting to a
+ number of researchers and implementers.
+
+ Developers at Cray Research, Inc. were presented with an opportunity
+ to use a circuit-switched T3 network for wide area networking. They
+ devised an architectural model for using this new resource. This
+ involves activating the circuit-switched connection when an
+ application program engages in a bulk data transfer, and releasing
+ the connection when the transfer is complete.
+
+ Three software implementations for this feature have been tested, and
+ the results documented here. A variety of issues are involved, and
+ further research is necessary. Network users are beginning to
+ recognize the value of this service, and are planning to make use of
+ by-request circuit-switched networks. A standard method of access
+ will be needed to ensure interoperability among vendors of circuit-
+ switched network support products.
+
+Acknowledgements
+
+ The authors thank the T3 project team and other members of the
+ Networking Group at Cray Research, Inc., for their efforts: Wayne
+ Roiger, Gary Klesk, Joe Golio, John Renwick, Dave Borman and Craig
+ Alesso.
+
+
+
+
+
+
+
+
+Nicholson & Young [Page 1]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+Overview
+
+ Users of wide-area networks often must make a compromise between low
+ cost and high speed when accessing long haul connections. The high
+ money cost of dedicated high speed connections makes them
+ uneconomical for scientists and engineers with limited budgets. For
+ many traditional applications this has not been a problem. Datasets
+ can be maintained on the remote computer and results were presented
+ in a text-only form where a low-speed connection would suffice.
+ However, for visualization and other data transfer intensive
+ applications, this limitation can severely impact the usability of
+ high performance computing tools which are available only through
+ long-haul network connections.
+
+ Supercomputers are one such high performance tool. Many users who
+ can benefit from access to supercomputers are limited by slow network
+ connections to a centrally located supercomputer. A solution to this
+ problem is to use a circuit-switched network to provide high speed
+ network connectivity at a reduced cost by allocating the network only
+ when it is needed.
+
+ Consider how a researcher using a visualization application might
+ efficiently use a dedicated low speed link and a circuit switched
+ high speed link. The researcher logs in to the remote supercomputer
+ over the low speed link. After running whatever programs are
+ necessary to prepare the visualization, the high speed connection is
+ activated and used to transfer the graphics data to the researcher's
+ workstation.
+
+ We built and demonstrated this capability in September, 1990, at the
+ Telecommunications Association show in San Diego, using this type of
+ visualization application. Further, it will be available in a
+ forthcoming release of our system software.
+
+Architectural Model
+
+ We developed our support for circuit switched services around a
+ simple model of a switched network. At some point in the path
+ between two hosts, there is a switched network connection. This
+ connection is likely to connect two enterprise networks operated by
+ the same organization. Administrative overlap between the two
+ networks is useful for accounting and configuration purposes. We
+ believe that with further investigation circuit switched network
+ support could be extended to multiple switched links in an internet
+ environment.
+
+ The switch which makes the network connection operates on a "by-
+ request" basis (also called "on-demand"). When it receives a request
+
+
+
+Nicholson & Young [Page 2]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+ to make a network connection it will do so (if possible), and breaks
+ the connection when requested. The switch will not activate
+ automatically if there is an attempt to transfer data over an
+ incomplete connection.
+
+ We also made the assumption that the circuit would be switched on a
+ connection basis rather than a packet basis. When an application
+ begins sending data utilizing the switched connection, it will send
+ all the data it has, without stopping, until it is finished. At this
+ time it will release the connection. It is assumed that the quantity
+ of data will be large enough that the circuit setup time is
+ negligible relative to the period of the transfer. Otherwise, it is
+ not worth the effort to support the circuit switched network for
+ small data transfers.
+
+ This model requires that just before the application begins a large
+ bulk transfer of data, a request message is sent to the switch asking
+ that the switched network connection be activated. Once the link is
+ up, the application begins sending data, and the network routes all
+ the data from the application through the switched network. As soon
+ as all the data has been sent, a message is sent to the switch to
+ turn off the switched link, and the network returns to routing data
+ through the slower link.
+
+ The prototype system we built for the TCA show was designed around
+ this model of circuit switched services. We connected a FDDI
+ backbone at Cray Research in Eagan, Minnesota to the TCA show's FDDI
+ network through 2 NSC 703 FDDI/T1/T3 routers. MCI provided a
+ dedicated T1 line and a switched T3 line, using a DSC DS3 T3 switch
+ located in Dallas, Texas. These networks provided connectivity
+ between a Cray Research computer in Eagan to a Sun workstation on the
+ show floor in San Diego.
+
+Alternative Solution Strategies
+
+ The first aspect of using the switched services involved the circuit
+ switch. The DS3 switch available to us was accessed via a dial up
+ modem, and it communicated using a subset of the CCITT Q.295
+ protocol. Activating the switch required a 4 message exchange and
+ deactivation required a 3 message exchange. We felt the protocol was
+ awkward and might be different for other switch hardware.
+ Furthermore, we believed that the dial up aspect of communicating
+ with the switch suffered from the same drawbacks. A good solution
+ would require a cleaner method of controlling the switch from the
+ source host requesting the switched line.
+
+ The next aspect of using switched services involves the source host
+ software which requests and releases the switched network. Ideally,
+
+
+
+Nicholson & Young [Page 3]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+ the switched network is activated just before data transfer takes
+ place and it is released as soon as all data has been sent. We
+ considered using special utility programs which a user could execute
+ to control the link, special system libraries which application
+ programs could call, or building the capability into the kernel. We
+ also considered the possibility that these methods could send
+ messages to a daemon running on the source host which would then
+ communicate with another entity actually controlling the switch.
+
+ The last aspect of using switched services we considered is selection
+ of the switch controlled network. This involves both policy issues
+ and routing issues. Policy issues include which users running which
+ applications will be able to use higher cost switched links. And
+ packets must be routed amongst multiple connections offering varying
+ levels of service after they leave their source.
+
+Implementations
+
+ We have developed a model for switch control through the internetwork
+ which we believe to be reasonable. However, we have experimented
+ with three different source host implementations. These different
+ implementations are detailed here.
+
+Switch control
+
+ Our simplest design decisions involved the switch itself. We decided
+ that the complex protocol and dial up line must be hidden from the
+ source host requesting the switched link. We decided that the source
+ host would use a simple request/release protocol with messages sent
+ through the regular network (as opposed to dial up lines or other
+ connections). Some host accessible through the local network would
+ run a program translating the simple request and release messages
+ into the more complicated switch protocol and also have the modem to
+ handle the dial up connection.
+
+ This has a variety of advantages. First, it isolates differences in
+ switch hardware. Second, multiple hosts may access the switch
+ without requiring multiple modems for the dial up line. And it
+ provides a central point of control for switch access. We did not
+ consider any alternatives to this model of switch control.
+
+ Our initial implementation used a simple translator daemon running on
+ a Sun workstation. Listening on a raw IP port, this program would
+ wait for switch control messages. Upon receipt of such a message, it
+ would dial up the switch and attempt to handle the request. It would
+ then send back a success or failure response. This host, in
+ conjunction with the translator daemon software, is referred to as
+ the switch controller. The switch controller we used was local to
+
+
+
+Nicholson & Young [Page 4]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+ our enterprise network; however, it could reside anywhere in the
+ Internet.
+
+ Later we designed a simple protocol for switch control, which was
+ implemented in the translator daemon. This protocol is documented in
+ RFC 1307, "Dynamically Switched Link Control Protocol".
+
+Source Control of the Switched Link
+
+ This problem involves a decision regarding what entity on the source
+ host will issue the switch request and release messages to the switch
+ controller, and when those messages will be issued. Because we do
+ not have very much field experience with this service, we do not feel
+ that it is appropriate to recommend one method over the others. They
+ all have advantages and disadvantages.
+
+ What we did do is make 3 different implementations of the request
+ software and can report our experiences with each. These are one set
+ of special utility programs which communicate with the switch
+ controller, and 2 kernel implementations. We did not experiment with
+ special libraries, nor did we implement a daemon for switch control
+ messages on the source host.
+
+Switch control user programs
+
+ This implementation of source host control of the switch is the
+ simplest. Two programs were written which would communicate requests
+ to the switch controller; one for activating the connection, and
+ another to deactivate the connection. The applications using this
+ feature were then put into shell scripts with the switch control
+ programs for simple execution.
+
+ This approach has the significant advantage of not requiring any
+ kernel modifications to any machine. Furthermore, application
+ programs do not need to be modified to access this feature. And
+ access to the circuit-switched links can be controlled using the
+ access permissions for the switch-control programs.
+
+ However, there are disadvantages as well. First, there is
+ significant potential for the switch to be active (and billing the
+ user) for the dead time while the application program is doing tasks
+ other than transferring bulk data. The granularity of turning the
+ switch on and off is limited to a per-application basis.
+
+ Another disadvantage is that most applications use only the
+ destination host's address for transfer, and this is the only
+ information available to the transport and network layers for routing
+ data packets. Some other method must be used to distinguish between
+
+
+
+Nicholson & Young [Page 5]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+ traffic which should use the circuit-switched connection and lower-
+ priority traffic. This problem can be addressed using route aliases,
+ described below.
+
+Kernel switch control
+
+ We have made two different implementations of switch control
+ facilities within the operating system kernel. Both rely upon the
+ routing lookup code in the kernel to send switch connect and tear
+ down messages. The difference is in how the time delay between
+ request of the switch and a response is handled.
+
+ For starters, routing table entries were expanded to include the
+ internet address of the switch controller and state information for
+ the switched connection. If there is a switch controller address
+ specified, then the connection must be set up before packets may be
+ sent on this route. We also added a separate module to handle the
+ sending and receiving of the switch control messages.
+
+ When a routing lookup is satisfied, the routing code would check
+ whether the routing table entry specified a switch controller. If
+ so, then the routine requesting switch setup would be called. This
+ would send a message on the Internet to the switch controller to
+ setup the connection.
+
+ In our first implementation, the routing lookup call would return
+ immediately after sending the switch connection request message. It
+ would be the responsibility of the transport protocol to deal with
+ the time delay while the connection is setup, and to tear down if the
+ switched connection could not be made. This has significant
+ ramifications. In the case of UDP and IP, packets must be buffered
+ for later transmission or face almost certain extermination as they
+ will probably start arriving at the switched connection before it is
+ ready to carry traffic. Because of this problem, we decided that
+ this feature would not be available for UDP or IP traffic.
+
+ We did make this work for TCP. Since TCP is already designed to work
+ so that it buffers all data for possible later retransmission, this
+ was not a problem. Our first cut was to change TCP to check that the
+ route it was using was up if it is a switch controlled route. TCP
+ would not send any data until the route was complete, and it would
+ close the connection if the switch did not come up.
+
+ This did not work well at first because every time TCP tried to send
+ data before the switch came up, the retransmit time would be reset
+ and backed off. The rtt estimate, retransmit timeouts and the
+ congestion control mechanism were seriously skewed before any data
+ was ever sent. The retransmit timer would expire as many as 3 times
+
+
+
+Nicholson & Young [Page 6]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+ before data could be transmitted. We solved this problem by adding
+ another timer for handling the delay while the route came up, and not
+ allowing the delay to affect any of the normal rtt timers.
+
+ Our experiences with this approach were not particularly positive,
+ and we decided to try another. We also felt that unreliable datagram
+ protocols should be able to use the service without excessive
+ reworking. Our alternative still sends the switch control message
+ when a routing lookup finds a controlled route. However, we now
+ suspend execution of the thread of control until a response comes
+ back from the switch controller.
+
+ This proved to be easier to implement in many ways. However, there
+ were two major areas requiring changes outside the routing code.
+ First, we decided that if the switch refused to activate the
+ connection, it was pointless to try again. So we changed the routing
+ lookup interface so that it could return an error specifying a
+ permanent error condition. The transport layer could then return an
+ appropriate error such as a host unreachable condition.
+
+ The other, more complex issue deals with the suspension of the thread
+ of execution. Our operating system, UNICOS, is an ATT System V
+ derivative, and our networking subsystem is based on the BSD tahoe
+ and reno releases. The only way to suspend execution is to sleep.
+ This is fine, as long as there is a user context to put to sleep.
+ However, it is not a good idea to go to sleep when processing network
+ interrupts, as when forwarding a packet.
+
+ We solved this problem by using a global flag regarding whether it
+ was ok for the switch control message code to sleep. If it is
+ necessary to send a message and sleep, then the flag must be set and
+ an error is returned if sleeping is not allowed. User system calls
+ which might cause a switch control message to be sent set and clear
+ the flag upon entrance and exit. We also made it impossible to
+ forward packets on a switch controlled route. We feel that this is
+ reasonable since the overhead of switch control should be incurred
+ only when an application program has made an explicit request to
+ begin transfer of data.
+
+ The one other change we made was to make sure that TCP freed the
+ route it is using upon entering TIME_WAIT state. There is no point
+ in holding the circuit open for two minutes in case we need to
+ retransmit the final ack. Of course, this assumes that an alternate
+ path exists for the the peer to retransmit its fin.
+
+ The advantage of building this facility into the kernel is that it
+ allows a fine degree of control over when the switch will and will
+ not need to be activated. Many applications which open a data
+
+
+
+Nicholson & Young [Page 7]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+ connection, transmit their bulk data, and then close the connection
+ will not require modifications and will make efficient use of the
+ resource. It also opens the possibility that applications written to
+ use type-of-service can use the same network connection for low-
+ bandwidth interactive traffic, change the type-of-service (thus
+ activating the switched connection) for bulk transfers, and then
+ release the switch upon returning to interactive traffic.
+
+ Putting this feature into the kernel also allows strong control over
+ when and how the switched link can be used, keeping accounting
+ information, and limiting multiple use access to the switched link.
+
+ The disadvantage is that significant kernel modifications are
+ required, and some implementation details can be very difficult to
+ handle.
+
+Switch control libraries
+
+ The switch control programs we used were built on a library of simple
+ switch control routines; however, we did not alter any standard
+ applications to use this library. We did consider some advantages
+ and disadvantages. On the plus side, it is possible to achieve a
+ satisfactory degree of switch control without requiring any kernel
+ modifications.
+
+ The primary disadvantage of this approach is that all applications
+ must be altered and recompiled. This is particularly inconvenient
+ when source is not available.
+
+Link Selection
+
+ When an application wishes to send data over a circuit-switched
+ connection, it will be necessary to select the switched link over
+ other links. This selection process may need to take place many
+ times, depending on the local network between the source host and the
+ bridge to the circuit switched connection.
+
+ For example, if the kernel routing code is controlling the link, then
+ there must be a way to choose a controlled route over another route.
+ Further downstream, there must be a way to route packets to the
+ switched link rather than other links.
+
+ This issue has the potential for great complexity, and we avoided as
+ much of the complexity as possible. Policy routing and local routing
+ across multiple connections are fertile areas for work and it is
+ outside the scope of this work to address those issues. Instead we
+ opted for simple answers to difficult questions.
+
+
+
+
+Nicholson & Young [Page 8]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+ First of all, we added no special policies to link accessibility
+ beyond that already found in UNICOS. And we handled local routing
+ issues to the NSC FDDI/T1/T3 routers with routing table manipulation
+ and IP Type-of-Service.
+
+ We came up with three solutions for selecting a routing table entry.
+ The first possibility is to use the type-of-service bits, which
+ seemed natural to us. We changed the routing table to include type-
+ of-service values associated with routing entries, and the routing
+ lookups would select using the type-of-service. UNICOS already
+ supports a facility to mark connections with a type-of-service value.
+ A controlled route could be marked with high throughput type-of-
+ service and an application wishing to transfer bulk data could set
+ the socket for high throughput before making the connection. It
+ could also be possible to change the type-of-service on an existing
+ connection and start using the switched link if one is available.
+
+ Using the type-of-service bits have the advantage that downstream
+ routers can also use this information. In our demonstration system,
+ the NSC FDDI/T1/T3 routers were configured to transfer packets with
+ high throughput type-of-service over the T3 connection and all others
+ over the T1 connection.
+
+ Another possibility is to take advantage of the multiple addresses of
+ a multi-homed host. Routing tables could be set up so that packets
+ for one of the addresses get special treatment by traveling over the
+ switched link. The routing table in the source host would have an
+ entry for accessing the switch controller when sending to the high
+ throughput destination address.
+
+ We also derived a method we call route aliasing. Route aliasing
+ involves associating extra addresses to a single host. However,
+ rather than the destination being an actual multi-homed host, the
+ alias is known only to the source host and is used as an alternative
+ lookup key. When an application tries to connect to the alias
+ address the routing lookup returns an aliased route. The route alias
+ contains the actual address of the host, but because of looking up
+ the special address, the switch is activated. The alias could also
+ specify a type-of-service value to send in the packets so that
+ downstream routers could properly route the packets to the switched
+ link. We realize that some may bemoan the waste of the limited
+ Internet address space for aliases; however, only the source host is
+ aware of the alias, and the primary shortage is with Internet network
+ addresses rather than host addresses. In fact, we argue that this is
+ a more efficient use of the already sparse allocation of host
+ addresses available with each network address.
+
+
+
+
+
+Nicholson & Young [Page 9]
+
+RFC 1306 Experiences with Circuit-Switched T3 March 1992
+
+
+Future considerations
+
+ We believe that by-request services will become increasingly
+ important to certain classes of users. Many data centers make high
+ performance resources available over a wide area, and these will be
+ the first users to take advantage of wide-area circuit-switched
+ networks. Some users, such as CICNet ([2]), are already interested
+ in deploying this capability and telecom vendors are working to
+ satisfy this need. However, there are a lot of issues involved in
+ providing this functionality. We are working to involve others in
+ this process.
+
+References
+
+ [1] Nicholson, et. al., "High Speed Networking at Cray Research",
+ Computer Communications Review, January 1991.
+
+ [2] CICNet DS3 Working Group, "High Performance Applications on
+ CICNet: Impact on Design and Capacity", public report, CICNet,
+ Inc., June 1991.
+
+ [3] Young, J., and A. Nicholson, "Dynamically Switched Link Control
+ Protocol", RFC 1307, Cray Research, Inc., March 1992.
+
+Security Considerations
+
+ Security issues are not discussed in this memo.
+
+Authors' Addresses
+
+ Andy Nicholson
+ Cray Research, Inc.
+ 655F Lone Oak Drive
+ Eagan, MN 55123
+
+ Phone: (612) 452-6650
+ EMail: droid@cray.com
+
+
+ Jeff Young
+ Cray Research, Inc.
+ 655F Lone Oak Drive
+ Eagan, MN 55123
+
+ Phone: (612) 452-6650
+ EMail: jsy@cray.com
+
+
+
+
+
+Nicholson & Young [Page 10]
+ \ No newline at end of file