diff options
author | Julian T <julian@jtle.dk> | 2020-10-15 19:24:08 +0200 |
---|---|---|
committer | Julian T <julian@jtle.dk> | 2020-10-15 19:24:08 +0200 |
commit | 37f79c63546384120198d6a9231f404cac3344aa (patch) | |
tree | 520e7fec99c84945252328b132566938dcb51f77 | |
parent | edc70e4093ea18bbe2b51915be75ffec5bcfee5e (diff) |
Added notes for mm12 net
-rw-r--r-- | sem5/net/mm12/noter.md | 71 | ||||
-rw-r--r-- | sem5/sig/mm9/opg1del1.py | 2 |
2 files changed, 72 insertions, 1 deletions
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 |