Inside a shock you'll find oil, an actuating rod, a piston, and two sets of flexible shims that determine how fast the piston can pass through the oil. On the left, the piston is traveling upwards in compression. Holes (ports) in the piston head allow the piston to move through the oil. When the oil encounters the flexible shims on the underside of the piston, those shims flex the shims away from the face of the piston. If the shims flex more, the piston can travel through the oil more quickly. If the shims flex less, the piston travels through the oil more slowly. On the right, the piston is traveling downwards during the rebound stroke. This time, the compression shims are forced closed against the face of the piston and the oil travels though a set of rebound holes (ports) in the piston head. A set of rebound shims on the top of the piston head now flexes open. The degree of flex determines how fast or slow the rebound stroke will be.