Good morning, everyone.
Still morning. That's good.
Nope.
There's still some time there, so.
Welcome back to Comp. 24 0, 6 funnels web applications.
So on the page I am showing you.
The
Main course. Wiki.
Again. You should be on bright space.
You know. Here's the course outline here.
We went through that last week.
The one thing now is, the schedule is posted.
You'll notice there are not topics on there, because.
My top so vary.
Talk to the high level. What we're going through.
But how things progress will in part depend on.
How you guys react.
So.
Big thing to know here, so I've got all the lectures here. I do not have fall break in here. I have
The midterm, October 29.th The idea is that this is.
Midterm Review is the last class before the break.
And the midterm is right after the break.
And then we have more lectures.
And then we have up to 4.
I haven't decided whether I'll have classes. Thanksgiving.
We'll see.
Is, I might be.
We, we might skip that.
Another thing to know actually about next week.
Next.
I should actually update this here.
I'll do that after class. But next week's lectures.
Will be actually purely asynchronous. I'm attending a conference.
I will post. I will be doing a recording of them via zoom, and I'll post the time I'll be on. But I'm not expecting.
Many people to be there, but it'll probably.
I have to figure out when I can do that.
After this Thursday. Basically, I need to have 2 lectures done.
This next week, because I'm going to be at a conference at, you know, during these times.
I don't think anything else.
No, I think that's it.
Yeah. Midterm final exam during the final exam period. Oh, yes, assignments and things.
So the tutorials you'll see.
Oh, why do I have a blank space there to figure out what's messed up with my table?
This is when the tutorials are going to be released. Officially they may be up there.
For that, but they will probably say they're not finalized yet.
This is the date they're finalized, which is the first.st
Date of tutorials.
What's.
I'll talk about the midterm in a second.
So that that's that's what it is. And then the assignments are due on Wednesdays.
Because I'll be going over solutions on Thursday.
So that would. That's where
This is set up here.
Now the question is, will the midterm be during a specific time period, or open for the whole day?
They will have a limit. So.
The intention is is that you do.
The midterm.
Yeah.
The midterm will all be specific time. Basically, during class.
Some of you may, I know, cause especially the other sections, asynchronous, so you can't make it that time, so I'll probably have, like another.
Time slot where it opens up. It's not going to be just.
Do it whenever I wanna kind of have like, okay, here's this one seating. Here's another seating.
It's gonna be all virtual. But still it's time limited.
And
So we'll.
Ourselves.
So there's some questions now about joining teams.
Everything's on bright space.
So so questions here. Where can I find the teams? Codes.
Well, bright space. Yes, it's.
It's all there on bright space. Go check it again. I put the teams code as well as a link.
As far. Where can you find this page that we're showing this.
This is the main Wiki page.
This is the main, you know. This is.
Homeostasis sees carbon.ca index. BI think so.
So next week is fully Async. Well, I will have a sync. I will be lecturing at a certain time. I'll announce it, but it won't be at the normal lecture time, and so.
If you can attend or not.
Yes. Course. Links.
Thank you.
I post recordings.
Basically soon after class.
So early this afternoon. These lectures. It takes a little while for Zoom to process it.
So I have to process it, download it, do a few things so.
It happens.
What I'm sort of going through the questions here right now.
So basically, 2 trails start this Thursday with the tutorial before they'll have their 1st trial next week.
Yes, exactly. Tutorials start Thursday.
That's just them.
So
Well the requirement. What? What will be required? We that we need for coding in this course be posted.
Lectures. You're gonna basically have a week to do the lectures.
The quizzes.
Tutorials. Again.
Basically, you have till the following tutorials, when you should have it done.
But we'll be a little flexible with that cause you're gonna get checked off. But.
You don't want to get behind on that.
The main thing is the tutorials. We do.
Okay, let's wait to pay you right. Some of us down here. Okay, so.
So I'll have a note in there.
Alright tutorials are due.
Tutorials that do when the assignment with them are due.
So if we're going.
So, for example.
So it depends on which tutorial.
So like
October second.
This assignment.
I'm.
Should be based on the first.st
I think. 3. Yeah, I'll be based on the 1st 3 tutorials.
Well, actually, no, I'm not sure about that.
Yeah and doctors. It's basically the 1st 2 tutorials.
And the 1st assignment based on the 1st tutorials.
So you'll need to have those done, basically by here at the latest.
But remember.
So remember you can't just mess email or message them with your answers.
So you need to go.
I will post a lecture, quiz.
So I make up the lecture after I do the lecture based on what I end up covering.
So in that lecture, quiz.
So.
The part of the lecture quizzes that.
Did you.
Listen to lectures.
So, if you have.
So so the question is, you have tools. You have to.
By.
Yes, so our lecture quizzes graded.
Yes.
They are graded, but they won't be very hard. But yes.
There'll be. Basically, it's a few multiple choice questions.
They shouldn't be hard.
You'll see with today's.
Any other further questions before I get started? Here?
When will the assignment open?
When it's when it's finalized, you'll have at least a week.
So.
So the question. So there's so the.
Basic web. So remember, you go to. Let's get the.
Let's like post the link here.
So.
So you should be able to post that.
So there was a question about
Software requirements.
So the question is is, when do you complete tutorials.
So just like in any class.
You know, you know, just you can class.
And do that. Now.
You look to install I'm so dental. We're gonna talk about the software stuff.
Okay.
Okay, anyone else having audio issues. Wanna make sure. Everyone can hear me. Okay.
I got one, someone saying there had some issues with it. Okay, good.
Yeah, if there's any connection issues, let me know. Cause that should not be happening.
That's right. So.
You're welcome to have your own dev environment. There's nothing wrong with that. That's fine. We're gonna be supporting openstack and recommending.
You use it.
And showing you how to do that.
But I mean.
These are all cross platform, web tools.
So.
So anyway,
What I want to do today is Thursday. We're going to
Hmm.
2.
Sorry. What is the wisdom behind not having a final project.
Go back to my 1st lecture.
I explained my philosophy. There.
So.
I did. I did talk about that, but.
You'll see with the way I.
With the way I've been teaching this course. So.
What we're going to talk about today.
Is the Internet.
So why I want to talk about the Internet.
Words.
Hey!
The thing of the final project.
Okay.
Okay, it's cutting out.
Oh, hold on a second! Let me see what.
So understand when I'm
When I'm typing. I'm often not talking.
You gotta look at my mouth.
To see if I'm talking.
I just adjust my microphone. Let me see, I was curious. What microphone I'm using.
No actually no.
Okay. I don't know why the audio is bad for some of you and not for others.
Yeah.
Yep. So if some of you are having good audio that I know, at least Zoom is transmitting it properly.
All of you about audio, then. So.
That's 1 reason I also have.
Recordings.
Okay.
Carlton, may I be having bad spots? Yeah.
One of the other reasons to record. It is because you.
Wi-fi, for lots of people is always a hard problem.
Anyway.
No, no, I already said, you can. Do. You know, tutorials, you can do it by.
Talk to a ta virtually.
So.
Anyway.
What have you all learned about how the Internet works.
Have you learned much about that in class, about as I.
Thing.
Is that something you all have.
Not really in class.
So I was afraid of that. So it's kind of hard to teach them about the web. If you don't have some basic knowledge of what the Internet is.
So.
I could talk for the whole semester. I'm definitely I'm not going to.
So let's talk about word. So.
So when we say Internet.
It's a.
And that, you know it's.
It's basically a connection of networks.
It's a.
It's a network of networks.
Now, of course, that says.
So when we talk about.
In Cs terms, what's a network? It's just computers talking to each other.
I think the
Simplest to understand at an intuitive level.
Is
I'll just frame this out here, and I'll explain a second.
So.
Oh, I move my mouth when I type, do I?
That's pretty funny. I didn't think about that.
So I will keep that in mind.
Thinking, out loud goes the.
Goes through the
Audio processing circuitry. I think of my brain.
Anyway, so.
What are we talking about at a base level? We're talking about things like Ethernet, the technology for connecting computers together.
It was originally developed. Xerox. Park.
Anyone know what else? Xerox created.
They don't know what Sierra Park.
So I talk.
No, not gu. Yeah.
Yep, and.
They made Ethernet programming.
And later they were, and they did.
Quite a lot. It was quite a place.
And yes, if you all remember Xerox.
Your history. Xerox was a company.
The ox is still around. But Xerox was a company.
For making
Paper copies.
And they have a lot of money, because people were, of course, making photocopies all the time. So they set up a research lab. They set up a research lab and.
Palo Alto in the Bay area, and.
Somehow got this amazing group of researchers to imagine the future of the office. And then they just made all this cool stuff.
So it's.
Cool place.
Fun to read about.
You'll see lots of interesting things there, but.
So Xerox develop. Ethernet was a technology for making computers talk to each other for networking them.
And it was really simple. You just had a wire, and computers would talk to them.
Now.
If you think about this for a second.
This kind of scheme about.
Let's have 2 computers talk to each other by just randomly talking on a wire, and that I mean, it's it's literally like a
AI!
Group phone call or something where everyone has to. One can speak at any time. Everyone can listen.
But if more than one person speaks, then no one can understand what's happening. And so you have to learn to take your turn.
Computers. How do you take your turn when the only means of communication is that well, they just like, Oh, wait! Someone else was speaking then, so I'll just wait.
And now just wait.
Turns out, this is a very efficient scheme for communicating.
You
Don't have much contention.
Although
So I'll.
If there was a collision.
I'll get to that question. That's a good one.
So if someone there's a collision, then they would do that problems again. You you wait. This is a great way from their take turns. This works really well as long as the line is not.
Congested. There aren't too many people trying to speak at once.
If you want to have higher capacity, we'll have them.
Were speaking at the same time.
At the time. Then you have to have other strategies.
Which I will talk about in a bit. But I just want to get an idea of like this is where networking starts is what you're talking about.
There's a wire connecting.
Now is Ethernet a cable? No Ethernet for computer communication.
There's many
Electrical standards for Ethernet.
Which that you know how you connect a wire or something for doing it. But.
Really Ethernet is the standard for how information is communicated.
At that.
Local, level.
That's a that's what's a different Wi-fi connection. And Ethernet connection.
Some.
I will talk about that.
So.
I'm getting. I'm getting to that. I'm getting to packets.
So Ethernet designed as a method of.
Communicating between computers. It's a low level one, because really.
It's an abstraction over the actual physical interface.
So why does that matter.
So originally, was just for wires.
But the Ethernet protocol.
Alchemy is used all over the place. There were other.
Protocols that were used for communication, but Ethernet kind of one out.
As that layer above the physical layer. So if you, if you take a networking class, they talk a lot about the different layers of communication. And we're gonna talk about.
Couple of layers here.
The main thing to understand is you got the electrical engineers.
Who create, like.
How do we send messages? Or maybe they're optical engineers who are talking about things like.
Fiber, optic cables and stuff.
But.
Then, above that, you have to have a way of encoding information.
And so Ethernet is standard for doing that.
Without Bluetooth.
Bluetooth.
Can do
Yeah, I that's I'm I'm getting to the protocol id in a second. Don't worry that we're.
We're working up to that.
Bluetooth.
Can do Ethernet as well. But Bluetooth is its own set of protocols that are more.
That are designed for various.
Specific things, and so it tends to be a little more.
Optimize to particular things.
I'm pretty sure they don't use Ethernet encapsulation for everything, but I know you could do networking.
Bring your networking over Bluetooth, so I'm pretty sure it use Ethernet packets for that.
So when I talk Ethernet.
Does anyone still send postcards.
You know so.
A postcard, you know, piece of paper with a from address, A to address, and some text on it.
This is the classic metaphor for using for talking about this. But when we say.
Or to where it's going to where it's going from.
So when we talk about like. So Ethernet is really all this rules around how to send and receive Ethernet packets.
I set a packet.
Is it fixed size unit of communication? It has a header and payload.
Think of it like a postcard if you know this. But main thing is the separation of metadata and data.
Metadata is things like.
Who is this?
Who is it from? How long is it.
Often some things like for error, correction, things like.
And then there's an actual payload to be communicated.
So.
I think.
I think standard.
That are net.
1,500 Byte.
But that can vary. So so this is a fixed unit of communication.
You send these packets.
So it's like shipping packages back and forth. Yes, exactly.
Why use a power of 2 for the amount of bytes and Ethernet?
Yeah.
One thing to know about communication standards. Is there?
A lot of them originally come from the telecom world and other things like they're.
They get funny.
So.
A lot of things you go like, why is it the size? Why? Because normally a lot of things are powers of 2.
It's not all powers of 2. But this question, is it like sending package, shipping packages back and forth exactly.
So to send data from the computer with Ethernet, you have to figure out what the Ethernet address the congestion computer convert. Send the packets.
And.
So if you want to receive pocket, the computer just listens for.
So.
Traditionally, Ethernet was a broadcast protocol. So remember, I said, let's shared wire there when used. So that meant every computer on that wire.
Could see the data going there.
So.
If you wanted things to be confidential, yeah, you'd have to add some encryption or something to it. But when this stuff was originally built.
They didn't worry about that because they just wanted it to work.
This notion of privacy was like, what are you talking about? Let's just get this thing to run.
So Ethernet is a great technology.
Whether you're talking about Wi-fi.
Or you're talking about
Or you're talking about physical, you know, network connections, or whatever. It's a great thing.
For doing local area networks when you have your home router.
At home.
Whether you have a wired network or wireless, you're basically an ethernet network.
Of.
I'll even the encryption. I'll address that a little bit.
So this it's a great way of connecting local computers.
Separate thing that's up.
So even that's great for most.
But.
So Ethernet works.
For a set of computers. You want them to talk to each other typically in some sort of physical area. But it doesn't scale, because a lot of aspects are designed to be broadcast.
If you want things to go. So that's where the intranet.
Ethernet happened to win the battle.
Historically, there's a lot of others.
There are other ones using context.
But you have all these local area networks, and now you need to communicate between them.
So to communicate. Now, again, we're not going to talk about encryption in this context.
Ccc.
So is all Ethernet, not all. It wasn't ethernet all along, like there are things like token ring, and there's sonat, and there's.
You know there's
What was ARCNET?
There's been so many local area network protocols.
If you look up Wikipedia for local area networks.
I'm sure you will find a million of them.
Let me see, I'm gonna just do a quick check here while I'm doing that.
While you're make sure I'm not.
I'll give you a.
I'm right.
Okay. So like, you want to learn about local networks.
Here you go!
So that will tell you the history. There's all kinds of things about the different ones.
And you'll kind of go a little nuts.
Yeah, Ethernet and Wi-fi, the 2 most common technologies for local networks technology include arconet, token, ring and apple talk.
Good memories.
So.
To the Internet is a way of connecting. So.
The Internet protocol. IP, is the thing that creates the Internet.
It's the thing that connects.
Allows all the computers.
In the world to talk to each other.
It's this standard language.
And all it really is.
Actually just a source destination.
Checks, on.
So you got this.
Source, destination, length.
Checksum.
When we say checksum, it's like this is how you can detect errors where the packet got messed up.
It's just. It's a hash.
Spec
Yes.
Specification. Yeah, thank you.
So is information encoded via both Ethernet and IP packets, either based on destination.
So when your computer transmits on Wi-fi or has a physical Ethernet connection or something, it's basically sending Ethernet packets.
Which has the Ethernet destination.
And an Ethernet source.
And inside of that is an IP packet.
That has the destination.
And the source.
And I go like.
Ethernet is a wrapper for an IP address.
Exactly.
So.
So the flow of it is.
Let's say you're.
So if a computer wants to send data to Google.
What does it have to do.
So.
When you want to send data to Google.
At a very.
High level, simple way.
Your computer, first.st
Has to figure out.
Google's IP address. It's Internet protocol address. What.
What? What's that? Where do I send this to?
I have to get the packets. I want to send.
Make those into IP packets.
Then those IP packets had to put into Ethernet packets.
And those Ethernet Pack.
They have to be sent to the local router.
Now, what is this router.
Is, the route is. Yes.
So a router.
Awesome.
So.
We'll talk about the VPN. In a second. But so the basic idea is, you're.
You have a local router. There's some computer.
On your local area network.
That has connections to multiple networks.
Your computer encodes whatever date it wants, gets it into those Ethernet packets which contain the IP packets.
They go to the router. The router unpacks Ethernet packets.
Takes out those IP pack and says, Okay, I've got to repackage these.
To.
Another Ethernet packet that's going to go to the next Router.
And this keeps happening.
Until it reaches the destination. With each router along the route.
Saying, Oh, I know where to send this, because I'm connected to multiple networks. I know which one could potentially handle. This IP address.
It's exactly like shipping. I mean, it's like shipping international packages or something, I mean, or any even postal mail, anything.
There's always this.
There's always a sense of, you know.
So I don't know if you know about
Do you think about the history of Federal Express.
Fedex.
Software which is Fedex. Now.
Fedex is one of those.
I'm mentioning Fedex.
Yeah, we're gonna get to the lost packages in a second.
Fedex was proposed originally as a.
I think I'll.
Business thesis of the founder of Fedex, like.
And the his teacher said this was a stupid idea. It would never work, and then he built a company on it.
And his basic idea was simple is that he could do overnight shipping.
If he had.
A single destination.
Where.
During the day. By the evening of the day they would.
All these packages would go to a central sorting facility.
Truck in fly in whatever. So it gets there all at night.
And then that sorting facility would sort them overnight.
And decide what their destinations were, and then.
They would. The next. In the morning they would all go out to their destination.
That if you did this right, you just had a few hours to sort the packages.
Planes coming in and then planes going out. You could basically have an overnight network.
Of packages.
That could work on the scale of the Us.
So.
Yeah. So it it is kind of a crazy idea. And that's exactly how.
Fedex works to this day, except now they have.
Multiple shipping centers is also majorly an It company, because you can imagine how much.
Information has to be managed to do this. They've they've done a lot, but.
The Internet's.
Basically the same thing for virtual stuff.
Up.
It's.
There's just it just happens super fast, you know, like this data that I'm sending to you. I'm talking to you.
All this video is being encoded into IP packets.
These IP packets are getting sent off.
Via my local area connection, I happen to have a physical ethernet connection.
In my house.
Which is connected to the router in a closet downstairs, which is connected by.
Fiber optic link via my local ISP, which then goes to another connections with other routes which then.
Takes that data and unpacks it and sends it on. It just keeps doing that.
Until it gets the destination. I mean, like 20.
Stops along the way is very common nowadays.
Oftentimes much more.
You do things like trace route.
Or something that these programs which can show you the number of stops a packet makes.
On the way to his destination.
And there's a lot.
Nowadays it's just kind of crazy. Oh.
Have to introduce you to someone.
Someone's decide to consent.
Come here!
Hello!
Yes, yes, oh, come here!
Hello!
This is shift. Can you all see here, let me check my camera. Here.
This is shift. You might recognize her from the page. Scott.
This is shift.
Yeah. Hi, hello, yes. You you want attention. Okay. Now you're you're done.
She's.
She sometimes will come in. Yes, so I I have 2 cats.
This is shift to the other ones. Tab.
Yeah, she's she's coming down. She's basically telling me she wants attention. It's like.
And she's lying on the floor, being all cute.
Yeah. The 1st cap at the Ca, the tab is a tabby, and then shift.
Shift is pretty shifty, but you get the keyboard stuff so.
So if I sometimes get distracted by lectures, that's.
Partly. Why?
Anyway, what I was saying is so.
Networking is really like a shipping network.
Not fundamentally different except using virtual things.
But packets get passed along a lot of times.
Now.
Well, if they had eldest caps. Lock! Oh, I like that!
Yeah.
Oh, it is so! You know what the funny thing is.
So oh.
Yeah.
Phone networks. Actual like we talk about packet switch networks is what we're talking about. That was all.
Originally developed for
Yeah, I'll originally developed for the.
Phone network, and, in fact, original. You look back of history, of computer. It was all about converting telecommunications.
Equipment to be used just for computers. They had somewhat different requirements and stuff.
But couple issues.
So what if they arrive in a different order? Sometimes you want data to arrive in a certain order, like, for example, this video stream. You'd really want the data to.
Go in order. Otherwise the video's not gonna work. So you're gonna have to keep track of the order.
Oh, don't worry people. That that idea is there? Yeah, for charging stuff internationally. But.
So the order.
Order is easy. Just number the packets, see what the number is.
But then that lets you say what happens. They get lost or damage in transit. Remember, we have.
Check sums associated with the packets to see if they've been tampered in their place.
And you could have stronger ways of making sure they haven't been tampered with, and.
Transit.
They can also can get lost.
Oh!
So if you got lost or damage needs to be sent by the origin.
Okay, so what synchronicity about? That's that's a separate thing. We'll.
We'll get to that.
So what counts as a damaged a packet that's been modified anywhere during transit.
Like either truncated, maybe too small.
Maybe he has some garbage put into it any sort of thing where it's not exactly what was sent by the origin.
But
How.
How long does it take to transmit? The Internet makes no guarantees. It's mostly best effort.
So when we say best effort.
It's gonna try.
E.
Now there is.
So there's a notion of quality of service. Some packets should potentially be higher priority than others.
And stuff so.
But on the Internet those are mostly recommendations, never guaranteed.
So with the traditional phone network.
If too many people were trying to make a phone call.
You would get a.
Busy circuits. Message. So you.
Couldn't make a phone call.
So it cut reserve capacity because it's like, well, if I make a phone call, I'm talking to someone. I better be able to hear them.
That's not how the Internet works. The Internet's all best effort.
There's no reservations.
Maybe there's some things saying what quality of service? But again, that's never guaranteed. That's just.
Mostly recommended.
So.
The consequence of this.
Is, that.
It degrades gradually, like you can generally get some connectivity.
Most of the time.
But how much connectivity you get.
Well, very huge.
Up.
I don't know if you've
And models of that.
And models a very different concept. I could talk about AI. But it's not quite what I mean. Here.
What I'm talking about here is.
Your, how many packets get lost or damaged.
And how long does it take for them to arrive.
If you have.
Good connection, which means that there isn't too much congestion along the way.
Packets are not gonna get lost. They're not gonna get reordered too long. They're not gonna get damaged too much.
And so basically you're gonna have.
A good quality.
Interaction.
But if.
Packets are going to get retransmitted.
Reorder.
You know.
Because you know things about loss of stuff, and they're gonna get delayed. Arbitrary amounts of time.
Like, have it doing some like watching videos, not going to work well.
But.
Email.
Will work, fine.
Or maybe notifications being sent that'll work fine.
Texting.
Will typically worth fine.
That's why, you know, you go to
I don't know if you've noticed on airplanes nowadays.
They
What is it? What do they do? They oftentimes allow messaging.
Text messaging for free over Wi-fi.
But.
You.
Usually have to pay, or have some special deal with your carrier to get.
Be able to browse the web. But then you can't watch video or anything like that.
And then, if you're
You definitely don't want to. Can't do phone calls and things like that, because.
It's doing a lot of management of the network. There isn't that much bandwidth available, so you can't send that many.
We say bandwidth, really saying, how many packets can you send a second.
There's not much bandwidth. Relative is being shared with everyone.
But even with sharing with everyone.
Texting doesn't take much.
You'll like. I'll you'll notice you can text.
If you try sending video like.
Photos or memes, or something like that. Those will often just get blocked.
Provides protocol. So if it does look really slow, but just text that'll come through fine, because that can all fit in the pocket.
They can get sent. It was like, that's easy.
So
So that's.
How it works.
The quiz will be after class.
I'll post it.
So.
How do we deal, though, with this.
So so minutes when they talk about that was literally how many minutes of a call.
Although some networks would actually have also minute like things for SMS messages.
That's more pockets.
Minutes were really about me, but you can think of minutes directly transmit to a.
Certain number of packets per, you know.
Packets being sent.
But also over a certain period of time.
Here.
Get packets into the network, and hopefully they get there in time.
I mean, it's really impressive. Honestly.
Yeah, I've seen the progress of this in the past.
30.
5 years.
I think, like I started using the Internet in the late eighties.
When I was in high school.
And it's just been amazing how.
The amount of bandwidth.
That we've gotten, and the latency that we get it at. Now you can get really low pink times.
You can get high bandwidth so that you can do things like, I can stream video to you.
Casually, synchronously, well enough that you could actually be on a video call and talk to me. Or you can send me text messages. And this all works.
The Internet was not built for this.
Yeah, sir.
Oh, yeah, that's yeah.
Exam. So it's amazing how far the Internet's come. The fact that we actually managed to enter it and stuff. But underneath it it's still IP packets.
So I talked about IP packets.
So we have Ethernet.
Physical layer, IP packets that allows our packets to go everywhere. What if I want to send a continuous.
Stream of data.
He's in mold pockets.
So it's you think you need multiple packets, multiple packets.
They asked me this fixed order, because it's a stream of data.
And if any bits get lost you have to retransmit it.
So when people talk about Tcp.
Yes, these notes will be made available after a lecture just like there were for the 1st lecture.
Once the order be messed up, occurs while sending a continuous stream of data. Yes.
It would.
It is.
So. Have you ever noticed.
When you're looking at a web page.
And it kind of.
Stops.
Rendering in the middle.
And so it's like, okay, the page is a fluid. Then you hit reload.
And then the page, all of a sudden loads instantly go like.
Why couldn't you give me the page? Why'd you stop in the middle? Why didn't just give me the whole page.
Well, that's.
This network thing happened because what happens is.
Page is being requested over a Tcp. Connection.
That Tsp. Connection. If there was some lost date in the middle of it, it has to retransmit it.
And actually as part of Tcp. As part of being a good citizen, it will actually slow down its transmission because it interprets lost packets.
As congestion. There's too many people trying to communicate, so we better slow down.
And so.
You. Now get this page where it's streaming in, coming really fast. And then all of a sudden, it's come to a crawl because of these.
Lost Packets.
And so now the page will eventually complete. But it's taking so long. But if you hit reload it starts a new connection. New Tcp stream, and if you have better luck that time, it just all comes at once. You don't have hardly any errors, and then.
You get all your data.
It's because of this.
Are we using? Tcp, or, Yeah.
We talk about packet loss, packet loss and games is.
The network just losing data. That's packet loss is exactly this. It's just losing pack.
You care about packet loss in a game? Because.
You don't have a lot of time for it to be transmitted.
You don't want, because the data needs to be here now. And so if you have lots of pocket losses, can be retransmitting. A lot of data is getting slowed down. And so, of course, you have.
Delays, and you know.
All of a sudden, your characters jerking around on screen, you know.
Don't know knocking, you know, timely updates.
So it resends. It's so.
The oh, the destination is responsible for.
The network itself doesn't know about order at all.
You're just sending packets into it. The destination says, reassembles it to kind of get it into the right order.
And then it says, Hey, I'm missing. 17. It sends a message back where Pocket 17 go.
Give me that packet. 17, and so they'll get.
And then it will reassemble it. And then the program that will see the data can.
In the right order, so.
Tcp. Takes care of all the issues of what may happen on the network.
At your program level. You'll just see data's coming in without any errors in the right order.
But it might be slowed down.
So.
So the question is, are we using Tpl udp, right now? So the question is, there's this thing called.
Udp.
Which is
For udp.
Stands for it.
Like something datagram protocol. But.
Repeat.
Also use.
Just.
So when people talk about networking, they also talk. So. Tcp is kind of the most common one that gives you a continuous view of data.
Where, if there's any
Errors, or you know.
Corruption. I think it'll retransmit.
Udp.
Is basically just IP packets with a little bit of extra information saying, what program is it destined to? Because.
On a modern computer can have lots of different programs.
Which program gets it. That's what the port is.
IP packets are directed at a computer.
U to be package. And a program on a computer. Tcp also has ports is directed as physical program on a computer.
User datagram protocol. Okay, thank you.
So the question is, which is being used right now.
Probably
Zoom is doing this on Udp with another layer on top, because.
Tcp, delay so.
Traditionally, Tcp is the way data got transmitted over the Internet. There's been a real move towards.
Other alternatives, especially for things that are latency, sensitive.
So you build other protocols on top of Ud.
Now in principle, why don't you just do another protocol like Tcp. Is one protocol you do piece another. Can't you make new ones.
Because of security concerns.
We can't make new protocols anymore.
We kind of have just make do with what we have.
Has to do with firewalls.
I can explain, but it's kind of depressing.
It works.
So it's pretty cool.
Anyway, we've got all these layers.
Where's the web in this.
So that's what we're communicating. The web.
That's what you're doing. You're doing.
So we tried. Ssl.
You know https.
That's what we're talking about. It's a layer that goes in between Http.
And Tcp.
So you have an Http stream which is inside.
You know, Tls stream, which is inside a Tcp. Which is IP. Stream.
Michael like. Is this the best thing? Well, you then you have people like
Google.
Who's worked on refactoring this where I think they basically combine Http.
Tls and Tcp into one protocol.
I think.
The
Checking.
Okay, so make sure I'll send it. So if you look up the quickie.
Yeah, quick. Isn't quick as in Udp, actually.
It's.
Yeah. It works hand in hand with Http connection.
Yeah. Well, it's with Http 3.
What? Seriously? Hvs.
Hts is just Http over Tls.
It's adding in another layer.
Of the protocol with it.
So you're still doing. Http, it's just on top of Tls.
So Tls provides a security, guarantees.
So we'll be covering Http.
In this course.
But that's.
So. So why am I talking about all this? This is just to give you an idea.
I'll talk about that in a second. That's a good question here. So HD, so so we're gonna be living at the level of Http in this course.
We're not really gonna talk about Hbs, except beyond what we have to.
Watch it. I think I may talk. Yes, but
But we're not talking about tcp, udp, IP, all those things.
That you learn in a networking course how that all works.
But the
The main thing to understand about all that. There's 2 other things I need to talk about in that context.
With with this.
So Tls tls, now is a Tls.
Transport.
Later.
So.
That's what does the encryption.
Transport, layer.
No, no, no.
A hts is just Http over Tls.
That's all.
That's all it is.
So you basically understand? Tls, then you understand? Http.
Those are separate things.
All I was pointing out is that.
This might seem kind of wasteful.
You'll like, you know, having this inside this inside this.
This is called the layering of network packet layering of network protocols.
What layering really means is something inside another inside, like a Russian doll.
Kind of coming out in these layers.
Is
Yeah, so Hbs has in has encryption and authentication.
You know that that's specifically what it does.
Is it more.
Safe.
Yeah, it's.
So.
Cryptography does.
Well, classic web is HP, wait, there is always Hts has been around forever.
What really changed is before Hps was just.
So.
Well, it's it's more than a lock, I mean, the security is provided is pretty strong.
But there are caveats.
Lots more to talk about. But before I I've only got a couple more minutes here.
What I want to talk about with this
So when you.
Yeah, so.
So http is the hypertext transfer protocol versus hypertext markup language.
That's what these are.
You know. Yeah, that's what these are covering. So.
When we talk about the web.
So that's real. We talk about the web we're really talking about. Http and HTML. Originally.
Yeah, these hypertext.
Documents.
You know, hypertext documents.
That were transmitted over this.
Protocol.
We'll talk about its structure. But it was all existing on top of this network. So it made use of that.
And remember.
So those are some questions about security and stuff. I'm happy to chat after lecture a little about security.
After I stop recording and things, I'm happy to talk much more about security, but I just.
We will talk about web security over the course of this term. That's going to be a recurring theme, because.
You'll notice how.
Data.
Why is security such a big issue.
I mean really the.
The problem is just simple. Any computer is talked to any computer.
Everything.
That's what the web is today.
That's.
You know, that's really what it is at the technical level. What does that translate into translate into a whole host of problems? But the problem is.
Everyone's on the Internet. They all have different agendas. They're all doing different things.
How do you prevent those.
You know everyone from doing bad things to each other. I mean, there's a million ways. Things go badly.
And we have technologies for dealing with it. But it's not one technology, because different problems require different solutions.
So.
This.
The web was a technology that opened up the Internet to the world.
And so it brought the world's problems to the Internet.
And we've been dealing with the consequences since.
So.
Again to summarize all. What I want you to take away from this lecture is just getting an intuitive idea that.
The Internet is much more than the web.
And.
That.
But the properties of the Internet things like best.
Effort packet delivery. The fact that's all out of packets. Packets may not, you know.
Get rid of stuff.
Affects, how the web works.
And constrains how we can build things.
And I will stop there, and on Thursday we will talk about the 1st tutorial, and we'll start talking about Javascript.
And how it fits into this entire picture.
The quiz will be on bright space.
I will post it this afternoon. I'll post a message on teams once it's there.
Okay.
I'll stop recording here.
Have a good day.
I'll stay on for a minute. Here.