From 37f79c63546384120198d6a9231f404cac3344aa Mon Sep 17 00:00:00 2001 From: Julian T Date: Thu, 15 Oct 2020 19:24:08 +0200 Subject: Added notes for mm12 net --- sem5/net/mm12/noter.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++++ sem5/sig/mm9/opg1del1.py | 2 +- 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 sem5/net/mm12/noter.md diff --git a/sem5/net/mm12/noter.md b/sem5/net/mm12/noter.md new file mode 100644 index 0000000..c60d913 --- /dev/null +++ b/sem5/net/mm12/noter.md @@ -0,0 +1,71 @@ +``` +2020-10-15:s5/net/mm12/noter #6be5 +``` +# Sidste gang +## Konklusion af opgaver fra sidste gang + +Fejl i TCP afhænger meget af hvilke pakker der bliver tabt. + +## TCP wireless + +TCP performance is very affected by wireless errors. +Solutions: + + - Can use some special ACK which uses bitfields for acking multiple packets. + Also called *SACK*, i think. + + - Can Also terminate TCP in the middle and switch over to another protocol. + Then move back to TCP at the other end of wireless. + + - Modify layer 2 to work better with TCP. + - Can for example check if dupack and then drop it. + +FEJL PÅ SLIDES: slide 31 "down-stream" skal være "up-stream". + +# Fault tolerance + +Dette er noter fra mm12. + +How to handle faults in a network of services? + +1. Define a list of possible errors, with likelihood. + Here errors can be prioritised based on likelihood and impact. + + Also called *Fault analysis*. + +## Types of failures + + - Crash + - Timing + - Assertive + - Arbitrary/Byzantine + +## Metrics + +**Availability** is the fraction of time the system is available. +For very reliable systems this should be $1-10^5$. + +If there is **replication** the availability becomes $1-(1-A)^N$, where N is the +number of servers. + +## Replication + +> If availability is to low, just throw more servers at it. /s + +Have multiple servers. +How to split traffic between servers: + + - Just give a list of servers + + Means clients must do failover themselves. + Sometimes this is not desirable. + + - Have servers on the same ip address. + So the client is unaware. + + This makes a constraint on the network, which must to load balancing. + This could be done with a load balancer or with ARP. + + - Have name servers which update depending on server availability. + +TODO: Cluster framework. diff --git a/sem5/sig/mm9/opg1del1.py b/sem5/sig/mm9/opg1del1.py index d5b50d4..21456ec 100644 --- a/sem5/sig/mm9/opg1del1.py +++ b/sem5/sig/mm9/opg1del1.py @@ -1,4 +1,4 @@ -# 2020-04-07:s5/sig/mm9/opg/2 #7d4a +# 2020-10-07:s5/sig/mm9/opg/2 #039b import numpy as np import matplotlib.pyplot as plt -- cgit v1.2.3