Sie sind auf Seite 1von 9

[MUSIC]. Good day viewers, in this segment we're going to talk about the uses of networks.

And that because it's important for us to understand how the network is used, if we're going to be able to design effective networks in the first place. Okay, so as you know we use networks in many different ways in pretty much all the places we go. We use networks at work for different kinds of email, and file sharing, and printing. At home for different kinds of entertainment, listening to songs, watching movies, reading the news, as well as messaging and shopping over the internet. And we use it when we're on the go too not just for calls and text, or playing games, but also for accessing different kinds of information services, watching videos consulting where we are on the map and so forth. So, there are many different uses of networks and you are familiar with most of them. But our point here is really not to focus on individuals uses of networks but try and understand what these particular uses like YouTube and so forth, tell us about why it is we build networks. Because that's going to help us build more effective networks in the future, when we know what networks were trying to accomplish. Well, I can give you several reasons why we build networks, and we're going to now go through them in some of the following slides. One of the first uses that might come to mind, is simply for communication between users. This is a traditional usage of computer networks, really from the get go. really from the telephone onwards. You might think of using voiceover IPs, sending telephone calls over the network. These days we video conference as well as instant message and connect people via social networks. But it's all about user communication. The point here is that the computer network is enabling remote communication, and a particular aspect of the network we would need to think about to provide remote communication is low latency. If you really want interactive communication between people, you need a

fairly low latency network for that communication to be effective. Another important reason that we build computer networks is for resource sharing. That is, to allow many different users to access the same underlying resource. Now the, the, the classic resource which was shared was a, a printer. Imagine in a company network, instead of giving everyone an individual printer, you put one on the network and everyone accesses it. They're sharing this resource. That's wonderful today, maybe you're not sharing a printer so much, but there are other resources which you're still sharing. maybe it's a 3D printer today, maybe we're all sharing Google search index. Or even, with sharing machines which are in the cloud, being used. The idea here is that by performing this resource sharing, we are providing a more effective, a cost effective way, to access resources, and providing dedicated resources per user. Just think of that, re printer per user versus one printer per work group. in fact, even the network itself, which is providing a resource called bandwidth. even the bandwidth of the links in the network are being shared by different users over time. And this sharing process is called statistical multiplexing is the name for it. And I'll go over that next. Okay, so statistical multiplexing is a pretty big fancy name, but all it really means is, sharing of network bandwidth, between different users, according to the statistics of their demand. multiplexing here is just the fancy networking word for sharing. So, statistical multiplexing is just sharing bandwidth amongst users. Where the statistics mean just you know, when they choose to access the network and so forth. The reason that this is useful, that you want to do this, is it turns out that users of the network are mostly idle. Most of the time you are actually not using the network in your devices and not using the network. And when you do use the network, your traffic tends to be bursty. So, it's occurring in just these little spurts of traffic.

So, this means that we can combine the traffic of different users, and in that way we'll get something which is using the network really more of the time, most of the time. And we'll use that resource inside the networks such as network bandwidth more effectively. At least that's the theory, and the key question for us is, how does it help if we statistically multiplex users together? So, let's just think about that, and what I'll do is I'll go over a a simple example. This is you know, a little bit artificial but, but it's mostly to convey the point, so don't take this quite literally just take the big point out of it. Let's consider for a moment users in an ISP netwrok. Here's the ISP network here. This network has 100 megabits per second of bandwidth to the rest of the network, the internet we haven't gone over megabits per second, but just think of that as units of bandwidth so, 100 units of bandwidth. Now each of the users here wants to subscribe to 5 megabits per second, that's how much bandwidth maybe you want at home to ensure that you can watch your videos. But the statistical multiplexing bit of it, is that each user is active only 50% of the time. Actually, that's quite high, many users might not be active that often, but let's just say 50% of the time, at most that's when they're active. Well, let's think about different ways to design this network. Assume that we dedicate bandwidth to each user. If we do that, then each user is always going to have 5 megabits per second of their own throughout, the, that ISP, so they'll always have it when they need it. How many users can we then support? Well we can support 100 megabits per second divided by 5 megabits per second per user, that's 20 users. Okay. But if we think about this case, where there are 20 users, let's ask, for the sake of argument, what's the probability that all the bandwidth within the ISP is being used? Now the kicker here is we're going to assume that all of the users are

independent. That's a little bit unrealistic, but it's good for thinking about this. So, let's just assuming that all of the users are independent. this is a probability calculation, some of you may not be familiar with it. Don't worry about it too much. So, there are 20 users. What's the probability that the first user is using their 5 megabits per second? That's a half, what's the probability that the second user is using their 5 megabits per second? That's another half, and so on up to the 20th user, a half. If you multiply all these together you get a half to the 20th power, and that's just a little less than 1 on a million. Wow, so there's only a 1 in a million chance that all the users are going to be using there the there bandwidth, so that the ISP bandwidth will be used. So, actually a lot of the time bandwidth inside this ISP will be wasted, can we do better by using a little bit of statistic multiplexing. Well, yes, and that's the point of this example. Just imagine now, that I'm changing the number of users that same ISP is serving, and it's going to sign up 30 different users. They're all going to act independently. What's going to happen? Well, this picture here, this binomial calculation, shows you the, what is likely to happen if all of the users are independent. And this graph here is showing you. This is the number of users on the x axis, the probability that, there a certain number of users will be using the network on the y axis. Now it turns out that according to this, there is only a 2% chance that you'll have more than 20 users. So, that's this tail here, more than 20, this 2% chance. That's not very much, actually you can see the most likely situation is where we'll have 15 users using the network, that's the highest probability. this, makes sense because for 30 users, and the probability for each of the users using the network is a half, half of 30 is 15. That's why 15 is the most likely case. You can see the chance of using all 30

users, is very, very low. Boy this a this is 2 to the minus 30, this is like one in a billion. Now many of you may not be familiar with the binomial calculations here, if you're interested to learn more you can look up binomial probabilities on the web and learn about it. The point here is by going through calculations like this, which I would need to use a calculator to use. We can see that if you have 30 users, it's quite likely the number of users within the network will be somewhere between 10 and 20. Well, if we are willing to go with that 2% chance that most of the time it will be okay, then we reach this conclusion here. We are able to serve more users with the same sized network, and those users are many of them are likely to be just as happy, or almost as happy. This gives us a gain, because now we're serving 30 users in a network which if we divided it up for our users individually we could only fit 20. And this is sometimes described as a statistical multiplexing gain here, and the game is 1.5. So we're we're 50% better off by doing this, and we're able to provide network service more cheaply, that's why you would want to do this. Now of course, the danger here is that depending on your model here, we could get unlucky. Actually, it's possible that more than 20 users would want to use the network. Some of you may realize this, this is quite similar to airline overbooking. Airlines often sell more seats then the have actually inside their plane, because they know that not everyone is likely to show up. So, if they sell more seats, well, that will make their service more cost effective, but every now and again, someone gets a little bit of an unfortunate surprise and they try and ship people to other flights. Now, here, if we get unlucky and more than 20 users want to use the network. Maybe the users will have slightly degraded service, and I'll get 4 megabits per second instead of 5. And this might be okay sometimes. So, you can see the attraction of this idea that statistical multiplex on this resource sharing, isn't as important in

the design of networks to make them cost effective. Even though my example was a little simplistic. Okay, forging ahead, another reason that we like to use computer networks is for content delivery. Now particularly with the emergence of the web you realize that the same content is now delivered to many users. this used to be web page, now a days this is videos, so these are actually really quite large objects, a large amount of content, the same, exactly the same content is delivered to many users. And we find that with computer networks, we can deliver the same information to more users more efficiently than sending a separate copy of that information to each user. We can do this by using what are called replicas inside the network. Let me show you how. Okay, so here's a content delivery scenario, let's just imagine that we don't use replicas first. So, we have our four users here over on the right hand side, and we have our source, this is maybe this is where the video is, and we want to say that to all of the users. And as a measure of work we're going to use network hops. sending the video across each individual hop of the network. Well, first of all, the source sends information to the first user, so 1 hop, 2 hop, 3 hops, and we get it there. Now the source sends the same video to the second user, the third user, you can see where I'm going here. And the fourth user, and the total number of network hops we've used, or work we've done is 4 by 3. That's 12 network hops in this example. Well now, let's use let's send the content by these replicas. Here's a replica node here, so the source is the same node here. This is where the video starts off. The users are over here on the right, but we've also added this replica node right here. So, the way we're now going to send the same video to all of these users is to send it from the source, once to the replica that's nearby. And then from the replica, which is deliberately placed close to the users, will send one copy, a copy to each of the

users. And guess what, now we're going to take, 1, 2, 3, 4 here to the individual users plus 2 hops here and here, that's a total of 6 network hops. So, we've done half the work by arranging the design of our content distribution. and yet we still go the same video to all of the users. So, with clever designs, we can provide more efficient content distribution in networks. Another reason for building computer networks is to let, not people communicate with one another, but to let computers communicate with computers, to interact with them in different ways. Actually we do this all of the time, when you're making buying something on the internet using e-commerce or making a reservation and so forth. You might think of these as very human driven operations, but once you give the go ahead on your computer, a remote computer are interacting to perform a transaction. You want to take the human out of the loop a little bit, consider things like high frequency trading, where computers are buying and selling many different stocks, very quickly over time. These kind of operations are becoming more common, where computers are interacting across a network. And then the inter, internet, the network, computer network in this case. Is enabling automated information processing across a range of different parties. They're all coming together via the network. And yet another interesting use of computer networks is for connecting computers to the physical world. We can gather sensor data that computers that are scattered around the network, and then use the network to send that information to other places. Or we can send commands across the internet to cause actuators to affect the real world. So, this is really what's going on with uses such as webcams when you're observing, gathering video about the internet. mobile phones here, are all about sensing, where you might gather data such as location and combine that with data across the internet to provide maps of where you are.

Yet another example, in this case for actuation is something like a door lock, where you can remotely send commands to the door lock on your front door of your house, so you'd open it up if a friend is visiting and you're not there. This example is a, a use of computer networks is an example of a rich, emerging usage. It's starting now and we should see a lot more of it over time. Okay. Well there are the different uses of computer networks. And to round out this segment, I want to talk about the value of connectivity. And there's an interesting notion here, which is that the, that large networks are more valuable, relatively more valuable, than smaller ones. So, we have an int, impetus to combine small networks together into large ones. So, that's really what brings us something like the internet. This argument for the, the value that's inherent in connectivity was put forth by Bob Metcalfe, shown on the right here. Metcalfe is one of the pioneers of computer networks. he invented something called ethernet that we'll get to later, one of the most successful local area networks of all time. Metcalfe posed this law around 1980. And he posited that the value of a network if you have N nodes in it, that's the size of the network is proportional to N squared. The implication of this statement is that larger networks are a lot more valuable than are smaller networks with the same number of nodes. And so, we're more likely to want to connect networks together to realize that value. Let me give you a sense of the intuition for where this comes from. You may be wondering what this N squared has to do with anything. But imagine here in both of these pictures, on the left hand side and the right hand side, I have 12 nodes in a network. Now on the left hand side I have a larger network that has more connectivity, it's more valuable. This network here is what's called a mesh, actually, it's a full mesh. There are 12 nodes here, and each node is connected to all of the other nodes.

We think about the number of connections in it, well, from each node, here, there are 12 of them, we can connect to, up to 11 other nodes. Here's one connection, here. This is like a unidirectional connection from one node to another. If we consider that, then we have 12 times 11, that's 132 different connections on the left hand side. On the right hand side, we have two six node networks. So inside one of these networks, we have 6x5 unidirectional connections, that's 30. Plus another 30, that's 60, oops, that's 60. So, you can see, that for 12 nodes here we have a lot more connectivity, potential connections, from one node to another node in the larger network on the left hand side than on the right hand side. And that's why larger networks are more valuable. Okay.

Das könnte Ihnen auch gefallen