iNET Metadata Standards WG CP 006: Network Packet Structure August 5, 2008 Michael S Moore Jeremy Price Drew Cormier msmoore@swri.org jprice@swri.org acormier@swri.org 210-522-5944 210-522-6292 210-522-3069 MDSWG Teleconference August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt August 5, 2008 1 MDSWG-CP-006: Network Packet Structure: Topics • Scope • Rationale • Network Packet Structure Proposal Description August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 2 MDSWG-CP-006: Network Packet Structure: CP Scope • Network Model – – – August 5, 2008 PCM Stream Format Network Packet Structure Hierarchical Encapsulation of Measurement Data MDSWG_CP-006-Network-Packet-Structure.ppt 3 MDSWG-CP-006: Network Packet Structure • RATIONALE: – The metadata needs to describe the configurable information content of network packets and data message streams of TmNS systems, including the configurable header fields as well as the payload and data stream structures. Nonconfigurable information content (those that are not part of the test configuration, and thus do not change between tests) need not be modeled. The network packet structure needs to allow for encapsulation of other structures into packet payloads (hierarchy). • PROPOSAL: – Metadata shall contain the information content necessary to configure TCP/IP and UDP/IP headers of a Network Data Stream. – Metadata shall contain necessary information content for custom packet payload data format developed by TASWG in TASWG-CP-009 (to be presented 7/16/08). • TBD: Metadata shall contain information content needed to configure the data contained in the custom packet payload (Based on MDSWG-CP-002Measurements). August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 4 MDSWG-CP-006: Network Packet Structure: Scenarios (1/2) • Some reference scenarios have been developed to drive requirements for the Network Packet structure. These include the following: • A network engineer sets up a network to move data packets. Network configuration, such as setting up routing tables, is performed (level 1 – Basic Networking) • A network engineer designs a network to support test performance requirements: (level 2 – Performance Enhanced Networking) – To move RC data • • – Describes the network parameters (such as source address and port) of the data that requires reliable transport The end nodes are configured to transport the RC data using the attributes given To move LTC data • • The engineer describes the rates of data streams coming from data sources The engineer load balances each network segment using the relative rates of data streams and the topology of the network • Switches are configured such that the data rates are supported on the network (driven by the load balancing estimations) (either by hand, or using automation) Engineer determines the packet rate, size, and buffering characteristics that can satisfy the delivery timing requirements for each data stream • August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 5 MDSWG-CP-006: Network Packet Structure: Scenarios (2/2) • An instrumentation engineer describes the network dataflow from an End Node for an unknown data type. The instrumentation engineer calculates the maximum aggregate rates (level 2 – Performance Enhanced Network) – Must know the size of packets – Must know the rate of packet generation – Must know the package type (implies package structure and size) • A test team selects data from network data streams and converts the resulting data into EU to display live data during a test. The test team gains knowledge of how the data is encapsulated within the network streams (data messages / packages) from the metadata. (level 3 – Instrumentation Interoperability) – Must know the structure of packages August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 6 MDSWG-CP-006: Transport and Network Layer Metadata Proposal • • • Content required for level 1 interoperability (Basic Networking) TmNS network allows data packets to be sent via TCP/IP or UDP/IP Network and transport header metadata fields include: – – – – – – – – – – Source IP Source port Source MAC Destination ip Destination port Destination MAC Diffserv bits IP Version (4/6) Transport version Transport Type (TCP/UDP) August 5, 2008 This is where the multicast address could be specified This is where the QoS level could be specified MDSWG_CP-006-Network-Packet-Structure.ppt 7 Scope – Data Message Network Packet Header (IP) Transport Segment Header (TCP/UDP) Data Message Header August 5, 2008 Data Message Data Message Payload MDSWG_CP-006-Network-Packet-Structure.ppt 8 Definitions (See TASWG CP-009) • Data Message – A Data Message Header and Data Message Payload • Similar concepts in existing systems – IENA data message – Chapter 10 data message – DAR data message • Data Message Header – A header that describes the Data Message Payload • Similar concepts in existing systems – IENA header with “Key”, “Size”, “Time”, “Key Status”, “Application Status”, “Sequence Number”, and “End Field” – Chapter 10 header with “Packet Sync Pattern”, “Channel ID”, “Packet Length”, “Data Length”, “Header Version”, “Sequence Number”, “Packet Flags”, “Data Type”, “Relative Time Counter”, “Header Checksum”, “Time”, “Reserved”, and “Secondary Header Checksum” – DAR header with “Version”, “Reserved”, “Data Type”, “Message Length”, “IP Multicast Address”, “Sequence Number”, “Data Source ID”, and “Message Timestamp” • Data Message Payload – A group of Packages • Similar concepts in existing systems – IENA message payload with multiple “Parameters” – Chapter 10 message body with multiple “Packets” – DAR message payload with multiple “Segments” August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 9 Definitions (See TASWG CP-009) • Data Message – A Data Message Header and Data Message Payload • Similar concepts in existing systems – IENA data message – Chapter 10 data message – DAR data message • Data Message Header Data Message metadata will be captured in this CP. – A header that describes the Data Message Payload • Similar concepts in existing systems – IENA header with “Key”, “Size”, “Time”, “Key Status”, “Application Status”, “Sequence Number”, and “End Field” – Chapter 10 header with “Packet Sync Pattern”, “Channel ID”, “Packet Length”, “Data Length”, “Header Version”, “Sequence Number”, “Packet Flags”, “Data Type”, “Relative Time Counter”, “Header Checksum”, “Time”, “Reserved”, and “Secondary Header Checksum” – DAR header with “Version”, “Reserved”, “Data Type”, “Message Length”, “IP Multicast Address”, “Sequence Number”, “Data Source ID”, and “Message Timestamp” • Data Message Payload – A group of Packages • Similar concepts in existing systems – IENA message payload with multiple “Parameters” – Chapter 10 message body with multiple “Packets” – DAR message payload with multiple “Segments” August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 10 Scope - Packages Data Message Header Package 1 August 5, 2008 Package 2 Data Message Payload Package 3 Package 4 Package 5 MDSWG_CP-006-Network-Packet-Structure.ppt Package N 11 Definitions (See TASWG CP-009) • Package – A structure that encapsulates Measurement Data • Similar concepts in existing systems – IENA “Parameter” payload, ID, and offset – Chapter 10 “Packet” payload, intra-packet header, and intra-packet timestamp – DAR “Segment” payload, header and time delta • Measurement Data – The digital representation of a measurement • e.g. digital busses, analog, PCM words, etc. August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 12 Definitions (See TASWG CP-009) • Package Package format description is outside of the – A structure that encapsulates Measurement Data scope of this CP (see MDSWG CP 006 – • Similar concepts in existing systems Package Description) – IENA “Parameter” payload, ID, and offset – Chapter 10 “Packet” payload, intra-packet header, and intra-packet timestamp – DAR “Segment” payload, header and time delta Allowable formats of the Message Data will be based the MDSWG Measurements CP (CP– The digital representation of aon measurement 002). PCM words, etc. • e.g. digital busses, analog, TBD – are these appropriate examples? • Measurement Data • TBD: Update examples of Measurement Data based on input from TASWG Æ moved to MDSWG CP 007 – Package Description August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 13 Data Message Header Requirements • Data Stream ID – Unique Network Data Stream identifier • Sequence Number – Message counter associated with Data Stream ID • Version – Version of the Data Message protocol • Message Flags – Indicators of Data Message options • Package Type – Identifier of the type of Packages contained in the Data Message – Examples: PCM/Positional, MIL-STD-1553, Analog, Discrete, ARINC-429, Message, Video, Image, UART, IEEE-1394, Parallel Data, Ethernet, ARINC664/AFDX, ARINC-629, MIL-STD-1553, General/Standard, Computer Generated, etc. • Message Length – Length of entire Data Message • Message Timestamp – IEEE 1588 timestamp for Data Message Data Message Header Data Message Payload 14 Data Message Header Requirements • Data Stream ID • Message Flags – Unique Network Data Stream identifierThese values are part of the configuration of the • Sequence Number – Message counter associated with Data network Stream ID and are described • Version in the metadata. – Version of the Data Message protocol – Indicators of Data Message options • Package Type Scenario will be referenced later. – Identifier of the type of Packages contained in the Data Message – Examples: PCM/Positional, MIL-STD-1553, Analog, Discrete, ARINC-429, Message, Video, Image, UART, IEEE-1394, Parallel Data, Ethernet, ARINC664/AFDX, ARINC-629, MIL-STD-1553, General/Standard, Computer Generated, etc. Metadata will describe: – Length of entire Data Message •Maximum message length • Message Timestamp •Maximum message latency – IEEE 1588 timestamp for Data Message (see LTC scenario) • Message Length Data Message Header Data Message Payload 15 Data Message Header Requirements • Data Stream ID – Unique Network Data Stream identifier • Sequence Number • Version values – Message counter associated with Data These Stream ID – Version of the Data Message protocol • Message Flags are generated dynamically in a running system. – Indicators of Data Message options • Package Type – Identifier of the type of Packages contained in the Data Message – Examples: PCM/Positional, MIL-STD-1553, Analog, Discrete, ARINC-429, Message, Video, Image, UART, IEEE-1394, Parallel Data, Ethernet, ARINC664/AFDX, ARINC-629, MIL-STD-1553, General/Standard, Computer Generated, etc. • Message Length – Length of entire Data Message • Message Timestamp – IEEE 1588 timestamp for Data Message Data Message Header Data Message Payload 16 Data Stream Proposal Summary • Metadata will describe the following information content related to the network packet structure: – Transport and network layer items • • • • • • • • • • Source IP (optional) Source port (optional) Source MAC (optional) Destination IP (optional) Destination port (optional) Destination MAC (optional) Diffserv bits IP Version (4/6) Transport version Transport Type (TCP/UDP) – Application specific data stream items • • • • • Data Stream ID Version Package Type Maximum Message Length Maximum Message Latency August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 17 Capture Action Items August 5, 2008 MDSWG_CP-006-Network-Packet-Structure.ppt 18