Presentation on theme: "On Pending Interest Table in Named Data Networking"— Presentation transcript:
1On Pending Interest Table in Named Data Networking Huichen Dai, Bin Liu, Yan Chen*, Yi WangTsinghua University, China*Northwestern University, USA
2Outline Background of Named Data Networking (NDN) Pending Interest Table (PIT)Problem StatementChallengesMeasure PIT Size and Access FrequencyNCE to Accelerate PIT Access and Size ShrinkingEvaluationConclusion
3Background 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);
4Background 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.
5Background of NDN (3/3) Content Store Forwarding Information Base Pending Interest TableFigure: Interest Packet lookup and forwarding processFigure: Data packet lookup and forwarding process
6Pending 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.
7Pending 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!
8Problem 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?
9Problem 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.
11A 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.
email@example.com/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!
13Apps 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.
14Apps 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:
15Apps 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 .
16Apps 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.
17Apps 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.
18Measure 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
19Measure 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).
20Measure 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.
21Data 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.
22Data 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.
23Data 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.
24Name 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.
25Name 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).
26Name 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!
27Name 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.
28Evaluation 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.
29Evaluation 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%
30Evaluation 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
31Evaluation 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.
32Conclusion 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.