Network Working Group Stefan Hans Internet-Draft April 5, 2017 Intended status: Experimental Expires: October 7, 2017 Contextinformation Routing (CIR) Specification for Contextinformation Routing Networks (CRNs) CIR Specification for CRNs Abstract Contextinformation Routing (CIR) is routing through Contextinformation Routing Networks (CRNs). For an overview about CRNs please see Internet-Draft "Concepts of Contextinformation Routing Networks (CRNs)" [CRNs]. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on October 7, 2017. Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Stefan Hans Expires October 7, 2017 [Page 1] Internet-Draft CIR Specification for CRNs April 2017 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Encoded CI Routing . . . . . . . . . . . . . . . . . . . . . 2 3.1. Structural Conception . . . . . . . . . . . . . . . . . . 4 4. Encoded CI Routing . . . . . . . . . . . . . . . . . . . . . 5 5. Application's Network Address Updates . . . . . . . . . . . . 5 6. CIC-Ruleset Request Routing . . . . . . . . . . . . . . . . . 5 7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 8. Informative References . . . . . . . . . . . . . . . . . . . 5 Appendix A. CRN's Glossary . . . . . . . . . . . . . . . . . . . 6 Appendix B. CRN's Abbreviations . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction The concepts and the implementations should be aware of the following patterns as described in the "The Reactive Manifesto" [ReactiveManifesto], i.e. they should be: o Responsive o Resilient o Elastic o Message Driven These aspects will be referred to in the follwing sections. 2. Motivation The motivation for this document is mainly the publication to prevent proprietary rights of third parties hindering the general availability of its described concepts. Another additional motivation is the exchange with interested experts. This draft is a first step towards a possible formal recognition as an Internet Standard in the future. 3. Encoded CI Routing introduction ....................... ______ ______ . +-------+ . Stefan Hans Expires October 7, 2017 [Page 2] Internet-Draft CIR Specification for CRNs April 2017 / ENRP \ / ENRP \ . | | . |Server| <----> |Server|<----------.----->| PE 1 | . \______/ ENRP \______/ ASAP(1) . | | . ^ . +-------+ . | . . | ASAP(2) . Server Pool . V . . +-------+ . +-------+ . | | . | | . | PU |<---------->. | PE 2 | . | | PU to PE . | | . +-------+ . +-------+ . . . . +-------+ . . | | . . | PE 3 | . . | | . . +-------+ . ....................... Device ........................................... . . . +----------+ +-------------+ . . +----------+| | | . . +----------+|| 1 | | . . +----------+||| <------- | | . . | |||+ 1 | CIR-Gateway | . . | CIR-Root ||+ -------> | | . . | |+ | | . . +----------+ | | . . | | . . .........................|.............|... | | CRN | | ..........................| |.. . | | . . | | . . | | . . | | . . +-------------+ . . A . . | . .................................|......... | | V Stefan Hans Expires October 7, 2017 [Page 3] Internet-Draft CIR Specification for CRNs April 2017 Device ............................................... . . . +--------------+ +-------------+ . . +--------------+| | | . . +--------------+|| <------> | | . . +--------------+||| <------> | | . . | |||+ <------> | CIR-Gateway | . . | Applications ||+ <------> | | . . | |+ | | . . +--------------+ | | . . | | . ..............................| |.. | | | | CRN | | ..............................| |.. . | | . . +--------------+ | | . . +--------------+| | | . . +--------------+|| <------> | | . . +--------------+||| <------> | CRN-Node | . . | |||+ <------> | | . . | CRN-Nodes ||+ <------> | | . . | |+ | | . . +--------------+ +-------------+ . . . ............................................... Figure 1 3.1. Structural Conception We distinguish between the two main roles Participant and User with regard to CIR. A Participant (CRN-Node) offers CI or provides explicitly an active role in CIR. A User only uses CIR requesting CI or metadata. The following concepts refer to how CRNs are built up with CRN-Nodes dynamically. CIR-Registration At first, an active CRN-Node has to be known as entry point or to be established to create a new CRN. This CRN-Node is called CRN-Root. A CRN-Root knows all major subnets concerning the CIC-Content used as an index (CI-Index). New Participants can be registered by requesting the CRN- Root or any known CRN-Node being on the relevant path, i.e. Stefan Hans Expires October 7, 2017 [Page 4] Internet-Draft CIR Specification for CRNs April 2017 on the CI-Index of the new participant. If not explicitly requested differently a new participant will be registered or mounted above the first ambiguous CIC-Brick, i.e. before the first byte of CI-Mask is not equal '0'. Subnetting x Redundancy x 4. Encoded CI Routing introduction 5. Application's Network Address Updates introduction 6. CIC-Ruleset Request Routing introduction 7. Security Considerations The use of contextinformation routing described in this memo has no direct impact on the security of the Internet. 8. Informative References [CRNs] Hans, S., "Concepts of Contextinformation Routing Networks (CRNs)", April 2017, <https://raw.githubusercontent.com/stefanhans/golang- contexting/master/RFC/CRN_Concepts.txt>. [ReactiveManifesto] Boner, J., Farley, D., Kuhn, R., and M. Thompson, "The Reactive Manifesto", September 2016, <http://www.reactivemanifesto.org>. Stefan Hans Expires October 7, 2017 [Page 5] Internet-Draft CIR Specification for CRNs April 2017 Appendix A. CRN's Glossary Contextinformation (CI) Information within its described context. Contextinformation Coding (CIC) The CIC-Ruleset for a particular type of CI and a concrete piece of encoded CI. Contextinformation Packet (CIP) Data structure encapsulating encoded CI. Contextinformation Routing (CIR) Overlay network routing using CIC-Content as an address. CIC-Brick One byte of encoded CI consisting of CIC-Content and CIC-Mask as a pair of bit strings. CIC-Content The definite part of encoded CI. CIC-Mask The undefining part of encoded CI. CIC-Module A CIC, not containing other CICs. CIC-Number Linking CIC-Ruleset and all its encoded CI. CIC-Padding Filling a shorter as required encoded CI with CIC- Spam. CIC-Ruleset Set of CIC-Modules. CIC-Spam Bits of a CIC which have no meaning. CIR-Client Client aspects of CIR. CIR-Index CIC-Content as an index of the CIR-Tree. Stefan Hans Expires October 7, 2017 [Page 6] Internet-Draft CIR Specification for CRNs April 2017 CIR-Node Routing responsibility of the lowest byte of the CRN- Address. CIR-Server Server aspects of CIR. CIR-Tree B-tree describing the CIR data structure. CRN-Address CIC-Content as overlay network address. Root-CIC The outermost CIC and the CIC-Brick identifying it. Appendix B. CRN's Abbreviations +--------------+------------------------------------+ | Abbreviation | Meaning | +--------------+------------------------------------+ | CI | Contextinformation | | CIC | Contextinformation Coding | | CIP | Contextinformation Packet | | CIR | Contextinformation Routing | | CRN | Contextinformation Routing Network | | RZV | Reserved Zero Value | +--------------+------------------------------------+ Author's Address Stefan Hans Rotwandstr. Baldham 85598 Germany Email: uni@stefan-hans.de Stefan Hans Expires October 7, 2017 [Page 7]