First of all, this is a very nice question, so kudos for asking it.
- Packets are a very generic term that is not well-defined. I prefer using packet as synonymous to datagram, which is network-layer Protocol Data Unit. In some circles, you could say that a packet is a L3PDU.
- Since the question is asking about "switching" and is talking about "packets" begin placed on links, I will take the liberty and look at this question only from a Data Link point of view. Thus, I will use the term frame.
link1 that is used here is an Ethernet cable, an optic cable, or a radio wave. In any case, once a bit is placed in the link, there is no way of stopping the bit from flowing, and anyone listening on the link will receive the bit after some time (we call this time propagation delay).
Yes, a host (
h1 in the above example), generally, has no restriction as to how quickly it can place L2PDUs (frames) onto a data link. So, in the above example,
h1 can place frames onto
link1 as fast as its Network Interface Card (NIC) will allow. So let us assume that
h1 has a 1Gbps Ethernet NIC. Frame1 is 8 kilobits long, so it should take
h1 8 microseconds to put it onto
link1 (ignoring L1 synchronization overheads, assuming 1:1 symbol efficiency and assuming a perfect L1 link).
h1 is free to place Frame2 onto
link1 right after afterwards.
The length of the links only affects the propagation delay and nothing else. So, in this case, if the switch
w is pushing frames through to
link2 as soon as it realizes where this frame should go, then switch
w only needs a shallow memory buffer to store small parts of Frame1 before copying them onto
link2. If switch
w is actually overwhelmed and its buffers are filled, switch
w may request host
h1 to slow down. Ethernet allows link-attached devices to slow down other too-fast devices with
This is called serial transmission. Each frame is transmitted by
link1 one after the other. Ethernet is a serial communication media. A NIC can only place a single bit on the Ethernet medium at any given moment. There is no way to transmit two bits (let alone frames) on Ethernet simultaneously. Of popular data link (or physical layer) technologies, only MIMO WiFi supports the transmission of data in parallel, but this whole process breaks down at the data link layer. Even for WiFi, frames appear to be delivered serially.
If you are talking about Transport layer multiplexing, then yes, it may appear that multiple streams of communication happen in parallel between end-hosts (several processes appear to communicate in parallel), but at the data link layer, frames are transmitted in serial.