Introduction to Computer Networks

This course introduces the design principles of computer networks. The topics include access control in both wired and wireless networks, routing and IP, transport services (TCP/UDP), network applications (HTTP/DNS), local-area and wide-area networks and mobility management.



     Instructor:   林靖茹 Kate C.-J. Lin   katelin [at]     EC-538   Office Hour: By appointment  
TA: 孫造鴻 a0987973312 [at] Office Hour: By appointment  
戴子鈞 danny821014 [at] Office Hour: By appointment  



James F. Kurose and Keith W. Ross

Computer Networking: A top-down approach
Global edition, 7th edition
Pearson 2017





Lab1 will be held on Sep. 28, 1pm at EC-315/316


Please join the Facebook page: NCTU CN


  • Lecture 1: Course overview and introduction
  • Lecture 2: Network applications
  • Lecture 3: Transport services
  • Lecture 4: Network layer (Data plane)
  • Lecture 5: Network layer (Control plane)
  • Lecture 6: Link layer and wireless access


Lab1: packet sniffing

In this lab, you will learn how to use WireShark to monitor your Internet traffic. There are two tasks in this lab as follows:
  • Task 1: GUI
  • In this task, you will record a packet trace as uploading a file to our server using scp. WireShark provides several statistics tools that can help you understand your tracing simply using GUI. You need to (1) set up a proper filtering rules to look for the packets of the scp connection, and 2) use the built-in GUI to plot the time-sequence figure of the scp connection.

  • Task 2: Offline processing via Python
  • In this task, you will record a packet trace as receiving two files from our server using wget. Beside GUI, you can also write a program to read out the information of every packet in the trace (or the filtered packets). In this task, you will learn how to write a Python code to parse the packets. The example Python code will help you print the detailed information of every packet. You need to modify the example Python code to filter the packets you are interested in, and calculate the average throughput of each wget connection over time. To do so, you need to (1) filter the packets using proper rules (e.g., IP addresses and/or port), (2) partition the trace into several non-overlapping time-segments, and calculate the average throughput of each segment of each connection. After plotting the throughput figure, you might observe whether the two connections obtain fair share and how the throughput fluctuates over time.
The detailed slides and the required files have been uploaded to E3.
Due: 2017.10.12 23:59 (Upload your files to E3)

Contact Us

Powered by w3.css