Netværk
Distribuerede systemer på CBS, september 2015
DS-bogen, kapitel 2, 3 og 13
Slide 2
Slide 2 text
speakerdeck.com/kaspertidemann
Mine slides til undervisningen ligger på Speaker Deck.
Slide 3
Slide 3 text
Hvad er et
distribueret system?
Slide 4
Slide 4 text
Når to eller flere computere
opfører sig som én.
Slide 5
Slide 5 text
Flere forskellige versioner
af sandheden, der alle
konvergerer mod den
samme sandhed.
Slide 6
Slide 6 text
Akademisk definition.
Men lad os være lidt mere praktiske.
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
Client-server.
Den mest udbredte model for hvordan to enheder taler med hinanden.
Slide 9
Slide 9 text
Peer-to-peer.
Som I også kender som P2P fra BitTorrent med videre.
Slide 10
Slide 10 text
Hvad er en server?
Lad os dykke lidt ned i det.
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
En server kan både være
et stykke metal og et program,
der kører på en computer.
Slide 15
Slide 15 text
Webservere.
Dem som serverer de sider, I går ind på i jeres browser.
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
Når I går ind på cbs.dk én
gang, så går I derind
40 gange i træk.
Slide 21
Slide 21 text
Databaser.
Anvendes næsten altid i en teknisk opsætning for at gemme data.
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
Servere som services.
Vi jonglerer lidt med ordene.
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
http://adresse/ressource/id
Og bag hver ressource gemmer sig typisk mange forskellige komponenter.
Slide 27
Slide 27 text
Serviceorienteret
arkitektur.
Det har I måske læst som SOA et sted.
Slide 28
Slide 28 text
Hvad er en klient?
Det er jo den anden del af client-server. Eller den første, rettere.
Slide 29
Slide 29 text
Enhver form for programmel,
der ikke selv ejer sine
ressourcer.
Slide 30
Slide 30 text
Tynde og tykke klienter.
Et eksempel er fx et rejsekort og en mobiltelefon.
Slide 31
Slide 31 text
Netværk.
Det er netværk, der binder træerne sammen.
Slide 32
Slide 32 text
Hvad er et netværk?
I kender jo nok lidt til det, men lad os tage hul på det.
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
Routere
Switches
Hubs
Trådløse forbindelser
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
No content
Slide 39
Slide 39 text
… i øvrigt har vi verdens
bedste strømstik.
… de sidder fast i væggen, jo!
Slide 40
Slide 40 text
Routere og hvad-har-vi
sørger for at sende
trafikken rundt.
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
Når I besøger en hjemmeside,
så går aldrig direkte ind på
selve serveren, som den
ligger på.
Slide 43
Slide 43 text
Routing er vores ven.
Og det bygger Internettet på.
Slide 44
Slide 44 text
Packet switching.
Store-and-forward-metoden går ud på ikke at etablere en fuldstændig
forbindelse fra A til B, men blot videresende data fra A til den næste
modtager i rækken, der så sørger for at videresende, der så sørger
for at videresende indtil pakken fra A har nået B.
Slide 45
Slide 45 text
A B
Slide 46
Slide 46 text
Man havde stor militær
interesse i at have flere
veje til det samme sted.
Slide 47
Slide 47 text
A B
Slide 48
Slide 48 text
Hvorfor er det vigtigt?
Netværk, routere, switches, alt muligt, hvilken betydning har det?
Slide 49
Slide 49 text
No content
Slide 50
Slide 50 text
No content
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
KCG mistede $440 millioner
på grund af en fejl.
En lille sidebemærkning omkring Wall Street.
Slide 53
Slide 53 text
Et distribueret system
er altid forsinket.
Det er det, der definerer det.
Slide 54
Slide 54 text
Latency.
Forsinkelse er essentielt.
Slide 55
Slide 55 text
No content
Slide 56
Slide 56 text
Ping-tider.
Man kan pinge hinanden for at se om man er i live - og hvor hurtigt man får svar.
Slide 57
Slide 57 text
No content
Slide 58
Slide 58 text
Pause.
Slide 59
Slide 59 text
Protokoller.
Beskrivelser af den måde, som teknologier fungerer på.
Slide 60
Slide 60 text
Request-for-comments.
Det hele startede i universitetsmiljøet i USA.
Slide 61
Slide 61 text
No content
Slide 62
Slide 62 text
No content
Slide 63
Slide 63 text
No content
Slide 64
Slide 64 text
Protokoller er beskrivelser
af hvordan noget fungerer.
Det svarer til en opskrift når man laver mad.
Slide 65
Slide 65 text
I praksis taler man om
en implementation.
At man har implementeret en abstrakt definition af noget.
Slide 66
Slide 66 text
Internet protocol suite.
Bedre kendt som TCP/IP.
Slide 67
Slide 67 text
ISO Open Systems
Interconnection Model.
Eller bare OSI-modellen.
Slide 68
Slide 68 text
I den alder lånte jeg bøger på biblioteket om TCP/IP og OSI-modellen.
Slide 69
Slide 69 text
En lagdelt, abstrakt beskrivelse
af netværksprotokoller.
Det svarer lidt til fx at tale om objektorienteret udvikling generelt.
Slide 70
Slide 70 text
Applikation
Præsentation
Session
Transport
Netværk
Dataforbindelse
Fysisk lag
Afsender Modtager
Slide 71
Slide 71 text
Applikation
Præsentation
Session
Transport
Netværk
Dataforbindelse
Fysisk lag
HTTP, FTP, SMTP
SSL, TLS
SIP, authentication, sessions
TCP, UDP
IP
Ethernet MAC, PPP
Kabler, ADSL, trådløse signaler
Slide 72
Slide 72 text
Hvert niveau indkapsler og
sender videre.
En form for decorator-pattern.
Slide 73
Slide 73 text
Først skriver man et brev.
Så putter man det i en konvolut.
Så sætter man frimærke på.
… og sender det med posten.
Slide 74
Slide 74 text
TCP/IP.
Bedre kendt som TCP/IP.
Slide 75
Slide 75 text
Applikation
Transport
Netværk
Dataforbindelse
Afsender Modtager
TCP holder styr på om
pakkerne er kommet frem.
Derfor er den kendetegnet ved at være “reliable”.
Slide 78
Slide 78 text
No content
Slide 79
Slide 79 text
Rækkefølgen af pakker
er garanteret korrekt.
Så når man sender en fil, så bliver den delt op, sendt i mindre dele, og samlet igen.
Slide 80
Slide 80 text
UDP er ligeglad og sender
bare pakker af sted.
Derfor er den kendetegnet ved at være “unreliable”.
Slide 81
Slide 81 text
No content
Slide 82
Slide 82 text
Hvilken protokol er
så den bedste?
Det kommer jo an på formålet. TCP er mere omstændig, UDP er utilregnelig.
Slide 83
Slide 83 text
IP-adresser.
En central del af IP-protokollen.
Slide 84
Slide 84 text
83.94.121.217
Det er fx en af Googles servere.
Slide 85
Slide 85 text
2a00:1450:4005:800::1007
Det er den samme server, blot dens IPv6-adresse.
Slide 86
Slide 86 text
IPv4 vs. IPv6.
Man løb simpelthen tør for IP-adresser - eller tæt på, i hvert fald. 32-bit vs. 128-bit.
Slide 87
Slide 87 text
No content
Slide 88
Slide 88 text
Porte.
En server har typisk én IP-adresse, men tilbyder mange forskellige services.
Slide 89
Slide 89 text
Når I går på nettet, så
bruger I port 80.
Det er den port som HTTP benytter sig af. HTTPS er 443.
Slide 90
Slide 90 text
http://www.cbs.dk:80/
… det er der bare ingen, der skriver. Altså :80.
Slide 91
Slide 91 text
Sockets.
De er en kombination af en IP-adresse og et portnummer. En applikation
laver en socket, og operativsystemet sørger for at sende al trafik modtaget
på den givne port til den givne socket.
Slide 92
Slide 92 text
No content
Slide 93
Slide 93 text
No content
Slide 94
Slide 94 text
No content
Slide 95
Slide 95 text
No content
Slide 96
Slide 96 text
Hvorfor virker det ene
og ikke det andet?
Hallo, mand! Det giver da ingen mening?
Slide 97
Slide 97 text
(Lige det her skyldes en
virtual host, men vi skal
tale om DNS.)
Slide 98
Slide 98 text
Pause.
Slide 99
Slide 99 text
Domain Name System.
En central del af IP-protokollen.
Slide 100
Slide 100 text
Skal et domænenavn
have www foran?
Lad mig høre hvad I mener.
Slide 101
Slide 101 text
Kan et domænenavn være
hvad som helst?
Lad mig høre hvad I mener igen.
Slide 102
Slide 102 text
No content
Slide 103
Slide 103 text
DNS-serverne verden over
holder styr på IP-adresser
og domænenavne.
Slide 104
Slide 104 text
Når man laver en ændring,
så skal man vente.
Det tager nemlig lidt tid før ændringerne er
kommet ud til samtlige servere i verden.
Slide 105
Slide 105 text
No content
Slide 106
Slide 106 text
A-records, MX-records,
TXT-records og så videre.
Det er sådan man ser hvad et domæne peger på.
Slide 107
Slide 107 text
Man kan WHOIS’e et
domænenavn.
Så finder man information om ejeren.
Slide 108
Slide 108 text
No content
Slide 109
Slide 109 text
Seriøst, hvad sker der
for folk på Internettet?
Prøv lige at se nogle af dem her.
Slide 110
Slide 110 text
No content
Slide 111
Slide 111 text
No content
Slide 112
Slide 112 text
Opsummering.
For vi har været igennem en hulens masse i dag.