ICN and DTN NetInf over BP using BPQ Elwyn Davies Folly Consulting Ltd/Trinity College Dublin or

Slides:



Advertisements
Similar presentations
Neighbor Discovery for IPv6 Mangesh Kaushikkar. Overview Introduction Terminology Protocol Overview Message Formats Conceptual Model of a Host.
Advertisements

IPv6 – IPv4 Network Address, Port & Protocol Translation & Multithreaded DNS Gateway Navpreet Singh, Abhinav Singh, Udit Gupta, Vinay Bajpai, Toshu Malhotra.
1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
2012/03/27 DTN2 IETF 83 1 DTN2 – Improvements 2012 SQL storage Auxiliary Tables Persistent Link Names Elwyn Davies Trinity College Dublin/Folly.
Network Layer and Transport Layer.
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
MOBILITY SUPPORT IN IPv6
Chapter Extension 7 How the Internet Works © 2008 Prentice Hall, Experiencing MIS, David Kroenke.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
CORDRA Philip V.W. Dodds March The “Problem Space” The SCORM framework specifies how to develop and deploy content objects that can be shared and.
Network Architecture and Protocol Concepts. Network Architectures (1) The network provides one or more communication services to applications –A service.
TCP/IP Protocol Suite 1 Chapter 9 Upon completion you will be able to: Internet Control Message Protocol Be familiar with the ICMP message format Know.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Internet Control Message Protocol (ICMP)
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Chapter 22 Network Layer: Delivery, Forwarding, and Routing
Lecturer: Ghadah Aldehim
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
DNS (Domain Name System) Protocol On the Internet, the DNS associates various sorts of information with domain names. A domain name is a meaningful and.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
HTTP HTTP stands for Hypertext Transfer Protocol. It is an TCP/IP based communication protocol which is used to deliver virtually all files and other.
LWIP TCP/IP Stack 김백규.
© 2009 The MITRE Corporation. All rights reserved. Joint DTN / SOIS Meeting April 22, 2009 Colorado Springs, CO.
LWIP TCP/IP Stack 김백규.
Networks QUME 185 Introduction to Computer Applications.
IP Forwarding.
Copyright © Lopamudra Roychoudhuri
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Open Data Protocol * Han Wang 11/30/2012 *
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
Chapter 6 Server-side Programming: Java Servlets
4BP1 Electronic & Computer Engineering Paul Gildea th Year Interim Project Presentation.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Engineering Workshops Purposes of Neighbor Solicitation.
Omar A. Abouabdalla Network Research Group (USM) SIP – Functionality and Structure of the Protocol SIP – Functionality and Structure of the Protocol By.
1 UNIT 13 The World Wide Web Lecturer: Kholood Baselm.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
Presented by Rebecca Meinhold But How Does the Internet Work?
TCP/IP (Transmission Control Protocol / Internet Protocol)
Advanced Roaming & Mobility Scenarios in IPv6 Rafal Lukawiecki Strategic Consultant & Director Project Botticelli Ltd in.
Understanding IPv6 Slide: 1 Lesson 12 IPv6 Mobility.
1 Requirements for Internet Routers (Gateways) and Hosts Relates to Lab 3. (Supplement) Covers the compliance requirements of Internet routers and hosts.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Web Server.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
ICM – API Server & Forms Gary Ratcliffe.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Web Services An Introduction Copyright © Curt Hill.
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
BPQ – IETF-81 Bundle Protocol Query Extension Block draft-farrell-dtnrg-bpq-00 Stephen Farrell Aidan Lynch
1 IPSec: An Overview Dr. Rocky K. C. Chang 4 February, 2002.
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
1 UNIT 13 The World Wide Web. Introduction 2 Agenda The World Wide Web Search Engines Video Streaming 3.
1 UNIT 13 The World Wide Web. Introduction 2 The World Wide Web: ▫ Commonly referred to as WWW or the Web. ▫ Is a service on the Internet. It consists.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
CHAPTER 3 Architectures for Distributed Systems
Net 323: NETWORK Protocols
Internet Control Message Protocol
draft-ietf-dtn-bpsec-06
Presentation transcript:

ICN and DTN NetInf over BP using BPQ Elwyn Davies Folly Consulting Ltd/Trinity College Dublin or 01/08/13 Version 0.3

01/08/2013ICN and DTN - NetInf2 NetInf ICN Protocol Short for Network of Infformation Protocol Developed during SAIL FP7 Project Documented in draft-kutscher-icnrg-netinf-proto-01 Uses convergence layer (CL) architecture – Similar to but subtly different from BP – No fragmentation Draft defines CLs for IP networks (HTTP/TCP, UDP) This work extends NetInf with – a CL over BP – a gateway between HTTP/TCP and BP.

01/08/2013ICN and DTN - NetInf3 Basics of NetInf Works on Named Data Objects (NDOs) Named typically with ni (Network of Inf) URIs – See RFC 6920 (Naming Things with Hashes) Three pairs of messages – GET/GET_RESP – SEARCH/SEARCH_RESP – PUBLISH/PUBLISH_RESP Messages typically carry.. – NDO name or serach string – Whole of an NDO's content or none of it – Message ID to link message and response – Metadata usually encoded in a JSON object

01/08/2013ICN and DTN - NetInf4 NetInf over BP Uses BPQ block to carry – ni name or search string – Identification of type of NetInf message – Message ID Source and Destination Ids as in usual BP – Discussion about addressing & routing later! Metadata carried as JSON string encoded object – Using Metadata block with new ontology Some messages use another new Metadata block type to indicate they are not carrying an NDO object

01/08/2013ICN and DTN - NetInf5 BPQ Block Contents - Updated BPQ-kind: 4 values defined: query, response, response – do not cache fragments, publish Matching rule type: tells routers how to match BPQ-value from query with BPQ of a response –Only rule type 0x00 (exact match) defined –Added keyword search rule for searches –rule MUST be the same in query & response. Original source EID and creation info in responses BPQ-value: String to be matched Msg-ID: Added – to carry NetInf message ID Fragment List: if only returning parts of response

01/08/2013ICN and DTN - NetInf6 NetInf CL using DTN/BPQ Basic idea: encode ni name for bundle (payload) in BPQ-value Send GET and SEARCH messages with BPQ-kind set to 'query' Return responses with BPQ-kind 'response' Any bundle with a BPQ block with BPQ-kind of 'response' passing through a node will be recorded in the node's BPQ cache for as long as the bundle remains unexpired and resources are available

01/08/2013ICN and DTN - NetInf7 Sending GET Messages NetInf GET messages sent in a bundle with an empty payload and a BPQ extension block The BPQ-kind used is 'query' BPQ block contains a ni name for an NDO in the BPQ-value Uses the exact match rule to find cached bundles with the same ni name in their BPQ block.

01/08/2013ICN and DTN - NetInf8 Making responses to GET When a bundle with a BPQ-kind of query arrives in a node –Apply matching rule against bundles in cache If any match, generate response bundle –May contain complete payload or alternatively whatever fragments of bundle are in cache Send bundle to originator (source) of query with –Source of bundle set to node doing match –Original source info for response in the BPQ block (EID and creation timestamp/seq #) Forward the query only if the response was not the complete bundle

01/08/2013ICN and DTN - NetInf9 Caching/Updating a Response When a bundle with a BPQ block with BPQ-kind 'response' arrives at a node: –Check if all or part of the bundle are in the local cache –If so, merge the incoming and cached parts –Update the cache with the merged bundle or the incoming response if not already in cache Send on the response with the updated entry from the local cache

01/08/2013ICN and DTN - NetInf10 Delivery of Responses On arrival at destination pass the bundle including BPQ block to relevant registered application –Note that the sending application would (generally) have created the query with a BPQ block so should be expecting a BPQ block in response Also cache response as at any other node

01/08/2013ICN and DTN - NetInf11 Routing of Requests (under development) Destination for requests will usually be a generic NetInf specific EID –For GET dtn://get.netinf, etc. Suggested implemnation as multipoint EID Request will be sent to all nodes advertising the appropriate generic EID - multicast! In local distribution, policy will determine how many hops requests are forwarded May also be able to use specific locators (EIDs) if known for NDO wanted - unicast!

01/08/2013ICN and DTN - NetInf12 NetInf Auxiliary/Metadata NetInf messages contain various auxiliary and/or metadata items including –locators –ext(ension) items –search keywords These items will be JSON encoded in a string and communicated in a DTN Metadata block –See RFC 6258 –The metadata type code used is 192 (private) initially – permanent code to be obtained later

01/08/2013ICN and DTN - NetInf13 Practical Fixes to DTN2 Fixed API handling of Extension and Metadata blocks – previously didn't match spec Added JSON handler to application library 'Completed' Python and other scripting interface shims – Previously didn't handle Extension or Metdata Blocks at all (nasty surprise!) Modified various applications to handle metadata blocks and extension blocks correctly Added metadata to ICN applications

01/08/2013ICN and DTN - NetInf14 NetInf BP/HTTP Gateway NetInf code available in Sourceforge – Primarily implementations of HTTP CL in various languages BP/HTTP gateway in Python code sourceforge.net/projects/netin f

01/08/2013ICN and DTN - NetInf15 NetInf BP to Filing System Implemented a FUSE filing system – Maps NetInf Bundles to files named with ni name – Publish file by writing into filing system – Later allow GET by reading non-existent file In NetInf code available in Sourceforge – sourceforge.net/projects/netin f

01/08/2013ICN and DTN - NetInf16 Status as of 2013/08/01 Complete BPQ processing in DTN2 Get/Search/Publish functionality in place Lucene search engine functional Python HTTP library complete Gateway mostly implemented Metadata in DTN2 implemented Routing still needs to be addressed

01/08/2013ICN and DTN - NetInf17 Thank You Questions?

01/08/2013ICN and DTN - NetInf18 BACKUP

01/08/2013ICN and DTN - NetInf19 Searches For search requests the BPQ query message may contain a string to be fed to a search mechanism; this is carried in the BPQ-value The search string should also be returned in the metadata TCD have implemented a Lucene search mechanism together with an external view of the cached response bundles that can be invoked at any node that the SEARCH request reaches

01/08/2013ICN and DTN - NetInf20 Responses to Search If any bundles containing NDOs are found to match the search parameters, a list of the relevant ni names is sent back as the payload of a response bundle The BPQ-value contains the search parameters that resulted in the list. These responses may also be cached (determined by node policy).

01/08/2013ICN and DTN - NetInf21 Publish The BPQ kind 'publish' is an addition to the system not described in the current draft. Any node that wishes to publish an NDO generates the ni name and packages the data into a bundle with the name in the BPQ-value of BPQ block. The bundle is sent to dtn://publish.netinf and will be delivered to local nodes via 'multicast'. Nodes receiving this bundle treat it in the same way as a response bundle and cache the NDO

01/08/2013ICN and DTN - NetInf22 NetInf Device using DTN/BPQ TCD are developing a NetInf device that uses the DTN/BPQ CL (convergence layer) The overall architecture of the device is shown in the next slide Able to access bundle store via a FUSE user space filing system – Will be publishing (Python) code for this shortly Apply Lucene search capability to bundles in the store

01/08/2013ICN and DTN - NetInf23 Network BP over TCP CL MySQL Database Server DTN2/Cache Database MySQL access Linux (Ubuntu) Kernel with FUSE enabled Standard Disk FS Payload File Access ODBC API MySQL SQL API FUSE Kernel API Legacy Applications NetInf Named Data object Access via FUSE filing system mount point DTN2 API including BPQ NetInffs Named Data object Cache Controller and FUSE Filing System Applications using native IO Access, e.g., Browser plugin, Search ni: named data access dtnd DTN2 BPA etc using ODBC datastore i/f Other DTN apps ‘dtnpublish’ DTN Application nilib File NetInf Device Architecture

01/08/2013ICN and DTN - NetInf24 NetInf DTN/BPQ to HTTP Gateway A gateway between domains using the NetInf HTTP convergence layer and the DTN/BPQ convergence layer will be implemented using the Python NetInf library components The Python niserver will be extended to convert incoming messages from HTTP to DTN/BPQ and send them into the DTN domain. The HTTP client will be used for messages originated in the DTN domain