How does sender and receiver clock time periods synchronize in data communication?
This clock sync doesn't necessarily happen before; it often happens before, and during transmission. 

The things you might want to read in the usual literature (especially: Sklar and Proakis, imho) is timing synchronization.

How to implement that depends on a lot of unknowns, so I can't give you one answer. In reality, there's literally hundreds of approaches to synchronize timing, and which one you choose depends, among a lot of other things, on


physical relation of symbol rate and carrier frequency
modulation
signal model
statistical noise model
statistical interference model
receiver imperfection models (nonlinearities, I/Q imbalances, clock drifts, sampling jitter, …)
length of transmission
coherency time of your channel (which is closely linked to)
doppler bandwidth of your channel 
statistical model of the clock offsets
affordable overhead for CSI acquisition vs. payload data rate
receiver operation characteristics, ARQ vs robustness trade-off etc
memory available at receiver
computing power available at receiver
power consumption limits and tradeoffs
MIMO necessity
receiver cost vs BER tradeoff
Channel coding used (effect of SER, in the end)
multi-user capabilities


If you pick any of these books, they'll probably introduce some classical synchronizer – and you can still find those in application very often! But all of these are already relatively application-specific. For example, a control loop that stabilizes a QPSK reception doesn't necessarily (and usually: won't, because a few mathematical tricks don't work here) work for 8PSK. 

If you're really just interested in timing estimation happening before actual payload transmission, you're after preambles. Those are known sequences that the receiver looks for to estimate the parameters of the channel and transmission – timing is one of these parameters.