Sorry for the long post. I tried to make it small but couldn't make it any smaller. Any help would be really appreciated. It would be great if you can explain from the basics.

In the book "Computer Networking A Top-Down Approach" the following is written: 

One important characteristic of cable Internet access is that it is a shared broadcast medium. In particular, every packet sent by the head end travels down- stream on every link to every home and every packet sent by a home travels on the upstream channel to the head end. For this reason, if several users are simultaneously downloading a video file on the downstream channel, the actual rate at which each user receives its video file will be significantly lower than the aggregate cable downstream rate. On the other hand, if there are only a few active users and they are all Web surfing, then each of the users may actually receive Web pages at the full cable downstream rate, because the users will rarely request a Web page at exactly the same time.

I am getting totally confused by this, as I am having problems figuring out how exactly does broadcasting work in the case of cable networks. It is said that every packet sent by the head end travels downstream to every home. Now suppose the Cable Head End is transmitting a packet with, say, ContentX, and suppose 10 homes are connected to it. In this case 10 ContentX packets will be sent through the link, and each home will get one. But suppose 3 homes are simultaneously searching for Content1, Content2 and Content3 respectively, and the rest of the homes are inactive. In this case the Cable Head End will broadcast packets of Content1, Content2, and Content3 to each home. Which means, there will be 10 Content1 packets, 10 Content2 packets, and 10 Content3 packets in the network (as every packet is broadcasted to all users). So, shouldn't the downstream rate in this case be even lower (because there are more packets to be sent in the same available bandwidth, there will be congestion) than the time when everyone is trying to download the same video because, no matter what, the Cable Head End will transmit the video packets to every house? So, its better if everyone is asking for those broadcasted packets itself rather than asking for different packets.

I can feel that it is intuitively wrong to imagine that the downstream rate would be higher in case of many active users, rather than a few active users. But please help me figure out what is it that I am not getting here.

P.S.: In case of packet switches, if a packet arrives at a broadcast address, the switch makes copies of the packet and sends out through all the outgoing links. So, it there are many such broadcast requests arriving at the switch, the switch will have to make copies of packets for each of those requests and that would overload the network and ultimately reduce the content download rate at each host. This is what I think will happen. Why does the opposite happen in cable network?

  • $\begingroup$ Your title asks for a book to be written. Can you be more precise? $\endgroup$ – Raphael Nov 9 '17 at 6:50
  • $\begingroup$ @Raphael I actually want to know in details how is the data transferred to each host from the Cable Head End. It might seem too much, but an understanding of the basics would definitely set me on the right path. $\endgroup$ – BlindCoder Nov 9 '17 at 6:53
  • $\begingroup$ I don't understand your question. The book quote says that, if multiple people are using the connection, they each get a lower data rate than they would if only one person was connected. You then spend a lengthy paragraph saying that you don't understand how this can be because... if multiple people are using the connection, then it will slow down. Which is exactly what the book told you. $\endgroup$ – David Richerby Nov 9 '17 at 10:40
  • 1
    $\begingroup$ Perhaps the ultimate point that you're missing is that, in a broadcast network, you can send a single packet marked as "Hey, everyone, this is for all of you!" whereas in a point-to-point network, broadcasting requires sending a separate copy of each packet to each recipient. $\endgroup$ – David Richerby Nov 9 '17 at 10:42
  • $\begingroup$ @DavidRicherby I actually said the opposite of what's written in the book. Or maybe the framing of my question is incorrect. $\endgroup$ – BlindCoder Nov 10 '17 at 17:09

Browse other questions tagged or ask your own question.