I am new to learning networking concepts. This might be stupid question but please resolve this doubt. Thanks in advance.
Disclaimer: I do not know Karn's algorithm, but I presume it is part of (at least one) one of TCP's flow control/congestion avoidance algorithms out there.
But this much can be said: TCP timestamps are optional.
In the absence of TCP timestamping, there still needs to be a way to observe and adjust the flow behaviour of a given TCP session. This essentially means keeping track of the intervals and time deltas (= RTT) of incoming ACKs for segments sent out previously, and adapting sending rates accordingly.