Visual RFC.
ALL RFCs / RFC 6587
Read the RFC ↗
RFC 6587 / LEGACY LOG TRANSPORT

See why delimiter framing is not transparent

04

The older method places a trailer after the message, commonly a line feed (LF). The receiver searches for that trailer. If the same byte occurs inside the message without escaping, the receiver cannot reliably distinguish message content from the end marker.

RFC 6587 · § 3.4.2EXAMPLE
4 / 4
See why delimiter framing is not transparentSame35octet message with innerLF: source marks innerLF versus appended trailerLF, then the LF splitter produces two pieces rather than the intended one message. Alternative35 SP framing keeps innerLF in one message. Final separate CRLF-sender/LF-receiver mismatch leavesCR attached; NUL andCRLF are observed alternatives, not universal negotiated defaults.Trailer byte or message content?Sender: message CR LFReceiver removes LF onlyRetained payload: message CROther observed trailers: NUL, CR LF
04
Distinguish configured LF from CR LF or NUL.

Alternative devices use NUL or CR LF trailers. If sender uses CR LF but receiver removes only LF, a CR remains at the end of the payload. The pictured mismatch is not fixed by assuming every device strips both. One- and two-byte trailers must be interpreted as configured.

Source for this drawing: RFC 6587 · Read RFC section 3.4.2 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

An unescaped delimiter inside a message can create false boundaries.

  • The observed grammar is SYSLOG-FRAME = SYSLOG-MSG TRAILER, with TRAILER = LF or an application-defined one- or two-octet value. Common observations include LF, NUL and CR LF; none is a universal negotiated default guaranteed across devices.
  • Non-transparent framing traditionally does not escape the trailer within message content. A legacy message containing LF can be misinterpreted as several pieces by an LF-delimited receiver. Those pieces need not themselves be valid complete syslog messages.
  • The delimiter parser in this guide removes exactly the selected trailer bytes and preserves all preceding bytes. It does not silently strip CR when configured for LF, nor invent a universal escaping convention.
  • Selecting a different trailer only changes which byte sequence is ambiguous. Compatible endpoint configuration matters. A first byte < suggests non-transparent framing, while a leading digit suggests octet counting; these are observations, not a new capability negotiation exchange.
DETAILS

LF is byte 0A, CR is 0D, NUL is 00 in hexadecimal. The scanner illustrates ambiguity and configuration, not a safe universal syslog grammar. No escape rule is invented; frame-level transparency and message-level content rules remain separate.

Read the RFC section ↗

All chapters in RFC 6587

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗