Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranî)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
1 1
And in this section we gonna look at TCP/IP transport layer or layer 4 of the OSI model. 2
2
We are specifically gonna concentrate on the TCP and UDP protocol that reside at this layer. 3
3
I’d like to start up with the comparison of UDP and TCP 4
4
and show you the differences between those 2 protocols 5
5
we need to have a discussion of port numbers and explain how ports numbers are used. 6
6
We look at the details of UDP and the details of TCP 6
7
and we look at some of the mechanisms that TCP uses including the TCP 3 way handshake. 7
8
We gonna look at windowing and we're gonna look at sequence numbers. 8
9
So there's quite a bit to cover on these 2 protocols. 9
10
Before discussing TCP and UDP I'd like to remind you 10
11
that IP or internet protocol is connectionless. 11
12
Every packet it’s treated individually and separately by routers or routers in the network. 12
13
So this PC on the left hand side send is sending traffic to this server on the right hand side. 13
14
Individual packets from the PC could take the upper path 14
15
or they could traverse the lower link. 15
16
The internet consist of many, many devices and multiple parts to destinations 16
17
and it’s important to realize that traffic from one host to another host 17
18
could take different paths even though that traffic 18
19
is part of the same conversation or same session. 19
20
So if the PC is communicating to the server across the internet 20
21
traffic from that PC could use multiple parts 21
22
depending on how the traffic is routed through the internet. 22
23
That means the traffic could arrive out of order. 23
24
So for example if the PC sends packet 1 24
25
Packet 2 could arrive before packet 1 25
26
and does the packet arrive at the server in this order 26
27
packet 2, packet 1, and packet 3 27
28
that server requires a mechanism to reorder the packets into the original sequence. 28
29
IP also does not guarantee the delivery of packets 30
so there’s no guarantee that the packets actually arrived at the server 29
31
or they arrived in the correct order or free from errors. 30
32
Higher layer protocols need to ensure the reordering of packets 31
33
and checking that the packets actually arrived successfully. 32
34
The 2 protocols that we're gonna concentrate on this section, as mentioned are TCP and UDP. 33
35
TCP and UDP reside at layer 4 the OSI model, in other words the transport layer. 34
36
Just to recap at the physical layer we'll have Ethernet 37
37
or another type of physical presentation. 35
38
At layer 2 on Ethernet, we use MAC addresses 36
39
on WAN interfaces, we would use another type of encapsulation such as frame relay or PPP 37
40
At layer 3 were using IP and devices are represented by IP addresses 38
41
and at layer 4 we have TCP and UDP. 39
42
Here’s a quick analogy explaining the difference between 40
43
UDP or User Datagram Protocol and TCP or Transmission Control Protocol. 41
44
UDP like IP is connectionless, it does not guarantee the delivery of packets. 42
45
It requires high layer protocols for instance 43
46
at the application layer to ensure the successful delivery of packets 44
47
as an analogy UDP services are similar to using regular mail offered by the Post Office 48
48
you would write your letter and enclose it in an envelope 45
49
by the same token, you would take your data and encapsulate it in UDP 46
50
you would then post your letter and hopefully the postal service 47
51
will deliver the letter to the recipient 48
52
there’s is however no guarantee that the letter 49
53
will be collected, transported, delivered 50
54
and opened by the recipient as this is regular mail. 51
55
You as the sender do not get an acknowledgement 52
56
or proof of delivery of that letter. 57
57
The postal service once again, does not guarantee delivery and is not responsible 53
58
for letting you know that the delivery was successful or unsuccessful. 54
59
but has the inherent disadvantage of unreliability. 55
60
In a UDP environment, UDP at layer 4 does not guarantee delivery 62
61
higher layer protocols at the application layer 56
62
will need to ensure reliability and delivery acknowledgement if required. 57
63
TCP on the other hand, does provide delivery acknowledgement and reliability 58
64
but with the disadvantage of the additional overhead 59
65
as an analogy, a TCP session could be seen as the telephone call 60
66
TCP is connection orientated in the same way that a telephone call is. 61
67
The person on the left makes a call to the person on the right. 62
68
The person on the right is notified of the incoming connection 63
69
or incoming call by the phone ringing. 71
70
When the person on the right hand side answers the call 64
71
they will acknowledge that by saying like 65
72
"hello, it's David speaking" 66
73
the person on the left hand side or the caller is does notify 67
74
that the telephone call has been answered. 68
75
The caller can then say 69
76
"hello David, it's Peter speaking". 70
77
So the called party or the person on the right hand side, knows you've made the call. 71
78
So there sort of a three-way handshake that takes place here 72
79
with the person on the right hand side initiates the call 73
80
the person on the right hand side acknowledges the call. 74
81
and the person on the left hand side then indicates who's speaking 75
82
Once the three-way handshake has taking place, and please note once again 84
83
that this is just an analogy and in a telephone environment 76
84
there are many more steps that take place 77
85
but once as an analogy that has taken place, there’s communication between the 2 parties. 78
86
If the party on the left hand side, wanted to provide some information 79
87
to the party on the right hand side, let’s say for instance a telephone number. 80
88
The party on the left hand side would read out the number 81
89
and in this example I’m just keeping it simple 82
90
and imagine for the moment that this is very long and complicated number 83
91
the party on the left hand side would say the number is 555 84
92
and then the party on the right hand side would acknowledge receipt of that number 85
93
by reading back the number received which is 555. 86
94
The party on the left hand side, can check that the number received is the correct number 87
95
and then can continue with the subsequent digits like 1234. 88
96
The party on the right hand side would read those number back 89
97
to ensure correct receipt of the number. 90
98
Now in TCP environment the information is not echoed 91
99
but there is the use of sequence numbers to ensure successful delivery 92
100
or successful receive of information 93
101
Before continuing I'd like to explain what a socket is 94
102
as this term is often used in networking and I'm going to mention it in the upcoming slides 95
103
A socket is the combination of the IP Address of the host 96
104
in other words the location of a computer for example and the port number used. 97
105
Port numbers are used to identify applications 98
106
for instance port 80, identified http and the transport protocol used 99
107
in other words TCP or UDP, these 3 are then combined into a single entity 100
109
in the same way like a telephone connection is the combination of the phone number and a particular extension 101
110
We'll be discussing TCP and UDP protocols in more detail in a moment 102
111
We'll also be looking at various port numbers and how they are used to identify applications 103
112
and in the previous section we've discussed IP addressing 104
113
A socket is a combination of these 3 things 105
114
used to identify connection between hosts 106
115
TCP and UDP allow for session multiplexing 116
116
which is when a single computer or host with the single IP address is able to communicate 117
117
with multiple servers or multiple devices 107
118
and have multiple sessions occurs simultaneously. 119
119
The session is created when a source host needs to send data or information to a destination host. 108
120
Replies are often received but aren't mandatory 121
121
the session is created and controlled within the network application 109
122
which contains the functionality of OSI layers 5 through 7. 123
123
In a best effort environment the settings are very simple 110
124
sessions parameters are sent to UDP, which as we know now as a best effort protocol. 111
125
Information is just sent to a destination IP address and destination port number. 126
126
It’s important to remember that each transmission is a totally separate event 112
127
with no memory or association between various transmissions retain. 113
128
When using a reliable service like TCP, as discussed a connection must first be established 114
129
between the sender and receiver before any data can be transmitted. 115
130
TCP will open a connection and negotiate various connection parameters 116
131
which I'll discuss in more detail in a moment before actually transmitting any data. 117
132
Sharing data flow, TCP will maintain reliable delivery of the data 133
133
and will close the connection once complete. 118
134
An example of this, is that on my machine, I can’t open up multiple connections 119
135
to different servers at the same time. 120
136
So I could open a connection to Gmail, I could open up connection to yahoo 121
137
I could open up a connection to Google and so forth and so on. 122
138
On this individual machine that has 1 IP address 123
139
I’m connecting to multiple servers simultaneously, therefore using session multiplexing.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.