---
# System prepended metadata

title: PROJEKT 2/LAB2 EINES

---

# PROJEKT 2/LAB2 EINES
controller run configuration

network becomes more and more softwarise

process solution:
    problem, software, algorithms

start applicating application, 

next -> lecture automatization

DevOps - teams from begining to the end

development platform in cloud eg. Gitlab, software management platform

storing the code, 
- deploy the software,
    - pulls new modules 
    - ...

## client-server architecture
client - > request(request_parameters) -> serverr
server - > response(output parameters) -> client(s)

standard protocols, 
divide work for building client vs server

## service-oriented architecture

client --> service --> spaning services tree 
gRPC  - "google" ,

in projekt = rest api

VCS - .Net core corss platfrom-development ( code can be repricate on diffrent systems and machines)

solutions:
- project
    - folder
        - files
            
interact with SDN controller.

1. Model data (model filder)
    - object (links_id, switch_id)
        - class for switch have nothing inside (just inherit after object id)
    - request
        - get_switches(id: String) - > List[Swiches] 
2. Implement the logic
    - network
        - get_swithes ( string id)
            lock ( FakeNetwork.lockNetwork)
            return array with switches
    - interface
        - web server
            - store code -> takes parameters from user -> run code -> return result ( dynamic service)
            - controller besed class ( network controller)
                - NC ( ILogger NetworkController> logger, INetwork network)
    - configuration - > FakeNetwork
    -  test application
        -  web broser base - it is use for http requests -> JSON switches
    - example of request: build mininet network

3. Testing
    - unit test (program test, ) 
5. automate proccess
- github (test, compile, deploy in cloud)
    

debugger in VSC is very advance


automation of the procces: tbc

## 05-11-2022 second lecture
Network software,

automating software

Services generating trafic, network carry the traffic,

Project: create slice of network for customer, 

All is about services, rest is realization of this services.

1. [User Plane] Access sesion -> what time of sessions eg. Voip call
2. [Transport P] Transport data -> decide the way of coding,
    - data plane, part of Transport plane
4. [Managementent p]

Characterise the trafic, descirbe requirements, 
stream of sesions - sequence of services asked, 

Session rate - how often new session happen, (costant or value)

Duration of session - time, chagne dependes on time of the day, 

mininet emulator - host connected to switch is group of clients, group of user/applications

block rate - how often we generate the block of data

amount of capatacity, quality of service requirements:

1. level of session stream - failure probability (low resources)
2. QoS:
     - delay
     - jitter change of delay
     - lost prob. of data
     - error prob. error in data

1. inforamation application - type of app, accessing data, client/server, realibe data transfer
2. communication services - peer application - client - client eg, video call, require speed of transmision, 

### 5G network
use cases:
1. enchance mobile broadband 10GB/s video
2. massive Machine communication - IoT large number of devies
3. Ultra realible low latency communication 6*9 99.99999 % reability 

eg. Autonomious verhicle is mix 1/3; surgery online, 

Elastic traffic - amout of data, zero loss, zero error, 
non-elestic - real time comm. min delay, min loss, 
#### Ipref 
emulating group of client; starts from client, 

Data block -> socker buffer -> data segement- > IP -> eth -> socket buffer [slide Traffic Classes]
eg on lacture - file " ipref"
ipref
-w window tcp param, increase makes larger, 

1. start the server - can measure: lost, dalay, latency, jitter, transfer, *bandwitch
2. client ipref_..._tcp_client 
*bandwitch is from app perspective not network; how fast app sending

**NFV** - network function virtualization, network slicing,
**OPEN RAN** Radio Access Network
**BM** - Bussiness Management

Slices of network for the customer, are tailored ( well fit) 4 client

Graph algorithms, knapsack problem, 

ML:
SVM, neural network, probabilistic model, 

model decided to accept or reject session.

Bit Rate of the link

command to mn on slide 
for diffrent link capacity is require build new python topology, 

Dijkstra alghorythm

namespaces - grouping definicions

C# - procedural programing, clean after job
C# - paraller programing, współbiżne, 

client-service
or
service-oriented arrchitecture  - chain of request and responses, when asking about inforamtion change the role and start to be client for diffrent server eg SQL server etc.

SOP
REST - json, html
gRPC - google 

eg. REST servive -server

REST server Xservice.iface
curl - for request, http prot

out app decide 


curl with data of slicing -> aplication run algorythm (dijstra), then send to SDN controller, next push down conf to switches, then host ipref

onos -> control plane

host gruop of user -> Edge Cloud (other host in mininet) -> 

can u add host to *mn* real time clients

### .NET (Core)

automating process of bulding packing, building our system. 

Programming platform, 
SDK for development
.Net runtime for execute system

generatate referenes to generate project, 

can not have all code on github, becouse project uses many diffrent operating system, but we can build:
- new machine with .NET for run script; Integration
- packing machine and storage 
- deploy, exe sript, where is pack code? ^package



FakeNetwork
private staric readonly Switches[] 

FakeNetowrkTest

to build -> update, build debug version of the code, realise verison, 

from VS push code to github for version control,     

CI   continous integration, etc

Pipeline 
github gets info about test result

close virtual studio before github there is conflict with libraries. 


next lecture packaging and deploy

## LAB2 
dwóch userów do zrobienia, install git, start version control, share the project from members the team, process of building and testing of process, pipiline in git hub, 

install github runner service, register for project

in presentation are documentation, 


# LECTURE 3 18-05-2022

Software deplpoying system

Format ofpacking depending on type of plaftorm we use. For cloud are:
- Docker
- Docker Swan
- Qubernetess

Physical Machine - usually overextension of virtual machine - 10 percent of disk storage
Virtual Machines - platform, hypervisior part of OS or application, it is not very optimal becouse two ( or more ) apps can have same system requirements and then we double it in VM. 
Containers - contains bins, libraries, app code, 

Our goal is to pack our system and pack it into docker and run it on the system. 

The advantage of containers is short configuration time. Scaling the system, **scale up** - more resources change the amount recources, more cores and more memory, **scale out** - more instance of application, mechanisme of load balancing, automating load balance for growing number of requests.

Docker contaniner platform: 
1. Dockerdesktop
2. Dockerhub - store dockerbuld in cloud, register the account, free account ( only one repo)

docker desktop - application, engine which can run the container, 

Doceker, DockerControl? 

[add new files for projekt]

DEAMON - intereact with docker desktop, send command to docker, set of commands

## How to build the container?
1. give a name of file; the recipe to build container
VS have support docker -> build dockerfile

asp server inside the image
building and pushing to the cloud

there are resrictoin from docekerhub to push and pull 


XXX

System composition, call apllication by name and port, 
response in json file

docker enrise data when reset
for save use volumes in local machine

k8s Qubernetes 

decide how to manage recoursces 
