0

I had read about TCP in layer 4 where sequence number and acknowledgment numbers were assigned to each segment so that each side of the connection could keep track of the process of sending/receiving bytes. However, now I read about the LLC field in the frame which is added to it in layer 2, and it is stated that it also assigns those two numbers, my question is:

  • How do these two differ from each other?
  • Is one an "alternative" for the other? in that case, where is it specified which one is being used?
  • Again if the answer to previous question is yes, assuming that I decide to take the TCP layer approach, how would be the LLC field filled?

    Thanks in advance.

  • 3
    You are talking about two completely different layers that know nothing about each other. TCP has a sequence number in the transport layer, but other transport protocols do not have any such thing. That would be used for a connection-oriented protocol. You really do not find anything like a sequence number in the data-link layer, which is connectionless. – Ron Maupin Mar 4 at 3:41
  • @RonMaupin So you mean sequence number in LLC is a totally different thing? What is the purpose of sequence number in LLC that is different from that of in layer 4? – aderchox Mar 4 at 4:21
  • 1
    Where are you getting anything about a sequence number in LLC? Look at a data-link protocol, like ethernet. You have a destination address, source address, ether type, and payload, followed by a frame check sequence. There is no sequence number. – Ron Maupin Mar 4 at 4:24
  • @RonMaupin The LLC Header, in the Control Field, has some room for sequence numbering, to support connection oriented. But since IPv4 (and thus TCP) is as good as never transported atop LLC, seeing these in action is most certainly a very rare thing to happen. – Marc 'netztier' Luethi Mar 4 at 7:47
  • If you are referring to the LLC as defined by ISO/IEC 8802-2 (formerly IEEE 802.2) that is not actually used anywhere in the real world. The ethernet LLC is basically just the Ether Type field that tells the network stack to which process the payload of an ethernet frame should be passed. That really makes your question moot because there is no such thing in a modern business network. – Ron Maupin Mar 4 at 16:25
3

The LLC Subheader does indeed have a control field which can be used for sequence numbering for "connection oriented applications" (https://en.wikipedia.org/wiki/IEEE_802.2#LSAP_values).

IPv4 (and TCP to go along with it) is as good as never transported atop 802.2 LLC. IPv4 on Ethernet has Ethernet II encapsulation (Ethertype 0x800), and that header has no concept of sequence numbers.

Besides that: 802.2 LLC can provide sequence numbering only within the given local subnet/broadcast domain/VLAN (in case anyone is still using any of the "connection oriented applications").

A path between two TCP speakers is (possibly) much longer than that, involving possibly multiple routing hops with various L2 technologies and frame formats, utterly different from what 802.2 LLC looks like. There's no way to make practical use of L2 sequence numbering while the given L2 frame format changes 5 times across the path, hence TCP has its own - because it needs it to work.

  • Where is the IEEE 802.2 (now ISO/IEC 8802-2 since the IEEE 802.2 working group has been disbanded) used in a real business network? – Ron Maupin Mar 4 at 16:19
  • I only stated that 802.2 had a control field that could carry sequence numbers, not that it was being used in today's networks. – Marc 'netztier' Luethi Mar 4 at 16:43
  • OK, but NE is about professionally managed networks in a business environment. I think we should not confuse people, so at least make sure that the OP knows this isn't real. – Ron Maupin Mar 4 at 16:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.