Course Description and Objectives - University of Colorado Boulder

Page created by Enrique Becker
 
CONTINUE READING
Course Syllabus

                  TLEN 5830: Adv. Next Generation Networks
       Spring 2018 (1:30 – 2:45 p.m., Mon/Wed., Rm. ECEE 283, 3 Credits)

Course Description and Objectives
This course provides an advanced, in-depth immersion into the theories and technologies of
Software-Defined Networking (SDN), Network Functions Virtualization (NFV) and emerging
technologies for computer networks. Students will expand on the experience with real-world lab
experiments and demonstrations learned from the course pre-requisite (TLEN5830-Next
Generation Networks), which will give them an advantage in the job market for this in-demand,
constantly changing subject. Popular software and technologies in industry, such as CORD,
Docker, Floodlight, OpenContrail, Open vSwitch, OpenFlow, OpenDaylight, OpenStack, ONOS,
REST API, Ryu, etc., will be used throughout the course to facilitate the understanding of how
high-level software programs control the behavior of the entire physical network. This course is
essential in preparing students to apply their networking knowledge to the real world they will
enter upon graduation.
In this class students expand on the fundamentals of next generation network technologies,
services, and tools used in industry to design, deploy, and troubleshoot next generation networks
and transition their foundational SDNFV knowledge to enterprise and ISP level SDN
implementations. Students will learn to work in a collaborative, and dynamic real-world SDN
environment, by writing software applications to manipulate real-world hardware in the lab,
create large-scale SDNFV deployments and cloud based dynamic infrastructures. This course
will utilize the following key objectives:

       Understand the core technologies, theories, and dilemmas that face next generation
        network engineers in this field.
       Understand best practices about how to design, deploy, and troubleshoot next generation
        networks.
       Utilize multivendor, vendor neutral (bare metal), and commercial equipment (such as
        ADTRAN, Arista, Brocade, Dell, HP, Juniper, Pica8, etc.) to prepare for real-world
        scenarios in industry.
TLEN 5830 covers these topics and achieves these objectives through hands-on lab exercises
built around real-world applications and theories presented in the lectures. The course is split
into the following units of study:

      SDNFV Concepts
      SDNFV Architecture and Ecosystem
      OpenFlow
      SDNFV Implementations and Migrations
      Cloud and Data Center Architecture
      Testing and Troubleshooting
      SDNFV Security
      The Future Networking

Students successfully completing this course should gain a much greater appreciation of the
technologies and procedures required in designing, deploying, and troubleshooting next
generation networks. The complex interactions among these aspects are shaping the future of
this critical sector of network engineering. The resulting understanding should enhance
employment or promotion opportunities in the network engineering sector and enhance the
student’s ability to participate in the public discourse regarding the future of the next generation
networks as a subject matter expert.

Upon successfully completing this course, the students will be able to expand upon the
knowledge learned and apply it to advanced SDNFV specific industry certifications, such as the
ONF Certified SDN Engineer (OCSE). In the competitive job market, having an expert-level
knowledge of the future of networking is necessary. The knowledge and skills gained from this
course, when combined with the core ITP courses, will provide a well-rounded, highly desirable
network engineer.

Instructor
Dr. Levi Perigo
Scholar in Residence | Professor of Network Engineering, Interdisciplinary Telecom Program
levi.perigo@colorado.edu
303-735-5131

Office Hours
Time: By appointment
Location: ECOT 312

Teaching Assistants - help@ngn-itp.on.spiceworks.com
Office Hours: By appointment

Course Prerequisites
TLEN5830-Next Generation Networks; A thorough understanding of data internetworking,
Linux, and Python programming, subject to instructor approval, is required.

                                                                                                       2
Grading
 Pop Quizzes and Class Participation        5%
 Homework Labs and Assignments              60%
 Midterm                                    5%
 Final Project                              20%
 Final                                      10%

To do well in this course, you will need to be prepared for each class by being ready to discuss
and engage in critical thinking on issues covered in the readings. Be forewarned: pop quizzes
will often be given at the start of class on the assigned reading material for the class.

All labs, assignments, and homework are due based on the due date on the syllabus. No
exceptions to deadlines for course work will be made. Classroom absence may be permitted
either for an emergency or prior notification to the professor stating the date and reason for the
classroom absence two weeks in advance.

Grading Scale
 100 – 93%      A
 92 – 90%       A-
 89 – 87%       B+
 86 – 83%       B
 82 – 80%       B-
 79 – 77%       C+
 76 – 71%       C
 70 – 0%        C-

Class Readings
There is not a required textbook for the course; however, students will be expected to have read
the class readings noted in the course syllabus before attending the class.

RECOMMENDED BOOKS:

Brant, P. (2013). The Software-Defined Data Center: The Three Caballeros Finally Have Their
Cloudy Day.
        Note: This book is available for free in the University of Colorado library (online)

Goransson, P. & Black, C. (2014). Software Defined Networks: A Comprehensive Approach,
First Edition. ISBN-13: 978-0124166752
        Note: This book is available for free in the University of Colorado library (online)

Singla, A. & Rijsman, B. (2013). Day One: Understanding OpenContrail Architecture

                                                                                                     3
Many of the readings will be posted on the Desire2Learn web site. To access Desire2Learn, go
to: https://learn.colorado.edu/. You can login using your IdentiKey username and password.
Once you login, click on the course name to go into the course1.

Course Syllabus (Subject to Change)
       Date                        Topic, Reading, and/or Work Assignment
    1/15/2018    Lecture: Introduction to Course and SDNFV Review

    1/22/2018    Lecture: SDN Fundamentals
                 Reading:
                     Goransson & Black – Chapters 1-5, 10-11.
                     OpenFlow 1.5 Specification: Chapters – 1, 2, 5, 6, 7.2.3, 7.3-7.5
                     OpenFlow State of the Union (D2L)
                     The CLI is Dead
                     Gartner – SDN in the Data Center
                     Cisco – Demystifying SDN for the Network Engineer
                 Homework:
                     Lab 1 (Due 1/28): SDN Hybrid Network Design

    1/29/2018    Lecture: OpenContrail
                 Reading:
                     REST API for Network Engineers
                     REST SDN
                     RYU Documentation (REST)
                     About OpenContrail
                     Contrail SDN Controller
                     OpenContrail AT&T
                     Contrail for Service Providers (D2L)
                     Abstraction “SDN Compiler”
                     OpenContrail & Mirantis
                 Homework:
                     Lab 2 (Due 2/4): Path Manipulation Application

1
 Please visit http://oit.colorado.edu/d2l/students to watch videos and learn more about using D2L. If you run into
any problems using Desire2Learn, contact the help desk at: help@colorado.edu or at (303) 735-HELP.

                                                                                                                     4
2/5/2018    Lecture: OpenStack and OpenContrail
            Reading:
                Singla & Rijsman (Day One) – Chapter 1
                Singla & Rijsman (Day One) – Chapter 2
                Singla & Rijsman (Day One) – Chapter 4
            Homework:
                Lab 3 (Due 2/11): Server Environment, OpenStack/OpenContrail:
                   Overview & Tenants

2/12/2018   Lecture: OpenStack and OpenContrail: Service Chaining
            Reading:
                Singla & Rijsman (Day One) – Chapter 4
            Homework:
                Lab 4 (Due 2/26): OpenStack and OpenContrail: Service Chaining

2/19/2018   In-class Lab

2/26/2018   Lecture: Containers (Docker & Kubernetes)
            Recommended Reading:
               o Docker & SDN
               o Docker SDN Automation
               o Containerized SDN
               o Kubernetes
               o Reference:
                      o Docker
                      o Building Images with Dockerfile
                      o Create Docker Hub Account
                      o boot2docker
                      o Docker Networking
            Homework:
               o Lab 5 (Due 3/4) – Containers

3/5/2018    Lecture: SDN BGP (Quagga & Ryu)
            Reading:
                Quagga Documentation
                NANOG 68 - BGP SDN (D2L)
                Multiple SDN Controllers
                Inter-SDN Controller Communication: BGP (D2L)
                RYU BGP Speaker – API
                RYU BGP Speaker - Library
            Homework:
                Lab 6 (Due 3/11) – BGP SDN

                                                                                  5
3/12/2018     Lecture: SDNFV Automation (Guest Speaker)
               Homework:
                   Lab 7 (Due 4/2) – Automate VM, VN, Docker, and BGP path

 3/19/2018     Midterm Interview & Exam
               OpenStack - How to Contribute
               Homework:
                   Interview Questions (Due 3/18) - Create five interview questions (and
                     answers) related to SDNFV

 3/26/2018     No class – Spring Break

 4/2/2018      Lecture: Final Project Proposal Presentations
               Homework:
                   Final Project Proposal Submission - (Due 4/2)
                   Final Project Proposal Presentation – In Class (3-5 min.)

 4/9/2018      Homework:
                  Lab – Status Report 1 (in class)

 4/16/2018     Homework:
                  Lab – Status Report 2 (in class)

 4/23/2018     Homework:
                  Lab – Status Report 3 (in class)
                  Final Lab Report (video) Due (4/30 12:00 p.m.)
                       o Prepare a professional video explanation and demo of your final
                          project.
                               The video must include: ITP, the professor’s name, team
                                  member names, and ITP course number/title
                       o The video with the most views by 5/7 12:00 p.m. will be rewarded

 4/30/2018     Final Project Presentations (1st Class) & Exam (2nd Class)
               Homework:
                   Presentations
                          o Time limit: Up to 15 minutes per team
                          o Attire: Corporate Casual

 5/7/2016      Extra Credit Due (12:00 p.m. Noon)
  (Finals
  Week)

University Policies
Policy on Academic Honesty. All students of the University of Colorado at Boulder are
responsible for knowing and adhering to the academic integrity policy of this institution.
                                                                                             6
Violations of this policy may include: cheating, plagiarism, aid of academic dishonesty,
fabrication, lying, bribery, and threatening behavior. All incidents of academic misconduct shall
be reported to the Honor Code Council (honor@colorado.edu; 303-735-2273). Students who are
found to be in violation of the academic integrity policy will be subject to both academic
sanctions from the faculty member and non-academic sanctions (including but not limited to
university probation, suspension, or expulsion). Other information on the Honor Code can be
found at http://www.colorado.edu/policies/honor.html and at http://honorcode.colorado.edu

Religious Obligations. Campus policy regarding religious observances requires that faculty make
every effort to deal reasonably and fairly with all students who, because of religious obligations,
have conflicts with scheduled exams, assignments or required attendance. In this class, students
with religious obligations that conflict with a test or other assignment should contact the
instructor at least two weeks in advance to arrange an alternative time or assignment. See full
details at http://www.colorado.edu/policies/fac_relig.html

Classroom and Course-Related Behavior. Students and faculty each have responsibility for
maintaining an appropriate learning environment. Those who fail to adhere to such behavioral
standards may be subject to discipline. Professional courtesy and sensitivity are especially
important with respect to individuals and topics dealing with differences of race, color, culture,
religion, creed, politics, veteran’s status, sexual orientation, gender, gender identity and gender
expression, age, disability, and nationalities. Class rosters are provided to the instructor with the
student's legal name. I will gladly honor your request to address you by an alternate name or
gender pronoun. Please advise me of this preference early in the semester so that I may make
appropriate changes to my records. See policies at
http://www.colorado.edu/policies/classbehavior.html and at
http://www.colorado.edu/studentaffairs/judicialaffairs/code.html#student_code

Policy on Discrimination and Harassment. The University of Colorado Boulder (CUBoulder) is
committed to maintaining a positive learning, working, and living environment. The University
of Colorado does not discriminate on the basis of race, color, national origin, sex, age, disability,
creed, religion, sexual orientation, or veteran status in admission and access to, and treatment and
employment in, its educational programs and activities. (Regent Law, Article 10, amended
11/8/2001). CU-Boulder will not tolerate acts of discrimination or harassment based upon
Protected Classes or related retaliation against or by any employee or student. For purposes of
this CU-Boulder policy, "Protected Classes" refers to race, color, national origin, sex, pregnancy,
age, disability, creed, religion, sexual orientation, gender identity, gender expression, or veteran
status. Individuals who believe they have been discriminated against should contact the Office of
Discrimination and Harassment (ODH) at 303-492-2127 or the Office of Student Conduct (OSC)
at 303-492-5550. Information about the ODH, the above referenced policies, and the campus
resources available to assist individuals regarding discrimination or harassment can be obtained
at http://hr.colorado.edu/dh/

Students with Disabilities. If you qualify for accommodations because of a disability, please
submit to your professor a letter from Disability Services in a timely manner (for exam
accommodations provide your letter at least one week prior to the exam) so that your needs can
be addressed. Disability Services determines accommodations based on documented disabilities.

                                                                                                        7
Contact Disability Services at 303-492-8671 or by e-mail at dsinfo@colorado.edu. If you have a
temporary medical condition or injury, see Temporary Injuries under Quick Links at Disability
Services website (http://disabilityservices.colorado.edu/) and discuss your needs with your
professor.

                                                                                             8
You can also read