As per Relevance of the word required, we have this rfc below:











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


Binary Lexical Octet Ad-hoc

Status of this

This memo provides information for the Internet community. It
not specify an Internet standard of any kind. Distribution of
memo is unlimited

Copyright

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



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

1.

1.1.

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

1.2.

The wild popularity of XML as a basis for application-level
such as the Blocks Extensible Exchange Protocol [RFC3080], the
Object Access Protocol [SOAP], and Jabber [JABBER]
investigation into the possibility of extending the use of XML in
protocol stack. Using XML at both the transport and network layer
addition to the application layer would provide for an amazing
of power and flexibility while removing dependencies on
and hard-to-understand binary protocols. This protocol
would also allow applications to use a single XML parser for
aspects of their operation, eliminating developer time spent
out the intricacies of each new protocol, and moving the hard work




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
over "network vs. host" byte ordering which is at the root of
network application bugs

1.3. Relation to Existing

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

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

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

1.4. Requirement

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

2.

This protocol MUST be implemented to be compliant with this RFC
IPoXML is the root protocol REQUIRED for effective use of
(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
parser, as the regular structure lends itself handily to parsing
validation of the document/datagram and then processing
destination address, TTL, and checksum before sending it on to
next-hop

The reformulation of IPv4 was chosen over IPv6 [RFC2460] due to
wider deployment of IPv4 and the fact that implementing IPv6 as
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
of RFC 2279 [RFC2279]. All BLOAT document/datagrams MUST be well
formed and include the XMLDecl

2.1. IP

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

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

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

The payload element bears special attention. Due to the
set restrictions of XML, the payload of IP datagrams (which
contain arbitrary data) MUST be encoded for transport. This
REQUIRES the contents of the payload to be encoded in the base-64
encoding of RFC 2045 [RFC2045], but removes the requirement that
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

The following is an example IPoXML datagram with an empty payload

encoding="UTF-8"?>



precedence="Routine" delay="Normal" throughput="Normal
relibility="Normal" reserved="0"/>


reserved="0" df="dont" mf="last"/>


<protocol value="6"/>
<checksum value="8707"/>

<destination address="10.0.0.1"/>



3.

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

3.1. TCP

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

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

An iterative method SHOULD be used to calculate checksums as
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
allow for the increased size of the header in XML

TCPoXML datagrams encapsulated by IPoXML MAY omit the
as well as the declaration

3.2. Example

The following is an example TCPoXML datagram with an empty payload

encoding="UTF-8"?>



<sequence number="322622954"/>
<acknowledgement number="689715995"/>

<reserved value="0"/>



<checksum value="2988"/>



4.

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

4.1. UDP

A number of items have changed from the original UDP specification
Bit-masks, where present have been converted into human-
values. Length and checksum and port values are present as
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,
canonicalized form of the element MUST be used as in section 2.1.
iterative method SHOULD be used to calculate checksums as in
2.1.

The payload element MUST be encoded as in section 2.1.

UDPoXML datagrams encapsulated by IPoXML MAY omit the
as well as the declaration

4.2. Example

The following is an example UDPoXML datagram with an empty payload

encoding="UTF-8"?>




<checksum value="2988"/>

5. Network

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

5.1.

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

BLOAT is encapsulated in IEEE 802 Networks as in [RFC1042]
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

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

7.

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

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

7.1. IPoXML






Kennedy Informational [Page 7]

RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002



Precedence "CDATA">




Handling "CDATA">




protocol, checksum, source, destination, options
padding)>

length %Digits; #REQUIRED


value %Digits; #REQUIRED

precedence %Precedence; #
delay (normal | low) #
throughput (normal | high) #
relibility (normal | high) #
reserved CDATA #FIXED "0">


value %Digits; #REQUIRED


value %Digits; #REQUIRED





Kennedy Informational [Page 8]

RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002


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


value %Digits; #REQUIRED


value %Digits; #REQUIRED

protocol EMPTY

value %Digits; #REQUIRED

checksum EMPTY

value %Digits; #REQUIRED

address %IP4Addr; #REQUIRED

destination EMPTY
address %IP4Addr; #REQUIRED

security | loose | strict |
| stream | timestamp )*>

copied (0|1) #
class CDATA #FIXED "0"
number CDATA #FIXED "0">

copied (0|1) #
class CDATA #FIXED "0"
number CDATA #FIXED "1">

security EMPTY



Kennedy Informational [Page 9]

RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002


copied CDATA #FIXED "1"
class CDATA #FIXED "0"
number CDATA #FIXED "2"
length CDATA #FIXED "11"
security %Sec; #
compartments %Compartments; #
handling %Handling; #
tcc %TCC; #REQUIRED

copied CDATA #FIXED "1"
class CDATA #FIXED "0"
number CDATA #FIXED "3"
length %Digits; #
pointer %Digits; #REQUIRED

address %IP4Addr; #REQUIRED


copied CDATA #FIXED "1"
class CDATA #FIXED "0"
number CDATA #FIXED "9"
length %Digits; #
pointer %Digits; #REQUIRED


copied CDATA #FIXED "0"
class CDATA #FIXED "0"
number CDATA #FIXED "7"
length %Digits; #
pointer %Digits; #REQUIRED


copied CDATA #FIXED "1"
class CDATA #FIXED "0"
number CDATA #FIXED "8"
length CDATA #FIXED "4"
id %Digits; #REQUIRED

timestamp (tstamp)+>




Kennedy Informational [Page 10]

RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002


copied CDATA #FIXED "0"
class CDATA #FIXED "2"
number CDATA #FIXED "4"
length %Digits; #
pointer %Digits; #
oflw %Digits; #
flag (0 | 1 | 3) #REQUIRED

time %Digits; #
address %IP4Addr; #IMPLIED

pad CDATA #REQUIRED




7.2. TCPoXML






sequence, acknowledgement, offset
reserved, control, window, checksum, urgent
tcp.options, padding)>


port %Digits; #REQUIRED





Kennedy Informational [Page 11]

RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002


port %Digits; #REQUIRED

sequence EMPTY

number %Digits; #REQUIRED

acknowledgement EMPTY

number %Digits; #REQUIRED


number %Digits; #REQUIRED

reserved EMPTY
value CDATA #FIXED "0">

urg (0|1) #
ack (0|1) #
psh (0|1) #
rst (0|1) #
syn (0|1) #
fin (0|1) #IMPLIED


size %Digits; #REQUIRED


destination, protocol
tcp.length)>





Kennedy Informational [Page 12]

RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002


value %Digits; #REQUIRED


pointer %Digits; #REQUIRED



kind CDATA #FIXED "0">

kind CDATA #FIXED "1">

kind CDATA #FIXED "2"
length CDATA #FIXED "4"
size %Digits; #REQUIRED

7.3. UDPoXML





checksum)>

destination, protocol
udp.length)>


value %Digits; #REQUIRED



Kennedy Informational [Page 13]

RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002


8. Security

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

9.

[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,
793, September 1981.

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

[RFC1042] Postel, J. and J. Reynolds, "Standard for
Transmission of IP Datagrams Over IEEE 802 Networks",
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,
1995.

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

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

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

[RFC2279] Yergeau, F., "UTF-8, a transformation format of
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
Consortium Note, May 2000 http://www.w3.org/TR/SOAP

[XML] Bray, T., Paoli, J., Sperberg-McQueen, C. M., "
Markup Language (XML)" World Wide Web
Recommendation REC- xml-19980210.
http://www.w3.org/TR/1998/REC-xml-19980210

10. Author's

Hugh

1060 West
Chicago, IL 60613


EMail: kennedyh@engin.umich.


























Kennedy Informational [Page 15]

RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002


11. Full Copyright

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

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

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

This document and the information contained herein is provided on
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE



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



















Kennedy Informational [Page 16]








if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.




RFC documents can be found at I.E.T.F.



Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX







Spectrum