1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893
  
     | 
    
      <pre>Network Working Group                                          A. Barbir
Request for Comments: 3914                               Nortel Networks
Category: Informational                                      A. Rousskov
                                                 The Measurement Factory
                                                            October 2004
           <span class="h1">Open Pluggable Edge Services (OPES) Treatment of</span>
                           <span class="h1">IAB Considerations</span>
Status of this Memo
   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.
Copyright Notice
   Copyright (C) The Internet Society (2004).
Abstract
   IETF Internet Architecture Board (IAB) expressed nine architecture-
   level considerations for the Open Pluggable Edge Services (OPES)
   framework.  This document describes how OPES addresses those
   considerations.
<span class="grey">Babir & Rousskov             Informational                      [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
Table of Contents
   <a href="#section-1">1</a>.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  <a href="#page-2">2</a>
   <a href="#section-2">2</a>.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  <a href="#page-3">3</a>
   <a href="#section-3">3</a>.  Consideration (2.1) 'One-party consent'  . . . . . . . . . . .  <a href="#page-3">3</a>
   <a href="#section-4">4</a>.  Consideration (2.2) 'IP-layer communications'  . . . . . . . .  <a href="#page-4">4</a>
   <a href="#section-5">5</a>.  Notification Considerations  . . . . . . . . . . . . . . . . .  <a href="#page-5">5</a>
       <a href="#section-5.1">5.1</a>.  Notification versus trace. . . . . . . . . . . . . . . .  <a href="#page-6">6</a>
       <a href="#section-5.2">5.2</a>.  An example of an OPES trace for HTTP . . . . . . . . . .  <a href="#page-8">8</a>
       <a href="#section-5.3">5.3</a>.  Consideration (3.1) 'Notification' . . . . . . . . . . .  <a href="#page-9">9</a>
       <a href="#section-5.4">5.4</a>.  Consideration (3.2) 'Notification' . . . . . . . . . . . <a href="#page-10">10</a>
   <a href="#section-6">6</a>.  Consideration (3.3) 'Non-blocking' . . . . . . . . . . . . . . <a href="#page-10">10</a>
   <a href="#section-7">7</a>.  Consideration (4.1) 'URI resolution' . . . . . . . . . . . . . <a href="#page-11">11</a>
   <a href="#section-8">8</a>.  Consideration (4.2) 'Reference validity' . . . . . . . . . . . <a href="#page-11">11</a>
   <a href="#section-9">9</a>.  Consideration (4.3) 'Addressing extensions'  . . . . . . . . . <a href="#page-12">12</a>
   <a href="#section-10">10</a>. Consideration (5.1) 'Privacy'  . . . . . . . . . . . . . . . . <a href="#page-12">12</a>
   <a href="#section-11">11</a>. Consideration 'Encryption' . . . . . . . . . . . . . . . . . . <a href="#page-12">12</a>
   <a href="#section-12">12</a>. Security Considerations  . . . . . . . . . . . . . . . . . . . <a href="#page-13">13</a>
   <a href="#section-13">13</a>. Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-13">13</a>
   <a href="#section-14">14</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-14">14</a>
       <a href="#section-14.1">14.1</a>. Normative References . . . . . . . . . . . . . . . . . . <a href="#page-14">14</a>
       <a href="#section-14.2">14.2</a>. Informative References . . . . . . . . . . . . . . . . . <a href="#page-14">14</a>
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
   Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . <a href="#page-16">16</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>.  Introduction</span>
   The Open Pluggable Edge Services (OPES) architecture [<a href="./rfc3835" title=""An Architecture for Open Pluggable Edge Services (OPES)"">RFC3835</a>],
   enables cooperative application services (OPES services) between a
   data provider, a data consumer, and zero or more OPES processors.
   The application services under consideration analyze and possibly
   transform application-level messages exchanged between the data
   provider and the data consumer.
   In the process of chartering OPES, the IAB made recommendations on
   issues that OPES solutions should be required to address.  These
   recommendations were formulated in the form of a specific IAB
   considerations document [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].  In that document, IAB emphasized
   that its considerations did not recommend specific solutions and did
   not mandate specific functional requirements.  Addressing an IAB
   consideration may involve showing appropriate protocol mechanisms or
   demonstrating that the issue does not apply.  Addressing a
   consideration does not necessarily mean supporting technology implied
   by the consideration wording.
<span class="grey">Babir & Rousskov             Informational                      [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   The primary goal of this document is to show that all formal IAB
   recommendations are addressed by OPES, to the extent that those
   considerations can be addressed by an IETF working group.  The
   limitations of OPES working group to address certain aspects of IAB
   considerations are also explicitly documented.
   IAB considerations document [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>] contains many informal
   recommendations.  For example, while the IAB informally requires OPES
   architecture to "protect end-to-end data integrity by supporting
   end-host detection and response to inappropriate behavior by OPES
   intermediaries", the IAB has chosen to formalize these requirements
   via a set of more specific recommendations, such as Notification
   considerations addressed in <a href="#section-5.3">Section 5.3</a> and <a href="#section-5.4">Section 5.4</a> below.  OPES
   framework addresses informal IAB recommendations by addressing
   corresponding formal considerations.
   There are nine formal IAB considerations [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>] that OPES has to
   address.  In the core of this document are the corresponding nine
   "Consideration" sections.  For each IAB consideration, its section
   contains general discussion as well as references to specific OPES
   mechanisms relevant to the consideration.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>.  Terminology</span>
   This document does not introduce any new terminology but uses
   terminology from other OPES documents.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>.  Consideration (2.1) 'One-party consent'</span>
   "An OPES framework standardized in the IETF must require that the use
   of any OPES service be explicitly authorized by one of the
   application-layer end-hosts (that is, either the content provider or
   the client)." [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>]
   OPES architecture requires that "OPES processors MUST be consented to
   by either the data consumer or data provider application" [<a href="./rfc3835" title=""An Architecture for Open Pluggable Edge Services (OPES)"">RFC3835</a>].
   While this requirement directly satisfies IAB concern, no requirement
   alone can prevent consent-less introduction of OPES processors.  In
   other words, OPES framework requires one-party consent but cannot
   guarantee it in the presence of incompliant OPES entities.
   In [<a href="./rfc3897" title=""Open Pluggable Edge Services (OPES) Entities and End Points Communication"">RFC3897</a>], the OPES architecture enables concerned parties to
   detect unwanted OPES processors by examining OPES traces.  While the
   use of traces in OPES is mandatory, a tracing mechanism on its own
   cannot detect processors that are in violation of OPES
   specifications.  Examples include OPES processors operating in
   stealth mode.  However, the OPES architecture allows the use of
   content signature to verify the authenticity of performed
<span class="grey">Babir & Rousskov             Informational                      [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   adaptations.  Content signatures is a strong but expensive mechanism
   that can detect any modifications of signed content provided that the
   content provider is willing to sign the data and that the client is
   willing to either check the signature or relay received content to
   the content provider for signature verification.
   OPES entities may copy or otherwise access content without modifying
   it.  Such access cannot be detected using content signatures.  Thus,
   "passive" OPES entities can operate on signed content without the
   data consumer or provider consent.  If content privacy is a concern,
   then content encryption can be used.  A passive processor is no
   different from any intermediary operating outside of OPES framework.
   No OPES mechanism (existing or foreseeable) can prevent non-modifying
   access to content.
   In summary, the one-party consent is satisfied by including the
   corresponding requirement in the IAB architecture document.  That
   requirement alone cannot stop incompliant OPES entities to perform
   consent-less adaptations, but OPES framework allows for various means
   of detecting and/or preventing such adaptations.  These means
   typically introduce overheads and require some level of producer-
   consumer cooperation.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>.  Consideration (2.2) 'IP-layer communications'</span>
   "For an OPES framework standardized in the IETF, the OPES
   intermediary must be explicitly addressed at the IP layer by the end
   user" [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
   The OPES architecture requires that "OPES processors MUST be
   addressable at the IP layer by the end user (data consumer
   application)" [<a href="./rfc3835" title=""An Architecture for Open Pluggable Edge Services (OPES)"">RFC3835</a>].  The IAB and the architecture documents
   mention an important exception: addressing the first OPES processor
   in a chain of processors is sufficient.  That is, a chain of OPES
   processors is viewed as a single OPES "system" at the address of the
   first chain element.
   The notion of a chain is not strictly defined by IAB.  For the
   purpose of addressing this consideration, a group of OPES processors
   working on a given application transaction is considered.  Such a
   group would necessarily form a single processing chain, with a single
   "exit" OPES processor (i.e., the processor that adapted the given
   message last).  The OPES architecture essentially requires that last
   OPES processor to be explicitly addressable at the IP layer by the
   data consumer application.  The chain formation, including its exit
   point may depend on an application message and other dynamic factors
   such as time of the day or system load.
<span class="grey">Babir & Rousskov             Informational                      [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   Furthermore, if OPES processing is an internal processing step at a
   data consumer or a data provider application side, then the last OPES
   processor may reside in a private address space and may not be
   explicitly addressable from the outside.  In such situations, the
   processing side must designate an addressable point on the same
   processing chain.  That designated point may not be, strictly
   speaking, an OPES processor, but it will suffice as such as far as
   IAB considerations are concerned -- the data consumer application
   will be able to address it explicitly at the IP layer and it will
   represent the OPES processing chain to the outside world.
   Designating an addressable processing point avoids the conflict
   between narrow interpretation of the IAB consideration and real
   system designs.  It is irrational to expect a content provider to
   provide access to internal hosts participating in content generation,
   whether OPES processors are involved or not.  Moreover, providing
   such access would serve little practical purpose because internal
   OPES processors are not likely to be able to answer any data consumer
   queries, being completely out of content generation context.  For
   example, an OPES processor adding customer-specific information to
   XML pages may not understand or be aware of any final HTML content
   that the data consumer application receives and may not be able to
   map end user request to any internal user identification.  Since OPES
   requires the end of the message processing chain to be addressable,
   the conflict does not exist.  OPES places no requirements on the
   internal architecture of data producer systems while requiring the
   entire OPES-related content production "system" to be addressable at
   the IP layer.
   Private Domain    | Public Domain     | Private Domain
                     |                   |
   +--------------+  |             +-------------+      +--------+
   | Data         |  |             | OPES System |      |Data    |
   | Consumer     |<--- network -->| with public |<---->|Provider|
   | Application  |  |             | IP address  |      |App     |
   +--------------+  |             +-------------+      +--------+
                     |                   |
                     |                   |
                                Figure 1
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>.  Notification Considerations</span>
   This section discusses how OPES framework addresses IAB Notification
   considerations 3.1 and 3.2.
<span class="grey">Babir & Rousskov             Informational                      [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>.  Notification versus trace</span>
   Before specific considerations are discussed, the relationship
   between IAB notifications and OPES tracing has to be explained.  OPES
   framework concentrates on tracing rather than notification.  The OPES
   Communications specification [<a href="./rfc3897" title=""Open Pluggable Edge Services (OPES) Entities and End Points Communication"">RFC3897</a>] defines "OPES trace" as
   application message information about OPES entities that adapted the
   message.  Thus, OPES trace follows the application message it traces.
   The trace is for the recipient of the application message.  Traces
   are implemented as extensions of application protocols being adapted
   and traced.
   As opposed to an OPES trace, provider notification (as implied by
   IAB) notifies the sender of the application message rather than the
   recipient.  Thus, notifications propagate in the opposite direction
   of traces.  Supporting notifications directly would require a new
   protocol.  Figure 2 illustrates the differences between a trace and
   notification from a single application message point of view.
   sender --[message A]--> OPES --[message A']--> recipient
      ^                       V                             [with trace]
      |                       |
      +-<-- [notification] ---+
                                Figure 2
   Since notifications cannot be piggy-backed to application messages,
   they create new messages and may double the number of messages the
   sender has to process.  The number of messages that need to be
   proceed is larger if several intermediaries on the message path
   generate notifications.  Associating notifications with application
   messages may require duplicating application message information in
   notifications and may require maintaining a sender state until
   notification is received.  These actions increase the performance
   overhead of notifications.
   The level of available details in notifications versus provider
   interest in supporting notification is another concern.  Experience
   shows that content providers often require very detailed information
   about user actions to be interested in notifications at all.  For
   example, Hit Metering protocol [<a href="./rfc2227" title=""Simple Hit-Metering and Usage-Limiting for HTTP"">RFC2227</a>] has been designed to supply
   content providers with proxy cache hit counts, in an effort to reduce
   cache busting behavior which was caused by content providers desire
   to get accurate site "access counts".  However, the Hit Metering
   protocol is currently not widely deployed because the protocol does
   not supply content providers with information such as client IP
   addresses, browser versions, or cookies.
<span class="grey">Babir & Rousskov             Informational                      [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   Hit Metering experience is relevant because Hit Metering protocol was
   designed to do for HTTP caching intermediaries what OPES
   notifications are meant to do for OPES intermediaries.  Performance
   requirements call for state reduction via aggregation of
   notifications while provider preferences call for state preservation
   or duplication.  Achieving the right balance when two sides belong to
   different organizations and have different optimization priorities
   may be impossible.
   Thus, instead of explicitly supporting notifications at the protocol
   level, OPES concentrates on tracing facilities.  In essence, OPES
   supports notifications indirectly, using tracing facilities.  In
   other words, the IAB choice of "Notification" label is interpreted as
   "Notification assistance" (i.e., making notifications meaningful) and
   is not interpreted as a "Notification protocol".
   The above concerns call for making notification optional.  The OPES
   architecture allows for an efficient and meaningful notification
   protocol to be implemented in certain OPES environments.  For
   example, an OPES callout server attached to a gateway or firewall may
   scan outgoing traffic for signs of worm or virus activity and notify
   a local Intrusion Detection System (IDS) of potentially compromised
   hosts (e.g., servers or client PCs) inside the network.  Such
   notifications may use OPES tracing information to pinpoint the
   infected host (which could be another OPES entity).  In this example,
   notifications are essentially sent back to the content producer (the
   local network) and use OPES tracing to supply details.
   Another environment where efficient and meaningful notification using
   OPES tracing is possible are Content Delivery Networks (CDNs).  A CDN
   node may use multiple content adaptation services to customize
   generic content supplied by the content producer (a web site).  For
   example, a callout service may insert advertisements for client-local
   events.  The CDN node itself may not understand specifics of the ad
   insertion algorithm implemented at callout servers.  However, the
   node may use information in the OPES trace (e.g., coming from the
   callout service) to notify the content producer.  Such notifications
   may be about the number of certain advertisements inserted (i.e., the
   number of "impressions" delivered to the customer) or even the number
   of ad "clicks" the customer made (e.g., if the node hosts content
   linked from the ads).  Callout services doing ad insertion may lack
   details (e.g., a customer ID/address or a web server authentication
   token) to contact the content producer directly in this case.  Thus,
   OPES trace produced by an OPES service becomes essential in enabling
   meaningful notifications that the CDN node sends to the content
   producer.
<span class="grey">Babir & Rousskov             Informational                      [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>.  An example of an OPES trace for HTTP</span>
   The example below illustrates adaptations done to HTTP request at an
   OPES processor operated by the client ISP.  Both original (as sent by
   an end user) and adapted (as received by the origin web server)
   requests are shown.  The primary adaptation is the modification of
   HTTP "Accept" header.  The secondary adaptation is the addition of an
   OPES-System HTTP extension header [<a href="#ref-I-D.ietf-opes-http" title=""HTTP adaptation with OPES"">I-D.ietf-opes-http</a>].
   GET /pub/WWW/ HTTP/1.1
   Host: www.w3.org
   Accept: text/plain
                                Figure 3
   ... may be adapted by an ISP OPES system to become:
   GET /pub/WWW/ HTTP/1.1
   Host: www.w3.org
   Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8
   OPES-System: <a href="http://www.isp-example.com/opes/?client-hash=1234567">http://www.isp-example.com/opes/?client-hash=1234567</a>
                                Figure 4
   The example below illustrates adaptations done to HTTP response at an
   OPES intermediary operated by a Content Distribution Network (CDN).
   Both original (as sent by the origin web server) and adapted (as
   received by the end user) responses are shown.  The primary
   adaptation is the conversion from HTML markup to plain text.  The
   secondary adaptation is the addition of an OPES-System HTTP extension
   header.
   HTTP/1.1 200 OK
   Content-Length: 12345
   Content-Encoding: text/html
   <html><head><h1>Available Documenta...
                                Figure 5
   ... may be adapted by a CDN OPES system to become:
   HTTP/1.1 200 OK
   Content-Length: 2345
   Content-Encoding: text/plain
   OPES-System: <a href="http://www.cdn-example">http://www.cdn-example</a>.com/opes/?site=7654&svc=h2t
   AVAILABLE DOCUMENTA...
                                Figure 6
<span class="grey">Babir & Rousskov             Informational                      [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   In the above examples, OPES-System header values contain URIs that
   may point to OPES-specific documents such as description of the OPES
   operator and its privacy policy.  Those documents may be
   parameterized to allow for customizations specific to the transaction
   being traced (e.g., client or even transaction identifier may be used
   to provide more information about performed adaptations).  An OPES-
   Via header may be used to provide a more detailed trace of specific
   OPES entities within an OPES System that adapted the message.  Traced
   OPES URIs may be later used to request OPES bypass [<a href="./rfc3897" title=""Open Pluggable Edge Services (OPES) Entities and End Points Communication"">RFC3897</a>].
<span class="h3"><a class="selflink" id="section-5.3" href="#section-5.3">5.3</a>.  Consideration (3.1) 'Notification'</span>
   "The overall OPES framework needs to assist content providers in
   detecting and responding to client-centric actions by OPES
   intermediaries that are deemed inappropriate by the content provider"
   [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
   OPES tracing mechanisms assist content providers in detecting
   client-centric actions by OPES intermediaries.  Specifically, a
   compliant OPES intermediary or system notifies a content provider of
   its presence by including its tracing information in the application
   protocol requests.  An OPES system MUST leave its trace [<a href="./rfc3897" title=""Open Pluggable Edge Services (OPES) Entities and End Points Communication"">RFC3897</a>].
   Detection assistance has its limitations.  Some OPES intermediaries
   may work exclusively on responses and may not have a chance to trace
   the request.  Moreover, some application protocols may not have
   explicit requests (e.g., a content push service).
   OPES tracing mechanisms assist content providers in responding to
   client-centric actions by OPES intermediaries.  Specifically, OPES
   traces MUST include identification of OPES systems and SHOULD include
   a list of adaptation actions performed on provider's content.  This
   tracing information may be included in the application request.
   Usually, however, this information will be included in the
   application response, an adapted version of which does not reach the
   content provider.  If OPES end points cooperate, then notification
   can be assisted with traces.  Content providers that suspect or
   experience difficulties can do any of the following:
   o  Check whether requests they receive pass through OPES
      intermediaries.  Presence of OPES tracing info will determine
      that.  This check is only possible for request/response protocols.
      For other protocols (e.g., broadcast or push), the provider would
      have to assume that OPES intermediaries are involved until proven
      otherwise.
<span class="grey">Babir & Rousskov             Informational                      [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   o  If OPES intermediaries are suspected, request OPES traces from
      potentially affected user(s).  The trace will be a part of the
      application message received by the user software.  If involved
      parties cooperate, the provider(s) may have access to all the
      needed information.  Certainly, lack of cooperation may hinder
      access to tracing information.  To encourage cooperation, data
      providers might be able to deny service to uncooperative users.
   o  Some traces may indicate that more information is available by
      accessing certain resources on the specified OPES intermediary or
      elsewhere.  Content providers may query for more information in
      this case.
   o  If everything else fails, providers can enforce no-adaptation
      policy using appropriate OPES bypass mechanisms and/or end-to-end
      encryption mechanisms.
   OPES detection and response assistance is limited to application
   protocols with support for tracing extensions.  For example, HTTP
   [<a href="./rfc2616" title=""Hypertext Transfer Protocol -- HTTP/1.1"">RFC2616</a>] has such support while DNS over UDP does not.
<span class="h3"><a class="selflink" id="section-5.4" href="#section-5.4">5.4</a>.  Consideration (3.2) 'Notification'</span>
   "The overall OPES framework should assist end users in detecting the
   behavior of OPES intermediaries, potentially allowing them to
   identify imperfect or compromised intermediaries" [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
   OPES tracing mechanisms assist end users in detecting OPES
   intermediaries.  Specifically, a compliant OPES intermediary or
   system notifies an end user of its presence by including its tracing
   information in the application protocol messages sent to the client.
   An OPES system MUST leave its trace [<a href="./rfc3897" title=""Open Pluggable Edge Services (OPES) Entities and End Points Communication"">RFC3897</a>].  However, detection
   assistance has its limitations.  Some OPES systems may work
   exclusively on requests and may not have a chance to trace the
   response.  Moreover, some application protocols may not have explicit
   responses (e.g., event logging service).
   OPES detection assistance is limited to application protocols with
   support for tracing extensions.  For example, HTTP [<a href="./rfc2616" title=""Hypertext Transfer Protocol -- HTTP/1.1"">RFC2616</a>] has such
   support while DNS over UDP does not.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>.  Consideration (3.3) 'Non-blocking'</span>
   "If there exists a "non-OPES" version of content available from the
   content provider, the OPES architecture must not prevent users from
   retrieving this "non-OPES" version from the content provider"
   [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
<span class="grey">Babir & Rousskov             Informational                     [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   "OPES entities MUST support a bypass feature" [<a href="./rfc3897" title=""Open Pluggable Edge Services (OPES) Entities and End Points Communication"">RFC3897</a>].  If an
   application message includes bypass instructions and an OPES
   intermediary is not configured to ignore them, the matching OPES
   intermediary will not process the message.  An OPES intermediary may
   be configured to ignore bypass instructions only if no non-OPES
   version of content is available.  Bypass may generate content errors
   since some OPES services may be essential but may not be configured
   as such.
   Bypass support has limitations similar to the two notification-
   related considerations above.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>.  Consideration (4.1) 'URI resolution'</span>
   "OPES documentation must be clear in describing these services as
   being applied to the result of URI resolution, not as URI resolution
   itself" [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
   "OPES Scenarios and Use Cases" specification [<a href="./rfc3752" title=""Open Pluggable Edge Services (OPES) Use Cases and Deployment Scenarios"">RFC3752</a>] documents
   content adaptations that are in scope of the OPES framework.
   Scenarios include content adaptation of requests and responses.
   These documented adaptations do not include URI resolution.  In some
   environments, it is technically possible to use documented OPES
   mechanisms to resolve URIs (and other kinds of identifiers or
   addresses).  The OPES framework cannot effectively prevent any
   specific kind of adaptation.
   For example, a CDN node may substitute domain names in URLs with
   CDN-chosen IP addresses, essentially performing a URI resolution on
   behalf of the content producer (i.e., the web site owner).  An OPES
   callout service running on a user PC may rewrite all HTML-embedded
   advertisement URLs to point to a user-specified local image,
   essentially performing a URI redirection on behalf of the content
   consumer (i.e., the end user).  Such URI manipulations are outside of
   the OPES framework scope, but cannot be effectively eliminated from
   the real world.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>.  Consideration (4.2) 'Reference validity'</span>
   "All proposed services must define their impact on inter- and intra-
   document reference validity" [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
   The OPES framework does not propose adaptation services.  However,
   OPES tracing requirements include identification of OPES
   intermediaries and services (for details, see "Notification"
   consideration sections in this document).  It is required that
<span class="grey">Babir & Rousskov             Informational                     [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   provided identification can be used to locate information about the
   OPES intermediaries, including the description of impact on reference
   validity [<a href="./rfc3897" title=""Open Pluggable Edge Services (OPES) Entities and End Points Communication"">RFC3897</a>].
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>.  Consideration (4.3) 'Addressing extensions'</span>
   "Any services that cannot be achieved while respecting the above two
   considerations may be reviewed as potential requirements for Internet
   application addressing architecture extensions, but must not be
   undertaken as ad hoc fixes" [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
   OPES framework does not contain ad hoc fixes.  This document in
   combination with and other OPES documents should be sufficient to
   inform service creators of IAB considerations.  If a service does URI
   resolution or silently affects document reference validity, the
   authors are requested to review service impact on Internet
   application addressing architecture and work within IETF on potential
   extension requirements.  Such actions would be outside of the current
   OPES framework.
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>.  Consideration (5.1) 'Privacy'</span>
   "The overall OPES framework must provide for mechanisms for end users
   to determine the privacy policies of OPES intermediaries" [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
   OPES tracing mechanisms allow end users to identify OPES
   intermediaries (for details, see "Notification" consideration
   sections in this document).  It is required that provided
   identification can be used to locate information about the OPES
   intermediaries, including their privacy policies.
   The term "privacy policy" is not defined in this context (by IAB or
   OPES working group).  OPES tracing mechanisms allow end users and
   content providers to identify an OPES system and/or intermediaries.
   It is believed that once an OPES system is identified, it would be
   possible to locate relevant information about that system, including
   information relevant to requesters perception of privacy policy or
   reference validity.
<span class="h2"><a class="selflink" id="section-11" href="#section-11">11</a>.  Consideration 'Encryption'</span>
   "If OPES is chartered, the OPES working group will also have to
   explicitly decide and document whether the OPES architecture must be
   compatible with the use of end-to-end encryption by one or more ends
   of an OPES-involved session.  If OPES was compatible with end-to-end
   encryption, this would effectively ensure that OPES boxes would be
<span class="grey">Babir & Rousskov             Informational                     [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   restricted to ones that are known, trusted, explicitly addressed at
   the IP layer, and authorized (by the provision of decryption keys) by
   at least one of the ends" [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
   The above quoted requirement was not explicitly listed as on of the
   IAB considerations, but still needs to be addressed.  The context of
   the quote implies that the phrase "end-to-end encryption" refers to
   encryption along all links of the end-to-end path, with the OPES
   intermediaries as encrypting/decrypting participants or hops (e.g.,
   encryption between the provider and the OPES intermediaries, and
   between the OPES intermediaries and the client).
   Since OPES processors are regular hops on the application protocol
   path, OPES architecture allows for such encryption, provided the
   application protocol being adapted supports it.  Hop-by-hop
   encryption would do little good for the overall application message
   path protection if callout services have to receive unencrypted
   content.  To allow for complete link encryption coverage, OPES
   callout protocol (OCP) supports encryption of OCP connections between
   an OPES processor and a callout server via optional (negotiated)
   transport encryption mechanisms [<a href="#ref-I-D.ietf-opes-ocp-core" title=""OPES Callout Protocol Core"">I-D.ietf-opes-ocp-core</a>].
   For example, TLS encryption [<a href="./rfc2817" title=""Upgrading to TLS Within HTTP/1.1"">RFC2817</a>] can be used among HTTP hops
   (some of which could be OPES processors) and between each OPES
   processor and a callout server.
<span class="h2"><a class="selflink" id="section-12" href="#section-12">12</a>.  Security Considerations</span>
   This document does not define any mechanisms that may be subject to
   security considerations.  This document scope is to address specific
   IAB considerations.  Security of OPES mechanisms are discussed in
   Security Considerations sections of the corresponding OPES framework
   documents.
   For example, OPES tracing mechanisms assist content providers and
   consumers in protecting content integrity and confidentiality by
   requiring OPES intermediaries to disclose their presence.  Security
   of the tracing mechanism is discussed in the Security Considerations
   section of [<a href="./rfc3897" title=""Open Pluggable Edge Services (OPES) Entities and End Points Communication"">RFC3897</a>].
<span class="h2"><a class="selflink" id="section-13" href="#section-13">13</a>.  Compliance</span>
   This document may be perceived as a proof of OPES compliance with IAB
   implied recommendations.  However, this document does not introduce
   any compliance subjects.  Compliance of OPES implementations is
   defined in other OPES documents discussed above.
<span class="grey">Babir & Rousskov             Informational                     [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
<span class="h2"><a class="selflink" id="section-14" href="#section-14">14</a>.  References</span>
<span class="h3"><a class="selflink" id="section-14.1" href="#section-14.1">14.1</a>.  Normative References</span>
   [<a id="ref-RFC3238">RFC3238</a>]                     Floyd, S. and L. Daigle, "IAB
                                 Architectural and Policy Considerations
                                 for Open Pluggable Edge Services", <a href="./rfc3238">RFC</a>
                                 <a href="./rfc3238">3238</a>, January 2002.
   [<a id="ref-RFC3752">RFC3752</a>]                     Barbir, A., Burger, E., Chen, R.,
                                 McHenry, S., Orman, H. and R. Penno,
                                 "Open Pluggable Edge Services (OPES)
                                 Use Cases and Deployment Scenarios",
                                 <a href="./rfc3752">RFC 3752</a>, April 2004.
   [<a id="ref-RFC3835">RFC3835</a>]                     Barbir, A., Penno, R., Chen, R.,
                                 Hofmann, M., and H. Orman, "An
                                 Architecture for Open Pluggable Edge
                                 Services (OPES)", <a href="./rfc3835">RFC 3835</a>, August
                                 2004.
   [<a id="ref-RFC3897">RFC3897</a>]                     Barbir, A., "Open Pluggable Edge
                                 Services (OPES) Entities and End Points
                                 Communication", <a href="./rfc3897">RFC 3897</a>, September
                                 2004.
<span class="h3"><a class="selflink" id="section-14.2" href="#section-14.2">14.2</a>.  Informative References</span>
   [<a id="ref-RFC2227">RFC2227</a>]                     Mogul, J. and P. Leach, "Simple
                                 Hit-Metering and Usage-Limiting for
                                 HTTP", <a href="./rfc2227">RFC 2227</a>, October 1997.
   [<a id="ref-RFC2616">RFC2616</a>]                     Fielding, R., Gettys, J., Mogul, J.,
                                 Frystyk, H., Masinter, L., Leach, P.
                                 and T. Berners-Lee, "Hypertext Transfer
                                 Protocol -- HTTP/1.1", <a href="./rfc2616">RFC 2616</a>, June
                                 1999.
   [<a id="ref-RFC2817">RFC2817</a>]                     Khare, R. and S. Lawrence, "Upgrading
                                 to TLS Within HTTP/1.1", <a href="./rfc2817">RFC 2817</a>, May
                                 2000.
   [<a id="ref-I-D.ietf-opes-http">I-D.ietf-opes-http</a>]          Rousskov, A. and M. Stecher, "HTTP
                                 adaptation with OPES", Work in
                                 Progress, October 2003.
<span class="grey">Babir & Rousskov             Informational                     [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
   [<a id="ref-I-D.ietf-opes-ocp-core">I-D.ietf-opes-ocp-core</a>]      Rousskov, A., "OPES Callout Protocol
                                 Core", Work in Progress, November 2003.
Authors' Addresses
   Abbie Barbir
   Nortel Networks
   3500 Carling Avenue
   Nepean, Ontario
   CA
   Phone: +1 613 763 5229
   EMail: abbieb@nortelnetworks.com
   Alex Rousskov
   The Measurement Factory
   EMail: rousskov@measurement-factory.com
   URI:   <a href="http://www.measurement-factory.com/">http://www.measurement-factory.com/</a>
<span class="grey">Babir & Rousskov             Informational                     [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc3914">RFC 3914</a>          OPES Treatment of IAB Considerations      October 2004</span>
Full Copyright Statement
   Copyright (C) The Internet Society (2004).
   This document is subject to the rights, licenses and restrictions
   contained in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a>, and except as set forth therein, the authors
   retain all their rights.
   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/S HE
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
   INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the IETF's procedures with respect to rights in IETF Documents can
   be found in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and <a href="https://www.rfc-editor.org/bcp/bcp79">BCP 79</a>.
   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   <a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>.
   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.
Acknowledgement
   Funding for the RFC Editor function is currently provided by the
   Internet Society.
Babir & Rousskov             Informational                     [Page 16]
</pre>
 
     |