Communications Networks Architecture

Computer Networks Algorithms

The goal of this introductory course is to make students familiar with how contemporary communications networks and services are built. We will teach you the basics of communications applications – you will learn the concept of the client-server architecture, how client and server applications communicate to provide information services, and how they can be programmed. You will also learn how voice and video is coded, and how the applications that are used for chatting and calling are built. We will also explain the involved concepts of relational databases, service-oriented architecture, server virtualisation and cloud computing. Then we will teach you the basics of optical packet networks that interconnect hosts and transport application data. You will see how packets with application data are forwarded by routers, the architecture of the router, and the way packet routes are computed. And you will learn the principles of optical transmission and optical networking: we will discuss modulation, propagation, attenuation and dispersion of the optical signal in the fibre, optical connections, which are used to interconnect routers, and the architecture and functions of optical switches and transponders. And we will also teach you how customer devices are connected to the network. We will discuss the structure and equipment of the fibre cable access networks. And we will explain the basics of radio communication in wireless networks, and the structure and operations principles of wireless local area networks and cellular mobile networks.

Lecturer: A. Tomaszewski

We will discuss basic computer algorithms that are important in implementing network functions and service applications, and in communications networks design and analysis. You will learn graph algorithms that compute trees, paths and flows in the graph, which are used for designing and managing network configuration. We will show you some basic techniques of system and network optimisation – linear and integer programming, gradient optimisation, genetic algorithms. Then you will learn the algorithms of system simulation that are used for the analysis of network and service performance. And you will also learn selected algorithms of data management – sorting, storage, compression, encryption, and retrieval. In particular, we will explain the concept of relational databases and physical organisation of their data, and discuss the problem of secure data transfer and the notion of public key infrastructure. Lab exercises are supposed to help you in gaining intuition concerning the presented algorithms. You will implement selected algorithms and use them in solving simple network design and system analysis problems, to see how the algorithms are applied and why they are important.

Lecturers: A. Tomaszewski, M. Żotkiewicz, D. Bursztynowski

Internet Technologies

During this course we will introduce you to various technologies used in the carrier IP networks and datacenters, interconnected to create the global network of networks – the Internet. We will discuss the architecture and organization of the Internet, investigate how the main Internet applications work, what protocols they use to accomplish various aspects of communication, how they evolved, and what is needed to achieve the global scale connectivity. The lab exercises will let you familiarize with selected Internet services (www, VoIP), the most important Internet transport protocol – the TCP, and with the basic configuration of networking in IP routing devices.

Lecturer: P. Gajowniczek, A. Bąk

Computer Networks Basics

Transport Networks

In this course we will teach you the stable set of most important concepts that are relevant to modern ICT networks. You will learn how a network can be described using these concepts, how it works, and how its important parts and aspects can be designed. We first deal with the network as seen from the user perspective (the user plane), concentrating on services and service supporting notions. We then turn to protocols, which are fundamental to any distributed system. You will learn the generic problems of protocol design (a part of protocol engineering), and the use of protocols for signalling. We will discuss signalling performed in various architectural parts of the network, and for various purposes. In the lab you will experiment with both the protocol design support systems and particular protocols in operation. Then you will learn the organisation of the data plane and the basics of switching and routing. We will compare different techniques of multiplexing and switching data showing their role in modern optical packet networks, and study the ITU-T G.805/G.809 standard model that allows for a uniform description of multi-technology data planes. We will discuss the congestion at the node, link, and path, as well as introduce combinatorial and queueing mathematical models for evaluating traffic performance. You will learn different strategies of routing data flows, and will have an opportunity to experiment with your own strategies in the lab. Finally, you will be introduced to network and service management. We will begin with examples that illustrate basic notions, mechanisms and architectural elements of management systems. We will then discuss elementary rules/techniques for representing network resources and organizing management interfaces. You will have an opportunity to apply those techniques for configuration and monitoring of network devices and networks. And then we will teach you how element management systems (EMS) and network management systems (NMS) are organized and how these systems collaborate in execution of service fulfilment, assurance and billing management processes.

Lecturers: K. Brzeziński, A. Tomaszewski, M. Mycek

We will teach you how contemporary communications transport networks are built, controlled and managed. We will discuss the concept of the optical packet network, and the characteristics of IP/MPLS packet technologies and DWDM/EON optical technologies. We will study the two basic models of the control plane – the ASON model from ITU-T and the GMPLS model from IETF. You will learn basic notions and concepts, types of functional components and their interaction scenarios, and the role and features of signalling, routing and link management network protocols. We will also discuss the option to virtualise network functions and the Software Defined Network concept of separating the transport and the control plane and centralising the control plane. Then you will learn how connections are routed in the transport network and how network resilience to failures is provided – we will discuss connection routing, protection and restoration schemes and algorithms. To master your knowledge, during the project you will build your own software emulator of the transport and the control plane for a selected network technology.

Lecturers: A. Tomaszewski, M. Mycek

Cellular Networks

Carrier IP Networks

The first generation of mobile networks (NMT) appeared on the market in 1981, but the real breakthrough came with the introduction of GSM, supporting voice and SMS services and available since 1993. The scale of GSM network deployment has surpassed the wildest imaginations, as in 2003 it had over 1 billion users; moreover, it is expected that it will operate until 2025! This is one of the greatest successes in telecommunications and undoubtedly a technical masterpiece. It is also worth noting that UMTS, created in 2000, had borrowed a lot of from GSM. UMTS, however, is an extremely complicated solution. In response to UMTS problems, LTE was developed in 2008. Simply put, LTE is a mobile IP network that provides high rate IP data transfers with QoS and with low latency. LTE is another example of a big success: in 2014 LTE networks had 500 million users, but at the end of 2017 the number had grown by 2 billion! In 2020 we expect a new, software-based network called 5G. The SKRU lecture will present the architecture and functionality of these nicely developed networks. The acquired knowledge will be useful for programmers of mobile applications and for those who will be involved in network design, operations and maintenance.

Lecturer: S. Kukliński

During this course we will make a deep dive into the ocean of standards and technologies related to carrier IP networking. We will discuss the IP protocol, the basics and impact of introducing IPv6, and learn how the modern intra-domain routing protocols (OSPF, IS-IS) work in large networks. We will also discuss the details of the BGP protocol for global routing between Internet Service Providers – how it relates to Internet organization as a global network of networks, to modern Internet datacenter architectures, and what are the good and bad practices in global routing. You will also learn about the improvements over plain IP networks: IP QoS solutions, MPLS for traffic engineering and resiliency, and multicast routing for effective distribution of IP TV streams in managed IP networks. We will also discuss the basics of creating virtual private networks (VPNs) for customer traffic management. You will use some of this knowledge in practice, as lab exercises rely on hands-on experience in configuring routing and tunneling protocols using the industry-standard command line interfaces on IP routers.

Lecturers: P. Gajowniczek, A. Bąk

Computer Networks Systems Design

Every discipline needs to take a step back and reflect on its own foundations (otherwise, e.g., a scientist might end up doing pseudo-science). Design is no exception. In the first part of this course we draw a “big picture” of Design as a component of human creative activity focused on making artifacts. Later on we will deal specifically with designing ICT systems/networks, but we start off quite generally — these take-home ideas will serve you well for whatever you happen to design in the future. In particular, you will learn different conceptions of Design and the Designer, the “theories” of designed objects, the models of the making process (a.k.a. “life-cycle models”), the sense in which designing can and should become scientific (science for design vs. science of design vs. design science), and the ways to support routine and creative elements of Design applied to tame and wicked problems (Inventics, Systems Thinking, Design Thinking, design patterns and anti-patterns, ideas specific to Human-Centered Design). We then turn to standards, and to testing — both instruments of design and designed products themselves. You will learn their general intellectual foundations, their own design problems and processes, and their specific use in the design of ICT systems.

Lecturers: K. Brzeziński

Softwarised Networks

Computer Networks Planning

The goal of the course is to make students familiar with the idea of softwarised networks and underlying concepts. You will learn new directions in the evolution of network platforms based on virtualization, cloud and fog computing, as well as different areas of application of those concepts. You will learn and understand the fundamentals of network softwarisation, in particular, you will become familiar with the principles of SDN and NFV and their role in creating multiple parallel user networks by means of network slicing. Moreover, you will learn new radio techniques and architectural concepts that underlie the idea of the 5G network, and the role of network softwarisation in implementing 5G. You will also acquire skills in defining how NFV can be used to build and manage a softwarised 5G network. Lab experiments and projects are an important part of the course, you will aquire basic skills in designing softwarised networks and using their selected underlying techniques, SDN in particular.

Lecturers: D. Bursztynowski, S. Kukliński, M. Mycek

There is a saying that all models are wrong, but some are useful. It is the same with telecommunications – in many cases we need mathematical modeling to optimize networks for cost and/or performance, even if this sometimes simplifies the reality. During the course we will introduce you to optimization and performance analysis of telecommunication systems, using selected approaches of linear and integer programming, metaheuristics, probabilistic modeling, and queueing theory. You will get familiar with these approaches using case studies, such as designing an optical transport network, optimal resource placement in a cellular and virtualized (SDN) networking environment, optimization of routing in a mesh radio network, and performance analysis of a CDN caching node. During the project you will learn how the industry standard software packages can handle real-life optimization and performance analysis problems, and how simulation of telecommunication systems compares with what we can obtain from mathematical modeling.

Lecturers: M. Pióro, P. Gajowniczek

Managing Softwarised Networks

The course aims at providing knowledge and basic skills in the domain of softwarised network management and network services management, including related problems, architectures and tools. During the course, students learn the principles of network functions virtualization with emphasis on the solutions covered by standardization (NFV) and principles of network service orchestration and management in an NFV environment. Students are also given background in using techniques commonly referred to as Big Data which is becoming increasingly popular in network analytics for the purposes of network and service management. Lab exercises and project play an important role in the course by allowing hands-on experimenting with selected techniques and tools used in the domain of softwarised network management.

Lecturers: D. Bursztynowski, S. Kukliński, M. Mycek, M. Żotkiewicz