Add the rest of university notes

This commit is contained in:
John Gatward committed 2026-10-04 14:02:35 +01:00
1 parent c1b84c7f7d
commit d0f27f276b
366 files changed
+9844 -110

No files matched your search

+3 -3
View File
@@ -26,7 +26,7 @@ They have two parts: physical part and a social part
Social structures are vital for these networks - think covid tracking networks
![p2p](/lectures/acn/img/a.png)
![p2p](img/a.png)
Clouds have multiple layers
@@ -57,11 +57,11 @@ This can be used to exchange warning and beacon messages via V2V (vehicle to veh
### Fully autonomous Vehicles
![img](/lectures/acn/img/b.png)
![img](img/b.png)
Vehicles can connect to the cloud and share & request information to help other vehicles.
![img](/lectures/acn/img/c.png)
![img](img/c.png)
An example of transient clouds - in this case vehicular clouds.
+2 -2
View File
@@ -15,7 +15,7 @@ One of the core features of a MANET node is the ability to autonomously connect
* Typically routing is split into **route discovery** and **actual data transmission**.
* Nodes have to self organise in order to route.
![img](/lectures/acn/img/d.png)
![img](img/d.png)
(green boxes is route chosen)
@@ -43,7 +43,7 @@ The source has a limited range of nodes it can detect, it cannot send it direct
Table showing all different protocols of MANETs
![img](/lectures/acn/img/e.png)
![img](img/e.png)
### Delay/Disconnection Tolerance
+1 -1
View File
@@ -77,7 +77,7 @@ Communication is made possible in the network when intermediate nodes become **c
* They allow mobile nodes that pass by to collect and leave data on them.
* They contribute to increasing the frequency of node contacts and improve **delivery ratio** and **delivery delay**.
![img](/lectures/acn/img/f.png)
![img](img/f.png)
## Categories of VANETs
@@ -10,7 +10,7 @@
* **The focus phase allows** each node to forward a copy of its messages to other potential nodes until the messages gets to its destination.
* The protocol uses a single-copy utility based routing scheme to forward a copy of the message further.
* Forwarding decisions are made based on **timers** which record the times nodes come in communication range of each other.
* Node $$A$$ forwards message with destination $$D$$ to node $$B$$ , **if and only if** $$B$$ has a higher potential of delivering the message to $$D$$.
* Node $A$ forwards message with destination $D$ to node $B$ , **if and only if** $B$ has a higher potential of delivering the message to $D$.
#### SimBet
@@ -20,7 +20,7 @@ When deciding on the best carrier and the optimal number of messages, CAFREP dyn
2. Predictive **node congestion** (node storage and in-network delays)
3. Predictive **ego network congestion**
![img](/lectures/acn/img/g.png)
![img](img/g.png)
Each layer you go up, the more information is exchanged between the nodes.
@@ -34,7 +34,7 @@ $$
Ret(X) = B_c(X) - \sum^N_{i=1} \space M^i_{size}(X)
$$
For a node $$X$$, it has buffer of size $$B_c(X)$$. When a message of size $$M^i_{size}$$ is sent to node $$X$$, it's buffer size is the total buffer minus the memory taken by the sum of all messages in the buffer.
For a node $X$, it has buffer of size $B_c(X)$. When a message of size $M^i_{size}$ is sent to node $X$, it's buffer size is the total buffer minus the memory taken by the sum of all messages in the buffer.
###### Node Receptiveness
@@ -66,7 +66,7 @@ $$
EN_{Ret}(X) = \frac{1}{N}\sum^N_{i=1}Ret(C_i(X))
$$
Gets the average of the retentiveness of node $$X$$ and it's neighbours $$c_i(X)$$
Gets the average of the retentiveness of node $X$ and it's neighbours $c_i(X)$
###### Ego Network Receptiveness
@@ -88,9 +88,11 @@ $$
#### Contents of CAFREP Node
![img](img/h.png)
$$
Replication\space rate = M \times \frac{TotalUtil(Y)}{TotalUtil(X) + TotalUtil(Y)}
$$
Total utility, changes constantly. The replication limit grows to take advantage of all available resources, and backs off when congestion increases.
Social utility prevents replication at a high rate on free nodes that are not on the path to the destination.
@@ -13,7 +13,7 @@
* Application and content providers are independent of each other
* CDNs focus on web content distributions for major players
![img](/lectures/acn/img/i.png)
![img](img/i.png)
**Important requirements for ICNs** (Information Centric Networks)
@@ -79,7 +79,7 @@ Apart from routing protocols that use direct identifiers of nodes, networking ca
##### Using Names in CCNs (Content Centric Networks)
- The hierarchical structure is used to do *longest match look-ups* which guarantees $$log(n)$$ state scaling for globally accessible data.
- The hierarchical structure is used to do *longest match look-ups* which guarantees $log(n)$ state scaling for globally accessible data.
- Although CCN names are longer than IP identifiers, their **explicit structure** allows look-ups as efficient as IP's.
### ICN Forwarding
@@ -7,7 +7,7 @@ A Brief History of Networking
- Wires are the dominant cost.
- A *call* is not the conversation, its the **PATH** between two end-office line cards.
- A *phone number* is not the name/address of the caller, its a **program** for the end-office switch fabric to build a path to the destination line card.
- <img src="/lectures/acn/img/k.png" alt="switch board" style="zoom:50%;" />
- <img src="img/k.png" alt="switch board" style="zoom:50%;" />
- Path building is **non-local** and **encourages centralisation** and **monopoly**.
- Calls fail is any element in the path fails so reliability goes down exponentially as the system scales up.
- Data cannot flow until the path is set up so efficiency decreases with setup time.
@@ -49,7 +49,7 @@ CCN can run over and be run over anything e.g. IP.
#### CCN Packets
![img](/lectures/acn/img/l.png)
![img](img/l.png)
**Interest** - similar to HTTP `GET`
@@ -59,7 +59,7 @@ CCN can run over and be run over anything e.g. IP.
Data packets are authenticated with digital signatures.
![img](/lectures/acn/img/m.png)
![img](img/m.png)
#### CCN Forwarding
@@ -91,6 +91,6 @@ In the current Internet, Quality of Service (QoS) Problems are highly localised
Unlike IP, CCN is **local**, don't have queues and receivers have complete control
![img](/lectures/acn/img/n.png)
![img](img/n.png)
Tree serves as transport state
+3 -3
View File
@@ -4,7 +4,7 @@
##### Interplanetary communication
<img src="/lectures/acn/img/o.png" alt="DTN in space" style="zoom:50%;" />
<img src="img/o.png" alt="DTN in space" style="zoom:50%;" />
> **Characteristics**
>
@@ -52,7 +52,7 @@
>- High propagation delay
>- Asymmetric data rate
>
>![img](/lectures/acn/img/p.png)
>![img](img/p.png)
>
>**Security**
>
@@ -127,7 +127,7 @@ Based on the *bundle* protocol
* Access Control (only legit users with right permissions)
* Limited protection from DoS attacks
![img](/lectures/acn/img/q.png)
![img](img/q.png)
- Payload Security Header is computed once at the source bundle agent, carried unchanged, and checked at the destination bundle agent (and possibly also security boundary bundle agents)
+1 -7
View File
@@ -102,7 +102,7 @@ Precedence
- 95% allocated already (440,000 netblocks)
**IPv6** supports 128 bit address
**IPv6** supports 128-bit address
- Loads of addresses :white_check_mark:
- Routing protocols need to ported :negative_squared_cross_mark:
@@ -132,7 +132,6 @@ Because IPv6 did not magically solve address shortage problem and not all router
###### Full Cone
![image-20220124180451508](/home/jay/.config/Typora/typora-user-images/image-20220124180451508.png)
```
ea:ep - NAT address : NAT port
```
@@ -141,17 +140,12 @@ When client receives packet from server 1 `da:dp`, the NAT translates the NAT ad
###### Address Restricted Cone NAT
![image-20220124181009792](/home/jay/.config/Typora/typora-user-images/image-20220124181009792.png)
In this case server 2 is not trusted and therefore any request will be dropped.
###### Port Restricted Cone NAT
![image-20220124181127801](/home/jay/.config/Typora/typora-user-images/image-20220124181127801.png)
If the router receives a packet from a bad IP or bad port, it will be dropped.
###### Symmetric NAT
![image-20220124181325935](/home/jay/.config/Typora/typora-user-images/image-20220124181325935.png)
Here the internal address is obfuscated from the external servers, same client can use different ports for different communications.
+2 -2
View File
@@ -41,7 +41,7 @@ DNS is a consistent namespace
- Extract information from tree upon client requests
- `gethostbyname()`
![img](/lectures/acn/img/aa.png)
![img](img/aa.png)
###### Root
@@ -121,7 +121,7 @@ What happens when the resolver queries a server that doesn't know the answer? tw
1. **Recursive** (optional)
- Server generates a new query to the next server
![img](/lectures/acn/img/ab.png)
![img](img/ab.png)
#### Load Balancing
+4 -4
View File
@@ -14,7 +14,7 @@ Simplest possible paradigm
- Wait for `ack(x)`
- Transmit `seq(x+1)`
![img](/lectures/acn/img/a.jpeg)
![img](img/a.jpeg)
This has really poor performance in high latency and uses high bandwidth (half the bandwidth is overhead (acknowledgements))
@@ -88,12 +88,12 @@ RTT - round trip times
- When the first `RTT` measurement is taken the sender sets the smoothed `RTT` (`SRTT`), `RTT` variance (`RTTVAR`) and `TIMEOUT` in the following way
- `SRTT = RTT`
- `RTTVAR = RTT/2`
- `TIMEOUT = `$\Mu\cdot$`SRTT + 4*RTTVAR`
- Where $\Mu$ is a constant, which in this implementation is 1.08 (obtained experimentally)
- `TIMEOUT = `$\mu\cdot$`SRTT + 4*RTTVAR`
- Where $\mu$ is a constant, which in this implementation is 1.08 (obtained experimentally)
- When subsequent `RTT` measurements are made the sender sets the `RTTVAR`, `SRTT`, TIMEOUT
- `RTTVAR`$= (1 - \frac{1}{4}) \times$`RTTVAR`$+ \frac14 \times |$`SRTT`$-$`RTT`$|$
- `SRTT`$= (-\frac18)\times$`SRTT`$+\frac18\times$`RTT`
- `TIMEOUT`$= \Mu\times$`SRTT`$+ 4\times$`RTTVAR`
- `TIMEOUT`$= \mu\times$`SRTT`$+ 4\times$`RTTVAR`
###### Packet loss rate calculation