Computer Networks: Crash Course Computer Science #28

CrashCourse
13 Sept 201712:19

Summary

TLDRThis CrashCourse Computer Science episode explores the evolution and principles of computer networks, from the early days of Local Area Networks (LANs) and Ethernet to the development of the Internet. It delves into concepts like Carrier Sense Multiple Access (CSMA), Exponential Backoff, and the distinction between Circuit Switching and Packet Switching. The episode explains how these technologies enable efficient data transmission, reduce collisions, and contribute to the Internet's robustness and scalability.

Takeaways

  • 🌐 The Internet has revolutionized global communication, reducing the time to send information from weeks to fractions of a second.
  • 📧 Before computer networks, sharing data involved physical media like punch cards or magnetic tapes, which was inefficient compared to today's instant digital sharing.
  • 💡 The first computer networks emerged in the 1950s and 60s, primarily within organizations to facilitate information exchange and resource sharing.
  • 🔌 Local Area Networks (LANs) are networks of computers in close proximity, ranging from two machines to thousands across a university campus.
  • 🔄 Ethernet, developed in the 1970s, is the most successful LAN technology, allowing multiple computers to share a single cable with unique MAC addresses to avoid confusion.
  • đŸš« A drawback of shared transmission mediums is the potential for collisions when multiple devices transmit simultaneously, garbling the data.
  • đŸ€– Computers can detect collisions and employ strategies like Exponential Backoff to reduce the likelihood of re-collision by waiting random periods before retransmitting.
  • 🌉 Network Switches help reduce collisions by creating separate collision domains and only forwarding data necessary between networks, improving efficiency.
  • 🔄 Routing is a fundamental networking concept, with multiple paths available for data to travel from one point to another in large networks like the Internet.
  • 📩 Packet Switching is a method of dividing data into small packets, each with a destination address, allowing for flexible and efficient routing through the network.
  • đŸ›Ąïž Packet Switching was developed with fault tolerance in mind, especially during the Cold War, to ensure communication could continue despite potential disruptions.
  • 🚀 The ARPANET, funded by the US Advanced Research Projects Agency, was the world's first packet-switched network and a precursor to the modern Internet.

Q & A

  • What is the main topic discussed in the CrashCourse Computer Science video script?

    -The main topic discussed is the history and fundamental principles of computer networks, including their development, the concept of Local Area Networks (LANs), Ethernet, and various networking techniques such as Exponential Backoff and Packet Switching.

  • How has the internet impacted the speed of global communication compared to 150 years ago?

    -The internet has drastically reduced the time it takes to send information globally. While sending a letter from London to California took two to three weeks 150 years ago, today an email takes a fraction of a second.

  • What were the two main benefits of early computer networks?

    -The two main benefits were the facilitation of faster and more reliable exchange of information between different people and computers within an organization, and the ability to share physical resources like printers and storage drives.

  • What is a Local Area Network (LAN) and what is its size range?

    -A Local Area Network (LAN) is a computer network that spans a small geographical area such as a room, a building, or a campus. It allows computers to communicate with each other and share resources.

  • What is Ethernet and why is it significant?

    -Ethernet is a family of computer networking technologies commonly used in LANs, developed in the early 1970s at Xerox PARC. It is significant because it is the most famous and successful LAN technology and is still widely used today.

  • What is the purpose of a Media Access Control (MAC) address in Ethernet?

    -The MAC address is a unique identifier assigned to each network interface controller for use as a network address in communications within a network segment. It ensures that data is sent to the correct device on a shared network cable.

  • What is Carrier Sense Multiple Access (CSMA) and how does it work?

    -Carrier Sense Multiple Access (CSMA) is a protocol used in local area network (LAN) technologies where multiple devices share the same transmission medium. It allows devices to sense when the channel is in use and wait before transmitting their data to avoid collisions.

  • What is a collision in the context of Ethernet networks?

    -A collision occurs when two or more devices attempt to transmit data on the same network segment simultaneously, causing the data to be garbled and requiring retransmission.

  • What is Exponential Backoff and how does it help in reducing network collisions?

    -Exponential Backoff is a technique used to avoid collisions on a network by having devices that detect a collision wait for an exponentially increasing amount of time before attempting to retransmit. This reduces the likelihood of repeated collisions.

  • What is the difference between Circuit Switching and Packet Switching?

    -Circuit Switching is a method of dedicating a communication line for exclusive use between two devices for the duration of a transmission, similar to a telephone call. Packet Switching, on the other hand, involves breaking down data into small packets that are sent individually over the network and can take different routes to the destination, making it more efficient and fault-tolerant.

  • What is the role of a Network Switch in reducing collisions?

    -A Network Switch helps reduce collisions by creating separate collision domains. It only forwards data between networks when necessary and keeps a list of MAC addresses to determine where data should be sent, thus allowing multiple transmissions to occur simultaneously without colliding.

  • What is the significance of the ARPANET in the history of the internet?

    -The ARPANET was the first packet-switched network and is considered the ancestor of the modern internet. It was funded by the US Advanced Research Projects Agency and laid the groundwork for the development of internet technologies.

Outlines

00:00

🌐 Introduction to Computer Networks and the Internet

The script introduces the marvels of the internet and its impact on global communication, highlighting the drastic reduction in latency for message transfer compared to historical methods. It explains the evolution of computer networks from standalone machines to interconnected systems sharing data and resources. The episode's focus is on the origins of computer networks in the 1950s and 60s, the development of Local Area Networks (LANs), and the creation of Ethernet as a solution for local networking needs.

05:02

🔌 Ethernet and the Basics of Network Communication

This section delves into the technicalities of Ethernet, the most successful LAN technology, which allows multiple computers to share a common cable for data transmission. It discusses the concept of Media Access Control (MAC) addresses for unique identification and the Carrier Sense Multiple Access (CSMA) protocol to manage data transmission on a shared medium. The summary also covers the challenges of network congestion and collisions, and introduces Exponential Backoff as a strategy to reduce collision rates and improve network efficiency.

10:03

📩 Network Expansion and Data Routing Techniques

The script explores the expansion of computer networks beyond local areas, introducing Network Switches to create smaller collision domains and improve network performance. It contrasts different data routing techniques, including Circuit Switching and Message Switching, explaining their advantages and disadvantages. The summary also introduces the concept of Packet Switching, which underpins the modern internet, and discusses the ARPANET as the precursor to the internet, highlighting its growth and the development of routing protocols like ICMP and BGP.

🌐 The Growth of the Internet and Future Networking Protocols

The final paragraph outlines the exponential growth of the internet from a few dozen computers to an estimated 10 billion devices, including the integration of smart appliances in the 'internet of things'. It sets the stage for future episodes that will discuss higher-level transmission protocols and the World Wide Web, promising a deeper dive into the complex and fascinating world of computer networking.

Mindmap

Keywords

💡Internet

The Internet is a global network of interconnected computers that communicate with each other using standardized protocols. It is the central theme of the video, illustrating how it revolutionized information exchange, making it instantaneous compared to historical methods. The script mentions streaming videos on YouTube and reading articles on Wikipedia as examples of everyday Internet use.

💡Latency

Latency refers to the time it takes for a message or data to be transferred from one point to another in a network. In the video, latency is highlighted as a critical factor in the efficiency of communication, with a significant reduction in latency from historical methods to modern electronic communication.

💡Local Area Network (LAN)

A Local Area Network is a computer network that spans a small geographical area, such as a single building or a university campus. The script explains LANs as early computer networks used to facilitate faster and more reliable information exchange within an organization and to share physical resources like printers.

💡Ethernet

Ethernet is a widely used technology for local area networks, mentioned in the script as being developed in the early 1970s at Xerox PARC. It allows multiple computers to be connected to a single cable, with each computer having a unique MAC address to identify data intended for it.

💡Media Access Control (MAC) address

A MAC address is a unique identifier assigned to network interfaces for communications on a network that uses the Ethernet protocol. The script describes how MAC addresses are used in Ethernet to ensure that data is sent to the correct device on a shared transmission medium.

💡Carrier Sense Multiple Access (CSMA)

CSMA is a protocol used in local area network technologies for data transmission. The script explains it as a method where multiple computers can sense the shared transmission medium and access it when it is not in use, helping to manage data transmission and avoid collisions.

💡Bandwidth

Bandwidth refers to the maximum rate of data transfer across a given path. The script uses the term to describe the capacity of a carrier, such as an Ethernet cable or airwaves for WiFi, to transmit data and how it can be affected by network traffic and collisions.

💡Collision

In the context of networking, a collision occurs when two or more devices attempt to transmit data over a shared carrier at the same time, resulting in garbled data. The script discusses collisions in Ethernet and how they can be detected and managed to maintain network efficiency.

💡Exponential Backoff

Exponential Backoff is a technique used to reduce the likelihood of collisions in a network by increasing the waiting time between retransmission attempts exponentially. The script describes this method as a way to manage network congestion and improve the efficiency of data transmission.

💡Network Switch

A network switch is a device that connects devices together on a computer network, creating separate collision domains to reduce the likelihood of collisions. The script explains how a switch can improve network efficiency by only passing data between networks when necessary.

💡Routing

Routing is the process of selecting paths for data to travel from one network to another or between hosts within the same network. The script discusses routing as a fundamental networking topic, explaining how data can take multiple paths in large networks like the Internet.

💡Packet Switching

Packet Switching is a method of data transmission that breaks data into small packets, each with a destination address, allowing for flexible and efficient routing through a network. The script highlights packet switching as the foundational technology for the modern Internet, providing reliability and fault tolerance.

Highlights

The Internet's ability to send and receive information globally has revolutionized the world.

150 years ago, sending a letter from London to California took weeks, compared to today's email which takes seconds.

Computers before 1970 mostly operated alone, but as they became more prevalent, the need for data sharing and resource sharing led to the creation of computer networks.

Local Area Networks (LANs) were developed in the 1950s and 60s to facilitate information exchange within organizations.

Ethernet, developed in the 1970s at Xerox PARC, is the most successful LAN technology, still widely used today.

Ethernet uses a shared cable and unique MAC addresses to ensure data is sent to the correct computer.

Carrier Sense Multiple Access (CSMA) is the method used by Ethernet to manage data transmission on a shared medium.

Network collisions occur when two computers attempt to transmit data at the same time, causing data garbling.

Ethernet resolves collisions with a simple and effective method involving waiting and re-transmitting with a random delay.

Exponential Backoff is the technique used to reduce collision rates by exponentially increasing wait times after each collision.

Network Switches reduce collisions by dividing a network into smaller collision domains.

The Internet is constructed by interconnecting smaller networks, allowing for inter-network communication.

Routing is a fundamental networking topic, with multiple paths available for data to travel from one location to another.

Circuit Switching is an older method of communication that dedicates a communication line for exclusive use.

Message Switching is similar to the postal system, passing messages through several stops with routing tables.

Hop count is the number of stops a message takes along a route, which can help identify routing problems.

Packet Switching is the modern approach used by the Internet, which involves breaking down data into packets and routing them flexibly.

ARPANET was the world's first packet-switched network and the precursor to the modern Internet.

The Internet has grown exponentially, with an estimated number of devices nearing 10 billion, including smart appliances in the 'Internet of Things'.

Transcripts

play00:03

Hi, I’m Carrie Anne, and welcome to CrashCourse Computer Science!

play00:06

The internet is amazing.

play00:07

In just a few keystrokes, we can stream videos on Youtube -- Hello! -- read articles on Wikipedia,

play00:13

order supplies on amazon, video chat with friends, and tweet about the weather.

play00:17

Without a doubt, the ability for computers, and their users, to send and receive information

play00:21

over a global telecommunications network forever changed

play00:24

the world.

play00:25

150 years ago, sending a letter from London to California would have taken two to three

play00:28

weeks, and that’s if you paid for express mail.

play00:31

Today, that email takes a fraction of a second.

play00:33

This million fold improvement in latency, that’s the time it takes for a message to

play00:37

transfer, juiced up the global economy helping the modern world to move at the speed of light

play00:41

on fiber optic cables spanning the globe.

play00:43

You might think that computers and networks always went hand in hand, but actually most

play00:47

computers pre-1970 were humming away all alone.

play00:50

However, as big computers began popping up everywhere, and low cost machines started

play00:54

to show up on people’s desks, it became increasingly useful to share data and resources,

play00:59

and the first networks of computers appeared.

play01:01

Today, we’re going to start a three-episode arc on how computer networks came into being

play01:05

and the fundamental principles and techniques that power them.

play01:08

INTRO

play01:17

The first computer networks appeared in the 1950s and 60s.

play01:21

They were generally used within an organization – like a company or research lab – to

play01:25

facilitate the exchange of information between different people and computers.

play01:28

This was faster and more reliable than the previous method of having someone walk a pile

play01:32

of punch cards, or a reel of magnetic tape, to a computer on the other side of a building

play01:36

‒ which was later dubbed a sneakernet.

play01:39

A second benefit of networks was the ability to share physical resources.

play01:42

For example, instead of each computer having its own printer, everyone could share one

play01:46

attached to the network.

play01:47

It was also common on early networks to have large, shared, storage drives, ones too expensive

play01:53

to have attached to every machine.

play01:54

These relatively small networks of close-by computers are called Local Area Networks,

play01:58

or LANs.

play01:59

A LAN could be as small as two machines in the same room, or as large as a university

play02:03

campus with thousands of computers.

play02:05

Although many LAN technologies were developed and deployed, the most famous and succesful

play02:09

was Ethernet, developed in the early 1970s at Xerox PARC, and still widely used today.

play02:14

In its simplest form, a series of computers are connected to a single, common ethernet cable.

play02:19

When a computer wants to transmit data to another computer, it writes the data, as an

play02:23

electrical signal, onto the cable.

play02:25

Of course, because the cable is shared, every computer plugged into the network sees the

play02:29

transmission, but doesn’t know if data is intended for them or another computer.

play02:33

To solve this problem, Ethernet requires that each computer has a unique Media Access Control

play02:37

address, or MAC address.

play02:38

This unique address is put into a header that prefixes any data sent over the network.

play02:43

So, computers simply listen to the ethernet cable, and only process data when they see

play02:48

their address in the header.

play02:49

This works really well; every computer made today comes with its own unique MAC address

play02:54

for both Ethernet and WiFi.

play02:55

The general term for this approach is Carrier Sense Multiple Access, or CSMA for short.

play03:00

The “carrier”, in this case, is any shared transmission medium that carries data – copper

play03:04

wire in the case of ethernet, and the air carrying radio waves for WiFi.

play03:08

Many computers can simultaneously sense the carrier, hence the “Sense” and “Multiple

play03:12

Access”, and the rate at which a carrier can transmit data is called its Bandwidth.

play03:16

Unfortunately, using a shared carrier has one big drawback.

play03:20

When network traffic is light, computers can simply wait for silence on the carrier, and

play03:24

then transmit their data.

play03:25

But, as network traffic increases, the probability that two computers will attempt to write data

play03:30

at the same time also increases.

play03:33

This is called a collision, and the data gets all garbled up, like two people trying to

play03:37

talk on the phone at the same time.

play03:38

Fortunately, computers can detect these collisions by listening to the signal on the wire.

play03:43

The most obvious solution is for computers to stop transmitting, wait for silence, then

play03:47

try again.

play03:48

Problem is, the other computer is going to try that too, and other computers on the network

play03:52

that have been waiting for the carrier to go silent will try to jump in during any pause.

play03:56

This just leads to more and more collisions.

play03:59

Soon, everyone is talking over one another and has a backlog of things they need to say,

play04:03

like breaking up with a boyfriend over a family holiday dinner.

play04:06

Terrible idea!

play04:07

Ethernet had a surprisingly simple and effective fix.

play04:10

When transmitting computers detect a collision, they wait for a brief period before attempting

play04:15

to re-transmit.

play04:16

As an example, let’s say 1 second.

play04:18

Of course, this doesn’t work if all the computers use the same wait duration -- they’ll

play04:22

just collide again one second later.

play04:24

So, a random period is added: one computer might wait 1.3 seconds, while another waits

play04:29

1.5 seconds.

play04:30

With any luck, the computer that waited 1.3 seconds will wake up, find the carrier to

play04:34

be silent, and start transmitting.

play04:37

When the 1.5 second computer wakes up a moment later, it’ll see the carrier is in use,

play04:41

and will wait for the other computer to finish.

play04:43

This definitely helps, but doesn’t totally solve the problem, so an extra trick is used.

play04:48

As I just explained, if a computer detects a collision while transmitting, it will wait

play04:52

1 second, plus some random extra time.

play04:54

However, if it collides again, which suggests network congestion, instead of waiting another

play04:59

1 second, this time it will wait 2 seconds.

play05:02

If it collides again, it’ll wait 4 seconds, and then 8, and then 16, and so on, until

play05:07

it’s successful.

play05:08

With computers backing off, the rate of collisions goes down, and data starts moving again, freeing

play05:12

up the network.

play05:13

Family dinner saved!

play05:14

This “backing off” behavior using an exponentially growing wait time is called Exponential Backoff.

play05:20

Both Ethernet and WiFi use it, and so do many transmission protocols.

play05:24

But even with clever tricks like Exponential Backoff, you could never have an entire university’s

play05:28

worth of computers on one shared ethernet cable.

play05:31

To reduce collisions and improve efficiency, we need to shrink the number of devices on

play05:35

any given shared carrier -- what’s called the Collision Domain.

play05:38

Let go back to our earlier Ethernet example, where we had six computers on one shared cable,

play05:44

a.k.a. one collision domain.

play05:45

To reduce the likelihood of collisions, we can break this network into two collision

play05:49

domains by using a Network Switch.

play05:51

It sits between our two smaller networks, and only passes data between them if necessary.

play05:56

It does this by keeping a list of what MAC addresses are on what side of the network.

play06:00

So if A wants to transmit to C, the switch doesn’t forward the data to the other network

play06:04

– there’s no need.

play06:05

This means if E wants to transmit to F at the same time, the network is wide open, and

play06:09

two transmissions can happen at once.

play06:11

But, if F wants to send data to A, then the switch passes it through, and the two networks

play06:15

are both briefly occupied.

play06:17

This is essentially how big computer networks are constructed, including the biggest one

play06:21

of all – The Internet – which literally inter-connects a bunch of smaller networks,

play06:26

allowing inter-network communication.

play06:27

What’s interesting about these big networks, is that there’s often multiple paths to

play06:31

get data from one location to another.

play06:33

And this brings us to another fundamental networking topic, routing.

play06:36

The simplest way to connect two distant computers, or networks, is by allocating a communication

play06:41

line for their exclusive use.

play06:43

This is how early telephone systems worked.

play06:45

For example, there might be 5 telephone lines running between Indianapolis and Missoula.

play06:49

If John picked up the phone wanting to call Hank, in the 1910s, John would tell a human

play06:53

operator where he wanted to call, and they’d physically connect John’s phone line into

play06:57

an unused line running to Missoula.

play06:59

For the length of the call, that line was occupied, and if all 5 lines were already

play07:03

in use, John would have to wait for one to become free.

play07:06

This approach is called Circuit Switching, because you’re literally switching whole

play07:09

circuits to route traffic to the correct destination.

play07:11

It works fine, but it’s relatively inflexible and expensive, because there’s often unused

play07:16

capacity.

play07:17

On the upside, once you have a line to yourself – or if you have the money to buy one for

play07:21

your private use – you can use it to its full capacity, without having to share.

play07:25

For this reason, the military, banks and other high importance operations still buy dedicated

play07:29

circuits to connect their data centers.

play07:32

Another approach for getting data from one place to another is Message Switching, which

play07:36

is sort of like how the postal system works.

play07:38

Instead of dedicated route from A to B, messages are passed through several stops.

play07:42

So if John writes a letter to Hank, it might go from Indianapolis to Chicago, and then

play07:46

hop to Minneapolis, then Billings, and then finally make it to Missoula.

play07:50

Each stop knows where to send it next because they keep a table of where to pass letters

play07:55

given a destination address.

play07:56

What’s neat about Message Switching is that it can use different routes, making communication

play08:00

more reliable and fault-tolerant.

play08:02

Sticking with our mail example, if there’s a blizzard in Minneapolis grinding things

play08:05

to a halt, the Chicago mail hub can decide to route the letter through Omaha instead.

play08:10

In our example, cities are acting like network routers.

play08:13

The number of hops a message takes along a route is called the hop count.

play08:16

Keeping track of the hop count is useful because it can help identify routing problems.

play08:20

For example, let’s say Chicago thinks the fastest route to Missoula is through Omaha,

play08:25

but Omaha thinks the fastest route is through Chicago.

play08:27

That's bad, because both cities are going to look at the destination address, Missoula,

play08:31

and end up passing the message back and forth between them, endlessly.

play08:34

Not only is this wasting bandwidth, but it’s a routing error that needs to get fixed!

play08:38

This kind of error can be detected because the hop count is stored with the message and

play08:41

updated along its journey.

play08:43

If you start seeing messages with high hop counts, you can bet something has gone awry

play08:47

in the routing!

play08:48

This threshold is the Hop Limit.

play08:50

A downside to Message Switching is that messages are sometimes big.

play08:53

So, they can clog up the network, because the whole message has to be transmitted from

play08:57

one stop to the next before continuing on its way.

play09:00

While a big file is transferring, that whole link is tied up.

play09:04

Even if you have a tiny, one kilobyte email trying to get through, it either has to wait

play09:08

for the big file transfer to finish or take a less efficient route.

play09:11

That’s bad.

play09:12

The solution is to chop up big transmissions into many small pieces, called packets.

play09:16

Just like with Message Switching, each packet contains a destination address on the network,

play09:20

so routers know where to forward them.

play09:22

This format is defined by the “Internet Protocol”, or IP for short, a standard created

play09:26

in the 1970s.

play09:28

Every computer connected to a network gets an IP Address.

play09:31

You’ve probably seen these as four, 8-bit numbers written with dots in between.

play09:35

For example,172.217.7.238 is an IP Address for one of Google’s servers.

play09:41

With millions of computers online, all exchanging data, bottlenecks can appear and disappear

play09:45

in milliseconds.

play09:46

Network routers are constantly trying to balance the load across whatever routes they know

play09:50

to ensure speedy and reliable delivery, which is called congestion control.

play09:55

Sometimes different packets from the same message take different routes through a network.

play09:58

This opens the possibility of packets arriving at their destination out of order, which is

play10:02

a problem for some applications.

play10:04

Fortunately, there are protocols that run on top of IP, like TCP/IP, that handle this

play10:09

issue.

play10:10

We’ll talk more about that next week.

play10:11

Chopping up data into small packets, and passing these along flexible routes with spare capacity,

play10:16

is so efficient and fault-tolerant, it’s what the whole internet runs on today.

play10:20

This routing approach is called Packet Switching.

play10:22

It also has the nice property of being decentralized, with no central authority or single point

play10:27

of failure.

play10:28

In fact, the threat of nuclear attack is why packet switching was developed during the

play10:32

cold war!

play10:33

Today, routers all over the globe work cooperatively to find efficient routings, exchanging information

play10:38

with each other using special protocols, like the Internet Control Message Protocol (ICMP)

play10:43

and the Border Gateway Protocol (BGP).

play10:46

The world's first packet-switched network, and the ancestor to the modern internet, was

play10:49

the ARPANET, named after the US agency that funded it, the Advanced Research Projects

play10:54

Agency.

play10:55

Here’s what the entire ARPANET looked like in 1974.

play10:58

Each smaller circle is a location, like a university or research lab, that operated

play11:02

a router.

play11:03

They also plugged in one or more computers – you can see PDP-1’s, IBM System 360s,

play11:08

and even an ATLAS in London connected over a satellite link.

play11:12

Obviously the internet has grown by leaps and bounds in the decades since.

play11:15

Today, instead of a few dozen computers online, it’s estimated to be nearing 10 billion.

play11:20

And it continues to grow rapidly, especially with the advent of wifi-connected refrigerators

play11:25

and other smart appliances, forming an “internet of things”.

play11:29

So that’s part one – an overview of computer networks.

play11:32

Is it a series of tubes?

play11:34

Well, sort of.

play11:35

Next week we’ll tackle some higher-level transmission protocols, slowly working our

play11:39

way up to the World Wide Web.

play11:41

I’ll see you then!

Rate This
★
★
★
★
★

5.0 / 5 (0 votes)

Ähnliche Tags
Computer ScienceInternet HistoryEthernetLANsMAC AddressCSMABandwidthCollision DomainExponential BackoffPacket SwitchingARPANET
Benötigen Sie eine Zusammenfassung auf Englisch?