This commit is contained in:
John Gatward committed 2026-10-04 15:24:17 +01:00
1 parent d0f27f276b
commit d6f54d4ec2
103 files changed
+3663 -3779

No files matched your search

@@ -1,21 +1,23 @@
# Content Centric Networks
# Content-Centric Networks
A Brief History of Networking
- Gen 1. The **phone system** (focus on the **wires**)
- The utility of the system depends on running wires to every home & office.
- 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="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.
- The utility of the system depends on running wires to every home & office.
- Wires are the dominant cost.
- A *call* is not the conversation; it's the **PATH** between two end-office line cards.
- A *phone number* is not the name/address of the caller; it's a **program** for the end-office switch fabric to build a path to the destination line card.
- <img src="img/k.png" alt="switch board" style="zoom:50%;" />
- Path building is **non-local** and **encourages centralisation** and **monopoly**.
- Calls fail if 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.
- Gen 2. The **Internet** (focus on the **endpoints**)
- Data sent in independent chunks and each chunk contains the name of the final destination.
- Nodes forward packets onward using routing tables.
- **ARPAnet** was built on top of the existing phone system.
- Data sent in independent chunks and each chunk contains the name of the final destination.
- Nodes forward packets onward using routing tables.
- **ARPAnet** was built on top of the existing phone system.
- Gen 3. **dissemination** (focus on the **data**)
@@ -30,10 +32,10 @@ A Brief History of Networking
###### Cons
- *Connected* is a binary attribute.
- Becoming part of the internet requires a globally unique, globally know IP address that's topologically stable on routing time scales.
- Connecting is a heavy weight operation
- The net struggles with moving nodes
- *Connected* is a binary attribute.
- Becoming part of the internet requires a globally unique, globally known IP address that's topologically stable on routing time scales.
- Connecting is a heavyweight operation
- The net struggles with moving nodes
#### Conversation and Dissemination
@@ -41,7 +43,7 @@ Acquiring chunks of data (web pages, emails, videos etc) is not a conversation,
In a dissemination **the data matters**, not the supplier.
- Data is request by name.
- Data is requested by name.
- Anything that hears the request, and has a valid copy can respond.
- The return data is signed, so integrity and association can be validated.
@@ -63,33 +65,33 @@ Data packets are authenticated with digital signatures.
#### CCN Forwarding
Consumer *broadcasts* and *interest* over all available communication media
The consumer *broadcasts* an *interest* over all available communication media.
- e.g. `get '/parc.com/van/presentation.pdf'`
- response: `heres '/parc.com/van/presentation.pdf/p1' <data>`
##### Names and Meaning
* Like IP, CCN nodes imposes no semantics on names
* Meaning comes from **application**, **institution** and **global conventions** reflected in prefix forwarding rules.
* Globally meaningful name leveraging the DNS global naming structure
* `/parc.com/van/presentation.pdf`
* Local and context sensitive, it refers to different objects depending on the room you're in.
* `/thisRoom/projector`
- Like IP, CCN nodes impose no semantics on names
- Meaning comes from **application**, **institution** and **global conventions** reflected in prefix forwarding rules.
- Globally meaningful name leveraging the DNS global naming structure
- `/parc.com/van/presentation.pdf`
- Local and context sensitive, it refers to different objects depending on the room you're in.
- `/thisRoom/projector`
#### Strategy Layer
* When you do not care who you are talking to, you don't care if they change
* When you are not having a conversation, there's no need to migrate conversation state.
* Multi-point gives you multi-interface for free.
* When all communication is locally flow balanced, your stack knows exactly whats working and how well.
- When you do not care who you are talking to, you don't care if they change
- When you are not having a conversation, there's no need to migrate conversation state.
- Multi-point gives you multi-interface for free.
- When all communication is locally flow-balanced, your stack knows exactly what's working and how well.
In the current Internet, Quality of Service (QoS) Problems are highly localised
* Roughly half the problems are from serial dependencies created by queues
* The other half are caused from a lack of receiver based control over bottle-necked links.
- Roughly half the problems are from serial dependencies created by queues
- The other half are caused by a lack of receiver-based control over bottlenecked links.
Unlike IP, CCN is **local**, don't have queues and receivers have complete control
Unlike IP, CCN is **local**, doesn't have queues, and gives receivers complete control.
![img](img/n.png)