Rainer & all:

I see your concerns, but I don't think -protocol and -transport have
to either both do a complete binary or neither. For one, you can think
of them as protocols which operate at different layers of the OSI
model.

Keep in mind that we already do "binary" in -protocol because we
support entire Unicode. I actually think ultimately it would have been
great to separate semantics/schema of -protocol (defined with say with
ASN.1) and its encoding (BER, DER, ASCII+Unicode, XML, etc). This
would have allowed for binary encoding for high-performance scenarios
and XML encoding for those who can't live without it. It would also
make it much easier to deal with optional fields or fields that may
have multiple values. Trust me, people will re-invent syslog in XML
because ASCII formats are "too inflexible" (google for "IBM CBE"). I
think the current specification strikes a good balance between binary
and ASCII and has a good scope for this iteration.

Syslog UDP (SUDP for now) transport adds a very limited function on
top of UDP - fragmenting of messages.  As we have agreed, it is not
even part of -protocol because it is basically part of the transport
layer as opposed to application data.  There are precedents for
application data being in whatever format. So, if we want most of it
to be in straight ASCII, ZIP or whatever it is fine.  But for the
transport layer, TCP/UDP/IP follow their own conventions and they use
binary. It is more consistent to just follow them and use binary for
syslog UDP transport header. It would be consistent with other
transport encapsulation layers of UDP/IP and may even make SUDP
applicable in other domains.  So, I think the distinction between
transport and application data is key here.

I can't speak for how eagerly implementors will adopt one format
versus the other. I hope a shear use of binary vs ASCII in the simple
transport header will no change that. In fact, I think it could make
it easier to program when you have a fixed-size header. In SUDP case,
it could be one of two fixed size headers: 1 or 12 bytes. Still better
than a variable field size for every field.

Anton.



> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Rainer Gerhards
> Sent: Friday, April 23, 2004 8:11 AM
> To: [EMAIL PROTECTED]
> Subject: binary fields in syslog
>
>
> Hi WG,
>
> this is not only in reply to Anton's posts, but a general
> thing. So I thought I start with a new subject.
>
> Anton suggest the use of a binary header in -transport (eg
> http://www.syslog.cc/ietf/autoarc/msg01197.htm> l). Previously,
> all numbers in syslog were expressed in
> ASCII digits terminated by spaces.
>
> I can understand Anton's efficiency concerns. However, if we
> go for a binary header in -transport, we could/should also
> reconsider that issue in -protocol and all other syslog
> IDs/RFCs. Not just to keep them consistent, but also to be as
> efficient as possible.
>
> HOWEVER, I do NOT like the idea of binary numbers. I think
> there is good reasoning that many modern protocols have gone
> away from binary and sacrified some efficiency to do things
> somewhat easier. The plus in ascii digits is:
>
> - esay human interaction - not just reading but also (telnet)
> crafting messages
>   (I couldn't envision troubleshooting SMTP configs without
> the ability to
>   telnet SMTP commands)
> - it's instantly interoperable - no need for network bytes ordering
> - I think it reduces implementation errors
>
> Ffinally, in the context of syslog, we are already very far
> from RFC 3164. I am already very concerned if our changes
> will be accepted by the implementor community. If we now move
> even one more step ahead and create a fully binary
> protocol... I fear we would finally loose them. And to gain
> some more efficiency, we could also BER-encode the structured
> data elements ;)
>
> So I short: I *strongly, strongly* advocate to keep things in
> ASCII. But if we *really* go ahead and define transport to
> use binary data (for efficiency), we should also go ahead and
> change -protocol to be binary, too.
>
> Rainer
>
>



Reply via email to