A packet may contain any of the following components: ;Addresses :The
routing of network packets requires two
network addresses, the source address of the sending host, and the destination address of the receiving host. ;Error detection and correction :
Error detection and correction is performed at various layers in the
protocol stack. Network packets may contain a
checksum,
parity bits or
cyclic redundancy checks to detect errors that occur during transmission. :At the transmitter, the calculation is performed before the packet is sent. When received at the destination, the checksum is recalculated, and compared with the one in the packet. If discrepancies are found, the packet may be corrected or discarded. Any
packet loss due to these discards is dealt with by the network protocol. :In some cases, modifications of the network packet may be necessary while routing, in which cases checksums are recalculated. ;Hop limit :Under fault conditions, packets can end up traversing a
closed circuit. If nothing was done, eventually the number of packets circulating would build up until the network was congested to the point of failure.
Time to live is a field that is decreased by one each time a packet goes through a
network hop. If the field reaches zero, routing has failed, and the packet is discarded. :Ethernet packets have no time-to-live field and so are subject to
broadcast storms in the presence of a
switching loop. ;Length :There may be a field to identify the overall packet length. However, in some types of networks, the length is implied by the duration of the transmission. ;Protocol identifier :It is often desirable to carry multiple communication protocols on a network. A protocol identifier field specifies a packet's protocol and allows the protocol stack to process many types of packets. ;Priority :Some networks implement
quality of service which can prioritize some types of packets above others. This field indicates which packet queue should be used; a high-priority queue is emptied more quickly than lower-priority queues at points in the network where congestion is occurring. ;Payload :In general, the payload is the data that is carried on behalf of an application. It is usually of variable length, up to a maximum that is set by the network protocol and sometimes the equipment on the route. When necessary, some networks can break a larger packet into smaller packets. == Examples ==