JPL’s Bundle Protocol Implementation: Interplanetary Overlay Network (ION)

Slides:



Advertisements
Similar presentations
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Advertisements

Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
NETWORK LAYER (1) T.Najah AlSubaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
1 K. Salah Module 5.2: Internet Protocol CO vs. CL protocols IP Features –Fragmentation –Routing IP Datagram Format IPv6.
DTNs Delay Tolerant Networks. Fall, Kevin. Intel Research, Berkeley. SIGCOMM 2003 Aug25, A Delay- Tolerant Network Architecture for Challenged Internets.
OSI Model MIS 416 – Module II Spring 2002 Networking and Computer Security.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
Chapter 9 Classification And Forwarding. Outline.
Chapter 4 Queuing, Datagrams, and Addressing
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
Network Layer Moving datagrams. How do it know? Tom-Tom.
1Group 07 IPv6 2 1.ET/06/ ET/06/ ET/06/ EE/06/ EE/06/ EE/06/6473 Group 07 IPv6.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_a
LWIP TCP/IP Stack 김백규.
© 2009 The MITRE Corporation. All rights reserved. Joint DTN / SOIS Meeting April 22, 2009 Colorado Springs, CO.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
5/22/2008 RMJ-1 DINET Deep Impact Network Experiment Adapted from Technical Summary, Management and Project Engineering DINET CDR 6/2/08 Ross Jones.
1 In-Space Cross Support Using Delay / Disruption Tolerant Networking Keith Scott 15 October, 2008 Berlin, Germany October 15, 2008.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
10/8/2015CST Computer Networks1 IP Routing CST 415.
1 Next Few Classes Networking basics Protection & Security.
Paper Group: 12 Data Transport in Challenged Networks Above papers are original works of respective authors, referenced here for academic purposes only.
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Transport Layer: TCP and UDP. Overview of TCP/IP protocols Comparing TCP and UDP TCP connection: establishment, data transfer, and termination Allocation.
V. Tsaoussidis, DUTH – Greece
Dr. John P. Abraham Professor UTPA
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
Outline Motivation Protocol Terminology Implementation architecture SDNV Addressing scheme Bundle format Primary block Generic Block Processing Bundle.
1 Kyung Hee University Chapter 8 Internet Protocol (IP)
NASA AMS Prototyping Activities Scott Burleigh Jet Propulsion Laboratory, California Institute of Technology 11 March 2008.
20 November 2008 SB-1 First Look at the Deep Impact DTN Experiment (DINET) Scott Burleigh Jet Propulsion Laboratory California Institute of Technology.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
1 CSE 5346 Spring Network Simulator Project.
1 IEX8175 RF Electronics Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. Overview of Ethernet Networking A Rev /31/2011.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
17 November Asynchronous Message Service (1 of 3) In addition to file transfer, event-driven asynchronous message exchange may also be useful for.
Switching. Circuit switching Message switching Packet Switching – Datagrams – Virtual circuit – source routing Cell Switching – Cells, – Segmentation.
Data Communication Network Models
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Network Layer Protocols COMP 3270 Computer Networks Computing Science Thompson Rivers University.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Lecture (2).
EE 122: Lecture 19 (Asynchronous Transfer Mode - ATM)
AMS Prototyping Activities
ETR-NASA DTN Phase-1 Test Results
ECE 544 Protocol Design Project 2016
DTN Bundle Protocol on the IETF Standards Track
What’s “Inside” a Router?
Dr. John P. Abraham Professor UTPA
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Switching Techniques.
Viet Nguyen Jianqing Liu Yaqin Tang
Dr. John P. Abraham Professor UTPA
Networking.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Chapter 2: The Linux System Part 5
Network Layer: Control/data plane, addressing, routers
Presentation transcript:

JPL’s Bundle Protocol Implementation: Interplanetary Overlay Network (ION)

20 March Constraints Interplanetary internet is a classic DTN scenario: –Long signal propagation times, intermittent links. Links are very expensive, always oversubscribed. Immediate delivery of partial data is often OK. Limited processing resources on spacecraft: slow (radiation-hardened) processors, but relatively ample memory. Solid-state storage. For inclusion in flight software: –Processing efficiency is important. –Must port to VxWorks real-time O/S. –No malloc/free; must not crash other flight software.

20 March Applications Brief messages (typically less than 64 KB). –One bundle per message. –CCSDS Asynchronous Message Service (AMS) is being considered. Files, often structured in records. –Need to be able to deliver individual records as they arrive. So most likely one bundle per record. –CCSDS File Delivery Protocol (CFDP) is the standard. Streaming voice and video for Constellation. In general, we expect relatively small bundles.

20 March Outline Supporting infrastructure: sdr, psm, zco, platform. –Mostly inherited from Deep Impact flight software. Node architecture. Processing flow. Compressed Bundle Header Encoding (CBHE). The “ipn” scheme: EID structure, forwarding. Features implemented and not implemented. Ports to date. Performance. Distribution to date.

20 March Supporting infrastructure psm (Personal Space Management): high-speed dynamic allocation of memory within a fixed pre-allocated block. –Built-in memory trace functions for debugging. sdr (Spacecraft Data Recorder): robust embedded object persistence system; database for non-volatile state. –Performance tunable between maximum safety, maximum speed. –Again, built-in trace functions for usage debugging. zco (Zero-Copy Objects): reduce protocol layer overhead. platform O/S abstraction layer for ease of porting. Written in C for small footprint, high speed.

20 March Operating System PSM SmList IONInterplanetary Overlay Network libraries and daemons ZCOZero-copy objects capability: minimize data copying up and down the stack SDRSpacecraft Data Recorder: persistent object database in shared memory, using PSM and SMList SmListlinked lists in shared memory using PSM PSMPersonal Space Management: memory management within a pre-allocated memory partition Platformcommon access to O.S.: shared memory, system time, IPC mechanisms Operating SystemPOSIX thread spawn/destroy, file system, time Implementation Layers SDR ZCO ION Platform

20 March Node architecture ION is database-centric rather that daemon-centric. –Each node is a single SDR database. Bundle protocol API is local functions in shared libraries, rather than inter-process communication channels. Multiple independent processes – daemons and applications, as peers – share direct access to the node state (database and shared memory) concurrently.

20 March Node architecture (cont’d) Separate process for each scheme-specific forwarder. –Forwarder is tailored to the characteristics (endpoint naming, topology) of the environment implied by the scheme name. Separate process for each convergence-layer input and output. –No assumption of duplex connectivity. Schemes (forwarders) and convergence-layer adapter points can be added while the node is running.

20 March inducts incomplete (inbound) bundles inbound bundles endpoints all bundles (waiting for TTL expiration) schemes outducts outbound bundles DTN database timeline convergence layer input convergence layer output DTN clock application process bundles to forward forwarder CL protocols

20 March Processing Flow Application sendreceive delivery queue forwarding queue Forwarder transmission queue CLO local protocol CLI local protocoldispatch ION database

20 March CLI Acquire bundle from sending CLO, using the underlying CL protocol. Dispatch the bundle.

20 March dispatch Local delivery: if an endpoint in the database (that is, an endpoint in which the node is registered) matches the destination endpoint ID, append bundle to that endpoint’s delivery queue. Forwarding: append bundle to forwarding queue based on scheme name of bundle’s destination endpoint ID, with “proximate destination EID” initially set to the bundle’s destination EID. –Forwarder later appends it to outduct’s transmission queue; see ipn forwarder below.

20 March CLO Pop bundle from outduct’s transmission queue. As necessary, map the associated destination duct name to a destination SAP in the namespace for the duct’s CL protocol. (Otherwise use the default destination SAP specified for the duct.) Invoke that protocol to transmit the bundle to the selected destination SAP.

20 March Compressed Bundle Header Encoding (CBHE) For a CBHE-conformant scheme, every endpoint ID is scheme_name:element_nbr.service_nbr 65,535 schemes supported. Up to 16,777,215 elements in each scheme. –Element ~= node. –So the number of nodes addressable by scheme/element is 256 times the size of IPv4 address space. Up to 65,535 services in each scheme. –Service ~= “demux token” or IP protocol number.

20 March CBHE (cont’d) For bundles traveling exclusively among nodes whose IDs share the same CBHE-conformant scheme name, primary bundle header length is fixed at 34 bytes. –Dictionary not needed, so it’s omitted. –All administrative bundles are service number zero. SchemeSSP Destination offsets SchemeSSP Source offsets SchemeSSP Report-to offsets SchemeSSP Custodian offsets Common Scheme number Destination Element number Source Element number Report-to Element number Custodian Element number Service Number for source & destination Non-CBHE CBHE

20 March The “ipn” scheme CBHE-conformant, so every EID is: ipn:element_nbr.service_nbr –“Elements” notionally map to Constellation elements, such as the Crew Exploration Vehicle. –Services: 1 currently used for test. 2 could be CFDP traffic. 3 to N could be traffic for Remote AMS applications. –Element number might additionally serve as AMS continuum number.

20 March ipn-specific forwarder Use proximate-destination element number as index into array of “plans”; use source element number and/or service number to select rule in that plan (or use default rule). If rule cites another EID: –If non-ipn scheme, append (with proximate destination EID changed) to that scheme’s forwarding queue. –Else, iterate with new proximate-destination element number. Otherwise (rule is outduct reference and, possibly, name of destination induct): –Insert bundle into the transmission queue for that outduct, noting the associated destination induct name [if any].

20 March Features implemented (and not) Conforms to current BP specification (version 4, December 2005). Implemented: custody transfer, status reports, delivery options, priority, reassembly from fragments, for both CBHE and non-CBHE bundles. –Forwarder for the ipn scheme. –Convergence-layer adapters for TCP, “SPOF”. –Congestion control based on custody transfer. Partially implemented: flooding. Not implemented: fragmentation, application-initiated acknowledgements, security, multicast.

20 March Ports to date Linux (Red Hat 8+, Fedora Core 3) –32-bit Pentium –64-bit AMD Athlon 64 Interix (POSIX environment for Windows) VxWorks (but not tested yet)

20 March Performance Maximum data rate clocked to date is 352 Mbps. –Over a Gigabit Ethernet (single hop) between two dual-core 3GHz Pentium-4 hosts running Fedora Core 3, each with 800 MHz FSB, 512MB of DDR400 RAM, 7200 rpm hard disk. –sdr tuned to maximum speed and minimum safety. –No custody transfer. At the other extreme: running over a two-hop path on a 100-Mbps Ethernet between older Pentiums, with custody transfer over each hop: –With sdr tuned to maximum speed, about 40 Mbps. –With sdr tuned to maximum safety, only 3 to 4 Mbps.

20 March Evaluation copies distributed to date ESA (European Space Agency) CNES (the French national space agency) Johns Hopkins University Applied Physics Laboratory Goddard Space Flight Center NASA Constellation project