Everyone's happy with the quizzes most people passed fine. So I must make them harder the quizzes Maybe shorter time five minutes instead of ten minutes on Monday. We we Talked about several things about the TCP IP protocol architecture including addresses We saw an example of web browsing Where in web browsing using HTTP the sim simple description of what happens is that? Your browser sends a request for a web page to the web server The web server sends back that web page in a response as well as some other information saying everything was okay And then your browser displays that HTML on your screen and we What do we do we saw? So I accessed a real website and I use some special software on my computer to record all the packets or all the messages sent and Received by my computer this software called wire shark allows us to then look at those messages sent and received We'll see that I'll use that as demo software through the course and maybe in the assignment. You'll get to use it yourself There's a lot of information here that you will not understand yet, but over time learn that what we want to move to is look at some of the performance aspects of computer networks When we send a message We use mold from my computer's perspective it uses multiple protocols and we saw with web browsing and we can see it in here is that we have some data that we want to send in This selected packet. It's actually the response from the web server this orange one The web server is sending my computer the laptop the web page from server to laptop So the data that's coming from the web server to the laptop is the web page That's what we want to get from one computer to another remember data communications getting data from one location to another The data is the web page How big is the web page? Well, in fact, we can see that here. We could expand You could count the characters and count how many bytes that represents in fact This software gives us a summary down here this HTML web page Contains 105 bytes may be hard to see but there's 105 bytes in the web page So the amount of data that we want to get from server to laptop is 105 bytes but sent Across the network and into my laptop We'll see that there's much more than that was actually sent Well, what was actually sent into my laptop? one protocol use was HTTP and We'll see with many protocols What they do is they take the data that we want to deliver and they attach some extra information to that data and We call that extra information commonly a header Some extra information to support the operation of the protocol in the case of HTTP That extra information if I expand is listed here and many of it many of the things may not make sense, but The server sends me the data the web page as well as the date and time at the server Some identifier of the server software and Many other pieces of information that may be useful for the protocol to operate correctly So not just is it not just data is sent from server to laptop, but other information as well that supports the protocol For example in HTTP it sends the type of content in this case It's HTML if it was a JPEG this value would be different saying that the content in this message is a particular type all this information is Defined as part of the protocol as part of HTTP We do not send that HTTP message directly across the link and across the network. In fact, we use another protocol to deliver it TCP So TCP takes the information from HTTP and then puts it inside its own message and also adds extra information And we will not go through all of them But we'll see again if we expand we see TCP attaches more information Num sequence numbers port numbers check sums TCP sends all of that to the internet protocol IP which then attaches more information Again many different things including and common in protocols the source address The IP address of the computer that sent it and the destination address who we're sending to This information is included inside the message that's sent across the internet It's included as part of the IP header and Ethernet does the same so most protocols attach extra information so that they will operate correctly a way to visualize that is We go back to our slides on this one. This is this example of web browsing This is the example of the request It could also be the response The data that we want to get from one point to another let's say the data here Or the user data the data that the user is interested in Is in fact what we say encapsulated inside another message The application layer protocol HTTP attaches extra information. We call it the HTTP header So we have the original data plus a HTTP header So this all happens inside the sending computer that HTTP message is Then delivered to TCP which attaches some extra information for TCP to work. We'll call it the TCP header We're not too concerned at this stage of what's that this extra information There's many different things that can be attached the point is that we Include this header information and we'll see that if impacts on performance IP attaches a header So in fact we have the original data the HTTP header TCP header IP header and Ethernet the data link layer protocol attaches ahead and The physical layer although it's not shown very well here the physical layer you think just takes a sequence of bits All this information is just binary values the data the headers I Skip one The header means we attach it at the front of the message We sometimes can attach something at the end and we call it a trailer So even it may attach a trailer some information again Treat that as a sequence of bits The role of the physical layer down the bottom is to convert those bits into some signal to transmit across the link So this is just my picture of some signal some electrical signal for example and That's sent across the link the receiver Processes that and maybe sends it across the next link and so on until it reaches the destination So in fact to get this user data from one point to another We don't just send that 105 bytes web page We send that user data plus all these header information and trailers in some cases the one Consequence of the way that protocols work like this is that all this header information we can think of as overhead It's information or it's Bits that are sent across our network or link that are not the real data but some extra information for the protocols to work and They reduce the performance of our network or lower the efficiency of our network as we'll see in some calculations Let's put some numbers to that in our example how big are these headers Let's go through a simple example the one we captured last week Before we go the numbers So one way to to visualize the information sent across the network is these types of diagrams that show them the entire message And that message contains some headers from different protocols some trailers sometimes and the original data the user data but we'll try and draw a picture like that and They have particular sizes and that may impact on performance and I'll record on the board these numbers In our case when we're sending the web page from server to the laptop The user data Just write the data in our case is 105 bytes so the amount of See the user data that is the information that we want to get from one computer to another is 105 bytes Okay speed Our goal is to get that 105 bytes to the laptop But what do we actually send across the network? Well, there's that data There's a HTTP header attached to that how big is the HTTP header if we select here It shows us down the bottom here. It's 436 bytes. You cannot see this 436 bytes means all the information inside here which includes This 200 ok message the date the server all these other fields of information Total is 200 and a 436 bytes So I'll just record the numbers here. I won't write B for bytes here everything all the units of bytes But in fact, we also attached the TCP header and it's 32 bytes. This is not to scale And if we count the IP header It's another 20 bytes of information and the ethernet header the last one we have captured is 14 bytes so what I've just drawn on the board is At least from my computer's perspective the entire message received it contains the original data the web page But it also contains other information the ethernet 14 bytes And in fact, why shark shows us the total size 599 bytes about 600 bytes Does it add up? Check anyone have a calculator Mobile phone a laptop says the user data is 105 bytes The web page that we're transferring. That's the real thing that we want to transfer is 105 bytes Long doesn't doesn't quite add up does it? There's some special thing that happened here The web page is 105 bytes, but in fact before the web server centered It actually compressed the the the page It took that 105 byte web page and compressed it down to 97 bytes Okay, that doesn't always happen. It did happen in this case. That is this data is 97 bytes if you add up these numbers You should get 599. I hope so maybe there's something missing. It's there 1315 19 you ends up in a 9 So the message That is sent and received by my computer my laptop contains 599 bytes It contains all this header information and some data, but in fact the original data was 105 bytes Some compression was applied to reduce that 105 byte html file down to 97 bytes It's a special case that happened in this web page transfer How efficient is this web page transfer transfer from the web from the user's perspective? If we look at just this one message, how efficient are we in transferring the user data? Let's put a number to it Can we measure the efficiency of this? The delivering of the user data To my laptop the goal here is to get the web page to my laptop and then my browser can display it That's from the user's perspective. That's what I want to get that web page But the protocols in operation includes an extra information for them to work correctly in Total there was 599 bytes Delivered across the network or to my laptop But from the user's perspective only 105 bytes were real data useful data The rest was what we may call overhead That gives us a measure of efficiency In at least this simple this single packet 105 bytes a real data divided by 599 bytes of Total data is about 17 percent Or 0.17 if you do this calculation or as a percentage about 17 percent that is of the total amount of information sent Only 17 percent represents the web page So we'd say that for this single packet We're about 17 percent efficient in using the network to deliver that user data So we can start to analyze the performance of our network by considering in just a simple case Considering the amount of user data delivered Relative to the amount of total data sent through the network We want the efficiency to be as high as possible. What if my User data was not 105 bytes, but the web page was bigger What if the web page was increased to say 1000 bytes or about 1000 bytes Well, we increase the size by about 900 bytes. I'll say about let's do it quickly the mathematics. So if the web page was 900 bytes larger Then the total message size Would be nine nine hundred bytes larger Because the headers would be still the same size or very close to They do not change So if this is increased by 900 bytes, then this is increased by about 900 bytes We've got about 600 plus 900 is 1500 bytes So if the web page was 1000 bytes Then the total message size would be about 1500 bytes 1000 divided by 1500 is what two-thirds 66 percent efficient There's some approximations there, but it's close which would be better better use of our network and of our link because We're spending more percentage of the time sending real data as opposed to sending headers increasing the size of the user data if The headers are fixed increasing the size of the user data Increases the efficiency of the use of the network, which is important If you have a small amount of user data You still need to add the headers and it becomes less efficient than having a large amount of user data What else can we say? Any questions on on this? Okay Are the size of the headers fixed? I'll say roughly yes. Okay, the size of the header Actually depends upon the protocol So TCP if you look at the standard defines the structure of the header and what information can be included It may vary a little bit in some cases But this is a typical size in the order of 10s 20 30 bytes for TCP and Usually if one packet is 32 bytes, the next one will probably be the same may vary a little bit IP is usually by default 20 bytes HTTP can go up and down it may be hundreds of bytes So yes, it may vary a little bit, but normally over a short period of time they're fixed The data may vary a lot you download a small web page you download a large web page so the data can vary from Tens of bytes hundred bytes up to 1,000 bytes and larger So the data varies much more than the header size Usually ethernet is also fixed there It's different protocols have different header sizes as we see here all different and The exact values. We're not too concerned about here. It's just the point that For every protocol we normally add some extra information and that incurs some overhead and That reduces the efficiency of our data transfer Because to deliver the real data. We actually need to transmit more any other questions We'll continue on some different performance calculations Let's see if we can get this point clear Okay, easy Not not not easy Why is it not easy? the calculation We've done two things so far we look at a message that sent and I've captured the message I've recorded the message the exact piece of information received by my computer that one message and I can see that the amount of the size of the web page was 105 bytes that was the size of the web page contained in that message But there was other information in that message as well What we call the headers for each protocol and I can check the size of them Total message size if I add them up was and it shows in the software about 600 bytes web page size About 100 bytes or 105 bytes So what percentage of the total message is the web page or 17%? 105 by 599 expressed as a percentage That's in other words the efficiency of that web page delivery in that one message If we increase the user data, but keep the other things fixed For example increase this up to 1,000 The headers and extra 500 then it's 1,000 divided by 1,500 which is about 66.6% so Real data or user data divided by the total size We'll see some more calculations over this topic and some future ones There's one slide I think we Which is related that we skipped over one or two lectures ago this just described some of the Notation or the terminology that we've started to introduce It's common for many protocols not all but most protocols We have some data to carry But we have some extra information and That's carried usually in a header sometimes It's called a trailer because it's added to the end the headers added to the start of the data trailer to the end and The this process of adding the header or including the data in a larger message is called encapsulation What's inside the header many different things may be source and destination addresses It may be sequence numbers some parity check many different things Ignore the second point about a protocol data unit. We won't use that terminology Segmentation we will cover later where necessary again The main point is that we have our message that contains the header and the data I've said a message sometimes I also say a packet again some terminology Generally the messages we send across a network or a link we can refer to as a message or maybe more commonly a packet a Packet of information, so I think a packet contains header plus data But we'll see other terminology as well sometimes they're called messages segments data grams frames It's just in different technologies and different fields. We use different names the general name or the more common one is a packet One packet, but we'll see some others come up along along the way in this course This leads us into this issue of Well, how do we measure the performance of networks and of links? How do we measure the performance of communication systems? Well, there was one example look at the efficiency of the data transfer We'll look at some very basic performance measures for different internet applications and give a few more examples first applications What's an internet application or a networked application? Well, let's distinguish between say a standalone application and a network or a distributed application a standalone application like you install Microsoft Office on your computer To to use Microsoft Office you don't need a network connection You can create documents on your own computer. You don't need to talk to some server or some other computers to use that application in most cases We'd call that a standalone application. It just runs on a single computer to perform its purpose It has some user interface Some GUI that you can click on and do things on and some application logic That is the the code behind it that does all the processing So we have standalone applications. They just run on a single computer But some applications would call them network or generally distributed applications to work They must communicate with other instances of that application on other computers web browsing For web browsing to work if I just install Firefox on my computer and have no internet connection It's not of much use to me So your web browser would say is a network application in that for web browsing to work We need to communicate from my Firefox application to some web server so Firefox has some user interface of course some application logic that is to do the Processing and to save files and so on but it also has some communication mechanisms Some features that allow it to send a message to the server and receive a response back So we distinguish between standalone applications and network applications or internet applications in general We're gonna focus on the communication mechanisms Well some examples and I think you know a lot of these you use a lot Some internet-based applications file transfer email web browsing remote login you Connect into another computer and perform some operations database and many other Applications instant messaging. Well, in fact that may come later other internet applications that we can categorize differently are Multi-media or real-time applications still we use across the internet But they have different requirements in terms of performance things like audio and video streaming you're watching YouTube or maybe more Precisely your Or a more accurate representation. You're streaming some radio to your computer Your inner voice or video chat with someone using Skype talking to someone across the internet video or voice call Gaming applications where you're playing a game and it's sending data to a server And that's going to many other users at the same time. So you interact with other users Collaborating sharing your desktop with other users We'll distinguish between these multi-meal multi-media or real-time applications and the ordinary or traditional internet applications Like just web browsing and email. What's the difference? Well, the main difference is about performance and what they require for performance These traditional applications are about transferring data from one location to another the data as an email a file a web page It's important that that data that we receive is accurate the file at the server and The file I receive should be exactly the same. So accuracy is the most important feature then with Real-time and multi-media applications sometimes accuracy is not so important, but more important is timeliness anyone play online gaming What's a measure of online gaming that you may know? You check whether the server is ping the ping time that is ping in online gaming you connect to a server and You want to know the delay between sending a message from your computer to the server Sometimes it's called the ping a ping or the ping time. It's in the order of milliseconds Ping is we'll see is an application for Doing exactly that checking the delay between one computer and another the round-trip time I don't think it stands for anything Maybe it's a background and They've made it stand for something you ping something you tech check whether it exists What's a good ping time anyone play games for a game Yeah, anyone else anyone know a Ping time a good ping time if you're playing a game if the delay between you and the server is 10 seconds. Is that good? No in the order of milliseconds Milliseconds tens of milliseconds So for that application to work well Timeliness is important. That is getting message to the other Computer in a short amount of time Similar when you're on a voice call with Skype or a similar application If there's a large delay between you and the other person, it's very hard to have a conversation In the order of hundreds of milliseconds so We have different requirements in terms of performance That it's more complex than that but roughly some applications Accuracy is the most important with multimedia and real-time timeliness is more important last thing for this topic We want to look at three or four different ways to measure performance common ways There are many ways to measure performance, but we'll look at three or four common ways to measure the performance We say the performance metrics the things we use to measure performance just Well, there's five listed here. We'll go through I think three in detail bandwidth data rate throughput Delay and packet delay variation We're going to spend some time on data rate throughput and delay The others will either not touch or cover later first bandwidth in many communication systems We at the physical layer we send signals Okay, so we take our bits and transmit it as some signal some electrical signal along a cable some radio signal through the air and those signals can Have some frequency or range of frequencies so the frequency of a sine wave for example and The range of frequencies that we use will see is a very important measure of the performance of a communication system The range or the set of frequencies that we can send in a particular communication system We call the bandwidth And we'll see that the measure is in Hertz, so the bandwidth used in AM radio When you listen to an AM radio channel on your car in your car Then the bandwidth for that signal for sending the audio from the radio channel to your car is About 10 kilohertz 10,000 Hertz Different systems use different bandwidth signals And we'll see that the larger the bandwidth the better the performance in these other metrics, but we'll see the larger the cost We're not going to cover that in this topic because in the next topic when we go into water What are these signals will go in and define this in much more detail? But we'll come back to bandwidth in the next topic The next two or three will spend a bit of time now on because they're important and you know about them already We often with computers we care about getting bits from one location to another a file Some audio but represented as bits the speed at which we can get those bits from one side to another is called the data rate the number of bits a communications channel or a network can transmit in some period of time Units being bits per second What's a channel think of that as the transmission system or transmission line or part of so I connect my Blue laptop to my gray laptop via a cable I'm interested one thing. I'm interested in in terms of the performance is how many bits I can get per second from one laptop to another and That's the data rate the rate at which the data could be sent across that transmission system or channel Let's look at that with a few examples I'm going to plug my cable in here Set up my second laptop and we'll see if we can communicate between the two in a moment Turn off my wireless. I don't need that So I've connected my two laptops directly via a cable. I'm not going to use Wi-Fi or anything I've just connected by a single LAN cable. So I'm using the wired LAN the blue LAN cable How fast can I send data from one to the other any guesses have a guess One's two years old one's five years old or four years old 100 megabits per second. Let's have a look. So we care about how fast we can deliver the data between two computers The data rate. Well, I can actually check on here. I plugged the cables in we're using What's called generally called ethernet a wired LAN technology and the speed at which I can send and Received depends upon my LAN cards Depends upon the capabilities of my laptops In fact, this blue one is a bit older than this one and much cheaper I've got a program that will tell me the speed or the data rate of my ethernet interface actually first From yesterday I have config tells me the IP address. I Don't have one at the moment It's disconnected. It's connected now. Let's try again. Nothing works Try now. We're right Sorry, okay. My ethernet wired LAN interface has an IP address 192 1683.2 And I've set this blue one to be 192 1683.1 Okay, so they were connected. They both have IP addresses, so they should be able to communicate How fast can they communicate? I've got another program ETH tool ETH tool tells me some information about my ETH my ethernet interface Need a password to check this There's a lot of information here. Well, I'll just focus on the one thing we care about speed 100 megabits per second that is My LAN cards on both computers have negotiated when I plugged in the cable they did some negotiation and They check which speed both support and they come up with 100 megabits per second My gray laptop actually supports 1,000 megabits per second, but my blue one does not it's a bit older So they use the lowest common or the highest common speed that they both support So that's the data rate from now my link 100 megabits per second 100 million bits per second to be sent Let's send some data Across that link and measure How fast the data is delivered? So the data rate let's make note is 100 megabits per second Let's do a speed test and and check the speed My blue laptop actually has a has a web server and I have some files on it that I can download from the web server So I'm going to use my gray laptop to download a file and also measure how the speed of that download Instead of using a web browser because I don't care what the file is. I just want to measure and time How how long it takes to measure download a particular file? I'll use some command line program to do it Or I type in the URL and I recall from the web server the file name I've set this up before let's explain on the blue laptop. I have a 50 megabyte file I've just called it Meg 50 dot pin. It's just a binary file 50 megabytes in length on the blue laptop I'm going to use a program W get to download that file using HTTP So this is the IP address of the blue laptop. This is the directory the file name So when I press enter my gray laptop is going to download this file And it's also going to report how long it takes She remember things set up downloading 100% done average speed 11.2 megabytes per second That was the speed measured in the file transfer in this case Data 800 megabits per second here Note the uppercase B bytes megabytes per second Let's convert drawing the dots there megabits per second Multiply by 8 to get megabits per second my link supports 100 megabits per second But when I downloaded that file in that specific case the speed I delivered the data was 89.6 megabits per second Why why is it less than 100 because of these overheads? a because of the packet The file of 50 megabytes when we send the packets across the network. There's some extra headers added In fact, it's split into multiple packets and each packet has extra headers In fact, if we captured with wire shark, we would see that But this just shows us well for that 50 megabytes to be transferred If you include all the headers and there are even some other overheads the average speed you get is 89.6 megabits per second How efficient is my data transfer? What's the efficiency in this case? The maximum speed my link supports is 100 million bits per second But when I perform that data transfer, I got 89.6 megabits per second. How efficient was that data transfer? It's 89.6 percent because The data rate was the maximum was 100, but I only got 89.6 89.6 percent So we can say that that data transfer was 89.6 percent efficient in the way that it used the link So here's my data rate think of this as the maximum speed at which we can send bits Across the link or across the network What is this number? Well, we call that the throughput The data rate is the map or the number of bits we can send across a link The throughput is a measure of the rate at which the real data for example the user data is Successfully delivered to the destination Because if we have overheads like packet headers That doesn't count towards the throughput So we'd say this 89.6 is Is throughput 11.2 megabytes per second or 89.6 megabits per second both are performance metrics and both Considered when we're designing and building and selecting technologies for computer networks So coming back data rate is the maximum speed at which we can send bits across a link across a network But actually when we send data across that link there may be some overheads like packet headers So throughput is a measure of the speed at which we can do it deliver the real data across that link So ignore if we don't count all the overhead then we get the throughput and The throughput will be less than the data rate less than or equal in most cases less from the user's perspective I downloaded the file 89.6 megabits per second is the most accurate performance metric. It's the speed at which I receive the data So that's important the throughput Download another file. Let's see if we get the same we may Yeah, we got the same now. Let's create a smaller file. I Just downloaded a 10 megabyte file and We got 11.2 megabytes per second the same as before Let's download a smaller file and see if we can get a different value. I need to create one That one's not a very good example. It's too small. Okay. Let's ignore that. Sorry My example is not good for that one. My point I was trying to make is that sometimes the throughput will vary that is depending upon the protocols we're using Sometimes depending upon the the size of the file the data that we're downloading This number can go up and down the throughput even when the data rate is fixed So our data rates our maximum our throughput is what we actually achieve And it may vary in different conditions. I can't create conditions to change it at the moment both Both performance metrics are used to measure Different technologies data rate the maximum speed throughput the actual speed The problem with throughput even though it's more accurate is that it's hard to measure in some cases. It's hard to predict It may vary So we don't know what it will be in advance data rate. Normally. We know based upon the technology my wired LAN 100 megabits per second What about Wi-Fi? Let's switch back to Wi-Fi on my laptop here Enable the Wi-Fi Now my laptop is connected to the SIT wireless LAN through that access point. What do you think the data rate is? Okay, let's see. I can actually see The data rate IW config shows me some details about my wireless LAN and my wireless LAN Bit rate. It's called here data rate 24 megabits per second that's Try again 48 megabits per second It's now 48 megabits per second So think of the data rate from my laptop to the wireless LAN access point on the wall is now 48 megabits per second before it was 24 In wireless LAN in fact it changes Depends upon what I'm doing on it and it also depends upon the the signal quality how strong the signal is It will go up to 54 megabits per second in this case and in this stage it's reached the maximum So the maximum data rate for my laptop to this access point is 54 megabits per second, but in fact there are lower ones let's download a file long URL I've got some files Have to find a file to download Just bear with me One of the lecture notes from one of our future lectures Get that not found two things one downloading a file So I provided a URL for a file on the ICT server This long one is just a PDF file on the ICT server and this program downloaded it the file was about three megabytes in size throughput two megabits per second so What do we have we had a data rate of 54 megabits per second my wireless LAN When I downloaded that file I received a throughput two megabytes per second Which is 16 megabits per second and efficiency Maximum speed or the data rate 54 megabits per second I achieve 16 megabits per second So efficiency is this 16 divided by 54 Which is what around 30 percent a bit less Compared to my wired LAN Data rate was 100 megabits per second throughput about 90 megabits per second and same with the efficiency 90 percent or 89 point six percent wireless LAN lower data rate, but more importantly lower efficiency Because wireless LAN has more overheads incurred than my wired LAN So both the data rate is lower, but also the efficiency is much lower about a third of what we achieve so The data rate is normally part of the technology It's specified as part of the standard The throughput may vary depending upon the situation and Will be less than the data rate and the efficiency from our perspective is what percentage of the data rate do we use? So simply in this case throughput divided by data rate expressed as a percentage If I connected my two laptops using Bluetooth and tried to transfer a file I'll have a different data rate maybe one megabit per second and get a different throughput and a different efficiency most likely So depending upon the technology we have different rates and different throughputs and the Efficiency and throughput why is it less than data rate? One of the main reasons is because of the overheads of the packet headers But there are other reasons as well when we look at individual protocol some questions We're starting to look at some performance aspects of network So everyone's taking notes on how to do the calculations when the quiz comes up. I'll be able to calculate these for example If I give you this picture Or some information like this you'll be able to calculate the efficiency if you know the user data and the total packet size Well, if I give you in a question the data rate is 100 megabits per second We measured the efficient efficiency to be 89.6 megabit 89.6 percent What is the throughput? 89.6 megabits per second. So some simple calculations Okay, any problem How about bandwidth is a question? What's what's the impact of bandwidth was a question? We'll not try and explain it here. We impact need an entire topic to explain the relationship between bandwidth and these other factors, but I'll give the hint that The effectively the larger the bandwidth the larger the data rate we can achieve And we'll see the relationship more precisely, but the bandwidth that we have available Impacts upon the data rate other things do as well. So Why is my data rate 100 megabits per second? Why not 500 megabits per second? Why not 10 gigabits per second? Well, it depends on different factors including the bandwidth but other things as well so bandwidth will impact upon data rate and throughput Depends upon the overheads caused by the different protocols used In all of my examples I used HTTP If I used a different protocol, there may be different overheads and we'll get a different throughput and efficiency Generally, we want the highest possible choose a technology that gives a high data rate and a high throughput at least high enough for the needs of your users That's why we're interested in these metrics one more calculation recall When we looked at our web page that single packet we saw that we had 600 bytes of The total size of the packet and the user data was 105 bytes And we did a calculation and found that the efficiency in that case was about 17 percent that is 17 percent of the size is the real data So in that case we had an efficiency of about 17 percent So if I delivered that web page There was a web page of 105 bytes. If I delivered it across my wired LAN What throughput would I get? I downloaded that web page across my wired LAN my LAN cable What throughput? 17 percent of the data rate If my data rate was 100 megabits per second And we say the efficiency and we calculated this 17 percent from the packet size 105 bytes of user data is about 17 percent of 599 bytes 105 divided by 599 Gives us if we're 17 percent efficient about 17 megabits per second throughput Much lower than we saw with our real data transfer There are two more metrics that are commonly used We'll spend some time on one of them delay the other ones packet delay variation So data rate the the maximum speed at which we can send bits Throughput the actual speed at which our data is delivered considering all the overheads All right, so those both are about speed Delay is about time how long something takes In your game the pin time is a measure of delay The time it takes to get one message or a message from one point to another So that's another important metric the delay Another one which we will not cover At least at this stage is the variation or the the variation of delay between packets But I've listed it here, but we'll not cover this one. We'll cover delay But we'll cover delay next next week. Okay. We need some time to go through some examples So to finish for today what we've done We'll skip back some slides Again, we're almost at the end of this lecture on protocol architectures Protocols often introduce extra headers when we send our data the protocol adds some extra information to support its operation Depends upon the actual protocol how big it is So in my computer I take some data One protocol attaches a header sends it to the next protocol to go to work It may attach some header Sometimes that they attach a trailer and then out of my computer what is sent some signal That represents all of that information That entire message the entire packet Those headers have some impact upon performance We can draw the entire message like this We label the headers depending upon the protocol being used We can look at the size of them and calculate some efficiency in the data transfer And now we're starting to go through well, how do we measure performance different ways bandwidth is one We haven't touched upon but two we've introduced data rate and throughput data rate the maximum speed We can send bits through a communications link or a network Throughput the actual speed at which we deliver data successfully across that link or network And next week we'll continue with delay And that finishes this topic and we'll move on to how to transmit signals through a link I'm going to stop there because we need more time for delay and if you have questions come and see me Otherwise, I'll see you next next Monday


What's going on guys it's your boy DPJ here today with another Destiny video and in today's video we're going to be taking a look at all the new items that are obtainable via a new quest which pops up in the update that dropped yesterday and I'll be giving you guys my opinion on what this quest is and how it's done. First off let me state nothing about this quest has been mentioned by Bungie so as to what it actually is no one in the community at this point in time knows for sure. Now the quest is called refer a friend a tale of two guardians the loot obtained from this quest seems to be pretty badass you get a shader a title a sparrow and a few emotes the sparrow is called the EV34 vector infinite the emotes are high five and duo dance the high five emote was one I really wanted and I'm glad to see it's coming these emotes I believe when used with a fellow guardian nearby may trigger you both to do it as a duo the title is called sign of the infinite which looks pretty badass and the shader is called infinite link which with the right armor also looks absolutely badass so what is this quest and how do we go about completing it this is what I think notice the shader and emblem come under the promotion section in the vaults I believe and I could be a million miles off but I do believe this quest will be part of an upcoming promotion by bungee to get off to refer friends to play destiny equaling out so in return we get these items so basically say we get a referral link from our accounts on bungee.net and maybe give them out to people to use or we get one called for a friend to use and then when he does maybe we have to run a few missions for this quest to get this loot with that friend we've referred this way bungee gets more people playing and we earn some epic new promotional loot what I don't think there are consumables which we will eventually be able to buy from tests for that in-game currency known as silver that just don't make sense to me they wouldn't be labeled obtained from a quest nor do I think they will come under promotional in the vaults but like I said I could be a million miles off of what they actually are and how they're obtained but what do you guys think let me know down below in that comment section me personally I do think they all look pretty badass the sparrow looks like some trunchie looks absolutely insane the shed looks pretty sexy as well with the right armor as you can see looks sexy with the red armor on my hunter the title is pretty good too and the emote well I wanted a high five as soon as I knew emotes were going to be sold and I'm glad it's coming but whatever these things are I will keep you guys updated on how they're obtained as soon as we find out from bungee but I hope you guys enjoyed video like I said leave me your opinion down below in that comment section thanks for stopping by as always and I'll catch you guys on the next one peace out till next time Peace!


Mister, all these muscles, you seem to hardly be working. Can I do your package of hope?  You got something on your shoes. Oh no! I was lost, but Jesus found me. You should come with me to church on Wednesday. No, no, no, no. Church is for all people. But Jesus loves you. Jesus! What? Do you love me, cousin? No!  You see? Jesus doesn't even love me. Why don't you go play tag with the cars on the freeway? Carlitos speaking. Carlitos? I have no luck inviting people to church. I don't know, how do you do it, man? Don't worry, Holmes. Carlitos will teach the way of righteousness. For white is a gate that leads to destruction. But Carlitos way is a narrow way which leads people straight to church. Carlitos!  I will take care of this miserable soul. Go to church. I, uh, I need to go, I'm sorry. Hey, that's my phone. It's okay, I'll give it back later. It'll be difficult. I told you, you have to walk captain at 6 a.m. I do it every day. Go to church. No, sir, sir. I gotta go. Who's this guy? I don't know. He's trying to... You gotta wear it for a dog, man. Where's the dog scene? Wait, police are tating now. The police is waiting for a dog and you're not saying nothing, dog. White is a gate that leads to destruction. But Carlitos way is the narrow... He did die before. Okay, that was way too long.


Greetings members of the North Texas Conference. May the peace of Jesus Christ be with your spirit. I'm speaking to you today from Christ United Methodist Church in Plano, where members of the North Texas Conference met in a special call session and voted to release 41 churches that have completed the Board of Trustees requirements for disaffiliation under the Book of Disciplines paragraph 2553. While this was a sad day of farewells to longtime friends and colleagues, I'm grateful that we could unite one last time in worship and partake in Holy Communion. We recognize that we are all part of Christ one body, even as we send off our disaffiliating siblings in Christ with our blessings and prayers. I know many of you have questions about the impact of this parting. Today I tell you this, the North Texas Conference of the United Methodist Church remains strong. Eighty-five percent of our churches, more than 230 churches, have committed to continue advancing the core values and mission of the United Methodist Church. And that mission, making disciples of Jesus Christ to transform the world, is compelling and inspiring. So today, we will continue our work, strong, encouraged, hoping in the Lord, and staying focused on the mission. For those members of disaffiliating churches who wish to remain United Methodists, we will host a series of area meetings in the coming weeks. And on March 12th, we will begin a conference-wide four-week prayer vigil through Easter Sunday for healing and joy for a great mission ahead. We invite you to participate in this restorative work by signing up for a prayer shift at the link on your screen. We know that our hope remains in Christ, who has promised to be with us until the end of the age, more particularly on days like these. May God's grace and peace be with you.


So this topic is called Protocol Architectures and Internet Applications. The first part, Protocol Architectures, I'm going to try and introduce a common protocol architecture that we're going to follow for the rest of the course. So the rest of the course will based upon what we introduce here. Of course, for that to make sense, you need to understand what is a protocol architecture. And for that to make sense, you need to understand what is a protocol. So we'll go through that. Once we've covered some of that, we'll just go through a couple of topics that are useful for the rest of the course, addressing and different types of Internet applications and the performance. How do we measure the performance of networks, of communication links and applications? First, and I forgot yesterday. So in this class, we've got what all mostly computer science students. There's a few students from different, maybe different programs or different years who I think you're from outside the university. Okay. What are you studying? Okay. Entrepreneurship.  Okay. We have a graduate student, Dana, who's joining us. Where are you from? From the US. Okay. From the US. He just arrived last week to Thailand. So in the US, how do you greet someone? Hello. Hello. Okay. In Thai, how do we greet someone? How do you greet someone? Okay. And what about a formal greeting? Maybe. Shake someone's hand. Okay. Give him some help. And what happens when he meets someone in a formal setting here in Thailand? What does he do? A formal. You meet someone, the director of the university. Why? What is that? You put your hands together. Okay. I think you've seen this and everyone's seen it. The concept of a Y is a greeting, okay, where in a simple scenario, two people come together to communicate and there's some steps that they follow to really to introduce or to get started in that communication. Before they start talking to each other, they introduce themselves or they greet each other using in Thai the Y, okay. And I don't fully understand all the details. Let's help both myself and Dana understand by you telling me what are the rules that you follow in the Y. Someone said it depends upon the age. What does that mean? And while you tell me, I'm going to make notes so I can remember and other students can remember. So let's say at the start, we start, that is two people arrive in a room. What happens? From my perspective, what happens? From a user's perspective. So I'm here and if someone comes up and there's a Y, who does it? The younger one, okay. So there's a rule that says if two people arrive together, the younger person should start, should initiate. They should Y to the older person, correct. So I'll just make note of that. So the younger one or the junior person. So if a junior person arrives, so I'm here, if a junior person comes up to me, what happens is from my perspective, what do I do? If a junior person comes to me, what do I do? Your junior, most of you are junior to me. You come up to me. I stand up. I stand there and wait, okay. I wait for you to Y to me. I recognize your junior. So I wait for some response from the other person. So I'm going to write the rules from the perspective of one person, let's say me in this case. If a junior person arrives, I wait for some response. What if a senior person arrives, someone older than me, what do I do? I Y to them, correct? You're telling me, I don't understand all the rules. That correct? If a senior person arrives to me, then I should initiate the greeting. So I just want to record some of these rules. And then after I, I'm not so good, Y to them, what do I do? After I send them this message, what do I do to the senior person? What's going to happen next? Say hello, alright, maybe that's a bit, a bit too fast. What should they do if I Y to them? But I've just Y'd a senior person, what's most likely going to happen next? So the senior person responds to me with a Y, okay? So from my perspective, after I've greeted them, I wait for a response from them. So I'll just make note, I wait for one from the other person. So if a junior person arrives, I wait for their initiation. If a senior person arrives, I initiate and then wait for their response. That's a typical behavior. So let's consider what happens when I'm waiting. So I'm waiting for some response. If, we'll consider the different cases if I can spell. If the junior person Y's to me, what happens then? If we can follow this through at the start, two people arrive. If the person that arrives is junior, is younger than me, then I'm waiting for a response. I'm waiting, so you think I'm in this state, waiting. And then the junior person gives a Y to me, then what should I do? I should return. I should do the same. So we'll see in a moment the pattern of what I'm writing here. It's a set of things that happen. A junior person arrives, a senior person arrives, a junior person gives a Y to someone, events that happen, and actions that we take. The action may be I wait, or I Y, and in this case, if the junior person initiates a communication to me, then I respond. And then we're done, because is that right? Once the both have done both ways, then we've sort of greeted each other and we can start talking. Okay? That's a typical situation. We've got a couple more cases here. What happens in this case? What action is taken? Actually, I'll make it a little bit clear. And the greeting. This is just the steps for a greeting. Once we've performed the greeting, then we can start communicating the data between the people we start talking.  We end. Senior person arrives, I deliver a Y to them, I wait, then when I'm waiting, they deliver one to me, and it's the end. So that's successful as well. Okay, so that's the typical steps that we follow for this greeting. And I'm trying to write them in some systematic way that we can record those steps so that someone could read this and follow it, and be able to implement this greeting. Any other things that may happen? What happens? Senior person arrives, I Y to them, I'm waiting for a response. What if I don't receive any response after a minute? I just stand there waiting, do I? How long do I wait? Forever. Okay, I'm not that patient. What happens? What if I wait too long? What could I do? Here, when I say end, I mean we could start talking, just make that a bit clearer. Try again. I could try again, okay? And maybe they didn't see me the first case, so I could have different options here. Try again and go back to the start. So if we want to be precise, we need to describe, okay, what happens if we wait too long for response? Well, again, there are different conditions depending upon what happened, how long we wait. Do we wait for 10 seconds? Do we wait for one minute? Do we wait forever? Well, we cannot wait forever. Last year I did this and some students said to me this one, that I should start talking, but I should be a little bit nervous. If the senior person doesn't respond to me, then maybe they don't like me or don't care about me. So there are different things depending upon the situation, start talking. So what I'm doing here is describing the steps for a greeting between two entities, two people in this case. When we're talking about computers communicating, I want to communicate, or my laptop wants to communicate with this PC. They want to exchange some data, so transfer some information between them. Usually there are some steps to initiate the communications. Before they send the data, they may greet each other, saying, I am this computer. I want to send data to you. This one says, yes, you may send data to me. And then they send data.  That's what a protocol is. A protocol defines a set of rules for communications. So this is a protocol, and it's a protocol for greeting in Thai. And you can see we can define it as a set of things that happen, events and some actions that we may take. And the events and actions differ depending upon what state we're in. Are we in the start state, or are we in the waiting state? Even with this simple greeting, you see I think we haven't covered all cases. How long should we wait? It's all right for you and I humans, we can vary that value. What about my computer? It must know exactly how long it should wait before it does something else. We must program it. We must set a time that it must wait. Wait too long for the phone. So even though we roughly described our protocol here, in computers they're much more complex than this. So we describe the rules that the entities follow. Here we're describing for one person. But this set of rules would also apply for the other person, the way that we've written. So a protocol describes a set of rules that an entity that wants to communicate must follow. It also describes, should describe the set of messages that we communicate between entities. What are the messages that we've sent between the two people in this case? Well you can think we wait or we wire someone. So I think that's the message that we're sending or we receive. So in fact here we have just one message in this simple protocol. So that's our message type. Are there different types of a wire? Is there just one type? How do you do it? Three types. What are they? Okay, between equals. So I didn't cover that case. So the protocol is more complex than I've actually written down here. Okay, you're making it even more complex. There's more scenarios than what we cover here. So if we want to be precise and describe the exact rules for this greeting, our protocol gets more complex. And same with computers. If we want to describe exactly how two computers talk to each other, we must clearly describe those rules. Because someone has to program those rules. What about the why, the actual why, the message you send to the other person? What is it? You hold your hands together, correct? Where do I put them? Here? Is this what I do? Okay, so in fact, if I hold the hands here, is that the same as if I hold them here? What about here? So in fact there are different types of messages even. And they have different meanings. Which ones maybe better or nicer, here or here? The why sometimes is maybe better. And do you just hold your hands, is that all? Sometimes people also bow a little bit.  So there are different types of messages which have different meanings. Same when we communicate between computers, a protocol describes not just the steps that we take but also the message types and their meaning. We could say, I don't know, a high one is, and maybe there's, I don't know, there's one which is considered rude or inappropriate to some people. So depending upon the actual message or the message type, they have different meanings. Some students walk around that I see them and they're nice to me and they're carrying all their books and they do this one, the one hand one. So there's also a one-handed why. So again, in different scenarios you have different message types. So that's what a protocol is. A set of rules for two or more entities that they obey in order to communicate. So the entities, usually now we're talking about computing devices but it can also apply for other things, humans. We're looking at computer communications. So a protocol is something that two or more computing devices implement such that if they follow those rules they should be able to communicate with each other. And they both need to follow the same set of rules. They both need to understand the rules that each other are using. Because if I understand the handshake of, well not me, someone understands the greeting, the tie greeting, the rules that we just described. And someone else uses the US greeting of the handshake and they come together, it's not going to work. So if the two entities follow a different set of rules they will not be able to communicate. So a protocol contains the set of rules for each entity, the peer, when we talk about two entities there are peers of each other that they must follow. Including that would be, for example, the timing information. We said, how long do we wait for the other person before we respond? Same with a computer protocol. How long does my computer wait to get a response from the other computer? One millisecond, one second, it cannot wait forever because if it waits forever it will never communicate in some cases. So we need to describe that in a protocol. And also we need to describe the types of messages, the syntax of the data that we're sending. And we need to be quite precise, we cannot be as general as we did in that example. So very simple. A protocol, a set of rules that the entities follow in order to communicate. That's easy. What's a protocol architecture? Well, now back to our computers. For my laptop, if I connect a cable to this PC and I want to transfer a file from laptop to PC, just a one megabyte file, then the tasks involved for doing that, there are many of them. For my computer to be able to transfer a file to here it must be able to understand the structure of that file or the file format. It must be able to do, my computer must be able to generate some signal. The file is in binary, zeroes and ones. To send something across a cable I send some electricity. So I must be able to convert that zeroes and ones into some signal to send to the other computer. In some cases there may be errors and I cannot tolerate the fact that if I send a file and the received file is different. So my computer needs some way to check if the receiver has received the correct file. If not, maybe try again, resend. My computer needs to know the address of the destination, especially if I'm a large network or a network I need to know which other computer I'm sending to. The point is that for computers to communicate there are many different tasks that the computer must implement to provide effective communications. So there's not just one protocol that every computer uses. Because data communications is very complex what we generally do is we apply the divide and conquer principle, which is we take this complex task and we divide it into sub tasks and we have a protocol to implement the individual sub tasks. So we have a set of protocols, let's get a pointer. So instead of having a one protocol to communicate between any computing device, we divide the tasks of communications into sub tasks and implement those sub tasks in what we'll say as layers. We separate the sub tasks into layers. That is, we'll see the picture shortly, but the lower layer deals with some tasks. The next layer deals with other tasks and another layer deals with other tasks and so on. So layers which are specified to deal with certain types of tasks. Ignore this for the moment. When we combine the layers together we get what we call a protocol architecture. Try and continue to describe that, but let's look at an example of a simple protocol architecture to try to demonstrate this concept. So recall that our computers want to communicate. We use protocols to communicate. But because the task of communication is so complex, we can't just use one large protocol. We actually use many different protocols, smaller ones. Each protocol has a certain responsibility to implement a task. Then we divide those tasks initially conceptually and eventually in the implementation into layers where this is one layer. The protocols we think in this layer have some responsibility in this example of providing some access to a network. Protocol in this layer has some other responsibility and the protocols in this layer have further responsibilities. So we divide the system into smaller chunks and organize them as layers and together these layers form a protocol architecture. So in this example diagram we have three computers A, B and C and these blocks show the protocol architecture inside that computer. So it says, a simple way to view it is that in computer B there's some protocol that provides network access. There's another protocol that provides transport. We'll have to explain what transport means shortly. And there's another set of protocols for applications. Applications like a web browser, instant messaging client, Skype, email, your other network applications. And each of these computers use the same protocol architecture. Three layers, applications, transport, network access. We skipped over, I think, a description of this simple and this is not a real protocol architecture. It's just a demonstration one for this class. In this protocol architecture we say to communicate we have applications, applications that are for transferring files. Some of you may have used, I don't know, FileZilla or some FTP applications, transfer files. Email applications for sending an email, they are different from web browsing, your web browser. You may use remote login, instant messaging, voiceover, IP, video chat, the other types of applications we use in a network. And on, and those applications run on computers and those computers are connected via a network or networks. In this simple demonstration we're saying the tasks for communications we're going to divide into three groups. The group that is dealing with supporting applications. So protocols that support file transfer applications, protocols that support web browsing, protocols that support email, will group into the application layer. What's a protocol that supports web browsing? Use it every day.  You see it in your web browser, HTTP. That's the name of a protocol or an acronym for a protocol, the Hypertext Transfer Protocol. That's considered, web browsing is an application that we use in a network, HTTP is a protocol that supports that application of web browsing. So we consider HTTP as part of the application layer. It's a set of protocols that support applications. Any other protocols you know about that are specific to applications, give us one. Okay, secure web access, HTTPS, that's an old one, TCP you've heard of, we'll come to that in a moment. But no, it's not an application protocol. Think of other applications and see if you may not be able to recognize them. Has anyone heard of BitTorrent? BitTorrent? Okay, there's an application, in fact there's also a protocol. What do you use BitTorrent for? Downloading Linux distributions, correct? Okay, so that's, in fact, a protocol that supports the application. Some of you may have heard of it, is it 2Ts? I don't know, I think so, BitTorrent. That's both an application, in fact, also a protocol that supports file transfer amongst a large set of computers. But it's an application protocol. Has anyone used email before? Yeah? What protocol does email use? There's several, and you may not see them as a user, sometimes you don't come across them. But there's things like POP, IMAP, and SMTP, SMTP. You don't need to copy these down, we'll see them later. There are examples of, or these are protocols used to support email. This is a protocol to support file transfer. Another one for file transfer, different, FTP. You may have seen it. Yeah, TFTP, there are hundreds, truly hundreds of protocols to support different applications. Skype has its own protocol for voice calls between Skype clients. These are application or protocols that support applications, different applications. So we group them into the application layer. When I transfer an email from one computer to another, I want to make sure that the receiving computer receives the exact same copy of what I sent. We spoke about this on Monday, this accuracy. We need to obtain 100% accuracy in this case. The exact same file that was created at the computer must be received. The same when I'm web browsing. In web browsing, I download web pages from a server. The file on the server and the file that my web browser receives should be the same. There shouldn't be any differences. The same when I'm downloading a file with BitTorrent or FTP. The file on the other computer that I'm downloading and the file that I receive for this application to work correctly, they must be identical, 100% the same. Unfortunately in networks and in communications, there may be errors in the network or errors in the link. So the file at the server is sent across the network and there may be errors in the network such that what I receive is not the same as what it's at the server. That's a problem. And in this simple architecture, we're going to say, well, how can we deal with that? All of these applications need some level of, some mechanism to deal with errors. To make sure that the data transfer is reliable. How do I deal with that? If I download a file and the file is not correct, what should happen? Imagine in a simple case, you download a file and you realize that the file is corrupted. What may you do? Download it again. Retry. Instead of getting you the human to do it, it's better for the protocols to do it on your behalf so you don't have to deal with it. So the computers do that. What happens is there's one computer, where is our computers? Say one computer is sending a file from C to B. B receives part of that file and recognizes there's some errors. It's corrupt. It's not correct. Then B can ask C, please send it again. And hopefully the next time it will be correct. This is a reliability mechanism, a retransmission scheme where you say, if it's not correct, send again. Instead of us humans having to do that, it's best if the computers do that for us. All of these applications, web browsing, file transfer, email, all need 100% reliability. So the idea in this architecture is to say that since they all need some reliability mechanism, let's have a separate protocol in what we'll call the transport layer that does it for us. A transport protocol that provides reliability for these three different types of applications. The alternative is that this protocol includes reliability mechanism. As do these protocols. As do these protocols. But why? Why not just have one protocol that provides reliability and these can ignore the reliability and just use this one. And that's how we'll see that how layers work and provide benefits in that the functionality needed for web browsing is contained in this application layer protocol, HTTP. The reliability mechanism is not implemented in HTTP, but HTTP makes use of another protocol that provides that reliability, a transport layer protocol. And one that you may have heard of that does this in real life is TCP. So it's about dividing the tasks needed to communicate amongst different protocols and grouping them into layers. The task for web browsing in the application layer. The task for providing reliability in the transport layer. And we keep doing that into other layers depending upon our protocol architecture. In this demo or this example, we say that there's a third layer, the network access layer. So we had application with some example real protocols, transport and I'll just say the network, the network access layer.  For example, addresses. Computers need some address. For A, B, A, B and C, think of those letters as their address. If A wants this computer wants to send to here, it creates some message to send and it must say okay, this message should go to computer B instead of computer C. So we need some addressing mechanism and that, for example, can be implemented in the network access layer. And other features as well depending upon how complex our network is. So the main point here is that we divide communication tasks into layers where each layer has certain responsibilities and protocols are implemented in each layer to complete those tasks. There's more details in this example, but for now, do we need them? No, we may come back to them. Since everyone I know here is understanding 100% of this, we don't need the simplified protocol architecture, we'll go to the real protocol architecture. This three layer one that I used here is not real. Our computers don't implement this. It's a real one, or close to a real one, or one that's used on a daily basis and used in many computers around the world is what provides us access to the internet. So it has different names, but I'll call it the TCP-IP protocol architecture or sometimes just the internet protocol architecture. So let's look at that. Before we describe the history, here it is. And this is the protocol architecture we're going to use in this course. And it's common across many systems. It has five layers. So here from top to bottom. So you can think of my laptop, which has access to the internet, implements protocols in each of these five layers. So from bottom up, physical, data link layer, network layer, transport layer, application layer. And on the right I show some example protocols or acronyms for protocols that are associated with these layers. And at the top we see some of the ones that I mentioned in our previous example. HTTP, FTP, email, SMTP, secure shell, and then many others. I've just got four of hundreds here. So just some examples. So you can think of your laptop, your mobile phone with internet access, a web server, implements a set of protocols for communications across the internet. And in most cases, we can group those protocols into these five different layers. There are protocols that support specific applications. Web browsing, email, file transfer, voice, video, instant messaging, specific games, and many other applications. Database applications, proprietary business applications. So the application that the user uses, there are protocols that support them. Work our way down. Transport layer, one of the main roles of the transport layer, especially the one the protocol called TCP, is like what we said here. Is to provide this reliability mechanism. I want to transfer data from a web server in the US to my laptop here. It has to be delivered 100% accurately. The data there at the server and the data arrives at my computer must be the same. If there's some errors in the internet or on some links, then one role of TCP is to make sure it overcomes those errors. And it does that by asking the server to retransmit. Send it again if it arrives in error. So that's a main role of TCP in the transport layer. There are other protocols as well. Not as many as application protocols. Two common ones, so TCP and UDP. Some less common ones, SCTP and DCCP. I'm not going to try and introduce all these acronyms now. Usually, P means protocol, the rest we'll see as we come across these protocols. Transport layer is there to support applications, but is common provides tasks that or implements tasks which are common across many applications. Go to the bottom, let's skip network and data link and go to the bottom. The physical layer has the task of doing the very basic things for communications. In the simple terms, it takes bits, zeroes and ones, and generates signals. Some physical signal that can be sent across out of the computer. So, I've got an example. Here's a LAN card, it's maybe 15 years old. You've got them built into your laptop now, much smaller on a single chip, and also in your PC on the motherboard. But an old LAN card where you plug the LAN cable into the socket, okay? So, this is the LAN card. So, you can think what this LAN card receives is on some bus here. It receives some digital data, zeros and ones, okay? Which is the data that we want to communicate across the link or the network. The chips on here implement the physical layer and what the physical layer protocol. And what that does in very simple terms is takes those bits and generates an electrical signal that is sent across the wires that are plugged into the socket. So, think of an electrical signal as some sinus or some sine wave. So, it takes bits and generates some signal to represent those bits. A simple example, when we have a bit one to send, send a high signal. When we have a bit zero to send, send a low signal. If we have ten bit ones, send ten high signal for some portion of time. So, that's the role of the physical layer to say how to transmit digital data, bits, as some signal out across a link. And it defines the types of signals, the types of cables that can be plugged in here. So, the material used inside them or if we're using wireless, the frequencies we use for wireless and many other physical characteristics of the media. So, that's the raw or the very basics of communication sending signals. And it's the role of the physical layer. Some examples, twisted pair of the cables that plug into these LAN cards. I showed, well, a LAN cable, but cut, okay. You've seen LAN cables with the end point, it's cut here. And you see in fact, inside is a set of wires, copper wires. And there's a pair, each pair is twisted around its partner. So, it's often called twisted pair. It's just copper wires and it carries an electrical signal. So, the structure of this is defined by physical layer protocols. Others, optical fiber, I don't have an example, satellite, wireless LAN. Other technologies are part of the physical layer. Where have we got to? Think of the physical layer as taking the task of getting bits as some signal across a link. The data link layer has the extra role of making sure those bits get across the link in a reliable and efficient way. Again, it does something similar to the transport layer. It deals with errors. If we send some bits and there are some errors at the receiver, the data link layer may also ask for a retransmission. Send it again, because some of those bits that we sent were in error. It does other things like sharing the medium amongst many users, giving addresses to the computers. So, it gives this LAN card an address. And in the other computer, the LAN card has another address. That's some of the responsibilities of the data link layer. Making sure that the bits get across the link, across the link, the data gets across the link in an efficient and reliable way. Physical layer, you think, just tries to send the bits as a signal. It doesn't care whether they get there, it just transmits them. Data link layer tries to improve that by, if there are errors, fixes them, provides some addressing skills. In fact, sometimes there's a very close relationship between these two. On this card, it implements both the physical layer and the data link layer. So you can sometimes associate these two with the hardware. A LAN card, a wireless LAN chip, a router, or a router interface. And some examples that really cover both layers, Ethernet, wireless LAN, frame relay, are examples that implement protocols in both of these layers. Here's another view of layers. We haven't described them all yet. This is one of the hardest things for students to start this course, to understand why do we need these layers, what do they all do? By the end of the course, you'll be experts in all of the layers, because we spend the course going through each of the layers. Here's a different example with three devices. Two computers, I'll call it a source host. Imagine it's my laptop. And a destination host, so it's the PC there. I'll call hosts, in this case. A source wants to send data to the destination host. They don't have a cable connecting them. Instead, I have some other device in between them. You've seen these around. This is in fact a wireless access point, but it's also a router. It has some sockets on the back where I can plug the LAN cables into. So I don't have enough cables, but imagine I have a LAN cable now coming from my laptop into this device. That's this black link here. And also from that device, from the other socket, a LAN cable, a separate one going into this PC, which is the second transmission link to. So that's the scenario, three computing devices. We'll call them the source host, the router, and the destination host. And let's look at inside them. So if we looked at the hardware inside my computer, the operating system, and the source code of the applications, we'll find protocols that we could assign to each of these five layers. From my laptop to the intermediate device, the router, there's a physical layer. They both implement the same physical layer protocol. That is, take some bits, transmit them as an electrical signal to the other device, and it receives those bits. Data link layer tries to make sure that across that link, the data is delivered correctly, only across the link. I also have a second link from the intermediate device to the PC. So there's a separate physical layer and data link layer for those two devices. So for the second link, they are separate. So think of the physical and data link layers dealing with an individual link, just one link, getting data across one link. But we have two links between source and destination. It's the role of the network layer to get data across a set of links, across a network. Remember, our simple definition of a network is a set of links. Physical and data link deals with getting data across a link. Once it gets to the other endpoint, it's done. Network layer has the role of getting data across a set of links, in this case two links, across the network. And therefore, the network layer protocol in this case is implemented in the source host, in this intermediate device, and in the destination host. They all work with each other to make sure that the data gets from source to destination. And back to the top. Application layer protocols deal with getting data between specific applications. A web browsing is an application. So from web browser to web server. From email client to email server. From your instant messaging application to your friend's instant messaging application. Between applications. And the transport layer is about supporting those applications to make sure that that data is delivered across the network in a reliable manner. That's the highest level view I can give of this five layer protocol architecture. And I will not try to explain much more detail because I see half the people sleeping and because it's only really starts to make sense once we see real protocols in each of these layers. And that's what we're going to do in this course. We're going to spend some lectures on the physical layer. Explain how that works. Then the data link layer. Then the network layer. Transport and application at the end. At the end of the course we'll finish on how does HTTP work. How does an application layer protocol work. And then you should understand how all these layers come together. Network layer as an example protocol. The main protocol in the network layer is the internet protocol IP. And in fact that's where our architecture gets its name from. The main protocol is IP. Another main protocol is TCP. So we get the name the TCP slash IP protocol architecture. The others are used in the others. There's many more variations we can choose from but in terms of the network layer IP is common. And in the transport layer TCP is very common as well. So it's called TCP IP protocol architecture. Let's go back to what I skipped. That's what we just said. ARPANET is the precursor to the internet. 40 years ago in the US a research network was built. And that's become the internet today. In fact the internet is much more complex than ARPANET originally. It connects many different networks. And the set of protocols called the TCP IP protocol suite. And it's what's used in the internet today. What you use on your PC, on your laptop, your mobile phone for internet access. There are many different protocols. And different organizations create those protocols. And the main one for the internet protocols is called the internet architecture board, IAB and the internet engineering task force. There is no official protocol architecture. There's no official document that says it must be these five layers with these five names. And these are the tasks. It's just developed over time. And these five layers capture quite well how it works in real life. In fact if you look in different textbooks you'll see some people use six layers instead of five. And the names of the layers differ. So this is common in the Stirling's textbook. And it's what I think is a good representation of what we need to cover in this course. But in reality there are some different names that we'll see here. But it's good for you to remember these five layers. There was a different protocol architecture. So we think there's this TCP IP five layer protocol architecture. Before that there was a different one called the Open Systems Interconnection Protocol Architecture, OSI. OSI was developed by ISO. That's the organization. That's the name of the protocol architecture. Confusing, but that's how it worked. The OSI protocol architecture or reference model had seven layers. So there were seven, not five. We don't have time to go through that although it is interesting. TCP IP one essentially. OSI lost if we think of a competition between these protocol architectures. About 30 years ago people were going down both paths in the TCP IP and OSI. But eventually OSI was not successful. People didn't use it as much as TCP IP. So the internet today is focused around the TCP IP protocol architecture. Although it's not used in practice today, many of the principles and terminology still apply. And we still hear references to the seven layer OSI protocol architecture. It's similar to TCP IP with two extra layers. So what's your task? If you don't fully understand this, minimum. Remember these five layers. Remember their names and the ordering of them. There's always a question in a quiz or an exam that is about the five layers of the TCP IP protocol architecture. So it's important to remember these five layers. Try to remember some of the real protocols and where they fit in those layers. Try to remember the HTTP. Okay that's for web browsing. That's an application. That's part of the application layer. IP is the internet protocol. And that's the main part of the network layer. And a description or some textual description of those layers. Very brief is given in these two slides. So physical layer, how to send bits over the transmission medium as some signal. So some concepts that we will see when we look at the physical layer is okay. At what data rate do we send? How many megabits per second? Does our physical layer allow us to send bits? Our LAN cable may be 100 megabits per second. Wireless LAN may be 54 megabits per second. That's part of the physical layer. What type of signals do we send? Codecs, modems, all those things are part of the physical layer. We'll explain what they mean in later topics. Data link layer. Across that link, how do we get the data across it efficiently? Provide reliability. Give addresses to devices. Set up links. Sometimes it has other names. Network, Actors, MAC, LINK, Hardware. But we'll use data link layer. Network layer allows hosts, computers, to communicate across a network. Across multiple links. And it does different things. A main thing that it does is finds a path through the network. To get my data from my laptop to the web server in the US. What path should it take? What set of links should it take? So find a path through the network or find a route through a network. So we get routing. Application layer provides functionality needed for the different applications. Transport layer transfers data between, you can almost think, the operating system endpoint or the operating systems that the two hosts. And the main thing is fix errors. Provide error control. But we'll also see transport layer protocols do other things. And they become very complex at the time. 10 o'clock. A couple more things but not much to go through. Because I want to look at the quizzes and some other things on the website. Is it all clear? Everything okay? Any problems? Okay. Any questions? Try to understand what are we covered today? There is a protocol. A set of rules for communicating between different devices. Including the formats of the messages. Of course a computer must implement a well-defined protocol because a computer will only do what it's programmed to do. If two computers use different protocols, they will not be able to communicate. We have protocol architectures. Instead of one very big protocol, we provide tasks and separate them into different protocols. And to keep things organized, we separate them into protocols which are organized by layers. That's a protocol architecture. And the protocol architecture we're going to consider in this course and is common through the internet, is this TCPIP protocol architecture. These five layers. The bottom two about getting data across a link. The network layer is getting data across multiple links, across a network. And the top two about getting data between the end computers. The end hosts. And between applications on those end computers. That's a broad grouping. Let's stop the discussion of layers there. Next week we'll return and we'll continue for the remaining slides. We'll look at... There are other protocol architectures. We're focusing on TCPIP in this course. There's OSI seven layer protocol architecture. There's some older ones. IBM has had its own architecture. Apple, Novell had their own architecture. But the TCPIP one became the most popular. And that's why we're focusing on that. There are architectures which are specific to different domains like telephone systems, mobile telephones. There are different architectures. So there's not just one in the world. There are many. We're just focusing on the main one, which is the TCPIP or the internet protocol architecture. Next week we'll finish the rest of the slides. We'll talk about standards, addressing, and give some examples. What I want to do in the last ten minutes is say a little bit about the website. So yesterday I said about the quizzes. Let's see if everyone understood. How many quizzes are there this semester? 10, 15, do you want another guess? Undefined. Okay, it may vary. So there's a trick question. It won't be fixed. About one per week. So there may be around 15. There may be a couple less or a couple more. What are the quizzes worth in the total score? How many percent? What do the quizzes count for? 15 percent. Quizzes are worth 15 percent. Okay, so only a small part really. Exams are much more important. The quizzes are there for you to practice every week. Any questions about how do you get 15 percent? It's a bit confusing. In short, attempt every quiz and get more than 50 percent for every quiz and you'll get the full 15 percent. The first quiz will be available today at midday. Quiz one will be available today at midday because I have the IT section after this class and after that the quiz opens on the website. So you can take it then. The quiz has a time limit of 10 minutes. You must do it before Monday midday because we have a lecture in Monday afternoon. So both sections are on the same time schedule. I think all quizzes open this time close Monday midday. So you have five days. Yes. Now you see the questions. You can preview the quiz. I can because I'm the admin. Here's one. You have a six megabyte file to download. Your computer is connected to a network with a download speed of 10 kilobits per second. What is the minimum time it takes to download the file? So there's one of your questions in the quiz. You'll see that shortly. There are seven questions in this quiz. Usually there's a few less, in fact, not seven. And it times you. You can't pause the time. And again you can have multiple attempts, three attempts at this quiz. If you get less than 50, try again. And then again. How do I know the time? I'm using software called Moodle, which does all this for me. I haven't implemented it. Moodle keeps track of the time at which you start from the service perspective and you have 10 minutes from there. When is it? Oh, the question. That's what you need to think about. You'll see that some quiz questions are not directly, I haven't given the answer or discussed it directly in lecture. Some are just testing your knowledge, your general knowledge. How do you solve this? Well, that's very close to high school mathematics and physics that you think about it. But on that topic, not quizzes, where are we? Also, and this is what I wanted to discuss, there are practice questions or practice lessons. The practice ones do not count towards the grade. You can do it or you're not doing it. I'd prefer you to do it, but I'm not going to be checking everyone and if you do it or not, it won't impact on your grade directly. Currently there are two practice lessons. They're not quizzes, slides or pages of describing some concept. These are concepts that I expect you to know already. This is just testing your background knowledge. Units and prefixes. Units, things like bits, seconds, hertz, meters. How do we measure some entity? Prefixes, mega, kilo, micro, prefixes that we use to write numbers in more convenient forms. You need to understand them, especially the ones that are going to come up in this course. I expect you to know them, but to make sure that you do know them, do the lesson. There's no time limit here, I think that you can do it in your own time. There's no restriction of what you need to do and you just step through. You can read this in your own time. This is a lesson about units and prefixes. You can read this in five minutes. The main units we use are measuring time, length, angle, frequency, power and information. Seconds, meters, radians, sometimes degrees, hertz, watts and bits. That's what I mean by units. Make sure you understand them. DB will cover later on. There are others, of course. If you understand units, you go there. If you want to know some more, in this case I have a video that explains and gives some examples. You can watch the video for five minutes. If you think you understand them, then you answer some questions. If you answer the questions correctly, you can proceed on to the next task, the next part of the lesson. Again, it's not a quiz. You don't get any grade for it. Some people will find it very easy. Some may take some time to go through it. But you can give it a try just to check your background knowledge. What is the symbol of the unit used to measure information? Not straightforward. If you read the part before, anyone want to have a guess? B. The symbol of the unit to measure information. What is the unit to measure information? The base unit we use is bits, or a bit. Information. How many bits? What's the symbol for bits? We use the lower case B. So, upper case B we use for bytes. And it says, bits are the basic. The lower case B is used as a symbol. So, that's correct. And it allows us to continue. If it was not correct, it would take us back to some other page. And therefore, it gives you another question. And you can step through this in your own time. You may want to do this before the quiz, even. It may help. So, this is about the concept of some information over some time gives us some rate. Same as you drive 100 km in one hour the rate or the speed is 100 km per hour. You get the same concept. Go back to our lessons. So, you can do the lessons before the quiz. It may help in this case. There's another lesson and you should do them in order. You don't have to. Later, maybe in a few lectures we'll use some very simple mathematics. High school mathematics. Exponentials and logarithms. So, again, just a reminder of some of the properties of exponentials and logarithms. Just so that when we go through in the lecture, you'll be able to follow quickly. Just a refresher. Nothing new there for most of you. So, a different lesson that you can use as practice. I expect everyone to explore the website and I'm not going to assist with that. That's something you can do quite easily. Did I give you this handout? I think I gave you this handout. Again, in this course you're going to see what do we say? At least a lot of these. A lot of TLA's. A lot of three-letter acronyms come up in this course. Four letters as well. And some two-letter acronyms. And very hard to remember them all. And sometimes I won't require you to remember them all. So, in this course we're going to see AMI, ASK, ATM, BR, CMI, CRC, FDM, all these acronyms. So, over the course use this as reference. Use websites to look them up if you don't understand them. In fact, this is just a description of what you do in the lesson. In lesson one. And logarithms is what you do in lesson two on the website. So, this is just a printout of what you cover. Decibels will cover a little bit later. We'll have a lesson about that later. Any questions to finish? I'm done. This section. Any questions about the quiz?


Dr. King My name is Dr. King.  Apple seeds. They have always been the bane of my miserable existence.  Never whole apples, or maybe even sliced apples. Just the seeds, going everywhere I go and ruining all my plans. Finally get a chance to test a big SCP? Apple seeds. Working in my office? Seeds in the drawers. No matter where I go. Apple seeds. But I'm going to change all that. For the past six weeks I have locked myself alone in my office. The apple seeds have been slowly filling it up, and they're up to my neck now. Tonight is the night I let those demon seeds win.  I hope they don't have apples in hell. Dr. King groaned, as he was prone to do when waking up, and scrunched his eyes. Was he dead? Was this after? Didn't feel very after.  Apple seeds. Dr. King's legs scrambled for ground as he sprung from his prone state, sending apple seeds scattering across the seedy ground. Dr. Despair and Anguish washed over him in waves, sending him tumbling back to the seeded earth. No! Fuck!  Why won't you leave me? Preoccupied as he was with lament and despair, Dr. King failed to notice the celestial figure approaching him from on high. It was an apple, a whole one, with leaves as green as the sea, and a shimmer surpassed by none. It had one sticker affixed to his side, which shone a golden A, shimmering across the landscape. Rise, King! Dr. King flipping around, and his jaw would have dropped had it not already been hanging a gape, swinging like a pinata in the wind. You! But… My son! Your final time has come! Boomed the giant flying apple. Dr. King blinked. My time! What? What are you talking about? A shimmer of bright red liberated itself from the apple, and spread over the land, blasting everything that had once subscribed to other colors on the spectrum into a brilliant, vibrant red. There is no time to waste. You were born to create apples. Now your time has come. The world is in crisis, and the only solution is apples. Suddenly, King's mind was filled with images. He was riding an apple chariot in site 19, and all the senior staff were apples. They bowed down to him, and ready to apple throne for him to sit in. Panning out, the site was apples, slices made up every wall, and the head of every researcher was replaced with retuned healthy apples. There was no danger, because skips were apples. The whole world was apple. So you see, it is… where are you going? King was already gone. No!  But it is your destiny. King turned to the floating apple, which called itself his father. His face was even redder than the world that surrounded him.  And then, Dr. King with apples no more. How's he holding up, Doc? Well, we recovered about 765 apple seeds from his trachea. In addition to the couple thousand we got from the rest of his orifices. Are they still cleaning out his office? Yeah, we'll be digging seeds out of there for a month, poor guy. Man, he looks so pissed when they brought him in there, but now, heck, he looks happier than I've seen in a while. Makes you wonder what he's thinking, doesn't it? Whatever it is, at least it's making him happy.


Today's letter is A for addictive. Many vape juices contain nicotine, which can be highly addictive. Often, the more you have, the more you need. It can spin out of control. There's more to vaping than you think.