1 Course Materials
1.1 Week 3
Readings: MPLS (all sections), Optical/GMPLS section 1-3.
Homework #3 archive file: Homework3.7z
1.2 Week 2
Readings: Tunnels and VPNs Sections 1, 2 (skim 2.1), 3, 4 (skip 4.3).
Homework #2 archive file: Homework2.7z
1.3 Week 1
Homework #1 archive file: Homework1.7z
Readings: Broadband Networking sections 2-6, Data Center Networking section 3.1.
Software tools you need to get and install
- A scientific Python 3.6 distribution such as Anaconda.
- VirtualBox for running virtual machines (VM)
- Wireshark network protocol analyzer.
- Mininet VM, Terminal program for connecting to the VM. I use Putty on Windows
2 Course Overview
CS 6591 - Communication Network Analysis and Design
Instructor: Dr. Greg Bernstein
Office Hours: 9:10AM-9:55AM TuTh in SC-N156 by Appointment.
Location and Times: TuTh from 10:00AM-11:50AM, Room VBT-0135.
The practice of network analysis and design. Topics include estimation of traffic demand, requirements specification, topology design, network cost analysis, routing, wired and wireless technologies, design tools, fault tolerance, and design of a LAN or WAN.
Instructor Additional Description for Winter 2018
The practice of network analysis and design for modern enterprise, WAN, and data center networks. Topics include: Software Defined Networks (SDNs), MPLS, network virtualization (VLANs and the like), Optical Networks, Multiplexing techniques, switching types.
2.1 Tentative Schedule
|1/01||1||Intro, Multiplexing, Switching types, VMs|
|1/08||2||Tunnels, Graphs and such, Ethernet VLANs|
|1/15||3||MPLS, start SDNs|
|2/12||7||Congestion and Queueing|
|2/26||9||Data Center Networking|
|3/05||10||QoS in Networks/ Survey Projects|
|3/12||11||Final Exam Week|
Prerequisites: CS 4590
CS 4590 - Computer Networks
Computer network analysis, design, and implementation. A detailed study of the network, transport and application layers of the TCP/IP model. Specific emphasis on protocols, services, design issues and performance. Programming assignments using TCP/IP.
Prerequisites: CS 3240, CS 3560 and CS 3590.
CS 3240 - Data Structures and Algorithms
Definition, design, implementation of abstract data structures, including hash tables, trees, graphs. Design, implementation, and analysis of algorithms for these data structures.
CS 3560 - Introduction to Systems Programming
Introduction to systems programming in a modern environment. Introduction to fundamental concepts of operating systems; analysis of a particular operating system (organization, interfaces, system calls, files, process control and communication, resource sharing). Shell and C programming. Development tools.
CS 3590 - Data Communications and Networking
Fundamentals of data communications: media, transmission, encoding and processing, interfacing, error detection and handling, link control, multiplexing, circuit and packet switching. Introduction to network architecture and topology: local and wide area networks.
2.3 Student Learning Outcomes
The student will learn fundamental and practical techniques for the analysis and design of modern enterprise, WAN, and data center networks. Topics include:
- Software Defined Networks (SDNs),
- Multi-Protocol Label Switching (MPLS),
- Network virtualization (VLANs and the like),
- Optical Networks,
- Fundamentals of multiplexing techniques and switching types as applied to network and switch design,
- Basic considerations and mechanisms of queueing theory applied to networks along with QoS mechanisms.
In addition as part of the class all students will get "hands on" with the following technologies:
- Virtual Machines (via VirtualBox)
- SDN network programming and emulation. We will be using the Ryu SDN controller and the Mininet SDN emulator.
- Python programming applied to networks via the NetworkX graph package and the SimPy discrete event simulation package.
- The open source packet analyser WireShark for illustration and debugging purposes.