Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Distribuerede systemer, CBS, 15. september 2015

Kasper Tidemann
September 20, 2015

Distribuerede systemer, CBS, 15. september 2015

Slides til forelæsningen om netværk i distribuerede systemer på CBS d. 21. september 2015 kl. 08:00.

Kasper Tidemann

September 20, 2015
Tweet

More Decks by Kasper Tidemann

Other Decks in Education

Transcript

  1. Netværk
    Distribuerede systemer på CBS, september 2015
    DS-bogen, kapitel 2, 3 og 13

    View Slide

  2. speakerdeck.com/kaspertidemann
    Mine slides til undervisningen ligger på Speaker Deck.

    View Slide

  3. Hvad er et
    distribueret system?

    View Slide

  4. Når to eller flere computere
    opfører sig som én.

    View Slide

  5. Flere forskellige versioner
    af sandheden, der alle
    konvergerer mod den
    samme sandhed.

    View Slide

  6. Akademisk definition.
    Men lad os være lidt mere praktiske.

    View Slide

  7. View Slide

  8. Client-server.
    Den mest udbredte model for hvordan to enheder taler med hinanden.

    View Slide

  9. Peer-to-peer.
    Som I også kender som P2P fra BitTorrent med videre.

    View Slide

  10. Hvad er en server?
    Lad os dykke lidt ned i det.

    View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. En server kan både være
    et stykke metal og et program,
    der kører på en computer.

    View Slide

  15. Webservere.
    Dem som serverer de sider, I går ind på i jeres browser.

    View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. Når I går ind på cbs.dk én
    gang, så går I derind
    40 gange i træk.

    View Slide

  21. Databaser.
    Anvendes næsten altid i en teknisk opsætning for at gemme data.

    View Slide

  22. View Slide

  23. View Slide

  24. Servere som services.
    Vi jonglerer lidt med ordene.

    View Slide

  25. View Slide

  26. http://adresse/ressource/id
    Og bag hver ressource gemmer sig typisk mange forskellige komponenter.

    View Slide

  27. Serviceorienteret
    arkitektur.
    Det har I måske læst som SOA et sted.

    View Slide

  28. Hvad er en klient?
    Det er jo den anden del af client-server. Eller den første, rettere.

    View Slide

  29. Enhver form for programmel,
    der ikke selv ejer sine
    ressourcer.

    View Slide

  30. Tynde og tykke klienter.
    Et eksempel er fx et rejsekort og en mobiltelefon.

    View Slide

  31. Netværk.
    Det er netværk, der binder træerne sammen.

    View Slide

  32. Hvad er et netværk?
    I kender jo nok lidt til det, men lad os tage hul på det.

    View Slide

  33. View Slide

  34. View Slide

  35. View Slide

  36. Routere
    Switches
    Hubs
    Trådløse forbindelser

    View Slide

  37. View Slide

  38. View Slide

  39. … i øvrigt har vi verdens
    bedste strømstik.
    … de sidder fast i væggen, jo!

    View Slide

  40. Routere og hvad-har-vi
    sørger for at sende
    trafikken rundt.

    View Slide

  41. View Slide

  42. Når I besøger en hjemmeside,
    så går aldrig direkte ind på
    selve serveren, som den
    ligger på.

    View Slide

  43. Routing er vores ven.
    Og det bygger Internettet på.

    View Slide

  44. 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.

    View Slide

  45. A B

    View Slide

  46. Man havde stor militær
    interesse i at have flere
    veje til det samme sted.

    View Slide

  47. A B

    View Slide

  48. Hvorfor er det vigtigt?
    Netværk, routere, switches, alt muligt, hvilken betydning har det?

    View Slide

  49. View Slide

  50. View Slide

  51. View Slide

  52. KCG mistede $440 millioner
    på grund af en fejl.
    En lille sidebemærkning omkring Wall Street.

    View Slide

  53. Et distribueret system
    er altid forsinket.
    Det er det, der definerer det.

    View Slide

  54. Latency.
    Forsinkelse er essentielt.

    View Slide

  55. View Slide

  56. Ping-tider.
    Man kan pinge hinanden for at se om man er i live - og hvor hurtigt man får svar.

    View Slide

  57. View Slide

  58. Pause.

    View Slide

  59. Protokoller.
    Beskrivelser af den måde, som teknologier fungerer på.

    View Slide

  60. Request-for-comments.
    Det hele startede i universitetsmiljøet i USA.

    View Slide

  61. View Slide

  62. View Slide

  63. View Slide

  64. Protokoller er beskrivelser
    af hvordan noget fungerer.
    Det svarer til en opskrift når man laver mad.

    View Slide

  65. I praksis taler man om
    en implementation.
    At man har implementeret en abstrakt definition af noget.

    View Slide

  66. Internet protocol suite.
    Bedre kendt som TCP/IP.

    View Slide

  67. ISO Open Systems
    Interconnection Model.
    Eller bare OSI-modellen.

    View Slide

  68. I den alder lånte jeg bøger på biblioteket om TCP/IP og OSI-modellen.

    View Slide

  69. En lagdelt, abstrakt beskrivelse
    af netværksprotokoller.
    Det svarer lidt til fx at tale om objektorienteret udvikling generelt.

    View Slide

  70. Applikation
    Præsentation
    Session
    Transport
    Netværk
    Dataforbindelse
    Fysisk lag
    Afsender Modtager

    View Slide

  71. 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

    View Slide

  72. Hvert niveau indkapsler og
    sender videre.
    En form for decorator-pattern.

    View Slide

  73. 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.

    View Slide

  74. TCP/IP.
    Bedre kendt som TCP/IP.

    View Slide

  75. Applikation
    Transport
    Netværk
    Dataforbindelse
    Afsender Modtager

    View Slide

  76. Applikation
    Transport
    Netværk
    Dataforbindelse
    HTTP, FTP, SMTP
    TCP, UDP
    IP, ICMP
    ARP, netværkskort

    View Slide

  77. TCP holder styr på om
    pakkerne er kommet frem.
    Derfor er den kendetegnet ved at være “reliable”.

    View Slide

  78. View Slide

  79. 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.

    View Slide

  80. UDP er ligeglad og sender
    bare pakker af sted.
    Derfor er den kendetegnet ved at være “unreliable”.

    View Slide

  81. View Slide

  82. Hvilken protokol er
    så den bedste?
    Det kommer jo an på formålet. TCP er mere omstændig, UDP er utilregnelig.

    View Slide

  83. IP-adresser.
    En central del af IP-protokollen.

    View Slide

  84. 83.94.121.217
    Det er fx en af Googles servere.

    View Slide

  85. 2a00:1450:4005:800::1007
    Det er den samme server, blot dens IPv6-adresse.

    View Slide

  86. IPv4 vs. IPv6.
    Man løb simpelthen tør for IP-adresser - eller tæt på, i hvert fald. 32-bit vs. 128-bit.

    View Slide

  87. View Slide

  88. Porte.
    En server har typisk én IP-adresse, men tilbyder mange forskellige services.

    View Slide

  89. Når I går på nettet, så
    bruger I port 80.
    Det er den port som HTTP benytter sig af. HTTPS er 443.

    View Slide

  90. http://www.cbs.dk:80/
    … det er der bare ingen, der skriver. Altså :80.

    View Slide

  91. 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.

    View Slide

  92. View Slide

  93. View Slide

  94. View Slide

  95. View Slide

  96. Hvorfor virker det ene
    og ikke det andet?
    Hallo, mand! Det giver da ingen mening?

    View Slide

  97. (Lige det her skyldes en
    virtual host, men vi skal
    tale om DNS.)

    View Slide

  98. Pause.

    View Slide

  99. Domain Name System.
    En central del af IP-protokollen.

    View Slide

  100. Skal et domænenavn
    have www foran?
    Lad mig høre hvad I mener.

    View Slide

  101. Kan et domænenavn være
    hvad som helst?
    Lad mig høre hvad I mener igen.

    View Slide

  102. View Slide

  103. DNS-serverne verden over
    holder styr på IP-adresser
    og domænenavne.

    View Slide

  104. 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.

    View Slide

  105. View Slide

  106. A-records, MX-records,
    TXT-records og så videre.
    Det er sådan man ser hvad et domæne peger på.

    View Slide

  107. Man kan WHOIS’e et
    domænenavn.
    Så finder man information om ejeren.

    View Slide

  108. View Slide

  109. Seriøst, hvad sker der
    for folk på Internettet?
    Prøv lige at se nogle af dem her.

    View Slide

  110. View Slide

  111. View Slide

  112. Opsummering.
    For vi har været igennem en hulens masse i dag.

    View Slide

  113. Tak for i dag!
    For spørgsmål, skriv til mig på [email protected].

    View Slide