Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,050 --> 00:00:04,870
I love the comedian Steve Martin, the guy is an absolute genius!
2
00:00:05,040 --> 00:00:11,190
One of my favorite quotes that he makes is, talking about art is like dancing about architecture.
3
00:00:11,220 --> 00:00:16,320
And for those who are into the arts scene it makes total sense because, sometimes you just have to appreciate
4
00:00:16,320 --> 00:00:18,840
the art by enjoying it and encountering it.
5
00:00:19,020 --> 00:00:24,270
And to me that really is kind of like the OSI and TCP/IP models as well.
6
00:00:24,270 --> 00:00:29,830
The challenge with these models is we can draw the pretty boxes up and discuss each levels function,
7
00:00:30,090 --> 00:00:33,600
but until you actually watch it happen it doesn't really make sense for you.
8
00:00:33,690 --> 00:00:35,810
So that's what this episode is all about.
9
00:00:35,820 --> 00:00:40,500
I'm actually going to be putting on different hats and I'm going through interpretive dance, going
10
00:00:40,500 --> 00:00:46,680
to show you all of the different layers of the OSI and TCP/IP models and we're going to be doing this
11
00:00:46,860 --> 00:00:48,720
working with an Ethernet frame.
12
00:00:48,870 --> 00:00:54,870
Now in this scenario what's going to be happening is I'm going to first start off as a client system
13
00:00:54,930 --> 00:01:00,090
and I'm going to be just sending out a HTP request to open up a web page,
14
00:01:00,270 --> 00:01:06,150
and then on the return I'll be acting like a web server who's actually bringing all this information
15
00:01:06,150 --> 00:01:12,010
back and we're going to see how every step in these models works together to make all this happen.
16
00:01:12,030 --> 00:01:15,160
So, let's go ahead and start all this.
17
00:01:15,180 --> 00:01:16,950
I'll be right back with a hat.
18
00:01:17,780 --> 00:01:23,540
Hi, I'm the lowest layer of both the OSI and the TCP/IP model.
19
00:01:23,540 --> 00:01:26,630
Now there's a lot of different layer pieces involved here.
20
00:01:26,630 --> 00:01:32,090
So for right now pretend like I'm a network card, and I'm just sitting around and I'm waiting for some
21
00:01:32,090 --> 00:01:34,940
data. Oh, here comes a frame now.
22
00:01:37,290 --> 00:01:39,800
So here is an Ethernet frame.
23
00:01:39,800 --> 00:01:45,540
Now with this Ethernet frame my job as the network card is really to first of all take a look at the
24
00:01:45,630 --> 00:01:50,490
incoming MAC address and verify that it's for me. In this case it is.
25
00:01:50,550 --> 00:01:52,520
So I can take this data.
26
00:01:52,590 --> 00:01:56,250
Now the first thing I'm going to do is I'm going to take a look at the frame check sequence,
27
00:01:56,250 --> 00:02:00,110
I'm going to check the entire Ethernet frame to make sure it's in good shape,
28
00:02:00,300 --> 00:02:06,270
and assuming that it is has a network card I can go ahead and strip this off and I can strip off the
29
00:02:06,270 --> 00:02:07,330
MAC addresses.
30
00:02:07,350 --> 00:02:12,900
Now if I'm a good network card, and aren't we all these days, I'll keep this information and I'll store
31
00:02:12,900 --> 00:02:17,880
this off to the side somewhere in memory primarily because I want the MAC address where this came
32
00:02:17,880 --> 00:02:21,340
from because later we might want to be sending a frame back out.
33
00:02:21,360 --> 00:02:26,070
So what I have at this point is an IP packet.
34
00:02:26,100 --> 00:02:30,280
Now my job as a network card is pretty much over at this point.
35
00:02:30,420 --> 00:02:36,540
So let's consider what we've just done. If we're taking a look at the OSI model we've basically covered
36
00:02:36,690 --> 00:02:38,880
layer 1 and layer 2.
37
00:02:38,880 --> 00:02:43,680
So we've got the physical layer and the data link. The physical layer is going to be really more of the
38
00:02:43,680 --> 00:02:49,690
actual connection I have to the outside world, the cabling and the hubs and all that type of stuff.
39
00:02:49,920 --> 00:02:54,890
And then the layer two or the data link is when I'm looking at the MAC addresses.
40
00:02:55,020 --> 00:02:57,920
Now on the TCP/IP model they make it pretty easy.
41
00:02:57,930 --> 00:03:01,380
They just call all of the stuff that I've just done the link layer.
42
00:03:01,590 --> 00:03:06,790
So at the link layer that handles both of the OSI's physical and data link.
43
00:03:06,870 --> 00:03:11,190
Oh, and by the way not only do you call this the link layer sometimes you also call it the network
44
00:03:11,220 --> 00:03:12,440
interface layer.
45
00:03:12,450 --> 00:03:14,190
So my job here is done.
46
00:03:14,190 --> 00:03:22,710
So what I need to do now is pass this IP packet up to the next layer. Thank you lower layers.
47
00:03:22,850 --> 00:03:24,770
Hi, I'm what you'd call in the OSI
48
00:03:24,790 --> 00:03:31,380
model the network layer, or if you're in the TCPIP model it would be called the Internet layer.
49
00:03:31,450 --> 00:03:33,040
My job is real simple.
50
00:03:33,040 --> 00:03:39,160
I have to deal with IP addresses and that's pretty much all that I do, when I'm looking at these IP addresses
51
00:03:39,160 --> 00:03:44,120
my big first number one job is to make sure that this IP address is for me,
52
00:03:44,170 --> 00:03:46,340
and in this case it is so I'm happy.
53
00:03:46,520 --> 00:03:50,240
What I'm going to do is I'm actually going to pull this IP information off,
54
00:03:50,470 --> 00:03:54,790
and now that I've got this IP information, I'm going to get rid of this one because I know my own IP
55
00:03:54,790 --> 00:03:59,560
address, but I'm going to keep the IP address that it came from just as the lower layers will keep Mac
56
00:03:59,560 --> 00:04:01,110
address that they come from,
57
00:04:01,120 --> 00:04:05,290
I'm going to keep this for myself because I'm probably going to want to send an IP packet back in a
58
00:04:05,290 --> 00:04:06,240
little bit.
59
00:04:06,400 --> 00:04:09,900
So this is, I've got an easy job compared to a lot of the other layers.
60
00:04:10,030 --> 00:04:15,430
And what I'm left with is, well it depends on what type of packet, but in this case I'm left with what's
61
00:04:15,430 --> 00:04:17,390
known as a TCP segment.
62
00:04:17,590 --> 00:04:21,750
This TCP segment is designed and it's ready for my computer.
63
00:04:21,760 --> 00:04:27,400
The challenge now is to get it to the right applications and in the right format that those applications
64
00:04:27,400 --> 00:04:28,240
can use that.
65
00:04:28,450 --> 00:04:30,510
Luckily for me that's not my job.
66
00:04:30,520 --> 00:04:37,180
All I have to do at this point is pass it up to the next highest layer. Thank you lower layers.
67
00:04:37,320 --> 00:04:37,980
OK.
68
00:04:38,150 --> 00:04:44,090
Hi, I'm the transport layer and I'm actually kind of cool because I'm exactly the same on both the OSI
69
00:04:44,090 --> 00:04:46,380
and the TCPIP model.
70
00:04:46,640 --> 00:04:52,230
My job as the transport layer is to act as the assembler disassembler of data.
71
00:04:52,400 --> 00:04:58,070
Now keep in mind that what I'm holding right here is probably, well it depends,
72
00:04:58,070 --> 00:05:01,720
it could be all the data if this was just a simple HTTP request,
73
00:05:01,820 --> 00:05:06,680
this might be all the data in one little piece. But it could be other things. For example what if I have
74
00:05:06,680 --> 00:05:09,260
a big web page that's coming in,
75
00:05:09,260 --> 00:05:13,930
and what if I've got a big word document that I'm copying or what if I've got big chunks of data.
76
00:05:14,000 --> 00:05:15,690
Well that's what I'm all about.
77
00:05:15,830 --> 00:05:22,190
My job is to take data and if it's big and going out I'm supposed to chop it up into little bite sized
78
00:05:22,190 --> 00:05:23,070
chunks.
79
00:05:23,120 --> 00:05:25,840
Equally, if a bunch of data is coming in,
80
00:05:25,850 --> 00:05:31,780
my job is to reassemble all this data, and I'm going to do that using the sequencing number. The sequencing
81
00:05:31,790 --> 00:05:36,740
number is kind of like, if you've ever gone to U.P.S. and you got a whole bunch of boxes and it'll say one out
82
00:05:36,740 --> 00:05:39,010
of 20, 2 out of 20, 3 out of 20.
83
00:05:39,060 --> 00:05:41,730
Let's kind of like how sequencing numbers work as well.
84
00:05:41,900 --> 00:05:50,000
So, either I'm disassembling and adding sequencing numbers to individual TCP/IP segments or I'm getting
85
00:05:50,000 --> 00:05:56,440
a bunch of TCPIP segments in and I'm going ahead and I'm reassembling them using the sequencing number.
86
00:05:56,480 --> 00:06:01,440
The bottom line is that at the transport layer things get a little bit strange.
87
00:06:01,490 --> 00:06:05,990
Now I'm going to keep my data, but not only am I going to keep my data I'm going to take the sequencing
88
00:06:05,990 --> 00:06:06,710
number off.
89
00:06:06,710 --> 00:06:10,220
Now keep in mind at this point this data is complete. Whatever it is,
90
00:06:10,370 --> 00:06:12,890
it's a complete chunk of data.
91
00:06:12,920 --> 00:06:15,710
The only thing left are my port numbers.
92
00:06:15,710 --> 00:06:19,340
Now these port numbers, they don't really get reassembled but I'm going to kind of pretend like they
93
00:06:19,340 --> 00:06:23,080
do. Because the next layers above me are going to need this.
94
00:06:23,090 --> 00:06:28,530
So, my job at the transport layer is done and I pass it up to the next layer.
95
00:06:29,650 --> 00:06:31,080
Thank you lower layers.
96
00:06:31,250 --> 00:06:36,400
Hi, I'm the very top of both the OSI and the TCP/IP model.
97
00:06:36,400 --> 00:06:40,040
Now on the TCP/IP model I'm just called the application layer.
98
00:06:40,180 --> 00:06:45,070
But on the OSI called session, presentation and application layer.
99
00:06:45,070 --> 00:06:51,700
So since TCP/IP makes a little bit too easy let's concentrate on the OSI side. The session layer is really
100
00:06:51,700 --> 00:06:56,930
designed to connect a server to a client on a remote system.
101
00:06:56,950 --> 00:07:02,930
Now on today's systems we have applications that are network aware. We have web pages, and e-mail, and
102
00:07:03,230 --> 00:07:05,950
FTP and World of Tanks and all these things.
103
00:07:05,950 --> 00:07:10,190
So on the TCP/IP model making a session doesn't really make sense.
104
00:07:10,240 --> 00:07:12,840
It's the applications the moment you fire them up.
105
00:07:12,880 --> 00:07:18,280
They are by definition going to try to connect to something, I mean try to fire up an email client and
106
00:07:18,280 --> 00:07:19,700
not connect to your e-mail server.
107
00:07:19,690 --> 00:07:20,770
Get the idea?
108
00:07:21,100 --> 00:07:26,830
Now back in the OSI days you would have operating systems that were not network aware. You'd have something
109
00:07:26,830 --> 00:07:31,290
like Microsoft Word and it couldn't save anything but a drive letter.
110
00:07:31,300 --> 00:07:37,690
So we used to have to have a distinct session layer that allowed us to connect to a remote system as
111
00:07:37,690 --> 00:07:40,300
opposed to say just saving to our hard drive.
112
00:07:40,300 --> 00:07:45,520
Now the next one is probably, in fact this should be should be erased in my opinion, and that's the presentation
113
00:07:45,520 --> 00:07:51,820
layer. The presentation layer was designed a bazillion years ago because we would get the data to
114
00:07:51,880 --> 00:07:56,970
a particular application but it wasn't in a form that the application itself could use.
115
00:07:56,980 --> 00:08:02,830
So you would have text files that were stored in weird things. You may have heard of ASCII files where
116
00:08:02,830 --> 00:08:06,410
there was a time when they had names like EBCDIC and crazy stuff like that.
117
00:08:06,610 --> 00:08:10,000
So the presentation layer is kind of pretty much disappeared.
118
00:08:10,060 --> 00:08:12,950
So that leaves us with the application layer itself.
119
00:08:13,090 --> 00:08:17,530
Now what we're talking about the application layer we're not talking about the actual applications. We're
120
00:08:17,530 --> 00:08:21,760
not talking about your actual web browser, we're not talking about your email client.
121
00:08:21,760 --> 00:08:27,820
We're not talking about your World of Tanks client. What we're talking about is the built in smarts that
122
00:08:27,820 --> 00:08:30,070
allows them to interface to a network.
123
00:08:30,220 --> 00:08:35,860
So my job at this layer is really more than anything else within TCP/IP,
124
00:08:35,860 --> 00:08:41,410
I'm taking a look at my port numbers, and my job at this point is to take a look at the port number, and
125
00:08:41,410 --> 00:08:43,150
I see that this is port 80,
126
00:08:43,160 --> 00:08:45,900
so I know that this needs to go to my web server.
127
00:08:46,000 --> 00:08:51,310
So what I'm going to be doing is I'm going to be taking this information off, and you'll notice that
128
00:08:51,310 --> 00:08:56,350
I have the return port number and again I'm going to keep this. I'm going to put it in memory someplace,
129
00:08:56,740 --> 00:08:58,750
in case we need to send that back later.
130
00:08:58,870 --> 00:09:00,950
So my job is pretty much complete.
131
00:09:00,970 --> 00:09:06,760
I know it's port 80 and I know to send this up to the right application and let that application do
132
00:09:06,760 --> 00:09:08,580
the voodoo it do so well.
133
00:09:08,960 --> 00:09:09,590
OK.
134
00:09:09,640 --> 00:09:13,920
Now that was fun but what I want to do now is actually reverse the process.
135
00:09:13,990 --> 00:09:19,480
What we just did is we took an incoming Ethernet frame and turned it into data that our applications
136
00:09:19,480 --> 00:09:20,530
can use.
137
00:09:20,530 --> 00:09:26,260
So what I want to do this time is start with some data and we're going to send out an Ethernet frame.
138
00:09:26,260 --> 00:09:32,110
So, let me start back up at the top and what I'm going to be doing is going to receiving data from an
139
00:09:32,110 --> 00:09:33,650
individual application.
140
00:09:33,700 --> 00:09:39,410
Now my job here is to make sure that this data gets to the right computer over there.
141
00:09:39,430 --> 00:09:43,860
So the first thing I'm going to be doing is I'm going to be taking the information, and this is the port
142
00:09:43,930 --> 00:09:48,690
numbers that I got from the incoming frames, and what I'm going to do is reverse them.
143
00:09:48,820 --> 00:09:56,830
So now the destination port number is going to be 1 4 2 3, because that's where it came in from, and the
144
00:09:56,830 --> 00:09:59,070
source port number is going to be port 80.
145
00:09:59,080 --> 00:10:00,940
Now I'm not going to put them together at this point.
146
00:10:00,940 --> 00:10:05,740
Basically what I'm saying is, this is the connection and I'm going to send it down to a lower layer. So
147
00:10:05,740 --> 00:10:07,860
I guess I need, I need another hat.
148
00:10:07,900 --> 00:10:08,590
OK OK OK.
149
00:10:08,600 --> 00:10:11,430
So, so now now I'm the next lower layer.
150
00:10:11,440 --> 00:10:16,280
So what I'm going to be doing here is the transport layer is going to be taking a look at this data.
151
00:10:16,300 --> 00:10:21,490
Now this is a lot of data and if I may a web server this is probably a great big web page so I'm going
152
00:10:21,490 --> 00:10:26,140
to have to bring in some sequencing numbers.
153
00:10:26,170 --> 00:10:28,980
I need some really bad magician music right now.
154
00:10:28,990 --> 00:10:29,920
There we go.
155
00:10:29,920 --> 00:10:30,340
All right.
156
00:10:30,340 --> 00:10:35,350
So I'm going to start breaking all the data up into individual chunks that are big enough for individual
157
00:10:35,710 --> 00:10:41,750
IP packets and I'm going to be making in this case a very pretty TCP segment.
158
00:10:41,890 --> 00:10:47,370
So once a TCP segments done now I have to go down to the next layer, and
159
00:10:47,380 --> 00:10:48,990
OK here we go, Here we go.
160
00:10:49,300 --> 00:10:52,280
So now I'm the network or the internet layer.
161
00:10:52,330 --> 00:10:56,590
And when I'm going to be doing is I'm going to be taking the IP information that I got from the original
162
00:10:56,590 --> 00:10:57,580
incoming data.
163
00:10:57,730 --> 00:11:01,990
And again since I'm sending it back to the guy you sent it to me I'm just going to reverse these and
164
00:11:01,990 --> 00:11:03,160
I'm going to plug that in.
165
00:11:03,190 --> 00:11:08,140
And now I've got my IP packet which is ready for the next layer, which is going to be,
166
00:11:11,440 --> 00:11:12,430
hate a hat backwards.
167
00:11:12,520 --> 00:11:12,880
OK.
168
00:11:12,970 --> 00:11:20,920
So which is the next layer which is going to be the physical layer or the data link layer or the
169
00:11:20,920 --> 00:11:23,470
network interface layer for the TCP/IP model,
170
00:11:23,470 --> 00:11:28,120
and in this case what I'm going to be doing is first of all I'm going to be putting on the MAC addresses,
171
00:11:28,120 --> 00:11:28,970
because I'm at Ethernet now,
172
00:11:29,020 --> 00:11:37,250
and, I'm not quite done because I have to go ahead and run another frame check sequence and
173
00:11:37,880 --> 00:11:43,230
get this guy in and, tada, I have now completed the process in reverse.
174
00:11:43,400 --> 00:11:46,460
and I send it out, very carefully,
175
00:11:46,460 --> 00:11:47,930
And the job is done.
18483
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.