Computer Networks: A Systems Approach (The Morgan Kaufmann Series in Networking) - podcast episode cover

Computer Networks: A Systems Approach (The Morgan Kaufmann Series in Networking)

Apr 24, 202621 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

A comprehensive textbook that explores the fundamental design and operation of data communication systems. Unlike traditional resources that strictly follow the OSI seven-layer model, this book emphasizes a systems-oriented perspective to help students understand the interplay between hardware, software, and protocols. The authors have updated this version to address modern technological shifts, specifically focusing on cloudification, 5G networks, and software-defined networking. Through expert testimonials and a detailed table of contents, the text highlights its pedagogical transition from theoretical "how" to practical "doing." It also marks a significant shift by becoming an open-source project, inviting the global community to contribute to its ongoing evolution via GitHub. Ultimately, the source serves as a roadmap for builders, operators, and developers to navigate the complexities of global internet architecture.

You can listen and download our episodes for free on more than 10 different platforms:
https://linktr.ee/cyber_security_summary

Get the Book now from Amazon:
https://www.amazon.com/Computer-Networks-Approach-Kaufmann-Networking/dp/0128182008?&linkCode=ll2&tag=cvthunderx-20&linkId=74e8e61d03d3a6a32a292cf39ec86911&language=en_US&ref_=as_li_ss_tl

Discover our free courses in tech and cybersecurity, Start learning today:
https://linktr.ee/cybercode_academy

Transcript

Speaker 1

Right now. You know you're probably listening to this over a Wi Fi connection or maybe a cellular network. You hit play on your device and the audio just immediately started streaming right into your ears.

Speaker 2

Right. It feels completely seamless.

Speaker 1

Yeah, honestly, it feels like magic. I mean, we navigate our entire digital lives assuming there's just this I don't know, this, one single invisible, tightly pulled wire connecting our phones directly to whatever server holds the deep dive we want to listen to.

Speaker 3

We really have grown completely accustomed to that illusion, haven't we, That illusion of a direct, unobstructed connection. But we rarely stop to actually consider the sheer volume of well mechanical and logical hurdles that data has to clear just to reach us.

Speaker 1

Exactly. So today we are cracking open the Internet's invisible plumbing. We're going to figure out how this astonishing ballet of engineering actually.

Speaker 2

Works, which is quite the task.

Speaker 1

Yeah, it is. And to guide us, we're using a foundational text in the field. It's called computer networks as Systems of Approach. We are specifically pulling our insights from the sixth edition by Larry Peterson and Bruce Davey along with as part is really cool the forwards provided by Internet pioneer David D. Clark.

Speaker 3

Yeah, and the methodology of this particular text is really what makes it so valuable for our mission today. We are not We're not going to drag you through an exhaustive audio textbook of dry protocols and endless acronyms K goodness, right. Our goal is to decode the why of the Internet. We're looking at how all these individual components fit together to solve the really monumental problem of global connectivity, which means we kind.

Speaker 1

Of need to hop into a time machine for just a minute, because the first edition of this source material was actually published back in nineteen ninety six, and the contrast between the network landscape of nineteen ninety six and today is just staggering. Oh. Absolutely. Back then, you had fifty six K dial up modems literally screeching at you. Alta Vista was the brand new hot search engine, and the concept of the cloud was I mean literal distant

hate on the horizon. Gigbit Wi Fi and four k's streaming video on a phone that was pure science fiction.

Speaker 2

It really was. And in his forward, David D.

Speaker 3

Clark highlights this really crucial shift in our perception since those early days, particularly regarding that concept of the cloud.

Speaker 1

Well, right, the fluffy cloud.

Speaker 2

Yeah, exactly.

Speaker 3

People hear that word today and they picture something soft, fluffy ethereal just kind of floating above us. But the physical reality is entirely different totally. The cloud is actually a massive data center, right, like the size of a football field. It is heavy industrial infrastructure, filled with cold steel, massive cooling fans, and just rows of servers sucking down megawatts of power.

Speaker 1

Which is such a great mental image for you to hold on to as you listen to this, that physical reality of who actually owns the wires and the servers, because it plays a huge role in how the Internet is evolving today. But looking back at those early days also brings up this fascinating historical quirk about how networking used to be taught. Students were four to memorize this incredibly rigid seven layer model called the OSI model.

Speaker 2

The dreaded os I model.

Speaker 1

Yes. Now, in computer science, there's this universally understood insult called spaghetti code. It describes a program that has just become a tangled, unreadable mess trying to understand the Internet by strictly adhering to that rigid seven layer model. It's basically a recipe for spaghetti code right in your.

Speaker 3

Brain because the layered approach is fundamentally flawed. It treats every single function of a network as completely isolated.

Speaker 1

It's like it's like trying to learn how to build a house, but you're only allowed to look at the blueprints for one room at a time. You study the bedroom in total isolation, then you study the kitchen. You completely ignore the plumbing and the electricity that actually has to flow between those rooms to make the house functional. You completely miss the big picture.

Speaker 3

And that spaghetti code trapped is exactly why a system's approach is mandatory and why it really forms the backbone of our entire discussion today. We have to look at the fund mental requirements of the network independently of those rigid layers.

Speaker 1

Right, like stepping back and looking at the.

Speaker 2

Whole house exactly.

Speaker 3

We need to examine reliability, flow control, and security as systemic challenges. How does data actually get from point A to point B without falling apart along the way.

Speaker 1

Okay, so it's easy to say we need a systems approach in theory, but let's look at what that actually means for you, the listener, the exact second you open your laptop. Let's break down the illusion of the quote unquote simple web page request.

Speaker 2

Let's do it.

Speaker 1

The text uses the example of typing in www, dot cs dot Princeton dot edu. When you hit enter, you aren't just sending one single message that says, hey, send me the page. The sheer volume of hidden messages required for that one action is staggering.

Speaker 3

Yeah, the browser has a lot of legwork to do before it can even ask for the content.

Speaker 1

Right, because first your computer has to figure out where that Princeton address actually is. Routers and computers they don't understand English names. They only understand numbers. So your computer reaches out to the Domain Name System or DNS.

Speaker 2

The Internet's phone book exactly.

Speaker 1

Think of DNS as this massive globally distributed phone book just translating that domain name into an IP address something like one twenty eight point one one twobe on one three six point three five. That can take up to six separate messages bouncing around the Internet, querying different servers until it finds the right number.

Speaker 3

And once your computer has that correct numerical address, it still can't simply demand the web page. It actually has to establish a connection first.

Speaker 1

Right, This is where we get into the TCP connection. You can think of TCP as establishing the rules of engagement and the speed limit for the conversation. This requires a three way handshake. So your computer sends a message saying hello, the server sends a message back saying I hear your hello, and hello to you. Then your computer sends a third message saying great, I hear you. Let's talk. That is three more messages just to open the door.

Speaker 3

And only then does your computer send the HTTP request, which is the actual formatted demand for the website's content.

Speaker 1

So the server sends the data and both sides have to acknowledge that they actually receive the information. That's another four messages, and finally, four more messages are required just to politely tear the connection down and say goodbye.

Speaker 2

It's a lot of talking.

Speaker 1

We are talking about well over a dozen invisible messages, crossing potentially thousands of miles, happening in milliseconds, just for one single click.

Speaker 3

And keep in mind that complex choreography is just to load a static web page. In that scenario, the user can afford to wait a second or two.

Speaker 1

Right, you click a link and you wait.

Speaker 3

But now contrast that piece by piece, stop and go web browsing with the intense demands of modern applications. When we introduce streaming video or real time audio platforms like Zoom or Skype, the rules of the game change completely.

Speaker 1

Oh absolutely. I mean, if a Wikipedia article takes an extra half second to load, you probably won't even notice. But if your video call lags by a half second, the conversation becomes completely unbearable.

Speaker 3

And this introduces a really fascinating intersection between biology and computer science. The network design is actually dictated by human psychological constraints.

Speaker 1

Really, biology dictates the network.

Speaker 3

Yes, for real time video, the network must deliver data flawlessly within incredibly tight timing windows.

Speaker 2

Human factors.

Speaker 3

Research actually shows that three hundred milliseconds is the absolute maximum round trip delay humans can tolerate.

Speaker 1

Wow, that is less than a third of a second. Right.

Speaker 3

If the delay pushes past that three hundred millisecond threshold, our natural conversational rhythm just breaks down. We start talking over one another, we pause awkwardly, and the platform becomes virtually unusable.

Speaker 1

I think we've all been on a call exactly.

Speaker 2

Like that, oh for sure.

Speaker 3

So to provide a truly seamless experience, one hundred milliseconds is the gold standard. The physical network has to process, route, and deliver data across the globe faster than your brain can even perceive the delay.

Speaker 1

Okay, I actually have to pause and push back on this a bit because the math does seem to add up here. How So, well, if real time video is that fragile, If we are bound by a one hundred millisecond gold standard dictated by human biology, and a single static web page requires a dozen invisible handshakes just to find the server and say hello, how does the network

not just collapse? It's a fair question, I mean, how does this infrastructure survive the weight of literally billions of people doing this at the exact same time all over the world.

Speaker 3

To answer how the system survives that massive simultaneous demand, we really have to look at the architecture of connection. We have to scale a perspective from a single wire all the way up to the globe, and this architecture relies on two foundational building blocks, nodes and links.

Speaker 1

Okay, assuming we're taking a literal systems approach, here, nodes would be the actual physical devices, right like the computers, the servers, and the switches processing the data exactly, and the links would be the physical medium connecting them together, like the copper wires, the fiber optic submarine cables laid across the ocean floor, or the radio waves of a Wi Fi signal precisely.

Speaker 3

Now, those links can be point to point, meaning a direct exclusive wire between two specific nodes, but they can also be multiple access, meaning.

Speaker 1

A shared connection. So a Wi Fi router in a crowded coffee shop where two dozen laptops are fighting for the exact same radio signal to get online, that would be a multiple access link.

Speaker 3

Yes, Cellular networks and Wi Fi are prime examples of multiple access links. They often serve as the last mile that connects the end user to the broader infrastructure. But you cannot build a global internet with just one giant shared Wi.

Speaker 1

Fi signal, right, That would be chaos.

Speaker 2

Total chaos.

Speaker 3

You need a way to route traffic across the world. And this brings us to a massive fork in the road for network design. Circuit switch networks versus packet switched networks.

Speaker 1

Yeah, the source text highlights this division beautifully circuit switched networks operate like the old school telephone system in the early days. You'd pick up the phone, an operator would literally plug a wire into a board, and you would have a dedicated, physical, uninterrupted copper line connecting you to the person.

Speaker 3

You were calling, and that circuit was reserved exclusively for your conversation.

Speaker 1

Right for the duration of that call. No one else could use that specific path exactly. So wait, if I need that guaranteed one hundred millisecond delay from my incredibly important video call, wouldn't it be far safer and faster to just use circuit switching. Why don't we just have the network establish a dedicated physical line between me and my coworker for the duration of the meeting, completely bypassing the traffic jam of other users.

Speaker 3

It's a highly logical question, but the barrier is cost effective scalability. If we use circuit switching for the Internet, the system would run out of capacity almost instantly.

Speaker 1

Well, because there are just too many of us, right.

Speaker 3

Imagine if every single website you visited required the Internet to build a temporary, dedicated physical copper wire from your house to a server in a different country. It is physically an economic impossible to scale to billions of users.

Speaker 1

Which means we are essentially forced to share the wires. And I guess that leads us to pack and switching.

Speaker 2

It does.

Speaker 3

Packet switched networks rely on a strategy called store and forward. Instead of carving out a dedicated physical line, your data is broken into blocks. A node receives a block of data, stores it briefly in its memory, looks at where it needs to go, and then forwards it to the next node. It acts like a massive global relay race. This allows architects to build an inter network often written with a lowercase I, basically.

Speaker 1

A network of independent networks kind of nested within one another.

Speaker 2

Exactly.

Speaker 3

You take local networks, regional networks, and national networks, and you abstractly represent them as overlapping clouds. By nesting these clouds, you can scale the system recursively. You just pass the data from cloud to cloud until it reaches its destination.

Speaker 1

Okay, so we've established it. To scale efficiently, we absolutely must share the network using packet switching rather than dedicated physical circuits. But this introduces a massive mechanical problem, doesn't it. It introduces quite a few like how exactly do millions of people share the exact same physical link, say a transatlantic fiber optic cable, at the exact same time, without their data colliding into a catastrophic, unreadable mess.

Speaker 3

The mechanism that prevents that chaos is really the secret sauce of the Internet. It's called multiplexing. Multiplexing simply means sharing a system resource among multiple users, and before the modern Internet, there were older, much more rigid methods to achieve this, like frequency division multiplexing or FDM, that separates signals by broadcasting them on different frequencies very much like television or radio channels operating simultaneously without overlapping.

Speaker 1

And the text also mentioned synchronous time division multiplexing or STDM. I actually love the analogy for this one because it perfectly highlights why those early networking methods were so frustratingly inefficient for modern use.

Speaker 2

Oh the corporate meeting analogies.

Speaker 1

Yes, imagine STDM is like a highly rigid corporate meeting. Everyone sits in a circle and the boss dictates that each person gets exactly five minutes to speak in a strict.

Speaker 3

Order, a completely inflexible schedule.

Speaker 1

Right, So it gets to your turn, but you don't have any updates. You have absolutely nothing to say. Under STDM rules, you can't just pass the microphone to the next person You've just stuck. The entire room just sits there, staring at you in awkward silence for five solid minutes until your quantum of time expires and the schedule moves on.

Speaker 3

It is technically fair, but it is incredibly.

Speaker 1

Wasteful, extremely wasteful, especially because when you browse the web, your behavior is incredibly bursty. You click a link, you download a massive page and a fraction of a second, and then you spend three minutes just reading the text. During those three minutes, your connection is completely idle. If the Internet used STBM, the network would just be holding the door open for you, reserving space on the submarine cable that no one else could use while you slowly read a Wikipedia article.

Speaker 3

And the evolution that rescued the network from that massive inefficiency is a concept called statistical multiplexing.

Speaker 2

This is the true hero.

Speaker 3

Of the modern Internet, the hero we needed, definitely. Instead of rigid, predetermined timeslots, statistical multiplexing allows users to transmit on demand. If you have data to send, you send it. If you are idle, the network immediately reallocates that capacity to someone else who needs it.

Speaker 1

But wait, if everyone just transmits on demand, how do we prevent one person from just hogging the microphone forever? Like if I decide to download a massive hundred gigabyte video game, what stops my download from completely blocking my neighbor from sending a simple email?

Speaker 3

This is where the packet in packet switching becomes absolutely crucial to prevent any single user from monopolizing the shared link. The data is chopped up into limited sized blocks. You do not send one hundred gigabyte file all at once. You send a sequence of tiny packets.

Speaker 1

Ah okay, So imagine taking a thousand different multi page letters from a thousand different people, chopping them all up into individual scraps of paper, and shoving them all into the same mail bag.

Speaker 2

That's a great way to picture it.

Speaker 1

The key is that every single scrap gets stamped with a header, a return address, and a destination address. The network router doesn't care whose letter it is or how long the original message was. It just reaches into the bag, grabs the next scrap, reads the stamp, and shoves it down the pipe.

Speaker 3

Yes, it takes one packet from your video game, then one packet from your neighbor's email, then one packet from a stranger's zoom call, interleaving them on the shared wire in an incredibly fast democratic rotation.

Speaker 1

Everyone gets a tiny slice of the pie over and over again, thousands of times a second, exactly.

Speaker 3

But there is an inevitable catch to this on demand system. What happens when everyone actually does talk at once? What happens when a highly anticipated show drops on a streaming service, or breaking news hits and millions of people demand data at the exact same millisecond.

Speaker 1

I guess the demand and suddenly exceeds the physical capacity of the.

Speaker 3

Wire exactly, And this is the primary headache for network engineers. When that massive burst of traffic hits, the switches in the network received packets much faster than they can physically send them out over the next link.

Speaker 1

Because the switch can't just magically make the fiber optic cable run faster, it has to put those incoming packets somewhere.

Speaker 3

It relies on memory buffers. The switch takes those incoming packets and temporarily stores them in a queue, lining them up and waiting for their turn to be sent down the wire. But memory inside a switch is finite.

Speaker 1

Right, it's a physical box. Yeah.

Speaker 3

If the burst of traffic lasts too long and packets keep pouring in, that buffer gets completely full. The switch enters a state of congestion.

Speaker 1

Oh man, this is the cliffhanger. The buffer is completely full, there is no more memory, and a brand new packet arrives at the switch. What happens.

Speaker 3

The switch has absolutely no choice.

Speaker 2

It drops the packet.

Speaker 1

It just drops it.

Speaker 3

The data is simply deleted, lost in the ether.

Speaker 2

It just throws it away.

Speaker 1

Wait wait, wait, the data is just deleted and thrown away. How am I still seeing the web page? How does my download actually finish? If the switches in the middle of the ocean are just routinely tossing my packets into the void because they got a little.

Speaker 3

Too busy, That recovery mechanism is really one of the most brilliant aspects of the system.

Speaker 2

We mentioned TCP.

Speaker 3

Earlier, the protocol that sets up the rules of engagement with that three way handshake.

Speaker 1

Right the hello Hello, do you think exactly?

Speaker 3

While TCP doesn't just open the door, it actually guarantees delivery. When your computer sends a packet of data, it doesn't just fire it off and forget about it. It keeps a copy of that packet in its own memory, and it starts an invisible timer.

Speaker 1

So it's waiting for a receipt.

Speaker 3

Precisely, it waits for an acknowledgment from the destination. If the network is congested and a switch drops your packet, that acknowledgment will never arrive. The invisible timer on your computer just runs out.

Speaker 1

Oh, I see.

Speaker 3

Your computer realizes the data was lost, and it simply retransmits the copy it saves.

Speaker 1

It just tries again. That's so simple but brilliant, and.

Speaker 3

It continues to try, dynamically adjusting its speed based on how congested the network feels, until it finally receives that receipt. Managing this reality, allocating the link fairly, detecting congestion, dropping packets when necessary, and relying on protocols like TCP to stitch the data back together. That is the core friction that engineers fight every single day.

Speaker 1

Wow, let's zoom out and summarize this incredible journey for a second. We have gone all the way from the raw physical infrastructure you know the submarine cables and the massive power hungry data centers through the sheer genius of statistical multiplexing. Right, We've seen how chopping data down into stamp packets allows millions of people to share a single wire. We've uncovered the hidden failsafes like TCP retransmissions that save our data when the system gets overwhelmed.

Speaker 2

It's a lot of moving parts.

Speaker 1

It really is, and all of this physical and mathematical chaos is abstracted into logical pipes. These pipes allow your web browsers, your video games, and your streaming apps to communicate globally without the app developer needing to know a single thing about the physical wires underneath. The network does all the heavy lifting, so developers don't have to reinvent the wheel for every single new application.

Speaker 3

And the staggering complexity of that infrastructure is entirely hidden from the end user.

Speaker 2

As David D.

Speaker 3

Clark might argue that invisibility is the true mark of a successful system design.

Speaker 1

It really is an astonishing achievement when you step back and look at it. Now, as we wrap up this deep dive into the systems that connect us, we always like to leave you the listener with a final thought to moll over an idea to explore on your own that builds on the mechanics we've discussed today.

Speaker 3

And the source text offers a really profound shift in the network's evolution to consider. Here we spend our time today exploring how the Internet was built on open protocols, you know, systems and rules designed to allow peer to peer connection freely across the globe, moving data from node to node, regardless of who actually owned the computers.

Speaker 1

Right, a very dem ocratic system, But the.

Speaker 3

Text notes a massive shift currently underway. Much of the Internet's functionality today no longer relies purely on those open, decentralized protocols. Instead, it is increasingly being delivered by proprietary commercial cloud services.

Speaker 1

Ah those heavy industrial data centers we talked about the very beginning, massive companies building their own walled gardens, owning both the servers and increasingly the physical cables themselves exactly.

Speaker 3

So the question to leave you with is this, As the Internet continues to evolve into this massive, commercially driven cloud infrastructure, are we losing the open peer to peer architecture that made the global network possible in the first place.

Speaker 1

That is a fascinating tension to consider the open road of shared protocols versus the private, highly efficient toll way of the modern commercial cloud. Next time you sit down at your laptop, type in a web address and trigger that visible ballet of chopped up packets and hidden handshakes, ask yourself who actually owns the dance floor.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android