Hi every body!
According to my book,Dix ethernet frame v2 has following feilds:
what value was used in" type"field to specify ip packet in data field?
My new book by Wendell Odom shows " IEEE 802.3(original)" standard as :
IEEE replaced" type" field in Dix ethernet by " length"field in IEEE802.3 original standards.
My question is since there is no " type"
field,how the different pay load such as ip packet, ipx is supported over such standard.
The old book by Wendell Odom shows the IEEE 802.3 original standard as :
The above has "dsap and ssap "fields to specify type of pay load which is not shown in IEEE 802.3 original in the new book.
Which one is correct?
thanks a lot !
I have my pc connected to an ADSL router here it is the txt of a capture while I was pinging a website
No. Time Source Destination Protocol Info
4 0.122055 184.108.40.206 192.168.2.2 ICMP Echo (ping) reply
Frame 4 (98 bytes on wire, 98 bytes captured)
Ethernet II, Src: 00:11:50:7e:c3:04, Dst: 00:0c:6e:d3:6c:45
Internet Protocol, Src Addr: 220.127.116.11 (18.104.22.168), Dst Addr: 192.168.2.2 (192.168.2.2)
Internet Control Message Protocol
Actually, for IPv4 ethernet format is used otherwise as you noted you should use :
LLC header (3 bytes)
SNAP header (5 bytes)
in last two bytes of SNAP the ethertype 0x800 should be used.
1997 802.3 revision simply accepts as a standard what had become standard in real world :
ethernet II format + IPv4 packet
if you check your PC you should see something similar:
ethernet II frame format with ethertype 0x800 and then the packet.
Here I put the hex dump of same packet
000 00 0c 6e d3 6c 45 00 11 50 7e c3 04 >>08 00<< 45 00 ..n.lE.. P~....E.
0010 00 54 c6 31 00 00 37 01 14 b2 d5 5c 10 bf c0 a8 .T.1..7. ...\....
0020 02 02 00 00 7c 1d a5 13 00 01 da ce 2a 4a e4 b1 ....|... ....*J..
as you can see after two MAC address ethertype 0800 follows the next byte has value 45 and it is the beginning of ipv4 header
Of course NAT allows my private ip address to reach the internet.
Hope to help
1) As I said 802.3 specification doesn't describe the full Data-link layer. you need 802.2 to have full implementation. That's why 100% of the original 802.3 frame before 1997 requires the LLC header.
2)Before 1997, you couldn't differentiate an Ethernet II frame from a 802.3 frame and so both formats couldn't co-exist
After 1997 as Giuseppe already explained both field had been merged and they made sure no overlapping can occur. Now both formats can be supported on the same LAN.
as also the book is saying the type/length type contains frame length only if its value can represent a valid frame length.
I'm not sure what is the exact boundary limit value but this looks like reasonable and enough to discriminate between the different formats.
if value < threshold then
the field is a length at at least LLC header follows, SNAP might be present if LLC = AA AA 03
(this is an ethertype and no LLC follows
This is my understanding.
Hope to help
802.3 specification stops at the length field so it's not incorrect to say it's only data following this field. It's 802.2 which takes care about how to determine to which upper layer I should send this frame.
So what the data field includes has not the same meaning if you explicit the LLC header or not. If the LLC header is not explicited, it means it's included in the data field.
Btw, could you give us the name of the books you are referring to ?
about the question of 802.3.
According to CCIE R&S 3edition
original 802.3 specification includes LLC header
a successive specification 802.3 in year 1997 has adopted the dix /Eth II format so in this case the LLC header (DSAP, SSAP and control) is missing.
So formally two different 802.3 specifications exist and in this context both books are right because they refer to the two versions of 802.3
It is confusing.
Hope to help
nice question as usual.
My understanding is that the original length intended to carry the total frame size can become a protocol type when the value that is into it is bigger then the max ethernet size.
For example: IP over ethernet is
if we convert this in decimal means:
2048 that is bigger then 1518 the original max ethernet frame size
(actually the link below says up to 1500 byte = 05DC)
So the trick is this:
values up to 0x 5dc are a real frame length values greater are protocol type.
0000 - 05DC IEEE802.3 Length Field
Hope to help