Computer Networks



Course Description

Computer networking, specially the Internet, is an essential part of the modern human life. Technologies such as Ethernet, Bluetooth, WiFi, ADSL, Lte, 5G, IoT and sensor networks, cloud computing, Web, BitTorrent, Email, Skype, whatsapp are just a few from the ever-growing list of networking products. This course is about the basic ideas and technologies made all these wonders happen. The main topics are different network architectures (packet/circuit switching), network applications, inter-networking principles (TCP/IP), and underlying link technologies.


Importance

What are your recommendations for students who want careers in computer science and networking?

It’s a wonderful field—computers and networking have probably had more impact on society than any invention since the book. Networking is fundamentally about connecting stuff, and studying it helps you make intellectual connections: Ant foraging & Bee dances demonstrate protocol design better than RFCs, traffic jams or people leaving a packed stadium are the essence of congestion, and students finding flights back to school in a post-Thanksgiving blizzard are the core of dynamic routing. If you’re interested in lots of stuff and want to have an impact, it’s hard to imagine a better field. — Van Jacobson [Computer Networking: A Top-Down Approach]


Topics & Course Plan

Session No. Subject Homework & Project
Computer Networks and the Internet
1 & 2

(17,19/11)

Introduction

Internet, Protocol, Network edge

3 & 4

(24,26/11)

HFC, ADSL, WiFi, Links

Packet switching, Circuit switching, Internet structure

5 & 6

(1,3/12)

Delay, Throughput, Loss

Protocol Layers

HW1 (4/12)
Application Layer
7 & 8

(8,10/12)

p2p, client-server, socket programming

Web, Persistent/Non-persistent/Parallel, Request/Response messages

HW1: due date (13/12)
9 & 10

(15,17/12)

Cookie, Web cache, HTTP/2

DNS, Root/TLD/Authoritative/Local DNS servers

Quiz1 (19-21/12)
11 & 12

(22,24/12)

DNS records, DNS messages, Domain Registration, DNS security

BitTorrent, Video streaming, CDN

HW2, Prj1 (25/12)
Transport Layer
13 & 14

(14,16/1)

Mux/Demux

UDP, rdt introduction

HW2 & Prj1 due date (19/1)

Quiz2 (18-20/1)

15 & 16

(21,23/1)

rdt.1/2/3

Pipeline, GBN

17 & 18

(28,30/1)

SR, TCP introduction

rdt in TCP

HW3 (31/1)
Network Layer
19 & 20

(4,6/2)

TCP life-cycle, Network layer introduction

Router's internal structure: input ports, switching fabric

HW3 due date (9/2)
21 & 22

(11,13/2)

Router's internal structure: output ports, IP introduction

DHCP, NAT

Prj2 (14/2)
23 & 24

(18,20/2)

IPv6, middle-boxes

Routing Protocols:LS, DV

(Midterm: TBA)
25 & 26 (part 1)

(25,27/2)

Routing in Internet: OSPF, BGP

ICMP

HW4 (28/2)
Link Layer
26 (part 2) (27/2)

Introduction, Error detection and correction

27 & 28

(1,3/3)

Multiple Access (MAC)

MAC address, ARP, Ethernet, Switch, A comprehensive example

HW4 due date (6/3)

Quiz3 (5-7/3)

Prj2 due date (13/3)

Marking

  • Homeworks: 15%
  • Projects: 20%
  • Quiz: 10% (ignoring the least)
  • Midterm: 25%
  • Final: 35%
  • Activity (discussion questions, online sessions, ...): 5%

For each homework/project, late submission (before TA sessions) is accepted but with a penalty of 5% per day.


Resources

Required textbook:

James F. Kurose , Keith W. Ross, Computer Networking: A Top-Down Approach, Pearson, 8th edition, 2020

The following references are also recommended:

  • BA Forouzan, Data Communications and Networking, McGraw-Hill, 2007
  • Dimitri Bertsekas , Robert Gallager, Data Networks, 2nd edition, Prentice-Hall, 1992
  • Larry L. Peterson, Bruce S. Davie, Computer Networks: A Systems Approach, 5th edition, Morgan Kaufmann Publishers, 2011


Prerequisite

  • Programming
  • Signal and systems

  • TA Team

    Bachelor student at Isfahan University of Technology.
    • Email: amirarsalan.yavari@ec.iut.ac.ir
    • Telegram: @AmirArsalanYavari
    • Linkedin: https://www.linkedin.com/in/arsalan-yavari
    Bachelor student at Isfahan University of Technology.
    • Email: mjalali@ec.iut.ac.ir
    • Telegram: @m_jalali2000
    • Linkedin: https://www.linkedin.com/in/mjalali/
    Bachelor student at Isfahan University of Technology.
    • Email: mehrdad.eshraghi@ec.iut.ac.ir
    • Telegram: @mehrdad_esh0
    • Linkein: https://www.linkedin.com/in/mehrdad-eshraghi/
    Bachelor student at Isfahan University of Technology.
    • Email: barghi@ec.iut.ac.ir
    • Telegram: @mmbarghi
    • Linkein: https://www.linkedin.com/in/mohammad-mahdi-barghi-23a232151/
    Bachelor student at Isfahan University of Technology.
    • Email: sepehrshirani@ec.iut.ac.ir
    • Telegram: @sepovsky
    • Linkein: https://www.linkedin.com/in/sepehr-shirani-b8a5871b6

    Mailing List

    Important announcements will be sent to the class mailing list (yekta.iut.ac.ir) and also posted to the web page. Please check your mailbox frequently. The preferred method to contact me is through my email: mrheidar@iut.ac.ir

    Class News

    • 17/11: Class starts!