Dnssd Working Group X. Xu Internet-Draft Huawei Intended status: Informational May 16, 2014 Expires: November 17, 2014 DNS Update Based Service Function Update draft-xu-dnssd-sf-update-00 Abstract In a Service Function Chaining (SFC)-enabled domain, the Domain Name System (DNS) can be used as a mechanism for Service Function (SF) auto-discovery [I-D.xu-dnssd-sf-discovery]. Since the information associated with SF instances (e.g., capacity and current load) would change dynamically, the information associated with SF instances which is stored in the DNS sever needs to be updated accordingly. This document describes how to use the DNS UPDATE mechanism [RFC2136] to dynamically update the corresponding Resource Records (RRs) for SF instances. Requirements Language 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 [RFC2119]. 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 November 17, 2014. Xu Expires November 17, 2014 [Page 1] Internet-Draft DNS Update Based SF Update May 2014 Copyright Notice Copyright (c) 2014 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Updating SF-Specific RRs . . . . . . . . . . . . . . . . . . 3 3.1. RR Format . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. Updating SRV RR . . . . . . . . . . . . . . . . . . . . . 4 3.3. Updating TXT RR . . . . . . . . . . . . . . . . . . . . . 5 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 5. Security considerations . . . . . . . . . . . . . . . . . . . 6 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 6 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.1. Normative References . . . . . . . . . . . . . . . . . . 6 7.2. Informative References . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction In a Service Function Chaining (SFC)-enabled domain, the Domain Name System (DNS) can be used as a mechanism for Service Function (SF) auto-discovery [I-D.xu-dnssd-sf-discovery]. Since the information associated with SF instances (e.g., capacity and current load) would change dynamically, the information associated with SF instances which is stored in the DNS needs to be updated accordingly. Specifically, the SRV [RFC2782] and TXT [RFC1035] records containing the information associated with SF instances need to be updated accordingly. This document describes how to use the DNS update mechanism as described in [RFC2136] to dynamically update the corresponding SRV and TXT RRs for SF instances. Xu Expires November 17, 2014 [Page 2] Internet-Draft DNS Update Based SF Update May 2014 2. Terminology This section contains definitions for terms used frequently throughout this document. However, many additional definitions can be found in [I-D.xu-dnssd-sf-discovery], [RFC2136] and [I-D.quinn-sfc-arch]. Service Function (SF): A function that is responsible for specific treatment of received packets. A Service Function can act at the network layer or other OSI layers. A Service Function can be a virtual instance or be embedded in a physical network element. One of multiple Service Functions can be embedded in the same network element. Multiple instances of the Service Function can be enabled in the same administrative domain. A non-exhaustive list of Service Functions includes: firewalls, WAN and application acceleration, Deep Packet Inspection (DPI), server load balancers, NAT44 [RFC3022], NAT64 [RFC6146], HOST_ID injection, HTTP Header Enrichment functions, TCP optimizer, etc. Service Function Chain (SFC): A service function chain defines an ordered set of service functions that must be applied to packets and/or frames selected as a result of classification. SF Identifier (SF ID): A unique identifier that represents a service function within an SFC-enabled domain. Service Node (SN): Physical or virtual element that hosts one or more service functions and has one or more network locators associated with it for reachability and service delivery. SID: Segment Identifier Service SID: A locally unique SID indicating a particular service function on a service node. 3. Updating SF-Specific RRs 3.1. RR Format All RRs as defined in [RFC1035] have the same top level format shown below: Xu Expires November 17, 2014 [Page 3] Internet-Draft DNS Update Based SF Update May 2014 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | / / / NAME / | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | TYPE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | CLASS | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | TTL | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | RDLENGTH | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / / / RDATA / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ o NAME: a domain name to which this resource record pertains. o TYPE: two octets containing one of the RR type codes. This field specifies the meaning of the data in the RDATA field. o CLASS: two octets which specify the class of the data in the RDATA field. o TTL: a 32 bit signed integer that specifies the time interval that the resource record may be cached before the source of the information should again be consulted. o RDLENGTH: an unsigned 16 bit integer that specifies the length in octets of the RDATA field. o RDATA: a variable length string of octets that describes the resource. The format of this information varies according to the TYPE and CLASS of the resource record. 3.2. Updating SRV RR The SF-specific SRV record has a name of the form ".." and gives the target host (representing the Service Node) where the SF instance can be reached Xu Expires November 17, 2014 [Page 4] Internet-Draft DNS Update Based SF Update May 2014 (Note that the port number given by the SRV record is meaningless in the SFC case). When a particular SF instance is moved from one service node to another, the Target field within the corresponding SRV RR for that SF instance needs to be updated accordingly. The following is an example: Table 1: SRV RR +------------------------+-----------------------------+ | SRV Name | SRV Data | +------------------------|-----------------------------+ |.. |Target:FQDN of Service Node 2| | | | | |Priority: Not Available | | | | | |Weight: Not Available | | | | | |Port: Not Available | | | | +------------------------+-----------------------------+ 3.3. Updating TXT RR The TXT record is used to contain additional information (such as capacity, current load, service SID) associated with an SF instance. Once any information (e.g., current load) is changed, the corresponding key/value pair within the TXT record for that SF instance needs to be updated accordingly. The following is an example: Table 1: TXT RR +------------------------+-----------------------+ | TXT Name | TXT Data | +------------------------+-----------------------+ |.. |0x09 ssid=1000 | | | | | |0x0D capacity=1024 | | | | | |0x08 load=80% | | | | +------------------------+-----------------------+ o ssid=1000: The Service SID for the named SF instance. o capacity=1024: The capacity of the named SF instance. For example, this information can refer to the maximum number of entries that can be supported by a firewall SF. Xu Expires November 17, 2014 [Page 5] Internet-Draft DNS Update Based SF Update May 2014 o load=80%: The current load of the named SF instance. This information may be used for load-balancing purposes for instance. This parameter may reflect the amount of active entries vs. the total amount of entries. 4. IANA Considerations TBD. 5. Security considerations The security considerations described in [RFC3007] is applicable to this document. No additional security measure is required. 6. Acknowledgement TBD. 7. References 7.1. Normative References [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2136] Vixie, P., Thomson, S., Rekhter, Y., and J. Bound, "Dynamic Updates in the Domain Name System (DNS UPDATE)", RFC 2136, April 1997. [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000. [RFC3007] Wellington, B., "Secure Domain Name System (DNS) Dynamic Update", RFC 3007, November 2000. [RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network Address Translator (Traditional NAT)", RFC 3022, January 2001. [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers", RFC 6146, April 2011. Xu Expires November 17, 2014 [Page 6] Internet-Draft DNS Update Based SF Update May 2014 7.2. Informative References [I-D.quinn-sfc-arch] Quinn, P. and J. Halpern, "Service Function Chaining (SFC) Architecture", draft-quinn-sfc-arch-05 (work in progress), May 2014. [I-D.xu-dnssd-sf-discovery] Xu, X., "DNS-SD Extensions for Service Function Discovery", draft-xu-dnssd-sf-discovery-00 (work in progress), May 2014. Author's Address Xiaohu Xu Huawei Email: xuxiaohu@huawei.com Xu Expires November 17, 2014 [Page 7]