A forward interest rate is always in relation to some specific underlying interest rater. Given the contract C that starts at T and defines the underlying interest rate r(T), the forward interest rate at time t < T is the number f(t,T) with the following meaning: It makes economic sense for any two parties at time t to enter into the contract C with the respective interest rate within the contract stipulated to equal exactly f(t,T). Note that at the later time T > t it may make no sense to enter into the contract C any more using the interest rate value of f(t,T).
As an example, let r(T) be a certain ibor rate prevailing at time T. In simplifing terms, the associated contract C is a lending/borrowing contract between two banks over a term that starts at T and ends a certain time interval later, for example at T + 0.5. Then the forward interest ratef(t,T) is the number agreed between two parties at time t, such that they will enter into the contract C at the latter time T using the rate f(t,T) even if that rate is not fair any more.
It follows that f(t,T) -> r(T) as t -> t.
Similar to the interest rate function r(t), we may also speak of a function f(t,T) that - keeping T fixed - maps each time t to the respective forward interest rate value f(t,T). Assuming t = 0 designates the time now, the value f(t,T), t > 0 and t < T is not a simple number but rather a random variable, since it is not possible to know with certainty the forward interest rate that is going to prevail at the future tinme t. It follows, the function f(t,T) represents a mapping from t to some random variable, and therefore is a stochastic process.