Datornät och distribuerade system, 8 hp

Computer Networks and Distributed Systems, 8 credits

TDTS04

Huvudområde

Datateknik Programmering

Utbildningsnivå

Grundnivå

Kurstyp

Programkurs

Examinator

Andrei Gurtov

Studierektor eller motsvarande

Patrick Lambrix

Undervisningstid

Preliminär schemalagd tid: 54 h
Rekommenderad självstudietid: 159 h

Tillgänglig för utbytesstudenter

Ja
VOF = Valbar / Obligatorisk / Frivillig
Kursen ges för Termin Period Block Språk Ort/Campus VOF
6CIII Civilingenjör i industriell ekonomi 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, franska 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, franska (Teknisk inriktning Datateknik) 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, japanska 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, japanska (Teknisk inriktning Datateknik) 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, kinesiska 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, kinesiska (Teknisk inriktning Datateknik) 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, spanska 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, spanska (Teknisk inriktning Datateknik) 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, tyska 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, tyska (Teknisk inriktning Datateknik) 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6CIII Civilingenjör i industriell ekonomi (Teknisk inriktning Datateknik) 8 (VT 2018) 1 2 Engelska Linköping, Valla V
6IDAT Högskoleingenjör i datateknik (Inbyggda system) 4 (VT 2018) 1 2 Engelska Linköping, Valla O
6IDAT Högskoleingenjör i datateknik (Programvara) 4 (VT 2018) 1 2 Engelska Linköping, Valla O
6KIPR Innovativ programmering, kandidatprogram 2 (VT 2018) 1 2 Engelska Linköping, Valla O

Huvudområde

Datateknik, Programmering

Utbildningsnivå

Grundnivå

Fördjupningsnivå

G2X

Kursen ges för

  • Innovativ programmering, kandidatprogram
  • Högskoleingenjör i datateknik
  • Civilingenjör i industriell ekonomi - internationell
  • Civilingenjör i industriell ekonomi

Förkunskapskrav

OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.

Rekommenderade förkunskaper

Kunskaper i C, C++ eller Java krävs för att klara av laborationerna i kursen. Studenten förutsätts kunna konstruera och testa program i Unix/Solaris-miljö.

Lärandemål

Datornät spelar en allt viktigare roll i samhället. Det förutspås att det kommer att vara 50 miljarder enheter anslutna till Internet år 2020. Med en enorm ökning av antalet trådbundna och trådlösa enheter anslutna via Internet, samt förbättrad bandbredd och datorkapacitet, går vi mot ett samhälle där användare förväntar sig att få tillgång till vad de vill, precis närsomhelst och varsomhelst. För att möjliggöra denna utveckling och alla de nya tjänster som tillhandahålls över Internet (t.ex. sociala nätverk, strömmande video och "Internet av saker") är det därför viktigt för dagens studenter inom datavetenskap att ha en god förståelse för datornätverk.

TDTS04 är en grundläggande kurs i datornät och distribuerade system. Kursen behandlar grunderna för hur ett nätverk och dess tillämpningar fungerar, vad ett protokoll är, hur de fungerar och vad de viktigaste användningsområdena för Internet är. Kursen omfattar även grunderna i distribuerade system, och en del av de designavvägningar som dessa system ofta måste ta hänsyn till. I labbarna kommer du att lära dig mer om mekanismerna inom vissa av de viktigaste och mest grundläggande Internetprotokollen, samt viss grundläggande programmering inom distribuerade system. Den slutliga examinationen kommer att testa din förståelse och kunskap om ämnet. Efter kursen förväntas du kunna:

  • Förklara, beskriv, och analysera en typisk nätarkitektur, inklusive vikten av nätverkslager och inkapsling
  • Förklara de olika grundläggande typer av protokoll, kommunikationskanaler och nätverkstyper

Efter kursen bör du ha en tillämbar förståelse för nätverkets arkitektur och de protokoll som är förknippade med de olika lagren vilket innebär att:

  • Beskriva and analysera de vanligaste applikationslager protokolen och arkitekturerna på Internet, hur de fungerar, och de tjänster de erbjuder
  • Analysera och förklara viktiga design överväganden vid transportlagret, inklusive att kunna beskriva hur TCP:s flödeskontroll och kongestionkontroll fungerar, samt hur tillförlitlig dataöverföring implementeras i TCP
  • Motivera och förklara hur routing och vidarebefordran genomförs på Internet, inklusive att kunna beskriva hur IP-adressering och fragmentering fungerar
  • Beskriva och förklara olika länklager teknik och hur de fungerar

Du förväntas också förstå hur distribuerade system kan byggas på toppen av nätverksarkitekturen. Mer specifikt ska du kunna:

  • Definiera vad ett distribuerat system är och dess viktigaste mål
  • Förklara relationen mellan arkitektur, processer, och kommunikation
  • Exemplifiera olika typer av öppenhet, skalning tekniker
  • Analysera och förklara några av de grundläggande skillnaderna i olika systemarkitekturer
  • Beskriva och förklara hur man kan uppnå synkronisering, konsistens och replikering
  • Konstruera, motivera och förklara designen olika typer om distribuerade systemarkitekturer, inklusive objektbaserade distribuerade system (t.ex. med hjälp av Java RMI), MapReduce, och webbaserade distribuerade system (inklusive hur en proxycache fungerar)

 

Kursinnehåll

Grunder för distribuerade system, definitioner, transparens, skalbarhet, arkitekturer, exekveringstekniker för fjärrkod (rpc och portmappning) och socket-baserad kommunikation mellan processer. Fallgropar vid implementering av distribuerade system. Objektbaserade distribuerade system (Corba och Java RMI) och webbaserade distribuerade system (http och webbtjänster). Kommunikations- och processmodeller, namngivning, synkronisering, konsistens, cachning, replikering och feltolerans. UTC, NTP. Lamport- och vektorklockor. Ömsesidig uteslutning. Applikationsarkitekturer: klient-server (centraliserade, decentraliserade/p2p, flernivåarkitekturer) och hybrid, exemplifierade med http, e-post, filöverföring, DNS, Bittorrent och Skype. CDN och Akamai. Protokollterminologi. Protokollagerkonceptet. Referensmodeller för nätarkitekturer. Systemarkitekturer. Tillämpningsområden för datornät och distribuerade system och exempel på kommersiella nättjänster. Nättyper, deras kännetecken och komponenter (router, switch, repeater, hubb). Protokollmekanismer och kanaler. Accessnättekniker. Olika typer av MAC-protokoll. Kollisionsdomänkonceptet. Sliding window-protokollet. Feldetektering. Lokala nät (IEEE 802.3). Trådlösa nät (Bluetooth, WiFi och WiMax). Utökning av LAN. Internet och standardisering. TCP/IP-protokollfamiljen. Distansvektor- och länktillståndsroutning. ICMP. ARP. NAT. DHCP. Namngivning, adressering och routning på Internet. TCP:s återsändningstimer, flödeskontroll och stockningskontroll. Pålitlig dataöverföring i TCP. Trevägshandskakning. Nätprestandafrågor. Internettillämpningar (domännamnssystemet, e-post, filöverföring, webben och nätunderhåll). IP-telefoni. P2P-nät. DHT-datastrukturen. Internethistoria. Internetdesignprinciper. LAN-bakgrund. Utvecklingstrender.

Undervisnings- och arbetsformer

Kursen består av föreläsningar och laborationstillfällen.

Examination

LAB1En laborationskurs3 hpU, G
TEN1En skriftlig tentamen5 hpU, 3, 4, 5

Betygsskala

Fyrgradig skala, LiU, U, 3, 4, 5

Övrig information

Påbyggnadskurser:
Avanserade nätverk; Systeminstallation.

Om undervisningsspråk

Undervisningsspråk visas på respektive kurstillfälle på fliken "Översikt".

  • Observera att även om undervisningsspråk är svenska kan delar av kursen ges på engelska.
  • Om undervisningsspråk är Svenska/Engelska kan kursen i sin helhet ges på engelska vid behov.
  • Om undervisningsspråk är Engelska ges kursen i sin helhet på engelska. 

Övrigt

Kursen bedrivs på ett sådant sätt att både mäns och kvinnors erfarenhet och kunskaper synliggörs och utvecklas.

Planering och genomförande av kurs skall utgå från kursplanens formuleringar. Den kursvärdering som ingår i kursen skall därför genomföras med kursplanen som utgångspunkt. 

Institution

Institutionen för datavetenskap

Studierektor eller motsvarande

Patrick Lambrix

Examinator

Andrei Gurtov

Kurshemsida och andra länkar

http://www.ida.liu.se/~TDTS04/

Undervisningstid

Preliminär schemalagd tid: 54 h
Rekommenderad självstudietid: 159 h

Kurslitteratur

Huvudbok: Kurose, J. F. & Ross, K. W. (2017), Computer networking: a top-down approach. Seventh Edition. Pearson.
Kod Benämning Omfattning Betygsskala
LAB1 En laborationskurs 3 hp U, G
TEN1 En skriftlig tentamen 5 hp U, 3, 4, 5

Kursplan

För varje kurs finns en kursplan. I kursplanen anges kursens mål och innehåll samt de särskilda förkunskaper som erfordras för att den studerande skall kunna tillgodogöra sig undervisningen.

Schemaläggning

Schemaläggning av kurser görs efter, för kursen, beslutad blockindelning. För kurser med mindre än fem deltagare, och flertalet projektkurser läggs inget centralt schema.

Avbrott på kurs

Enligt rektors beslut om regler för registrering, avregistrering samt resultatrapportering (Dnr LiU-2015-01241) skall avbrott i studier registreras i Ladok. Alla studenter som inte deltar i kurs man registrerat sig på är alltså skyldiga att anmäla avbrottet så att kursregistreringen kan 
tas bort. Avanmälan från kurs görs via webbformulär, www.lith.liu.se/for-studenter/kurskomplettering?l=sv. 

Inställd kurs

Kurser med få deltagare ( < 10) kan ställas in eller organiseras på annat sätt än vad som är angivet i kursplanen. Om kurs skall ställas in eller avvikelse från kursplanen skall ske prövas och beslutas detta av programnämnden. 

Föreskrifter rörande examination och examinator 

Se särskilt beslut i regelsamlingen: http://styrdokument.liu.se/Regelsamling/VisaBeslut/622678 

Examination

Tentamen

Skriftlig och muntlig tentamen ges minst tre gånger årligen; en gång omedelbart efter kursens slut, en gång i augustiperioden samt vanligtvis i en av omtentamensperioderna. Annan placering beslutas av programnämnden.

Principer för tentamensschemat för kurser som följer läsperioderna:

  • kurser som ges Vt1 förstagångstenteras i mars och omtenteras i juni och i augusti
  • kurser som ges Vt2 förstagångstenteras i maj och omtenteras i augusti och i oktober
  • kurser som ges Ht1 förstagångstenteras i oktober och omtenteras i januari och augusti
  • kurser som ges Ht2 förstagångstenteras i januari och omtenteras i påsk och i augusti 

Tentamensschemat utgår från blockindelningen men avvikelser kan förekomma främst för kurser som samläses/samtenteras av flera program samt i lägre årskurs.

  • För kurser som av programnämnden beslutats vara vartannatårskurser ges tentamina 3 gånger endast under det år kursen ges.
  • För kurser som flyttas eller ställs in så att de ej ges under något eller några år ges tentamina 3 gånger under det närmast följande året med tentamenstillfällen motsvarande dem som gällde före flyttningen av kursen.
  • Har undervisningen upphört i en kurs ges under det närmast följande året tre tentamina samtidigt som tentamen ges i eventuell ersättningskurs, alternativt i samband med andra omtentamina. Dessutom ges tentamen ytterligare en gång under det därpå följande året om inte programnämnden föreskriver annat.
  • Om en kurs ges i flera perioder under året (för program eller vid skilda tillfällen för olika program) beslutar programnämnden/programnämnderna gemensamt om placeringen av och antalet omtentamina. 

Anmälan till tentamen

För deltagande i tentamina krävs att den studerande gjort förhandsanmälan i Studentportalen under anmälningsperioden, dvs tidigast 30 dagar och senast 10 dagar före tentamensdagen. Anvisad sal meddelas fyra dagar före tentamensdagen via e-post. Studerande, som inte förhandsanmält sitt deltagande riskerar att avvisas om plats inte finns inom ramen för tillgängliga skrivningsplatser.

Teckenförklaring till tentaanmälningssystemet:
  ** markerar att tentan ges för näst sista gången
  * markerar att tentan ges för sista gången 

Ordningsföreskrifter för studerande vid tentamensskrivningar

Se särskilt beslut i regelsamlingen: http://styrdokument.liu.se/Regelsamling/VisaBeslut/622682

Plussning

Vid Tekniska högskolan vid LiU har studerande rätt att genomgå förnyat prov för högre betyg på skriftliga tentamina samt datortentamina, dvs samtliga provmoment med kod TEN och DAT. På övriga examinationsmoment ges inte möjlighet till plussning, om inget annat anges i kursplan.

Regler för omprov

För regler för omprov vid andra examinationsformer än skriftliga tentamina och datortentamina hänvisas till LiU-föreskrifterna för examination och examinator, http://styrdokument.liu.se/Regelsamling/VisaBeslut/622678. 

Plagiering

Vid examination som innebär rapportskrivande och där studenten kan antas ha tillgång till andras källor (exempelvis vid självständiga arbeten, uppsatser etc) måste inlämnat material utformas i enlighet med god sed för källhänvisning (referenser eller citat med angivande av källa) vad gäller användning av andras text, bilder, idéer, data etc. Det ska även framgå ifall författaren återbrukat egen text, bilder, idéer, data etc från tidigare genomförd examination.

Underlåtelse att ange sådana källor kan betraktas som försök till vilseledande vid examination.

Försök till vilseledande

Vid grundad misstanke om att en student försökt vilseleda vid examination eller när en studieprestation ska bedömas ska enligt Högskoleförordningens 10 kapitel examinator anmäla det vidare till universitetets disciplinnämnd. Möjliga konsekvenser för den studerande är en avstängning från studierna eller en varning. För mer information se https://www.student.liu.se/studenttjanster/lagar-regler-rattigheter?l=sv.

Betyg

Företrädesvis skall betygen underkänd (U), godkänd (3), icke utan beröm godkänd (4) och med beröm godkänd (5) användas. Kurser som styrs av tekniska fakultetsstyrelsen fastställt tentamensschema skall därvid särskilt beaktas.

  1. Kurser med skriftlig tentamen skall ge betygen (U, 3, 4, 5).
  2. Kurser med stor del tillämpningsinriktade moment såsom laborationer, projekt eller grupparbeten får ges betygen underkänd (U) eller godkänd (G).

Examinationsmoment

  1. Skriftlig tentamen (TEN) skall ge betyg (U, 3, 4, 5).
  2. Examensarbete samt självständigt arbete ger betyg underkänd (U) eller godkänd (G).
  3. Examinationsmoment som kan ge betygen underkänd (U) eller godkänd (G) är laboration (LAB), projekt (PRA), kontrollskrivning (KTR), muntlig tentamen (MUN), datortentamen (DAT), uppgift (UPG), hemtentamina (HEM).
  4. Övriga examinationsmoment där examinationen uppfylls framför allt genom aktiv närvaro som annat (ANN), basgrupp (BAS) eller moment (MOM) ger betygen underkänd (U) eller godkänd (G).

Rapportering av den studerandes examinationsresultat sker på respektive institution.

Regler

Universitetet är en statlig myndighet vars verksamhet regleras av lagar och förordningar, exempelvis Högskolelagen och Högskoleförordningen. Förutom lagar och förordningar styrs verksamheten av ett antal styrdokument. I Linköpings universitets egna regelverk samlas gällande beslut av regelkaraktär som fattats av universitetsstyrelse, rektor samt fakultets- och områdesstyrelser. 

LiU:s regelsamling angående utbildning på grund- och avancerad nivå nås på http://styrdokument.liu.se/Regelsamling/Innehall/Utbildning_pa_grund-_och_avancerad_niva. 

Huvudbok: Kurose, J. F. & Ross, K. W. (2017), Computer networking: a top-down approach. Seventh Edition. Pearson.
I = Introducera, U = Undervisa, A = Använda
I U A Moduler Kommentar
1. ÄMNESKUNSKAPER
1.1 Kunskaper i grundläggande (motsvarande G1X) matematiska och naturvetenskapliga ämnen

                            
1.2 Kunskaper i grundläggande (motsvarande G1X) teknikvetenskapliga ämnen
X
X
X
TEN1
Förkunskaper C, C++ eller Java & Unixmiljö
1.3 Fördjupade kunskaper (motsvarande G2X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen
X
LAB1
Implementera distribuerade system i nätverk
1.4 Väsentligt fördjupade kunskaper (motsvarande A1X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen

                            
1.5 Insikt i aktuellt forsknings- och utvecklingsarbete

                            
2. INDIVIDUELLA OCH YRKESMÄSSIGA FÄRDIGHETER OCH FÖRHÅLLNINGSSÄTT
2.1 Analytiskt tänkande och problemlösning
X
X
LAB1
TEN1
Nätprestandaberäkningar
2.2 Experimenterande och undersökande arbetssätt samt kunskapsbildning
X
X
LAB1
TEN1
Relatera labblösningar till teori
2.3 Systemtänkande
X
X
LAB1
TEN1
Centralt
2.4 Förhållningssätt, tänkande och lärande
X
X
LAB1
Programmering och planering av ti
2.5 Etik, likabehandling och ansvarstagande

                            
3. FÖRMÅGA ATT ARBETA I GRUPP OCH ATT KOMMUNICERA
3.1 Arbete i grupp
X
Labgrupper
3.2 Kommunikation
X
Labgrupper
3.3 Kommunikation på främmande språk

                            
4. PLANERING, UTVECKLING, REALISERING OCH DRIFT AV TEKNISKA PRODUKTER OCH SYSTEM MED HÄNSYN TILL AFFÄRSMÄSSIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV
4.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling
X
Trender för nät och distribuerade system
4.2 Företags- och affärsmässiga villkor

                            
4.3 Att identifiera behov samt strukturera och planera utveckling av produkter och system
X
X
LAB1
Programmering i labbar
4.4 Att konstruera produkter och system
X
LAB1
Programmering i labbar
4.5 Att realisera produkter och system
X
X
LAB1
Programmering i labbar
4.6 Att ta i drift och använda produkter och system

                            
5. PLANERING, GENOMFÖRANDE OCH PRESENTATION AV FORSKNINGS- ELLER UTVECKLINGSPROJEKT MED HÄNSYN TILL VETENSKAPLIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV
5.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling för kunskapsutveckling

                            
5.2 Ekonomiska villkor för kunskapsutveckling

                            
5.3 Att identifiera behov samt strukturera och planera forsknings- eller utvecklingsprojekt

                            
5.4 Att genomföra forsknings- eller utvecklingsprojekt

                            
5.5 Att redovisa och utvärdera forsknings- eller utvecklingsprojekt

                            

Denna flik innehåller det material som är publikt i Lisam. Den information som publiceras här är inte juridiskt bindande, sådant material hittar du under övriga flikar på denna sida.

Det finns inga filer att visa.