This commit is contained in:
John Gatward
2026-03-25 15:04:03 +00:00
parent 6e862b0fbf
commit c1b84c7f7d
36 changed files with 1541 additions and 0 deletions

View File

@@ -0,0 +1,102 @@
# Information Centric Networks
#### Problems with today's Networks
* URLs and IP addresses are overloaded with locator and identifier functionality.
* No consistent way to keep track of *identical copies*.
* Information dissemination is inefficient.
* Cannot benefit from existing copies
* Can lead to problems like Flash-Crowd effect and Denial of service
* Can't trust a copy received from an un-trusted node
* Security is host-Centric
* Based on *securing channels* (encryption) and trusting servers (authentication)
* Application and content providers are independent of each other
* CDNs focus on web content distributions for major players
![img](/lectures/acn/img/i.png)
**Important requirements for ICNs** (Information Centric Networks)
1. Accessing named resources - not hosts
2. Scalable distribution through replication and caching
3. Good control of resolution / routing and access
## Content-based Routing for ICNs
Apart from routing protocols that use direct identifiers of nodes, networking can take place based directly on content.
* Content can be **collected** from the network, **processed** in the network and **stored** in the network.
* The goal is to provide a network infrastructure capable of providing services better suited to today's application requirements
* Content distribution and mobility
* More resilience to disruption and failures
#### Network Evolution
**Traditional networking**
- Host-Centric communications, addressing and end-points
**ICNs**
- Data-Centric communications addressing information
- Decoupling in space - neither sender nor receiver need to know their partner.
- Decoupling in time - *answer* not necessarily directly triggered by a *question*. **asynchronous communication**.
#### Approach
* Named Data Objects (NDOs)
* In-network caching/storage
* Multi-party communication through replication
* Senders decoupled from receivers
### Dissemination Networking
* Data is requested by name, using any and all means available (IP, VPN tunnels, multi-cast, proxies etc)
* Anything that hears the request and has a valid copy of the data can respond.
* The returned data is signed, and optionally secured, so its integrity & association with name can be validated (data-Centric security)
![ICN Stack](img/j.png)
* Change of network abstraction from **named host** to **named content** (content chunks).
* Security is built in - **secures content** and **not the hosts**.
* **Mobility** is present by design.
* Can handle **static** and **dynamic** content.
#### Naming Data
###### Solution 1 - Name the data
- **Flat** - non human readable identifiers
- `1HJKRH535KJH252JLH3424JLBNL`
- **Hierarchical** - meaningful structured names
- `/nytimes/sport/baseball/mets/game0224143`
###### Solution 2 - Describe the data
- With a set of tags
- `baseball, new york, mets`
- With schema that defines attributes, values and relations among attributes
##### 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.
- Although CCN names are longer than IP identifiers, their **explicit structure** allows look-ups as efficient as IP's.
### ICN Forwarding
* Consumer *broadcasts* and *interest* over all available communication media
* Interest identifies a *collection of data* whose name has the interest as a prefex.
* Anything that hears the interest and has an element of the collection can respond with that data.
### ICN Transport
* Data that matches an interest, *consumes* it.
* Interest must be re-expressed to get new data.
* Controlling re-expressions allows for traffic management and congestion control.
* Multiple (distinct) interests in the same collection may be expressed
### ICN Caching
* Storage and caching are integral part of the ICN service
* All nodes potentially have caches. Requests for data can be satisfied by any node holding a copy in it's cache.
* ICN combines caching at the network edge with in-network caching.