CS:3640 Intro to Networks and Their Applications

Semester: Fall 2017

Instructor: Sikder Huq, 101A MLH, sikderrezwanul-huq AT uiowa.edu

Class meeting time: MWF 12:30-1:20P in 105 EPB

Office Hours: W 2:00-3:00P, Th 2:00-4:00P in 101A MLH, and by appointment

Teaching Assistant: Huyen Le, 101N MLH, huyen-t-le AT uiowa.edu

TA office hours: MF 9:00-10:30A in 101N MLH

Textbook

Computer Networking: A Top-Down Approach (7th Edition)

Kurose and Ross

Course objectives

Upon successful completion of this course, students are expected to:   

Grading

Final grade will be determined by the following components:

Homework assignments (50%): There will be five/six homework assignments during the semester. The assignments will include both theoretical and programming problems.

Exams (45%): There will be one mid-term and one final exam. The mid-term exam will cover 20% and final exam will cover 25% of the total grade.

Participation (5%): You are expected to actively peripatetic in the class discussions. You are also encouraged to answer your peers' questions on the ICON discussion forum. There might be be in-class short quizzes. Quizzes will be preannounced unless overall attendance rate drops below an acceptable threshold.

Grades will be curved. CLAS expects that senior level undergraduate classes to have the following approximate distribution: 22% A, 38% B, 36% C, 3% D and 1% F.

Late policy

You may use a quota of three days for the entire semester for late submissions. When you submit an assignment X days late, your quota gets decreased by X irrevocably. You can only be late by an integer number of days. For example, if you submit 5 hours after the deadline, your quota is depleted by one day. Once you use up your quota of three days, any assignment submitted late will not be accepted and you will get 0 points for that assignment.

Exams

Announcements

Lecture summaries

Week 1: Course introduction, history of networks before and after the inception of the Internet, end systems, access networks, links, packet and circuit switching, network structure, different types of delays, discrete event simulation.      

Week 2: Introduction to protocol layers and service model, network security basics, application layer, TCP and UDP services, web and HTTP, web caches, discussion on homework.

Week 3: SMTP, POP3, IMAP, DNS, introduction to socket programming with UDP and TCP.

Week 4: An introduction to multithreaded socket programming, P2P applications (e.g. BitTorrent), video streaming, DASH, CDN, transport layer overview.

Week 5: Multiplexing and demultiplexing, connectionless transport: UDP, principles of reliable data transfer, connection-oriented transport, TCP segment structure.

Week 6: TCP reliable data transfer, TCP flow control, TCP connection management, principles of congestion control, TCP congestion control, an introduction to the network layer.

Week 7: An overview of  data plane and control plane in the network layer, router architecture overview, router scheduling mechanisms, IP datagram format, IP fragmentation, IPv4 addressing, IP subnetting.

Week 8: Variable length subnet mask (VLSM), DHCP, network address translation (NAT), IPv6, generalized forward and SDN. We also had an in-class quiz on the transport layer this week.

Week 9: Midterm exam review, link state and distance vector routing, intra-AS routing in the Internet: OSPF.

Week 10: Midterm exam in class, routing among the ISPs: BGP, the SDN control plane.

Week 11: Continuation of discussion on SDN control plane, OpenFlow, ODL and ONOS controllers, ICMP, network management and SNMP, introduction to the link layer, error detection and correction, parity checking, checksum, cyclic redundancy check, multiple access protocols, TDMA, FDMA, random access, slotted ALOHA, pure ALOHA, CSMA.

Week 12: CSMA/CD, CSMA/CA, polling and token passing, cable access network, DOCSIS, MAC addresses, ARP, link layer addressing for routing to another LAN, Ethernet, Ethernet switches, interconnecting switches, switches vs. routers, VLANs, link virtualization: MPLS, data center networking, a day in the life of a web request, an introduction to wireless and mobile networks.

Week 13: Wireless links and their characteristics, CDMA, IEEE 802.11 wireless LANs ("Wi-Fi"), Cellular networks architecture and standards (e.g., 3G, LTE), mobility principals: addressing and routing to mobile users, mobile IP, handling mobility in cellular networks.

Nov 20-25: Thanksgiving recess.

Week 14: Socket programming using select, GSM: handoff with common MSC, handoff between MSCs, handling mobility in LTE, mobility in cellular vs Mobile IP, impact of mobility on higher layer protocols, introduction to network security, principals of cryptography, message integrity.

Week 15: Securing e-mail. security in TCP connnections:SSL, securing wireless LANs, firewalls and IDS, multimedia networking applications, streaming stored video.

             

Materials

All lecture slides, assignments, and solutions will be posted on ICON. You must submit your assignments electronically through ICON.