Difference between revisions of "MSc: Classical Internet Applications"
(Created page with "= Classical Internet Applications = * <span>'''Course name:'''</span> Classical Internet Applications (CIA) * <span>'''Course number:'''</span> SNE-03 == Course characterist...") |
|||
Line 9: | Line 9: | ||
* Internet applications |
* Internet applications |
||
+ | * Focus on the application layer of the TCP/IP protocol stack |
||
* Implementation, configuration, and security of Internet applications |
* Implementation, configuration, and security of Internet applications |
||
=== What is the purpose of this course? === |
=== What is the purpose of this course? === |
||
− | CIA course serves as kick-start for the security and network engineering Masters program. Before diving into the depth of the topics, the students must know preliminary concepts related to computer networks services |
+ | CIA course serves as kick-start for the security and network engineering Masters program. Before diving into the depth of the topics, the students must know preliminary concepts related to computer networks services and applications therein. This course is designed to cover the basic services offered by the Internet including operating systems and computer architecture. The concepts from this course will be used throughout the course of whole masters. More precisely, this course will cover the basic computer architecture and assembly language programming, Domain Name Services (DNS), DNSSec, email, web, directories, and disks. This course will also cover protocols and ABNF. The theory part will strengthen the theoretical aspects of the concepts whereas the lab exercises will provide the students with the opportunity to have hands-on experience of the ideas they learnt in the lectures. |
=== Course Objectives Based on Bloom’s Taxonomy === |
=== Course Objectives Based on Bloom’s Taxonomy === |
||
Line 21: | Line 22: | ||
By the end of the course, the students should be able to: |
By the end of the course, the students should be able to: |
||
− | * Identify different Internet applications and understand their working principles from protocols point of view |
+ | * Identify different Internet applications and understand their working principles from the protocols point of view |
* Demonstrate the acquired knowledge and skills in classical internet applications including DNS, Email, and Directory services. |
* Demonstrate the acquired knowledge and skills in classical internet applications including DNS, Email, and Directory services. |
||
− | * Able to write regular expressions and context-free grammar |
+ | * Able to write regular expressions and context-free grammar that are essential in Internet applications and information exchange through the networks |
− | * Able to partition disks and remember the booting principles |
+ | * Able to partition disks and remember the booting principles as well as secure booting |
=== - What should a student be able to understand at the end of the course? === |
=== - What should a student be able to understand at the end of the course? === |
||
Line 32: | Line 33: | ||
* Demonstrate knowledge and skills to use web services |
* Demonstrate knowledge and skills to use web services |
||
* Demonstrate the essential knowledge of disks and calculate particular locations/addresses in disks |
* Demonstrate the essential knowledge of disks and calculate particular locations/addresses in disks |
||
− | * Reason about problems in the current DNS and the need to upgrade to DNSSEC |
+ | * Reason about problems in the current DNS and the need to upgrade to DNSSEC and DNS over HTTPS |
+ | * Demonstrate the knowledge of email and other services configuration |
||
=== - What should a student be able to apply at the end of the course? === |
=== - What should a student be able to apply at the end of the course? === |
||
Line 119: | Line 121: | ||
|- |
|- |
||
|align="center"| 1 |
|align="center"| 1 |
||
+ | | Intro, Booting, Operating Systems Essentials, and Computer Architecture |
||
− | | Intro, DNS and DNSSEC |
||
− | |align="center"| |
+ | |align="center"| 6 |
|- |
|- |
||
|align="center"| 2 |
|align="center"| 2 |
||
+ | | DNS, DNSSEC, DoH |
||
⚫ | |||
⚫ | |||
⚫ | |||
| Email |
| Email |
||
|align="center"| 4 |
|align="center"| 4 |
||
⚫ | |||
⚫ | |||
− | | Booting |
||
⚫ | |||
|- |
|- |
||
|align="center"| 4 |
|align="center"| 4 |
||
− | | Directory Services, Disks, Web, and Protocols |
+ | | ABNF, Deflating, Directory Services, Disks, Web, and Protocols |
|align="center"| 12 |
|align="center"| 12 |
||
|- |
|- |
||
Line 143: | Line 145: | ||
=== Section title: === |
=== Section title: === |
||
+ | Booting, Operating Systems, and Computer Architecture |
||
− | Introduction, History of Internet and Security, DNS and DNSSEC |
||
=== Topics covered in this section: === |
=== Topics covered in this section: === |
||
+ | * Booting principles and disks |
||
− | * Introduction |
||
+ | * Essentials of operating systems |
||
− | * History of Internet |
||
+ | * Fundamentals of computer architecture |
||
− | * History of security |
||
− | * Computer architecture and assembly language programming |
||
⚫ | |||
⚫ | |||
=== What forms of evaluation were used to test students’ performance in this section? === |
=== What forms of evaluation were used to test students’ performance in this section? === |
||
Line 173: | Line 172: | ||
=== Typical questions for ongoing performance evaluation within this section === |
=== Typical questions for ongoing performance evaluation within this section === |
||
⚫ | |||
⚫ | |||
+ | # How the disks are partitioned? |
||
− | # What is iterative and recursive DNS server? |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
=== Typical questions for seminar classes (labs) within this section === |
=== Typical questions for seminar classes (labs) within this section === |
||
+ | # Demonstrating the knowledge of booting |
||
− | # Configure DNS and DNSSEC (with specific tasks) |
||
+ | # Analyze assembly code at a basic level |
||
+ | # Demonstrate the system and library calls in operating systems |
||
=== Test questions for final assessment in this section === |
=== Test questions for final assessment in this section === |
||
⚫ | |||
− | # How does DNS query get resolved in DNS? |
||
− | # How zones are formed? |
||
⚫ | |||
⚫ | |||
⚫ | |||
=== Section 2 === |
=== Section 2 === |
||
Line 196: | Line 190: | ||
=== Section title: === |
=== Section title: === |
||
+ | DNS, DNSSEC, and DoH |
||
⚫ | |||
=== Topics covered in this section: === |
=== Topics covered in this section: === |
||
⚫ | |||
⚫ | |||
⚫ | |||
+ | * DoH |
||
=== What forms of evaluation were used to test students’ performance in this section? === |
=== What forms of evaluation were used to test students’ performance in this section? === |
||
Line 221: | Line 217: | ||
=== Typical questions for ongoing performance evaluation within this section === |
=== Typical questions for ongoing performance evaluation within this section === |
||
⚫ | |||
⚫ | |||
− | # What |
+ | # What is iterative and recursive DNS server? |
− | # How |
+ | # How does wildcard work in DNS? |
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | # What is the difference between DNSSEC and DoH? |
||
=== Typical questions for seminar classes (labs) within this section === |
=== Typical questions for seminar classes (labs) within this section === |
||
− | # Configure |
+ | # Configure DNS, DNSSEC, and DoH (with specific tasks) |
⚫ | |||
=== Test questions for final assessment in this section === |
=== Test questions for final assessment in this section === |
||
⚫ | |||
⚫ | |||
− | # How |
+ | # How zones are formed? |
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | # Why do we need DNSSEC where we can use simple DNS over HTTPS? |
||
=== Section 3 === |
=== Section 3 === |
||
Line 241: | Line 242: | ||
=== Section title: === |
=== Section title: === |
||
⚫ | |||
− | Booting |
||
=== Topics covered in this section: === |
=== Topics covered in this section: === |
||
⚫ | |||
− | * Secure booting |
||
+ | * Spam management |
||
=== What forms of evaluation were used to test students’ performance in this section? === |
=== What forms of evaluation were used to test students’ performance in this section? === |
||
Line 266: | Line 268: | ||
=== Typical questions for ongoing performance evaluation within this section === |
=== Typical questions for ongoing performance evaluation within this section === |
||
− | # What are |
+ | # What are different protocols used in email? |
+ | # What are the different agents used in email system? |
||
− | # What is secure booting? |
||
+ | # How to avoid spamming in email? |
||
⚫ | |||
⚫ | |||
=== Typical questions for seminar classes (labs) within this section === |
=== Typical questions for seminar classes (labs) within this section === |
||
+ | # Configure email server |
||
− | # Implement secure booting |
||
⚫ | |||
=== Test questions for final assessment in this section === |
=== Test questions for final assessment in this section === |
||
⚫ | |||
⚫ | |||
+ | # How MX records work? |
||
⚫ | |||
=== Section 4 === |
=== Section 4 === |
||
Line 282: | Line 288: | ||
=== Section title: === |
=== Section title: === |
||
+ | Directory, Web, Protocol, ABNF and Deflating |
||
− | Deep Learning |
||
=== Topics covered in this section: === |
=== Topics covered in this section: === |
||
* Directory services |
* Directory services |
||
− | * Disks |
||
* Web |
* Web |
||
* Protocols |
* Protocols |
||
+ | * ABNF |
||
+ | * Deflating |
||
=== What forms of evaluation were used to test students’ performance in this section? === |
=== What forms of evaluation were used to test students’ performance in this section? === |
||
Line 314: | Line 321: | ||
# How disk partitions are made? |
# How disk partitions are made? |
||
# How different web protocols work? |
# How different web protocols work? |
||
+ | # How network packets are management in a standard way through ABNF? |
||
+ | # How to write new formats through ABNF? |
||
=== Typical questions for seminar classes (labs) within this section === |
=== Typical questions for seminar classes (labs) within this section === |
Revision as of 09:44, 11 August 2021
Classical Internet Applications
- Course name: Classical Internet Applications (CIA)
- Course number: SNE-03
Course characteristics
Key concepts of the class
- Internet applications
- Focus on the application layer of the TCP/IP protocol stack
- Implementation, configuration, and security of Internet applications
What is the purpose of this course?
CIA course serves as kick-start for the security and network engineering Masters program. Before diving into the depth of the topics, the students must know preliminary concepts related to computer networks services and applications therein. This course is designed to cover the basic services offered by the Internet including operating systems and computer architecture. The concepts from this course will be used throughout the course of whole masters. More precisely, this course will cover the basic computer architecture and assembly language programming, Domain Name Services (DNS), DNSSec, email, web, directories, and disks. This course will also cover protocols and ABNF. The theory part will strengthen the theoretical aspects of the concepts whereas the lab exercises will provide the students with the opportunity to have hands-on experience of the ideas they learnt in the lectures.
Course Objectives Based on Bloom’s Taxonomy
- What should a student remember at the end of the course?
By the end of the course, the students should be able to:
- Identify different Internet applications and understand their working principles from the protocols point of view
- Demonstrate the acquired knowledge and skills in classical internet applications including DNS, Email, and Directory services.
- Able to write regular expressions and context-free grammar that are essential in Internet applications and information exchange through the networks
- Able to partition disks and remember the booting principles as well as secure booting
- What should a student be able to understand at the end of the course?
By the end of the course, the students should be able to describe and explain (with examples)
- Demonstrate knowledge and skills to use web services
- Demonstrate the essential knowledge of disks and calculate particular locations/addresses in disks
- Reason about problems in the current DNS and the need to upgrade to DNSSEC and DNS over HTTPS
- Demonstrate the knowledge of email and other services configuration
- What should a student be able to apply at the end of the course?
By the end of the course, the students should be able to apply the acquired knowledge in the following way.
- Install, Configure, update, and manage DNS services over a network
- Configure, maintain, and update the secure DNS over a network
- Update, add, and delete records in DNS
- Configure a secure mail server and maintain it
- Get hands-on experience of the afore-mentioned technologies on their own servers.
Course evaluation
Proposed points | ||
---|---|---|
Labs/seminar classes | 20 | 20 |
Lab tasks assessment | 40 | 40 |
Exams | 40 | 40 |
If necessary, please indicate freely your course’s features in terms of students’ performance assessment: None
Grades range
Proposed range | ||
---|---|---|
A. Excellent | 90-100 | |
B. Good | 75-89 | |
C. Satisfactory | 60-74 | |
D. Poor | 0-59 |
If necessary, please indicate freely your course’s grading features: The semester starts with the default range as proposed in the Table 2, but it may change slightly (usually reduced) depending on how the semester progresses.
Resources and reference material
- Lecture slides
- RFCs
- Link to the online material will be provided (if any)
Course Sections
The main sections of the course and approximate hour distribution between them is as follows:
Section | Section Title | Teaching Hours |
---|---|---|
1 | Intro, Booting, Operating Systems Essentials, and Computer Architecture | 6 |
2 | DNS, DNSSEC, DoH | 14 |
3 | 4 | |
4 | ABNF, Deflating, Directory Services, Disks, Web, and Protocols | 12 |
5 | Labs | 56 |
Section 1
Section title:
Booting, Operating Systems, and Computer Architecture
Topics covered in this section:
- Booting principles and disks
- Essentials of operating systems
- Fundamentals of computer architecture
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- What are the different steps in booting?
- How the disks are partitioned?
- Explain UEFI booting
Typical questions for seminar classes (labs) within this section
- Demonstrating the knowledge of booting
- Analyze assembly code at a basic level
- Demonstrate the system and library calls in operating systems
Test questions for final assessment in this section
- Same as above
Section 2
Section title:
DNS, DNSSEC, and DoH
Topics covered in this section:
- DNS
- DNSSEC
- DoH
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Hows does DNS query get resolved?
- What is iterative and recursive DNS server?
- How does wildcard work in DNS?
- What is zone walking in secure DNS?
- What is delegation in DNS?
- What is NSEC and NSEC3 records in DNSSEC?
- What is the difference between DNSSEC and DoH?
Typical questions for seminar classes (labs) within this section
- Configure DNS, DNSSEC, and DoH (with specific tasks)
Test questions for final assessment in this section
- How does DNS query get resolved in DNS?
- How zones are formed?
- How delegation works in DNS?
- How resource records are verified in DNSSEC?
- What is meant by zone walking and how is it avoided?
- Why do we need DNSSEC where we can use simple DNS over HTTPS?
Section 3
Section title:
Topics covered in this section:
- Email architecture
- Spam management
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- What are different protocols used in email?
- What are the different agents used in email system?
- How to avoid spamming in email?
- How to configure email servers?
Typical questions for seminar classes (labs) within this section
- Configure email server
- Configure anti-spamming techniques
Test questions for final assessment in this section
- What are different agents and their roles in email architecture?
- How MX records work?
- How to configure different anti-spamming policies?
Section 4
Section title:
Directory, Web, Protocol, ABNF and Deflating
Topics covered in this section:
- Directory services
- Web
- Protocols
- ABNF
- Deflating
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- How directory services are implemented?
- How permissions are set?
- How disk partitions are made?
- How different web protocols work?
- How network packets are management in a standard way through ABNF?
- How to write new formats through ABNF?
Typical questions for seminar classes (labs) within this section
- Implement different web services
- Configure active directory
Test questions for final assessment in this section
- As above