首页 > > 详细

讲解 CS 353, Fall 2024 Introduction to Internetworking辅导 C/C++程序

Introduction to Internetworking

CS 353, Fall 2024

Course Description

CS 353 takes a top-down approach to explore how networks operate and how network applications are written. We study how popular distributed systems such as video streaming, content distribution networks (CDNs), and cloud computing systems work in the applica-tion layer. We explore how these applications transfer data between their components and end users over the Internet using transport layer protocols such as TCP and UDP. We go deeper to understand what keeps the transport layer running; specifically, we look at how packets are routed and how routers work. Finally, we dive one more layer down to understand how the link layer transfer packets using Ethernet. In addition to cutting through the layers and covering the basics, we learn about the state-of-the-art topics in networking such as datacenter networks and software-defined networking (SDN).

From a practical point of view, we learn what sockets are and how to use them. And we write code. We write code to implement various protocols, to build client-server applications, HTTP proxies, and video distribution applications, and reliable transport.

Catalog Description

Global Internet: design principles, layering, protocol design/analysis. Networked applications, Internet structure/architecture, Proto-cols for transport/congestion control, network layer/routing, link layer/MAC.

Learning Objectives

In this course, we will understand the fundamentals of networking and the architecture of the Internet. We will examine in detail each layer of the Internet’s networking stack, taking a top down approach. The course will include lectures, three assignments, a mid-term and a final.

For the assignments, students are expected to be proficient in C and C++ as well as Python.

Prerequisite(s) CSCI 201

Co-Requisite (s) None

Concurrent Enrollment None

Readings and Lecture Schedule

Lectures cover material from the following textbook:

Computer Networking: A Top-Down Approach, by Jim Kurose and Keith Ross, 8th Edition, Pearson.

You can rent a copy from Pearson, or rent a hard copy or pur-chase a Kindle version from Amazon, or rent a hard copy from Vital-Source. The ISBNs are: Print rental: 9780136681557, Pearson+ access: 9780135928615.

Lectures

Table 1 describes the approximate schedule for covering this material. A Slack Day in the schedule indicates a day set aside to catch up on the lecture schedule. If we’re caught up on all the material before then, we will have no lecture on that day.

Week of

Tuesday

Thursday

Aug 26

Introduction

Overview

Sep 2

Protocol Layering

HTTP and the Web

Sep 9

DNS and CDNs

Video and Cloud

Sep 16

Transport Layer

TCP Basics

Sep 23

Slack Day

Quiz 1

Sep 30

TCP Basics

Congestion Control

Oct 7

More Congestion Control

Fall Recess

Oct 14

Network Layer and IP

IP Routers

Oct 21

Routing Fundamentals

Routing Protocols

Oct 28

Inter-Domain Routing

Quiz 2

Nov 4

BGP

SDN

Nov 11

Link-layer

Switched LANs

Nov 18

Wireless Networking

Datacenter Networks

Nov 25

Slack Day

Thanksgiving

Dec 2

Slack Day

Quiz 3

Table 1: Lecture Schedule

Discussion Section

During the discussion sections, we will cover supplementary material helpful for understanding the lectures as well as material helpful for completing the assignments. Table 2 describes the approximate schedule for the discussion sections.

Week of

Friday

Lead

Aug 26

1: Socket Programming

Song

Sep 2

2: Performance Metrics

Song

Sep 9

3: Recap and DNS

Namyar

Sep 16

4: HTTP Request/Response

Song

Sep 23

5: Assignment 2 Overview

Song

Sep 30

6: TCP Practice Questions

Namyar

Oct 7

Fall Recess

Oct 14

7: Congestion, IP

Song

Oct 21

No Discussion

Oct 28

8: Assignment 3 review

Song

Nov 4

9: Routing/BGP

Namyar

Nov 11

11: Link Layer

Song

Nov 18

12: Wireless/Datacenters

Namyar

Nov 25

Thanksgiving

Dec 2

No Discussion

Table 2: Discussion Section Schedule

Assignment 1

10%

Assignment 2

18%

Assignment 3

18%

Quiz 1

18%

Quiz 2

18%

Quiz 3

18%

Table 3: Grading Breakdown

Course Elements and Grading

The class will include four assignments and three quizzes, listed below. Table 3 shows the grade breakdown for assignments and quizzes.

Assignments You will complete three programming assignments that will expose you to programming network applications, video and content distribution, and reliable transport.

In-class quizzes These will each cover about one third of the class contents. Students will take these quizzes in-class using Grade-scope. There is no final examination for the class.

Assignments

About half the grade for the class is reserved for four programming assignments that complement the conceptual material presented in the lectures and help students more deeply understand networking (Table 4).

Assignment 1 is to be completed individually, the remaining as-signments will be done in groups of 2 or 3 students. Table 4 describes the deadlines for the assignments (midnight of the specified date). We will release all four assignments in the first week of class.

For Assignment 1, you will be given a link from Github Classroom to acquire a private Github repository for yourself. This contains instructions for the assignment and starter code. Please follow the instructions carefully.

For Assignments 2 and 3, you will first form. a team of 2/3 stu-dents from the class. Around the third week of class, we will post a Github Classroom link to acquire a repository for your group. This contains instructions for the assignments and starter code.

Choose your group members carefully. You should discuss topics such as prior experience, course background, goals for this course, workload and schedule for this semester, and preferred assignment management and work style. Make sure you can find several blocks of time during the week to meet to discuss or carry out the assign-ment.

Assignment

Due Date

1

Sockets, Mininet, & Performance

Sep 13

2a

Video Streaming via CDN

Oct 15

2b

Video Stream via CDN

Oct 29

3a

Reliable Transport

Nov 15

3b

Reliable Transport

Dec 6

Table 4: Assignment Deadlines

Quizzes

All three quizzes will be for 60 minutes each. Table 1 lists the dates of the quizzes. On each day, we will promptly start the quiz at 12pm.

Quizzes will include multiple-choice questions as well as short-answer questions. These questions will test your basic understanding of the material and require you to apply what you have learned to hypothetical situations. Each quiz will cover about a third of the material.

For all quizzes, you will answer questions online using Grade-scope. You may use a laptop, tablet or smartphone to answer these questions.

Letter grades

Final letter grades will be determined using a modified curve. I will assign grades of C and D or below to individuals who do not per-form. satisfactorily in the class.

We will not assign incompletes unless it is for a documented medi-cal reason (in accordance with USC policy).



联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!