studiehandbok@lith
 

Tekniska högskolan vid Linköpings universitet

 
 
År : 2017
 
TDTS04 Datornät och distribuerade system, 8 hp
/Computer Networks and Distributed Systems/

För:   DI   I   Ii   IP  

 

Prel. schemalagd tid: 54
Rek. självstudietid: 159

  Utbildningsområde: Teknik

Huvudområde: Datateknik   Nivå (G1,G2,A): G2

  Mål:  IUAE-matris
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 CORBA och Java RMI), och webbaserade distribuerade system (inklusive hur en proxycache fungerar)


  Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan)
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ö.

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.

  Påbyggnadskurser
Avanserade nätverk; Systeminstallation.

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

  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.

  Kurslitteratur:
Huvudbok: Kurose, J. F. & Ross, K. W. (2012), Computer networking: a top-down approach. Sixth Edition. Pearson.

  Examination:
TEN1 LAB1
En skriftlig tenatamen (U,3,4,5)
En laborationskurs (U,G)
5 hp
3 hp
 



Undervisningsspråk är Engelska.
Institution: IDA.
Studierektor: Patrick Lambrix
Examinator: Andrei Gurtov
Länk till kurshemsida på kursgivande institution
Ansvarig programnämnd: Data&Medie

Engelsk kursplan


Tekniska högskolan vid Linköpings universitet


Informationsansvarig: TFK , val@tfk.liu.se
Senast ändrad: 06/17/2013