[要約] RFC 3252は、バイナリレキシカルオクテットアドホックトランスポートに関する規格であり、データの効率的な転送を目的としています。要約すると、このRFCはバイナリデータの転送方法を定義しています。

Network Working Group                                         H. Kennedy
Request for Comments: 3252                                      Mimezine
Category: Informational                                     1 April 2002
        

Binary Lexical Octet Ad-hoc Transport

バイナリ語彙オクテットアドホックトランスポート

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 (2002). All Rights Reserved.

Copyright(C)The Internet Society(2002)。全著作権所有。

Abstract

概要

This document defines a reformulation of IP and two transport layer protocols (TCP and UDP) as XML applications.

このドキュメントでは、XMLアプリケーションとして、IPおよび2つのトランスポート層プロトコル(TCPおよびUDP)の再定式化を定義しています。

1. Introduction
1. はじめに
1.1. Overview
1.1. 概観

This document describes the Binary Lexical Octet Ad-hoc Transport (BLOAT): a reformulation of a widely-deployed network-layer protocol (IP [RFC791]), and two associated transport layer protocols (TCP [RFC793] and UDP [RFC768]) as XML [XML] applications. It also describes methods for transporting BLOAT over Ethernet and IEEE 802 networks as well as encapsulating BLOAT in IP for gatewaying BLOAT across the public Internet.

このドキュメントでは、バイナリレキシカルオクテットアドホックトランスポート(BLOAT):広く展開されているネットワークレイヤープロトコル(IP [RFC791])、および2つの関連するトランスポートレイヤープロトコル(TCP [RFC793]およびUDP [RFC768])の再定式化について説明します。 XML [XML]アプリケーションとして。また、イーサネットおよびIEEE 802ネットワークを介してBLOATを転送する方法、および公衆インターネット全体でBLOATをゲートウェイ処理するためにIPにBLOATをカプセル化する方法についても説明します。

1.2. Motivation
1.2. 動機

The wild popularity of XML as a basis for application-level protocols such as the Blocks Extensible Exchange Protocol [RFC3080], the Simple Object Access Protocol [SOAP], and Jabber [JABBER] prompted investigation into the possibility of extending the use of XML in the protocol stack. Using XML at both the transport and network layer in addition to the application layer would provide for an amazing amount of power and flexibility while removing dependencies on proprietary and hard-to-understand binary protocols. This protocol unification would also allow applications to use a single XML parser for all aspects of their operation, eliminating developer time spent figuring out the intricacies of each new protocol, and moving the hard work of parsing to the XML toolset. The use of XML also mitigates concerns over "network vs. host" byte ordering which is at the root of many network application bugs.

Blocks Extensible Exchange Protocol [RFC3080]、Simple Object Access Protocol [SOAP]、Jabber [JABBER]などのアプリケーションレベルプロトコルの基盤としてのXMLの人気は、XMLの使用を拡張する可能性の調査を促しました。プロトコルスタック。アプリケーションレイヤーに加えてトランスポートレイヤーとネットワークレイヤーの両方でXMLを使用すると、独自の理解しにくいバイナリプロトコルへの依存を排除​​しながら、驚異的なパワーと柔軟性を提供します。このプロトコルの統合により、アプリケーションは操作のすべての側面で単一のXMLパーサーを使用できるようになり、開発者が新しい各プロトコルの複雑さを理解し、解析のハードワークをXMLツールセットに移すのに費やす時間を削減できます。 XMLを使用すると、ネットワークアプリケーションの多くのバグの原因となっている「ネットワーク対ホスト」のバイト順序に関する懸念も軽減されます。

1.3. Relation to Existing Protocols
1.3. 既存のプロトコルとの関係

The reformulations specified in this RFC follow as closely as possible the spirit of the RFCs on which they are based, and so MAY contain elements or attributes that would not be needed in a pure reworking (e.g. length attributes, which are implicit in XML.)

このRFCで指定されている再定式化は、それらが基づいているRFCの精神に可能な限り厳密に従っているため、純粋なリワークでは必要のない要素または属性(たとえば、XMLに暗黙的に含まれる長さ属性)を含めることができます(MAY)。

The layering of network and transport protocols are maintained in this RFC despite the optimizations that could be made if the line were somewhat blurred (i.e. merging TCP and IP into a single, larger element in the DTD) in order to foster future use of this protocol as a basis for reformulating other protocols (such as ICMP.)

このプロトコルの将来の使用を促進するために回線が多少ぼやけている場合(つまり、TCPとIPを単一の大きな要素にマージする場合)に行われる可能性のある最適化にもかかわらず、ネットワークとトランスポートプロトコルの階層化はこのRFCで維持されます。他のプロトコル(ICMPなど)を再構築するための基礎として。

Other than the encoding, the behavioral aspects of each of the existing protocols remain unchanged. Routing, address spaces, TCP congestion control, etc. behave as specified in the extant standards. Adapting to new standards and experimental algorithm heuristics for improving performance will become much easier once the move to BLOAT has been completed.

エンコーディング以外は、既存の各プロトコルの動作の側面は変更されていません。ルーティング、アドレススペース、TCP輻輳制御などは、現在の標準で指定されているとおりに動作します。 BLOATへの移行が完了すると、パフォーマンスを改善するための新しい標準と実験アルゴリズムヒューリスティックスへの適応がはるかに容易になります。

1.4. Requirement Levels
1.4. 要件レベル

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [RFC2119].

このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 BCP 14、RFC 2119 [RFC2119]で説明されているように解釈されます。

2. IPoXML
2. IPoXML

This protocol MUST be implemented to be compliant with this RFC. IPoXML is the root protocol REQUIRED for effective use of TCPoXML (section 3.) and higher-level application protocols.

このプロトコルは、このRFCに準拠するように実装する必要があります。 IPoXMLは、TCPoXML(セクション3.)およびより高レベルのアプリケーションプロトコルを効果的に使用するために必要なルートプロトコルです。

The DTD for this document type can be found in section 7.1.

このドキュメントタイプのDTDはセクション7.1にあります。

The routing of IPoXML can be easily implemented on hosts with an XML parser, as the regular structure lends itself handily to parsing and validation of the document/datagram and then processing the destination address, TTL, and checksum before sending it on to its next-hop.

通常の構造はドキュメント/データグラムの解析と検証に役立ち、次に宛先アドレス、TTL、チェックサムを処理してから次のアドレスに送信するため、IPoXMLのルーティングはXMLパーサーを使用してホストに簡単に実装できます。ホップ。

The reformulation of IPv4 was chosen over IPv6 [RFC2460] due to the wider deployment of IPv4 and the fact that implementing IPv6 as XML would have exceeded the 1500 byte Ethernet MTU.

IPv4のより広範な展開と、XMLとしてIPv6を実装すると1500バイトのイーサネットMTUを超えることになるため、IPv4の再定式化はIPv6 [RFC2460]よりも選択されました。

All BLOAT implementations MUST use - and specify - the UTF-8 encoding of RFC 2279 [RFC2279]. All BLOAT document/datagrams MUST be well-formed and include the XMLDecl.

すべてのBLOAT実装は、RFC 2279 [RFC2279]のUTF-8エンコーディングを使用し、指定する必要があります。すべてのBLOATドキュメント/データグラムは整形式でなければならず、XMLDeclを含める必要があります。

2.1. IP Description
2.1. IP説明

A number of items have changed (for the better) from the original IP specification. Bit-masks, where present have been converted into human-readable values. IP addresses are listed in their dotted-decimal notation [RFC1123]. Length and checksum values are present as decimal integers.

多くの項目が、元のIP仕様から(より良く)変更されています。存在する場合、ビットマスクは人間が読める値に変換されています。 IPアドレスは、ドット付き10進表記[RFC1123]でリストされています。長さとチェックサム値は、10進整数として存在します。

To calculate the length and checksum fields of the IP element, a canonicalized form of the element MUST be used. The canonical form SHALL have no whitespace (including newline characters) between elements and only one space character between attributes. There SHALL NOT be a space following the last attribute in an element.

IPエレメントの長さとチェックサムフィールドを計算するには、エレメントの正規化された形式を使用する必要があります。正規形式は、要素間に空白文字(改行文字を含む)がなく、属性間に空白文字が1つだけある必要があります(SHALL)。要素の最後の属性に続くスペースはありません。

An iterative method SHOULD be used to calculate checksums, as the length field will vary based on the size of the checksum.

長さフィールドはチェックサムのサイズに基づいて変化するため、反復法を使用してチェックサムを計算する必要があります(SHOULD)。

The payload element bears special attention. Due to the character set restrictions of XML, the payload of IP datagrams (which MAY contain arbitrary data) MUST be encoded for transport. This RFC REQUIRES the contents of the payload to be encoded in the base-64 encoding of RFC 2045 [RFC2045], but removes the requirement that the encoded output MUST be wrapped on 76-character lines.

ペイロード要素には特別な注意が必要です。 XMLの文字セット制限のため、IPデータグラムのペイロード(任意のデータが含まれる場合があります)は転送用にエンコードする必要があります。このRFCは、RFC 2045 [RFC2045]のbase-64エンコーディングでエンコードされるペイロードのコンテンツを要求しますが、エンコードされた出力を76文字の行でラップする必要があるという要件を削除します。

2.2. Example Datagram
2.2. データグラムの例

The following is an example IPoXML datagram with an empty payload:

以下は、ペイロードが空のIPoXMLデータグラムの例です。

   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE ip PUBLIC "-//IETF//DTD BLOAT 1.0 IP//EN" "bloat.dtd">
   <ip>
   <header length="474">
   <version value="4"/>
   <tos precedence="Routine" delay="Normal" throughput="Normal"
        relibility="Normal" reserved="0"/>
   <total.length value="461"/>
   <id value="1"/>
   <flags reserved="0" df="dont" mf="last"/>
   <offset value="0"/>
   <ttl value="255"/>
   <protocol value="6"/>
   <checksum value="8707"/>
   <source address="10.0.0.22"/>
   <destination address="10.0.0.1"/>
   <options>
   <end copied="0" class="0" number="0"/>
   </options>
   <padding pad="0"/>
   </header>
   <payload>
   </payload>
   </ip>
        
3. TCPoXML
3. TCPoXML

This protocol MUST be implemented to be compliant with this RFC. The DTD for this document type can be found in section 7.2.

このプロトコルは、このRFCに準拠するように実装する必要があります。このドキュメントタイプのDTDは、セクション7.2にあります。

3.1. TCP Description
3.1. TCPの説明

A number of items have changed from the original TCP specification. Bit-masks, where present have been converted into human-readable values. Length and checksum and port values are present as decimal integers.

多くの項目が元のTCP仕様から変更されています。存在する場合、ビットマスクは人間が読める値に変換されています。長さ、チェックサム、およびポートの値は、10進整数として表示されます。

To calculate the length and checksum fields of the TCP element, a canonicalized form of the element MUST be used as in section 2.1.

TCP要素の長さとチェックサムフィールドを計算するには、2.1のように、要素の正規化された形式を使用する必要があります。

An iterative method SHOULD be used to calculate checksums as in section 2.1.

セクション2.1のように、チェックサムを計算するには反復法を使用する必要があります(SHOULD)。

The payload element MUST be encoded as in section 2.1.

ペイロード要素は、セクション2.1のようにエンコードする必要があります。

The TCP offset element was expanded to a maximum of 255 from 16 to allow for the increased size of the header in XML.

TCPオフセット要素が16から最大255に拡張され、XMLのヘッダーのサイズを大きくできるようになりました。

TCPoXML datagrams encapsulated by IPoXML MAY omit the <?xml?> header as well as the <!DOCTYPE> declaration.

IPoXMLによってカプセル化されたTCPoXMLデータグラムは、<?xml?>ヘッダーと<!DOCTYPE>宣言を省略してもよい(MAY)。

3.2. Example Datagram
3.2. データグラムの例

The following is an example TCPoXML datagram with an empty payload:

以下は、ペイロードが空のTCPoXMLデータグラムの例です。

   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE tcp PUBLIC "-//IETF//DTD BLOAT 1.0 TCP//EN" "bloat.dtd">
   <tcp>
   <tcp.header>
   <src port="31415"/>
   <dest port="42424"/>
   <sequence number="322622954"/>
   <acknowledgement number="689715995"/>
   <offset number=""/>
   <reserved value="0"/>
   <control syn="1" ack="1"/>
   <window size="1"/>
   <urgent pointer="0"/>
   <checksum value="2988"/>
   <tcp.options>
   <tcp.end kind="0"/>
   </tcp.options>
   <padding pad="0"/>
   </tcp.header>
   <payload>
   </payload>
   </tcp>
        
4. UDPoXML
4. UDPoXML

This protocol MUST be implemented to be compliant with this RFC. The DTD for this document type can be found in section 7.3.

このプロトコルは、このRFCに準拠するように実装する必要があります。このドキュメントタイプのDTDは、セクション7.3にあります。

4.1. UDP Description
4.1. UDPの説明

A number of items have changed from the original UDP specification. Bit-masks, where present have been converted into human-readable values. Length and checksum and port values are present as decimal integers.

多くの項目が元のUDP仕様から変更されました。存在する場合、ビットマスクは人間が読める値に変換されています。長さ、チェックサム、およびポートの値は、10進整数として表示されます。

To calculate the length and checksum fields of the UDP element, a canonicalized form of the element MUST be used as in section 2.1. An iterative method SHOULD be used to calculate checksums as in section 2.1.

UDPエレメントの長さとチェックサムフィールドを計算するには、セクション2.1のように、エレメントの正規化された形式を使用する必要があります。セクション2.1のように、チェックサムを計算するには反復法を使用する必要があります(SHOULD)。

The payload element MUST be encoded as in section 2.1.

ペイロード要素は、セクション2.1のようにエンコードする必要があります。

UDPoXML datagrams encapsulated by IPoXML MAY omit the <?xml?> header as well as the <!DOCTYPE> declaration.

IPoXMLによってカプセル化されたUDPoXMLデータグラムは、<?xml?>ヘッダーと<!DOCTYPE>宣言を省略してもよい(MAY)。

4.2. Example Datagram
4.2. データグラムの例

The following is an example UDPoXML datagram with an empty payload:

以下は、ペイロードが空のUDPoXMLデータグラムの例です。

   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE udp PUBLIC "-//IETF//DTD BLOAT 1.0 UDP//EN" "bloat.dtd">
   <udp>
   <udp.header>
   <src port="31415"/>
   <dest port="42424"/>
   <udp.length value="143"/>
   <checksum value="2988"/>
   </udp.header>
   <payload>
   </payload>
   </udp>
        
5. Network Transport
5. ネットワークトランスポート

This document provides for the transmission of BLOAT datagrams over two common families of physical layer transport. Future RFCs will address additional transports as routing vendors catch up to the specification, and we begin to see BLOAT routed across the Internet backbone.

このドキュメントでは、物理層トランスポートの2つの一般的なファミリーを介したBLOATデータグラムの送信について説明しています。ルーティングベンダーが仕様に追いつくにつれて、将来のRFCは追加のトランスポートに対応し、インターネットバックボーン全体にBLOATがルーティングされるのを見始めます。

5.1. Ethernet
5.1. イーサネット

BLOAT is encapsulated in Ethernet datagrams as in [RFC894] with the exception that the type field of the Ethernet frame MUST contain the value 0xBEEF. The first 5 octets of the Ethernet frame payload will be 0x3c 3f 78 6d 6c ("<?xml".)

イーサネットフレームのタイプフィールドに値0xBEEFが含まれていなければならないことを除いて、BLOATは[RFC894]のようにイーサネットデータグラムにカプセル化されます。イーサネットフレームペイロードの最初の5オクテットは0x3c 3f 78 6d 6c( "<?xml"です。)

5.2. IEEE 802
5.2. IEEE 802

BLOAT is encapsulated in IEEE 802 Networks as in [RFC1042] except that the protocol type code for IPoXML is 0xBEEF.

BLOATは、IPoXMLのプロトコルタイプコードが0xBEEFであることを除いて、[RFC1042]と同様にIEEE 802ネットワークでカプセル化されます。

6. Gatewaying over IP
6. IP経由のゲートウェイ

In order to facilitate the gradual introduction of BLOAT into the public Internet, BLOAT MAY be encapsulated in IP as in [RFC2003] to gateway between networks that run BLOAT natively on their LANs.

公衆インターネットへのBLOATの段階的な導入を容易にするために、BLOATは、[RFC2003]のようにIPにカプセル化して、LANでネイティブにBLOATを実行するネットワーク間のゲートウェイにすることができます。

7. DTDs
7. DTD

The Transport DTDs (7.2. and 7.3.) build on the definitions in the Network DTD (7.1.)

トランスポートDTD(7.2。および7.3。)は、ネットワークDTD(7.1。)の定義に基づいています。

The DTDs are referenced by their PubidLiteral and SystemLiteral (from [XML]) although it is understood that most IPoXML implementations will not need to pull down the DTD, as it will normally be embedded in the implementation, and presents something of a catch-22 if you need to load part of your network protocol over the network.

DTDはそれらのPubidLiteralおよびSystemLiteral([XML]から)によって参照されますが、ほとんどのIPoXML実装はDTDをプルダウンする必要がないことは理解されています。ネットワーク経由でネットワークプロトコルの一部をロードする必要がある場合。

7.1. IPoXML DTD
7.1. IPoXML DTD

<!-- DTD for IP over XML. Refer to this DTD as:

<!-IP over XMLのDTD。このDTDを次のように参照してください。

<!DOCTYPE ip PUBLIC "-//IETF//DTD BLOAT 1.0 IP//EN" "bloat.dtd"> --> <!-- DTD data types:

<!DOCTYPE ip PUBLIC "-// IETF // DTD BLOAT 1.0 IP // EN" "bloat.dtd">-> <!-DTDデータタイプ:

Digits [0..9]+

数字[0..9] +

Precedence "NetworkControl | InternetworkControl | CRITIC | FlashOverride | Flash | Immediate | Priority | Routine"

優先度「NetworkControl | InternetworkControl | CRITIC | FlashOverride | Flash | Immediate | Priority | Routine」

IP4Addr "dotted-decimal" notation of [RFC1123]

[RFC1123]のIP4Addr "ドット付き10進"表記

Class [0..3]

クラス[0..3]

Sec "Unclassified | Confidential | EFTO | MMMM | PROG | Restricted | Secret | Top Secret | Reserved"

Sec「未分類|機密情報| EFTO | MMMM | PROG |制限付き|シークレット|トップシークレット|予約済​​み」

Compartments [0..65535]

コンパートメント[0..65535]

Handling [0..65535]

処理[0..65535]

TCC [0..16777216]

TCC [0..16777216]

-->

ーー>

   <!ENTITY % Digits "CDATA">
   <!ENTITY % Precedence "CDATA">
   <!ENTITY % IP4Addr "CDATA">
   <!ENTITY % Class "CDATA">
   <!ENTITY % Sec "CDATA">
   <!ENTITY % Compartments "CDATA">
   <!ENTITY % Handling "CDATA">
   <!ENTITY % TCC "CDATA">
        
   <!ELEMENT ip (header, payload)>
        
   <!ELEMENT header (version, tos, total.length, id, flags, offset, ttl,
                    protocol, checksum, source, destination, options,
                    padding)>
   <!-- length of header in 32-bit words -->
   <!ATTLIST header
             length %Digits; #REQUIRED>
        
   <!ELEMENT version EMPTY>
   <!-- ip version. SHOULD be "4" -->
   <!ATTLIST version
             value   %Digits;  #REQUIRED>
        
   <!ELEMENT tos EMPTY>
   <!ATTLIST tos
             precedence   %Precedence;    #REQUIRED
             delay    (normal | low)  #REQUIRED
             throughput   (normal | high) #REQUIRED
             relibility   (normal | high) #REQUIRED
             reserved     CDATA #FIXED "0">
        
   <!ELEMENT total.length EMPTY>
   <!--
    total length of datagram (header and payload) in octets, MUST be
    less than 65,535 (and SHOULD be less than 1024 for IPoXML on local
    ethernets).
   -->
   <!ATTLIST total.length
             value %Digits; #REQUIRED>
        
   <!ELEMENT id EMPTY>
   <!-- 0 <= id <= 65,535  -->
   <!ATTLIST id
             value %Digits; #REQUIRED>
        
   <!ELEMENT flags EMPTY>
   <!-- df = don't fragment, mf = more fragments  -->
   <!ATTLIST flags
        

reserved CDATA #FIXED "0" df (may|dont) #REQUIRED mf (last|more) #REQUIRED>

予約済みCDATA #FIXED "0" df(may | dont)#REQUIRED mf(last | more)#REQUIRED>

   <!ELEMENT offset EMPTY>
   <!-- 0 <= offset <= 8192 measured in 8 octet (64-bit) chunks -->
   <!ATTLIST offset
             value %Digits; #REQUIRED>
        
   <!ELEMENT ttl EMPTY>
   <!-- 0 <= ttl <= 255 -->
   <!ATTLIST ttl
             value %Digits; #REQUIRED>
        
   <!ELEMENT protocol EMPTY>
   <!-- 0 <= protocol <= 255 (per IANA) -->
   <!ATTLIST protocol
             value %Digits; #REQUIRED>
        
   <!ELEMENT checksum EMPTY>
   <!-- 0 <= checksum <= 65535 (over header only) -->
   <!ATTLIST checksum
             value %Digits; #REQUIRED>
        
   <!ELEMENT source EMPTY>
   <!ATTLIST source
             address %IP4Addr; #REQUIRED>
        
   <!ELEMENT destination EMPTY>
   <!ATTLIST destination
             address %IP4Addr; #REQUIRED>
        
   <!ELEMENT options ( end | noop | security | loose | strict | record
                     | stream | timestamp )*>
        
   <!ELEMENT end EMPTY>
   <!ATTLIST end
             copied (0|1) #REQUIRED
             class  CDATA #FIXED "0"
             number CDATA #FIXED "0">
        
   <!ELEMENT noop EMPTY>
   <!ATTLIST noop
             copied (0|1) #REQUIRED
             class  CDATA #FIXED "0"
             number CDATA #FIXED "1">
        
   <!ELEMENT security EMPTY>
        
   <!ATTLIST security
             copied CDATA #FIXED "1"
             class  CDATA #FIXED "0"
             number CDATA #FIXED "2"
             length CDATA #FIXED "11"
             security %Sec; #REQUIRED
             compartments %Compartments; #REQUIRED
             handling %Handling; #REQUIRED
             tcc %TCC; #REQUIRED>
   <!ELEMENT loose (hop)+>
   <!ATTLIST loose
             copied CDATA #FIXED "1"
             class  CDATA #FIXED "0"
             number CDATA #FIXED "3"
             length %Digits; #REQUIRED
             pointer %Digits; #REQUIRED>
        
   <!ELEMENT hop EMPTY>
   <!ATTLIST hop
             address %IP4Addr; #REQUIRED>
        
   <!ELEMENT strict (hop)+>
   <!ATTLIST strict
             copied CDATA #FIXED "1"
             class  CDATA #FIXED "0"
             number CDATA #FIXED "9"
             length %Digits; #REQUIRED
             pointer %Digits; #REQUIRED>
        
   <!ELEMENT record (hop)+>
   <!ATTLIST record
             copied CDATA #FIXED "0"
             class  CDATA #FIXED "0"
             number CDATA #FIXED "7"
             length %Digits; #REQUIRED
             pointer %Digits; #REQUIRED>
        
   <!ELEMENT stream EMPTY>
   <!-- 0 <= id <= 65,535 -->
   <!ATTLIST stream
             copied CDATA #FIXED "1"
             class  CDATA #FIXED "0"
             number CDATA #FIXED "8"
             length CDATA #FIXED "4"
             id %Digits; #REQUIRED>
        
   <!ELEMENT timestamp (tstamp)+>
   <!-- 0 <= oflw <=15 -->
        
   <!ATTLIST timestamp
             copied CDATA #FIXED "0"
             class  CDATA #FIXED "2"
             number CDATA #FIXED "4"
             length %Digits;  #REQUIRED
             pointer %Digits; #REQUIRED
             oflw %Digits;    #REQUIRED
             flag (0 | 1 | 3)  #REQUIRED>
        
   <!ELEMENT tstamp EMPTY>
   <!ATTLIST tstamp
             time %Digits;   #REQUIRED
             address %IP4Addr; #IMPLIED>
   <!--
       padding to bring header to 32-bit boundary.
       pad MUST be "0"*
    -->
   <!ELEMENT padding EMPTY>
   <!ATTLIST padding
             pad CDATA #REQUIRED>
        
   <!-- payload MUST be encoded as base-64 [RFC2045], as modified
        by section 2.1 of this RFC -->
   <!ELEMENT payload (CDATA)>
        
7.2. TCPoXML DTD
7.2. TCPoXML DTD

<!-- DTD for TCP over XML. Refer to this DTD as:

<!-XML over TCPのDTD。このDTDを次のように参照してください。

      <!DOCTYPE tcp PUBLIC "-//IETF//DTD BLOAT 1.0 TCP//EN" "bloat.dtd">
   -->
        
   <!-- the pseudoheader is only included for checksum calculations -->
   <!ELEMENT tcp (tcp.pseudoheader?, tcp.header, payload)>
        

<!ELEMENT tcp.header (src, dest, sequence, acknowledgement, offset, reserved, control, window, checksum, urgent, tcp.options, padding)>

<!ELEMENT tcp.header(src、dest、sequence、acknowledgement、offset、reserved、control、window、checksum、urgent、tcp.options、padding)>

   <!ELEMENT src EMPTY>
   <!-- 0 <= port <= 65,535 -->
   <!ATTLIST src
             port %Digits; #REQUIRED>
        
   <!ELEMENT dest EMPTY>
   <!-- 0 <= port <= 65,535 -->
        
   <!ATTLIST dest
             port %Digits; #REQUIRED>
        
   <!ELEMENT sequence EMPTY>
   <!-- 0 <= number <= 4294967295 -->
   <!ATTLIST sequence
             number %Digits; #REQUIRED>
        
   <!ELEMENT acknowledgement EMPTY>
   <!-- 0 <= number <= 4294967295 -->
   <!ATTLIST acknowledgement
             number %Digits; #REQUIRED>
        
   <!ELEMENT offset EMPTY>
   <!-- 0 <= number <= 255 -->
   <!ATTLIST offset
             number %Digits; #REQUIRED>
        
   <!ELEMENT reserved EMPTY>
   <!ATTLIST reserved
             value CDATA #FIXED "0">
        
   <!ELEMENT control EMPTY>
   <!ATTLIST control
             urg (0|1) #IMPLIED
             ack (0|1) #IMPLIED
             psh (0|1) #IMPLIED
             rst (0|1) #IMPLIED
             syn (0|1) #IMPLIED
             fin (0|1) #IMPLIED>
        
   <!ELEMENT window EMPTY>
   <!-- 0 <= size <= 65,535 -->
   <!ATTLIST window
             size %Digits; #REQUIRED>
        
   <!--
      checksum as in ip, but with
      the following pseudo-header added into the tcp element:
     -->
   <!ELEMENT tcp.pseudoheader (source, destination, protocol,
                               tcp.length)>
        

<!-- tcp header + data length in octets. does not include the size of

<!-tcpヘッダー+オクテット単位のデータ長。のサイズは含みません

the pseudoheader. -->

疑似ヘッダー。 ->

   <!ELEMENT tcp.length EMPTY>
   <!ATTLIST tcp.length
             value %Digits; #REQUIRED>
        
   <!ELEMENT urgent EMPTY>
   <!-- 0 <= pointer <= 65,535 -->
   <!ATTLIST urgent
             pointer %Digits; #REQUIRED>
        
   <!ELEMENT tcp.options (tcp.end | tcp.noop | tcp.mss)+>
        
   <!ELEMENT tcp.end EMPTY>
   <!ATTLIST tcp.end
             kind CDATA #FIXED "0">
        
   <!ELEMENT tcp.noop EMPTY>
   <!ATTLIST tcp.noop
             kind CDATA #FIXED "1">
        
   <!ELEMENT tcp.mss EMPTY>
   <!ATTLIST tcp.mss
             kind CDATA #FIXED "2"
             length CDATA #FIXED "4"
             size %Digits; #REQUIRED>
        
7.3. UDPoXML DTD
7.3. UDPoXML DTD

<!-- DTD for UDP over XML. Refer to this DTD as:

<!-UDP over XMLのDTD。このDTDを次のように参照してください。

      <!DOCTYPE udp PUBLIC "-//IETF//DTD BLOAT 1.0 UDP//EN" "bloat.dtd">
   -->
        
   <!ELEMENT udp (udp.pseudoheader?, udp.header, payload)>
        
   <!ELEMENT udp.header (src, dest, udp.length, checksum)>
        

<!ELEMENT udp.pseudoheader (source, destination, protocol, udp.length)>

<!ELEMENT udp.pseudoheader(ソース、宛先、プロトコル、udp.length)>

   <!--
      udp header + data length in octets. does not include the size of
      the pseudoheader.
    -->
   <!ELEMENT udp.length EMPTY>
   <!ATTLIST udp.length
             value %Digits; #REQUIRED>
        
8. Security Considerations
8. セキュリティに関する考慮事項

XML, as a subset of SGML, has the same security considerations as specified in SGML Media Types [RFC1874]. Security considerations that apply to IP, TCP and UDP also likely apply to BLOAT as it does not attempt to correct for issues not related to message format.

XMLは、SGMLのサブセットとして、SGMLメディアタイプ[RFC1874]で指定されているものと同じセキュリティ上の考慮事項があります。 IP、TCP、およびUDPに適用されるセキュリティの考慮事項は、メッセージ形式に関連しない問題を修正しようとしないため、BLOATにも適用される可能性があります。

9. References
9. 参考文献

[JABBER] Miller, J., "Jabber", draft-miller-jabber-00.txt, February 2002. (Work in Progress)

[JABBER] Miller、J。、「Jabber」、draft-miller-jabber-00.txt、2002年2月。(作業中)

[RFC768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980.

[RFC768] Postel、J。、「User Datagram Protocol」、STD 6、RFC 768、1980年8月。

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

[RFC791] Postel、J。、「インターネットプロトコル」、STD 5、RFC 791、1981年9月。

[RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, September 1981.

[RFC793] Postel、J。、「Transmission Control Protocol」、STD 7、RFC 793、1981年9月。

[RFC894] Hornig, C., "Standard for the Transmission of IP Datagrams over Ethernet Networks.", RFC 894, April 1984.

[RFC894] Hornig、C。、「イーサネットネットワークを介したIPデータグラムの伝送の標準」、RFC 894、1984年4月。

[RFC1042] Postel, J. and J. Reynolds, "Standard for the Transmission of IP Datagrams Over IEEE 802 Networks", STD 43, RFC 1042, February 1988.

[RFC1042]ポステルJ.およびJ.レイノルズ、「IEEE 802ネットワークを介したIPデータグラムの送信に関する標準」、STD 43、RFC 1042、1988年2月。

[RFC1123] Braden, R., "Requirements for Internet Hosts - Application and Support", RFC 1123, October 1989.

[RFC1123] Braden、R。、「インターネットホストの要件-アプリケーションとサポート」、RFC 1123、1989年10月。

[RFC1874] Levinson, E., "SGML Media Types", RFC 1874, December 1995.

[RFC1874] Levinson、E。、「SGML Media Types」、RFC 1874、1995年12月。

[RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, October 1996.

[RFC2003]パーキンス、C。、「IP内のIPカプセル化」、RFC 2003、1996年10月。

[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996.

[RFC2045] Freed、N。およびN. Borenstein、「Multipurpose Internet Mail Extensions(MIME)Part One:Format of Internet Message Bodies」、RFC 2045、1996年11月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, January 1998.

[RFC2279] Yergeau、F。、「UTF-8、ISO 10646の変換フォーマット」、RFC 2279、1998年1月。

[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.

[RFC2460] Deering、S。およびR. Hinden、「インターネットプロトコル、バージョン6(IPv6)仕様」、RFC 2460、1998年12月。

[RFC3080] Rose, M., "The Blocks Extensible Exchange Protocol Core", RFC 3080, March 2001.

[RFC3080] Rose、M。、「The Blocks Extensible Exchange Protocol Core」、RFC 3080、2001年3月。

   [SOAP]      Box, D., Ehnebuske, D., Kakivaya, G., Layman, A.,
               Mendelsohn, N., Nielsen, H. F., Thatte, S. Winer, D.,
               "Simple Object Access Protocol (SOAP) 1.1" World Wide Web
               Consortium Note, May 2000 http://www.w3.org/TR/SOAP/
        
   [XML]       Bray, T., Paoli, J., Sperberg-McQueen, C. M., "Extensible
               Markup Language (XML)" World Wide Web Consortium
               Recommendation REC- xml-19980210.
               http://www.w3.org/TR/1998/REC-xml-19980210
        
10. Author's Address
10. 著者のアドレス

Hugh Kennedy Mimezine 1060 West Addison Chicago, IL 60613 USA

Hugh Kennedy Mimezine 1060 West Addison Chicago、IL 60613 USA

   EMail: kennedyh@engin.umich.edu
        
11. 完全な著作権表示

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

Copyright(C)The Internet Society(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機能への資金提供は、現在Internet Societyから提供されています。