# 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