TUM transcript Roberto Castellotti
Contents
Advanced Computer Networking
Course description
The lecture presents advanced concepts for building computer networks. Examinations of network protocols and network algorithms are the foundation of this lecture. Basic techniques for the construction of local area networks (LAN) and wide area networks (WAN) are explained. Mechanisms and protocols for inter-domain and intra-domain routing are discussed and possible attack scenarios are demonstrated. Concepts and mechanisms of modern transport layer protocols are presented. Furthermore, different tunneling protocols for networks are discussed. Measurements of single network nodes and Internet-wide measurements are introduced and explained. Modern techniques (OpenFlow, P4) for software-based packet processing are demonstrated.
Interdisciplinary Project: Development of a Framework for Retrieval of Parameters of the Starlink Dish
Abstract
Starlink is a novel technology designed to extend internet connectivity to remote and underserved regions worldwide by leveraging a satellite constellation in Low Earth Orbit (LEO). This report serves as a comprehensive documentation of our work and findings related to Starlink-based internet connections.
After introducing the fundamental principles of LEO satellite-based internet connectivity and the technologies to locate such satellites, this report proceeds to an analysis of whether Starlink-based connections result in characteristic packet routing behaviors when reaching geographically sparse targets when compared to normal cabled connections. Furthermore, an analysis is conducted to assess whether the physical layer influences latency. The report subsequently proposes a schema to evaluate satellites within the line of sight of a Starlink dish. Analysis starts with the development of a script aimed at identifying occurrences of satellite handovers; afterward, this data is used to try to establish a correlation between bandwidth fluctuations and satellite handovers. Our findings seem to indicate such handovers do not happen in a specific pattern and do not cause a drop in bandwidth, thereby suggesting a high level of connection stability from an end-user perspective.
Throughout the course of our research, we developed tooling to interact with the dish and run measurements.
Cloud Computing
Syllabus
-
Cloud Architecture and Models
- Introduction
- Base Technologies
- Grid Computing and other computing techniques
- System Models for Distributed and Cloud Computing
- Software Environments for Clouds
-
Virtualization Concepts
- Levels of Virtualization
- VM Tools and Mechanisms
- Virtualization of CPU, Memory, and I/O Devices
- VM Server Consolidation
-
Cloud Infrastructure / Architectures
- Design Challenges of Clouds
- Public Cloud Platforms – GAE, AWS, Azure
- Resource Management in Clouds
- Security Aspects of Clouds
- Storage Aspects of Clouds
-
Programming Models
- Introduction to Programming Models
- MapReduce and Hadoop Programming Models
- Programming Support of GAE – Bigtable, GFS
- Programming on Amazon EC2 – S3 and EBS
- Cloud Environments Overview – OpenStack, Aneka, and OpenNebula
-
Future Technologies in Cloud
- Workflows in Cloud
- Machine Learning Techniques in Cloud
- HPC in Cloud
- HPC Cloud Applications and Performance Issues – Tools
- Ubiquitous Clouds and IoT
Distributed Systems
Syllabus
- Overview + Distributed Data Analytics (MapReduce/Spark)
- Distributed Filesystem (HDFS)
- Modelling Distributed Systems
- Logical and Physical Time, Broadcast Protocols
- Replication, 2PC, Consistency Models
- Consensus and the Raft Algorithm
- Eventual Consistency and CRDTs
- Scalable Systems: KV Storage Systems + Sharding
- Distributed Synchronization: Apache ZooKeeper
- Distributed Database (BigTable)
- Distributed Transactions (Spanner)
Virtualization Techniques
Syllabus
- ISA Emulation
- Valgrind
- Process VMs
- HLL-VMs
- SystemVMs
- JVM
Advanced Systems Programming in C/Rust
Assignments
- Kernel and system calls: How programs interact with the operating system, how to implement some system calls yourself in assembly
- File I/O: Learn about file descriptors, direct I/O, memory mapped I/O, page cache, etc.
- Concurrency and synchronization: Learn about different threading primitives, i.e., mutexes, concurrent data structure design, and how they are implemented
- Processes: Different system calls related to process handling like
fork(),execve(),wait() - Memory management: How virtual memory, heap, stack, and
malloc()work - Networking: How to handle network protocols, efficient ways to implement servers
- Performance: How to bring out the performance of the hardware
- Compiler/LLVM: How to implement LLVM passes to improve compiler-generated code
Networks for Monetary Transactions
Syllabus
-
Structure of Banks and Saving Banks
-
Structure of Networks and Payment Methods
-
Stakeholders
-
Secure Authentication Methods
- Two-Factor Authentication
- Biometrics
- Encryption/PKI/Digital Signature
-
Protocols for Self Service Systems
-
Network Attacks
-
Secure Server and Cloud Solutions
-
Distributed Ledger Technologies (DLT)
-
Digital Payment Methods and Applications
-
Digital Currencies
-
Standardisation and Certification
Network Security
Syllabus
The lecture presents advanced concepts for building computer networks. Examinations of network protocols and network algorithms are the foundation of this lecture. Basic techniques for the construction of local area networks (LAN) and wide area networks (WAN) are explained. Mechanisms and protocols for inter-domain and intra-domain routing are discussed and possible attack scenarios are demonstrated. Concepts and mechanisms of modern transport layer protocols are presented. Furthermore, different tunneling protocols for networks are discussed. Measurements of single network nodes and Internet-wide measurements are introduced and explained. Modern techniques (OpenFlow, P4) for software-based packet processing are demonstrated.