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