Les 2: De taal van het Internet: TCP/IP

advertisement
Overzicht
Les 1: Netwerken in vogelvlucht
Les 2: De taal van het Internet: TCP/IP
Les 3: Bits en bytes: transmissie
Les 4: The big picture: hoe past het allemaal in elkaar?
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
2
Hoe krijgen we een afbeelding van A naar B?
A
B
Switch
30/11/2012
Router
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
3
Een ouderwetse brief
Geachte Mr. Verelst,
De meest recente heliumlevering voldoet niet aan onze
kwaliteitseisen. De ballonnen van onze clowns zweven amper
en hoewel hun stem hoger klinkt dan normaal, is het geen
volwaardige piepstem. Onze reputatie als beste clownuitzendbureau van West-Europa komt hierdoor in het gedrang.
Ik had graag gehoord wat uw plannen zijn om deze schade te
vergoeden en hoe u de kwaliteit van uw helium in de toekomst
plant te garanderen.
Aanspreking
Hoogachtend,
Michiel Van den Berghe
CEO Clowns-R-Us
30/11/2012
Boodschap
Protocol!
Afsluiting
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
4
De secretaresse stopt hem in een enveloppe
Gassen Verelst BVBA
Industrielaan 34
8600 Nieveranst
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
5
De postbus in!
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
6
Een stapel van protocols
Brief
Enveloppe
Levering
Enveloppe
Brief
Levering
Protocol stack
30/11/2012
Inkapseling
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
7
De Internet Protocol Stack
Applicatie
Transport
Netwerk
Link
Fysiek
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
8
De applicatielaag (L5)
Applicatie
Transport
Netwerk
Link
E-mail (POP3, SMTP)
Het Web (HTTP)
BitTorrent
...
Fysiek
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
9
Transport- en netwerklaag
Applicatie
Transport
Transmission Control Protocol
User Datagram Protocol
Netwerk
Internet Protocol
Datalink
Fysiek
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
10
De netwerklaag: verantwoordelijkheden
Transport
Netwerk
Een route bepalen van host A naar host B
Pogen een pakket van A naar B te krijgen
A
B
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
11
Het IP-adres
0 . 0 . 0 . 0
108.172.100.233
255.255.255.255
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
12
Intermezzo: binaire getallen
234 = 2 ∙ 102 + 3 ∙ 101 + 4 ∙ 100
decimaal
234 = 1 ∙ 128 + 1 ∙ 64 + 1 ∙ 32 + 0 ∙ 16 + 1 ∙ 8 + 0 ∙ 4 + 1 ∙ 2 + 0 ∙ 1
234 = 1 ∙ 27 + 1 ∙ 26 + 1 ∙ 25 + 0 ∙ 24 + 1 ∙ 23 + 0 ∙ 22 + 1 ∙ 21 + 0 ∙ 20
binair
234 = 𝑏11101010
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
13
Het IP-adres: bits en bytes
b00000000
0 . 0 . 0 . 0
108.172.100.233
255.255.255.255
4 bytes = 32 bits
b11111111
232 ≈ 4,2 miljard adressen
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
14
IP-adressen van hosts en routers
73.12.1.1
73.12.2.2
A
73.12.45.102
73.12.44.23
73.12.1.3
73.12.45.103
73.12.45.101
73.12.2.4
73.12.44.20
73.12.44.22
B
73.12.45.104
30/11/2012
73.12.44.21
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
15
Het adres van een (sub)netwerk
Transport
Netwerk
IP:
Mask:
Subnet IP:
Adres van netwerk met host 73.12.45.102?
01001001.00001100.00101101.01100110
11111111.11111111.11111111.00000000
01001001.00001100.00101101.00000000
netwerkgedeelte
73.12.45.0/24
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
host
16
IP-adressen van (sub)netwerken
volledige netwerk:
73.12.0.0/16
73.12.1.0/24
73.12.1.1
73.12.2.2
73.12.2.0/24
A
73.12.45.102
73.12.44.23
73.12.1.3 73.12.2.4
73.12.45.103
73.12.45.101
73.12.44.20
73.12.44.22
73.12.45.0/24
73.12.45.104
30/11/2012
B
73.12.44.0/24
73.12.44.21
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
17
IP-pakketten en segmentatie
Bron: 73.12.45.102
Best: 73.12.44.21
30/11/2012
Bron: 73.12.45.102
Best: 73.12.44.21
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
Bron: 73.12.45.102
Best: 73.12.44.21
18
Hoe raakt een pakket van A naar B?
Bron: 73.12.45.102
Best: 73.12.44.21
.2
.1
Y
73.12.2.0/24
73.12.1.0/24
.3
.4
73.12.45.0/24
A
.102
.101
73.12.44.0/24
X
Z
B
.20
.21
Bestemming
Gateway
Interface
Bestemming Gateway
Interface
Gateway
Interface
0.0.0.0/0
73.12.1.1
73.12.45.3
Bestemming
Gateway
Interface
0.0.0.0/32
73.12.45.101
73.12.45.102
0.0.0.0/0
73.12.1.1
73.12.45.3
73.12.2.0/24
73.12.2.2
73.12.2.2
0.0.0.0/0
73.12.2.0
73.12.2.4
73.12.45.0/24 73.12.45.102
73.12.45.102 73.12.45.102
73.12.45.102
73.12.1.0/24
73.12.1.1
73.12.44.0/24 73.12.1.1
73.12.44.20
73.12.44.20
73.12.1.0/24
73.12.1.3
73.12.1.3
73.12.44.0/24 73.12.2.4
73.12.2.2
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
19
Hoe krijg ik een IP-adres?
Handmatig configureren
Dynamic Host Configuration
Protocol
DHCP-server
REQUEST
DISCOVER
OFFER
ACK met adres
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
20
Een IP-adres is lastig te onthouden...
Domain Name Service
DNS Response: 173.210.5.23
DNS Request: google.com
Host: 173.210.5.23
30/11/2012
Webserver: 173.210.5.23
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
21
Een vervelende techniek: NAT
Help! Mijn IP-adres is niet wat ik denk dat het is!
192.168.1.100
192.168.1.101
192.168.1.1
192.168.1.102
30/11/2012
modem
173.210.5.23
192.168.1.0/24
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
22
De transportlaag: verantwoordelijkheden
Transport
Doel: een betrouwbare
verbinding opzetten tussen
twee applicaties op twee hosts.
Netwerk
2476
30/11/2012
80
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
23
De problemen bij IP
Wat kan er allemaal mislopen bij IP routing?
Transmission Control Protocol to the rescue!
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
24
De basis van TCP
Bron: 73.12.45.102
Best: 73.12.44.21
Seq: 1 Bronpoort: 3480
Best.poort: 4477
B
A
SYN
SYN ACK
ACK
Verbindingsfase
1
ACK 2
Bron: 73.12.45.102
Best: 73.12.44.21
2
Transportfase
ACK 3
Seq: 2 Bronpoort: 3480
Best.poort: 4477
3
ACK 4
FIN
FIN ACK
Afsluitfase
ACK
...
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
25
Een pakket valt weg
A
B
1
ACK 2
2
timeout
2
retransmissie!
ACK 3
...
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
26
Een ACK valt weg!
A
B
1
ACK 2
2
ACK 3
timeout
Pakket 2 twee keer
ontvangen! Duplicaat
wordt genegeerd.
2
retransmissie!
ACK 3
...
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
27
Een geoptimaliseerde TCP...
A
B
1
A
B
1
2
3
ACK 2
2
ACK 4
ACK 3
3
ACK 4
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
28
...zorgt voor een ander probleem
A
1
2
B
3
Pakket 2 verloren?
ACK 2
2
ACK 4
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
Toch niet! Herordenen!
Dubbel pakket negeren!
29
Een vervelende techniek: NAT
Iedereen lijkt zelfde IP-adres te hebben!
1345
192.168.1.100
facebook.com
192.168.1.101
192.168.1.1
173.210.5.23
12938
google.com
192.168.1.102
Geen binnenkomende verbindingen!
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
Skype-gebruiker
30
Belangrijk
• de definitie van een protocol, een protocolstapel en
encapsulatie
• de Internet Protocol stack en de verantwoordelijkheden van
de verschillende lagen (wordt vervolgd)
• de werking van IP-routering
• de werking van DHCP en DNS
• de werking van TCP
• de werking van NAT
30/11/2012
Datacommunicatie en Netwerken
de taal van het internet: TCP/IP
31
Download