10 words for "packet"

| Comments (4) |
The Internet is a packet-oriented network at many layers. In compliance with the Sapir-Whorf hypothesis and in order to maximize minimize confusion, each protocol tends to invent its own name for chunks at its layer of abstraction. Here are some:
NameProtocol
CellATM
FrameEthernet
PDULots of ASN.1 protocols
PacketIP, PGP, RTP
Datagram1IP, UDP
SegmentTCP
RecordSSL/TLS
MessageRF822 e-mail, IKE, HTTP
StanzaJabber/XMPP
ChunkMSRP
BIUSNA

I've certainly heard arguments that say TCP segments are somehow different from packets (as in IP) because packets are self-contained whereas TCP segments, SSL records, etc. are part of an ongoing transaction. Unfortunately, this distinction as far as naming doesn't really hold up under common usage. For instance, RTP "packets" are part of a stream.

Any other names I haven't thought of?

1. Chris Walsh 2. Terence Spies

4 Comments

In EDI: "Document"

Web Services packets are also "Messages"

"PDU" is a generic OSI term, not ASN.1.

SCSI uses "CDB".

DNS uses "messages". So does BGP4. OSPF uses "packet".

NNTP uses "articles".

A TCP "segment" describes a range of octets in a buffer. The word is also used to describe TCP "packets", but my sense of it is that "segment" is a synonym for "portion", not "individually labeled and transited package".

Savage famously exploited the semantic confusion between segments and streams to evade TCP congestion control (for instance, upon receipt of a segment containing 500 bytes, he individually acknowledges bytes).

I don't see anything wrong with the scattershot terminology. As an implementor, when you're dealing with a protocol such as TLS or iSCSI, it would get confusing to work in terms of 3 different definitions of "packet". "Record" (or "CDB") is unambiguous. It allows you to factor out the dynamics of TCP and just work with the assumption that you're sending and receiving complete application-layer messages.

That Scsi Cdb mentioned is a

C D B = Command Descriptor Block ...

Thus also from peripheral storage we have:

Block, Logical Block, Physical Block,

and similarly:

Sector, Logical Sector, Physical Sector ...

And then the packets of storage get classified into Command and Data and Status ... except sometimes the Command is the Request ... or the entire Rendezvous or Transaction or Transfer that contains Command and Data and Status is termed a Request or Command or Query or Statement ... which then maybe free-associates into computational linguistics ...

Leave a comment