Saratoga: A Scalable File Transfer Protocol draft-wood-tsvwg-saratoga-09 Lloyd Wood Centre for Communication Systems Research,

Slides:



Advertisements
Similar presentations
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Advertisements

Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
CCNA – Network Fundamentals
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Guide to TCP/IP, Third Edition
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
Saratoga fast data transfer… from space Lloyd Wood June 2013 draft-wood-tsvwg-saratoga Wood, Eddy, Smith, Ivancic, Jackson, McKim NASA Glenn Research Center,
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
Chapter 3: Transport Layer
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
1 Transport Layer Computer Networks. 2 Where are we?
Presentation on Osi & TCP/IP MODEL
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Mukesh N. Tekwani Elphinstone College Mumbai
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Taking Saratoga from space-based ground sensors to ground-based space sensors Lloyd Wood Centre for Communication Systems Research, University of Surrey.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
Transport Layer and UDP Tahir Azim Ref:
University of the Western Cape Chapter 12: The Transport Layer.
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Networked & Distributed Systems TCP/IP Transport Layer Protocols UDP and TCP University of Glamorgan.
Transmission Control Protocol
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Internet Protocol Version 4 VersionHeader Length Type of Service Total Length IdentificationFragment Offset Time to LiveProtocolHeader Checksum Source.
Protocol Layering Chapter 11.
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
Guide to TCP/IP Fourth Edition
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
CIS679: UDP and Multimedia r Review of last lecture r UDP and multimedia.
Reliability further points for discussion prepared for discussion at the IRTF Delay-Tolerant Networking session IETF 73, Minneapolis, November draft-irtf-dtnrg-bundle-checksum.
Saratoga: A Scalable File Transfer Protocol draft-wood-tsvwg-saratoga-09 Lloyd Wood Centre for Communication Systems Research,
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
Process-to-Process Delivery, TCP and UDP protocols
TCP/IP Transmission Control Protocol / Internet Protocol
Magda El Zarki Professor, ICS UC, Irvine
Introduction of Transport Protocols
Transport Layer Unit 5.
Dr. John P. Abraham Professor UTPA
Process-to-Process Delivery:
Dr. John P. Abraham Professor UTPA
CPEG514 Advanced Computer Networkst
Net 323 D: Networks Protocols
Transport Protocols: TCP Segments, Flow control and Connection Setup
The Transport Layer Chapter 6.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Layer 9/22/2019.
Presentation transcript:

Saratoga: A Scalable File Transfer Protocol draft-wood-tsvwg-saratoga-09 Lloyd Wood Centre for Communication Systems Research, University of Surrey Charles Smith Commonwealth Scientific and Industrial Research Organization (CSIRO) Wesley M. Eddy MTI Systems Will Ivancic NASA Glenn Research Center Chris Jackson Surrey Satellite Technology Ltd (SSTL)

Private sensor networks Must deliver sensor data – very quickly. Want to use Internet technologies – cheap, reliable, robust. Want more speed than TCP can offer. Congestion is not a problem; private single-owner managed network with scheduled traffic, single flow per link with no competition. This is not the shared public Internet! Sensor capabilities are ever-increasing (side-effects of Moore’s law). Need to scale for ever-growing data sizes. Support for streaming and simultaneous delivery to multiple receivers is also useful. Saratoga protocol designed to meet these needs. 1

Saratoga in short Saratoga is a high-speed, UDP-based, peer-to-peer reliable transport protocol, providing error-free guaranteed delivery of files, or streaming of data. Send data packets out as fast as you can. No specified congestion control is required, since data is usually only going one hop over a private link, or across high-speed, low- congestion private networks. Some implementations have a rate-limiting option for restricted downstream links where line rate may not match downstream radio link. No specified timers means no timeouts, so Saratoga is can be used in very long propagation delay networks. Saratoga is an excellent protocol to use in highly asymmetric network topologies. 2

NASA Glenn uses Saratoga to test DTN and Interplanetary Internet on UK-DMC, Saratoga’s development Surrey Satellite Technology Ltd developed Saratoga for imagery download from its Disaster Monitoring satellites, CSIRO Saratoga for radio astronomy extremely high data rates NASA Glenn Research Center Saratoga for sensors on UAVs Saratoga redesigned, specified to the Internet Engineering Task Force, Multiple Saratoga implementations in progress with interoperability testing. 3

Research led to new use SSTL remote-sensing images grew to cross 4GiB file size, needing >32-bit pointers. How to design a scalable file transfer protocol able to handle any size file, without requiring separate incompatible implementations for big files? Solved this problem with 16/32/64/128-bit pointers and advertising capabilities. Support for scalability and streaming introduced new users – high-speed networking for radio astronomy in Very Long Baseline Interferometers. not needed - yet! 4

Saratoga operation Simple sliding window with selective acknowledgments. The HOLESTOFILL list on the receiver requests the transmitter to re- send frames that have not been properly received (a SNACK) by sending a STATUS with the list of HOLESTOFILL. The receive window only advances when offsets are contiguous. The left edge of the transmit window does not advance until the holes have been acknowledged by a HOLESTOFILL frame with an advanced offset. The UDP checksum is used per packet to cover both the header and payload. It is consistent, but not that strong (one’s complement), and does not provide end-to-end guarantees for payloads sent using multiple packets. An optional end-to-end checksum, using one of CRC32/MD5/SHA-1, over the entire file being transferred, increases confidence that a reliable copy has been made, and that fragments have been reassembled correctly. 5

Features of Saratoga v1 Major features Scalable to handle large files. 16-bit descriptors for efficiency with small files. 128-bit descriptors cope with huge files up to bytes. 32- and 64-bit descriptors most useful. Streaming of data is supported. This allows Saratoga to be used for real- time delivery outside the file-based store-and-forward paradigm. Minor features Supports link-local multicast to advertise presence, discover peers and for delivery to multiple receivers simultaneously for e.g. file or code image updates. (Will outperform TFTP trivial file transfer.) Optional UDP-Lite use for tolerating errors in payloads and minimizing checksum computation overhead. The UDP-Lite checksum covers a minimum of IP/UDP-Lite/Saratoga headers. The header content is always checked so that the information about the data is error-free. Optional “DTN bundle” delivery as a “bundle convergence layer”. Shown with tests from the UK-DMC satellite. 6

What Saratoga does not do There is no MTU discovery mechanism, so you have to know the maximum packet size your network can transmit at. i.e. dictated by the frame size. This is okay for your own private network, but would be troublesome if used across the Internet. Saratoga does not include “slow-start” or congestion control. That is considered bad and unsociable behaviour on the Internet. Saratoga just blasts away on a link with no regard for other flows - which is the exact behaviour that makes it desirable in private networks and these environments! Simulations have shown that it is possible to implement congestion control mechanisms in Saratoga if desired – see University of Oklahoma paper describing Sender-Based TCP Friendly Rate Control (2010 IEEE Aerospace Conference). Saratoga’s timestamp option can be used to implement such closed-loop mechanisms. Simple open-loop rate-limiting output to XMbps can also allow Saratoga to coexist with other traffic. 7

Saratoga version 1 implementations C (Charles Smith under contract to Cisco Systems) Implementation licensed to CSIRO by Cisco. Built for Speed (Raw I/O). Streaming to be implemented in FPGA, File transfer may be implemented in FPGA. C (Surrey Satellite Technology Limited – SSTL) Implemented in Real-Time Operating System for high-speed image transfers from Low Earth Orbiting (LEO) satellites over highly asymmetric links. PERL (NASA Glenn Research Center) Sequential file transfer and rate-limiting implemented. C++ (NASA Glenn Research Center) Discovery, multiplexed file transfer, hooks for bundling and streaming and rate-limiting to be implemented. Wireshark Dissector (Charles Smith) We hope to make some of these implementations available to the public. 8

Development strategy We plan to take Saratoga version 1 through as an individual submission for Experimental status. Rationale: Keep the current implementations moving along and maintain interoperability between current implementations. Keep detailed discussion on version 1 to saratoga-discussion list (those interested in joining that list, please contact Lloyd Wood) However, we would like TSVWG to begin reviewing the version 1 specification for general constructive comments and criticism as well as to gauge consensus on adopting work on version 2 as a Proposed Standard Comments / Suggestions ? 9

Saratoga Transactions GET Get a named file from the peer GETDIR Get a directory listing of files from the peer PUT Put a named file or stream data to the peer PUTDIR Put a directory listing of local files to the peer DELETE Delete a named file from the peer 10

Saratoga Frame Types BEACON Sent periodically. Describes the Saratoga peer: Identity (e.g. EID) capability/desire to send/receive packets. max. file descriptor handled: 16/32/64/128-bit. REQUEST Asks for a file initiating ‘get’ transaction get file get directory listing delete a file. METADATA Sent at start of transaction. Initiates a ‘put’ transaction. Describes the file, bundle or stream: set identity for transaction file name/details, including size. set descriptor size offsets to be used for this transaction (16/32/64/128-bit pointer sizes.) DATA Actual Data. Uses descriptor of chosen size to indicate offset for data segment in the file/bundle or stream. May request an ‘ack’ (send me a holestofill). STATUS Missing Data Offsets / Error & Status Messages Selective negative ack (‘snack’) HOLESTOFILL data. Set left window edge for successful transfer so far List of offsets and lengths indicate missing ‘holes’ in data. 11

Transaction GET or GETDIR Receiver Sender REQUEST METADATA DATA 1 DATA 2 DATA 3 DATA 4 STATUS optional / resume transfer DATA 3 frame lost DATA 5 STATUS I need 3 again STATUS All received OK 12

Transaction PUT or PUTDIR Receiver Sender METADATA DATA 1 DATA 2 DATA 3 DATA 5 DATA 3 frame lost DATA 4 STATUS I need 3 again STATUS All received OK 13