1 SpaceWire Update NASA GSFC November 25, 2002. 2 GSFC SpaceWire Status New Link core with split clock domains complete (Much faster) New Router core.

Slides:



Advertisements
Similar presentations
Ethernet “dominant” LAN technology: cheap $20 for 100Mbs!
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Introduction1-1 message segment datagram frame source application transport network link physical HtHt HnHn HlHl M HtHt HnHn M HtHt M M destination application.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
TELE202 Lecture 14 TCP/UDP (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »TCP/UDP (1) »Source: chapter 17 ¥This Lecture »TCP/UDP (2) »Source: chapter.
Computer Networks 2 Lecture 2 TCP – I - Transport Protocols: TCP Segments, Flow control and Connection Setup.
Shivkumar KalyanaramanRensselaer Q1-1 ECSE-6600: Internet Protocols Quiz 1 Time: 60 min (strictly enforced) Points: 50 YOUR NAME: Be brief, but DO NOT.
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Chapter 3 Review of Protocols And Packet Formats
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Transport Layer TCP and UDP IS250 Spring 2010
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Gursharan Singh Tatla Transport Layer 16-May
Layer 2 Switch  Layer 2 Switching is hardware based.  Uses the host's Media Access Control (MAC) address.  Uses Application Specific Integrated Circuits.
SERIAL BUS COMMUNICATION PROTOCOLS
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Network Layer ICMP and fragmentation.
1 Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:  SD, ED mark start,
Introduction1-1 Data Communications and Computer Networks Chapter 5 CS 3830 Lecture 27 Omar Meqdadi Department of Computer Science and Software Engineering.
Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:  SD, ED mark start,
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
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.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
Transmission Control Protocol
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
Review:. Chapter 3: The Data Link Layer –achieve reliable, efficient communication between two physically connected machines. –Example problems to be.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 21.
Network Protocols n ISO OSI 7-layer model n TCP/IP suite l TCP/UDP l IP l Ethernet/Token Ring l ICMP.
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.
STORE AND FORWARD & CUT THROUGH FORWARD Switches can use different forwarding techniques— two of these are store-and-forward switching and cut-through.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
Lecture Topics: 11/27 Networks Layered Model Ethernet IP.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
GBT SCA overview Slide 1-5 Work status Slide 6-10 Shuaib Ahmad Khan.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
1 Internetworking: IP Packet Switching Reading: (except Implementation; pp )
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1.Flow Control and ARQ Protocols.
Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:
ECE 544 Protocol Design Project 2016 Chengyao Wen Hua Deng Xiaoyu Duan.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
Local Area Networks: Topologies. 2 Packet Identification & MAC Addresses Each packet specifies an intended recipient with an identifier. – Demultiplexing.
Computer Networking Lecture 16 – Reliable Transport.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
Network Layer & IP Protocol.
5. End-to-end protocols (part 1)
Local Area Networks: Topologies
Layered Architectures
TCP/IP Transmission Control Protocol / Internet Protocol
Introduction of Transport Protocols
Transport Layer Unit 5.
Data Link Issues Relates to Lab 2.
Network Core and QoS.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Protocol layering and data
Protocol layering and data
Transport Protocols: TCP Segments, Flow control and Connection Setup
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
Transport Protocols: TCP Segments, Flow control and Connection Setup
Process-to-Process Delivery: UDP, TCP
Error Checking continued
Transport Layer 9/22/2019.
Network Core and QoS.
Presentation transcript:

1 SpaceWire Update NASA GSFC November 25, 2002

2 GSFC SpaceWire Status New Link core with split clock domains complete (Much faster) New Router core (No - Group adaptive routing) is complete and in simulation Currently working Network/Transport layer issues – Initial protocol simulation complete. Still working on commanding and interface to Internet Protocols. Two customers exist: –JWST looking for SpaceWire – May be point to point network but will probably use router in the central instrument computer. Still debating use of transport layer. Network and transport layer need to be “mostly” in hardware to meet JWST speed requirements. –Supporting BAE technology activity to build high speed link/router test part on the same foundry that produces the RAD750. Expecting Mbps 16 link part with router. Will definitely include Link and router. Network and transport need to be solidified before inclusion in this part. Will probably include network processor for future flexibility Looking to make the user interface “similar” to 1553 so programs can use the part without significant redesign. SDO currently planning to use IEEE-1355 Summay: Projects are beginning to baseline SpaceWire network capable interfaces for instrument use. Most of these are Intra-nets one on orbit. Internet environment will probably exist on for ground test only.

3 GSFC SpaceWire Network/Transport Work Type 00 Description Destination Address is a Space Wire Logical address Source Address is a Space Wire Logical address Type Bits (2 bits) 00 = type 0 Packet Type 00 = Atomic message – Segment offset is not sent – chan 0 and unreliable messages must be atomic 01 = Segmented message – Segment offset included – must be reliable 10 = ACK packet - Every reliable transmitted packet is acknowledged with its assigned sequence number – No payload is allowed – IE segment offset and payload are not allowed. 11 = Error indicator – Sent when a fatal protocol error occurs – Fatal packet time out. SEQ Bit (4 bit) = 16 possible sequence counts – Max of 8 in use at any one time – Independent set for each dst, src, chan : Not used if Chan ID = 0. IE channel 0 messages are send and wait. Channel ID (8 bits) – Destination address, source address and channel ID identify a unique data stream or connection. Segment offset – only included if Packet type is Segmented – This is the byte offset of the first data element of the payload. The first Segment offset must be zero. The maximum is Payload – limited by MTU 8 bit CRC Destination Address Source Address Channel Control Channel ID Payload If PT = 00 or 01 CRC - 8 … 00 TYPE 0 SEQ Packet Type Segment Offset – only If PT = 01 Always Required Channel Commanded Used If ack packet and chan ID is zero Included if ACK packet: PT=10 and Channel ID is zero Included for Segmented Messages: PT=01 No Payload Allowed for ACK or Error Packets: PT = 10 or 11

4 TX sequence allocation example Sequence processing for allocation: –If a sequence number is in the TX window and free it can be allocated and is marked IN_USE otherwise sequence is unavailable. Sequence processing for acknowledge packets: –If a ACK packet is received for a packet in the TX window that is IN_USE it is marked ACK Received. –If the start of the window is in the ACK Received state change to the FREE state and move the Window one position forward. The Max window length is 8 to avoid overlap in RX sequence interpretation and simplify logic F FF F I AA A I II F F FF F Window start TX window max 8 packets F = Free I = IN_USE A = ACK Received Forward

5 RX sequence processing and data reordering example Detecting duplicate data –If data is received at sequence number: seq, and Data Available(seq) == Y discard the data. Otherwise store the data and Set the State of Data Available(seq) to Y. Delivering the data in order –While: Data_available(Next to be delivered) == Y and Data_delivered(Next to be delivered) ==N Deliver the data to the user, Set Data_delivered(Next to be delivered) to Y; Move Next to be delivered forward one. Moving the RX window –While seq is outside the window: Set Data_available(Window_start) = N, and Set Data_Delivered(Window_start) = N; Move window one position forward. –IE move the window forward resetting Data_available and Data_delivered until the received seq number is just inside the window. Y YN N Y YN N Window start RX window max 8 packets Y = Yes N = No Forward Y YN N N NN N Data Available Data Delivered Next to be delivered

6 Send User Packet IDLE NO New User Packet available Is the Packet Reliable Is the packet Plus header <= MTU Queue Multiple Reliable packets Of segmented Message to TX window NO Is the packet Plus header <= MTU NO User Message: no Segmentation Of unreliable packets YES Queue Single Reliable Packet to TX window YES Queue Single Message to TX Queue Is space Available On TX window User Message Try again Drop packet Is space Available On TX Queue User Message: Try again Drop packet YES NO

7 TX window processing IDLE New packet available Is Sequence Number Available? No Yes Init Send count Is a packet waiting for seq number? Seq number freed No Packet Timed out Is it the final timeout Delete Packet from window Free seq num Increment Times sent Counter Copy Packet To TX queue Is it a chan 0 packet Yes User Message: Packet Timeout Yes No Is it a chan 0 packet No Yes No

8 TX State Machine – Bottom half driver IDLE TX Queue Empty Send Packet Reliable packet on Snd Queue Unreliable packet on TX Queue Update Send Time ACK Packet on TX Queue Send Packet

9 TX Check and Allocate seq number Is the Seq Number in The window Is the Seq Number Free Yes OK Return Yes Mark Seq Number As IN USE Return No Enter No

10 TX Free Sequence Number Is the Seq Number in Use Mark Seq Number as ACK_REC Yes OK Return Set index to Window_start Enter No Is the Seq Number ACK_REC Set Seq number To FREE Move rx_window Start one position forward Move index one Position forward Yes No

11 RX Filter State Machine TEST DST Addr. Send Packet Directly to user buffer IDLE Packet available SpaceWire Networking Disabled DROP Packet from RX buffer Not For Me TEST SRC Addr. ELSE TEST Chan ELSE Not allowed ACK Packet User Message: Chan Error ACK Packet Processing ERROR Packet TEST Packet Type Segmented or Un-segmented Packet Processing Segmented or Un- segmented Data Packet

12 RX ACK Packet Processing Check Packet CRC IS the Chan ID Zero Failed OK Yes Lookup Chan Error OK Mark as Received In TX window Read Cmd Channel Signal CMD Processor CMD: ACK Mark as Received In TX window Free seq number Drop Packet from RX Buffer Lookup Chan No Return Enter Is Channel Reliable Error Yes OK Notify User

13 Segmented or Un-segmented Data/command Packet Processing Is the Chan ID Zero Check Packet CRC OK Yes OK Queue ACK packet Error Process Cmd packet Signal CMD Processor CMD: ACK Is CRC enabled Process User Data Lookup Chan No Return Enter No Failed Check Packet CRC OK Error DROP Packet from RX Buffer YES Queue ACK packet

14 Process User Data Is the channel Reliable? OK No Is ACK Enabled for channel Process Reliable User Data Queue ACK Packet Return Enter Yes Failed Queue ACK packet Deliver Packet To User With Seq Num No YES

15 RX Process Reliable User data Has the seq id Been received before Yes Return False Set index to Next to be delivered Enter With chan index And seq number received No Is the indexed window buffer available and not delivered At index Deliver data To user Mark data as delivered Move Next To be delivered Forward One Move index one Forward Are we Past the window? Yes No Mark it as Being received Put data in the Buffer mark the seq number As data available No Yes Is the seq Number Received Outside The window Set buffer status Of window start To not received Set Deliver status Of window start To not delivered Move the RX Window start one Position forward Return False Yes No