Network Working Group S. Jeong Internet-Draft ETRI Intended status: Informational February 15, 2014 Expires: August 19, 2014 Network Proxy Protocol draft-jeong-eman-network-proxy-protocol-02.txt Abstract In the current Internet, it is implicitly assumed that a network node is always active so that it can receive the incoming packets at any time. Current networking services and applications are commonly designed to be fully available at all times with minimal response times. This assumption keeps network nodes from entering sleeping mode in order to reduce energy consumption. Further, during sleeping mode, network nodes may not immediately respond to the incoming packets or even lose them. If network nodes are allowed to go into a sleeping mode, they can effectively reduce energy consumption during idle period. Network proxy allows to delegate network node's traffic processing to an external system within a network, so that the nodes maintain network presence during their sleep. This document describes communication mechanism between network nodes and proxy in order to accelerate the wider deployment of network proxy mechanism. 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 August 19, 2014. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. Jeong Expires August 19, 2014 [Page 1] Internet-Draft Network Proxy February 2014 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. Conventions and Terminology . . . . . . . . . . . . . . . . . 4 3. Overview of Network Proxy . . . . . . . . . . . . . . . . . . 4 4. Network Proxy Operation . . . . . . . . . . . . . . . . . . . 6 4.1. ARP Operation . . . . . . . . . . . . . . . . . . . . . . 9 4.2. DHCP Operation . . . . . . . . . . . . . . . . . . . . . 10 5. Message Formats . . . . . . . . . . . . . . . . . . . . . . . 12 5.1. Proxy Solicitation Message . . . . . . . . . . . . . . . 14 5.2. Proxy Advertisement Message . . . . . . . . . . . . . . . 14 5.3. Sleep Request Message . . . . . . . . . . . . . . . . . . 16 5.3.1. IPv4 ARP Configuration Option . . . . . . . . . . . . 16 5.3.2. DHCP Configuration Option . . . . . . . . . . . . . . 17 5.4. Sleep Confirm Message . . . . . . . . . . . . . . . . . . 17 5.5. Wakeup Report Message . . . . . . . . . . . . . . . . . . 18 5.6. Wakeup Confirm Message . . . . . . . . . . . . . . . . . 18 5.6.1. DHCP Notification Option . . . . . . . . . . . . . . 19 6. Usecases of Network Proxy . . . . . . . . . . . . . . . . . . 19 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 9.1. Normative References . . . . . . . . . . . . . . . . . . 20 9.2. Informative References . . . . . . . . . . . . . . . . . 20 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 21 1. Introduction Information and Communications Technology (ICT) sector is facing rapid growth and consuming a lot of power in order to provide large bandwidth and complex application services. According to an ITU-T report, wired and wireless networks consume large amount of power and the amount of green-house gas emissions caused by ICT sector is estimated 2% of total man-made emissions. It is also estimated that network sector including network equipment and equipment connected to networks contributes to 4% of world power consumption. Further, it is observed that the power consumption is Jeong Expires August 19, 2014 [Page 2] Internet-Draft Network Proxy February 2014 higher at access networks and users, so how to reduce the power consumption in these areas is becoming an important issue [ITU]. According to recent surveys, network equipment show a constant power consumption profile irrespective of their utilization level, i.e., energy-agnostic power profile. Such equipment represent the worst case in terms of utilization and power consumption profile. On the contrary, ideally, energy-aware equipment represent power consumption pattern proportional to their utilization or offered load. Practical approaches for realizing the energy-aware equipment are implementing multi-stepped power profiles in order to adapt to the utilization level [EPC][GreenSurvey][EEE]. There is another researh direction for improving energy efficiency of network equipment using network proxy technology [I-D.winter-energy-efficient-internet][PROXZZZY][NCP]. Network proxy describes technologies that maintain network connectivity for other devices so that these can go into low power sleep modes. This mainly targets the reduction of unnecessary energy waste through edge devices. There are typically two types of network proxies: internal and external, respectively. o Internal Proxy: proxy functionality is implemented within the ICT product, such as network interface card. o External Proxy: proxy functionality is placed within other network equipment such as switch and external server in networks. This document describes a protocol that is need for communication between external proxies and network hosts. ECMA International has published a proxying document [PROXZZZY]. This specification describes an overall architecture for network proxying and provides capabilities that a proxy may expose to a host. Also, information that must be exchanged between a host and a proxy, and required and optional behavior of a proxy during its operation are described. Within IETF, there are several documents related with the functionality of network proxy [RFC6762][RFC6763][I-D.cheshire-edns0-owner-option]. These documents defines DNS messages-based service discovery mechanisms, which can be used for facilitating various services. These mechanisms may be used for providing some of network proxy functionality, but generalized network proxy functionality is not fully supported. Jeong Expires August 19, 2014 [Page 3] Internet-Draft Network Proxy February 2014 Generalized network proxy is capable of providing full network presence for a broad range of network protocols and applications. The generalized network proxy include a list of packet types that may require routine reply, autogeneration, and wakeup, as well as the detailed steps and methods for state information transfer each requires [EEEC]. It is well known that many network hosts are in active state in order to maintain network presence and this behavior hinders hosts from entering energy saving state. Even when a node is idle with no running applications, background traffic is received that needs to be processed which inhibits the node from sleeping. Network proxy is one of the possible solutions for resolve this issue. The general framework of network proxy was developed, but the control and communication mechanisms between network hosts and proxies has not been developed. Thus, in order to promote the wider deployment of network proxy mechanism, the control and communication protocol should be specified. This document defines a control protocol for external network proxy operation and relevant messages in order to increase energy efficiency of network hosts. 2. Conventions and Terminology 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]. 3. Overview of Network Proxy Network proxy refers to a set of mechanisms dedicated to put network interfaces and network nodes into energy saving sleeping mode. Energy consumption in sleeping mode is less than active mode in general, so the longer the sleeping periods is, the higher the achievable energy saving can be. The network proxy enables network nodes to maintain network connectivity during sleep period. Figure 1 shows the typical operational scenario of network proxy [PROXZZZY]. When a host wants to enter sleeping mode, the host delivers its network status and state to a network proxy and goes into sleeping mode. Then, the network proxy responds to periodic messages on behalf of the host in sleeping mode. If the proxy receives a message that it cannot process, it sends a wake-up message to the host so that the host can process the message after wake-up. Jeong Expires August 19, 2014 [Page 4] Internet-Draft Network Proxy February 2014 Host Proxy Network | | | | | Full Network Connectivity | |<-------------------------------------->| | | Enter | | | Sleeping| Context Exchange | | Mode |<------------------>| | | | | In | | Selective Network | Sleep | | Connection | Mode | |<----------------->| . | | | . | | | | | Wake-up Event | | Wake-up |<------------------| |<-------------------| | | | | | Context Exchange | | |<------------------>| | | | | | Network Connectivity Resumed | Wake-up |<-------------------------------------->| | | Figure 1: Operational scenario of network proxy According to the survey, even though a host is in idle mode, background network traffic is received and needs to be processed, which prevents the host from going into sleeping mode. Also, it is known that most of the incoming traffic received during the host's idle period may be simply dropped or do not require more than a minimal computation and response. For instance, most broadcast packets or traffic related to port scanning may simply be ignored. Usual exchanges, such as Address Resolution Protocol (ARP) processing, Internet Control Message Protocol (ICMP) echo answering or Dynamic Host Configuration Protocol (DHCP) rebinding, are simple tasks that could be easily performed directly by network proxy. The idea behind network proxy is delegating the processing of such traffic. Processing can imply plain filtering or may require simple responses (e.g., in the case of ARP, ICMP, DHCP), or even more complex task. Such tasks can be delegated from the CPUs of hosts to an external network proxy in networks [GreenSurvey]. The following list summarizes requirement status about what types of protocols network proxy should support [PROXZZZY]. Among them, this Jeong Expires August 19, 2014 [Page 5] Internet-Draft Network Proxy February 2014 document describes ARP related operation first and other mandatory protocols will be defined later version of this document. Mandatory 1: Media (802.3, 802.11) Mandatory 2: IPv4 ARP Mandatory 3: IPv6 Neighbor Discovery Mandatory 4: Wake Packets Option 1: DNS Option 2: DHCP Option 3: IGMP Option 4: MLD Option 5: Remote Access using SIP and IPv4 Option 6: Remote Access using Teredo for IPv6 Option 7: SNMP Option 8: Service Discovery using mDNS Option 9: Name Resolution with LLMNR 4. Network Proxy Operation This section describes network proxy operation between proxy server and network nodes to support mandatory protocols. Figure 2 shows network proxy operations. When a network host wants to enter sleeping mode in order to save energy, the host exchanges Proxy Solicitation and Advertisement messages with network proxy in network. Proxy may be implemented as a function within a switch or router, or it may be implemented as a separate server. Proxy Solicitation message queries to network, whether network proxy functionality can be supported within the host's network. If there is a network proxy that can provide proxy functionality, it replies to the host by using Proxy Advertisement message. Network proxy supports required functional requirements defined in [PROXZZZY] in order to support proxy operation. After the network proxy discovery procedure, the host sends Sleep Request message to network proxy. The Request message contains the host's state information such as MAC address(es), IP address(es), Jeong Expires August 19, 2014 [Page 6] Internet-Draft Network Proxy February 2014 protocol operations to be delegated to the network proxy, and so on. After receiving the Sleep Confirm message from the network proxy, the host enters sleeping mode. Then the network proxy responds to incoming packets to the sleeping host. By doing so, the host can sleep without processing incoming packets. When the network proxy receives a packet that it cannot process, the proxy sends a Wake-up message to the sleeping host in order to wake it up. During its wake-up process, proxy may buffer additional packets destined to the sleeping hosts. After the sleeping node wakes up, it exchanges the update on the host's state information with the network proxy and communicates with remote hosts. When Sleep Timer expires, the sleeping host wakes up and sends a Wake-up Report message to the network proxy. Then, the network proxy cleans up the state information for the sleeping host and replies with Wake-up confirm message. Note that Figure 2 shows network proxy high level operation and the detailed operations for mandatory and optional protocols specified in [PROXZZZY] are presented in the following sections. Among the mandatory and optional protocols, this document describes operations for IPv4 ARP and DHCPv4. Operations for other protocols will be presented in the revised version of this document. Jeong Expires August 19, 2014 [Page 7] Internet-Draft Network Proxy February 2014 Sleeping Network Remote Host Proxy Host | | | | Proxy Solicitation | | |------------------->| | | Proxy Advertisement| | |<-------------------| | | Full Network Connectivity | |<-------------------------------------->| | Sleep Request | | |------------------->| | | Sleep Confirm | | |<-------------------| | | Exchange State | | | Information | | |<------------------>| | | | | | | Incoming Packets | | | for Sleeping Host | | |<------------------| | | Respond instead of| | | Sleeping Host | | |------------------>| | | | ++|++++++++++++++++++++|+++++++++++++++++++|++ + | |Packet for Sleeping| + + | | Host that Proxy | + Case1 + | | cannot process | + + | Wakeup Packet |<------------------| + + |<-------------------| | + ++|++++++++++++++++++++|+++++++++++++++++++|++ ++|++++++++++++++++++++|+++++++++++++++++++|++ + | Wakeup Report | | + Case2 + |------------------->| | + + | Wakeup Confirm | | + + |<-------------------| | + ++|++++++++++++++++++++|+++++++++++++++++++|++ | Exchange State | | | Information | | |<------------------>| | | Full Network Connectivity | |<-------------------------------------->| | | Figure 2: Network proxy high level operation Jeong Expires August 19, 2014 [Page 8] Internet-Draft Network Proxy February 2014 4.1. ARP Operation Figure 3 depicts network proxy operation for IPv4 ARP. A host performs network proxy and proxy capability discovery procedures by using Proxy Solicitation/Advertisement meesages with Procy Service Option. After the discovery procedure, the host and discovered network proxy perform Sleep Request/Confirm procedure that exchanges the host's MAC address(es) and IP address(es) by using ARP Configuration Option so that the host can enter sleeping mode. Then the network proxy discards ARP Request messages sent from other hosts in the network. By doing so, the host can sleep without receiving or processing ARP broadcast message not destined to the node itself. If the network proxy receives an ARP request message for sleeping host, it sends a reply message on behalf of the sleeping hosts using the host's MAC and IP address. When the network proxy receives a packet that it cannot process, the proxy wakes up the sleeping hosts so that the host can process the incoming packet. Jeong Expires August 19, 2014 [Page 9] Internet-Draft Network Proxy February 2014 Sleeping Network Remote Host Proxy Host | | | |Proxy Solicitation/ | | | Advertisement | | |w/ Proxy Serv. Opt. | | |<------------------>| | | | | | Sleep Request/ | | | Confirm | | | w/ ARP Conf. Opt. | | |<------------------>| | . . . . . . | | ARP Broadcast not | | | for Sleeping Host | | |<------------------| | Discard ARP | | Broadcast | | | | | | ARP Request for | | | Sleeping Host | | |<------------------| | | ARP Reply for | | | Sleeping Host | | |------------------>| . . . . . . Wakeup event | | | | | | Wakeup Report/ | | | Confirm | | |<------------------>| | | | | Figure 3: Network proxy operation for IPv4 ARP 4.2. DHCP Operation Figure 4 depicts network proxy operation for DHCP. After the Sleep Request/Confirm procedure that exchanges the host's DHCP-related parameters, the host enters sleeping mode. When 50% of DHCP Lease Time for the sleeping host expires, the network proxy sends DHCP Request message to the DHCP server and tries to renew the DHCP lease time on behalf of the sleeping host. In case of successful DHCP renewal, the sleeping host can keep sleeping mode. However, in case of DHCP renewal failure as shown in Figure 5, the network proxy initiates wakeup procedure by sending Wakeup packet to the sleeping Jeong Expires August 19, 2014 [Page 10] Internet-Draft Network Proxy February 2014 host. When the sleeping host wakes up, the network proxy delivers the current DHCP state information to the host by using DHCP Notification Option so that the host can perform relevant DHCP operation. Sleeping Network DHCP Host Proxy Server | | | |Proxy Solicitation/ | | | Advertisement | | |w/ Proxy Serv. Opt. | | |<------------------>| | | | | | Sleep Request/ | | | Confirm | | | w/ DHCP Conf. Opt. | | |<------------------>| | . . . . . . | | | | 50% of DHCP Lease time | | for sleeping host expired | | | | | | DHCP Request for | | | Sleeping Host | | |------------------>| | | DHCP Ack | | | Sleeping Host | | |<------------------| . . . . . . Wakeup event | | | | | | Wakeup Report/ | | | Confirm | | | w/ DHCP Noti. Opt. | | |<------------------>| | | | | Figure 4: Network proxy operation for DHCP renewal success Jeong Expires August 19, 2014 [Page 11] Internet-Draft Network Proxy February 2014 Sleeping Network DHCP Host Proxy Server | | | |Proxy Solicitation/ | | | Advertisement | | |w/ Proxy Serv. Opt. | | |<------------------>| | | | | | Sleep Request/ | | | Confirm | | | w/ DHCP Conf. Opt. | | |<------------------>| | . . . . . . | | | | 50% of DHCP Lease time | | for sleeping host expired | | | | | | DHCP Request for | | | Sleeping Host | | |------------------>| | 87.5% of DHCP Lease time | | for sleeping host expired | | | | | | DHCP Request for | | | Sleeping Host | | |------------------>| | Lease time Expired | | or DHCP NACK | | | | | Wakeup Packet | | |<-------------------| | | Wakeup Report/ | | | Confirm | | | w/ DHCP Noti. Opt. | | |<------------------>| | | | | Figure 5: Network proxy operation for DHCP renewal failure 5. Message Formats Figure 6 depicts a new ICMP message for Network Proxy operation. The message is defined as follows. Jeong Expires August 19, 2014 [Page 12] Internet-Draft Network Proxy February 2014 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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transaction ID | Msg. Sub-Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option (variable size) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6: ICMP message for network proxy Type (Network Proxy Request) Code 0 Success 1 Fail Checksum The 16-bit one's complement of the one's complement sum of the ICMP message, starting with the ICMP Type. Message Sub-Type 1 Proxy Solicitation Message 2 Proxy Advertisement Message 3 Sleep Request Message 4 Sleep Confirm Message 5 Wakeup Report Message 6 Wakeup Confirm Message Transaction ID Unique identifier created each time a host starts proxy operation Options Options for Sub-Type messages Figure 7 shows the Option format for Sub-Type messages. The Option format is defined as a TLV format. 0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | Type | Length | Data ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Figure 7: Option format Type Indicates the particular sub-type option. Jeong Expires August 19, 2014 [Page 13] Internet-Draft Network Proxy February 2014 1 Proxy Solicitation Option 2 Proxy Advertisement Option 3 Sleep Request Option 4 Sleep Confirm Option 5 Wake-up Report Option 6 Wake-up Confirm Option Length Indicates the length (in bytes) of the data field within this option. The length does not include the Type and Length bytes. Data The particular data associated with this option. This field may be zero or more bytes in length. The format and length of the data field is determined by the type and length fields. 5.1. Proxy Solicitation Message A host that wants to go into sleeping model sends a Proxy Solicitation message to discover a network proxy in the host's network. Proxy Solicitation message contains Proxy Solication Option shown in Figure 8. It contains 2 bytes Identifier and 2 bytes sequence number. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opt. Type | Length | Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 8: Proxy solicitation option 5.2. Proxy Advertisement Message Proxy Advertisement message is used for notifying the Proxy Server's presence in network and it is periodically broadcasted to networks and unicasted to a network node that sent a Proxy Solicitation message. Proxy Advertisement message it can contatin two options, Proxy Advertisement Option and Proxy Service Option. Figure 9 shows format for Proxy Advertisement Option that contains the address of Proxy Server's IP address(es) and Preference(s). Jeong Expires August 19, 2014 [Page 14] Internet-Draft Network Proxy February 2014 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opt. Type | Length | Num. of Addr |Addr Entry Size| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lifetime | Proxy Address 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Proxy Address 1 | Address Preference 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Preference 1 | Proxy Address 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Proxy Address 2 | Address Preference 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Preference 2 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 9: Proxy advertisement option Figure 10 indicates Proxy Service Option format that contains the list of services and protocols supported by a proxy server. Service Type indicate the mandatory and optional protocols specified in [PROXZZZY] Type Indicates the service types supported by network proxy in this document. 1 IPv4 ARP 2 DHCPv4 3 ... 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opt. Type | Length | Service Type 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | Service Type N | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 10: Proxy service option Jeong Expires August 19, 2014 [Page 15] Internet-Draft Network Proxy February 2014 5.3. Sleep Request Message Sleep Request Message is unicasted to Network Proxy Server and it informs the host's entering to sleep mode. It also includes the host's context information for proxyed sprotocols. Figure 11 shows Sleep Request option header format. Request Option Type indicates the type of service or protocol to be proxyed. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opt. Type | Length | Req. Opt. Type| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 11: Sleep request option header format 5.3.1. IPv4 ARP Configuration Option Figure 12 shows the format of IPv4 ARP Configuration Option included within Sleep Request Option. Hardware Address Type and Protocol Type indicate the hardware address type and the protocol address type of ARP entry sleeping host's ARP table. Hardware Length and Protocol Length indicate the length of hardware address and protocol address of sleeping host. Number of addresses indicates the number of hardware and protocol pairs. Jeong Expires August 19, 2014 [Page 16] Internet-Draft Network Proxy February 2014 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 +-+-+-+-+-+-+-+-+ | H/W Addr. Type| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol Type | H/W Length | Protocol Len. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Number of Address | Sender Hardware Address 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sender Hardware Address 1 | Sender Protocol Address 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sender Protocol Address 1 | Sender Hardware Address 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sender Hardware Address 2 | Sender Protocol Address 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sender Protocol Address 2 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 12: IPv4 ARP configuration option 5.3.2. DHCP Configuration Option Figure 13 shows the format of DHCP Configuration Oprtion included within Sleep Request Option. Total Lease Time and Lease Time Left indicate the total address lease time and remaining address lease time in seconds. DHCP Server IP Address indicates the IPv4 address of DHCP server. 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 +-+-+-+-+-+-+-+-+ | All Zero | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Lease Time | Lease Time Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DHCP Server IP Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 13: DHCP Configuration Option 5.4. Sleep Confirm Message Figure 14 describes the format for Sleep Confirm message that is sent from a Proxy Server to Client as a response of Sleep Request message. Sleep Confirm message contains Sleep Confirm Option. Code indicates Jeong Expires August 19, 2014 [Page 17] Internet-Draft Network Proxy February 2014 the result of Sleep Request operation. 0 indicates success and 1 indicates failure. Client Identifier is a unique ID for identifying Client and will be allocated by Proxy Server. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opt. Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Client Identifier | All zero | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 14: Sleep confirm option 5.5. Wakeup Report Message Figure 15 describes the format for Wakeup Report message that is sent by a client to Proxy Server in order to notify the wakeup event of the client. It is unicasted to the Proxy Server. Client Identifier is the same Identifier assigned by Sleep Confirm message. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opt. Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Client Identifier | All zero | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 15: Wakeup report option 5.6. Wakeup Confirm Message Figure 16 shows the format for Wakeup Confirm message that is unicasted to a Client as a reply of the Client's Wakeup Report message. It contains Wakeup Confirm Option. Code 0 means success and 1 means failure. Client Identifier is the same Identifier assigned by Sleep Confirm message. Jeong Expires August 19, 2014 [Page 18] Internet-Draft Network Proxy February 2014 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opt. Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Client Identifier | Req. Opt. Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 16: Wakeup confirm option 5.6.1. DHCP Notification Option Figure 17 describes the format for DHCP Notification Option included within Wakeup Confirm message. It is sent by a Proxy Server to the waken host in order to notify the DHCP lease time information to the host. It is unicasted to the host. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Total Lease Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lease Time Left | All zero | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 17: DHCP notification option Code 1: DHCP Renewal Success 2: DHCP Renewal Failure 6. Usecases of Network Proxy [TBD] 7. Security Considerations [TBD] 8. IANA Considerations [TBD] Jeong Expires August 19, 2014 [Page 19] Internet-Draft Network Proxy February 2014 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 9.2. Informative References [EEEC] Nordman, B. and K. Christensen, "Improving the Energy Efficiency of Ethernet-Connected: A Proposal for Proxying", Ethernet Alliance , September 2007. [EEE] "802.3az-2010", IEEE std , 2010. [EPC] Barroso, L. and U. Holzle, "The Case for Energy- Proportional Computing", Proc. IEEE International Conference on Network Protocols (ICNP) , December 2007. [GreenSurvey] Bianzino, A., Chaudet, C., Rossi, D., and J. Rougier, "A survey of green networking research", IEEE Communications Surveys Tutorials , 2012. [I-D.cheshire-edns0-owner-option] Cheshire, S. and M. Krochmal, "EDNS0 OWNER Option", draft- cheshire-edns0-owner-option-00 (work in progress), July 2009. [I-D.winter-energy-efficient-internet] Winter, R., Jeong, S., and J. Choi, "Towards an Energy- Efficient Internet", draft-winter-energy-efficient- internet-01 (work in progress), October 2012. [ITU] "Resolution 73 - Information and communication technologies and climate change", October 2008. [NCP] Jimeno, M., Christensen, K., and B. Nordman, "A Network Connection Proxy to Enable Hosts to Sleep and Save Energy", Proc. IEEE Internat. Performance Computing and Communications Conf , 2008. [PROXZZZY] "ProxZZZy for sleeping hosts", ECMA International ECMA-393, June 2012. [RFC6762] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762, February 2013. Jeong Expires August 19, 2014 [Page 20] Internet-Draft Network Proxy February 2014 [RFC6763] Cheshire, S. and M. Krochmal, "DNS-Based Service Discovery", RFC 6763, February 2013. [SKILL] Nedevschi, S., Liu, J., Nordman, B., Ratnasamy, S., and N. Taft, "Skilled in the Art of Being Idle: Reducing Energy Waste in Networked Systems", Proc. USENIX Symposium on Networked Systems Design and Implementation , 2009. Author's Address Sangjin Jeong ETRI 218 Gajeongno, Yuseong Daejeon 305-700 Korea Phone: +82 42 860 1877 Email: sjjeong@etri.re.kr Jeong Expires August 19, 2014 [Page 21]