The SpaceWire Transport Protocol. Stuart Mills, Steve Parkes University of Dundee. International SpaceWire Seminar 5 th November 2003

Similar documents
Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

Interconnecting Networks with TCP/IP

Internetworking Over SpaceWire: A Link-Layer Layer Broadcast Service for Network Stack Support

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers

TSIN02 - Internetworking

ECE4110 Internetwork Programming. Introduction and Overview

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

OSI Transport Layer. objectives

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

TSIN02 - Internetworking

Lecture-4. TCP/IP-Overview:

TSIN02 - Internetworking

4. The transport layer

TCP/IP and the OSI Model

Overview of TCP/IP Overview of TCP/IP protocol: TCP/IP architectural models TCP protocol layers.

Chapter 09 Network Protocols

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science

Review of Important Networking Concepts

Introduction to TCP/IP networking

Chapter 2 Network Models 2.1

Network Model: Each layer has a specific function.

COMP750. Distributed Systems. Network Overview

TCP/IP Transport Layer Protocols, TCP and UDP

The Internetworking Problem. Internetworking. A Translation-based Solution

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

Network Architecture Models

TSIN02 - Internetworking

The Client Server Model and Software Design

Defining Networks with the OSI Model. Module 2

EE 610 Part 2: Encapsulation and network utilities

Lesson 5 TCP/IP suite, TCP and UDP Protocols. Chapter-4 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Hands-On Ethical Hacking and Network Defense

ES623 Networked Embedded Systems

Networking Revision. TCP/IP Protocol Stack & OSI reference model. Basic Protocols. TCP/IP Model ANTHONY KAO NETWORKING FINAL EXAM SPRING 2014 REVISION

What is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network.

Different Layers Lecture 20

cs144 Midterm Review Fall 2010

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

User Datagram Protocol

NT1210 Introduction to Networking. Unit 10

Introduction to Internetworking

Tutorial 2 : Networking

Lecture 2: Links and Signaling

TCP/IP THE TCP/IP ARCHITECTURE

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space provided.

SpaceNet - SpaceWire-RT. Initial Protocol Definition

Different Layers Lecture 21

Business Data Networks and Security 10th Edition by Panko Test Bank

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

Chapter 12 Network Protocols

Software Engineering 4C03 Answer Key

Introduction to Networks

Networking interview questions

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

Need For Protocol Architecture

System Programming. Introduction to computer networks

Need For Protocol Architecture

UDP, TCP, IP multicast

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

Position of IP and other network-layer protocols in TCP/IP protocol suite

Research and Analysis of Flow Control Mechanism for Transport Protocols of the SpaceWire Onboard Networks

Novell TCP IP for Networking Professionals.

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

Fundamentals of Networking. OSI & TCP/IP Model. Kuldeep Sonar 1

TCP /IP Fundamentals Mr. Cantu

Review of Important Networking Concepts. Recall the Example from last lecture

Chapter 3 Protocols and the TCP/IP Suite

Comparison of ISO-OSI and TCP/IP Suit. Functions of Data Link Layer:

Ref: A. Leon Garcia and I. Widjaja, Communication Networks, 2 nd Ed. McGraw Hill, 2006 Latest update of this lecture was on

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

The Internet. 9.1 Introduction. The Internet is a global network that supports a variety of interpersonal and interactive multimedia applications.

Scribe Notes -- October 31st, 2017

Chapter 5 End-to-End Protocols

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

Chapter 7 Internet Protocol Version 4 (IPv4) Kyung Hee University

Computer Network Programming. The Transport Layer. Dr. Sam Hsu Computer Science & Engineering Florida Atlantic University

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

ICS 351: Networking Protocols

CSCI 466 Midterm Networks Fall 2013

CCNA Exploration Network Fundamentals. Chapter 3 Application Layer Functionality and Protocols

Networking and Internetworking 1

Lecture 18 Overview. Last Lecture. This Lecture. Next Lecture. Internet Protocol (1) Internet Protocol (2)

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Course Contents. The TCP/IP protocol Stack

Chapter 5 TCP/IP SUITE

CSCI-GA Operating Systems. Networking. Hubertus Franke

User Datagram Protocol (UDP):

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

The Transmission Control Protocol (TCP)

Chapter 2 Network Models 2.1

UNIT IV -- TRANSPORT LAYER

Transcription:

The SpaceWire Transport Protocol Stuart Mills, Steve Parkes University of Dundee International SpaceWire Seminar 5 th November 2003

Introduction Background The Protocol Stack, TCP/IP, SCPS CCSDS and SOIF SpaceWire SpaceWire-TP Features Packet Format Packet Exchange Summary

The Protocol Stack Application Presentation Session Transport Network Data Link Physical Does not include the applications themselves, although Application some applications may include application layer functionality. Communication partners are identified, quality of service is Converts identified, incoming user authentication and outgoing data and privacy from one are presentation considered, Presentation and format any to constraints another on data syntax are identified. Sets up, coordinates, and terminates conversations, Session exchanges, and dialogs between the applications at each end. Deals with session and Routing connection coordination. Manages the end-to-end connection. Establishes connections Transport between two end points, performs flow control preventing end point buffer overflow and manages transmission errors. Handles the routing Network of data. Receives incoming data Network from a data-link and forwards it towards the required destination. Receives data to transfer from the transport layer. When Performs data reaches encoding Data the and Link destination decoding end-point of data for the transfer network Data across layer Link the physical passes it layer. on to the transport layer. Provides addressing. Sends the data through the physical data links that make up the network. Defines the electrical and mechanical Physical Physical characteristics of the physical medium used to transfer data.

TCP/IP Application Ping Telnet FTP Traceroute DNS TFTP Transport TCP UDP Network ICMP IP IGMP Link ARP Hardware Interface RARP

SCPS SCPS-FP SCPS-TP SCPS-SP SCPS-NP Designed for communications involving long delays, high levels of corruption, and unbalanced bi-directional links SCPS Network Protocol New protocol Provides basic quality of service SCPS Security Protocol SCPS Transport Protocol Based on TCP, UDP and extensions Provides explicit corruption response SCPS File Protocol Based on FTP

CCSDS Consultative Committee for Space Data Systems Spacecraft Onboard Interface Services (SOIS) Recently renamed from Spacecraft Onboard InterFaces (SOIF) Intend to produce recommendations for use of communication protocols onboard spacecraft Considering use of current protocols such as TCP/IP and SCPS But must also consider requirements specific to onboard spacecraft

SOIS Reference Model SOIF Network Management Applications SOIF Services User Applications Transport API Messaging API File Transfer API Data Link API Application Transport Intra Processor Communication Communication Services Network Data Link Physical

SpaceWire Network Packet Exchange Character Signal Physical Full duplex, bi-directional, serial, pointto-point link Transmission rates of 400 Mbits/s possible, low bit error rates Provides Data Link flow control and simple error detection using a parity bit Standard defined in the form of six levels But does not provide a Transport Level

TCP/IP Over SpaceWire Developed by the University of Dundee Carries TCP/IP packets (and many other network protocols) Any application written to use TCP/IP will work over SpaceWire Provides SOIS s low overhead interface Implemented for SpaceWire-PCI and SpaceWire RouterUSB Using SpaceWire-PCI board can make use of all three links to send three packets at the same time Performance marginally better than 100 Mbits/s Ethernet using SpaceWire operating at 100 Mbits/s

Performance of Driver Comparison of SpaceWire-PCI Driver and Ethernet Driver, both operating at 100 Mbits/s 10 MByte Transfer 1.4 1.2 1.235 1.228 1.217 1.12 1 1.021 1 Time (seconds) 0.8 0.6 0.666 0.62 0.4 0.2 0 Ethernet (MTU = 1500) SpaceWire (1 link, MTU = 1500) SpaceWire (2 links, MTU = 1500) SpaceWire (3 links, MTU = 1500) SpaceWire (via router, MTU = 1500) SpaceWire (1 link, MTU = 21836) SpaceWire (2 links, MTU = 21836) SpaceWire (3 links, MTU = 21836)

Limitations of TCP/IP Although effective for many purposes, TCP/IP is not ideal for onboard communication Minimum of 40 byte overhead IP concerned with routing BETWEEN networks, though there may only be one network onboard a spacecraft TCP expects all errors to be the result of packet loss Does not provide deterministic capabilities

Overhead of TCP/IP Percentage of MTU occupied by headers 25 20 15 Percentage 10 5 0 0 5000 10000 15000 20000 25000 MTU (Bytes)

SpaceWire-TP The SpaceWire Transport Protocol Provides end-to-end reliability and flow control at the Data Link No need for TCP/IP if communication is between nodes on the same network Carries TCP/IP compressed, so overhead is minimised when it is used Written specifically for SpaceWire so can exploit features of SpaceWire

SpaceWire-TP Specifics Header size: may be as low as 5 bytes Maximum packet size: 32761 bytes Maximum message size: unlimited All communication is over uni-directional channels Channels may be configured, e.g. to guarantee delivery or carry a checksum High priority channels formed by opening channels between high priority addresses Support for old dumb devices provided

The SpaceWire Stack Transport Network TCP IP SpaceWire-TP Data Link SpaceWire Driver Physical SpaceWire Device SpaceWire

Packet Structure Destination Source Channel Length 1 byte Message Sequence Packet Sequence EOM Flag Structured as any other SpaceWire packet (first byte is 1 byte logical address) Most significant bit of Length field indicates if there are 1 or 2 bytes used for the length Messages are a concept provided to send data greater in length than the MTU of the channel End of Message (EOM) Flag indicates the end of a message Acknowledgement Flag indicates if packet contains data or is an acknowledgement of a previous data packet Checksum may be enabled or disabled per channel ACK Flag Data Checksum 1 byte 1 byte 1 or 2 bytes 3 bits 3 bits 0-32761 bytes 1 byte (optional)

Example Data Packet Destination Source Channel Length Message Sequence Packet Sequence EOM Flag ACK Flag Data 74 70 1 12 0 0 1 0 11 22 33 44 55 66 77 Node 70 sending a packet to node 74 over channel 1 End of Message Flag set to indicate this is the end of a message ACK Flag indicates that the packet is data and not an acknowledgement Checksum disabled on this channel

Example ACK Packet Data Destination Source Channel Length Message Sequence Packet EOM Sequence Flag ACK Flag Available Buffers Reserved 70 74 1 6 0 0 1 1 7 0 4 bits 4 bits Acknowledgement of previous data packet ACK flag set to indicate acknowledgement Data field replaced by Available Buffers field Provides flow control by indicating the number of buffers available to write into Acknowledgements periodically sent so flow control provided even when packets lost

Reliability A guaranteed method of communication is provided where all packets are acknowledged when successfully received Sender Packet 1 ACK Packet 1 Packet 2 ACK Packet 2 Packet 3 ACK Packet 3 Receiver

Retry Mechanism Using the guaranteed communication method, lost packets will be resent Sender Packet 1 ACK Packet 1 Packet 2 (lost) Packet 3 Timeout waiting for ACK 2 Packet 2 ACK Packet 3 Packet 3 ACK Packet 3 Receiver

Flow Control The guaranteed method of communication also provides end-to-end flow control Sender Packet 1 ACK 1, 1 buffer free Packet 2 Receiver ACK 2, 0 buffers free ACK 2, 1 buffer free Packet 3

Flow Control Retry To cope with acknowledgements being lost, acknowledgements are periodically sent if no data is received Sender Packet 1 ACK 1, 1 buffer free Packet 2 ACK 2, 0 buffers free Receiver ACK 2, 1 buffer free (lost) ACK 2, 1 buffer free Timeout waiting for data Packet 3

Channel 0 The channel used to establish, terminate and configure other channels Always present, does not need to be established between nodes Channel properties that may be configured include: The channel MTU Whether checksums are to be transmitted with packets on the channel Whether the guaranteed or non-guaranteed method of communication is to be used

Dumb Devices Communication with devices which do not support SpaceWire-TP is possible A decision is made on the communication method in use based on the source address The source address must be the second byte of every packet received (the first byte should be the destination address) Some form of configuration is required to indicate which source addresses are dumb

SpaceWire-TP Overheads Overhead of the SpaceWire-TP Header 120 100 80 Percentage 60 40 20 0 0 100 200 300 400 500 600 Bytes Percentage occupied by header (checksum disabled) Percentage occupied by header (checksum enabled) Percentage occupied by TCP/IP header

Summary TCP/IP can be used to provide Network and Transport functionality over SpaceWire Has a number of limitations SpaceWire-TP will solve many of these problems Currently in prototyping stage But should be considered for addition to the SpaceWire standard in future Transport Network Packet Exchange Character Signal Physical