EE 122. Introduction to Communication Networks

Catalog Description: This course focuses on the fundamentals of the wired and wireless communication networks. The course covers both the architectural principles for making these networks scalable and robust, as well as the key techniques essential for analyzing and designing them. The topics include graph theory, Markov chains, queuing, optimization techniques, the physical and link layers, switching, transport, cellular networks and Wi-Fi.

Units: 4

Prerequisites: COMPSCI 70

Spring: 3.0 hours of lecture and 1.0 hours of discussion per week
Fall: 3.0 hours of lecture and 1.0 hours of discussion per week

Grading basis: letter

Final exam status: Written final exam conducted during the scheduled final exam period

Class Schedule (Spring 2024):
EE 122 – TuTh 17:00-18:29, Cory 241 – Shyam Parekh

Class homepage on inst.eecs

Department Notes:

Course objectives: This course introduces the operating and design principles of the Internet and its associated technologies. The students are introduced to network programming and to simulation tools for networks in addition to basic modeling and performance evaluation techniques.

Topics covered:

  • Introduction ¿ Network Examples; Applications: Web, VoIP.
  • Architecture ¿ Protocols; Layering; End-to-end Argument.
  • Models ¿ Bits; Packets; Queues; Metrics: Rate, throughput, spectrum, delay, delay jitter, loss rate.
  • Physical Layer ¿ Fibers; Cable and Wires; Wireless; Capacity, coding; Examples: Ethernet, SONET, ADSL, WiFi.
  • Link Layer ¿ MAC: TDMA, Aloha, CSMA/CA, CSMA/CD; Examples: Hub-Ethernet, WiFi, WiMax.
  • Network Layer ¿ Routing: Link state, distance vector, path vector; Examples: OSPF, RIP, BGP; IP: Domains, CIDR.
  • Switch Design ¿ Architectures: Shared bus, switched bus, queuing structure; Examples: PC-router, GSM router.
  • Transport ¿ Service Models of UDP and TCP; Congestion control: Goals, AIMD; TCP: Phases, state machine, slow start, congestion avoidance, fast recovery, fast retransmit; Variations: TCP-SAC, Vegas and Fast.
  • Applications ¿ WWW: HTTP; DNS: Architecture, queries; VoIP: RTP, SIP.
  • Network programming ¿ Socket; Examples; Discussion of project
  • Scheduling ¿ Controlling performance; Leaky buckets and WFQ.
  • Distributed Algorithms ¿ Correctness, Impossibility Results; Convergence of Bellman-Ford.
  • Sensor Networks ¿ Examples; Issues: Routing, energy, queries, localization.
  • Security ¿ Objectives: Authentication, privacy, anonymity; Mechanisms: Encryption (Public or Private Key), hashing; Systems: Digital signature, key exchange, kerberos, PGP.
  • P2P and Overlay ¿ BitTorrent; Chord; Overlay multicast and routing.

Related Areas: