HyPath October 2006 NSIS Working Group L. Cordeiro Internet Draft M. Curado Expires: February 2007 E. Monteiro V. Bernardo University of Coimbra F. Racaru M. Diaz C. Chassot LAAS October 2006 Hybrid on-path off-path approach for end-to end signalling accross NSIS domains (HyPath) draft-cordeiro-nsis-hypath-02 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on February, 2007. Copyright Notice Copyright (C) The Internet Society (2006). Abstract Cordeiro Expires – February 2007 [Page 1] HyPath October 2006 In a multi-domain Internet that offers QoS guaranties for applications, there is the need of signalling among the domain entities that are responsible for the management of QoS. Because different domains have different network protocols and topologies, the HyPath approach uses the NSIS protocol and interactions with the local routing protocols to have an off path signalling in hybrid environments. Table of Contents 1. Introduction...................................................2 1.1 Terminology and Abbreviations..............................3 2. Off-path signalling state of the art...........................4 2.1 Off-path signalling proposals..............................4 2.1.1 SIBBS (Simple Inter-domain Bandwidth Broker Protocol)..4 2.1.2 COPS-SLS...............................................6 3. HyPath.........................................................7 3.1 The new signaling..........................................9 3.2 Non-NSIS domains..........................................11 3.3 Usage of external routing protocols.......................12 3.4 Heterogeneous solution....................................14 3.5 HyPath architecture.......................................15 3.5.1 HyPath in the RM......................................15 3.5.2 HyPath in the border router...........................16 3.5.3 HyPath payload........................................17 4. Hypath implementation architecture example....................20 5. Acknowledgements..............................................23 6. Security Considerations.......................................23 7. Conclusion....................................................23 6. Open issues...................................................23 7. References....................................................23 8. Author's Addresses............................................24 9. Intellectual Property Statement...............................25 10. Disclaimer of Validity.......................................26 11. Copyright Statement..........................................26 1. Introduction In the past years, we assisted at a common rise of new technologies in the telecommunication and computer science field. This evolution led to the emergence of new types of applications involving multimedia, like VoIP, VoD, tele-engineering, telemedicine, etc.. These applications have new constraints and requirements concerning parameters such as delay and jitter. Therefore, new services are required besides those given by the actual Internet. Nowadays, all packets in the Internet receive the same treatment. As presented before, some data flows need special processing in Cordeiro Expires – February 2007 [Page 2] HyPath October 2006 order to satisfy the application requirements, and thus it is necessary to address QoS (Quality of Service) issues. The internet is an interconnection of networks, comprising different domains, called Autonomous Systems (AS), managed independently, especially in what concerns QoS strategies. In order to support QoS for communications over several domains, intra and inter-domain QoS signalling appears to be inevitable. Our work aims at a context of a multi-domain Internet that offers QoS guaranties for applications. Inside a domain, the QoS is managed through central entities, that are in charge of installing and handling QoS based on internal rules. This concept was introduced in the DiffServ domains, and is associated with Bandwidth Brokers [6]. At the present, a new requirement appears: signalling MUST take place, not only among devices strictly on the data path, but also among these central entities, that we call hereafter Resource Manager (RM). Several signalling protocols have been proposed, especially in the IETF NSIS working group. The goal of the NSIS protocol is to manipulate the network state related to data flows with the constraint that the signalling protocol will be processed on the nodes which also handle the data flows themselves ("path-coupled signalling"). This document discusses a NSIS multi-domain, multi- service, RM based Internet that allows an off-path signalling. The main issue addressed in this document is the inter-operability between NSIS and non-NSIS domains. 1.1 Terminology and Abbreviations The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [10]. This document uses a number of terms defined in [5]. The following additional terms are used: o QoS: Quality of Service o RM: Resource Manager, central entity of a domain in charge of the QoS management. o NSIS domain: an administrative domain where the RM and at least all border routers are NSIS aware. o Non-NSIS domain: an administrative domain where only the RM is NSIS aware. o E2E: end-to-end Cordeiro Expires – February 2007 [Page 3] HyPath October 2006 2. Off-path signalling state of the art In the off-path approach, entities participating in the signalling process are not bound to the path followed by the data flows. The most common example is when particular entities inside a domain, which have special responsibilities (QoS, policy control, servers, etc…) MUST be signalled. These devices are not strictly on the data path; nevertheless the signalling protocol MUST arrive to interact with these devices. Off-path signalling has advantages, as presented in [4] and [5]: o independence between the signalling plane and the forwarding plane o introduction of flexibility allowing entities such as proxies to be signalled even if they are not on the data path; o functioning with new routing protocols or traffic engineering mechanisms (QoS routing, q-BGP, etc…); o better adapted for mobility. On the other hand, off-path signalling MUST answer new challenges such as discovering the next hop and synchronisation with IGP (Interior Gateway Protocol) and EGP (Exterior Gateway Protocol) routing protocols. 2.1 Off-path signalling proposals Several protocols have been proposed for the off-path signalling in a bandwidth broker-based multi-domain DiffServ model. 2.1.1 SIBBS (Simple Inter-domain Bandwidth Broker Protocol) The SIBBS protocol has been defined by the QBone Signaling Workgroup and it aims to be used on DiffServ bandwidth broker-based domains. In the QBone testbed, each network is a differentiated service (DiffServ) domain supporting one or more globally well known forwarding services built from fundamental DiffServ blocks. SIBBS is a very simple protocol to be used between bandwidth borkers. It contains two principal PDU: o RAR (Resource Allocation Request) o RAA (Resource Allocation Answer) Cordeiro Expires – February 2007 [Page 4] HyPath October 2006 ***************** ******************* ******************* * +------+ * * +------+ * * +------+ * * | |-.-.-.-.-.-.-.-.->| |-.-.-.-.-.-.-.-.->| | * * | BB | * * | BB | * * | BB | * * | |<-.-.-.-.-.-.-.-.-| |<-.-.-.-.-.-.-.-.-| | * * +-- ---+ * * +------+ * * +------+ * * / * * * * * * / +--+ +--+ +--+ +--+ * * +---+ |BR|'''|BR| |BR|'''|BR| * * | C | +--+ +--+ +--+ +--+ * * +---+ * * * * * ***************** ******************* ******************* <-.-.-.-.-> = signalling message betwwen BB ----------- = message between client and BB C = client BB = Bandwidth Broker BR = Border Router Figure 1 – SIBBS protocol The RAR message includes a globally well-known service ID, information related to the QoS request (class of services and bandwidth) and a destination IP address, a source IP address, an authentication field, and the other parameters of the service. The sender can be the client host, a BB or a proxy. The RAA message contains the answer to a RAR PDU. The communication between BB is supposed to be reliable, i.e. using TCP. Receiving a RAR message, a BB: o Authenticates that the request is indeed from a peer bandwidth broker; o Determines the egress router (interface) from its (inter- domain) routing tables; o Checks that the requested resources fall within the SLS; o Ensures that there are sufficient resources within the domain to support the flow from the ingress border router; o Determines whether the flow may be accepted according to the policies of the domain. If the required resources are available, the request is propagated recursively through the inter-domain path to the last BB. This last BB returns a RAA message to its immediately upstream BB and the process is continued until the originating BB. This is concluded with an admission of the QoS request. Resources are confirmed by means of refresh messages, sent periodically. In order to perform the configuration of the border routers, the BB MUST have access to this one. SIBBS does not specify a particular protocol, but some examples are COPS, DIAMETER, SNMP, etc.. Cordeiro Expires – February 2007 [Page 5] HyPath October 2006 2.1.2 COPS-SLS COPS-SLS [7, 8] is an extension of the COPS (Common Open Policy Service) protocol [9] for SLS management in a multi-domain environment. COPS is a client/server protocol designed for the management of policy based networks. The basic model of COPS is presented below: +----------------+ | | | Network Node | Policy Server | | | +-----+ | COPS +-----+ | | PEP |<-----|-------------->| PDP | | +-----+ | +-----+ | ^ | | | | | \-->+-----+ | | | LPDP| | | +-----+ | | | +----------------+ Figure 2 – SIBBS protocol The PDP (Policy Decision Point) is the central entity in charge of making the decisions (for itself or for other elements of the network). The PEP (Policy Enforcement Point) is the point where the policies are applied, such as a router. The optional Local Policy Decision Point (LPDP) can be used by the device to make local policy decisions in the absence of a PDP. COPS is a request/response protocol that allows a PEP (router) to interrogate its PDP about the action to perform once an event has occurred (for instance, if a signalling message arrived). COPS-PR is an extension of COPS with the goal to force the application of a policy in the PEP without any prior request. COPS-SLS has the same behaviour as SIBBS: a request is propagated from one BB to the other in each domain of the data path. Each BB has a double role: o PDP for the upstream domain, BB which sends the request, and o PEP for the next BB domain. Compared to SIBBS, COPS-SLS adds some features to the protocol, as renegotiation of classes of service in case of failure of admission control. The communication between BB and border routers is assured by the COPS-PR protocol. COPS-SLS does not provide any Cordeiro Expires – February 2007 [Page 6] HyPath October 2006 specification on the discovery of the next BB discovering or on the identification of border routers. 3. HyPath The requirements for a hybrid on-path/off-path approach for e2e signalling across NSIS and non-NSIS domains are not fully solved by the NSIS protocol as it is being defined currently in the IETF NSIS working group. There is the need to have network signalling between specific entities in domains (not only the routers in the data path like the normal on-path solution). This is the case of QoS network signalling when there are resource manager entities in the domains responsible for the domain QoS. In these situations the entities to be signalled are the RM entities and not only the network equipment (routers). An example of the normal NSIS signalling from a source RM to a destination RM is shown in Figure 3. The normal way of work of the NSIS protocol [1], not only does not signal the RM servers in the data path, but also does not force the signalling to follow the same path as the user data (because the source and destination are different and the domains can have different routing policies based on local source IP addresses). As presented in Figure 3, the signalling message could not follow the same inter-domain path from the sender domain to the receiver domain. Therefore the resource reservation will not be properly done on the data path. Cordeiro Expires – February 2007 [Page 7] HyPath October 2006 ********************** * +----------+ * * | | * * | RM | * * | | * * +----------+ * +--+ +--+ ...........|BR|................|BR|........ : +--+ +--+ : : ********************** : : : +--+ +--+ *********|BR|********* *********|BR|********* * +--+ * * +--+ * * +----------+ * * +----------+ * * | | * * | | * * | RM | * * | RM | * * | | * * | | * * +----------+ * * +----------+ * * +---+ * * * * | C |----| * * * * +---+ | * * * * +--+ * * +--+ * *********|BR|********* *********|BR|********* +--+ +--+ | ********************** | | * +----------+ * | | * | | * | | * | RM | * | | * | | * | | * +----------+ * | | +--+ +--+ | |----------|BR|----------------|BR|-------| +--+ +--+ ********************** -------------------- signalling started by the client .................... signalling started by the RM C = client, RM = Resource Manager, BR = Border Router Figure 3 – Normal NSIS signalling The major requirements to achieve e2e (end-to-end) network signalling are the following: o Signalling messages MUST follow the same path as the user data; o All the RMs in the data path MUST be signalled. Cordeiro Expires – February 2007 [Page 8] HyPath October 2006 The NSIS protocol as it is being defined in the IETF can not solve these two major requirements simultaneously. In order to fulfil the above requirements, a middle layer between the two NSIS layers was conceived. This layer is named HyPath (Hybrid Path). To be able to connect the HyPath with the NTLP layer [2] and the NSLP layer [3] without altering their specifications, the HyPath needs to be a middle layer between the NTLP layer and the NSLP layer (the already defined interfaces MUST not be changed). Figure 4 describes an example of the NSIS protocol architecture including the HyPath. +-----------------------------------------------------+ | Resource Manager (RM) | +-----------------------------------------------------+ | ^ +-----------------|----------------|------------------+ | NSIS v | | | +--------------------------------------+ | | | NSLP | | | +--------------------------------------+ | | | ^ | | v | | | +------+ +----------------------+ | | | BGP |<-------| | | | |proc. |------->| HyPATH | | | +------+ +-- -------------------+ | | | ^ | | v | | | +-------------------------------------+ | <------------| GIST |------------> | +----------------------- -------------+ | +-----------------------------------------------------+ HyPath on the NSIS architecture BGP proc = BGP processing + external functions Figure 4 – HyPath in the NSIS architecture Therefore, the HyPath interface with the NTLP layer MUST be the same as the NSLP layer interface already defined. Likewise the interface with the NSLP layer MUST be the same as the defined NTLP layer interface. 3.1 The new signaling The operation of NSIS with the additional HyPath in the border routers and RMs in all domains is illustrated in Figure 5. Cordeiro Expires – February 2007 [Page 9] HyPath October 2006 ***************** ******************* ******************* * +------+ * * +------+ * * +------+ * * | | * * | | * * | | * * | RM | * * "| RM | * * "| RM | * * | |. * * " | | * * " | | * * +------+ \ * * " +------+ * * " +------+ * * . * * " * * " * * \+--+ +--+ +--+ +--+ * * +---+ |-.|-.-|.-|-.-.-.-.-.-.-.|-.|-.-|-.| +---+ * * | S |========|BR|===|BR|==============|BR|===|BR|=========| R | * * +---+ +--+ +--+ +--+ +--+ +---+ * ***************** ******************* ******************* -.-.-.-.-.- NSIS signalling path =========== Data path """"""""""" AS local NSIS signalling S = sender, R = receiver BR = Border Router Figure 5 - NSIS signalling with HyPath When a user makes a QoS request to the local QoS system, NSIS signalling MUST occur in order to signal all on path RM. This signalling MUST follow the same path as the data. Therefore, in the first domain, the HyPath in the local RM uses an external function (described in Section 3.3) to discover the local egress border router of the data. Afterwards, the HyPath asks the NSIS transport layer to send a NSIS message to the egress border router. This message contains the NSLP payload and some additional HyPath information (described in Section 3.5). Once in the egress border router, the NSIS signalling message is sent to the end user. In this scenario, all border routers intercept NSIS messages, and are HyPath aware. Therefore, in the following domain the NSIS signalling message is intercepted by the ingress border router. In this router the message is redirected to the local RM server to make the local RM signalling. After processing the received message, the RM server continues the signalling sending a message back to the ingress border router. The signalling is restarted in the ingress border router and the NSIS message continues to the next domain. Cordeiro Expires – February 2007 [Page 10] HyPath October 2006 These procedures continue in all domains until the last domain is reached and the signalling stops in the RM server. With this architecture all the requirements to achieve e2e network signalling are met and no changes are needed in the definitions of the NTLP and NSLP layers. Specifically, in the first domain egress border router the data path and the signalling path meet. From that point on, if the NSIS signalling message is always sent to the end user, the message will follow the data path (the routing roles will be the same). 3.2 Non-NSIS domains The drawback of the approach described in Section 3.1 is that all border routers of all domains MUST be NSIS aware. Even though in theory this is a reasonable assumption, in practice we can not guarantee that this happens. For this reason we define a heterogeneous solution that works when border routers are not NSIS aware (non-NSIS domains) and the only information available is provided by the routing protocol of the domain. Not being able to rely on NSIS interception in the border router, the solution is to rely on the routing protocol. In non-NSIS domains, when the RM intends to send a signalling message, the HyPath uses an external function (described in Section 3.3) to discover the local egress border router of the data path and the next RM IP address. With this information, a NSIS message with the NSLP payload and some additional HyPath information (described in Section 3.5) is sent directly to the RM of the next domain. Using again the external function to discover the local egress border router of the data path and the next RM IP address, the NSIS signalling message is sent to the RM of the next domain. The procedure described is repeated until the last domain is reached. In this approach, the signaling messages do not follow the data path, but they follow all the RMs in the data path. The inconvenience with this approach is the extensive usage of the external functions. Since these functions are used in all non-NSIS domains, this approach would have an impact on the processing time and on the amount of resources used. Cordeiro Expires – February 2007 [Page 11] HyPath October 2006 3.3 Usage of external routing protocols In the beginning of this document the motivation for off-path signaling was described. If the signaling is decoupled from the data path (but still path-related signaling) two general problems need to be solved: o The Resource Manager MUST discover the ingress and egress points through which the data path will pass in its domain; this information is needed in order to continue the NSIS signaling and to perform an admission control between the ingress and the egress border routers and on the inter-domain link. o In non-NSIS domains, the Resource Manager in the next domain MUST be identified in order to propagate the request. The RM has access to the BGP tables of the border routers of its domain, and is able to interrogate the BGP tables. This interrogation is implemented as a request/response protocol via telnet or ssh. The main information in the BGP routing table after rejecting unacceptable routes is: o Accessible destination network list (IP prefixes); o For each prefix: o next router address (next-hop) in the adjacent domain; this information is carried up in the messages inside the AS (i- BGP session); o List of Autonomous Systems successively traversed (AS path), from adjacent domains to the AS destination domain for the destination network; o For each border router: address of neighbor routers with whom it has established BGP session (neighbor) which are either border router or Router Reflectors – RFC 2796. The approach to discover ingress and egress border routers is the following: a) Discover the ingress border router: i) If we deal with a NSIS domain and the upstream domain is also a NSIS domain, the ingress router is easy to retrieve. As described in the HyPath signaling (Section 3.1), it is the border router that intercepts the NSIS message and redirects it to the RM. ii) If we deal with a NSIS domain, and the upstream domain is a non-NSIS domain the ingress router is retrieved from the message received by the RM. In this case, the upstream RM sent the message directly to the local RM as explained in Section 3.2. Cordeiro Expires – February 2007 [Page 12] HyPath October 2006 This upstream RM interrogates the BGP table of its ingress border router and retrieves the next-hop IP address. The goal for the RM of the AS2 is to retrieve the ingress border router in the next domain. In the upstream AS2 domain the BGP R21 tables contains: Network Next-Hop Path *>ip form AS3 R31 i AS3 The RM of the AS2 interrogates this table and retrieves the next- hop address of R31. This operation is done only with adjacent non NSIS domains. Then, it passes this address in the signalling message to the RM of AS3. A particular case is when the IP address of the next-hop is not distributed through the internal routing protocol (a private IP for instance), and thus, the new request MUST be addressed to the egress border router. The procedure to discover this router is presented in the next section. When this RM receives the message, it has already the IP address of the ingress border router. If this address is not a public address (a private IP address for instance), it can obtain this public address from local BGP and topology configuration. iii) If we deal with a non-NSIS domain, the procedure is similar to the one presented in point ii) b) Discover the egress border router: i) Inside an AS, all border routers communicate in the i-BGP session. The egress border router is discovered using the BGP table of the ingress border router. If we deal with a full mesh iBGP (all border routers are connected on iBGP), then the egress border router is a neighbour. ii) As an alternative, if the domain uses Route Reflectors, either the attribute ORIGINATOR_ID, or the domain topology can be used to find the egress border router for the data path. For non-transit traffic (i.e. traffic originating inside the domain) the Resource Manager can use a database (similar to TED for the PCE Element [11] [12]) where it is stored cartography of the domain (network topology). In the next paragraph we explain how a Resource Manager can obtain the IP address of a peer Resource Manager in an adjacent domain. Cordeiro Expires – February 2007 [Page 13] HyPath October 2006 The RM is configured by the administrator of the domain. One solution is to consider that the SLA (Server Level Agreement) between two adjacent domains contains also the PI address of the RM present in the domain. As the administrator is aware of the SLAs, it can configure the RM with all peer RM addresses. Another solution follows the SIBBS proposal [3] that suggests to retrieve the bandwidth broker address via a DNS mechanism (the BB for each domain is to be named bb. and put it in a CNAME record in the DNS). We propose to have a similar approach. However, instead of using the domain name, we propose to associate the AS number to an RM IP address. When a RM needs to obtain the next RM IP address, it checks the BGP table to find the AS path to the destination. In the AS path, it finds the next AS number and, based on one of the mechanisms presented before, it does the correspondence AS number <-> RM IP address. In this section we described some mechanisms that allow for the solution of major issues of the off-path signalling path, namely to discover the next hop to signal and how to interact with external routing protocols such as BGP. 3.4 Heterogeneous solution The NSIS and the non-NSIS solutions presented are able to work but, as discussed in the previous sections, have disadvantages. On one hand, in the NSIS solution it is mandatory to use NSIS and HyPath aware routers. On the other hand, in the non-NSIS solution it is needed an intensive usage of external functions that extensively access the routing protocol. A new solution is to integrate the two solutions presented. Particularly, with this approach, in NSIS domains it is used the NSIS solution and in non-NSIS domains it is used the non-NSIS solution. The difficulty of this hybrid approach is the interaction between domains that have different solutions implemented. When sending signalling messages from one NSIS domain to a non-NSIS domain, the information issued by the ingress border router is not sent within the signalling message and therefore cannot be retrieved locally. To solve this problem, the NSIS domain MUST check the type of the next domain before sending any signalling message. This information is obtained from the normal AS association procedure. If the next domain is a non-NSIS domain, the message MUST be sent as described in Section 3.2, otherwise it is sent as described in Section 3.1. Cordeiro Expires – February 2007 [Page 14] HyPath October 2006 This approach implies that NSIS domains connected with non-NSIS domains need to determine the type of the next domain, increasing not only the response time but also the complexity of the solution. If a NSIS domain is only connected to other NSIS domains the solution is very simple and light weight. 3.5 HyPath architecture As described in the previous sections, the additional functionalities for the Hybrid on-path/off-path approach for e2e signalling across NSIS and non-NSIS domains implies the usage of HyPath in the RMs and in the border routers. The main HyPath functionalities are the following: o In the Resource Manager o Discovery of the egress border router of the first domain o Discovery of the ingress border router after a non-NSIS domain o RM signalling o Message reception and decoding o Sending messages o In the egress border router o Start RM signalling in the first domain o In the ingress border router o Message interception and sending them to the local RM o Reception of the local RM response message and continuation of RM signalling These functionalities are described in more detail in the next subsections. 3.5.1 HyPath in the RM The HyPath in the RMs is responsible for changing the destination of the signalling message so the right RM is signalled. In the first domain (the domain where the network signalling starts) the HyPath starts by discovering the egress border router of the data path using an external function. If the next domain (discovered using the external function) is a NSIS domain, the message is sent to the egress border router. Otherwise, the ingress border router and the IP address of the RM of the next domain in the data path MUST be discovered using again an external function. Afterwards, the message is sent directly to the IP address of the next domain RM. If a domain is not the first domain, it means that a HyPath message has already been received and there is state stored in the HyPath database. If the next domain and the current domain are NSIS Cordeiro Expires – February 2007 [Page 15] HyPath October 2006 domains, the message is sent to the ingress border router (IP address in the database) to be forwarded through the same path as the data. If the next domain is a non-NSIS domain, then again, an external function MUST be used to discover the ingress border router and the IP address of the RM of the next domain in the data path. Afterwards, the message is sent directly to the IP address of the next domain RM. The messages to be sent upstream first need to query the HyPath database for the upstream RM IP address (state stored when a downstream message is received) and then are sent directly to the RM. If the RM is not the first or the last RM of the signalling, the MRI direction flag (dFlag) MUST be changed. This change allows the usage of the previous associations. When a message is received from GIST, the HyPath information in the message MUST be recorded in the database and the NSLP layer payload MUST be sent to the NSLP. 3.5.2 HyPath in the border router In the border routers the NSLP layer is not needed, so the HyPath acts as a normal NSLP. Figure 6 shows the NSIS architecture in a border router with HyPath. +------------------+ |NSIS | | +--------------+ | | | HyPath | | | +--------------+ | <--|-|- GIST -|-|--> | +--------------+ | +------------------+ Figure 6 – HyPath architecture in the border routers The HyPath module in the border router has two different functionalities depending if it is an egress or ingress border router. In the first domain, the border router acts as the egress router where the signalling merges with the data path. From this point forward, if the message is always sent to the end user, the signalling path will follow the same path as the data path. In the other domains, the border router acts as an ingress border router where HyPath NSIS messages are intercepted. In the border router, if the messages are received from the local RM, they are forwarded to the end user. If the messages are intercepted, they are forwarded to the local RM. Cordeiro Expires – February 2007 [Page 16] HyPath October 2006 If the received message is from the local RM (message type 3) and the current network is neither the source nor the destination network, the message direction MUST be set with the D Flag field of the payload. The Border Router Address field of the payload MUST be set with the address of the current machine and the B Flag set. If the received message is of type 1 (to be sent to the final destination) and if the B Flag is set, the Border Router Address field in the payload MUST be checked. If the Border Router Address belongs to the local domain, the message is forwarded, only updating the Border Router Address field. If the Border Router Address is not from the local domain the message MUST be sent to the local RM. In this case the MRI source address MUST be set to the BR address, the MRI destination address MUST be set to the local RM address and the HyPath payload Border Router Address field MUST be updated with the local BR address. When sending the message to the RM, if the message direction is upstream, the source and destination SHOULD be swapped. 3.5.3 HyPath payload HyPath needs to manage state in the RM and border routers to be able to handle all types of messages. Therefore it needs to send specific information together with the network signalling message. A Hypath message consists of a message type, followed by a flag stating if there is the border router address field, a reserved field for future use and a length field. Next, there are two fields containing the source and destination addresses of the message. Finally, there is a field containing the address of the border router of the domain. The field of the source address is filed with the address of the source of the data sender. The destination field is filed with the address of the data destination. The border router field is filed with the address of the egress border router of the domain discovered by Hypath through the external function, described above, or by the ingress border router that intercepted the HyPath message. The binary payload description is presented next. Cordeiro Expires – February 2007 [Page 17] HyPath October 2006 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type |I|B|D| Reserved| nslpID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Source Address // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Destination Address // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Border Router Address // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: type of HyPath message. 1 - Standard message: a message that follows the data path and it is intercepted in the border routers 2 - Border router message: a message that it is sent from the border router to the RM 3 - Resource Manager message: a message that is sent either to the border router of the actual domain or to the RM of the next domain, depending on the type of the next domain (NSIS or non-NSIS) Flag I: IP version [ 0 = IPv4 | 1 = IPv6 ] Flag B: means that the border router address field is present Flag D: message direction flag Source Address: data source address Destination Address: data destination address Border Router Address: border router address to where the resource manager MUST send the next message 3.6 HyPath multiple domain example To better understand how HyPath works in a multiple domain situation, a three domains example is described next. This example is composed by three networks (A, B and C), three RMs (RM A, RM B and RM C), four border routers (BR A1, BR B1, BR B2 and BR C1) and two users (S, source user, and D, destination user). Network A is composed by the source user, S, RM A and BR A1. Network B is composed by RM B and two BRs, BR B1 and BR B2. Network C is composed by the destination user, D, RM C and BR C1. Network A connects to network B through BR A1 and BR B1 and network B connects to network C through BR B2 and BR C1. The connection Cordeiro Expires – February 2007 [Page 18] HyPath October 2006 between the network A and network C MUST be through the network B. The data path between the source user and the destination user is the following sequence: S -> BR A1 -> BR B1 -> BR B2 -> BR C1 -> D. Figure 7 illustrates the three domains network described with the signalling messages required to make a signalling between the source and the destination users. In this case the source user, S, requests the local RM, using one signalling protocol (independent from HyPath) that initiates HyPath signalling to the destination user. +------------+ +------------+ +------------+ | +------+ | | +------+ | | +------+ | | | | | | | | | | | | | | | RM A | | | | RM B | | | | RM C | | | | | | | | | | | | | | | +------+ | | +------+ | | +------+ | | ^ | | | ^ | | | ^ | | | | a| | |c _| _|d | |g _| . | | . | | | | | | | | | | | | | +-----+ b +-----+<--+ +-----+ f +-----+ . | | . +->|BR A1|-->|BR B1|----->|BR B2|-->|BR C1| | | | | +-----+ +-----+ e +-----+ +-----+ v | |+---+ | | | | +---+| || S | | | | | | D || |+---+ | | | | +---+| +------------+ +------------+ +------------+ |<- Net A ->| |<- Net B ->| |<- Net C ->| -.-> Protocol between users and the RM ---> NSIS messages with HyPath Figure 7 – HyPath architecture in the border routers The HyPath signalling starts in the RM A, where the NSLP requests HyPath to send a message from S to D. Before starting the signalling, the local data path egress border router needs to be discovered (using an external function). With this information, the RM A sends the message to the respective egress border router, BR A1. This message is type 1. When the BR A1 receives the message, knows it MUST be injected in the data path because it is a type 1 message. BR A1 changes the received MRI with the information available in the HyPath payload (source IP address, destination IP address and direction) and sends the message towards the destination. This is the first message that follows the data path, like as if it had been generated by the source user. Cordeiro Expires – February 2007 [Page 19] HyPath October 2006 In the network B (the next domain) the message is intercepted by the ingress border router (BR B1). This border router checks if the message needs to be sent to the local RM or not. Since the message was received from another domain (by checking the BR Address field in the HyPath payload) the message is then forwarded to the local RM, the RM B. The MRI is changed in order to send the message to the local RM. Moreover, the source is changed to the BR IP address and the destination is changed to the local RM IP address. The direction of the message is also set to downstream. In the RM B, when Hypath receives a message, sends the NSLP payload to the respective NSLP (if it exists). If NSLP sends a response message, it is sent back to the respective BR, the BR B1. Before sending the message, the HyPath state table needs to be searched for the specific session to find the respective BR IP address. One message that has no state (in case it is the first message or the state was removed due to a time out) is treated as a new signal. With the BR B1 IP address, the message is sent upstream (using the already established states) to BR B1. When a message is received in BR B1 from the RM B (because of the message type) the message is injected in the network like in BR A1. The message is then sent to the destination. In network B the message is intercepted by the egress border router, the BR B2. In this BR, the message does not need to be sent to the local RM because the previous node is a local node (BR B1). This means that no processing is needed and the message is forwarded to the destination. Only the BR IP address in the HyPath payload SHOULD be updated. In network C the message is again intercepted by the ingress border router, BR C1. The ingress border routing procedure is the same as described above, and the message is sent to the local RM (RM C). In the RM C the node is treated as the last node because the destination user is in the RM network. Here, the HyPath signalling stops and other type of signalling (protocol independent from the HyPath like the Session Initiation Protocol [13]) can interact with the destination user. When the NSLP requests a response message to a HyPath message in the RMs, the procedure is similar to the one described previously. The message SHOULD be sent upstream and, if new associations are required, the GIST layer SHOULD support their creation upstream. 4. Hypath implementation example Cordeiro Expires – February 2007 [Page 20] HyPath October 2006 This section describes an example of Hypath implementation architecture. Figure 8 shows the Hypath processing of messages received from the NSLP layer and from the GIST layer. The architecture was developed in order to allow for the connection of multiple signalling applications to Hypath. Therefore, for each NSLP there is an NSLPThread to handle the messages exchanged between the NSLP and Hypath layers. The Hypath layer is connected to the NTLP layer, GIST, through the NTLPThread. This thread handles all the communication between Hypath and NTLP. The message flow from NSLP to GIST is as follows: when a specific NSLP sends a message, the corresponding NSLPThread receives the request and queues it on the SendQueue for further processing. Afterwards, the SendProcessing thread consumes the request from the SendQueue and, it processes each request accordingly. Finally, the result it is sent to the NTLPThread in order to be transported by GIST. The message flow from GIST to NSLP is as follows: when the NTLPThread receives a message from GIST, the message is queued in the RcvQueue. Then, the RecvProcessing module consumes the message from the RcvQueue and processes it. If the current Hypath is on a Border Router, the message is sent back to the NTLPThread to be sent to the local Resource Manager. Otherwise the message is sent to the corresponding NSLPThread. If no NSLPThread is registered for the received message, the message is sent back to the NTLPThread to continue the signaling Cordeiro Expires – February 2007 [Page 21] HyPath October 2006 +--------+ +--------+ +--------+ | NSLP 1 | | NSLP 2 | (...) | NSLP N | +--------+ +--------+ +--------+ | | | +----------+ | | | | NSLP | | | | | Register | | | | +----------+ | | | | V V V | V V V | +------------+ +------------+ +------------+ | | NSLPThread | | NSLPThread | | NSLPThread | | | 1 | | 2 | | N | | +------------+ +------------+ +------------+ | | | | | | | | | | V | V | V | V | +------------+ | +-------------+ --------->>| SendQueue |<<------ | NSLPThreads | +------------+ | Database | | +-------------+ is_RM | +------------+ | | ------------------|------> | SendTo | | | | | | NSLPThread | | ----|---------- | +------------+ | | | | | | V V | | V V | +------------+ +------------+ +----------+ ->>| Recv | | Send |<<------| External | | Processing | | Processing | | Function | +------------+ +------------+ +----------+ ^ | is_BR | ^ ---------------------- | | V V | V V +----------+ +------------+ | RcvQueue |<<-----------------| NTLPThread | +----------+ +------------+ | ^ V ^ V | +-------+ | NTLP | +-------+ Figure 8 – HyPath architecture Cordeiro Expires – February 2007 [Page 22] HyPath October 2006 5. Acknowledgements The authors would like to thank Luís Conceição, Vitor Bernardo and David Palma for their contribution on the implementation and testing of GIST, Hypath and QoS-NSLP. 6. Security Considerations This section describes the security considerations related to the HyPath and this will be discussed and clarified later. 7. Conclusion This draft presented architecture in the context of a NSIS multi domain Internet that aims an off-path signalling when a hybrid solution is required (fir instance NSIS is not implemented in all domains). Currently, increasing number applications claim special treatment for their packets in order to satisfy new requirements in term of delay, loss, jitter, etc. Inside an AS, the QoS management is often delegated to e central entity which has a global view of network topology. This entity is also aware of QoS availability inside and on the inter domain links of the domain. In order to signal these entities, which are not on the data-path, this draft proposed a solution to involve the central entities on the signalling in the NSIS context, solution called Hybrid Path. This work, a Hybrid on-path off-path approach for e2e signalling across NSIS and non-NSIS domains, aims specifically at the EuQoS project (http://www.euqos.org), but also for all network signalling that needs to signal specific entities in all domains in the data path. 6. Open issues This section describes the open issues related to the HyPath and this will be discussed and clarified later. 7. References [1] Hancock, R., Karagiannis, G., Loughney, J., and S. Van de Bosch, "Next Steps in Signaling (NSIS): Framework", RFC 4080, June 2005. [2] Schulzrinne, H. and R. Hancock, "GIST: General Internet Signaling Transport", draft-ietf-nsis-ntlp-09, September 2005. [3] Bosch, S., "NSLP for Quality-of-Service signalling", Cordeiro Expires – February 2007 [Page 23] HyPath October 2006 draft-ietf-nsis-qos-nslp-09, October 2005. [4] Hancock, R., Kappler, C., Quittek, J., Stiemerling, J., “A Problem Statement for Partly-Decoupled Signalling in NSIS”, draft- hancock-nsis-pds-problem-02.txt, October 2005. [5] Schelen, O., Couturier, A., Bless, R., Geib, R., Dugeon, O., “Path-coupled and Path-decoupled Signaling for NSIS “, draft- schelen-nsis-opopsig-01.txt, November 2002 [6] Blake, S;, Black, D., Carlson, M., Davies, E., Wang, Z., Weiss, W. “An Architecture for Differentiated Services”, RFC 2475, December, 1998 [7] Trang Nguyen TM, Boukhatem N., Doudane, Y.G., Pujolle, G. “COPS-SLS – a service level negotiation protocol fort he internet“, IEEE Communication Magazine, vol. 40, n°5, May 2002 [8] Trang Nguyen TM, Boukhatem N., Doudane, Y.G., Pujolle, G, “COPS-SLS usage for dynamic policy-based QoS management over heterogeneous IP networks“, IEEE Communication Magazine, vol. 17, n°3, May-June 2003 [9] Durham, D., Boyle, J., Cohen, R., Herzog, S., Rajan, R., Sastry, A. “The COPS (Common Open Policy Service) Protocol” RFC 2748, January 2002 [10] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [11] “Path Computation Element (PCE) Charter, http://www.ietf.org/html.charters/pce-charter.html“, 2005. [12] Farrel, A., Vasseur, J-F., Ash, J., “A Path Computation Element (PCE) Based Architecture“, draft-ietf-pce-architecture- 04.txt, January 2006 [13] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A. and all, “SIP: Session Initiation Protocol", RFC 3261, June 2002. 8. Author's Addresses Luís Cordeiro Dept. of Informatics Engineering Univ. of Coimbra Polo II - Pinhal de Marrocos 3030-290 Coimbra, Portugal Email: cordeiro@dei.uc.pt Cordeiro Expires – February 2007 [Page 24] HyPath October 2006 Marilia Curado Dept. of Informatics Engineering Univ. of Coimbra Polo II - Pinhal de Marrocos 3030-290 Coimbra, Portugal Email: marilia@dei.uc.pt Edmundo Monteiro Dept. of Informatics Engineering Univ. of Coimbra Polo II - Pinhal de Marrocos 3030-290 Coimbra, Portugal Email: edmundo@dei.uc.pt Vitor Bernardo Dept. of Informatics Engineering Univ. of Coimbra Polo II - Pinhal de Marrocos 3030-290 Coimbra, Portugal Email: vmbern@student.dei.uc.pt Florin Racaru Laboratory for Analysis and Architecture of Systems Avenue du Colonel Roche 31077 Toulouse France Email: fracaru@laas.fr Michel Diaz Laboratory for Analysis and Architecture of Systems Avenue du Colonel Roche 31077 Toulouse France Email: diaz@laas.fr Christophe Chassot Laboratory for Analysis and Architecture of Systems Avenue du Colonel Roche 31077 Toulouse France Email: chassot@laas.fr 9. Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Cordeiro Expires – February 2007 [Page 25] HyPath October 2006 Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. 10. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 11. Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Cordeiro Expires – February 2007 [Page 26]