SlideShare a Scribd company logo
1 of 70
Download to read offline
Velkommen til min undervisning.
Distribuerede systemer på CBS, oktober 2016, arkitektur og repetition
kt@tdmn.co.
Skriv til mig, hvis I har brug for hjælp.
Opfølgning fra sidst.
Vi havde jo blandt andet eksempler på spørgsmål, som man kan blive stillet.
Hvordan kan man sikre sig
mod angreb udefra?
Giv mig et par bud på det.
Hvordan fungerer asymmetrisk
kryptering med en offentlig og
privat nøgle?
Eller public og private keys, som vi også kalder dem.
Hvad er caching og hvordan
kan man bruge det i et
distribueret system?
Gode, gamle caching.
Hvad er en protokol?
Kom gerne både med en forklaring og eksempler.
Nu tager vi en omgang repetition.
Det lyder sgu som noget man gjorde i 8. klasse.
LAN og WAN.
Det skal vi lige gennemgå.
Her kan I se min lokale IP-adresse. Den er 192.168.0.11.
Men hov, ifølge myip.dk er min IP-adresse 87.60.172.131. Hvorfor det?
Min router, der står i hjørnet af min lejlighed.
Network Address Translation, bedre
kendt som NAT.
Det har en tabel, der holder styr på interne og eksterne IP-adresser og pakker sendt frem og tilbage.
En offentlig IP-adresse oversættes til
en eller flere private IP-adresser.
Det er som at have én dør, som der er flere, der kan gå ind og ud af.
RFC 1918 har titlen Address Allocation for Private Internets.
The majority of NATs map multiple private hosts to one
publicly exposed IP address. In a typical configuration, a
local network uses one of the designated "private" IP
address subnets (RFC 1918).
A router on that network has a private address in that
address space. The router is also connected to the Internet
with a "public" address assigned by an Internet service
provider.
Sådan kan det illustreres.
192.168.1.11 87.60.172.131
oversættes frem
oversættes tilbage
NAT har en address translation
table, der sørger for at holde
styr på de private og offentlige
IP-adresser.
Det er den tabel, som sørger for at sende pakkerne de rigtige steder hen.
Der er også DHCP. Og hvad
er det nu lige DHCP gør?
… og hvad står det for?
DHCP står for Dynamic Host
Configuration Protocol og det
sørger for at tildele IP-adresser
på private netværk.
Yes.
Vi skal lige runde IP-adresser.
For hvad er det nu lige en IP-adresse egentlig er?
Her spørger jeg hvilken IP-adresse som google.com har.
Her har jeg lavet et whois-opslag på Googles IP-adresse, som giver ovenstående svar.
IP-adresser er jo en del af TCP/IP.
Og hvad er det nu lige det er?
Kom gerne med et bud.
TCP/IP er kendt som The Internet Suite
og består af Transmission Control
Protocol og Internet Protocol.
IP har vi jo lige snakket om, men vi har ikke snakket om TCP endnu.
Transmission Control Protocol er en
connection-oriented protocol til at
sende data over IP.
Lad os derfor se hvad en TCP-pakke består af.
Bemærk fx sequence number, der sørger for at holde styr på pakkens nummer i rækken.
Hvad er det modsatte til TCP?
Det skal I gerne vide til eksamen.
User Datagram Protocol er en
connectionless protocol til at
sende data over IP.
Med UDP kan man altså bare skyde pakker af sted uden at tænke over om de bliver modtaget.
UDP-pakker har en noget mere simpel struktur.
Hvornår bruger man TCP
og hvornår bruger man UDP?
Prøv at tænke i forskellige scenarier.
HTTP bruger TCP.
De fleste computerspil bruger UDP, fordi pakker godt må gå tabt i kampens hede.
Lad os springe videre til HTTP.
Næste protokol i rækken af emner, som vi skal repetere.
Hyper-Text Transfer Protocol.
Det er den smukke protokol, som bliver brugt til det store, vide net.
Her er jeg gået ind på cbs.dk og har åbnet min Web Inspector i Chrome.
Her kan I se de request headers, som er sendt med min GET-forespørgsel.
Her kan I se de response headers, som er sendt med min GET-forespørgsel.
Først forbinder jeg til google.com på port 80.
Så sender jeg en GET /-kommando, som henter roden af webserveren.
Der ligger en masse interessante
informationer i en HTTP-header.
Det vil I se, hvis I nærstuderer den.
Accept-Language, siger du?
Her er jeg gået ind med en Accept-Language med værdien da.
Nu ændrer jeg mit primære sprog i Firefox til engelsk…
Her er jeg gået ind med en Accept-Language med værdien en-US.
Nu ændrer jeg mit primære sprog i Firefox til hebræisk…
Her er jeg gået ind med en Accept-Language med værdien he.
Kan man bruge IP-adresser til at
afgøre hvor besøgende kommer fra?
Vi har haft det på en slide lige for nogle minutter siden…
Jeg bruger teknikken på Mick Øgendahls hjemmeside.
Pause.
Hashing af værdier.
Det er når man tager en værdi og laver den om - irreversibelt.
Secure Hash Algorithm 2 (SHA-2)
laver fx “CBS” om til det her:
Det er altså ikke noget man ryger, hashing, det er når man ændrer en værdi til noget andet.
4a3a49bb857efbc7c353beece804e08923fec761ea783a1bbf6d91ef16242759
Hvornår bruger man hashing?
Det kunne jo være at der var nogle tilfælde, der var særligt velegnede til det…
Klient og server.
Det er helt simpelt, men vi skal lige vende det. Kan I komme på nogle eksempler på det?
Web services.
Nu talte vi jo arkitektur sidst, så vi kan lige runde web services også.
Når vi nu taler om klienter og servere
og så videre, så lad os tale om sockets.
Sockets bliver jo nævnt rundt omkring.
En socket er en kombination af
en IP-adresse, en port og en proces.
Det er definitionen.
Hvorfor er det vigtigt at en socket
har en proces?
Tænke, tænke, tænke…
Det bringer os videre til firewalls.
Fx iptables, som er en meget anvendt firewall.
En firewall sørger for at styre
den trafik, der bliver sendt og
modtaget på en computer.
Sådan basalt set.
Der findes to typer firewalls,
henholdsvis network level og
application level firewalls.
Den ene er en boks, man sætter stik ind i, den anden er noget, som man installerer på sin computer.
Måske har I set reklamer for Barracuda i lufthavnen?
Her er det iptables som findes til Linux og så videre.
Og nu til et par afsluttende spørgsmål.
Dem tager vi nu.
Hvorfor er et distribueret system forsinket?
1.
Hvorfor kan hele facebook.com ikke
ligge på en enkelt server?
2.
Hvad bruger man et API til?
3.
Kan man blive ved med at skalere?
4.
Kan 2 + 2 blive 5?
5.
Hackathon.
Nu følger det mere praktiske både fra min og jeres hånd.
Jeg glæder mig til at se jer næste gang.
Tak for i dag!

More Related Content

Similar to Slides

Similar to Slides (9)

Netværk powerpoint
Netværk powerpointNetværk powerpoint
Netværk powerpoint
 
Basic tcpip-print
Basic tcpip-printBasic tcpip-print
Basic tcpip-print
 
Basic tcpip-exercises
Basic tcpip-exercisesBasic tcpip-exercises
Basic tcpip-exercises
 
Ctf intro-print
Ctf intro-printCtf intro-print
Ctf intro-print
 
Basic Hacking Print
Basic Hacking PrintBasic Hacking Print
Basic Hacking Print
 
Dgi.06.02.08
Dgi.06.02.08Dgi.06.02.08
Dgi.06.02.08
 
Hadoop - the data scientist's toolbox
Hadoop - the data scientist's toolboxHadoop - the data scientist's toolbox
Hadoop - the data scientist's toolbox
 
Debugging 2013- Michael Rasmussen
Debugging 2013- Michael RasmussenDebugging 2013- Michael Rasmussen
Debugging 2013- Michael Rasmussen
 
Slides til TCP/IP workshop afholdt i Odense, November 2012
Slides til TCP/IP workshop afholdt i Odense, November 2012Slides til TCP/IP workshop afholdt i Odense, November 2012
Slides til TCP/IP workshop afholdt i Odense, November 2012
 

Slides

  • 1. Velkommen til min undervisning. Distribuerede systemer på CBS, oktober 2016, arkitektur og repetition
  • 2. kt@tdmn.co. Skriv til mig, hvis I har brug for hjælp.
  • 3. Opfølgning fra sidst. Vi havde jo blandt andet eksempler på spørgsmål, som man kan blive stillet.
  • 4. Hvordan kan man sikre sig mod angreb udefra? Giv mig et par bud på det.
  • 5. Hvordan fungerer asymmetrisk kryptering med en offentlig og privat nøgle? Eller public og private keys, som vi også kalder dem.
  • 6. Hvad er caching og hvordan kan man bruge det i et distribueret system? Gode, gamle caching.
  • 7. Hvad er en protokol? Kom gerne både med en forklaring og eksempler.
  • 8. Nu tager vi en omgang repetition. Det lyder sgu som noget man gjorde i 8. klasse.
  • 9. LAN og WAN. Det skal vi lige gennemgå.
  • 10. Her kan I se min lokale IP-adresse. Den er 192.168.0.11.
  • 11. Men hov, ifølge myip.dk er min IP-adresse 87.60.172.131. Hvorfor det?
  • 12. Min router, der står i hjørnet af min lejlighed.
  • 13. Network Address Translation, bedre kendt som NAT. Det har en tabel, der holder styr på interne og eksterne IP-adresser og pakker sendt frem og tilbage.
  • 14. En offentlig IP-adresse oversættes til en eller flere private IP-adresser. Det er som at have én dør, som der er flere, der kan gå ind og ud af.
  • 15. RFC 1918 har titlen Address Allocation for Private Internets. The majority of NATs map multiple private hosts to one publicly exposed IP address. In a typical configuration, a local network uses one of the designated "private" IP address subnets (RFC 1918). A router on that network has a private address in that address space. The router is also connected to the Internet with a "public" address assigned by an Internet service provider.
  • 16. Sådan kan det illustreres. 192.168.1.11 87.60.172.131 oversættes frem oversættes tilbage
  • 17. NAT har en address translation table, der sørger for at holde styr på de private og offentlige IP-adresser. Det er den tabel, som sørger for at sende pakkerne de rigtige steder hen.
  • 18. Der er også DHCP. Og hvad er det nu lige DHCP gør? … og hvad står det for?
  • 19. DHCP står for Dynamic Host Configuration Protocol og det sørger for at tildele IP-adresser på private netværk. Yes.
  • 20. Vi skal lige runde IP-adresser. For hvad er det nu lige en IP-adresse egentlig er?
  • 21. Her spørger jeg hvilken IP-adresse som google.com har.
  • 22. Her har jeg lavet et whois-opslag på Googles IP-adresse, som giver ovenstående svar.
  • 23. IP-adresser er jo en del af TCP/IP. Og hvad er det nu lige det er? Kom gerne med et bud.
  • 24. TCP/IP er kendt som The Internet Suite og består af Transmission Control Protocol og Internet Protocol. IP har vi jo lige snakket om, men vi har ikke snakket om TCP endnu.
  • 25. Transmission Control Protocol er en connection-oriented protocol til at sende data over IP. Lad os derfor se hvad en TCP-pakke består af.
  • 26. Bemærk fx sequence number, der sørger for at holde styr på pakkens nummer i rækken.
  • 27. Hvad er det modsatte til TCP? Det skal I gerne vide til eksamen.
  • 28. User Datagram Protocol er en connectionless protocol til at sende data over IP. Med UDP kan man altså bare skyde pakker af sted uden at tænke over om de bliver modtaget.
  • 29. UDP-pakker har en noget mere simpel struktur.
  • 30. Hvornår bruger man TCP og hvornår bruger man UDP? Prøv at tænke i forskellige scenarier.
  • 32. De fleste computerspil bruger UDP, fordi pakker godt må gå tabt i kampens hede.
  • 33. Lad os springe videre til HTTP. Næste protokol i rækken af emner, som vi skal repetere.
  • 34. Hyper-Text Transfer Protocol. Det er den smukke protokol, som bliver brugt til det store, vide net.
  • 35. Her er jeg gået ind på cbs.dk og har åbnet min Web Inspector i Chrome.
  • 36. Her kan I se de request headers, som er sendt med min GET-forespørgsel.
  • 37. Her kan I se de response headers, som er sendt med min GET-forespørgsel.
  • 38. Først forbinder jeg til google.com på port 80.
  • 39. Så sender jeg en GET /-kommando, som henter roden af webserveren.
  • 40. Der ligger en masse interessante informationer i en HTTP-header. Det vil I se, hvis I nærstuderer den.
  • 42. Her er jeg gået ind med en Accept-Language med værdien da.
  • 43. Nu ændrer jeg mit primære sprog i Firefox til engelsk…
  • 44. Her er jeg gået ind med en Accept-Language med værdien en-US.
  • 45. Nu ændrer jeg mit primære sprog i Firefox til hebræisk…
  • 46. Her er jeg gået ind med en Accept-Language med værdien he.
  • 47. Kan man bruge IP-adresser til at afgøre hvor besøgende kommer fra? Vi har haft det på en slide lige for nogle minutter siden…
  • 48. Jeg bruger teknikken på Mick Øgendahls hjemmeside.
  • 50. Hashing af værdier. Det er når man tager en værdi og laver den om - irreversibelt.
  • 51. Secure Hash Algorithm 2 (SHA-2) laver fx “CBS” om til det her: Det er altså ikke noget man ryger, hashing, det er når man ændrer en værdi til noget andet. 4a3a49bb857efbc7c353beece804e08923fec761ea783a1bbf6d91ef16242759
  • 52. Hvornår bruger man hashing? Det kunne jo være at der var nogle tilfælde, der var særligt velegnede til det…
  • 53. Klient og server. Det er helt simpelt, men vi skal lige vende det. Kan I komme på nogle eksempler på det?
  • 54. Web services. Nu talte vi jo arkitektur sidst, så vi kan lige runde web services også.
  • 55. Når vi nu taler om klienter og servere og så videre, så lad os tale om sockets. Sockets bliver jo nævnt rundt omkring.
  • 56. En socket er en kombination af en IP-adresse, en port og en proces. Det er definitionen.
  • 57. Hvorfor er det vigtigt at en socket har en proces? Tænke, tænke, tænke…
  • 58. Det bringer os videre til firewalls. Fx iptables, som er en meget anvendt firewall.
  • 59. En firewall sørger for at styre den trafik, der bliver sendt og modtaget på en computer. Sådan basalt set.
  • 60. Der findes to typer firewalls, henholdsvis network level og application level firewalls. Den ene er en boks, man sætter stik ind i, den anden er noget, som man installerer på sin computer.
  • 61. Måske har I set reklamer for Barracuda i lufthavnen?
  • 62. Her er det iptables som findes til Linux og så videre.
  • 63. Og nu til et par afsluttende spørgsmål. Dem tager vi nu.
  • 64. Hvorfor er et distribueret system forsinket? 1.
  • 65. Hvorfor kan hele facebook.com ikke ligge på en enkelt server? 2.
  • 66. Hvad bruger man et API til? 3.
  • 67. Kan man blive ved med at skalere? 4.
  • 68. Kan 2 + 2 blive 5? 5.
  • 69. Hackathon. Nu følger det mere praktiske både fra min og jeres hånd.
  • 70. Jeg glæder mig til at se jer næste gang. Tak for i dag!