Presentation on theme: "On Pending Interest Table in Named Data Networking"— Presentation transcript:
1 On Pending Interest Table in Named Data Networking Huichen Dai, Bin Liu, Yan Chen*, Yi WangTsinghua University, China*Northwestern University, USA
2 Outline Background of Named Data Networking (NDN) Pending Interest Table (PIT)Problem StatementChallengesMeasure PIT Size and Access FrequencyNCE to Accelerate PIT Access and Size ShrinkingEvaluationConclusion
3 Background of NDN (1/3)Newly proposed clean-slate network architecture;Embraces Internet’s function transition from host-to-host communication to content dissemination;Routes and forwards packets by content names;Two kinds of packets:Interest packet and Data packet.Request-driven communication model (pull);
4 Background of NDN (2/3)Content Store (CS): the router’s buffer memory that caches Data packets;Pending Interest Table (PIT): each entry records the name of a pended Interest and the interfaces from which the Interest comes in.Forwarding Information Base (FIB): NDN forwarding table.
5 Background of NDN (3/3) Content Store Forwarding Information Base Pending Interest TableFigure: Interest Packet lookup and forwarding processFigure: Data packet lookup and forwarding process
6 Pending Interest Table (1/3) A special table in NDN and no equivalent in IP.Keeps track of the Interest packets that are received but yet un-responded.Brings NDN significant features:communication without the knowledge of host locations;loop and packet loss detection;multipath routing support; etc.
7 Pending Interest Table (2/3) Read and write on PIT.Interest PacketData Packetcom/google/mapslookupcom/google/maps/data/1/com/google/scholarcom/google/scholar/data/1/PITContent nameInterface listinserted1deletedinserted3deleted......……A Dynamic Process!
8 Problem Statement (1/2)A router inserts every incoming Interest into PIT, and removes each received Data packet from PIT.High-speed packet arrival rate leads to a large PIT size and extremely high access (lookup, insert and delete) frequency.Two major problems about PIT arise:The size of PIT?The access (lookup, insert anddelete) frequency of PIT?Size?Frequency?
9 Problem Statement (2/2)Senior researchers (Lixia Zhang, Van Jacobson, etc.) witness Internet’s function transition;NDN is empirically proposed based on their experience;A gap from experience to practice: can PIT be satisfied by off-the-shelf technologies?No previous study touched the feasibility issue.No statistics support.
11 A fresh look at NDN (1/2) -- from application perspective NDN better satisfies the requirements of users:browsing web pages,watching videos,sharing files, etc.Users demand the same network applications, but require different implementations in NDN.The PIT entries are consumed by application-triggered requests.
12 firstname.lastname@example.org/123 A fresh look on NDN (1/2) PIT entry filled by app-triggered InterestsA sample PIT:PITContent nameInterface listcom/google/maps1HTTP Interestcom/google/scholar3Avatar2P2P Interest5Interest…………The applications do not change, solve the problems from the application perspective!
13 Apps from IP to NDN (1/5) Major Internet applications: HTTP, FTP, P2P, , Online games, Streaming media, Instant messaging, etc.Implement these applications using NDN’s request-driven communication model.Afterwards, examine how these applications construct and destruct PIT entries.HTTP/1.1 as an example.
14 Apps from IP to NDN -- HTTP (2/5) A request/response protocol;A client sends a request over a connection to a server,The server responds with a message.HTTP/1.1 adopts Persistent Connections:HTTP requests and responses can be pipelined on a connection.Simplest Case:
15 Apps from IP to NDN -- HTTP(3/5) However, the actual case is complicated.For HTTP Response:HTTP response divided into multiple Data packets due to the MTU,At 𝑡 0 the corresponding PIT entry is created, and at 𝑡 𝑛 the entry is removed,Entry Lifetime: 𝑡 𝑛 − 𝑡 0 .
16 Apps from IP to NDN -- HTTP(4/5) For HTTP Request:HTTP requests can be divide into different categories, including GET, HEAD, POST, PUT, DELETE, TRACE;GET, HEAD – pull data from server;POST, PUT – push data to server;DELETE, TRACE – function calls on the server.NDN can only pull data from server.
17 Apps from IP to NDN -- HTTP(5/5) GET, HEAD – implemented by Interest packet directly;Extend the function of Interest packet to accommodate the rest methods;POST, PUT – add additional data block to the Interest packet that contains the content to be pushed to the server;DELETE, TRACE – extend Interest packet to enable function calls.
18 Measure PIT Size and Access Freq. (1/3) So far, we haveSo we can:We get data – we quantify PIT size and access frequency by analyzing the NDN trace.Applications on IPApplications on NDNIP traceNDN tracetranslate
19 Measure PIT Size and Access Freq. – Metrics (2/3) Size: the number of PIT entries at each snapshot by examining the lifetime of each PIT entry.Lookup frequency: the # of Data packets (excluding the last Data of a request/response pair) arrive per second;Insert frequency: the # of emerging biflows (new Interests arrive)Delete frequency: the # of disappearing biflows (last Data packet of a request/response pair arrive).
20 Measure PIT Size and Access Freq. – Results (3/3) A one-hour IP trace from a 20 Gbps link in China Education and Research Network (CERNET).PIT size: 1.5 millionFrequencies of the first 10 seconds: (1.4 M/s, 0.9 M/s, 0.9 M/s)Methodology is what matters.
21 Data Structure for PIT (1/3) PIT size and access frequency demand a well-organized data structure to implement PIT.Inspired by the Trie structure in IP lookup, we organize PIT by a Trie as well.A sample IP trie,bit-wise.
22 Data Structure for PIT (2/3) NDN name is different from IP address;IP addresses:Fixed length, short…NDN names:hierarchical, composed of component, enables aggregation;Unbounded # of components, much longer than IP;E.g., /com/parc/bulletin/breakthroughs.htmlTherefore, we adopt Name Prefix Trie, which is of component granularity.
23 Data Structure for PIT (3/3) 12937ADcomcn458BEyahoogooglebaidumapsmapnews6uklevel-1level-5level-2level-4level-3CsinaNamePorts/com/yahoo1/com/yahoo/news/com/yahoo/maps/uk2/com/google/com/google/maps1, 2/cn/google/maps3/cn/sina2, 3/cn/baidu4/cn/baidu/mapAn example of PITName Prefix TreeName Prefix Trie (NPT), each edge stands for a name component.
24 Name Component Encoding (1/4) The Name Prefix Trie (NPT) makes PIT well organized, but matching each component is slow:The length of each component varies;should be an exact match of string patterns.We further propose to use positive integers to encode components – Name Component Encoding (NCE).An integer occupies smaller memory space compared to a component;Matching integers is much faster.
25 Name Component Encoding (2/4) 12937ADcomcn458BEyahoogooglebaidumapsmapnews6uklevel-1level-5level-2level-4level-3CsinaName Prefix TreeEncode Name Prefix TreeCASName Prefix Trie (NPT) is transferred to Encoded Name Prefix Trie (ENPT).
26 Name Component Encoding (3/4) Preparation: define the edges in the NPT leaving from the same node as a Code Allocation Set (CAS) (dotted ellipse on the NPT);The rules to assign codes to components:Assign each name component in a CAS a unique code;The code should be as small as possible (ensures the codes are continuous).The ENPT is a logical structure and is eventually implemented by Simplified State Transition Arrays (S2TA).Benefit: a component match on S2TA can be implemented by a single memory access with the codes as indexes!
27 Name Component Encoding (4/4) 12937AD458BE6level-1level-5level-2level-4level-3CSimplified State Transition Array (S2TA)Encode Name Prefix Trie(ENPT)The data structure that really implements the ENPT, each transition stands for a node and its outgoing edges. The codes are indexes of each outgoing edge.
28 Evaluation Two name sets to compose two PITs: Evaluation goals: Domain names collected from ALEXA, DMOZ and our web crawler, around 10 Million;URLs extracted from the HTTP requests in the trace, around 8 Million.Evaluation goals:memory consumption of S2TA,access frequency S2TA,Comparison with other methods.
29 Evaluation Results (1/3) Memory ConsumptionFigure: 10M Name Set memory consumption–original size, NPT size, ENPT.compression ratio (10M Name Set): 63.66%Figure: 8M Name Set memory consumption–original size, NPT size, ENPT.compression ratio (8M Name Set): 12.56%
30 Evaluation Results (2/3) Access frequencyFigure: Lookup, insert and delete performance for the 10M Name SetAverage: 3.27 M/s, 2.93 M/s and 2.69 M/sFigure: Lookup, insert and delete performance for the 8M Name SetAverage: 2.51 M/s, 1.81 M/s and 2.18 M/s
31 Evaluation Results (3/3) Figure: PIT access frequency speedup based on S2TA.All these results reveal that PIT can be implemented by off-the-shelf technologies.
32 Conclusion Measure the size and access frequency of a specific PIT; Prove the feasibility of PIT with off-the-shelf technologies;Propose NCE to accelerate PIT access operations while reducing PIT size.