| |
| |
| |
| |
| |
| |
| 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. |
| |
| Abstract |
| |
| This document defines a reformulation of IP and two transport layer |
| protocols (TCP and UDP) as XML applications. |
| |
| 1. Introduction |
| |
| 1.1. Overview |
| |
| 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. |
| |
| 1.2. Motivation |
| |
| 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 |
| |
| |
| |
| |
| Kennedy Informational [Page 1] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| 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. |
| |
| 1.3. Relation to Existing Protocols |
| |
| 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.) |
| |
| 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.) |
| |
| 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. |
| |
| 1.4. Requirement Levels |
| |
| 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]. |
| |
| 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. |
| |
| The DTD for this document type can be found in section 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. |
| |
| 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. |
| |
| |
| |
| Kennedy Informational [Page 2] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| 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. |
| |
| 2.1. IP Description |
| |
| 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. |
| |
| 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. |
| |
| An iterative method SHOULD be used to calculate checksums, as the |
| length field will vary based on the size of the checksum. |
| |
| 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. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Kennedy Informational [Page 3] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| 2.2. Example Datagram |
| |
| The following is an example IPoXML datagram with an empty payload: |
| |
| <?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 |
| |
| This protocol MUST be implemented to be compliant with this RFC. The |
| DTD for this document type can be found in section 7.2. |
| |
| 3.1. TCP Description |
| |
| 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. |
| |
| 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. |
| |
| An iterative method SHOULD be used to calculate checksums as in |
| section 2.1. |
| |
| The payload element MUST be encoded as in section 2.1. |
| |
| |
| |
| Kennedy Informational [Page 4] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| The TCP offset element was expanded to a maximum of 255 from 16 to |
| allow for the increased size of the header in XML. |
| |
| TCPoXML datagrams encapsulated by IPoXML MAY omit the <?xml?> header |
| as well as the <!DOCTYPE> declaration. |
| |
| 3.2. Example Datagram |
| |
| The following is an example TCPoXML datagram with an empty payload: |
| |
| <?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 |
| |
| This protocol MUST be implemented to be compliant with this RFC. The |
| DTD for this document type can be found in section 7.3. |
| |
| 4.1. UDP Description |
| |
| 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. |
| |
| |
| |
| |
| |
| |
| |
| Kennedy Informational [Page 5] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| 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. |
| |
| The payload element MUST be encoded as in section 2.1. |
| |
| UDPoXML datagrams encapsulated by IPoXML MAY omit the <?xml?> header |
| as well as the <!DOCTYPE> declaration. |
| |
| 4.2. Example Datagram |
| |
| The following is an example UDPoXML datagram with an empty payload: |
| |
| <?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 |
| |
| 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. |
| |
| 5.1. Ethernet |
| |
| 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".) |
| |
| 5.2. IEEE 802 |
| |
| BLOAT is encapsulated in IEEE 802 Networks as in [RFC1042] except |
| that the protocol type code for IPoXML is 0xBEEF. |
| |
| |
| |
| |
| |
| Kennedy Informational [Page 6] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| 6. Gatewaying over 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. |
| |
| 7. DTDs |
| |
| The Transport DTDs (7.2. and 7.3.) build on the definitions in the |
| Network 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. |
| |
| 7.1. IPoXML DTD |
| |
| <!-- |
| DTD for IP over XML. |
| Refer to this DTD as: |
| |
| <!DOCTYPE ip PUBLIC "-//IETF//DTD BLOAT 1.0 IP//EN" "bloat.dtd"> |
| --> |
| <!-- |
| DTD data types: |
| |
| Digits [0..9]+ |
| |
| Precedence "NetworkControl | InternetworkControl | |
| CRITIC | FlashOverride | Flash | Immediate | |
| Priority | Routine" |
| |
| IP4Addr "dotted-decimal" notation of [RFC1123] |
| |
| Class [0..3] |
| |
| Sec "Unclassified | Confidential | EFTO | MMMM | PROG | |
| Restricted | Secret | Top Secret | Reserved" |
| |
| Compartments [0..65535] |
| |
| Handling [0..65535] |
| |
| TCC [0..16777216] |
| |
| --> |
| |
| |
| |
| Kennedy Informational [Page 7] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| <!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 |
| |
| |
| |
| Kennedy Informational [Page 8] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| reserved 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> |
| |
| |
| |
| Kennedy Informational [Page 9] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| <!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 --> |
| |
| |
| |
| Kennedy Informational [Page 10] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| <!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 |
| |
| <!-- |
| DTD for TCP over XML. |
| Refer to this DTD as: |
| |
| <!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 src EMPTY> |
| <!-- 0 <= port <= 65,535 --> |
| <!ATTLIST src |
| port %Digits; #REQUIRED> |
| |
| <!ELEMENT dest EMPTY> |
| <!-- 0 <= port <= 65,535 --> |
| |
| |
| |
| Kennedy Informational [Page 11] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| <!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 |
| |
| the pseudoheader. |
| --> |
| |
| |
| |
| Kennedy Informational [Page 12] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| <!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 |
| |
| <!-- |
| DTD for UDP over XML. |
| Refer to this DTD as: |
| |
| <!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)> |
| |
| <!-- |
| udp header + data length in octets. does not include the size of |
| the pseudoheader. |
| --> |
| <!ELEMENT udp.length EMPTY> |
| <!ATTLIST udp.length |
| value %Digits; #REQUIRED> |
| |
| |
| |
| Kennedy Informational [Page 13] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| 8. Security Considerations |
| |
| 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. |
| |
| 9. References |
| |
| [JABBER] Miller, J., "Jabber", draft-miller-jabber-00.txt, |
| February 2002. (Work in Progress) |
| |
| [RFC768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, |
| August 1980. |
| |
| [RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, |
| September 1981. |
| |
| [RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC |
| 793, September 1981. |
| |
| [RFC894] Hornig, C., "Standard for the Transmission of IP |
| Datagrams over Ethernet Networks.", RFC 894, April 1984. |
| |
| [RFC1042] Postel, J. and J. Reynolds, "Standard for the |
| Transmission of IP Datagrams Over IEEE 802 Networks", STD |
| 43, RFC 1042, February 1988. |
| |
| [RFC1123] Braden, R., "Requirements for Internet Hosts - |
| Application and Support", RFC 1123, October 1989. |
| |
| [RFC1874] Levinson, E., "SGML Media Types", RFC 1874, December |
| 1995. |
| |
| [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, |
| October 1996. |
| |
| [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail |
| Extensions (MIME) Part One: Format of Internet Message |
| Bodies", RFC 2045, November 1996. |
| |
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate |
| Requirement Levels", BCP 14, RFC 2119, March 1997. |
| |
| [RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO |
| 10646", RFC 2279, January 1998. |
| |
| |
| |
| |
| |
| Kennedy Informational [Page 14] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 |
| (IPv6) Specification", RFC 2460, December 1998. |
| |
| [RFC3080] Rose, M., "The Blocks Extensible Exchange Protocol Core", |
| RFC 3080, March 2001. |
| |
| [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 |
| |
| Hugh Kennedy |
| Mimezine |
| 1060 West Addison |
| Chicago, IL 60613 |
| USA |
| |
| EMail: kennedyh@engin.umich.edu |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Kennedy Informational [Page 15] |
| |
| RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 |
| |
| |
| 11. Full Copyright Statement |
| |
| Copyright (C) The Internet Society (2002). All Rights Reserved. |
| |
| 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. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Kennedy Informational [Page 16] |
| |