| < draft-lee-network-stratum-query-problem-01.txt | draft-lee-network-stratum-query-problem-02.txt > | |||
|---|---|---|---|---|
| Network Working Group Young Lee (Huawei) | Network Working Group Young Lee (Huawei) | |||
| Internet Draft Dave McDysan (Verizon) | Internet Draft Dave McDysan (Verizon) | |||
| Intended Status: Informational Ning So (UTD) | Intended Status: Informational Ning So (UTD) | |||
| Greg Bernstein (Grotto) | Greg Bernstein (Grotto) | |||
| Tae Yeon Kim (ETRI) | Tae Yeon Kim (ETRI) | |||
| Kohei Shiomoto (NTT) | Kohei Shiomoto (NTT) | |||
| Oscar Gonzalez de Dios (Telefonica) | Oscar Gonzalez de Dios (Telefonica) | |||
| October 20, 2010 | April 20, 2011 | |||
| Problem Statement for Network Stratum Query | Problem Statement for Network Stratum Query | |||
| draft-lee-network-stratum-query-problem-01.txt | draft-lee-network-stratum-query-problem-02.txt | |||
| Status of this Memo | Status of this Memo | |||
| This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
| Drafts. | Drafts. | |||
| skipping to change at page 2, line 14 ¶ | skipping to change at page 2, line 14 ¶ | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. | to this document. | |||
| Abstract | Abstract | |||
| This document describes the general problem of network stratum query | This document describes the general problem of network stratum query | |||
| for application optimization. Network Stratum query is an ability to | for application optimization. Network Stratum query is an ability to | |||
| query the network from an application controller such as those used | query the network from an application controller such as those used | |||
| in Data Centers so that application controller decisions such as | in Data Centers so that application controller decisions such as | |||
| server assignment or virtual machine instantiation/migration can be | server assignment or virtual machine instantiation/migration could be | |||
| performed with better knowledge of the underlying network conditions. | performed with better knowledge of the underlying network conditions. | |||
| As application servers are distributed geographically across Data | As application servers are distributed geographically across Data | |||
| Centers, many application-related decisions such as which server to | Centers, many application-related decisions such as which server to | |||
| assign a new client or where to instantiate/migrate virtual machines | assign a new client or where to instantiate/migrate virtual machines | |||
| will suffer from sub-optimality unless the underlying network | will suffer from sub-optimality unless the underlying network | |||
| conditions are factored in the decision process. The lack of network | conditions are factored in the decision process. The lack of network | |||
| awareness may result in not meeting the end-user service objective | awareness may result in not meeting the end-user service objective | |||
| for some key applications like video gaming/conferencing that require | for some key applications like video gaming/conferencing that require | |||
| stringent latency and bandwidth requirement. | stringent latency and bandwidth requirement. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction...................................................3 | 1. Introduction......................................... 2 | |||
| 2. Network and Application Contexts...............................4 | 2. Network Contexts..................................... 4 | |||
| 3. Problem Statement..............................................7 | 3. Problem Statement .................................... 7 | |||
| 3.1. Limitation of existing probing schemes....................7 | 4. High-level requirements................................ 9 | |||
| 3.2. Lack of vertical query schemes............................8 | 4.1. Data Center-Network Stratum Communication (NS Query) Error! | |||
| 3.3. Limitation of SNMP MIB network monitoring techniques......8 | Bookmark not defined. | |||
| 3.4. Lack of abstraction mechanisms............................8 | 4.1.1. Application Profile........................... 9 | |||
| 4. High-level requirements........................................9 | 4.1.2. Network Load Data to be queried................ 10 | |||
| 4.1. Application Profile.......................................9 | 4.1.3. Responses to NS Query from network to application. 10 | |||
| 4.2. Network Load Data to be queried..........................10 | 5. Security Considerations............................... 11 | |||
| 4.3. A Whole Network Query capability.........................10 | 6. References......................................... 11 | |||
| 4.4. Data Synchronization Mechanism...........................10 | Author's Addresses..................................... 13 | |||
| 4.5. Responses to NS Query from network to application........11 | Intellectual Property Statement .......................... 13 | |||
| 5. Security Considerations.......................................11 | Disclaimer of Validity.................................. 14 | |||
| 6. IANA Considerations...........................................11 | ||||
| 7. References....................................................12 | ||||
| 7.1. Informative References...................................12 | ||||
| Author's Addresses...............................................13 | ||||
| Intellectual Property Statement..................................13 | ||||
| Disclaimer of Validity...........................................14 | ||||
| 1. Introduction | 1. Introduction | |||
| Cross Stratum Optimization is a joint optimization effort in | Cross Stratum Optimization is a joint optimization effort in | |||
| allocating resources to end-users that involves both the Application | allocating resources to end-users that involves both the Application | |||
| Stratum and Network Stratum. | Stratum and Network Stratum. | |||
| The application stratum is the functional block which manages and | The application stratum is the functional block which manages and | |||
| controls application resources and provides application resources to | controls application resources and provides application resources to | |||
| a variety of clients/end-users. Application resources are non-network | a variety of clients/end-users. Application resources are non-network | |||
| resources critical to achieving the application service | resources critical to achieving the application service | |||
| functionality. Examples include: application specific servers, | functionality. Examples include: application specific servers, | |||
| storage, content, large data sets, and computing power. Data Centers | storage, content, large data sets, and computing power. Data Centers | |||
| are regarded as a tangible realization of the application stratum | are regarded as tangible realization of the application stratum | |||
| architecture. | architecture. | |||
| The network stratum is the functional block which manages and | The network stratum is the functional block which manages and | |||
| controls network resources and provides transport of data between | controls network resources and provides transport of data between | |||
| clients/end-users to and among application resources. Network | clients/end-users to and among application resources. Network | |||
| Resources are resources of layer 3 or below (L1/L2/L3) such as | Resources are resources of any layer 3 or below (L1/L2/L3) such as | |||
| bandwidth, links, paths, path processing (creation, deletion, and | bandwidth, links, paths, path processing (creation, deletion, and | |||
| management), network databases, path computation, admission control, | management), network databases, path computation, admission control, | |||
| and resource reservation capability. | and resource reservation capability. | |||
| Application services by their very nature utilize application | Application services offered by Data Centers by their very nature | |||
| resources (e.g., servers, storage, memory, etc...) in Data Centers, | utilize application resources (e.g., servers, storage, memory, | |||
| and the underlying network resources provided by LANs, MANs, and | etc...) in Data Centers, and the underlying network resources | |||
| carrier's transport networks. By "data center" is any location in the | provided by LANs, MANs, and carrier's transport networks. | |||
| network where applications resources, such as servers or storage, are | ||||
| aggregated. We include in this definition extremely large data | ||||
| centers with 10,000 or more servers, all the way down to small points | ||||
| of presence co-located in network carrier facilities. | ||||
| As the application servers are distributed geographically across many | As the application servers are distributed geographically across many | |||
| Data Centers, decisions such as server assignment or new virtual | Data Centers, decisions such as server assignment or new virtual | |||
| machine instantiation/migration will suffer from sub-optimality | machine instantiation/migration will suffer from sub-optimality | |||
| unless the underlying network conditions are factored in the decision | unless the underlying network conditions are factored in the decision | |||
| process. The lack of network awareness may result in not meeting the | process. The lack of network awareness may result in not meeting the | |||
| end-user service objective for some key applications like video | end-user service objective for some key applications like video | |||
| gaming/conferencing that require stringent latency and bandwidth | gaming/conferencing that require stringent latency and bandwidth | |||
| requirement. | requirement. | |||
| This document describes the general problem of network stratum query | This document describes the general problem of network stratum query | |||
| (NS Query) in Data Center environments. Network Stratum query is an | (NS Query) in Data Center environments. Network Stratum query is an | |||
| ability to query the network from application controllers in Data | ability to query the network from application controller in Data | |||
| Centers so that application server assignment or virtual machine | Centers so that application server assignment or virtual machine | |||
| instantiation/migration decision would be jointly performed based on | instantiation/migration decision would be jointly performed based on | |||
| both the application resource/load status and the network | both the application resource/load status and the network | |||
| resource/load status. | resource/load status. | |||
| The NS query is different from what is called "horizontal network | The NS query is different from typical "horizontal" query | |||
| queries" performed as part of network management. These horizontal | capabilities in the network. The horizontal query in the network is | |||
| queries are carried out by an entity (network management systems) | carried by the head end (i.e., data source) that would "probe" the | |||
| within the network and would have fairly complete access to network | network to test the capabilities for data flows to/from particular | |||
| information. | point in the network. This is a horizontal scheme. | |||
| NS Query can be thought of as a two-stage query that consists of: | NS Query is a two-stage query that consists of two stages: | |||
| . First Stage: A vertical query from an application entity (i.e., | . A vertical query capability where an external point (i.e., the | |||
| the Application Control Gateway (ACG) in Data Center) to an | Application Control Gateway (ACG) in Data Center) will query | |||
| entity representing the network (i.e., the Network Control | the network (i.e., the Network Control Gateway (NCG)); and | |||
| Gateway (NCG))for highly summarized and abstracted network | ||||
| related information; and | ||||
| . Second Stage: Internal "horizontal queries" at the network work | . A horizontal query capability where the NCG to gather the | |||
| layer along with summarization and abstraction of the network | collective information of a variety of horizontal schemes | |||
| information in a form that preserves network confidentiality | (IPPM, IGP, RIB, etc.) implemented in the network stratum. | |||
| and significantly reduces the amount of information that needs | ||||
| to be transferred. The raw information needed to perform this | ||||
| summarization/abstraction is defined in existing and emerging | ||||
| network management standards and protocols (SNMP, Netflow, | ||||
| sFlow, IPPM, IGP, RIB, etc...). | ||||
| NS Query would not necessarily standardize how the above "internal | NS Query does not re-invent the wheel on existing network | |||
| horizontal queries" and summarization would be performed but would | capabilities but tries to reuse them where possible. | |||
| illustrate how such processes can be accomplished via standards, | ||||
| emerging standards or common commercial practices. | ||||
| 2. Network and Application Contexts | 2. Network Contexts | |||
| Figure 1 shows a typical application architecture where an end-user | Figure 1 shows a typical data center architecture where an end-user | |||
| (the point of consuming resource) needs to be connected for its | (the point of consuming resource) needs to be connected for its | |||
| application (e.g., gaming) to a server located in one of the | application (e.g., gaming) to a server located in one of the data | |||
| geographically distributed data centers. | centers geographically spread. | |||
| --------------- | ||||
| ---------- | DC 1 | | ||||
| | End-user |. . . . .>| o o o | | ||||
| | | | \|/ | | ||||
| ---------- | O | | ||||
| | ----- --|------ | ||||
| | | | ||||
| | | | ||||
| | -----------------|----------- | ||||
| | / | \ | ||||
| | / ..........O PE1 \ -------------- | ||||
| | | . | | o o o DC 2 | | ||||
| | | PE4 . PE2 | | \|/ | | ||||
| ----|---O.........................O---|---|---O | | ||||
| | . | | | | ||||
| | . PE3 | -------------- | ||||
| \ ..........O Carrier / | ||||
| \ | Network / | ||||
| ---------------|------------- | ||||
| | | ||||
| --------|------ | ||||
| | O | | ||||
| | /|\ | | ||||
| | o o o | | ||||
| | DC 3 | | ||||
| --------------- | ||||
| ,-----. --------------- | ||||
| ---------- / App \ | DC 1 | | ||||
| | End-user |. . .>( Control ) | o o o | | ||||
| | | \ / | \|/ | | ||||
| ---------- `-----' | O | | ||||
| | ----- --|------ | ||||
| | | | ||||
| | | | ||||
| | --------------------------|-- | ||||
| | / PE1 | \ | ||||
| | / ...................O \ -------------- | ||||
| | | . | | o o o DC 2 | | ||||
| | | PE4 . PE2 | | \|/ | | ||||
| ----|---O.........................O---|---|---O | | ||||
| | . | | | | ||||
| | . PE3 | -------------- | ||||
| \ ..........O Carrier / | ||||
| \ | Network / | ||||
| ---------------|------------- | ||||
| | | ||||
| --------|------ | ||||
| | O | | ||||
| | /|\ | | ||||
| | o o o | | ||||
| | DC 3 | | ||||
| --------------- | ||||
| Figure 1. Data Center Architecture | Figure 1. Data Center Architecture | |||
| Figure 1 shows that the user application can be served by any of the | Figure 1 shows that the user application can be served by any of the | |||
| servers in DC1, DC2 or DC3. When the initial request arrives to the | servers in DC1, DC2 or DC3. When the initial request arrives to the | |||
| application controller, the controller (aka, a global load balancer) | proxy server in DC1, the proxy server (aka, the load balancer) would | |||
| would ideally assign an "optimal" server based on both server | ideally assign an "optimal" server based on both server resource/load | |||
| resource/load status and the network resources/load status. This | status and the network resources/load status. This server assignment | |||
| server assignment decision today, however, is limited due to the lack | decision today, however, is limited due to the lack of network | |||
| of network awareness in this decision making process in the | awareness in this decision making process in the application. | |||
| application. | ||||
| For example, the application controller needs to find a good server | For example, the server close to the user in Data Center 1 may find a | |||
| that can serve the client. Assume that this particular application | good server that can serve the application. Assume that this | |||
| requires x amount of minimum bandwidth guarantee and with less than y | particular application requires x amount of minimum bandwidth | |||
| ms of latency limit. The route that serves Data Center 1 traffic to | guarantee and with less than y ms of latency limit. The route that | |||
| the end-user (PE1 - PE4) may not have enough capacity at a moment of | serves Data Center 1 traffic to the end-user (PE1 - PE4) may not have | |||
| service instantiation and therefore the service objective of the end- | enough capacity at a moment of service instantiation and therefore | |||
| user may not be satisfied had such route been taken. | the service objective of the end-user may not be satisfied had such | |||
| route been taken. | ||||
| On the other hand, there may be good servers available in Data | On the other hand, there may be good servers available in Data | |||
| Centers 2 and 3 and their routes (PE2-PE4 and PE3-PE4) may have | Centers 2 and 3 and their routes (PE2-PE4 and PE3-PE4) may have | |||
| enough capacity to meet the service requirement. | enough capacity to meet the service requirement. | |||
| This example illustrates the benefit of and the need for the joint | This example illustrates the benefit of and the need for the joint | |||
| optimization across the application and network strata. NS Query is | optimization across the application and network strata. NS Query is | |||
| the ability to query the network from an application controller to | the ability to query the network from an application to collect a | |||
| collect a certain level of network information. No such mechanisms | certain level of network information. No such mechanisms exist in the | |||
| exist in the today's Internet Protocol technologies. | today's Internet Protocol technologies. | |||
| Figure 2 shows the context of NS Query in a more detail within the | Figure 2 shows the context of NS Query in a more detail within the | |||
| overarching data center architecture shown in Figure 1. | overarching data center architecture shown in Figure 1. | |||
| +--------------------------------------------+ | -------------------------------------------- | |||
| | +-------------+ | | | Application Overlay | | |||
| | | Application | | | | (Data Centers) | | |||
| | | Controller | Application Overlay | | | | | |||
| | +------|------+ (Data Centers) | | ---------- | -------------- -------------- | | |||
| | | | | ||||
| ---------- | ------|------- -------------- | | ||||
| | End-User | | | Application |. . . .| Application | | | | End-User | | | Application |. . . .| Application | | | |||
| | |. . . >| | Control | | Processes | | | | |. . . >| | Control | | Processes | | | |||
| ---------- | | Gateway (ACG)| -------------- | | ---------- | | Gateway (ACG)| -------------- | | |||
| | | | -------------- | | | | | -------------- | | |||
| | ------------- . . . . | Application | | | | ------------- . . . . | Application | | | |||
| | /\ | Related Data | | | | /\ | Related Data | | | |||
| | || -------------- | | | || -------------- | | |||
| ----------||-------------------------------- | ----------||-------------------------------- | |||
| || | || | |||
| || Network Stratum Query (First Stage) | || Network Stratum Query (First Stage) | |||
| || | || | |||
| +----------||--------------------------------+ | ----------||-------------------------------- | |||
| | \/ Network Underlay | | | \/ Network Underlay | | |||
| | | | | | | |||
| | -------------- ---------------- | | | -------------- ---------------- | | |||
| | | Network |. . . | Network | | | | | Network |. . . | Network | | | |||
| | | Control | | Processes | | | | | Control | | Processes | | | |||
| | | Gateway (NCG)| ---------------- | | | | Gateway (NCG)| ---------------- | |||
| | | | ---------------- | | | | | ---------------- | | |||
| | ------------- | Network | | | | ------------- | Network | | | |||
| | |------------->| Related Data | | | | |------------->| Related Data | | | |||
| | (Second Stage) ---------------- | | | (Second Stage) ---------------- | | |||
| +--------------------------------------------+ | ------------------------------------------- | |||
| Figure 2. NS Query Architecture | Figure 2. NS Query Architecture | |||
| Figure 2 shows key architectural components that enable NS Query | Figure 2 shows key architectural components that enable NS Query | |||
| capability. The application controller, e.g., global load balancer, | capability. The Application Control Gateway (ACG) is the proxy | |||
| utilizes the Application Control Gateway (ACG) to interface with the | gateway that interfaces with network and generate queries to network. | |||
| network and generate queries to network. The ACG can query various | The ACG can query various metric values that may contribute to | |||
| metric values that may contribute to meeting the overall service | meeting the overall service objective of an application. This is a | |||
| objective of an application. This is a vertical query (Stage 1). | vertical query (Stage 1). | |||
| In the network stratum, the Network Control Gateway (NCG) serves the | In the network stratum, the Network Control Gateway (NCG) serves as | |||
| interface to the network stratum. The NCG receives the query request | the proxy gateway to the network. The NCG receives the query request | |||
| from the ACG, makes use of current and/or historical network | from the ACG, probes the network to test the capabilities for data | |||
| information (IPPM, IGP, MIB, TED, etc...), abstracts and summaries | flow to/from particular point in the network, and gather the | |||
| this information implemented in the network stratum. This is the | collective information of a variety of horizontal schemes (IPPM, | |||
| horizontal query and summarization stage (Stage 2). | IGP, MIB, TED, etc.) implemented in the network stratum. This is a | |||
| horizontal query (Stage 2). | ||||
| Further, the NCG provides the responses to the original query sent | Further, the NCG provides the responses to the original query sent | |||
| from the ACG. The data collected by the NCG needs to be abstracted. | from the ACG. The data collected by the NCG needs to be abstracted. | |||
| This abstraction is needed on two grounds. | This abstraction is needed on two grounds. | |||
| First, the network does not usually reveal its details to the | First, the network does not usually reveal its details to the | |||
| outside entity. Although the Data Center providers and the carriers | outside entity. Although the Data Center providers and the carriers | |||
| are business partners in providing application services to the end- | are business partners in providing application services to the end- | |||
| users and to the application providers (e.g., gaming providers), | users and to the application providers (e.g., gaming providers), | |||
| detail network data may not be leaked to the Data Centers, and vice | detail network data may not be leaked to the Data Centers, and vice | |||
| skipping to change at page 7, line 36 ¶ | skipping to change at page 7, line 25 ¶ | |||
| Secondly, detail network data may not be understood by the | Secondly, detail network data may not be understood by the | |||
| application. Link or node level data in and of themselves may not | application. Link or node level data in and of themselves may not | |||
| help the application to process the detail data. For instance, | help the application to process the detail data. For instance, | |||
| latency or bandwidth on a link level is too detail for application | latency or bandwidth on a link level is too detail for application | |||
| to handle. Instead, latency or bandwidth on a route level (i.e., PE1 | to handle. Instead, latency or bandwidth on a route level (i.e., PE1 | |||
| - PE4 in Figure 1) will help the application make its server | - PE4 in Figure 1) will help the application make its server | |||
| selection/instantiation decision. | selection/instantiation decision. | |||
| The abstraction function needs to be provided by the NCG. Note that | The abstraction function needs to be provided by the NCG. Note that | |||
| NCG plays gate keeper role to information concerning the network. a | NCG plays a head end role within the network probing/collecting | |||
| Within the network the NCG collects and or probes network | network performance/management data (e.g., IPPM, MIB, etc.) or | |||
| performance/management data (e.g., IPPM, MIB, etc.) or routing data | routing data [MRT] (e.g., LSDB, TED, BGP-RIB, etc.) and others. Once | |||
| [MRT] (e.g., LSDB, TED, BGP-RIB, etc.) and others. Once the basic | the basic data is collected, the NCG will need to abstract/summary | |||
| data is collected, the NCG will need to abstract/summary before it | before it sends to the application. | |||
| sends to the application. | ||||
| 3. Problem Statement | 3. Problem Statement | |||
| 3.1. Limitation of existing probing schemes | 3.1. Limitation of existing probing schemes | |||
| The current state-of-the art application network awareness schemes | The current state-of-the art probing schemes from an external point | |||
| for an entity external to the network are based on ping, trace route, | are based on ping or trace route like mechanisms based on the | |||
| or vendor specific probing mechanisms based on the assumption that | assumption that the underlying transport network is L3 network and | |||
| the underlying transport network is L3 network and that the routing | that the routing is simple IP forwarding. | |||
| is simple IP forwarding. | ||||
| In reality, the carrier's routing schemes are likely to include IP | In reality, the carrier's routing schemes are likely to include IP | |||
| tunneling or MPLS tunneling on top of or in place of IP forwarding. | tunneling or MPLS tunneling on top of or in place of IP forwarding. | |||
| In some cases, the actual network may be VPN, MPLS-TE or GMPLS-TE | In some cases, the actual network may be VPN, MPLS-TE or GMPLS-TE | |||
| networks where trace route does not work. | networks where trace route does not work. | |||
| This implies that network status estimation technique made from | This implies that network status estimation technique made from | |||
| application stratum may have limited accuracy. Thus, application | application stratum cannot be accurate. Thus, application resource | |||
| resource allocation to end-users can suffer sub-optimality and fail | allocation to end-users can suffer sub-optimality and fail to meet | |||
| to meet performance objective for the application. | performance objective for the application. | |||
| 3.2. Lack of vertical query schemes | 3.2. Lack of vertical query schemes | |||
| Currently, the query in the network is carried by the head end (i.e., | ||||
| data source) that would "probe" the network to test the capabilities | ||||
| for data flows to/from particular point in the network. This is a | ||||
| horizontal scheme. | ||||
| There is no standard "vertical" query scheme that allows an | There is no standard "vertical" query scheme that allows an | |||
| application control gateway in a Data Center to query network stratum | application control gateway in Data Center to query network stratum | |||
| in a way suitable for a third party (i.e. an entity "outside" the | in a way suitable for a third party (i.e. an entity "outside" the | |||
| network). | network). | |||
| Due to the lack of standard vertical query scheme, there is a | Due to the lack of standard vertical query scheme, there is a | |||
| limitation on exchanging information between application and network | limitation on exchanging information between application and network | |||
| that would increase efficiency of joint optimization across | that would increase efficiency of joint optimization across | |||
| application to network. For instance, the ability to exchange the | application to network. For instance, the ability to exchange the | |||
| application profile information (defined in Section 4.1) or network | application profile information (defined in Section 4.1) or network | |||
| capability information between application and network would increase | capability information between application and network would increase | |||
| efficiency of resource allocation across application to network. | efficiency of resource allocation across application to network. | |||
| 3.3. Limitation of SNMP MIB network monitoring techniques | 3.3. Limitation of SNMP MIB network monitoring techniques | |||
| SNMP MIB Network Monitoring lacks a whole network query capability. A | SNMP MIB monitoring techniques as defined in [RFC2261] and [RFC2265] | |||
| whole network query is a query to gather information across many | do not provide mechanisms to guarantee synchronization of the data | |||
| boxes simultaneously under the control of a single administration | collection. This higher level of synchronization is necessary to | |||
| domain (AD) as defined in RFC 1136. A single AD means the single AS | service: a) application with stringent QoS and Bandwidth, or to b) | |||
| or multiple ASes under the control of a single AD. | better schedule massive quantities of small data flows. | |||
| In addition, SNMP MIB Network Monitoring lacks a whole network query | ||||
| capability. A whole network query is a query to gather information | ||||
| across many boxes simultaneously under the control of a single | ||||
| administration domain (AD) as defined in RFC 1136. A single AD means | ||||
| the single AS or multiple ASes under the control of a single AD. | ||||
| 3.4. Lack of abstraction mechanisms | 3.4. Lack of abstraction mechanisms | |||
| Most of the information needed to provide NS Query is currently | Most of the information needed to provide NS Query is currently | |||
| available from the network; however, it is not aggregated into a form | available from the network; however, it is not aggregated into a form | |||
| suitable for use by the application stratum. For example from | suitable for use by the application stratum. For example from | |||
| commonly monitored SNMP based link statistics and current routing | commonly monitored SNMP based link statistics and current routing | |||
| tables one can easily compute average available bandwidth and many | tables one can easily compute average available bandwidth and many | |||
| other statistical performance measures such as packet loss, latency, | other statistical performance measures such as packet loss, latency, | |||
| etc. | etc. | |||
| However, neither the raw SNMP nor routing table data should be | However, neither the raw SNMP nor routing table data should be | |||
| delivered to the application stratum since (a) this reveals too much | delivered to the application stratum since (a) this reveals too much | |||
| information concerning the carriers network, (b) presents too much | information concerning the carriers network, (b) presents too much | |||
| information to transfer to each application. This warrants some work | information to transfer to each application. This warrants some works | |||
| on abstraction from network side to preserve the privacy of network | on abstraction from network side to preserve the privacy of network | |||
| stratum details from the application stratum. | stratum details from the application stratum. | |||
| 4. High-level requirements | 4. High-level requirements | |||
| This section discusses high-level requirements to support NS Query in | This section discusses high-level requirements to support NS Query in | |||
| the Data Center environments. | the Data Center environments. | |||
| The ACG plays the key role functioning as an application gateway to | The ACG plays the key role functioning as an application gateway to | |||
| network and runs the NS Query. The ACG has access to the end-user | network and runs the NS Query. The ACG has access to the end-user | |||
| profile for the application and the candidate servers' locations | profile for the application and the candidate servers' locations | |||
| locally and remotely located. How the ACG access these information is | locally and remotely located. How the ACG access these information is | |||
| beyond the scope of this work. | beyond the scope of this work. | |||
| 4.1. Application Profile | 4.1. Application Profile | |||
| The application Stratum needs to provide the application profile to | The application Stratum needs to provide the application profile to | |||
| network as part of a query. | network. | |||
| Example service profile information that can be useful to network to | Example service profile information that can be useful to network to | |||
| understand is as follows: | understand is as follows: | |||
| . End user IP address; | . End user IP address; | |||
| . User access router IP address; | . User access router IP address; | |||
| . Authentication Profile: Authentication Key; | . Authentication Profile: Authentication Key; | |||
| skipping to change at page 10, line 5 ¶ | skipping to change at page 10, line 5 ¶ | |||
| . Connectivity Profile: P-P, P-MP, Anycast (Multi-destination); | . Connectivity Profile: P-P, P-MP, Anycast (Multi-destination); | |||
| . Directionality of the connectivity: unidirectional, bi- | . Directionality of the connectivity: unidirectional, bi- | |||
| directional; | directional; | |||
| . Path Estimation Objective Function: Min latency, etc. | . Path Estimation Objective Function: Min latency, etc. | |||
| Additional profile information can be added depending on the network | Additional profile information can be added depending on the network | |||
| capability. | capability. | |||
| 4.2. Network Load Data to be queried | 4.2. Network Load Data to be queried (First Satge) | |||
| For a given location mapping information (i.e., from the server | For a given location mapping information (i.e., from the server | |||
| location to end-user location), the query from an application can ask | location to end-user location), the query from an application can ask | |||
| the following network load data: | the following network load data: | |||
| . Type of networks and the technical capabilities of the networks; | . Type of networks and the technical capabilities of the networks; | |||
| . Bandwidth capabilities and availability; | . Bandwidth capabilities and availability; | |||
| . latency; | . latency; | |||
| . jitter; | . jitter; | |||
| . packet loss; | . packet loss; | |||
| skipping to change at page 10, line 27 ¶ | skipping to change at page 10, line 27 ¶ | |||
| section 5 of [ITU-T Y.1541]. | section 5 of [ITU-T Y.1541]. | |||
| Note that this can be asked in a different way. For example, the | Note that this can be asked in a different way. For example, the | |||
| query can simply ask: | query can simply ask: | |||
| . Can you give me a route with x amount of b/w (from server to | . Can you give me a route with x amount of b/w (from server to | |||
| end-user) within y ms of latency? | end-user) within y ms of latency? | |||
| . Can you give me a route with x amount of b/w (from server to | . Can you give me a route with x amount of b/w (from server to | |||
| end-user) with no packet loss? | end-user) with no packet loss? | |||
| 4.3. A Whole Network Query capability | 4.3. A Whole Network Query capability (Second Stage) | |||
| Upon the request from application (specifically, the ACG in Figure | Upon the request from application (specifically, the ACG in Figure | |||
| 2), the network (specifically the NCG in Figure 2) should perform "a | 2), the network (specifically the NCG in Figure 2) should perform "a | |||
| whole network query" of information. | whole network query" of information. | |||
| A whole network query is a query to gather information across many | A whole network query is a query to gather information across many | |||
| boxes simultaneously under the control of a single administration | boxes simultaneously under the control of a single administration | |||
| domain (AD) as defined in RFC 1136. A single AD means the single AS | domain (AD) as defined in RFC 1136. A single AD means the single AS | |||
| or multiple ASes under the control of a single AD. | or multiple ASes under the control of a single AD. | |||
| The scope of a whole network query can include the topology of the | The scope of a whole network query can include the topology of the | |||
| network, the bandwidth availability for the routes of interest, the | network, the bandwidth availability for the routes of interest, the | |||
| capabilities and congestion of links and routes, and an indication of | capabilities and congestion of links and routes, and an indication of | |||
| the contribution to delay and jitter that each link and route will | the contribution to delay and jitter that each link and route will | |||
| contribute and so on. | contribute and so on. | |||
| 4.4. Data Synchronization Mechanism | 4.4. Data Synchronization Mechanism | |||
| When querying the network there are two general categories of | The ability to capture the data at the same instant should be | |||
| information that are of interest (a) current data, and (b) historical | provided. | |||
| data. Current data information tells us information about the current | ||||
| state of the network, this data represent current network "state" and | ||||
| over time is subject to change. Application servers would use | ||||
| abstracted versions of this information to make decisions regarding | ||||
| current application activities. | ||||
| Historical data can be used by the application controller to schedule | ||||
| application events at future times. Such historical data must be time | ||||
| stamped so that inferences can be drawn from the data. For example, | ||||
| consider the backup and synchronization of large application | ||||
| databases between two data centers. Not only would we like to know | ||||
| how much bandwidth is available, and importantly when is the best | ||||
| time to perform such synchronization (given there is flexibility on | ||||
| when to perform the backup). | ||||
| 4.5. Responses to NS Query from network to application | 4.5. Responses to NS Query from network to application | |||
| Given the network query from application, the network should provide | Given the network query from application, the network should provide | |||
| the following mechanisms: | the following mechanisms: | |||
| - For a given location mapping information from application (i.e., | - For a given location mapping information from application (i.e., | |||
| from the server location to end-user location) and the gathered | from the server location to end-user location) and the gathered | |||
| information by the second stage query discussed in section 4.3., | information by the second stage query discussed in section 4.3., | |||
| the network needs to present the requested information in a | the network needs to present the requested information in a | |||
| skipping to change at page 12, line 16 ¶ | skipping to change at page 11, line 39 ¶ | |||
| 7.1. Informative References | 7.1. Informative References | |||
| [RFC2261] D. Harrington, et al., "An Architecture for Describing SNMP | [RFC2261] D. Harrington, et al., "An Architecture for Describing SNMP | |||
| Management Frameworks," January, 1998. | Management Frameworks," January, 1998. | |||
| [RFC2265] B. Wijnen, et al., "View-based Access Control Model (VACM) | [RFC2265] B. Wijnen, et al., "View-based Access Control Model (VACM) | |||
| for the Simple Network Management Protocol (SNMP)," | for the Simple Network Management Protocol (SNMP)," | |||
| January, 1998. | January, 1998. | |||
| [Y.1541] Network performance objectives for IP-based services, | ||||
| February, 2002. | ||||
| [Y.2011] General principles and general reference model for Next | [Y.2011] General principles and general reference model for Next | |||
| Generation Networks, October, 2004. | Generation Networks, October, 2004. | |||
| [Y.2012] Functional Requirements and architecture of the NGN, April, | [Y.2012] Functional Requirements and architecture of the NGN, April, | |||
| 2010. | 2010. | |||
| [MRT] L. Blunk, M. Karir, and C. Labovitz, "MRT routing | [MRT] L. Blunk, M. Karir, and C. Labovitz, "MRT routing | |||
| information export format," draft-ietf-grow-mrt, work in | information export format," draft-ietf-grow-mrt, work in | |||
| progress. | progress. | |||
| End of changes. 40 change blocks. | ||||
| 169 lines changed or deleted | 142 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||