DIS Flashcards
Hvad er et WAN?
Wide area network:
Består af forskellige sammensætninger af LAN og MAN’s.
Hvad er et LAN?
Local area Network:
En måde at forbinde computere over korte afstande og med høj hastighed.
Hvad er definitionen på et Distribueret system?
En samling af uafhængige computere, som er forbundet via. et netværk og er i stand til at samarbejde om en opgave.
Hvad er høj transparents i et system?
Når et system føles som en helhed og ikke en samling af individuelle computere med forbindelse.
Hvilke lag er der i OSI reference model?
- Fysiske
- Datalink lag
- Netværks lag
- Transport lag
- Session lag
- Præsentations lag
- Applikaitonslag
Hvad er protokolstakken og hvad indeholder den?
Er en lagdelt arkitektur som indeholder:
1. Applikations lag
2. Transport lag
3. Netværks lag
4. Datalink lag
5. Fysiske lag
Hvad er formålet med at protokolstakken er lagdelt?
Formålet er, at hvert lag tilbyder services til det overliggende lag. Implementeringen af hver service, er skjult for det overliggende lag. Dette resulterer i højere transparens og lavere kobling mellem lag.
Hvad er central drift?
Der er en central mainframe som alle klienter er forbundet til via en kontrolenhed.
Hvad er decentral drift?
Udvidelse af central drift - her er mainframe udskiftet med mini datamat. Det er muligt at have flere mini datamater, eks. en til hver afdeling.
Hvad menes med client/server arkitektur? Og hvor bruges arkitekturen?
Er baseret på request/reply modellen - hvor klienten forespørger, og serveren svarer retur med det forespurgte. Bruges i den distribuerede driftsmodel.
Nævn nogle fordele og ulemper ved central drift.
Fordele:
- Stor dataaktualitet
- Ikke nødvendigt med IT-specialister hos brugerne.
- Hurtig og kraftig
- mm.
Ulemper:
- Relativt dyr
- Sårbar overfor nedbrud (single point of failure)
- Øget svartid
Nævn nogle fordele og ulemper ved decentral drift.
Fordele:
- Billige maskiner
- Stor selvbestemmelse hos bruger
- Mindre trafik = hurtigere svartid
Ulemper:
- Dårlig dataaktualitet
- Kræver IT-personale hos brugeren
- Vanskelig integration
Nævn nogle fordele og ulemper ved distribueret drift
Fordele:
- Billige maskiner
- God dataaktualitet
- Mulighed for integration med andre systemer
Ulemper:
- Kræver WAN
- Kræver IT-personale hos brugeren
- Udviklingsmæssigt dyrt (kompleks software)
Hvad består netværket af?
En række routere og switches der er forbundet - og som forbinder computere med hinanden.
Hvad er circuit switching?
En forældet måde at transportere data over et netværk. Her er det nødvendigt at beslutte den eksakte rute gennem netværket før dataen sendes afsted.
Hvad er packet switching?
Den metode der i dag benyttes til at transportere data hen over netværket.
Når en besked sendes afsted deles den op i mindre pakker som sendes afsted gennem netværket hver for sig.
Når man sender pakker afsted, behøver pakken ikke at kende sin rute på forhånd. Så længe pakken kender destinationen, kan den blot følge den rute der er mest hensigtsmæssig. Derfor er metoden forbindelsesløs.
Hvad er fordelene ved packet switching?
- Mindre forsinkelse på levering, fordi hver pakke kan sendes afsted så snart de er klar.
- Switching enhederne har mindre behov for hukommelsesplads, fordi de kan sende pakkerne afsted som de modtager dem. De behøver ikke at vente på at hele beskeden kommer frem, før de sender videre.
- Nedbrud på netværket er mindre kritisk, fordi pakkerne så bare kan vælge en anden rute.
Hvad er ulemperne ved packet switching?
- Kræver komplekse protokoller for at levere data.
- Netværksproblemer kan give fejl, forsinkelser eller pakketab.
Hvilken kommunikation er det vi beskæftiger os med på applikationslaget?
Proces til proces kommunikation
Hvad menes der med proces til proces kommunikation? Og hvor finder denne kommunikation sted?
På applikationslaget ser det ud som om, at en proces på applikationslaget på den ene host, snakker direkte sammen med en proces på applikationslaget hos en anden host.
Det kan ikke “ses” at kommunikationen faktisk bevæger sig gennem hele protokolstakken hos de to hosts. Derfor siger man at det er proces til proces kommunikation.
Hvad er en socket?
Et interface mellem applikationslaget og transportlaget.
Hvor mange tupler har en UDP socket? Og hvilken information indeholder de?
2 tupler; destinations IP og destinations port.
Hvor mange tupler har en TCP socket? Og hvilken information indeholder de?
4 tupler; destinations IP, destinations port, afsender IP og afsender port.
Hvad er HTTP? Og hvad står forkortelsen for?
HTTP (HyperText Transer Protocol) er den protokol der driver world wide web. Protokollen er i sin grundform simpel; en klient forespørger på noget data, en server leverer det. Dette gøres med request og response beskeder, hvis struktur er defineret i HTTP protokollen.
Er HTTP stateless? Og hvad betyder det?
Ja, HTTP er stateless. Det betyder, at serveren ikke husker hvilken bruger der henvender sig. Den har altså ingen historik på tidligere kontakt med en bruger.
Hvordan modarbejder man at HTTP er stateless?
Ved brug af cookies. Her får klienten et cookie ID tildelt af serveren, som så gemmer informationen på det ID.
Hvad indeholder en HTTP request besked helt overordnet?
En request line (indeholdende metode, url, mm), en række header lines (efterfulgt af en blank linje), og til sidst en body (indeholdende den egentlige data).
Hvad indeholder en HTTP response besked helt overordnet?
En request line (indeholdende status kode mm), en række header lines (efterfulgt af en blank linje), og til sidst en body (indeholdende det forespurgte data).
Hvad er SMTP? Og hvad står forkortelsen for?
SMTP (Simple Mail Transfer Protocol) er en protokol for, hvordan mails sendes mellem to hosts.
Hvad vil det sige at SMTP er en push protokol?
Betyder at beskeden skubbes fremad. Betyder dermed også, modtagerens computer skal være tændt for at modtage beskeden. Derfor bruges i stedet en mail access protocol (IMAP) i slutningen af processen, til at hente den sendte mail når modtageren ønsker det.
Forklar billedet. Hvilken protokol viser den? Og hvor er protokollen implementeret?
SMTP protokollen - som er implementeret på applikationslaget.
Hvad er en DNS? Og hvad står forkortelsen for?
DNS (Domain Name System) bruges til at oversætte fra hostnavn til IP adressen.
Hvordan lyder DNS hierarkiet?
- Root DNS Server
- TLD (top level domain) DNS Server
- Authoritative DNS Server
Forklar hvordan en iterativ DNS forespørgsel foregår.
Afsender host forespørger på en lokal DNS server, som efterfølgende forespørger en Root DNS Server.
Root DNS Serveren sender adressen på en TLD DNS Server tilbage.
Den lokale DNS Server spørger så på TLD DNS serveren, som returnerer adressen på den Authoriative DNS Server der har IP adressen.
Den lokale DNS spørger så den Authoriative DNS Server, som sender IP adressen tilbage til den lokale DNS Server, som så returneres til host.
Forklar hvordan en rekursiv DNS forespørgsel foregår.
Afsender host forespørger på en lokal DNS server, som efterfølgende forespørger en Root DNS Server.
Root DNS forespørger så TLD DNS serveren.
TLD DNS Serveren forespørger til sidst på Authoriative DNS Serveren. Denne sender svaret tilbage af samme vej som forespørgslen kom.
Hvad er fordele og ulemper ved henholdsvis en iterativ og en rekursiv DNS forespørgsel?
Ved en rekursiv DNS forespørgsel skal hver server i hierarkiet holde styr på forespørgsler og svar - hvilket er en ulempe. Til gengæld har den lokale DNS server ikke så travlt som ved en iterativ forespørgsel.
Hvad er webcaching? Og hvad gør det godt for?
Webcaching er når der bruges en såkaldt webcache i klientens netværk til at gemme kopier af forespurgt data fra serveren. På den måde reduceres svartider og trafikken i internettet generelt
Forklar billedet? Hvordan reduceres svartid og trafik med webcaching?
Klienten laver TCP forbindelsen til cachen i stedet for direkte til serveren.
Hvis cachen allerede har gemt objektet, laver den et “conditional get” til serveren for at tjekke at objektet ikke sidenhen er modificeret, hvorefter den sender objektet direkte tilbage til klienten.
Hvis cachen ikke har objektet, forespørger cachen serveren, som så sender objektet tilbage til cachen.
Selvom der reelt foregår den samme “snak” mellem klient og server, er kommunikationen hurtigere, eftersom webachens “conditional get” til serveren er et mindre tungt kald.
Hvad sørger transportlaget for?
Den logiske kommunikation mellem to processer på to forskellige hosts. At den er logisk betyder, at den ikke bekymrer sig om den reelle vej gennem internettet.
Hvad er multiplexing og demultiplexing?
Når flere processer køres ned gennem protokolstakken, og dermed går fra proces til proces kommunikation, og bliver til host til host kommunikation. (Fra portnummer på applikationslaget til IP adresse på netværkslaget)
Demultiplexing går den modsatte vej.
Hvilke to transportlagsprotokoller beskæftiger vi os med?
TCP og UDP
Hvad bruges TCP protokollen til?
At definere hvordan den logiske kommunikation mellem to processer, på to forskellige hosts, skal foregå.
Hvad kendetegner TCP protokollen?
- Forbindelses orienteret
- Pålidelig
- Point-to-point
- Stream interface
- Flow control
Hvad vil det sige at TCP er forbindelses orienteret?
Den logiske forbindelse til destinationen skal først oprettes før data kan overføres
Denne forbindelse skabes med et såkaldt “Three Way Handshake”. Her sender klienten først en synkroniseringsbesked (SYN), hvorefter serveren svarer med et acknowledgement sammen med en synkroniseringsbesked. Til sidst besvarer klienten med et acknowledgement.
Hvad vil det sige at TCP protokollen er pålidelig?
Alt der er sendt afsted bliver modtaget, og i den rigtige rækkefølge.
Hvilke protokoller bruges til at sikre TCP protokollens pålidelighed? Forklar overordnet hvordan protokollerne ser ud.
Go-Back-N protokollen:
- En sliding window protokol
- Modtageren holder kun styr på den sidst korrekte modtagne pakke. På den måde ved den hvilken pakke der
skal komme næst.
- Hvis en pakke ikke når frem, eller pakkerne pludselig ikke kommer i rigtig rækkefølge, bliver alle pakker der er
sendt afsted efter den sidste korrekte pakke retransmitteret - altså sendt afsted igen.
Selective repeat protokollen:
- En sliding window protokol
- Fungerer langt hen af vejen på samme måde som Go-Back-N, men her holder modtageren styr på alle de
pakker der er modtaget. Hvis en pakke så ikke kommer frem som planlagt, kan den godt bekræfte
modtagelsen af pakker efter den tabte pakke. Den vil dog så bede om at få retransmitteret den tabte pakke.
Hvad vil det sige at TCP protokollen har et stream interface (stream byte orienteret)?
TCP har en buffer hvori dataen fra applikationslaget fyldes i efterhånden. Når TCP synes at bufferen er ved at være fyldt, pakkes det ind i et segment og sendes videre. Der er ligeledes en buffer på modtagersiden.
Hvad vil det sige at TCP protokollen har flow control?
Flow control sørger for at modtager bufferen ikke bliver for fyldt, fordi det i så fald vil betyde at pakker hives væk og forsvinder.
Afsender vedligeholder en variabel der kaldes ‘Receive Window’. Denne variabel siger noget om hvor meget plads der er tilbage i bufferen. Denne variabel sættes hver gang transportlaget skubber data ind i bufferen. Derfor bliver den ved med at sende en enkelt byte afsted i tilfælde af, at bufferen er ved at være fyldt - ellers kan variablen jo ikke opdateres.
Forklar billedet?
Lukning af en TCP forbindelse. Minder meget om det Three Way Handshake der finder sted ved oprettelse af en forbindelse, bortset fra, at der her sendes fire beskeder i stedet for tre.
Hvad bliver data fra applikationslaget pakket ind i på transportlaget ved brug af TCP protokollen?
Et segment.
Hvad bliver data fra applikationslaget pakket ind i på transportlaget ved brug af UDP protokollen?
Et datagram.
Hvad bruges UDP protokollen til?
At definere hvordan den logiske kommunikation mellem to processer, på to forskellige hosts, skal foregå.
Hvad kendetegner UDP protokollen?
- Pakke orienteret
- Forbindelsesløs
- Upålidelig
- Low overhead
Hvad vil det sige at UDP protokollen er pakke orienteret?
Data pakkes ind i et datagram - benytter sig ikke af nogen buffer som TCP gør.
Hvad vil det sige at UDP protokollen er forbindelsesløs?
Der laves ikke et Three Way Handshake.
Hvad vil det sige at UDP protokollen er upålidelig?
Der er ingen sikring på, at pakkerne modtages korrekt, eftersom der laves ikke acknowledgement når pakkerne modtages. Desuden er der ikke sikring om, at pakkerne modtages i den rigtige rækkefølge.
Hvad vil det sige at UDP protokollen har low overhead?
Meget lille header - en letvægtsprotokol sammenlignet med TCP.
Hvilken kommunikation er det vi beskæftiger os med på netværkslaget?
Host til host kommunikation.
Hvad er internetworking? Og hvad er formålet med det?
Hardware og software bruges til at forbinde de forskellige netværksteknologier så de fremstår som en helhed - altså en universel service der kører på et heterogent netværk. Sørger for at internettet føles som én helhed.
Hvad bruges til at forbinde netværket?
Routere og switches
Hvilken hardware beskæftiger vi os med på netværkslaget? Og hvilken gør vi ikke?
Netværkslaget beskæftiger sig med routere, og ikke switches - eftersom de kun implementerer protokolstakken til og med datalinklaget.
Med hvilke kombinationer kan routere forbinde et heterogent netværk?
En router kan forbinde to LAN, to WAN eller et LAN til en WAN.
Hvad er funktionerne i netværkslaget?
Forwarding og routing.
Hvad er forwarding? Og hvad er essentielt for at kunne forwarde?
Processen i at flytte pakker fra routerens inputlink til dens outputlink.
Det er essentielt at hver ruter har en forwardingstabel, som implementerer en routingsalgoritme, der beslutter hvilken port pakken skal ud igennem.
Hvad er routing?
Beslutning af den rute pakken skal følge gennem netværket. Kan gøres med en række forskellige routingsalgoritmer - hver router i netværket har en forwardingstabel der implementerer en af disse algoritmer.
Hvad pakkes et segment/datagram fra transportlaget yderligere ind i på netværkslaget? Og hvad indeholder denne af yderligere information?
Et datagram. Indeholder IP på den modtagende host.
Nævn de vigtige komponenter i en router?
- Input porte
- Output porte
- Switch fabric
- Routing processor
Hvad sker der når et frame når frem til en routers input port?
Datagrammet bliver pakket ud af sin frame og forwardingstabellen bruges til at bestemme outputporten.
Hvad er formålet med en Switch fabric i routeren?
Forbinder input og output porte og sørger for forwarding.
På hvilke tre måder kan forwarding ske i routerens switch fabric?
Kan gøres via memory
- Bruger processorens memory til at flytte pakken fra input til output port.
Kan gøres via en bus
- Pakken tildeles en output port. Bussen “kører forbi” alle porte, men kun den port som pakken tilhører får pakken. Kun en pakke kan bruge bussen af gangen
Kan gøres via en crossbar
- Er et helt netværk af busser. Derfor kan pakker forwardes parallelt hvis de ikke skal fra og til samme port.
Hvad gør routingsprocessoren i en router?
Implementerer en bestemt routing protokol.
Hvad sker der når et datagram når frem til routerens output port?
Datagrammet pakkes ind i sin frame igen. Sendes videre ud på netværket.
Hvad er formålet med brugen af IP-adresser?
IP adressen er et nummer der gør det muligt for to hosts at kommunikere med hinanden. IP adresseringen er med til at gøre, at internettet føles som en helhed.
Hvilke to informationer indeholder en IP-adresse helt overordnet?
Den første del af IP adressen fortæller hvilket NETVÆRK en host sidder på, mens den anden del af IP adressen fortæller hvilken specifik HOST på netværket det drejer sig om.
Forklar “Time-to-live” headeren. Hvad siger “Upper-layer protocol” noget om?
Time to live:
- Det defineres hvor mange routere datagrammet må køre igennem før den når destinationen (for at sikre mod uendelig cirklen i nettet). Hver gang datagrammet kommer til en ny router bliver Time-to-live minusset med 1.
Upper-layer protocol:
- Definerer hvilken transportlagsprotokol der bruges.
Hvad er den største forskel mellem IPv4 og IPv6 protokollen?
Størrelsen på datagrammernes headere. IPv6 blev primært implementeret på baggrund af mangel på IP adresser.
Hvor stor er headeren på et IPv4 datagram?
32 bits
Hvor stor er headeren på et IPv6 datagram?
128 bits
Hvad er princippet bag private IP adresser? Hvorfor bruges de? Hvad er deres begrænsninger?
- Bruges på private netværk - eks. I hjemmet eller i en virksomhed.
- Ved hjælp af NAT (Network Adress Translator) oversættes den private IP adresse til en offentlig IP. På den måde kan en stor mængde computere bruge en enkelt unik offentlig IP adresse.
- Kan ikke bruges ude på internettet, fordi de ikke er unikke.
Hvad er en NAT? Hvad bruges den til? Og hvor er den implementeret?
NAT (Network Address Translator):
- Indbygget i en router
- Oversætter fra offentlig IP til privat IP - og modsat.
Hvad er tunneling? Og hvornår bruges det?
Hvis vi har to IPv6 hosts der skal sende over et IPv4 netværk:
- Der bruges Dual-stack routere som kan forstå både IPv4 og IPv6.
- Den første router tilføjer en IPv4 header på IPv6 pakken, hvorefter den anden router fjerner IPv4 headeren
igen.
Hvad bruges DHCP protokollen (Dynamic Host Configuration Protocol) til? Og hvordan fungerer den?
Bruges til “udlejning” af IP adresser på et offentligt netværk - eksempelvis på en skole.
○ En DHCP server indeholder en række IP adresser.
○ En klient forespørger på en IP.
○ Serveren tilbyder en IP.
○ Klienten vælger den tilbudte IP.
○ Serveren laver acknowledgement.
○ Klienten tjekker for konklift ved IP adressen med ARP protokollen.
○ Serveren svarer tilbage om der er konflikt.
Hvad er det overordnede mål med en routingsalgoritme?
At finde den bedste (hurtigste) rute fra a til b.
Hvilke to forskellige matematiske tilgange til routing beskæftiger vi os med?
Dijkstra algortimen og Bellman-Ford algoritmen.
Hvad er principperne bag Dijkstra algoritmen?
Skal kende alle knuder og link i netværket, samt vægten på hvert link. (netværkstopologien)
Algoritmen kører derfor igennem alle knuder i netværket og beregner hvert link imellem dem. På den måde findes den korteste/hurtigste rute.
Hvad er principperne bag Bellman-Ford algoritmen?
- Arbejder med distance vectorer.
- Hver knude har sin egen, samt alle naboernes, distance vector.
- Når en distance vector opdateres i en knude, sendes opdateringen til naboerne, som herefter opdaterer deres vector (hvis vægten er mindre end den nuværende). Dette loop kører indtil der ikke længere er ændringer.
Forklar beregningen på billedet.
U kender sine naboers distance vector (omkostning) til Z, samt sine egne distance vectorer til naboerne.
U beregner dermed sin egen distance til Z, ved at lægge sin egen distance vector til naboen, sammen med naboens distance vector til Z. Den udvælger herefter den mindste af værdierne og gør denne til dens egen distance vector til Z.
Hvad beskæftiger data-link laget sig helt overordnet med?
Kommunikation over links - eksempelvis fra én router i netværket til en anden.
Hvad er en MAC adresse?
En fysisk adresse der sidder på hardwaren. MAC adressen er derfor altid den samme - modsat IP adressen.
Er oftest 6 bytes lang.
Hvad er en Switch og hvad bruges den til?
En switch er et stykke hardware, der bruges til at sende et frame gennem netværket.
Hvad er ARP (Address Resolution Protocol) protokollen?
Oversætter fra IP adresse til MAC adresse.
Hvad bruges synkronisering til i et distribueret system?
Til at sørge for, at kun en proces har adgang til den kritiske sektion af gangen. Dette er for at sikre samtidighedskontrol.
Hvilke to kategorier kan brugen af gensidig udelukkelse i et distribueret system deles op i?
Permission baseret og Token-passing baseret
Hvordan fungerer central permission baseret synkronisering i et distribueret system?
Det vil sige, at der er flere end en host, men kun en central kontrol knude der kontrollerer alle host´enes tilgang til den kritiske sektion. Hvis flere hosts forsøger at tilgå den kritiske sektion på samme tid, bliver de sat i kø.
Hvordan fungerer distribueret permission baseret synkronisering i et distribueret system?
Hver knude i det distribuerede system har et array der holder øje med timestamps for afsendte og modtagne beskeder. Knuderne giver hinanden tilladelse til at tilgå den kritiske sektion med request og reply beskeder. Hvis en knude modtager et reply fra alle andre knuder, betyder det at den har fået tilladelse til at tilgå den kritiske sektion.
Hvad er en logisk clock i et distribueret system med distribueret permission baseret synkronisering?
En erstatning for et fysisk ur. Er i stedet et logisk ur - eller et såkaldt timestamp. Er en matematisk beregning af, hvilken hændelse der kom først.
Hvad er et site når vi snakker databaser?
En selvstændig maskine der kommunikerer med andre sites via et datakommunikationsnetværk.
Hvilke tre kategorier af databaser findes der?
Central, remote og distribueret.
Hvad kendetegner en central database?
Her er databasesystemet (DBMS) og applikationer placeret på samme site
Hvad kendetegner en remote database?
Her er databasesystemet (DBMS) og applikationer placeret på hver deres site
Hvad kendetegner en distribueret database?
Her er databasesystemet (DBMS) og databasen placeret på flere sites, men opfattes som logisk integrerede.
Hvad er lav transparens i en distribueret database? Hvad er ulemperne?
Betyder at det er op til programmørerne selv at finde ud af, hvilke tabeller der indeholder hvilke data - og på hvilken database de er placeret.
Ulemper:
- Sårbar løsning overfor ændringer
- Op til udviklerne at løse
Hvad er høj transparens i en distribueret database? Hvad er ulemperne?
Her sender programmørerne blot en query afsted til én databaseserver, hvor denne så har ansvaret for kommunikere med de andre databaseservere, for at hente informationen i den rigtige tabel på den rigtige database.
Vi går efter høj transparens i en distribueret database - på den måde føles den som en central database i praksis.
Ulemper:
- Er mere kompleks at implementere
- Stiller store krav til databaseserverne
Hvad vil det sige at en distribueret database er homogen?
Når alle databaseservere har samme databasemodel (eks. Relationel database), databasesystem (eks. MS-SQL-server) og afvikles på samme platform (eks. Windows, linux osv).
Hvad vil det sige at en distribueret database er heterogen?
Når blot én databaseserver har en anden databasemodel (eks. Relationel database), databasesystem (eks. MS-SQL-server) eller afvikles på en anden platform (eks. Windows, linux osv).
Er denne distribuerede database homogen eller heterogen? Og i hvor høj grad?
Heterogen. I ret høj grad - de deler kun databasemodel.
Hvad betyder det at en distribueret database er designet med et top-down approach?
Lavet fra starten af med udgangspunkt i en datamodel (domænemodel/analyse klassediagram) hvor der mappes til skemaer. Er den “rene” måde at lave en distribueret database på.
Hvad betyder det at en distribueret database er designet med et bottom-up approach? Hvad er den største ulempe ved det?
Bruges når der først senere er opstået et ønske om at lave en distribueret database med udgangspunkt i flere selvstændige databaser, med hver sin lokale datamodel. Her forsøger man på baggrund af de lokale databaser at lave et globalt skema (samlet beskrivelse).
Bottom up er en noget mere besværlig løsning, eftersom der ofte er store variationer i dataene mellem hver lokale database.
Hvad er baggrunden for at vælge en distribueret database ved top-down approach?
Baserer sig ofte på en eller flere af følgende ønsker:
○ Forøget parallelisme
○ Udnyttelse af eksisterende maskin- og diskkapacitet.
○ Mindre netværksbelastning.
○ Stor belastning betyder, at en server vil have svært ved at følge med.
○ Mindre sårbarhed ved nedbrud.
○ Forbedret samlet performance/svartid
○ Ønsket om decentral indflydelse (autonomi)