4

Higher layer transmission protocols have certain properties. For example, TCP "guarantees" duplicate-free, error-free in-order delivery of packets. UDP does basically provide the same properties as IP, but on a per process / socket level. Those are simple best delivery of packets, without guarantees like being duplicate free or in-order.

Ethernet, as far as I know, does not directly guarantee delivery of a packet (a.k.a. being loss and duplicate-free or in-order). I know that some standards would eventually violate these properties, like PRP (Parallel Redundancy Protocol). Furthermore, in a typical Ethernet topology, duplication and so on are not directly possible, as there is no dynamic routing. However, in modern SDN-networks, there is a possibility that packets take multiple routes?

Does any source specify that in Ethernet frames must arrive in-order or duplicate-free? Are there any other formal sources for such specifications?

3 Answers3

3

The only "guarantee" in Ethernet is that the frame arrived intact, based on the CRC. There is no mechanism to detect missing or duplicate frames, as there is no concept of "session" or flow" at that layer.

Ron Trunk
  • 68,291
  • 5
  • 66
  • 126
3

Ethernet is designed based on architectural reference models (OSI and/or TCP/IP). While those models are abstract, they do carry a lot of weight in when standards bodies like the IEEE are creating/modifying standards such as Ethernet.

These models lay out certain characteristics expected from each layer of the model, called invariants. Invariants come in two flavors hard (absolutely provided) and soft (generally provided) and upper layer protocols can be written in a way to expect these behaviors from an underlying nature either absolutely (hard) or generally (soft).

Data Link layer hard invariants include nonduplication and sequential delivery of frames.

Does any source specify that in Ethernet frames must arrive in-order or duplicate-free? Are there any other formal sources for such specifications?

No, nothing in the Ethernet standard specifies that frames must arrive in order or duplicate free. However the Ethernet standard is written in a way to provide those characteristics to meet the expected behaviors of the architectural model.

Ethernet, as far as I know, does not directly guarantee delivery of a packet (a.k.a. being loss and duplicate-free or in-order). I know that some standards would eventually violate these properties, like PRP (Parallel Redundancy Protocol).

If you actually look at something like PRP, this still maintains the invariants mentioned above. While it does duplicate the frame, it only sends one frame over two separate data link layers which each maintain the sequential delivery of frames. The PRP device on the receiving end then also de-duplicates the frames received on both links before passing up to an upper layer.

However, in modern SDN-networks, there is a possibility that packets take multiple routes?

If they are designed correctly according to commonly accepted architectural design principles, even if the SDN protocol uses multiple links it will maintain the invariants for the Data Link layer. To do otherwise risks breaking upper layer protocols that expect those characteristecs in their own design and operation.

YLearn
  • 27,511
  • 5
  • 62
  • 130
2

Ethernet, IP, and UDP (with optional checksum) each only transport the packet while it is intact - when the checksum doesn't match, the packet is dropped. The only guarantee is that when you receive a packet it hasn't been damaged during transport (may be intentionally tampered with though).

TCP tracks which packets have been successfully received - they are acknowledged by the receiver - and automatically resends those that haven't.

Ethernet may use dynamic "routing" but since that can cause unexpected side effects in higher layers it's rarely done. However, in higher layers it is not uncommon for packets to take different routes. TCP provides for this by resorting the packets into the original order before handing over the data to the application. Ethernet frames don't need to arrive in-order, broadcasts can actually get duplicated in certain conditions (e.g. SPB may cause this).

All Ethernet specifications can be found at IEEE 802 - layer 1 is in 802.3, layer 2 is in 802.1: http://ieeexplore.ieee.org/browse/standards/get-program/page/series?id=68 (free after registration).

Zac67
  • 90,111
  • 4
  • 75
  • 141