Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Towards Content-Centric Internetworking based on the Publish/Subscribe paradigm
Christian Esteve et [email protected]
School of Electrical and Computer Engineering (FEEC)
University of Campinas (UNICAMP), Brazil
15/06/2008 1
Agenda
• Motivation• Concepts of Content-Centric Internetworking
– Content routing– Publish/Subscribe mode of communication– Related work– The RTFM architecture
• Routing and forwarding in CCNGI– Goals and challenges– Efficient data structures: Bloom Filters– First steps on SPSwitch
• Conclusions• References
15/06/2008 2
Motivation
• Original Internet:
– 70s technology, conversational pipes, host-to-host C/S communications
• Now, Internet use (>90%):
– Content retrieval & Service access
– Request & Delivery of named data
– CDNs and P2P: ad-hoc fixes
• Next Generation Internet approaches up today solving the “old” E2E connectivity problem
• Shift to a content-centric point of view :
– A new problem to solve (!):
• End-to-Data (E2D)
• Answering the clean-slate question…
– Add content-awareness and massive storage capacity at routers
15/06/2008 3
Motivation
• Current Internet´s ad-hoc fixes for content distribution– The beauty of the Internet design is that it was able to
accommodate very successful overlay workarounds:• Content Delivery Networks (CDN)• Peer-to-Peer Networks (P2P)
– Most innovation in the last decade coming from P2P and CDN• NAT transversal, DHTs, swarming protocols, distributed mgm, overlay
routing
• But, TCP/IP host-to-host communication is inefficient for content dissemination:– End-to-end content-agnostic communications involving a heavy
weight “connection” (stable IP).– The same pieces of data transmitted in a short period of time
over the same links (at client and server sides).– Over 99% network´s use to retrieve named pieces of data,
actually independent from the host holding the data.15/06/2008 4
Introduction
What is “content-routing”?• Indirection point for multiplexing data messages based on their
content (semantic & syntactic) rather than network host addresses.• Equals “name-based routing” where name ≠ host/interface name.• Content routing from a functional point of view:
– Application layer• DNS tricks, HTTP redirects, P2P systems (routing on content hashes)• XML routers, EDA / ESB, DPI systems, Publish/Subscribe systems
– Transport layer: • Load balancing HTML switches in data centers
– Network layer:• IP Multicast: Multicast address not really a “host address”, rather a name for a
set of interfaces…
– Lower layer:• Sensor networks data-centric routing
15/06/2008 5
Content-Centric NGI Concept
• Content-centric / data-oriented paradigm– Information is indexed by keys
and retrieved by subscription.
– Publish/Subscribe communication model
• Protocols are declarative – Say what you want, not where/who to get it from
• Data is self-certified – Self-validating data (hash, signature, PKI)
– Secure the data, not the channel
• Network nodes more than simple routers– Are caches of content, indexes, and buffers.
– Forward information while caching, in the style of MANETS, DTNs, sensor and P2P.
– How?15/06/2008 6
Traditional Internet vs. Content-Centric New Internet
Source: Uni54 Report-Draft15/06/2008 7
Publish/Subscribe Communication Model
PH
P
S
Publication Handler Subscription Routing
Publication Dissemination
Content Advertisements
Publisher
Subscriber
Source: Uni54 Report-Draft
Rendevouz
Publication Data Delivery
Cache!
SubID
PubID
15/06/2008 8
• What is a publication?– Any collection of data: A file, a website, a service, a stream, a message, etc.
• When a node publishes data, no data transfer actually takes place (the rendezvous system is informed of its existence).
• Only when a node subscribes to a named piece of data, the network finds the publication and creates a delivery path from the publisher to the subscriber(s).
• Publish() & Subscribe() are uncoupled in timeand space:– Content creation uncoupled from
content consumption– Subscribers identity & location
are unknown to Publishers.
• Push (receive) to Pull (send) architectural shift• Data delivery problem in
publish/subscribe based systems is similar to the multicast routing problem.
Publish/Subscribe Communication Model
CCNGI PubSub
Arch.
P
P
S
Srvs
Subscribe() == Publish (Subscription)
Subscribe()
Publish()
Notify()
Subscribe()
Rendevouzpub/sub match
Subscribe()
Data delivery
time
DeliveryPath
15/06/2008 9
• Mode of Communication: Names, Naming, Routing & Forwarding
Comparison to related work
Name Identifier Locator
Triad(FQDN)
NodeID(DID/NID)
Internet(IP prefix)
Res.() Res.()
Out−of−band(e.g. Google, Application)
machine-friendlysemantic-freesynthatic-intenselocation-indep
user-friendlysemantic-intenselocation-indep
address-friendlylocation-dep
Res.()
Domain-scope(e.g. NodeID RVS)
Enhanced Name Resolution Services
Resolution
Routing
DONA(P:L)
host-centric
data-centric
Goal
Connect to Host
Get Data
Flat IDentifiers15/06/2008 10
Comparison to related workPSIRP / CCNGI DONA I3
Data Name Subscription IDh(PubID)
Principal:Label (P:L)h(PubKey):h(data)
Trigger IDh(data)
Data DescriptorMetadata
Publication IDh(Data)+Publickey
Signature (data)Public Key
-
Data owner Publisher ID Principal (P:*)h(PublicKey)
IP trigger
Primitive Snd Publish Register Put
Primitive Rec Subscribe Find Get
Network techn. Replace IPAll above L2
Above IP Above IP(overlay)
Routing&Forwarding
P/S: Semi-hierarchicalRVZ or DHT.
Data: Forwardingcontexts
• Registration Table• Proactive forwarding of Registrations up in the AS hierarchy
DHT
15/06/2008 11
Forwarding Tables
• Internet Protocol: Max Prefix matching in FIB• DONA: Overlay routing Data Handlers
– Register– Find
• RTFM: MPLS-like label swap/pop/push (+ push-down/pop-up)– Publish– Subscribe– Notify
Label IN Label OUT Port OUT
X AX 1
Y Y 1
Y Y 2
Z* * 3
Forwarding Context
Data ID Next Hop DH
P:L
1A3D3AA 213.192.120.1
A0D32B1 160.132.100.1
* 210.172.90.1
IPDH
IP Prefix IP Next Hop
130.87.0.0 213.192.100.1
15/06/2008 12
Related Projects• Next generation Internet proposals:
– LNA, TRIAD, NIRA, ROFL, i3, Data Oriented Network Architecture (DONA)
• Van Jacobsen Content-Centric Networking - Assurable Global Network @ PARC
• PSIRP (Publish/Subscribe Internet Routing Paradigm)– RTFM architecture
• 4WARD - Architecture and Design for the Future Internet– NetInf
• NSIS FIND Projects– Postcards from the Edge: A Cache-and-Forward Arch. Future Int
– Service-Centric End-to-End Abstractions in Network Archit.
• Disruption and Delay-tolerant Networks (DTN) - RFC 4838
• Traditional Publish/Subscribe Systems, P2P and sensor networks
• Past projects: OceanStore, Freenet
15/06/2008 13
RTFM Architecture*
• Building Blocks– Rendevouz: Matches the subscription to a publication, and this can happen in
more than one network location. Distributed (DHT), semi-hierarchical (DONA), ...
– Topology: Creates and maintains delivery trees used for forwarding traffic. It acts both proactively (establishment, optimization) and reactively (on-demand).
– Forwarding: Actual data delivery data from one location to another. Based on label switching (each packet has a or a stack of labels) and a forwarding table
– Mediation: Node-to-node link data transfer
• Recursive– per “level”, “context”, ”domain”, “scope”
• Hierarchy of contexts• Metadata• RTF functions not necessary
co-located in nodes
*[Särelä et al. 2008]15/06/2008 14
RTFM Organization
• RTF domains/zones
– Overlapping domains
• Rendezvous
• Topology
• Forwarding
15/06/2008 15
Agenda
• Motivation• Concepts of Content-Centric Internetworking
– Content routing– Publish/Subscribe mode of communication– Related work– The RTFM architecture
• Routing and forwarding in CCNGI– Goals and challenges– Efficient data structures: Bloom Filters– First steps on SPSwitch
• Conclusions• References
15/06/2008 16
Routing and Forwarding in CCNGI
SubID DataLabelLabel
Flat IDs
Orders of magnitude(approx.)
Edge(first-hop domain)
10 6 10 8
Aggregation 10 4 10 12
Core 10 3 10 16
…
S
SS
S
S
P
P
15/06/2008 17
Scalability Issues on flat ID forwarding
• Need to make forwarding decisions on flat IDs.– But compactly; routers have small space.– No aggregation possible of flat ID– Pub/Sub IDs and labels can be ~200 bits long. – Can’t keep a big lookup table for thousands or millions of flows!
• We need efficient data structures!– Hash tables
– Classic Bloom Filter• E.g., 10 bits per element yields 1% false positive.
– Other compact data structures
• Goals:– Few bits per entry, high memory utlization , retrieval of values
from associated to keys, hardware specifics
15/06/2008 18
19
The revised main point of Bloom filters
• Whenever you have a set or list or function and space is an issue, an approximate representation, like a Bloom filter may be a useful alternative.
• Just be sure to consider the effects of the false positives!
• Typical applications of Bloom filters:• Originally: Dictionaries• Networking: Cache digest, loopback, P2P,
resource location, measurement, DPI, …
Source: Mitzenmacher et al.
15/06/2008
Bloom Filters
• Given a set S = {x1,x2,x3,…xn} on a universe U, want to answer queries of the form:
• Bloom filter provides an answer in– “Constant” time (time to hash).
– Small amount of space.
– But with some probability of being wrong.
• Alternative to hashing with interesting tradeoffs.
.SyIs
Source: Mitzenmacher et al.15/06/2008 20
Bloom Filters
Parametersm bits of memory n elementsk hash functions p false positive prob.
15/06/2008 21
Bloom FiltersStart with an m bit array, filled with 0s.
Hash each item xj in S k times. If Hi(xj) = a, set B[a] = 1.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0B
0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0B
To check if y is in S, check B at Hi(y). All k values must be 1.
0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0B
0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0B
Possible to have a false positive; all k values are 1, but y is not in S.
n items m = cn bits k hash functions Source: Mitzenmacher et al.15/06/2008 22
The maths behind Bloom filters
• Probability that a certain bit is not set during the insertion:
• Probability that it is not set by any of the k hash functions is:
• If we have inserted n elements
– the probability that a certain bit is still 0 is:
– the probability that it is 1 is :
False positive:
• Test membership of an element that is not in the set:
– Compute the k functions. The probability of all of them being 1, which would cause the algorithm to erroneously claim that the element is in the set:
• For a given m and n, the optimal value of k (the number of hash functions) that minimizes the probability is:
– which gives the false positive probability of:15/06/2008 23
The maths behind Bloom filters
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0 1 2 3 4 5 6 7 8 9 10
Hash functions
Fa
lse p
osi
tiv
e r
ate m/n = 8
Opt k = 8 ln 2 = 5.45...
n items m = cn bits k hash functions Source: Mitzenmacher et al.15/06/2008 24
The maths behind Bloom filters
-8
-7
-6
-5
-4
-3
-2
-1
0
Inserted Elements vs False Positive Probability
Standard BF
K = 6M = 2Mbit
N
P(10y)
15/06/2008 25
Handling Deletions
• Bloom filters can handle insertions, but not deletions.
• If deleting xi means resetting 1s to 0s, then deleting xi will “delete” xj.
0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0B
xi xj
Source: Mitzenmacher et al.15/06/2008 26
Counting Bloom Filters
Start with an m bit array, filled with 0s.
Hash each item xj in S k times. If Hi(xj) = a, add 1 to B[a].
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0B
0 3 0 0 1 0 2 0 0 3 2 1 0 2 1 0B
To delete xj decrement the corresponding counters.
0 2 0 0 0 0 2 0 0 3 2 1 0 1 1 0B
Can obtain a corresponding Bloom filter by reducing to 0/1.
0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 0BSource: Mitzenmacher et al.
15/06/2008 27
Issues with Bloom Filters
Recall: – Bloom Filters use a randomized technique to test membership queries
on a set of strings.
Limitations of Bloom filters:
• No associated values:– Just binary probabilistic set-membership response
• yes/no
• Deletion is expensive:– Counting Bloom Filter approach
• Size and false negatives!
• No notion of time:– Costly association of every filter element or cell with a timer
Pub/Sub Forwarding
Problem statement• Need to make forwarding decisions on flat IDs.
– But compactly; routers have small space.• Memory and computation requirements of routers
– Fast, on-chip TCAM, SRAM only a few Mbits– In addition, off-chip, commercial slow DRAM available
• Requirements for Pub/Sub Forwarding– Dynamic: Need to insert and delete forwarding states.– Space and hardware-level simplicity are key.– Can allow some errors.
• Pub/Sub model, and Pt=P1*P2*…*Pn
• One question to be answered (bottom-up-approach):
Given a flat ID (label/Subscritpion ID), which is the output port/interface?
… at wire speed – Gbps!
15/06/2008 29
Pub/Sub Router Model
Port 4Port 1
Pub ContentCache
CC_BF
Data packets (Labels, PubID) Subscription (Labels, SubID)
after Rendesvouzmatch and Notification
Label IN Label OUT Port OUT
X AX 1
Y Y 1
Y Y 2
Z* * 3
Label operations
Q: Given an incoming packet identified by a
flat ID, which is the output port/interface?
P S
Pub/Sub Control Plane T
15/06/2008 30
Issues with Bloom Filters
Recall: – Bloom Filters use a randomized technique to test membership queries
on a set of strings.
Limitations of Bloom filters:
• No associated values:– Just binary probabilistic set-membership response
• yes/no
• Deletion is expensive:– Counting Bloom Filter approach
• Size and false negatives!
• No notion of time:– Costly association of every filter element or cell with a timer
Port Out
Refreshness
15/06/2008 31
SPSwitching - Goal
-8
-7
-6
-5
-4
-3
-2
-1
0
Inserted Elements vs False Positive Probability
Goal BF Standard BF
K = 7M = 2MB
N
P(10y)
15/06/2008 32
Refreshing Bloom Filters
• Trigger to re-program the filter:
– Timing based approach.
– # Inserted elements reaches pre-computed max fpr.
– False positive indication threshold from FN• A node receiving a message with no entry in the Forwarding Table
implies a false positive of the last hop FN.
• Sends a notification back (piggybacked or aka IGMP)
• Refreshness / Re-programming technique
– Counters or counting bits approach
– Novel circular BF concept
15/06/2008 33
Topology Management
Major issue:How to build and maintain a topology in a networking architecture
that does not base on aggregatable host addresses?
Build topology between RTF domains Monitor and exchange network path information (e.g., link identifiers)
Delivery Tree Protocol Discover neighbouring RTF zones and nodes
Inspection of Pub/Sub messages Establish delivery trees
Based on active forwarding contexts Maintain delivery trees
Keep alive forwarding contexts Optimize delivery trees
Aggregation of delivery pathss
Discovery
Establishment
MaintenanceOptimization15/06/2008 34
Next Steps
• Topology management
• Rendevouz
• Big picture of information-centric Internetworking
• Efficient data structures– How to apply other data structures to our
problem?
– Review problem statement
– Evaluate the Bloom Filter alternatives:
• Memory usage (efficiency m/n)
• Computational requirements (k)
• False positive rate (p)
• Memory technology limitations (pins in
SRAM, TCAM) - hardware15/06/2008 35
Conclusion
• Internet usage for content dissemination and information access makes worth rethinking the new generation Internet architectures– Focus on Data retrieval & and Service access
• The publish/subscribe communication paradigm has suitable characteristics to be the primitives of the envisioned CCNGI– Space, time decoupling, security, etc.
• Still many issues to solve:– How to achieve scalable forwarding on flat Ids?
• Efficient data structures like Bloom Filters seem to be part of the solution
– How to build a topology without naming end-hosts?
– …
15/06/2008 36
References• Van Jacobson’s Google Tech-talk “A New Way to look at Networking,” Aug 30, 2006,
http://video.google.com/videoplay?docid=-6972678839686672840
• P.Nikander, “Towards Understanding Pure Publish/Subscribe Cryptographic Protocols”, Sixteenth International Workshop on Security Protocols, Cambridge, England, April 2008
• M. Särelä, S.Tarkoma, et al. RTFM: Publish/Subscribe Internetworking Architecture. IST Mobile Summit 2008. June, Stockholm.
• S. Tarkoma, D. Trossen, M. Särelä. Black Boxed Rendezvous Based Networking. Accepted to ACM MobiArch 2008.
• Bloom filter networking applications, http://www.arl.wustl.edu/projects/fpx/references/pubs-ip_lookup.html
• Eugster, P.T., et al., The Many Faces of Publish/Subscribe. ACM Computing Surveys, 2003. 35(2). Available from: http://portal.acm.org/citation.cfm?id=857078
• Bonomi, F., Mitzenmacher, M., Panigrah, R., Singh, S., and Varghese, G. 2006. Beyond bloom filters: from approximate membership checks to approximate state machines. SIGCOMM Comput. Commun. Rev. 36, 4 (Aug. 2006),
• Towards a Modern Communications API. (PDF) by Michael Demmer, Kevin Fall, Teemu Koponen, and Scott Shenker. In the Proceedings of HotNets-VI, November 2007.
• On Publish/Subscribe, http://www-serl.cs.colorado.edu/downloads/serl-talks/2002.02.18-Publish.ppt
• http://www.dca.fee.unicamp.br/~chesteve/15/06/2008 37
Obrigado!
15/06/2008 38
Comm. Flow
P AE F
D
SH
Match!
Topology Query:-> RTFMsub
<- FwdContext
F
F
F
T
R
F
R
Label IN Label OUT Port OUT
X AX 1
Y Y 1
Y Y 2
Z* * 3
Subscribe(SubID)
Publish(SubID,
RTFMmax) Publish()
+RTFMpub
Subscribe()
+ RTFMsubF
Publish/Subscribe(PubList)
+FwdState
Subscribe()
+FwdContext
Publish(FwdCtxt)
Notify(SubID,RTFMpub+Tpaths)
Subscribe()+ RTFMsub+ Preferred path
R
R
- Check local Subs- Layer up forward
TPreferred Path
Swap
Push-up
Pop-down Swap
15/06/2008 39
A bigger picture
15/06/2008 40