Transport Layer Flashcards
How does the internet decide on the bandwith you get?
e.g. You live in flat with multiple people who use multiple programs
Via flows
Write down the flow equations
What is the flow rate
The net flow leaving s
What is a commodity? What is a multicommodity flow? Write down the equations
A commodity is a source-target pair. A multicommodity flow is a collection of multiple si-ti flows Fi
How to find augmenting paths to increase flow for commodities
In single commodity case: use Ford-Fulkerson
In multiple commodity case: Can’t apply Ford-Fulkerson, weil wir können nur unsere eigenen Flüsse verschieben, aber nicht die von anderen
Daher benutzen wir bei Multi-Commodity eine andere Methode: Linear Programmming (solved in polynomial time, hence fast)
Describe the simplex algorithm
Choose a vertex x of the polytope
While there is a neighbouring vertex y such that f(y) > f(x) do:
x:= y
return x
Describe simplex as LP
Write down equations
Which networks do actually use a central authority assigning each commodity a certain flow (via LP for instance)
Software Defined Network (SDN)
BUT: the internet is a large network with quickly changing data flows -> centralized allocation procedures are not efficient
What is an unsplittable flow
An s-t flow is unsplittable if the edges e \in E with F(e) form a PATH from s-t. (i.e. on our way from s to t there is a unique path with no repetition of nodes)
What is a splittable flow
We can have multiple paths taking us from s to t
Can we use LP for maximizing an UNSPLITTABLE MUlTIcommodity flow?
NO. This problem is NP hard
Decribe the term demand in the context of flows
The demand di is the rate at which Fi wants to transmit
For the actual flow rate we have: Fi <= di
Why do we need fairness protocols when allocating bandwith?
If we simply maximize total throughput, this might mean that certain flows starve
What is Max-Min Fairness
We increase all edges by the SAME amount, until one edge is saturated. If for that particular edge two flows have contributed to its saturation (i.e. we have an edge with capacity 8 and F1 and F2 both have a flow of 4) then both of them are taken out of the game and we increase the remaining edges. If we only have one edge left, we only increase it once and then we stop the algorithm (even if we actually could go further)
If you just want the max throughput
For each Fi look at the last edge that leads to ti, this is the amount that we want to push through
However, if along the path from si to ti there is an edge with even less capacity, that’s the one that poses our limits
So essentially look for the edge with smallest capacity on your si-ti path and then try to make sure that this limit is reached
Describe UDPs
Fire and forget
Doesn’t recognize when packets are lost, it simply keeps sending new ones, hence it doesn’t provide congestion control and it doesn’t guarantee any order of delivery of packets