Abstract
This chapter defines a connection-oriented channel similar to the reliable streaming service of Internet sockets. A user accesses the channel as a “client” or as a “server”. A server user at address j starts with a call to accept any incoming connect request. The call can return with a remote address k to indicate that it is connected to a client at k. The call can also be canceled. A client user at j starts with a call to connect to a remote address k. The call can return indicating that it is connected to k, either to an accepting server (client-server connection) or to a client simultaneously requesting to connect to j (client-client connection). The call can also return indicating that the connect was rejected. Once the users are connected to each other, they can exchange messages. A user calls to close the connection when it has no more messages to send. The call returns only after the remote user has also called to close and the local user has received all messages sent by the remote user. The service ensures that a connected user receives messages only from the remote user to which it connected, and not, say, from previous connections to the same remote address.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
R. Braden, T/TCP – TCP extensions for transactions functional specification. Technical report, RFC 1644, Internet Engineering Task Force (1994). http://tools.ietf.org/html/rfc1644
D.E. Comer, D.L. Stevens, Internetworking with TCP/IP, 1st edn. Vol. 3: Client-Server Programming and Applications, Linux/Posix Sockets Version (Prentice Hall, Upper Saddle River, 2000)
M.J. Donahoo, K. Calvert, TCP/IP Sockets in C, Practical Guide for Programmers, 2nd edn. (Morgan Kaufmann, Burlington, 2009)
S.L. Murphy, A.U. Shankar, Connection management for the transport layer: service specification and protocol verification. IEEE Trans. Commun. 39(12), 1762–1775 (1991). doi:10.1109/26.120163. Earlier version in Proceedings ACM SIGCOMM ’87 Workshop, Stowe, Vermont, August, 1987
A.L. Oláh, Design and analysis of transport protocols for reliable high-speed communications. Ph.D. thesis, University of Twente, Enschede, 1997. http://doc.utwente.nl/13676/
A.L. Oláh, S.M. Heemstra de Groot, Comments on “minimum-latency transport protocols with modulo-n incarnation numbers”. IEEE/ACM Trans. Netw. 4(4), 660–666 (1996). doi:http://dx.doi.org/10.1109/90.532874
A. Shankar, Modular design principles for protocols with an application to the transport layer. Proc. IEEE 79(12), 1687–1707 (1991). doi:10.1109/5.119547
A.U. Shankar, D. Lee, Minimum-latency transport protocols with modulo-n incarnation numbers. IEEE/ACM Trans. Netw. 3(3), 255–268 (1995). doi:10.1109/90.392385. http://dx.doi.org/10.1109/90.392385
M. Stacey, I. Griffin, J. Nelson, T/TCP: TCP for transactions. Linux J. (70) (2000). http://www.linuxjournal.com/article/3075
W.R. Stevens, UNIX Network Programming, vol. 1. Second Edition: Networking APIs: Sockets and XTI. (Prentice-Hall, Upper Saddle River, 1998). Chapter 4, ISBN 0-13-490012-X
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer Science+Business Media New York
About this chapter
Cite this chapter
Shankar, A.U. (2013). Reliable Transport Service. In: Distributed Programming. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-4881-5_20
Download citation
DOI: https://doi.org/10.1007/978-1-4614-4881-5_20
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-4880-8
Online ISBN: 978-1-4614-4881-5
eBook Packages: Computer ScienceComputer Science (R0)