Re: AD review discuss/comments for draft-ietf-syslog-dtls

Chris Lonvick <[email protected]> Wed, 26 May 2010 08:13:32 -0700 (PDT)
Newsgroups gmane.ietf.syslog
Message-ID <[email protected]>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-630072926-1274886812=:24171
Content-Type: TEXT/PLAIN; charset=utf-8; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

Hi,

Tim - I just rejected your latest post (it got to be way to large when you=
=20
attached your previous posts as PDFs).

All - things can be read on the archive.
  http://www.ietf.org/mail-archive/web/syslog/current/maillist.html

And, apologies to all, I've gotten caught up in the day job and can't read=
=20
these things yet.  Hopefully over the weekend.  :-)

Thanks,
Chris

On Tue, 25 May 2010, t.petch wrote:

> Tim
>
> I am getting your e-mails but struggling to read them, since they are a
> concatenated pipe of text, no fragmentation here.
>
> When I look at the source, it is in quoted-printable UTF8 and
> whereever I might expect a hard break, I see =3DA0.
>
> If I edit =3DA0 to =3D0A, then hard breaks appear where I expect them.
>
> Curious.
>
> Tom Petch
>
> ----- Original Message -----
> From: "Tim Evens" <[email protected]>
> To: <[email protected]>; <[email protected]>; <[email protected]>
> Cc: <[email protected]>
> Sent: Tuesday, May 25, 2010 4:14 PM
> Subject: RE: [Syslog] AD review discuss/comments for draft-ietf-syslog-dt=
ls
>
>
> Correct, in RFC5426 the max size is 64K which is the max length in UDP. U=
DP
> sizes of greater than MTU are only achievable via IP layer fragmentation,=
 as you
> also indicated. I'm under the impression that DTLS does NOT support IPv4
> fragmentation since in RFC4347 it states in Section 4.1.1 "Each DTLS reco=
rd MUST
> fit within a single datagram. In order to avoid IP fragmentation [MOGUL],=
 DTLS
> implementations SHOULD determine the MTU and send records smaller than th=
e MTU.
> DTLS implementations SHOULD provide a way for applications to determine t=
he
> value of the PMTU (or, alternately, the maximum application datagram size=
, which
> is the PMTU minus the DTLS per-record overhead). If the application attem=
pts to
> send a record larger than the MTU, the DTLS implementation SHOULD generat=
e an
> error, thus avoiding sending a packet which will be fragmented."While UDP
> supports message sizes in excess of 1500 bytes, the implementation as def=
ined in
> this draft using DTLS does not. It does not require or use DTLS sequence =
numbers
> nor does DTLS allow for fragmentation. How exactly does this draft suppor=
t
> message sizes larger than the MTU considering these restrictions? Few lay=
er 2
> implementations support MTU sizes greater than 9K. Even with GigabitEther=
net
> Jumbo frames (9K) the end-to-end MTU is still limited as the frame/packet
> traverses various devices. Only GigabitEthernet requires optional support=
 for
> jumbo frames, while FastEthernet does not. Most 10/100 interfaces only su=
pport a
> maximum of 2K frame MTU, while Gig and TenGig support 9K. -----Original
> Message-----From: [email protected]: 05/25/2010 02:45 AMTo:
> [email protected], [email protected], [email protected]:
> [email protected]: RE: [Syslog] AD review discuss/comments for
> draft-ietf-syslog-dtls         I would prefer to keep syslog-over-DTLS-ov=
er-UDP
> as similar to RFC 5246 (syslog-over-UDP) as possible -- i.e. don't add an=
y kind
> of fragmentation/reassembly in syslog layer. Both syslog-over-UDP and
> syslog-over-DTLS-over-UDP already support messages up  to ~64K; they're j=
ust not
> very efficient if your MTU is small (and you need IP layer fragmentation)=
=2E  But
> for administrators that know they'll need efficient transport of large me=
ssages,
> we already  have a solution: RFC 5425.  Best regards, Pasi    From: ext T=
im
> Evens [[email protected]] Sent: Monday, May 24, 2010 7:34 PM To:
> [email protected]; [email protected]; Eronen Pasi (Nokia-NRC/Helsinki) C=
c:
> [email protected] Subject: Re: [Syslog] AD review discuss/comments for
> draft-ietf-syslog-dtls     Right. I wrote the following a couple weeks ba=
ck:
> "=E2=80=A6 an application may not directly write to the network where UDP=
/DTLS would be
> used as a transport. More likely, the application will write to a regular=
 file
> or FIFO/PIPE that may support a larger message size. The application that=
 reads
> this message  may be the application that sends the messages via UDP/DTLS=
=2E It
> would be more meaningful if the application writing the message controls =
the
> truncation or if the transport application sending the message onto the n=
etwork
> can correctly break up the message  into parts to fit the transport messa=
ge size
> limitations. RFC5424 doesn't detail SD elements or methods for splitting
> messages. Transports have size constraints and will require messages to b=
e
> truncated or split. For example, the CISCO-SYSLOG-MIB defines  that a mes=
sage
> larger than 255 characters will be truncated to 254 characters with a '*'=
 as the
> 255th character. "   To your point there are multiple units, but I would =
lump
> three of those units together as "transport" units considering they all h=
ave to
> do with the transportation of the message on the network.    In my opinio=
n, this
> draft assumes that the application logging the message will some how size=
 the
> message to fit within a single DTLS record/packet. This assumption is
> problematic, as mentioned above the application writing the actual SYSLOG=
-MSG
> per  RFC5424 has no way of knowing which transport is being used and what
> limitations those transports impose. For example, in my experience and in=
 my
> opinion, there will be more than one syslog receiver/collector. Remote sy=
slog
> receivers/collectors may require  different transports. One may use UDP/D=
TLS
> while the other uses TCP. Therefore, the original syslog message of say 1=
480
> bytes may be written to the network twice, one using UDP/DTLS and the oth=
er
> using TCP. The message that is transported using TCP will  be receive in =
full
> without any issues, while the one with DTLS will have to be truncated to =
the MTU
> size limitations.    RFC4347 (DTLS) refers to RFC4346 (TLS 1.1 obsoleted =
by
> RFC5246 TLS 1.2) for record layer implementation. More specifically, as d=
efined
> in RFC4346 Section 6.2.1, "The record layer fragments information blocks =
into
> TLSPlaintext records carrying data in chunks of 2^14 bytes or less. Clien=
t
> message boundaries are not preserved in the record layer (i.e., multiple =
client
> messages of the same ContentType MAY be coalesced into a single TLSPlaint=
ext
> record, or a single message MAY be fragmented across several records)."  =
 It's
> possible for TLS 1.1 and 1.2 to support message block (chunks) as defined
> because the underlining transport is TCP providing ordered message delive=
ry,
> whereas RFC4347 (DTLS) can use UDP which does not provide ordered deliver=
y. DTLS
> introduces a sequence  number field in the record structure, which if
> implemented for reordering, the receiver could reorder the DTLS records s=
o that
> the original message blocks are concatenated back to form the original
> SYSLOG-MSG.    This probably leads to why in this draft in Section 5.1 it=
 states
> that when using DTLS sequence numbers "=E2=80=A6 it may not assure that a=
ll the messages
> are delivered in order when mapping on the UDP transport."   The reason i=
s that
> with TCP there is a retransmission for lost segments, whereas UDP does no=
t
> implement retransmissions. Therefore, if a DTLS sequence is dropped/lost =
or not
> received within the allotted queue buffer time, the DTLS application does=
n't
> have anyway of knowing if seq X1 and seq X3 can be correctly put together=
=2E How
> it would it know to discard X1 and X3 since X2 was lost? In either case, =
this
> too is problematic, which leads back to why the SYSLOG-MSG will have to f=
it
> within a single DTLS  record. Thus the SYSLOG-MSG will in most cases alwa=
ys be
> less than 1460 bytes due to MTU DTLS/MTU limitations. The application SHO=
ULD NOT
> assume that using the RFC5424 recommended minimum of 480 octets is suffic=
ient as
> the IPv4 MTU still can be less than  that.   I believe that this could be=
 solved
> if this draft were to be updated to require that the DTLS implementation =
reorder
> using DTLS sequence numbers using a queue size of at least 5 or more DTLS
> packets/records. In addition, Section 5.4 would need a new  field in the
> SYSLOG-FRAME to include a FRAME-ID. This FRAME-ID would serve as a way fo=
r the
> DTLS implementation to know which DTLS records need to be discarded in th=
e event
> of packet loss.    For example:   FRAME-ID =3D NILVALUE / ("+" / "-")
> NONZERO-DIGIT 1*15DIGIT; uint48*   +/- is used to indicate more message b=
locks
> to come or not. "+" indicates more to follow, "-" indicates last block.  =
 Use
> NILVALUE if SYSLOG-MSG is not split across multiple DTLS records, otherwi=
se use
> first DTLS sequence number in DTLS record sequence as FRAME-ID.   This is=
 an
> example only of a possible FRAME-ID.   *Instead of using 1*15DIGIT, it co=
uld be
> 6OCTET=3Duint48, which would reduce the overall size.   Example Use:   DT=
LS seq
> 1 - SYSLOG-FRAME-ID=3D+1001 <SYSLOG-MSG> DTLS seq 2 - SYSLOG-FRAME-ID=3D+=
1001
> <SYSLOG-MSG> --> dropped by network --> DTLS seq 3 - SYSLOG-FRAME-ID=3D+1=
001
> <SYSLOG-MSG> DTLS seq 4 - SYSLOG-FRAME-ID=3D-1001 <SYSLOG-MSG> DTLS seq 5=
 -
> SYSLOG-FRAME-ID - <SYSLOG-MSG> DTLS seq 6 - SYSLOG-FRAME-ID - <SYSLOG-MSG=
>
> Using a buffer/queue size of 5 DTLS records/packets, the DTLS implementat=
ion
> would have been holding DTLS seq 1, 2, and 4 waiting for 3. When it recei=
ved seq
> 5 and 6, it reaches its buffer size and therefore discards DTLS seq 1,2,4=
 since
> they all have  SYSLOG-FRAME-ID of 1001. DTLS seq 5 and 6 are processed.
> Thanks, Tim      -----Original Message----- From: [email protected] D=
ate:
> 05/24/2010 04:23 AM To: [email protected], [email protected] CC:
> [email protected] Subject: Re: [Syslog] AD review discuss/comments for
> draft-ietf-syslog-dtls   I haven't followed this discussion in detail, bu=
t it
> looks like there's some confusion about the basic "units" of transmission=
=2E As
> far as I can tell, we have four different layers:  - a syslog message
> (SYSLOG-FRAME in ABNF) - a DTLS record - a UDP datagram - an IP packet  A=
s noted
> in Section 5.4, "It is possible that multiple syslog messages be containe=
d in
> one DTLS record, or that a syslog message be transferred in multiple DTLS
> records."  The maximum size of a single DTLS record is 2^14 bytes (this l=
imit
> comes from TLS). One DTLS record must fit in one UDP datagram, but one UD=
P
> datagram can contain more than one DTLS record.  The maximum size of UDP
> datagram is 64K (this limit comes from UDP), but it can be fragmented to
> multiple IP packets as needed.  There's one additional restriction that I=
'm not
> sure is really mentioned anywhere: A single syslog message has to fit in =
a
> single UDP datagram. So while it can be split to multiple DTLS records, a=
ll
> those records have to be in a single UDP datagram (so the syslog layer do=
es not
> reassemble syslog message pieces from multiple UDP datagrams -- SYSLOG-FR=
AME
> does not have sufficient information to do this anyway).  In addition to =
the
> "hard" size limits (coming from DTLS and UDP), we probably need a recomme=
ndation
> saying that it's better if you can avoid IP fragmentation -- but this is
> precisely the same as normal syslog-over-UDP (minus the small overhead fr=
om
> DTLS).  Best regards, Pasi   ________________________________________ Fro=
m:
> [email protected] [[email protected]] On Behalf Of ext Sean T=
urner
> [[email protected]] Sent: Saturday, May 22, 2010 6:16 PM To: t.petch Cc: s=
yslog
> Subject: Re: [Syslog] AD review discuss/comments for draft-ietf-syslog-dt=
ls
> t.petch wrote: > I see that this I-D had entered 'Revised I-D needed' whi=
ch I
> would like to > progress. > > I see several comments about maximum record=
 size,
> including a suggestion that we > should make the 'SHOULD NOT' a 'MUST NOT=
'
> exceed 2**14. > > I am dead set against this change. We had a clear requi=
rment,
> early on, to > allow 65k messages, and I think it wrong to MUST NOT that
> requirement. The text > in the other I-Ds is a compromise to strke a bala=
nce
> between this and having > everything fit in 576 byte; I think we have the
> balance right.  Tom,  My response to Alexey was that this I-D borrows tha=
t
> particular requirement from RFC4347 and that this I-D shouldn't be upping=
 the
> requirement. If it's okay with you, I'll forward him your response. The w=
ay I
> read his comment was that he's just asking why - he's not really requesti=
ng a
> change.  spt _______________________________________________ Syslog maili=
ng list
> [email protected] https://www.ietf.org/mailman/listinfo/syslog
> _______________________________________________ Syslog mailing list
> [email protected] https://www.ietf.org/mailman/listinfo/syslog
>
> _______________________________________________
> Syslog mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/syslog
>
---559023410-630072926-1274886812=:24171
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Syslog mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/syslog

---559023410-630072926-1274886812=:24171--