Sunday, March 27, 2011

ETHERNET PACKET FORMAT

802.3 @10Mbps


802.3 is essentially OSI compliant and defines a physical as well as a MAC layer. At 10Mbps the 802.3 physical layer is composed of an upper physical layer signalling (PLS) sublayer and a lower physical medium attachment (PMA) sublayer. The PLS sublayer is medium independent, responsible for generating and detecting the Manchester code used by all 10Mbps variants, which ensures that clocking information is transmitted along with the data. The PMA sublayer is implemented by a functional unit called an MAU (Medium Access Unit) which attaches directly to the medium, transmits and receives medium signals and identifies collisions. The interface between the PMA and PLS sublayers is known as the Attachment Unit Interface (AUI). In 10Base5, the MAU, known as a transceiver, is separate from the station itself and is attached directly to the Ethernet coaxial cable. The AUI in 10base5 is a drop-cable up to 50m long which carries five twisted pairs connecting the station's NIC (which implements the MAC and PLS) and transceiver . In 10Base2 and 10BaseT, however the MAU and AUI are themselves integrated into the NIC which then connects directly to the medium.


Like the PLS sublayer, the MAC sublayer is common to all variants of 10Mbps 802.3 and its PDUs or frames have a simple structure, shown in Figure 1.






Figure 1:IEEE 802.3frame structure


The Preamble consists of seven bytes all of the form 10101010, and is used by the receiver to allow it to establish bit synchronisation (there is no clocking information on the Ether when nothing is being sent).


The Start frame delimiter is a single byte, 10101011, which is a frame flag, indicating the start of a frame.


The MAC addresses used in 802.3 are always 48 bits long, although older versions of Ethernet used 16 bits. By convention, Ethernet addresses are usually quoted as a sequence of 6 bytes (in hexadecimal) with each byte quoted with its bits in reverse order (this curious arrangement is driven by the transmission order) . Individual addresses have a most significant bit of 0, multicastaddresses a most significant bit of 1 (the most significant byte is thus quoted as xxxx xxx1). An address of 48 �1s� is a broadcast to all stations on the local network. An interesting feature is that individual addresses may be local or global, with, respectively, a second most significant bit of 0 or 1 (so a most significant byte of xxxx xx0x is global). Local addresses have no significance except on the local Ethernet installation, but global addresses are unique: every system with an Ethernet interface has a unique global address hardwired into that interface. In principle, any station can address any other, anywhere in the world, but of course this would rely on a rather impractical internet layer to identify the target, and perform the routing. On a single Ethernet there is no such problem because a frame is seen by all stations and each can recognise its own address. Note that these are addresses of SAPs at the top of the MAC sublayer and it is to these SAPs that Ethernet delivers frames: from the point of view of the higher layers, these are the NPAs.


The Length/EtherType field is the only one which differs between 802.3 and Ethernet II. In 802.3 it indicates the number of bytes of data in the frame�s payload, and can be anything from 0 to 1500 bytes. Frames must be at least 64 bytes long, not including the preamble, so, if the data field is shorter than 46 bytes, it must be compensated by the Pad field. The reason for specifying a minimum length lies with the collision-detect mechanism. In CSMA/CD a station must never be allowed to believe it has transmitted a frame successfully if that frame has, in fact, experienced a collision. In the worst case it takes twice the maximum propagation delay across the network before a station can be sure that a transmission has been successful. If a station sends a really short frame, it may actually finish sending and release the Ether without realising that a collision has occurred. The 802.3 design rules specify an upper limit on the maximum propagation delay in any Ethernet installation, and the minimum frame size is set to be more than twice this figure (64 bytes takes 51.2ms to send at 10Mbps).


In Ethernet II, on the other hand, this field is used to indicate the type of payload carried by the frame. For example 080016 signifies an IP payload. In fact the smallest legal value of this field is 060016, and since the greatest value of the 802.3 Length is 05DC16 it is always possible to tell Ethernet and 802.3 frames apart and they can therefore coexist on the same network. 802.3 was intended to be used with 802.2 LLC as its standard payload, the latter using a 7-bit subaddress to specify protocol type. However, this is not compatible with the 16-bit EtherType of Ethernet II, so the SNAP (Subnetwork Access Protocol) extension was developed. With a SNAP-extended header, an LLC PDU can carry a 16-bit EtherType.


Finally the Checksum field uses a CRC-32 polynomial code.


To send a frame, a station on an 802.3 network first listens to the Ether (carrier sense function). If the Ether is busy, the station defers, but, after the current activity stops, it uses a 1-persistent strategy and will wait only for a short, fixed delay, the inter-frame gap, before beginning to transmit. If there is no collision, the transmission will complete successfully. If, however, a collision is detected, the frame transmission stops and the station begins to send a jamming signal�to make sure that all other stations realise what has happened. The station then backs off for a random time interval before trying again. The back-off�interval is computed using an algorithm called truncated binary exponential backoff, which works as follows.
The station always waits for some multiple of a 51.2ms time interval, known as a slot. The station chooses a number randomly from the set {0,1} and waits for that number of slots. If there is another collision it waits again, but this time for a number chosen from {0,1,2,3}. After k collisions on the same transmission it chooses its number randomly from {0, �, 2k-1}, until k = 10, when the set is frozen. After k = 16, the so-called attempt limit, the MAC unit gives up and reports a failure to the layer above.


The collision does, however, typically result in a short malformed packet called a runt. The runt is just the part of a packet that the first sender managed to transmit before the collision occurred. If the Ethernet construction rules are adhered to, the runt will be easily identified because it will be shorter than the Ethernet minimum (64 bytes). Its CRC will also be incorrect. Runts are common and cause little difficulty on individual Ethernet segments, but it is important that they should be identified and filtered by a switch to prevent them being forwarded unnecessarily onto other segments.

No comments:

Post a Comment