Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
1
00:00:00,000 --> 00:00:04,000
And in this section we gonna look at TCP/IP transport layer or layer 4 of the OSI model.
2
2
00:00:07,000 --> 00:00:13,000
We are specifically gonna concentrate on the TCP and UDP protocol that reside at this layer.
3
3
00:00:14,000 --> 00:00:17,000
I’d like to start up with the comparison of UDP and TCP
4
4
00:00:18,000 --> 00:00:20,000
and show you the differences between those 2 protocols
5
5
00:00:21,000 --> 00:00:25,000
we need to have a discussion of port numbers and explain how ports numbers are used.
6
6
00:00:26,000 --> 00:00:29,000
We look at the details of UDP and the details of TCP
6
7
00:00:30,000 --> 00:00:33,000
and we look at some of the mechanisms that TCP uses including the TCP 3 way handshake.
7
8
00:00:34,000 --> 00:00:37,000
We gonna look at windowing and we're gonna look at sequence numbers.
8
9
00:00:38,000 --> 00:00:39,000
So there's quite a bit to cover on these 2 protocols.
9
10
00:00:40,000 --> 00:00:43,000
Before discussing TCP and UDP I'd like to remind you
10
11
00:00:44,000 --> 00:00:48,000
that IP or internet protocol is connectionless.
11
12
00:00:49,000 --> 00:00:53,000
Every packet it’s treated individually and separately by routers or routers in the network.
12
13
00:00:54,000 --> 00:00:59,000
So this PC on the left hand side send is sending traffic to this server on the right hand side.
13
14
00:01:00,000 --> 00:10:03,000
Individual packets from the PC could take the upper path
14
15
00:01:04,000 --> 00:01:07,000
or they could traverse the lower link.
15
16
00:01:08,000 --> 00:01:14,000
The internet consist of many, many devices and multiple parts to destinations
16
17
00:01:15,000 --> 00:01:18,000
and it’s important to realize that traffic from one host to another host
17
18
00:01:19,000 --> 00:01:22,000
could take different paths even though that traffic
18
19
00:01:23,000 --> 00:01:25,000
is part of the same conversation or same session.
19
20
00:01:26,000 --> 00:01:30,000
So if the PC is communicating to the server across the internet
20
21
00:01:31,000 --> 00:01:34,000
traffic from that PC could use multiple parts
21
22
00:01:36,000 --> 00:01:37,000
depending on how the traffic is routed through the internet.
22
23
00:01:38,000 --> 00:01:42,000
That means the traffic could arrive out of order.
23
24
00:01:43,000 --> 00:01:46,000
So for example if the PC sends packet 1
24
25
00:01:51,000 --> 00:01:54,000
Packet 2 could arrive before packet 1
25
26
00:01:55,000 --> 00:01:58,000
and does the packet arrive at the server in this order
26
27
00:01:59,000 --> 00:02:01,000
packet 2, packet 1, and packet 3
27
28
00:02:02,000 --> 00:02:07,000
that server requires a mechanism to reorder the packets into the original sequence.
28
29
00:02:08,000 --> 00:02:12,000
IP also does not guarantee the delivery of packets
30
30
00:02:13.000 --> 00:02:017.000
so there’s no guarantee that the packets actually arrived at the server
29
31
00:02:18,000 --> 00:02:21,000
or they arrived in the correct order or free from errors.
30
32
00:02:22,000 --> 00:02:26,000
Higher layer protocols need to ensure the reordering of packets
31
33
00:02:27,000 --> 00:02:31,000
and checking that the packets actually arrived successfully.
32
34
00:02:32,000 --> 00:02:39,000
The 2 protocols that we're gonna concentrate on this section, as mentioned are TCP and UDP.
33
35
00:02:40,000 --> 00:02:45,000
TCP and UDP reside at layer 4 the OSI model, in other words the transport layer.
34
36
00:02:46,000 --> 00:02:50,000
Just to recap at the physical layer we'll have Ethernet
37
37
00:02:51,000 --> 00:02:53,000
or another type of physical presentation.
35
38
00:02:54,000 --> 00:02:56,000
At layer 2 on Ethernet, we use MAC addresses
36
39
00:02:57,000 --> 00:03:02,000
on WAN interfaces, we would use another type of encapsulation such as frame relay or PPP
37
40
00:03:03,000 --> 00:03:08,000
At layer 3 were using IP and devices are represented by IP addresses
38
41
00:03:09,000 --> 00:03:11,000
and at layer 4 we have TCP and UDP.
39
42
00:03:12,000 --> 00:03:15,000
Here’s a quick analogy explaining the difference between
40
43
00:03:16,000 --> 00:03:23,000
UDP or User Datagram Protocol and TCP or Transmission Control Protocol.
41
44
00:03:24,000 --> 00:03:30,000
UDP like IP is connectionless, it does not guarantee the delivery of packets.
42
45
00:03:31,000 --> 00:03:34,000
It requires high layer protocols for instance
43
46
00:03:35,000 --> 00:03:38,000
at the application layer to ensure the successful delivery of packets
44
47
00:03:39,000 --> 00:03:45,000
as an analogy UDP services are similar to using regular mail offered by the Post Office
48
48
00:03:46,000 --> 00:03:50,000
you would write your letter and enclose it in an envelope
45
49
00:03:51,000 --> 00:03:55,000
by the same token, you would take your data and encapsulate it in UDP
46
50
00:03:56,000 --> 00:04:01,000
you would then post your letter and hopefully the postal service
47
51
00:04:02,000 --> 00:04:03,000
will deliver the letter to the recipient
48
52
00:04:04,000 --> 00:04:06,000
there’s is however no guarantee that the letter
49
53
00:04:07,000 --> 00:04:11,000
will be collected, transported, delivered
50
54
00:04:12,000 --> 00:04:16,000
and opened by the recipient as this is regular mail.
51
55
00:04:17,000 --> 00:04:20,000
You as the sender do not get an acknowledgement
52
56
00:04:21,000 --> 00:04:22,000
or proof of delivery of that letter.
57
57
00:04:23,000 --> 00:04:29,000
The postal service once again, does not guarantee delivery and is not responsible
53
58
00:04:30,000 --> 00:04:33,000
for letting you know that the delivery was successful or unsuccessful.
54
59
00:04:38,000 --> 00:04:41,000
but has the inherent disadvantage of unreliability.
55
60
00:04:42,000 --> 00:04:46,000
In a UDP environment, UDP at layer 4 does not guarantee delivery
62
61
00:04:47,000 --> 00:04:50,000
higher layer protocols at the application layer
56
62
00:04:51,000 --> 00:04:54,000
will need to ensure reliability and delivery acknowledgement if required.
57
63
00:04:55,000 --> 00:05:01,000
TCP on the other hand, does provide delivery acknowledgement and reliability
58
64
00:05:02,000 --> 00:05:05,000
but with the disadvantage of the additional overhead
59
65
00:05:06,000 --> 00:05:10,000
as an analogy, a TCP session could be seen as the telephone call
60
66
00:05:11,000 --> 00:05:14,000
TCP is connection orientated in the same way that a telephone call is.
61
67
00:05:15,000 --> 00:05:18,000
The person on the left makes a call to the person on the right.
62
68
00:05:19,000 --> 00:05:23,000
The person on the right is notified of the incoming connection
63
69
00:05:24,000 --> 00:05:26,000
or incoming call by the phone ringing.
71
70
00:05:27,000 --> 00:05:29,000
When the person on the right hand side answers the call
64
71
00:05:30,000 --> 00:05:31,000
they will acknowledge that by saying like
65
72
00:05:32,000 --> 00:05:35,000
"hello, it's David speaking"
66
73
00:05:36,000 --> 00:05:38,000
the person on the left hand side or the caller is does notify
67
74
00:05:39,000 --> 00:05:41,000
that the telephone call has been answered.
68
75
00:05:42,000 --> 00:05:43,000
The caller can then say
69
76
00:05:44,000 --> 00:05:45,000
"hello David, it's Peter speaking".
70
77
00:05:46,000 --> 00:05:51,000
So the called party or the person on the right hand side, knows you've made the call.
71
78
00:05:51,000 --> 00:05:55,000
So there sort of a three-way handshake that takes place here
72
79
00:05:56,000 --> 00:05:58,000
with the person on the right hand side initiates the call
73
80
00:05:59,000 --> 00:06:01,000
the person on the right hand side acknowledges the call.
74
81
00:06:02,000 --> 00:06:06,000
and the person on the left hand side then indicates who's speaking
75
82
00:06:07,000 --> 00:06:11,000
Once the three-way handshake has taking place, and please note once again
84
83
00:06:12,000 --> 00:06:14,000
that this is just an analogy and in a telephone environment
76
84
00:06:15,000 --> 00:06:16,000
there are many more steps that take place
77
85
00:06:17,000 --> 00:06:22,000
but once as an analogy that has taken place, there’s communication between the 2 parties.
78
86
00:06:23,000 --> 00:06:26,000
If the party on the left hand side, wanted to provide some information
79
87
00:06:27,000 --> 00:06:30,000
to the party on the right hand side, let’s say for instance a telephone number.
80
88
00:06:31,000 --> 00:06:33,000
The party on the left hand side would read out the number
81
89
00:06:34,000 --> 00:06:36,000
and in this example I’m just keeping it simple
82
90
00:06:37,000 --> 00:06:40,000
and imagine for the moment that this is very long and complicated number
83
91
00:06:41,000 --> 00:06:44,000
the party on the left hand side would say the number is 555
84
92
00:06:45,000 --> 00:06:49,000
and then the party on the right hand side would acknowledge receipt of that number
85
93
00:06:50,000 --> 00:06:53,000
by reading back the number received which is 555.
86
94
00:06:54,000 --> 00:06:59,000
The party on the left hand side, can check that the number received is the correct number
87
95
00:07:00,000 --> 00:07:04,000
and then can continue with the subsequent digits like 1234.
88
96
00:07:05,000 --> 00:07:08,000
The party on the right hand side would read those number back
89
97
00:07:09,000 --> 00:07:11,000
to ensure correct receipt of the number.
90
98
00:07:12,000 --> 00:07:15,000
Now in TCP environment the information is not echoed
91
99
00:07:16,000 --> 00:07:20,000
but there is the use of sequence numbers to ensure successful delivery
92
100
00:07:21,000 --> 00:07:23,000
or successful receive of information
93
101
00:07:24,000 --> 00:07:26,000
Before continuing I'd like to explain what a socket is
94
102
00:07:27,000 --> 00:07:31,000
as this term is often used in networking and I'm going to mention it in the upcoming slides
95
103
00:07:32,000 --> 00:07:36,000
A socket is the combination of the IP Address of the host
96
104
00:07:37,000 --> 00:07:42,000
in other words the location of a computer for example and the port number used.
97
105
00:07:43,000 --> 00:07:46,000
Port numbers are used to identify applications
98
106
00:07:47,000 --> 00:07:51,000
for instance port 80, identified http and the transport protocol used
99
107
00:07:52,000 --> 00:07:58,000
108
7:52 --> 7:58
in other words TCP or UDP, these 3 are then combined into a single entity
100
109
00:07:59,000 --> 00:08:06,000
in the same way like a telephone connection is the combination of the phone number and a particular extension
101
110
00:08:07,000 --> 00:08:12,000
We'll be discussing TCP and UDP protocols in more detail in a moment
102
111
00:08:13,000 --> 00:08:17,000
We'll also be looking at various port numbers and how they are used to identify applications
103
112
00:08:18,000 --> 00:08:21,000
and in the previous section we've discussed IP addressing
104
113
00:08:22,000 --> 00:08:24,000
A socket is a combination of these 3 things
105
114
00:08:25,000 --> 00:08:28,000
used to identify connection between hosts
106
115
00:08:29,000 --> 00:08:32,000
TCP and UDP allow for session multiplexing
116
116
00:08:33,000 --> 00:08:39,000
which is when a single computer or host with the single IP address is able to communicate
117
117
00:08:40,000 --> 00:08:43,000
with multiple servers or multiple devices
107
118
00:08:44,000 --> 00:08:46,000
and have multiple sessions occurs simultaneously.
119
119
00:08:47,000 --> 00:08:53,000
The session is created when a source host needs to send data or information to a destination host.
108
120
00:08:54,000 --> 00:08:57,000
Replies are often received but aren't mandatory
121
121
00:08:58,000 --> 00:09:02,000
the session is created and controlled within the network application
109
122
00:09:03,000 --> 00:09:06,000
which contains the functionality of OSI layers 5 through 7.
123
123
00:09:07,000 --> 00:09:10,000
In a best effort environment the settings are very simple
110
124
00:09:11,000 --> 00:09:15,000
sessions parameters are sent to UDP, which as we know now as a best effort protocol.
111
125
00:09:16,000 --> 00:09:20,000
Information is just sent to a destination IP address and destination port number.
126
126
00:09:21,000 --> 00:09:25,000
It’s important to remember that each transmission is a totally separate event
112
127
00:09:26,000 --> 00:09:31,000
with no memory or association between various transmissions retain.
113
128
00:09:32,000 --> 00:09:38,000
When using a reliable service like TCP, as discussed a connection must first be established
114
129
00:09:39,000 --> 00:09:41,000
between the sender and receiver before any data can be transmitted.
115
130
00:09:42,000 --> 00:09:46,000
TCP will open a connection and negotiate various connection parameters
116
131
00:09:47,000 --> 00:09:51,000
which I'll discuss in more detail in a moment before actually transmitting any data.
117
132
00:09:52,000 --> 00:09:56,000
Sharing data flow, TCP will maintain reliable delivery of the data
133
133
00:09:57,000 --> 00:09:59,000
and will close the connection once complete.
118
134
00:10:00,000 --> 00:10:05,000
An example of this, is that on my machine, I can’t open up multiple connections
119
135
00:10:06,000 --> 00:10:08,000
to different servers at the same time.
120
136
00:10:09,000 --> 00:10:15,000
So I could open a connection to Gmail, I could open up connection to yahoo
121
137
00:10:16,000 --> 00:10:23,000
I could open up a connection to Google and so forth and so on.
122
138
00:10:24,000 --> 00:10:27,000
On this individual machine that has 1 IP address
123
139
00:10:28,000 --> 00:10:35,000
I’m connecting to multiple servers simultaneously, therefore using session multiplexing.
15119
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.