04-nnc

advertisement
Lecture 4
- Van Jacobson’s NNC: a prominent
evolutionary FIA
D.Sc. Arto Karila
Helsinki Institute for Information Technology (HIIT)
arto.karila@hiit.fi
18.09.2012
M.Sc. Mark Ain
Helsinki Institute for Information Technology (HIIT)
mark.ain@hiit.fi
T-110.6120 – Special Course in Future Internet Technologies
1
*** NEWS ***
We now have 5 participants in the course.
 All FIA readings are optional
 Those that are presented in the lectures will be
covered in the final exam (DONA, HAGGLE, PSIRP,
ROFL, SEATTLE)
 No lectures cancelled
18.09.2012
2
Networking Named Content
 Based on and pictures borrowed from: Jacobson,
V.; Smetters, D. K.; Thornton, J. D.; Plass, M. F.;
Briggs, N.; Braynard, R. Networking named
content. Proceedings of the 5th ACM
International Conference on Emerging
Networking Experiments and Technologies
(CoNEXT 2009); 2009 December 1-4; Rome, Italy.
NY: ACM; 2009; 1-12.
 Warm thanks to Van Jacobson for the permission
to use his pictures
18.09.2012
3
Host-Centric Networking
 In 1960’s and 1970’s – resource sharing
 Computers, disk drives, tape drives, printers etc.
needed to be shared
 This lead into a communication model with two
machines – one using and one providing
resources over the network
 IP packets with source and destination
 Most of the traffic is TCP connections
18.09.2012
4
Content-Centric Networking
(CCN)
 In 2009 alone 500 exabytes (5 x 1020 B)




of content created (source: RFC 5401)
Users are interested in what content –
not where it is
CCN – a communication architecture
built on named data
“Address” names content – not location
Preserve the design decisions that make TCP/IP
simple, robust and scalable
18.09.2012
5
TCP/IP and CCN Protocol Stacks
 From IP to chunks of named content
 Only layer 3 requires universal agreement
18.09.2012
6
Interest and Data packets
 There are two types of CCN packets:
 Interest packets
 Data packets
18.09.2012
7
CCN Node Model
 There are two types of CCN packets:
 Interest packets
 Data packets
 Consumer broadcasts its Interest over all
available connectivity
 Data is transmitted only in response to an
Interest and consumes that Interest
 Data satisfies an Interest if ContentName in the
Interest is a prefix of that in the Data
18.09.2012
8
CCN Node Model
 Hierarchical name space (cmp w/ URI)
 When a packet arrives on a face a longest-match
lookup is made
 Forwarding engine with 3 data structures:
 Forwarding Information Base (FIB)
 Content Store (buffer memory)
 Pending Interest Table (PIT)
18.09.2012
9
CCN Node Model
 FIB allows a list of outgoing interfaces – multiple




sources of data
Content Store w/ LRU or LFU replacement
PIT keeps track of Interest forwarded up-stream
=> Data can be sent downstream
Interest packets are routed upstream – Data
packets follow the same path down
Each PIT entry is a “bread crumb” marking the
path and is erased after it’s been used
18.09.2012
10
CCN Forwarding Engine
18.09.2012
11
CCN Node Model
 When an Interest packet arrives, longest-match
lookup is done on its ContentName
 ContentStore match is preferred over a PIT match,
preferred over a FIB match
 Matching Data packet in ContentStore => send it out on
the Interest arrival face
 Else, if there is an exact-match PIT entry => add the arrival
face to the PIT entry’s list
 Else, if there is a matching FIB entry =>
send the Interes up-stream towards the data
 Else => discard the Interest packet
18.09.2012
12
CCN Transport
 CCN transport is designed to operate on




unreliable packet delivery services
Senders are stateless
Receivers keep track of unsatisfied Interests and
ask again after a time-out
The receiver’s strategy layer is responsible for
retransmission, selecting faces, limiting the
number of unsatisfied Interests, priority
One Interest retrieves at most one Data packet
=> flow balance
18.09.2012
13
Reliability and Flow Control
 Flow balance allows for efficient communication
between machines with highly different speeds
 It is possible to overlap data and requests
 In CCN, all communication is local and flow
balance is maintained over each hop
 This leads into end-to-end flow control without
any end-to-end mechanisms
18.09.2012
14
Naming
 CCN is based on hierarchical, aggregatable names
at least partly meaningful to humans
 The name notation used is like URI
18.09.2012
15
Naming and Sequencing
 An Interest can specify the content exactly
 Content names can contain automatically
generated endings used like sequence #s
 The last part of the name is incremented for the
next chunk (e.g. a video frame)
 The names form a tree which is traversed in
preorder
 In this way, the receiver can ask for the
next Data packet in his Interest packet
18.09.2012
16
Intra-Domain Routing
 Like IPv4 and IPv6 addresses, CCN
ContentNames are aggregateable and routed
based on longest match
 However, ContentNames are of varying length
and longer than IP addresses
 The TLV (Type Label Value) of OSPF or
IS-IS can distribute CCN content prefixes
 Therefore, CCN Interest/Data forwarding can be
built on existing infrastructure without any
modification to the routers
18.09.2012
17
Intra-Domain Routing
 An example of intra-domain routing
18.09.2012
18
Inter-Domain Routing
 The current BGP version has the equivalent of the
IGP TLV mechanism
 Through this mechanism, it is possible to learn
which domains serve Interests in some prefix and
what is the closest CCN-capable domain on the
paths towards those domains
 Therefore, it is possible to deploy CCN in the
existing BGP infrastructure
18.09.2012
19
Content-Based Security
 In CCN, the content itself (rather than its path) is




protected
One can retrieve the content from the closest
source and validate it
All content is digitally signed
Signed info includes hash of the public key used
for signing
We still need some kind of a Public Key
Infrastructure (PKI)
18.09.2012
20
Trust Establishment
 Associating name spaces with public keys
18.09.2012
21
Evaluation
 The CCN architecture described has been
implemented and evaluated
 Voice over CCN and Content Distribution were
tested with small networks
 The results are interesting but don’t really tell us
anything about the scalability of the design
18.09.2012
22
Voice over CCN
 Secure Voice over CCN was implemented using
Linphone 3.0 and its performance evaluated
 Caller encodes SIP INVITE as CCN name and sends
it as an interest
 On receipt of the INVITE, the callee generates a
signed Data packet with the INVITE name as its
name and the SIP response as its payload
 From the SIP messages, the parties derive paired
name prefixes under which they write RTP packets
 There is a separate paper on Voice over CCN
18.09.2012
23
Voice over CCN –
Automatic Failover
18.09.2012
24
Content Distribution
18.09.2012
25
Throughput
18.09.2012
26
Comparing CCN and HTTP
18.09.2012
27
Comparing CCN and HTTPS
18.09.2012
28
Merits of CCN
 Very understandable scheme
 Shown to work also with streamed media
 Clever reuse of existing mechanisms
 Easy to implement based on current routing
software
 Easy to deploy on existing routing protocols and
IP networks
 Easy, human-readable naming scheme
18.09.2012
29
Concerns about CCN
 The simple hierarchical (URI-like)
naming scheme is also a limitation
 Will CCN scale to billions of nodes?
 Flooding (send out through all available faces)
 Flow balance – an Interest for every Data
 How large can the FIB grow (soft state)?
 Data takes the same (possibly non-optimal) path as
Interest
 Are the performance measurements made with
only a couple of hosts convincing?
 Security architecture looks very conventional
18.09.2012
30
Thank you for your attention!
Questions? Comments?
Good luck with your presentations! If you have any
questions or concerns…
mark.ain@hiit.fi
18.09.2012
31
Download