Internet DRAFT - draft-jeong-eman-network-proxy-protocol
draft-jeong-eman-network-proxy-protocol
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 <TBD> (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]