Classical here refers to the protocol being deterministic. In other words, if we ignore noise, you can abstract the classical side of the protocol as '0 goes in, 0 comes out, 1 goes in, 1 comes out' and ignore the physical layer.
That said, noise is a very real phenomenon, and means that no channel is truly perfect, nor truly deterministic. However, there is a large body of knowledge (classical communications theory, error correcting codes, etc.) that is very well tested (e.g. various layers of the internet) to compensate for this side of the problem and ensure, with arbitrarily high probability, that the two classical bits make it through unharmed.
On the other hand, if you wanted to use a single photon source and on/off keying to send the classical bits, you could in theory do that. A single photon state is entirely non-classical (so you have a 'non-classical signal' if you squint in just the right way), but the communications protocol is deterministic; that's the important part.
 That is, break time into a series of slots. Send a single photon to denote a '1' and don't send one to denote a '0' in a given slot. There are large technical difficulties associated with this currently, such as the non-availability of high quantum efficiency single photon sources, but we're talking about theory here.