Deze website gebruikt cookies (en daarmee vergelijkbare technieken) om het bezoek voor u nog makkelijker en persoonlijker te maken. Met deze cookies kunnen wij en derde partijen uw internetgedrag binnen en buiten onze website volgen en verzamelen.
Hiermee kunnen wij en derde partijen advertenties aanpassen aan uw interesses en kunt u informatie delen via social media.
Klik op 'Ik ga akkoord' om cookies te accepteren en direct door te gaan naar de website of klik op om uw voorkeuren voor cookies te wijzigen. Bekijk onze privacyverklaring voor meer informatie.
$altText
Computernetwerken
Informatica en informatiekunde | 5 EC
Code IB0702
Prijsindicatie € 324
Deze cursus kunt u op elk gewenst moment starten. Kijk in het Jaarrooster wanneer de begeleiding is ingeroosterd.

Algemeen

Inhoud

De cursus begint met een algemene inleiding in computernetwerken en het internet. Hierna wordt een aantal basisconcepten geïntroduceerd aan de hand van het ontwerp van computersystemen en besturingssystemen. De belangrijkste concepten die hierbij aan bod komen zijn latency, throughput, abstractie, en encapsulatie. We besteden uitvoerig aandacht aan deze onderwerpen. Allereerst omdat het verlagen van latency en het verhogen van throughput vaak noodzakelijk zijn, simpelweg omdat we de prestaties van een computersysteem of een computernetwerk willen verbeteren (ze zijn gerelateerd aan de requirements van een systeem). Daarnaast zijn encapsulatie en abstractie manieren om de complexiteit van systemen en problemen te beteugelen. Encapsulatie is een veelgebruikte manier om implementatiedetails te verbergen. Abstractie geeft een generalisatie, bijvoorbeeld om op een generieke manier te communiceren met harde schijven van verschillende fabrikanten.

In computernetwerken wordt encapsulatie gebruikt om implementatiedetails stapsgewijs te verbergen. Om dit te realiseren wordt de functionaliteit binnen een computernetwerk opgedeeld in vijf lagen:
- Applicatielaag;
- Transportlaag;
- Netwerklaag;
- Linklaag;
- Fysieke laag.
We noemen dit lagenmodel ook wel de Internet protocolstack. De fysieke laag beschrijft vooral hoe bits op een natuurkundige/elektrotechnische manier verstuurd kunnen worden via verschillende media. Deze laag komt in deze cursus niet aan bod. De overige vier lagen worden elk afzonderlijk bestudeerd.

De applicatielaag is de bovenste laag in de protocolstack, en dit is het deel van het netwerk waar je als gebruiker direct mee te maken hebt. Alledaagse dingen zoals het opvragen van een webpagina en het versturen van een e-mail worden gedaan met behulp van een protocol op het niveau van de applicatielaag. We besteden hier aandacht aan de verschillende communicatiearchitecturen, zoals client-server, en de analyse van throughput en latency van een netwerkverbinding. Om effectief te communiceren gebruiken we domeinnamen, zoals ou.nl; het onderliggende netwerk gebruikt echter IP-adressen, zoals 145.20.124.148. Domeinnamen worden in IP-adressen omgezet door het DNS-protocol.

Elk bericht op de applicatielaag wordt via de onderliggende transportlaag verstuurd. Hiervoor zijn grofweg twee manieren, afhankelijk van de eisen die de applicatielaag stelt. Er kan op de transportlaag vooraf een verbinding opgezet worden, die ervoor zorgt dat alle berichten gegarandeerd, en in de juiste volgorde aankomen; dit wordt gedaan door het TCP protocol. Als het niet nodig is dat alle berichten aankomen (bijvoorbeeld bij het streamen van een video), kan er gebruikgemaakt worden van UDP. Beide protocollen worden uitgebreid besproken, en we gaan in op voor- en nadelen van deze protocollen.

Nu we op een hoog niveau berichten kunnen verzenden van de ene computer naar de andere, kunnen we ons afvragen hoe we ervoor kunnen zorgen dat een bericht uit Heerlen een computer in de VS weet te bereiken. Dit wordt verzorgd door de netwerklaag. De netwerklaag heeft twee verantwoordelijkheden: op lokaal niveau wordt er aan de hand van een forwarding tabel gekeken naar welk ’buursysteem’ een bericht doorgestuurd moet worden. Dit gebeurt hoofdzakelijk in routers: knooppunten die verschillende delen van het netwerk aan elkaar koppelen. Op globaal niveau moet ervoor gezorgd worden dat deze forwarding tabel op de juiste manier ingevuld wordt, zodat, via een aantal hops (stapjes langs verschillende routers) het bericht uiteindelijk op de juiste bestemming terechtkomt. We bekijken hoe je kunt zorgen dat er een pad is tussen de twee computersystemen die berichten uitwisselen, en bekijken een manier waarop gezorgd kan worden dat dit het kortst mogelijke, of goedkoopste pad is.

Uiteindelijk vragen we ons af hoe berichten op lokaal niveau via een verbinding verstuurd worden, voordat de router bereikt is. Dit wordt afgehandeld door de linklaag. Waar we op hoog niveau gebruikmaken van IP-adressen om systemen te identificeren wordt hiervoor op de linklaag gebruikgemaakt van MAC-adressen. De linklaag zorgt ervoor dat systemen op het juiste moment toegang krijgen tot de verbinding, dat berichten op dit niveau op een betrouwbare manier afgeleverd worden, en dat bovendien fouten in de informatieoverdracht gedetecteerd, en soms zelfs gecorrigeerd kunnen worden.

Tot slot bekijken we hoe de verschillende lagen en andere eerder besproken concepten toegepast worden in draadloze en mobiele netwerken.

Leerdoelen
Na bestudering van de cursus bent u in staat om:
- de basisconcepten throughput, latency, abstractie, en encapsulatie uit te leggen.
- uit te leggen hoe de architectuur van een modern computersysteem (in het bijzonder de CPU) in elkaar zit, en aan te geven hoe de basisconcepten hierin doorwerken.
- uit te leggen hoe het besturingssysteem een abstractielaag vormt tussen de hardware en (applicatie)software.
- uit te leggen hoe en waarom encapsulatie in computernetwerken gebruikt wordt.
- voor elk van de lagen in de IP-stack hun rol uit te leggen.
- uit een gegeven verzameling eisen voor elke laag in de IP-stack passende communicatieprotocollen te identificeren.
- gebaseerd op de theorie de latency en throughput van eenvoudige netwerken te berekenen.

Aanmelden

Aanmelden

Aanmelden is mogelijk voor iedereen.

Toelichting aanmelden

De inschrijfduur van 12 maanden start 14 dagen na de verwerking van uw aanmelding voor deze cursus. Aanmelden voor het tentamen kan pas nadat uw inschrijfduur gestart is.
Houdt daarom bij het aanmelden voor deze cursus rekening met de aanmeldtermijn voor de tentamens en met de data van eventuele begeleidingsbijeenkomsten.

Voorkennis

Voor deze cursus wordt een basisbegrip van de informatica verondersteld, bijvoorbeeld op het niveau van Inleiding Informatica. Omdat een Engelstalig tekstboek wordt gebruikt, is een goede Engelse leesvaardigheid vereist.

Begeleiding

Begeleidingsvorm

Deze cursus kunt u op elk gewenst moment starten. Kijk in het Jaarrooster wanneer de begeleiding is ingeroosterd.

Een aantal virtuele begeleidingsbijeenkomsten.

Begeleidingsbijeenkomsten


Utrecht (Studiedag Informatica)
Kwartiel 2 - begeleider: dhr. dhr. drs. B. van Gastel
za 23-11-2019 / 19.30-21.00 uur

Online bijeenkomsten
Kwartiel 1 - begeleider: dhr. dhr. drs. B. van Gastel
1. wo 11-09-2019 / 19.30-21.00 uur
2. wo 02-10-2019 / 19.30-21.00 uur
Kwartiel 2 - begeleider: dhr. dhr. drs. B. van Gastel
1. wo 18-12-2019 / 19.30-21.00 uur

Docenten

Dhr. dr. G. Alpár en dhr. dr. B. Van Gastel.

Bereikbaarheidsoverzicht

Bereikbaarheidsinformatie docenten/examinatoren

Tentamen

Tentamenvorm

Regulier schriftelijk tentamen bestaande uit open vragen (ov).

Tentamentoelichting

U dient zelf tijdig aan te melden voor een tentamen.

Tentamendata

10-07-2019, 06-02-2020, 21-04-2020, 08-07-2020.

Tentamenhulpmiddelen

Een 'schoon' verklarend Nederlands woordenboek (op eigen risico)
Een niet-programmeerbare zakrekenmachine

Meer info

Cursusmateriaal

Deze cursus bestaat uit een Engelstalig tekstboek en aanvullend Nederlandstalig materiaal dat via de digitale leeromgeving wordt aangeboden.

Digitale leeromgeving

Als student (na inschrijving) kunt u via de cursussite in de digitale leeromgeving naar de discussiegroepen. Hier kunt u met medestudenten en begeleider informatie uitwisselen en discussiëren over de leerstof.