HOME

TheInfoList



OR:

Direct Internet Message Encapsulation (DIME) was a
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
-proposed internet standard in the early 2000s for the streaming of binary and other encapsulated data over the Internet. According to the
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and a ...
website, the standard has been withdrawn and never made
RFC RFC may refer to: Computing * Request for Comments, a memorandum on Internet standards * Request for change, change management * Remote Function Call, in SAP computer systems * Rhye's and Fall of Civilization, a modification for Sid Meier's Civ ...
status. However, Microsoft did at one time recommend DIME for transmitting files via Web services. It was also used in
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web serv ...
, but differences in the implementation of the protocol made it difficult. The first version was submitted to the IETF in November 2001; the last update was submitted in June 2002. By December 2003, DIME had lost out, in competition with
Message Transmission Optimization Mechanism A message is a discrete unit of communication intended by the source for consumption by some recipient or group of recipients. A message may be delivered by various means, including courier, telegraphy, carrier pigeon and electronic bus. A ...
and
SOAP with Attachments SOAP with Attachments (SwA) or MIME for Web Services is the use of web services to send and receive files with a combination of SOAP (protocol), SOAP and MIME, primarily over HTTP. Note that SwA is not a new specification, but rather a mechanism fo ...
. Microsoft now describes DIME as "superseded by the SOAP Message Transmission Optimization Mechanism (MTOM) specification" The standard was intended to be an improved version of
MIME Multipurpose Internet Mail Extensions (MIME) is an Internet standard that extends the format of email messages to support text in character sets other than ASCII, as well as attachments of audio, video, images, and application programs. Message ...
. In particular a difficulty with MIME is that each message must be encoded as text and that its sections are separated by a separator given in the message header. This means the entire stream of data must be known to the sender before starting the communication, so as to choose a separator that does not occur in the data. This is not useful if the entire stream is not available when the communication is initiated, or when searching it is expensive. DIME is more oriented to streaming, allowing, for example, a receiver to process chunks of the message as they arrive without having to wait for the entire message.


Criticisms

Issues with HTTP DIME was defined as the transmission format at the
data link layer The data link layer, or layer 2, is the second layer of the seven-layer OSI model of computer networking. This layer is the protocol layer that transfers data between nodes on a network segment across the physical layer. The data link layer p ...
in the
OSI model The Open Systems Interconnection model (OSI model) is a conceptual model that 'provides a common basis for the coordination of SOstandards development for the purpose of systems interconnection'. In the OSI reference model, the communications ...
although it was typically transmitted over
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
. One difficulty here was that it could form an HTTP message of essentially any size (the limit being the size information for each chunk, which was 32 bits so 1 gigabit). Many HTTP receivers were not used to messages as large as this, and if they buffered messages would simply fail, due to the fact that the software expected a short message, but instead received a long one. Moreover, if the HTTP receiver was secured, it would, send back a challenge message (400 code) to the sender upon receiving the message. Because HTTP is connectionless, it would then entirely lose the possibly huge amount of data that had been sent to it, just to accept or deny the challenge. The response to the challenge could of course succeed, at the expense of sending the data twice, which if it were huge rather defeats its point. In the alternate solution, the criteria for a successful challenge (e.g. a username and password) is established out-of-band, so it can be sent with the message the first time and not receive a challenge (the by-product of the connectionless HTTP protocol being that since each message is treated individual, ''any'' message must be able successfully to include its challenge response). DIME was extremely fast compared to practical applications of other protocols. Because the data was binary rather than, say,
Base64 In computer programming, Base64 is a group of binary-to-text encoding schemes that represent binary data (more specifically, a sequence of 8-bit bytes) in sequences of 24 bits that can be represented by four 6-bit Base64 digits. Common to all bina ...
encoded, it was relatively compact, and the chunking and packet methods built into the protocol meant it could be streamed and read by a suitable receiver before the whole message had been read. Issues at the Network Layer Because DIME was defined at the data link layer, it was possible to encapsulate a DIME message in another DIME message. This would not help at all for compression purposes but was occasionally useful to bypass networking infrastructure such as routers at the network layer of the OS model, which would otherwise block the encapsulated traffic (being binary they may treat it with suspicion). That being said, other protocols such as MIME may equally suffer such. Since DIME was generally used between well-trusted clients, a specific port could be opened at the router for the express purpose of sending and receiving DIME traffic. This did not subvert the security aspects, since the challenge would still occur, merely that it accepted that binary traffic was the norm on that port, and did not give numerous
false positive A false positive is an error in binary classification in which a test result incorrectly indicates the presence of a condition (such as a disease when the disease is not present), while a false negative is the opposite error, where the test result ...
s.


See also

*
SOAP with Attachments SOAP with Attachments (SwA) or MIME for Web Services is the use of web services to send and receive files with a combination of SOAP (protocol), SOAP and MIME, primarily over HTTP. Note that SwA is not a new specification, but rather a mechanism fo ...


References

{{reflist


External links


Overview
by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
.
Links to articles about DIME

Latest IETF draft


Microsoft initiatives Email Web services