Network Working Group                                           G. Klyne
Request for Comments: 3342                        Clearswift Corporation
Category: Standards Track                                        M. Rose
                                            Dover Beach Consulting, Inc.
                                                             M. Schwartz
                                                   Code On The Road, LLC
                                                                E. Dixon
                                                             H. Franklin
                                                                 J. Kint
                                                                  D. New
                                                                 S. Pead
                                                               July 2002
        
     The Application Exchange (APEX) Option Party Pack, Part Deux!
        

Status of this Memo

このメモの位置付け

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

この文書は、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (2002). All Rights Reserved.

著作権(C)インターネット協会(2002)。全著作権所有。

Abstract

抽象

Application Exchange (APEX), at its core, provides a best-effort application-layer datagram service. Options are used to alter the semantics of the core service. This memo defines various options to change the default behavior of APEX's "relaying mesh".

アプリケーション取引所(APEX)は、その中核に、ベストエフォート型のアプリケーション層のデータグラムサービスを提供します。オプションは、コアサービスのセマンティクスを変更するために使用されています。このメモは、APEXの「中継メッシュ」のデフォルトの動作を変更するために様々なオプションを定義します。

Table of Contents

目次

   1.    The attachOverride Option  . . . . . . . . . . . . . . . . .  2
   2.    The dataTiming Option  . . . . . . . . . . . . . . . . . . .  3
   2.1   Upper-Bounds on Delivery . . . . . . . . . . . . . . . . . .  4
   2.1.1 Final Hop Report . . . . . . . . . . . . . . . . . . . . . .  5
   2.1.2 Timing Error Report  . . . . . . . . . . . . . . . . . . . .  7
   2.2   Reporting on Delayed Delivery  . . . . . . . . . . . . . . .  8
   2.2.1 Transient Timing Report  . . . . . . . . . . . . . . . . . .  9
   3.    The hold4Endpoint Option . . . . . . . . . . . . . . . . . . 10
   4.    The dataHopping Option . . . . . . . . . . . . . . . . . . . 13
   5.    Initial Registrations  . . . . . . . . . . . . . . . . . . . 15
   5.1   Registration: The attachOverride Option  . . . . . . . . . . 15
   5.2   Registration: The dataTiming Option  . . . . . . . . . . . . 16
   5.3   Registration: The hold4Endpoint Option . . . . . . . . . . . 16
   5.4   Registration: The dataHopping Option . . . . . . . . . . . . 16
   6.    The APEX Party Pack DTD  . . . . . . . . . . . . . . . . . . 17
   7.    Security Considerations  . . . . . . . . . . . . . . . . . . 18
         References . . . . . . . . . . . . . . . . . . . . . . . . . 18
   A.    Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19
   B.    IANA Considerations  . . . . . . . . . . . . . . . . . . . . 19
         Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 20
         Full Copyright Statement . . . . . . . . . . . . . . . . . . 22
        
1. The attachOverride Option
1. attachOverrideオプション

Section 5.1 contains the APEX option registration for the "attachOverride" option.

5.1節では、「attachOverride」オプションのAPEXオプションの登録が含まれています。

The default behavior of the APEX relaying mesh, in the absence of processing options, is to allow at most one application to attach as a particular endpoint, on a "first come, first served" basis. The "attachOverride" option provides gives preference to the current application trying to attach.

処理オプションの非存在下におけるAPEX中継メッシュのデフォルトの動作は、最大1つのアプリケーションは、「最初に来、最初の務め」に基づき、特定のエンドポイントとして添付できるようにすることです。提供「attachOverride」オプションが添付しようとしている現在のアプリケーションを優先します。

If this option is present in the "attach" operation (c.f., Section 4.4.1 of [1]) and if any application is already attached as the specified endpoint, that endpoint has its attachment terminated (c.f., Section 4.4.3 of [1]) concurrently with processing of that "attach" operation. The "code" attribute of the resulting "terminate" operation is set to 556.

このオプションは、(CF、セクション4.4.1 [1]の)任意のアプリケーションが既に指定されたエンドポイントとして接続されている場合、そのエンドポイントは、その添付ファイルが終了した(CF、セクション4.4.3「アタッチ」操作に存在する場合[ 1])、同時にその「アタッチ」動作の処理です。得られた「終了」操作の「コード」属性が556に設定されています。

Note that any data being expected by the previously-attached application may instead be delivered to the last application to successfully attach. Accordingly, applications should take care to properly deal with incoming data having unrecognized transaction-identifiers (c.f., Section 6.1.1 of [1]).

先に取り付けられたアプリケーションが期待されている任意のデータではなく、正常にアタッチする最後のアプリケーションに送達することができることに留意されたいです。したがって、アプリケーションが適切に認識されていないトランザクション識別子(C.F.、[1]のセクション6.1.1)を有する着信データに対処するために注意を払うべきです。

This option provides for a new attachment to automatically terminate any existing attachment for the same endpoint. For example, this might be helpful when a new attachment is required from a different device while a previously-used device is still attached e.g.,

新しい添付ファイルが自動的に同じエンドポイントに対する既存の添付ファイルを終了させるためにこのオプションが用意されています。以前に使用した装置は、依然として、例えば接続されている間、新たな添付ファイルが別のデバイスから要求された場合、例えば、これは役に立つかもしれません、

        +-------+                  +-------+
        |       | -- attach -----> |       |
        | appl. |                  | relay |
        |   #1  | <--------- ok -- |       |
        +-------+                  +-------+
        

C: <attach endpoint='fred@example.com' transID='1' /> S: <ok />

C:<添付endpoint='fred@example.com」TRANSID = '1' /> S:<OK />

... some time later appl #2 starts on a different computer ...

...別のコンピュータ上のいくつかの時間後にAPPL#2開始...

                                   +-------+                  +-------+
                                   |       | <----- attach -- |       |
        +-------+                  |       |                  | appl. |
        |       | <-- terminate -- | relay | -- ok ---------> |   #2  |
        | appl. |                  |       |                  +-------+
        |   #1  | -- ok ---------> |       |
        +-------+                  +-------+
        
                C: <attach endpoint='fred@example.com' transID='2'>
                       <option internal='attachOverride' transID='3' />
                   </attach>
                S: <ok />
        

C: <terminate transID='1' code='556'>overriden</terminate> S: <ok />

C:<= '556' TRANSID = '1' コードを終了>上書き</終了> S:<OK />

2. The dataTiming Option
2. dataTimingオプション

Section 5.2 contains the APEX option registration for the "dataTiming" option. This option contains a "dataTiming" element (c.f., Section 6).

5.2節では、「dataTiming」オプションのAPEXオプションの登録が含まれています。このオプションは、 "dataTiming" 要素(C.F.、第6節)が含まれています。

The default behavior of the APEX relaying mesh is "immediate, best effort", and expects that all relays and endpoints are able to process and transfer data without delay -- in the absence of processing options, if a relay is unavailable, then data is silently dropped. The "dataTiming" option provides for controlled queuing delays in processing, whilst providing reasonable deterministic behavior for the originator.

APEX中継メッシュのデフォルトの動作は「即時、ベストエフォート」であり、すべてのリレーとエンドポイントが遅延なくデータを処理し、転送することができることを期待 - リレーが使用できない場合、処理オプションが存在しない場合に、そのデータがあります静かに落ちました。 「dataTiming」オプションは、発信のための合理的な決定論的な振る舞いを提供しながら、処理における制御キューイング遅延のために用意されています。

There are two types of delays addressed by the "dataTiming" option:

「dataTiming」オプションによって対処遅延の2種類があります。

o delays in transit through the relaying mesh, possibly due to intermittent or slow connections, or congested relays; and,

おそらく断続的または低速接続、または混雑リレーへ中継メッシュを通して輸送中のO遅延、。そして、

o delays because the intended endpoint is not available to receive the data, when used in conjunction with the hold4Endpoint option (Section 3).

O遅延意図エンドポイントがhold4Endpointオプション(第3節)と組み合わせて使用​​する場合、データを受信することはできませんので。

Accordingly, the "dataTiming" option allows for:

したがって、「dataTiming」オプションがすることができます:

o data to be discarded if not delivered within a finite amount of time as specified using the "noLaterThan" attribute (Section 2.1);

「noLaterThan」属性(セクション2.1)を使用して指定された時間の有限量内に配信されない場合はOデータは破棄されます。

o a "statusResponse" message (c.f., Section 5.1 of [1]) to be generated if data is not delivered within a known amount of time as specified using the "reportAfter" attribute (Section 2.2); and,

O「statusResponse」メッセージ(C.F.、セクション5.1の[1])「reportAfter」属性(セクション2.2)を使用して指定されたデータは、時間の既知量内に送達されていない場合に生成されます。そして、

o an upper limit on the amount of time for the "statusResponse" message to be delivered using the "returnTrip" attribute (Section 2.1.1), after which the sender may presume the message to be lost.

O「statusResponse」メッセージのための時間の量の上限は、送信者は、メッセージが失われたように推定できるそのあと「returnTrip」属性(セクション2.1.1)を使用して送達することができます。

This option does not provide any functionality with respect to the priority of the data. Nor does this option have any effect on other parts of the relaying process.

このオプションは、データの優先順位に関してすべての機能を提供していません。 NORこのオプションでは、中継プロセスの他の部分には影響しません。

Further, note that because this option is processed on a per-hop basis, the originator must set the "targetHop" attribute to the value "all" and the "mustUnderstand" attribute to the value "true".

さらに、このオプションはホップごとに処理されるため、発信者は、値「すべて」と値を「のmustUnderstand」属性「真」に「targetHop」属性を設定しなければならないことに注意してください。

2.1 Upper-Bounds on Delivery
2.1配信の上限制限超過

The "noLaterThan" attribute of the "dataTiming" option provides for control over delays that may occur in transit through the relaying mesh or to the recipient endpoint.

「dataTiming」オプションの「noLaterThan」属性は、中継網を介して、または受信者のエンドポイントに輸送中に発生する可能性があり、遅延を制御するために用意されています。

If this option is present in the "data" operation (c.f., Section 4.4.4 of [1]) and the value of the "noLaterThan" attribute is non-zero, then:

このオプションは、「データ」操作(C.F.、[1]のセクション4.4.4)に存在し、「noLaterThan」属性の値は、非ゼロである場合:

o For Step 5.2 of Section 4.4.4.1 of [1]:

セクション4.4.4.1のステップ5.2のO [1]:

Immediately prior to sending the data to the next relay, the value of the "noLaterThan" attribute is adjusted to reflect the processing time of the data at the local relay (e.g., the time required to determine the next relay, to successfully issue a "bind" operation, and then be ready to immediately issue a "data" operation).

次の中継にデータを送信する直前に、「noLaterThan」属性の値が正常」を発行し、例えば、時間は次の中継を決定するために必要な(ローカルリレーでデータの処理時間を反映するように調整されますバインド」操作した後、すぐに発行する準備ができている 『データ』動作)。

If the value of the "noLaterThan" attribute becomes less than or equal to zero, an error in processing has occurred, the data element is not sent to the next relay, and if the "reportErrors" attribute is true, the APEX report service is invoked to send a timing error report.

「noLaterThan」属性の値がゼロ以下になる場合は、処理中にエラーが発生した、データ要素は、次の中継に送信されず、「reportErrorsは」属性がtrueの場合、APEXレポートサービスですタイミングエラー報告を送信するために呼び出さ。

o For Step 5.3 of Section 4.4.4.1 of [1]:

セクション4.4.4.1のステップ5.3のO [1]:

If the relay does not receive an "ok" element from the recipient endpoint within the number of milli-seconds indicated by the value of the "noLaterThan" attribute, an error in processing has occurred, and if the "reportErrors" attribute is true, the APEX report service is invoked to send a timing error report.

リレーは「noLaterThan」属性の値が示すミリ秒数以内に受信者のエンドポイントから「OK」要素を受信しない場合は、処理中にエラーが発生しました、そして「reportErrors」属性がtrueの場合、 APEXレポートサービスは、タイミングエラー報告を送信するために呼び出されます。

Otherwise, if the data is successfully transmitted to the recipient, and the "returnTrip" attribute is non-zero, the APEX report service is invoked to send a final hop report.

データが正常に受信者に送信され、「returnTrip」属性がゼロでいる場合それ以外の場合は、APEXレポートサービスは、最終的なホップのレポートを送信するために呼び出されます。

Note that in some cases, a relay may be able to predict this outcome without actually connecting to the next relay; if so, a timing error report may be sent without connecting to the next relay.

いくつかのケースでは、リレーが実際に次の中継に接続せずにこの結果を予測することができるかもしれないことに留意されたいです。その場合、タイミングエラーレポートは、次のリレーに接続せずに送信することができます。

2.1.1 Final Hop Report
2.1.1最終ホップ報告書

If the APEX report service (c.f., Section 6.2 of [1]) is invoked to send a final hop report, it issues a data operation with:

APEXレポートサービス(C.F.、[1]のセクション6.2)最終ホップレポートを送信するために呼び出された場合は、データの操作をして発行します。

o its originator identifying the report service associated with the issuing relay

Oその創始者は、発行リレーに関連付けられたレポートサービスを識別する

o its recipient identifying the endpoint address of the originator associated with the "dataTiming" option

「dataTiming」オプションに関連付けられた発信元のエンドポイントアドレスを特定の受信者O

o a new "dataTiming" option having:

O新しい「dataTiming」オプションがあります:

* its "noLaterThan" attribute equal to the "returnTrip" attribute of the original "dataTiming" option

*その「noLaterThanは」オリジナル「dataTiming」オプションの「returnTrip」属性と同じ属性

* and no other attributes present

*そして本なしその他の属性

o its content consisting of a "statusResponse" element having:

Oの含有量が有する「statusResponse」要素からなります。

* its "transID" attribute equal to the "transID" attribute of the "dataTiming" option

*その「TRANSIDは」「dataTiming」オプションの「TRANSID」属性と同じ属性

* and identifying the original recipient with a permanent success indicator

*永久成功指標と元の受信者を特定します

For example:

例えば:

                                  +-------+                  +-------+
                                  |       | -- data -------> |       |
                                  | relay |                  | appl. |
                                  |       | <--------- ok -- |   #2  |
                                  +-------+                  +-------+
        

C: <data content='cid:1@example.com'> <originator identity='fred@example.com' /> <recipient identity='barney@example.com' /> <option internal='dataTiming' targetHop='all' mustUnderstand='true' transID='86'> <dataTiming noLaterThan='10000' returnTrip='20000' /> </option> </data> S: <ok />

C:<データコンテンツ= 'CID:1@example.com'> <創始identity='fred@example.com '/> <受信者identity='barney@example.com' /> <オプション内部= 'dataTiming' targetHop = 'すべて' のmustUnderstand = 'true' のTRANSID = '86 '> <dataTiming noLaterThan =' 10000' returnTrip = '20000' /> </オプション> </データ> S:<OK />

       +-------+                  +-------+
       |       | <------- data -- |       |
       | appl. |                  | relay |
       |   #1  | -- ok ---------> |       |
       +-------+                  +-------+
        

C: <data content='#Content'> <originator identity='apex=report@example.com' /> <recipient identity='fred@example.com' /> <option internal='dataTiming' targetHop='all' mustUnderstand='true' transID='99'> <dataTiming noLaterThan='20000' /> </option> <data-content Name='Content'> <statusResponse transID='86'> <destination identity='barney@example.com'> <reply code='250' /> </destination> </statusResponse> </data-content> </data> S: <ok />

C:<データコンテンツ= '#コンテンツ'> <創始identity='apex=report@example.com '/> <受信者identity='fred@example.com' /> <オプション内部= 'dataTiming' targetHop = 'すべて'のmustUnderstand =' true」のTRANSID = '99 '> <dataTiming noLaterThan =' 20000' /> </ option>を<データコンテンツ名= 'コンテンツ'> <statusResponse TRANSID = '86 '> <先のアイデンティティ=' バーニー@ example.com '> <応答コード=' 250' /> </宛先> </ statusResponse> </データコンテンツ> </データ> S:<OK />

2.1.2 Timing Error Report
2.1.2タイミング・エラーレポート

If the APEX report service (c.f., Section 6.2 of [1]) is invoked to send a timing error report, it issues a data operation with:

APEXレポートサービス(C.F.、[1]のセクション6.2)タイミングエラー報告を送信するために呼び出された場合は、データの操作をして発行します。

o its originator identifying the report service associated with the issuing relay

Oその創始者は、発行リレーに関連付けられたレポートサービスを識別する

o its recipient identifying the endpoint address of the originator associated with the "dataTiming" option

「dataTiming」オプションに関連付けられた発信元のエンドポイントアドレスを特定の受信者O

o its content consisting of a "statusResponse" element having:

Oの含有量が有する「statusResponse」要素からなります。

* its "transID" attribute equal to the "transID" attribute of the "dataTiming" option

*その「TRANSIDは」「dataTiming」オプションの「TRANSID」属性と同じ属性

* and identifying the original recipient with a permanent failure indicator

*永久故障インジケータと元の受信者を識別する

For example:

例えば:

       +-------+                  +-------+
       |       | -- data -------> |       |
       | appl. |                  | relay |
       |       | <--------- ok -- |       |
       +-------+                  +-------+
        

C: <data content='cid:1@example.com'> <originator identity='fred@example.com' /> <recipient identity='barney@example.com' /> <option internal='dataTiming' targetHop='all' mustUnderstand='true' transID='86'> <dataTiming noLaterThan='6000' reportErrors='true' /> </option> </data> S: <ok />

C:<データコンテンツ= 'CID:1@example.com'> <創始identity='fred@example.com '/> <受信者identity='barney@example.com' /> <オプション内部= 'dataTiming' targetHop = 'すべて' のmustUnderstand = 'true' のTRANSID = '86 '> <dataTiming noLaterThan =' 6000' reportErrorsの= '真' /> </オプション> </データ> S:<OK />

... some time later ...

... 今度いつか ...

          +-------+                  +-------+
          |       | <------- data -- |       |
          | appl. |                  | relay |
          |       | -- ok ---------> |       |
          +-------+                  +-------+
        

C: <data content='#Content'> <originator identity='apex=report@example.com' /> <recipient identity='fred@example.com' /> <data-content Name='Content'> <statusResponse transID='86'> <destination identity='barney@example.com'> <reply code='550' /> </destination> </statusResponse> </data-content> </data> S: <ok />

C:<データコンテンツ= '#コンテンツ'> <創始identity='apex=report@example.com '/> <受信者identity='fred@example.com' /> <データコンテンツ名= 'コンテンツ'> < statusResponse TRANSID = '86 '> <先identity='barney@example.com'> <応答コード= '550' /> </宛先> </ statusResponse> </データコンテンツ> </データ> S:<OK />

2.2 Reporting on Delayed Delivery
納期遅延のレポート2.2

The "reportAfter" attribute of the "dataTiming" option provides for the originator to be notified if delivery is delayed beyond a specified time. Delivery of the data is not affected. Note that if the value of the "noLaterThan" attribute is non-zero, then it provides the operational upper-bounds for the "reportAfter" attribute.

「dataTiming」オプションの「reportAfter」属性は、配信が指定された時間を超えて遅延した場合、発信者に通知するために用意されています。データの配信は影響を受けません。 「noLaterThan」属性の値がゼロであれば、それは「reportAfter」属性の運用上部境界を提供していることに注意してください。

If this option is present in the "data" operation (c.f., Section 4.4.4 of [1]) and the value of the "reportAfter" attribute is non-zero, then:

このオプションは、「データ」操作(C.F.、[1]のセクション4.4.4)に存在し、「reportAfter」属性の値は、非ゼロである場合:

o For Step 5.2 of Section 4.4.4.1 of [1]:

セクション4.4.4.1のステップ5.2のO [1]:

Immediately prior to sending the data to the next relay, the value of the "reportAfter" attribute is adjusted to reflect the processing time of the data at the local relay (e.g., the time required to determine the next relay, to successfully issue a "bind" operation, and then be ready to immediately issue a "data" operation).

次の中継にデータを送信する直前に、「reportAfter」属性の値は、ローカルリレーでのデータの処理時間を反映するように調整される(例えば、次の中継を決定するのに必要な時間、成功した」を発行しますバインド」操作した後、すぐに発行する準備ができている 『データ』動作)。

If the value of the "reportAfter" attribute becomes less than or equal to zero, then its value is set to zero and the APEX report service is invoked to send a transient timing report; regardless, the data element is sent to the next relay.

「reportAfter」属性の値がゼロ以下になった場合、その値がゼロに設定され、APEXレポートサービスは、過渡タイミングレポートを送信するために呼び出されます。関係なく、データ要素は、次の中継に送信されます。

o For Step 5.3 of Section 4.4.4.1 of [1]:

セクション4.4.4.1のステップ5.3のO [1]:

If the relay does not receive an "ok" element from the recipient endpoint within the number of milli-seconds indicated by the value of the "reportAfter" attribute, then its value is set to zero and the APEX report service is invoked to send a transient timing report.

リレーは「reportAfter」属性の値が示すミリ秒数内に受信者のエンドポイントから「OK」要素を受信しない場合、その値がゼロに設定され、APEXレポートサービスは、送信するために呼び出され、過渡タイミングレポート。

2.2.1 Transient Timing Report
2.2.1過渡タイミングレポート

If the APEX report service (c.f., Section 6.2 of [1]) is invoked to send a transient timing report, it issues a data operation with:

APEXレポートサービス(C.F.、[1]のセクション6.2)過渡タイミングレポートを送信するために呼び出された場合は、データの操作をして発行します。

o its originator identifying the report service associated with the issuing relay

Oその創始者は、発行リレーに関連付けられたレポートサービスを識別する

o its recipient identifying the endpoint address of the originator associated with the "dataTiming" option

「dataTiming」オプションに関連付けられた発信元のエンドポイントアドレスを特定の受信者O

o its content consisting of a "statusResponse" element having:

Oの含有量が有する「statusResponse」要素からなります。

* its "transID" attribute equal to the "transID" attribute of the "dataTiming" option

*その「TRANSIDは」「dataTiming」オプションの「TRANSID」属性と同じ属性

* and identifying the original recipient with a transient success indicator

*および過渡成功指標と元の受信者を特定します

For example:

例えば:

        +-------+                  +-------+
        |       | -- data -------> |       |
        | appl. |                  | relay |
        |   #1  | <--------- ok -- |       |
        +-------+                  +-------+
        

C: <data content='cid:1@example.com'> <originator identity='fred@example.com' /> <recipient identity='barney@example.com' /> <option internal='dataTiming' targetHop='all' mustUnderstand='true' transID='86'> <dataTiming reportAfter='60000' /> </option> </data> S: <ok />

C:<データコンテンツ= 'CID:1@example.com'> <創始identity='fred@example.com '/> <受信者identity='barney@example.com' /> <オプション内部= 'dataTiming' targetHop = 'すべて' のmustUnderstand = 'true' のTRANSID = '86 '> <dataTiming reportAfter =' 60000' /> </オプション> </データ> S:<OK />

... some time later ...

... 今度いつか ...

                                   +-------+                  +-------+
                                   |       | <------- data -- |       |
                                   | relay |                  | relay |
                                   |  #n-1 | -- ok ---------> |   #n  |
                                   +-------+                  +-------+
        

C: <data content='#Content'> <originator identity='apex=report@example.com' /> <recipient identity='fred@example.com' /> <data-content Name='Content'> <statusResponse transID='86'> <destination identity='barney@example.com'> <reply code='350' /> </destination> </statusResponse> </data-content> </data> S: <ok />

C:<データコンテンツ= '#コンテンツ'> <創始identity='apex=report@example.com '/> <受信者identity='fred@example.com' /> <データコンテンツ名= 'コンテンツ'> < statusResponse TRANSID = '86 '> <先identity='barney@example.com'> <応答コード= '350' /> </宛先> </ statusResponse> </データコンテンツ> </データ> S:<OK />

3. The hold4Endpoint Option
3. hold4Endpointオプション

Section 5.3 contains the APEX option registration for the "hold4Endpoint" option.

5.3節では、「hold4Endpoint」オプションのAPEXオプションの登録が含まれています。

The default behavior of the APEX relaying mesh, in the absence of processing options, is to silently drop data for a recipient if its endpoint isn't attached. The "hold4Endpoint" option provides for data to be queued if the recipient endpoint is not attached.

APEX中継メッシュのデフォルトの動作は、処理オプションが存在しない場合に、そのエンドポイントが接続されていない場合は静かに受信者のためにデータをドロップすることです。受信者のエンドポイントが接続されていない場合はデータがキューイングされるために、「hold4Endpoint」オプションが用意されています。

If this option is present in the "data" operation (c.f., Section 4.4.4 of [1]), and the value of the "hold4Endpoint" attribute is true then:

このオプションは「データ」操作中に存在する場合(C.F.、[1]のセクション4.4.4)、及び「hold4Endpoint」属性の値は真です。

o For Step 5.3 of Section 4.4.4.1 of [1]:

セクション4.4.4.1のステップ5.3のO [1]:

If the recipient's endpoint is not currently attached, the relay will queue the data waiting for an application to attach as that endpoint.

受信者のエンドポイントが現在接続されていない場合は、リレーはそのエンドポイントとして添付するアプリケーションを待っているデータをキューに入れます。

Note that in the absence of an upper-bounds on delivery, such as limits provided by the dataTiming option (Section 2), the data will be queued indefinitely for the endpoint.

そのようなdataTimingオプション(セクション2)によって提供される制限などの送達に上部境界の非存在下では、データは、エンドポイントの無期限にキューイングされることに注意してください。

For example:

例えば:

        +-------+                  +-------+
        |       | -- data -------> |       |
        | appl. |                  | relay |
        |   #1  | <--------- ok -- |       |
        +-------+                  +-------+
        

C: <data content='cid:1@example.com'> <originator identity='fred@example.com' /> <recipient identity='barney@example.com' /> <option internal='hold4Endpoint' /> <option internal='dataTiming' targetHop='all' mustUnderstand='true' transID='86'> <dataTiming noLaterThan='60000' /> </option> </data> S: <ok />

C:<データコンテンツ= 'CID:1@example.com'> <創始identity='fred@example.com '/> <受信者identity='barney@example.com' /> <オプション内部= 'hold4Endpoint' / > <オプション内部= 'dataTiming' targetHop = 'すべて' のmustUnderstand = 'true' のTRANSID = '86 '> <dataTiming noLaterThan =' 60000' /> </オプション> </データ> S:<OK />

... some time later the recipient's endpoint attaches ...

...いくつかの時間後に、受信者のエンドポイントは、添付します...

                                   +-------+                  +-------+
                                   |       | <----- attach -- |       |
                                   |       |                  |       |
                                   |       | -- ok ---------> |       |
                                   | relay |                  | appl. |
                                   |       | -- data -------> |   #2  |
                                   |       |                  |       |
                                   |       | <--------- ok -- |       |
                                   +-------+                  +-------+
        

C: <attach endpoint='barney@example.com' transID='2'> <option internal='attachOverride' transID='3' /> </attach> S: <ok />

C:<添付endpoint='barney@example.com」TRANSID = '2'> <オプション内部= 'attachOverride' TRANSID = '3' /> </添付> S:<OK />

C: <data content='cid:1@example.com'> <originator identity='fred@example.com' /> <recipient identity='barney@example.com' /> <option internal='hold4Endpoint' /> <option internal='dataTiming' targetHop='all' mustUnderstand='true' transID='86'> <dataTiming noLaterThan='18000' /> </option> </data> S: <ok />

C:<データコンテンツ= 'CID:1@example.com'> <創始identity='fred@example.com '/> <受信者identity='barney@example.com' /> <オプション内部= 'hold4Endpoint' / > <オプション内部= 'dataTiming' targetHop = 'すべて' のmustUnderstand = 'true' のTRANSID = '86 '> <dataTiming noLaterThan =' 18000' /> </オプション> </データ> S:<OK />

4. The dataHopping Option
4. dataHoppingオプション

To detect misconfigurations that cause forwarding loops in the APEX relaying mesh, the APEX pubsub service re-introduces a mechanism similar to the IP TTL [2] mechanism, in the form of an APEX option. Section 5.4 contains the APEX option registration for the "dataHopping" option.

メッシュ中継APEXにおける転送ループを引き起こす設定ミスを検出するために、APEXのpubsubサービスAPEXオプションの形で[2]メカニズムIP TTLに似た機構を再導入します。 5.4節では、「dataHopping」オプションのAPEXオプションの登録が含まれています。

If this option is present in the "data" operation (c.f., Section 4.4.4 of [1]) and the value of the "noMoreThan" attribute is non-zero, then:

このオプションは、「データ」操作(C.F.、[1]のセクション4.4.4)に存在し、「noMoreThan」属性の値は、非ゼロである場合:

o For Step 5.2 of Section 4.4.4.1 of [1]:

セクション4.4.4.1のステップ5.2のO [1]:

Immediately prior to sending the data to the next relay, the value of the "noMoreThan" attribute is reduced by 1.

次のリレーにデータを送信する直前に、「noMoreThan」属性の値を1だけ減少されます。

If the value of the "noMoreThan" attribute becomes less than or equal to zero, an error in processing has occurred, the data element is not sent to the next relay, and if the "reportErrors" attribute is true, the APEX report service is invoked to send an error report.

「noMoreThan」属性の値がゼロ以下になる場合は、処理中にエラーが発生した、データ要素は、次の中継に送信されず、「reportErrorsは」属性がtrueの場合、APEXレポートサービスですエラー報告を送信するために呼び出さ。

Further, note that because this option is processed on a per-hop basis, the originator must set the "targetHop" attribute to the value "all" and the "mustUnderstand" attribute to the value "true".

さらに、このオプションはホップごとに処理されるため、発信者は、値「すべて」と値を「のmustUnderstand」属性「真」に「targetHop」属性を設定しなければならないことに注意してください。

If the APEX report service (c.f., Section 6.2 of [1]) is invoked to send an error report, it issues a data operation with:

APEXレポートサービス([1]のC.F.、6.2節)がエラー報告を送信するために呼び出された場合、それはでデータ操作を発行します。

o its originator identifying the report service associated with the issuing relay

Oその創始者は、発行リレーに関連付けられたレポートサービスを識別する

o its recipient identifying the endpoint address of the originator associated with the "dataHopping" option

「dataHopping」オプションに関連付けられた発信元のエンドポイントアドレスを特定の受信者O

o its content consisting of a "statusResponse" element having:

Oの含有量が有する「statusResponse」要素からなります。

* its "transID" attribute equal to the "transID" attribute of the "dataHopping" option

*その「TRANSIDは」「dataHopping」オプションの「TRANSID」属性と同じ属性

* and identifying the original recipient with a permanent failure indicator

*永久故障インジケータと元の受信者を識別する

For example:

例えば:

       +-------+                  +-------+
       |       | -- data -------> |       |
       | appl. |                  | relay |
       |       | <--------- ok -- |   #1  |
       +-------+                  +-------+
        
     C: <data content='cid:1@example.com'>
            <originator identity='appl=pubsub/topic=fred@example.com' />
            <recipient identity='barney@example.com' />
            <option internal='dataHopping' targetHop='all'
                    mustUnderstand='true' transID='86'>
                <dataHopping noMoreThan='2' reportErrors='true' />
            </option>
        </data>
     S: <ok />
                                  +-------+                  +-------+
                                  |       | -- data -------> |       |
                                  | relay |                  | relay |
                                  |   #1  | <--------- ok -- |   #2  |
                                  +-------+                  +-------+
        

C: <data content='cid:1@example.com'> <originator identity='appl=pubsub/topic=fred@example.com' /> <recipient identity='barney@example.com' /> <option internal='dataHopping' targetHop='all' mustUnderstand='true' transID='86'> <dataHopping noMoreThan='1' reportErrors='true' /> </option> </data> S: <ok />

C:<データコンテンツ= 'CID:1@example.com'> <創始identity='appl=pubsub/topic=fred@example.com '/> <受信者identity='barney@example.com' /> <オプション内部= 'dataHopping' targetHop = 'すべて' のmustUnderstand = 'true' のTRANSID = '86 '> <dataHopping noMoreThan =' 1' reportErrors = '真' /> </オプション> </データ> S:<OK />

relay #2 determines that further relaying is necessary:

リレー#2は、中継が必要であると判断します。

       +-------+                  +-------+
       |       | <------- data -- |       |
       | relay |                  | relay |
       |   #1  | -- ok ---------> |   #2  |
       +-------+                  +-------+
        

C: <data content='#Content'> <originator identity='apex=report@example.com' /> <recipient identity='appl=pubsub/topic=fred@example.com' /> <data-content Name='Content'> <statusResponse transID='86'> <destination identity='barney@example.com'> <reply code='550' /> </destination> </statusResponse> </data-content> </data> S: <ok />

C:<データコンテンツ= '#コンテンツ'> <創始identity='apex=report@example.com '/> <受信者identity='appl=pubsub/topic=fred@example.com' /> <データコンテンツ名= 'コンテンツ'> <statusResponse TRANSID = '86 '> <先identity='barney@example.com'> <応答コード= '550' /> </宛先> </ statusResponse> </データコンテンツ> </データ> S:<OK />

5. Initial Registrations
5.初期登録

The APEX option registration template is defined in Section 7.1 of [1].

APEXオプションの登録テンプレートは、[1]のセクション7.1で定義されています。

5.1 Registration: The attachOverride Option
5.1登録:attachOverrideオプション

Option Identification: attachOverride

オプション識別:attachOverride

Present in: APEX's "attach" element

APEXの「添付」要素:に存在します

Contains: nothing

含まれていません:何も

Processing Rules: c.f., Section 1

処理ルール:C.F.、第1節

Contact Information: c.f., the "Authors' Addresses" section of this memo

お問い合わせ先:C.F.、「著者のアドレス」このメモのセクション

5.2 Registration: The dataTiming Option
5.2登録:dataTimingオプション

Option Identification: dataTiming

オプション識別:dataTiming

Present in: APEX's "data" element

APEXの「データ」要素:に存在します

Contains: dataTiming (c.f., Section 6)

含まれていますdataTiming(C.F.、第6節)

Processing Rules: c.f., Section 2

処理ルール:C.F.、第2節

Contact Information: c.f., the "Authors' Addresses" section of this memo

お問い合わせ先:C.F.、「著者のアドレス」このメモのセクション

5.3 Registration: The hold4Endpoint Option
5.3登録:hold4Endpointオプション

Option Identification: hold4Endpoint

オプション識別:hold4Endpoint

Present in: APEX's "data" element

APEXの「データ」要素:に存在します

Contains: nothing

含まれていません:何も

Processing Rules: c.f., Section 3

処理ルール:C.F.、第3節

Contact Information: c.f., the "Authors' Addresses" section of this memo

お問い合わせ先:C.F.、「著者のアドレス」このメモのセクション

5.4 Registration: The dataHopping Option
5.4登録:dataHoppingオプション

Option Identification: dataHopping

オプション識別:dataHopping

Present in: APEX's "data" element

APEXの「データ」要素:に存在します

Contains: dataHopping (c.f., Section 6)

含まれていますdataHopping(C.F.、第6節)

Processing Rules: c.f., Section 4

処理ルール:C.F.、第4節

Contact Information: c.f., the "Authors' Addresses" section of this memo

お問い合わせ先:C.F.、「著者のアドレス」このメモのセクション

6. The APEX Party Pack DTD
6. APEXパーティーパックのDTD

<!-- DTD for the APEX option party pack, as of 2001-05-14

<! - DTD APEXオプションパーティーパックのため、2001年5月14日のように

Refer to this DTD as:

このDTDとしてご参照ください:

<!ENTITY % APEXPARTY PUBLIC "-//IETF//DTD APEX PARTY//EN" ""> %APEXPARTY; -->

<!ENTITY%APEXPARTY PUBLIC " - // IETF // DTD APEX PARTY // EN" "">%のAPEXPARTY。 - >

<!ENTITY % APEXCORE PUBLIC "-//IETF//DTD APEX CORE//EN" %APEXCORE;

<!ENTITY%のAPEXCORE PUBLIC " - // IETF // DTD APEX CORE // EN" %APEXCORE。

<!-- DTD data types:

<! - DTDデータタイプ:

          entity        syntax/reference     example
          ======        ================     =======
       hopcount
           HOPS         0..255               17
        

milli-seconds MILLISECS 0..2147483647 60000 -->

ミリ秒MILLISECS 0 2147483647 60000 - >

<!ENTITY % HOPS "CDATA"> <!ENTITY % MILLISECS "CDATA">

<!ENTITY%がHOPS "CDATA"> <!ENTITY%以下のMILLISECS "CDATA">

<!ELEMENT dataHopping EMPTY> <!ATTLIST dataHopping noMoreThan %HOPS; "0" reportErrors (true|false) "false">

<!ELEMENT dataHopping EMPTY> <!ATTLIST dataHopping noMoreThan%HOPS。 "0" reportErrors(真|偽) "偽">

<!ELEMENT dataTiming EMPTY> <!ATTLIST dataTiming noLaterThan %MILLISECS; "0" returnTrip %MILLISECS; "0" reportAfter %MILLISECS; "0" reportErrors (true|false) "false">

<!ELEMENT dataTiming EMPTY> <!ATTLIST dataTiming noLaterThan%MILLISECS。 "0" returnTrip%でMILLISECS。 "0" reportAfter%MILLISECS。 "0" reportErrors(真|偽) "偽">

7. Security Considerations
7.セキュリティの考慮事項

Consult [1]'s Section 11 for a discussion of security issues.

セキュリティ問題の議論については、[1]のセクション11を参照してください。

In addition:

加えて:

o The dataTiming option (Section 2) may be used to expose private network topology. Accordingly, an administrator may wish to choose to disable this option except at the ingress/egress points for its administrative domain.

dataTimingオプション(第2節)Oプライベートネットワークトポロジを公開するために使用することができます。したがって、管理者はその管理ドメインのための入口/出口ポイント以外では、このオプションを無効にするかを選択することもできます。

o The hold4Endpoint option (Section 3) may be used to facilitate denial-of-service attacks. Accordingly, an administrator may wish to impose administrative limits on this attribute (e.g., always require that the "dataTiming" option also be present with a short-lived "noLaterThan" attribute).

hold4EndpointオプションO(セクション3)は、サービス拒否攻撃を容易にするために使用されてもよいです。したがって、管理者は、この属性の管理者の制限を課すことを望むかもしれない(例えば、常に「dataTiming」オプションも短命「noLaterThan」属性を持つ存在することが必要)。

References

リファレンス

[1] Rose, M., Klyne, G. and D. Crocker, "The Application Exchange Core", RFC 3340, July 2002.

[1]ローズ、M.、Klyne、G.、およびD.クロッカー、 "アプリケーション交換コア"、RFC 3340、2002年7月。

[2] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.

[2]ポステル、J.、 "インターネットプロトコル"、STD 5、RFC 791、1981年9月。

[3] Newman, D., "Deliver By SMTP Service Extension", RFC 2852, June 2000.

[3]ニューマン、D.、RFC 2852、2000年6月 "SMTPサービス拡張による配達を"。

Appendix A. Acknowledgements

付録A.謝辞

The authors gratefully acknowledge the contributions of Chris Newman and Bob Wyman. Further, the dataTiming option is similar in function to "Deliver By" SMTP service extension defined by Dan Newman in [3].

作者は感謝クリス・ニューマンとボブ・ワイマンの貢献を認めます。さらに、dataTimingオプションは、[3]にダンニューマンによって定義されたSMTPサービス拡張「と配信」と機能的に類似しています。

Appendix B. IANA Considerations

付録B. IANAの考慮事項

The IANA completed the registrations specified in Section 5.

IANAはセクション5で指定された登録を完了しました。

Authors' Addresses

著者のアドレス

Graham Klyne Clearswift Corporation 1310 Waterside Arlington Business Park Theale, Reading RG7 4SA UK

グラハムKlyneクリアスウィフト株式会社1310水辺アーリントンビジネスパークTheale、読書RG7 4SA英国

Phone: +44 11 8903 8903 EMail: Graham.Klyne@MIMEsweeper.com

電話:+44 11 8903 8903 Eメール:Graham.Klyne@MIMEsweeper.com

Marshall T. Rose Dover Beach Consulting, Inc. POB 255268 Sacramento, CA 95865-5268 US

マーシャルT.ローズドーバービーチコンサルティング株式会社POB 255268サクラメント、CA 95865から5268米

Phone: +1 916 483 8878 EMail: mrose@dbc.mtview.ca.us

電話:+1 916 483 8878 Eメール:mrose@dbc.mtview.ca.us

Michael F. Schwartz Code On The Road, LLC

道路、LLCにはマイケルF.シュワルツコード

EMail: schwartz@CodeOnTheRoad.com URI: http://www.CodeOnTheRoad.com

電子メール:schwartz@CodeOnTheRoad.com URI:http://www.CodeOnTheRoad.com

Eric Dixon

エリック・ディクソン

EMail: edixon@myrealbox.com

メールアドレス:edixon@myrealbox.com

Huston Franklin

ヒューストンフランクリン

EMail: huston@franklin.ro

メールアドレス:huston@franklin.ro

Jay Kint

しかし、それは、

EMail: d20@icosahedron.org

メールアドレス:d20@icosahedron.org

Darren New 5390 Caminito Exquisito San Diego, CA 92130 US

ダレン新5390カミニートExquisitoサンディエゴ、CA 92130米国

Phone: +1 858 350 9733 EMail: dnew@san.rr.com

電話:+1 858 350 9733 Eメール:dnew@san.rr.com

Scott Pead

スコット・ヘッド

EMail: spead@fiber.net

メールアドレス:spead@fiber.net

Full Copyright Statement

完全な著作権声明

Copyright (C) The Internet Society (2002). All Rights Reserved.

著作権(C)インターネット協会(2002)。全著作権所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

この文書とその翻訳は、コピーして他の人に提供し、それ以外についてはコメントまたは派生物は、いかなる種類の制限もなく、全体的にまたは部分的に、準備コピーし、公表して配布することができることを説明したり、その実装を支援することができます、上記の著作権表示とこの段落は、すべてのそのようなコピーや派生物に含まれていることを条件とします。しかし、この文書自体は著作権のための手順はで定義されている場合には、インターネット標準を開発するために必要なものを除き、インターネットソサエティもしくは他のインターネット関連団体に著作権情報や参照を取り除くなど、どのような方法で変更されないかもしれませんインターネット標準化プロセスが続く、または英語以外の言語に翻訳するために、必要に応じなければなりません。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上記の制限は永久で、インターネット学会やその後継者や譲渡者によって取り消されることはありません。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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.

この文書とここに含まれている情報は、基礎とインターネットソサエティおよびインターネットエンジニアリングタスクフォースはすべての保証を否認し、明示または黙示、その情報の利用がない任意の保証を含むがこれらに限定されない「として、」上に設けられています特定の目的への権利または商品性または適合性の黙示の保証を侵害します。

Acknowledgement

謝辞

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC Editor機能のための基金は現在、インターネット協会によって提供されます。