The Generic Packet X is used as an introduction to Synchronous Data Transmission. As we explore more standards and protocols, we find that we can expand the frame structure (packet) into better-defined sections. These sections will allow easier understanding of the different frame types (Ethernet, Token Ring, SDLC, HDLC, Frame Relay, ATM, Cell Relay, etc.). It also will provide a point of reference.
Basic Frame Structure
Preamble: Starting Delimiter/Alert Burst/Start of Header
At the beginning of each frame (packet), there will be a sequence of octets (8 bit words) called the Preamble. The Preamble is used to do the following:
Inform the receiving station that a new packet is arriving
Synchronize the receive clock with the transmitted clock
The Preamble is a series of octets--with a specific bit pattern--that is used only by the Preamble.
Names used by other protocols (for the Preamble) are as follows: Starting Delimiter, Alert Burst and Start of Header. All of these perform the same 2 basic functions.
Address Field(s): Source and/or Destination
The Address Field consists of a Source Address and/or a Destination Address. The Source and Destination Addresses are hexadecimal numbers that identify the sender - Source and receiver - Destination. The Network Addresses can reside in the Network Interface Card's firmware, or they can be assigned during the initialization of the NIC.
The purpose of the Source Address is to identify to the network that's sending data. The purpose of the Destination Address is to identify--to the network--who should be receiving the data.
Under some protocols, there may not be both Source and Destination Addresses (only one address may be present).
Control Field
The Control Field is used to indicate the Type of Information that is being sent as Data. The Type of Information can be Control information used when establishing a connection (i.e. handshaking), or it can be Data such as file transfers between clients and servers. The purpose of the Control Field is to identify the purpose (Control or Data) of the packet or frame. It can also be used to indicate the size of the packet and Data.
Data / Message and Optional Pad
The Data Field or Message is the actual information that is being transmitted. It can contain Control Information for handshaking, or actual Data used by applications. The Control Field would indicate the size of the Data Field. The Data field is also called the Info field by some protocols.
The optional Pad is used to pad the data field when the protocol has a fixed Data Field size. For example, if the Data Field size is fixed at 1200 octets, and only 300 octets of information is available, then the Pad will fill in the remaining 900 octets with characters (e.g. 900 octets of 00h). The protocol may also use the Pad to ensure a minimum Data field size.
CRC / Frame Check Sequence
The CRC / Frame Check Sequence (FCS) contains an error checking number that the Destination can use to verify that the packet is okay (and error-free). CRC is an abbreviation for Cyclic Redundancy Checking. The Frame Check Sequence typically incorporates a 32 Bit CRC check. Checksums works similarly, but uses a different algorithm.
As each packet is sent, the Source calculates a check number from the data using a predetermined algorithm (formula). The result of this calculation is appended to the packet in the Frame Check Sequence (FCS) field. At the Destination, the same calculation is performed, and the result is compared to the transmitted Frame Check Sequence. If the result generated at the Destination is identical to the FCS, then it is assumed that the packet is error free--at the bit level.
End Frame Delimiter
The End Frame Delimiter is a series of octets that have a specific bit pattern. This bit pattern identifies the end of the packet to the Destination. Not all protocols have End Frame Delimiter fields: protocols with fixed packet size may not need the End Frame Delimiter field because the Destination may simply count the number of octets that it has received.
If this section was helpful, why not donate to further development?