Abstract
Names make it easier to identify and refer to people and things around us. Restaurants in a city, postal mailboxes on a street, digital files on a computer, and physical interfaces on a router are examples of things we assign contextual names to. Computer networks are no different. We use names so we can identify, share, and locate objects on a network. Networks host objects, including for example nodes, endpoints, services, content, and users. A computer network is essentially intended for delivering and sharing information. The basic primitive needed for successful delivery of information is the ability to discover routes to objects. So in essence, the two most basic abstractions in a computer network are objects and routes. This in a sense defines the purpose of naming in the context of computer networks: to make it easier to discover routes to objects. Almost every networking application relies on naming services, the latter being an integral part of a network architecture. Revisiting the definitions of Shoch, Hauzeur, Saltzer and Karsten, we start by disambiguating the plethora of terms used in the naming literature—name, address, identifier, locator, binding, routing, discovery, mapping, and resolution. We present the definitions and we provide a formalism based on simple relational algebra. The model adds clarity to the discussion by formally representing the main abstractions, their relationships, and the main constraints on them. Such a formalism may be directly fed into symbolic model checkers to explore and check a variety of system level properties. We then examine the properties of names, bindings, and discovery, and we give two illustrative case studies of name services.
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The last k attributes of the first relation must equal the first k attributes of the second in order for the rows to survive the join.
- 2.
Discovery/Routing additionally includes the distributed control mechanisms needed to construct and maintain the forwarding tables.
- 3.
By definition of F, an object \(o \notin\mathcal{S}\) such that (s,n,o,n′)∈F must be terminal.
- 4.
For example using a provider-independent address that is de-aggregated and that each node in the DFZ has a record for it in its forwarding table.
- 5.
The nslookup utility on windows or unix systems is a DNS resolver.
- 6.
UNM could delegate the management of its namespace to some third-party instead, but it is still the authority of the subtree.
- 7.
As long as the DNS protocol is trusted to behave correctly.
- 8.
Other models exist where the key-value pairs correspond to the name-object pairs and the lookup provides some overlay forwarding mechanism to the objects.
References
The alloy analyzer. http://alloy.mit.edu/
Delay tolerant networking research group. http://www.dtnrg.org/
The handle system. http://www.handle.net
Balakrishnan, H., Lakshminarayanan, K., Ratnasamy, S., Shenker, S., Stoica, I., Walfish, M.: A layered naming architecture for the internet. In: Proceedings of ACM SIGCOMM 2004, pp. 343–352. ACM, Portland (2004)
Ballintijn, G., van Steen, M., Tanenbaum, A.S.: Scalable human-friendly resource names. Internet Comput. 5(5), 20–27 (2001)
Braden, R., Faber, T., Handley, M.: From protocol stack to protocol heap: role-based architecture. SIGCOMM Comput. Commun. Rev. 33(1), 17–22 (2003)
Castineyra, I., Chiappa, N., Steenstrup, M.: RFC 1992: the nimrod routing architecture (1996)
Chiappa, J.N.: Endpoints and endpoint names: a proposed enhancement to the internet architecture. http://www.chiappa.net/tech/endpoints.txt (1999)
Hauzeur, B.M.: A model for naming, addressing and routing. ACM Trans. Inf. Syst. 4(4), 293–311 (1986)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006). 0262101149
Karsten, M., Keshav, S., Prasad, S., Beg, M.: An axiomatic basis for communication. In: Proceedings of SIGCOMM 2007, pp. 217–228. ACM, New York (2007)
Koponen, T., Chawla, M., Chun, B.-G., Ermolinskiy, A., Kim, K.H., Shenker, S., Stoica, I.: A data-oriented network architecture. In: Proceedings of SIGCOMM’07. ACM, Kyoto (2007)
Lakshminarayanan, K., Adkins, D., Perrig, A., Stoica, I.: Securing user-controlled routing infrastructures. IEEE/ACM Trans. Netw. 16(3), 549–561 (2008)
Maymounkov, P., Mazières, D.: Kademlia: A peer-to-peer information system based on the xor metric. In: Revised Papers from the First International Workshop on Peer-to-Peer Systems, IPTPS ’01, pp. 53–65. Springer, London (2002)
Mockapetris, P.: RFC 1035: domain names implementation and specification (1987)
Moskowitz, R., Nikander, P., Jokela, P.: Host identity protocol architecture. RFC 4423 (2006)
Nikander, P., Arkko, J., Ohlman, B.: Host identity indirection infrastructure (hi3). In: The Second Swedish National Computer Networking Workshop (2004)
Papadopoulos, F., Krioukov, D., Bogua, M., Vahdat, A.: Greedy forwarding in dynamic scale-free networks embedded in hyperbolic metric spaces. In: INFOCOM, 2010 Proceedings IEEE, pp. 1–9 (2010)
Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A scalable content-addressable network. In: SIGCOMM’01: Proceedings ACM Interest Group on Data Communication SIGCOMM 2001, ACM, San Diego (2001)
Rhea, S., Godfrey, B., Karp, B., Kubiatowicz, J., Ratnasamy, S., Shenker, S., Stoica, I., Yu, H.: Opendht: a public dht service and its uses. In: Proceedings of SIGCOMM ’05, pp. 73–84. ACM, New York (2005)
Rosenberg, J., Schulzrinne, H., et al.: RFC 3261: session initiation protocol (2002)
Rowstron, A., Druschel, P.: Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. In: Proceedings of IFIP/ACM Middleware 2001. ACM, Heidelberg (2001)
Saltzer, J.: On the naming and binding of network destinations. RFC 1498
Shoch, J.: Inter-network naming, addressing, and routing. In: IEEE COMPCON, pp. 72–79. IEEE, New York (1978)
Stoica, I., Adkins, D., Zhuang, S., Shenker, S., Surana, S.: Internet indirection infrastructure. IEEE/ACM Trans. Netw. 12(2), 205–218 (2004)
Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup protocol for internet applications. IEEE/ACM Trans. Netw. 11(1), 17–32 (2003)
Sun, S.: Establishing persistent identity using the handle system. In: Tenth International World Wide Web Conference (2001)
Vahdat, A., Dahlin, M., Anderson, T., Aggarwal, A.: Active names: flexible location and transport of wide-area resources. In: USITS’99: Proceedings of the 2nd Conference on USENIX Symposium on Internet Technologies and Systems, vol. 2, p. 14. USENIX Association, Berkeley (1999)
Zhao, B.Y., Huang, L., Stribling, J., Rhea, S.C., Joseph, A.D., Kubiatowicz, J.D.: Tapestry: a resilient global-scale overlay for service deployment. IEEE J. Sel. Areas Commun. 22(1), 41–53 (2004)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag London
About this chapter
Cite this chapter
Khoury, J.S., Abdallah, C.T. (2013). Naming. In: Internet Naming and Discovery. Signals and Communication Technology. Springer, London. https://doi.org/10.1007/978-1-4471-4552-3_3
Download citation
DOI: https://doi.org/10.1007/978-1-4471-4552-3_3
Publisher Name: Springer, London
Print ISBN: 978-1-4471-4551-6
Online ISBN: 978-1-4471-4552-3
eBook Packages: EngineeringEngineering (R0)