Packets are carried inside frames
It is important to understand how packets and frames are related.
A packet is a block of user data, such as a piece of an e-mail message, with a network address pasted onto the front. Packets are used on networks. The network equipment looks at the network address and uses this information to make a route decision.
A frame is a lower-level idea. Frames are used on cabling systems. The cabling system can have multiple stations connected on the cable. A frame has framing to mark the beginning and end, sender and receiver addresses to indicate the stations on the cable, low-level control information, and a payload.
The main purpose of doing frames is to indicate which device on the current circuit we are trying to communicate to, and determine whether any errors happen. If an error is detected, the frame will have to be retransmitted somehow. Once this is successful, we have transmitted data from one device to another that are on the same circuit. Or, if one wanted to be exactly correct: transmitted data from one device to another that are in the same broadcast domain.
The main purpose of packets is to append a network address to your data. The network address is the final destination, and is used by network equipment to make route decisions.
When we transmit a packet on a circuit that is part of a network, we want to make sure that it is transmitted with no errors… so we insert the packet in a frame. The thing that the frames is carrying as its payload is a packet. Packets are carried inside frames.
Notice that there are two addresses: the network address and the link address. The basic idea is that the network address on the packet is the final destination. This is globally meaningful, and doesn't change. The link address on the frame indicates the device we are trying to communicate on the current circuit, so it is only locally meaningful, and will change as the packet moves from one circuit to the next. This is the basic idea.
At every intermediate router in a network, the router has to bring in the frame, perform the CRC check on the frame, look at the frame address, extract the packet, give it to the routing software running on the router, which examines the network address on the packet, uses it to make a routing decision, puts the packet back in a frame, changes the frame address, recalculate the FCS and transmits the frame on the outgoing circuit.