Introduction of Advanced Computer Networks Zilong Ye, Ph.D. zye5@calstatela.edu
Class Information Lecture time and location Instructor Office hour Friday, 9:00am – 11:30am King Hall, B4017 Instructor Zilong Ye, Ph.D. E&T A327 zye5@calstatela.edu Office hour Monday and Wednesday, 9:30am – 11:50am.
Course Information Course description Pre-requisite This course introduces cutting-edge research topics in advanced computer networks, including Software-Defined Networking (SDN), Network Function Virtualization (NFV), Internet of Things (IoT), and etc. The course covers the design principles, the research challenges, the real-world applications and the economic benefits of the above mentioned advanced computer networks. The course explores various simulations and experiments for the performance evaluation of proposed research ideas in those advanced computer networks. Pre-requisite Operating systems, computer networks, data structure, algorithms, and object-oriented programming. In addition, students should be proficient in Java or C/C++ programming skills.
Course Goals Recognize and describe various advanced computer networks topics. Criticize existing computer network systems and identify their limitations. Design and implement new and effective architectures and solutions for future advanced computer networks. Assess the performance of a new computer network design through simulations and experiments. Prepare for studying advanced topics in network and computer systems, and a career in the field of computer network systems.
Class Schedule Week 7: Mobile and Wireless Networking Week 8: Midterm Exam Week 9: Internet of Things (IoT) Week 10: Spring Break Week 11: Cyber Physical Systems Week 12: Online Social Networking Week 13: Network Security and Privacy Week 14: Project Presentation Week 15: Project Presentation Week 16: Final Exam Week 1: Syllabus and overview of advanced computer networks topics Week 2: Optical Networking Week 3: Network Survivability Week 4: Software-Defined Networking (SDN) and Network Function Virtualization (NFV) Week 5: Future Internet Architecture - Named Data Networking Week 6: Cloud Computing and Data Center Networking
Grading Policy Project proposal: 10% Final project code and demo: 10% Final project presentation: 10% Final project report: 10% Midterm: 25% Final: 30% Attendance: 5% A [90, 100] A- [85, 90) B+ [80, 85) B [75, 80) B- [70, 75) C+ [65, 70) C [60, 65) C- [55, 60) F <55
Course Project The course project in CS5470 is an open-ended networking research project. You will divide into teams of up to two to carry out the project. You may also choose to work by yourself on the project. Your project can be either of the following types: design, implementation, measurement, analysis using simulation tools such as Mininet, NS3 and OPNET. The goal of the project is to experiment with new research ideas and solutions. The final project report should aim for a conference quality paper.
What to Submit Project proposal, due: 03/05/2017. 2 pages. The project proposal should have the following contents: (1) background, (2) related work, e.g., the existing solutions and their limitations, (3) your proposed new idea and solution, explaining its novelty and research challenges, and your plan or schedule of the project implementation. Project code/demo, due: 04/23/2017. The code/demo could be either simulations or experiments. Project presentation slides, due: 04/23/2017. The presentation should be 20 mins, plus 5 mins Q&A. Final project report, due: 04/23/2017. The final project report should be 4-6 pages with conference paper quality. The report should include (1) title and authors, (2) abstract, (3) introduction (e.g., background, related work, novelty and challenges in your project, an overview of your solution and results, and the organization of the report/paper), (4) problem statement, (5) description of your proposed idea and solution, (6) performance evaluation, e.g., the simulation results, (7) conclusion, and (8) reference. Note: both the project proposal and the final project report should follow the format of IEEE conference template here: http://www.ieee.org/conferences_events/conferences/publishing/templates.html
Academic Honesty No tolerance on cheating! FAIL the course on the FIRST attempt! Consult the University Statement on Academic Integrity: http://ecatalog.calstatela.edu/content.php?catoid=1&navoid=26 For the programming assignments: They are collaborative projects with a team of two students. Between different teams, discussions of ideas are welcome, but exchanges of source codes are not allowed. Use of segments of code found online is allowed provided the student explicitly cites the references used. Note that copying the whole solution from online resources and/or copying code from past year assignments is still considered cheating even if you cite the sources. Students who do share their work with others are as responsible for academic dishonesty as the student receiving the materials. Students are not to show work to other students, in class or outside the class. Students are responsible for the security of their work and should ensure that printed copies are not left in accessible places, and that file/directory permissions are set to be unreadable to others.
Internet … Content provider network ISP A ISP B ISP B regional net Network of networks access net … ISP A IXP Content provider network IXP ISP B ISP B regional net
Five Layers of Internet application: supporting network applications FTP, SMTP, HTTP transport: process-process data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements Ethernet, 802.111 (WiFi), PPP physical: bits “on the wire” application transport network link physical
Materials Covered in CS4470 End-to-end delay and network throughput Client-server model v.s. peer-to-peer model Socket programming Reliable data communication TCP and UDP Flow and congestion control IP layer and routing algorithm MAC address, ARP and multiple access protocol
CS5470 - Advanced Computer Networks
Software-Defined Networking (SDN) Decouple control plane from data plane
Network Function Virtualization (NFV) Decouple network functions from proprietary hardware
Optical Networking WDM/OFDM Optical Networks Routing and Wavelength Assignment Virtual Optical Networks Passive Optical Networks Mobile backhaul system
Network Survivability Path protection Link protection Segment protection Dedicated protection Shared protection Degraded protection Restoration Reliability and availability 1 2 s 6 3 d 5 4
Named-data networking (ndn) Forwarding Information Base (FIB) : for forwarding Interest messages Pending Interest Table (PIT): stores all the Interests that a router has forwarded but not satisfied yet. Each PIT entry records the data name carried in the Internet, together with its incoming and outgoing interface(s). Content store (CS) for short term storage / Repo for long term storage
Cloud Computing and Data Center Networking Intra- and Inter- Data Center Networks Network topology/architecture/address design Virtual machine placement Availability/reliability and SLA requirements Security and Privacy Scalability and Throughput
Mobile and Wireless Networking WiFi. v.s. Bluetooth v.s. Zigbee v.s. 6LoWPAN Cognitive Radio Networks Energy consumption Spectrum allocation Radio Frequency (RF) sensing Localization and RFID Mobile cloud 5G networks Network function virtualization Mobility handover Quality of Coverage/Experience/Service Virtualized Base Station Small Cell
Cyber Physical System Smart Grid Interdependent Power and Communication Networks Intelligent Transportation System Building and Enterprise Management System Electrified Vehicles Vehicular Networks Smart City Security and Privacy Sustainability
Internet of Things (IoT) Smart Homes Wireless Sensor Networks Autonomous Vehicles Mobile eHealth Wearable devices Big Data Analytics Security and Privacy
Network Simulators Mininet NS3 OPNET OMNeT++ Design your own simulator
Mininet A network emulator which creates realistic virtual network Runs real kernel, switch and application code on a single machine Provides both Command Line Interface (CLI) and Application Programming Interface (API) CLI: interactive commanding API: automation Abstraction Host: emulated as an OS level process Switch: emulated by using software-based switch E.g., Open vSwitch, SoftSwitch
NS3 ns-3 is a research-oriented, discrete event simulator ns is a discrete-event network simulator for Internet systems protocol design, multiple levels of abstraction written in multiple languages (C++/OTcl) ns has a companion network animator called nam hence, has been called the nsnam project Ns3 features open source licensing (GNU GPLv2) and development model Python scripts or C++ programs alignment with real systems (sockets, device driver interfaces) alignment with input/output standards (pcap traces, ns-2 mobility scripts) testbed integration is a priority modular, documented core ns-3 is a research-oriented, discrete event simulator
OPNET Supports Modeling, simulation , and analysis Supports New technologies Quality of documentation Ease of use Suitability for research Supports almost all simulation platforms
OMNeT++ OMNeT++ is a component-based, modular and open-architecture discrete event network simulator. OMNeT++ represents a framework approach Instead of containing explicit and hardwired support for computer networks or other areas, it provides an infrastructure for writing such simulations Specific application areas are catered by various simulation models and frameworks, most of them open source.
Your Own Simulator Object oriented programming A class for network A class for network node A class for network link A class for traffic request Discrete event scheduling Traffic arrive and departs Traffic packets being dropped Performance evaluation The network bandwidth consumption The end-to-end delay The packet drop rate