====== 2.3.4.2.2 Data-in-Motion ====== [[dido:public:ra:1.2_views:3_taxonomic:4_data_tax:02_state_taxonomy:start| Return to State of Data Taxonomy]] ===== Overview ===== [[dido:public:ra:1.2_views:3_taxonomic:4_data_tax:02_state_taxonomy:data_in_motion| Return to Top]] [[dido:public:ra:xapend:xapend.a_glossary:d:data_in_motion]], also referred to as **Data in Transit** or **Data in Flight**, is a [[dido:public:ra:xapend:xapend.a_glossary:d:digital_asset]] transmitted between locations (i.e., between computers or computer components). Data-In-Motion also describes data within [[dido:public:ra:xapend:xapend.a_glossary:r:computermemory]]. Some examples of Data-in-Motion include data: * Moving from one [[dido:public:ra:xapend:xapend.a_glossary:e:endpoint]] to another Endpoint (e.g., endpoint device to a [[dido:public:ra:xapend:xapend.a_glossary:w:webapp]] * Moving between [[dido:public:ra:xapend:xapend.a_glossary:v:vm | Virtual Machines]] * Moving between [[dido:public:ra:xapend:xapend.a_glossary:c:cloud_service | Cloud Services]] * Traversing trusted private networks (i.e. [[dido:public:ra:xapend:xapend.a_glossary:i:intranet]]) or untrusted networks (i.e., [[dido:public:ra:xapend:xapend.a_glossary:i:internet]]). Once the data arrives at its final destination, it is classified as [[dido:public:ra:1.2_views:3_taxonomic:4_data_tax:02_state_taxonomy:data_at_rest| Data-at-Rest]]. Because Data-in-Motion is vulnerable to [[dido:public:ra:xapend:xapend.a_glossary:m:mitm]] attacks, it is often [[dido:public:ra:xapend:xapend.a_glossary:e:encryption | Encrypted]] to prevent interception. For example, the [[dido:public:ra:xapend:xapend.a_glossary:i:iscsi| Internet Small Computer System Interface (iSCSI)]] transport layer incorporates [[dido:public:ra:xapend:xapend.a_glossary:i:ipsec]], which can [[dido:public:ra:xapend:xapend.a_glossary:e:encryption | encrypt]] data as it is transferred between two devices to prevent a [[dido:public:ra:xapend:xapend.a_glossary:h:hacker]] with a sniffer from seeing the contents of that data. IPSec has been used extensively as a transit encryption protocol for [[dido:public:ra:xapend:xapend.a_glossary:v:vpn]] tunnels because it makes use of [[dido:public:ra:xapend:xapend.a_glossary:c:cryptographic_algorithm | Cryptography Algorithms]] such as Triple DES (3DES) and [[dido:public:ra:xapend:xapend.b_stds:tech:nist:sp_800-34e | Advanced Encryption Standard (AES)]]. Encryption [[dido:public:ra:xapend:xapend.a_glossary:p:platform]] software can also be integrated with existing [[dido:public:ra:xapend:xapend.a_glossary:e:erp]] systems to keep Data-in-Motion secure. ===== DIDO Specifics ===== [[dido:public:ra:1.2_views:3_taxonomic:4_data_tax:02_state_taxonomy:data_in_motion| Return to Top]] ==== Overview ==== Within DIDOs, the **Data-In-Motion** refers to data as it moves between the **[[dido:public:ra:xapend:xapend.a_glossary:n:node | Nodes]]** within a **[[dido:public:ra:xapend:xapend.a_glossary:n:node_network]]**. The data moves on an infrastructure that includes [[dido:public:ra:xapend:xapend.a_glossary:h:http]], [[dido:public:ra:xapend:xapend.a_glossary:h:https]], [[dido:public:ra:xapend:xapend.a_glossary:g:gossip]], etc. There are any number of [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:2_net:2_trn#technical_standards | Technical]] and [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:2_net:2_trn#de_facto_standards | de facto Standards]] that are relevant to the [[dido:public:ra:1.2_views:2_tech_views:2-nodenet:2_net:2_trn | Transport]] of the data between the nodes. Although the **Data-In-Motion** is dependent-upon and influenced-by the [[dido:public:ra:xapend:xapend.a_glossary:t:transportlayer]], this section is concerned about the data flowing on the **Transport Layer** rather than on the [[dido:public:ra:xapend:xapend.a_glossary:p:physicallayer]] and the [[dido:public:ra:xapend:xapend.a_glossary:p:protocol | Protocols]].
{{ :dido:public:ra:1.2_views:3_taxonomic:4_data_tax:02_state_taxonomy:screen_shot_2022-01-09_at_4.04.32_pm.png?900 |}} The layers in a DIDO and where the Data-In-Motion occurs.
: **Note:** Also see the figure describing the __Industrial Internet Consortium’s Connectivity Framework__ in [[dido:public:ra:1.4_req:2_nonfunc:28_manageability:06_system]]. ^ IIOT Level(( The Industrial Internet Consortium **Levels** are similar, but different from the [[dido:public:ra:xapend:xapend.a_glossary:o:osi]] **Layers**. However, there is some overlap between the **Levels** and **Layers** especially at the lower rungs. However, it is important to differentiate between the two. Where possible in the discussion of the **Levels**, the corresponding **Layers** are provided. )) ^ Description ^ ^ Distributed Application | [[dido:public:ra:xapend:xapend.a_glossary:d:dapp]] are [[dido:public:ra:xapend:xapend.a_glossary:a:application | Applications]] that exist and run on a distributed [[dido:public:ra:xapend:xapend.a_glossary:p:p2p]] network of [[dido:public:ra:xapend:xapend.a_glossary:n:node | Nodes]]. DApps are outside the control of a single [[dido:public:ra:xapend:xapend.a_glossary:g:gov_body]]. DApps are created for a variety of purposes, including: * Energy * Services * Healthcare * Manufacturing * Supply Chain * Transportation * Cryptocurrency * Finance * Gaming * Social media | ^ DIDO Platform | [[dido:public:ra:xapend:xapend.a_glossary:d:dido_platform | DIDO Platforms ]] are not a single software entity such as in an [[dido:public:ra:xapend:xapend.a_glossary:a:application]], but rather a set of components integrated together. In a DIDO, the integration includes Software and [[dido:public:ra:xapend:xapend.a_glossary:h:hardware]] [[ dido:public:ra:xapend:xapend.a_glossary:c:component | Components]] that are more than just the [[dido:public:ra:xapend:xapend.a_glossary:s:software]] and [[dido:public:ra:xapend:xapend.a_glossary:h:hardware]] components integrated as a [[dido:public:ra:xapend:xapend.a_glossary:s:sw_stack]] or [[dido:public:ra:xapend:xapend.a_glossary:s:solution_stack]] residing on a single [[dido:public:ra:xapend:xapend.a_glossary:n:node]] but on a collection of Nodes called a [[dido:public:ra:xapend:xapend.a_glossary:n:node_network]]. * [[dido:public:ra:xapend:xapend.a_glossary:b:bitcoin]] * [[dido:public:ra:xapend:xapend.a_glossary:c:cardano]] * [[dido:public:ra:xapend:xapend.a_glossary:e:ethereum]] * [[dido:public:ra:xapend:xapend.a_glossary:h:hyperledger]] * [[dido:public:ra:xapend:xapend.a_glossary:s:solana]] * [[dido:public:ra:xapend:xapend.a_glossary:i:iota]] * [[dido:public:ra:xapend:xapend.a_glossary:a:avalanche]] * [[dido:public:ra:xapend:xapend.a_glossary:p:polkadot]] * [[dido:public:ra:xapend:xapend.a_glossary:i:ipfs]] * [[dido:public:ra:xapend:xapend.a_glossary:h:hedera]] | ^ Framework | A Framework is [[dido:public:ra:xapend:xapend.a_glossary:s:software]] that is a [[dido:public:ra:xapend:xapend.a_glossary:n:nonfuncreq]] abstraction of [[dido:public:ra:1.4_req:2_nonfunc:20_maintainability:reuseability | Reusable]], generic, tailorable [[dido:public:ra:xapend:xapend.a_glossary:c:component | Components]] by the use of user-written, application-specific [[dido:public:ra:xapend:xapend.a_glossary:p:plug_in]] software. Frameworks provide a standardized mechanism for designing, building and deploying [[dido:public:ra:xapend:xapend.a_glossary:a:application | Applications]]. Frameworks leverage either a [[dido:public:ra:xapend:xapend.a_glossary:s:solutionstack]] or [[dido:public:ra:xapend:xapend.a_glossary:s:solution_stack]]. The lowest level of the Framework covers the highest layer of the [[dido:public:ra:xapend:xapend.a_glossary:o:osi]], the [[dido:public:ra:xapend:xapend.a_glossary:a:applayer]] and includes: * [[dido:public:ra:xapend:xapend.a_glossary:d:dds]] * [[dido:public:ra:xapend:xapend.a_glossary:o:onem2m]] * [[dido:public:ra:xapend:xapend.a_glossary:w:web_service]] * [[dido:public:ra:xapend:xapend.a_glossary:o:opc-ua]] * [[dido:public:ra:xapend:xapend.a_glossary:g:gossip]] * [[dido:public:ra:xapend:xapend.a_glossary:w:whisper]] * [[dido:public:ra:xapend:xapend.a_glossary:d:devp2p]] * [[dido:public:ra:xapend:xapend.a_glossary:l:les]] * [[dido:public:ra:xapend:xapend.a_glossary:b:bittorrent]] | ^ Transport | There are two levels to the **Transport Level**: one for message transport mechanisms and one purely for connectivity: * The **Message Transport Level** is analogous to the [[dido:public:ra:xapend:xapend.a_glossary:o:osi]] [[dido:public:ra:xapend:xapend.a_glossary:p:presentlayer]] and includes the following messaging systems: * [[dido:public:ra:xapend:xapend.b_stds:tech:omg:dds_rtps | DDSI-RTPS]] * [[dido:public:ra:xapend:xapend.a_glossary:c:coap]] * [[dido:public:ra:xapend:xapend.a_glossary:x:xmpp]] * [[dido:public:ra:xapend:xapend.a_glossary:m:mqtt]] * [[dido:public:ra:xapend:xapend.a_glossary:s:stomp]] * [[dido:public:ra:xapend:xapend.a_glossary:h:http]] * [[dido:public:ra:xapend:xapend.a_glossary:h:https]] * [[dido:public:ra:xapend:xapend.a_glossary:r:rabbitmq]] * [[dido:public:ra:xapend:xapend.a_glossary:o:opc-ua]] * [[dido:public:ra:xapend:xapend.a_glossary:a:activemq]] * [[dido:public:ra:xapend:xapend.a_glossary:r:rlpx]] * [[dido:public:ra:xapend:xapend.a_glossary:k:kademlia]] * The **Connectivity Level** is analogous to the [[dido:public:ra:xapend:xapend.a_glossary:o:osi]] [[dido:public:ra:xapend:xapend.a_glossary:s:netlayer]] and includes: * [[dido:public:ra:xapend:xapend.a_glossary:t:tcp]] * [[dido:public:ra:xapend:xapend.a_glossary:u:udp]] * [[dido:public:ra:xapend:xapend.a_glossary:p:port | Port Numbers]] | ^ Network | The **Network Level** is analogous to the [[dido:public:ra:xapend:xapend.a_glossary:o:osi]] [[dido:public:ra:xapend:xapend.a_glossary:s:sessionlayer]] providing data routing paths for network communication. Data is transferred in the form of packets via logical network paths in an ordered format controlled by the network layer. Logical connection setup, data forwarding, routing, and delivery error reporting are the Network Layer’s primary responsibilities. This layer includes: * [[dido:public:ra:xapend:xapend.a_glossary:i:ip]] * [[[[dido:public:ra:xapend:xapend.a_glossary:r:router]] | ^ Link | The **Link Level** is analogous to the [[dido:public:ra:xapend:xapend.a_glossary:o:osi]] [[dido:public:ra:xapend:xapend.a_glossary:d:datalinklayer]] controlling connections between multiple computers. The session layer tracks the dialogs between computers, which are also called sessions. This layer establishes, controls and ends the sessions between local and remote applications. | ^ Physical | The **Physical Level** is more or less a combination of the [[dido:public:ra:xapend:xapend.a_glossary:o:osi]] [[dido:public:ra:xapend:xapend.a_glossary:p:physicallayer]] and [[dido:public:ra:xapend:xapend.a_glossary:t:transportlayer]]. * [[dido:public:ra:xapend:xapend.a_glossary:t:tsn]] * [[dido:public:ra:xapend:xapend.a_glossary:w:wireless]] - [[dido:public:ra:xapend:xapend.a_glossary:p:pam]] * [[dido:public:ra:xapend:xapend.a_glossary:w:wireless]] - [[dido:public:ra:xapend:xapend.a_glossary:l:lan]] * [[dido:public:ra:xapend:xapend.a_glossary:w:wireless]] - [[dido:public:ra:xapend:xapend.a_glossary:l:lte]] * [[dido:public:ra:xapend:xapend.a_glossary:w:wan]] * [[dido:public:ra:xapend:xapend.a_glossary:n:netcabling]] * [[dido:public:ra:xapend:xapend.a_glossary:r:rj45]] * [[dido:public:ra:xapend:xapend.a_glossary:w:wifi_frequencies]] * [[dido:public:ra:xapend:xapend.a_glossary:n:netdev | Network Devices]] other than [[[[dido:public:ra:xapend:xapend.a_glossary:r:router | Routers ]]: * [[dido:public:ra:xapend:xapend.a_glossary:h:hub]] * [[dido:public:ra:xapend:xapend.a_glossary:s:switch]] * [[dido:public:ra:xapend:xapend.a_glossary:b:bridge]] * [[dido:public:ra:xapend:xapend.a_glossary:g:gateway]] * [[dido:public:ra:xapend:xapend.a_glossary:m:modem]] * [[dido:public:ra:xapend:xapend.a_glossary:r:repeater]] * [[dido:public:ra:xapend:xapend.a_glossary:n:netappliance]] | ==== Discussion ==== An alternate way to view the Stack is to use the [[dido:public:ra:xapend:xapend.a_glossary:t:tcp_concept_model]]. Figure {{ref>tcpconceptModel}} graphically represents the TCP/IP Conceptual Model.
{{ :dido:public:ra:1.2_views:3_taxonomic:4_data_tax:02_state_taxonomy:screen_shot_2022-01-17_at_7.54.13_pm.png?500 |}}
Most of the **DIDO Platforms**, in combination with the **Frameworks** and **Application Layer**, provide a [[dido:public:ra:1.4_req:2_nonfunc:20_maintainability:reuseability | Reusable]], general mechanism for [[dido:public:ra:xapend:xapend.a_glossary:d:dapp | Dapps]] to interact with oither DIDO [[dido:public:ra:xapend:xapend.a_glossary:n:node | Nodes]] in a [[dido:public:ra:xapend:xapend.a_glossary:n:node_network]]. However, this combination of **Platforms**, **Frameworks**, and **Applications** create **DIDO [[dido:public:ra:xapend:xapend.a_glossary:s:silo | Silos]]** thereby inhibiting [[dido:public:ra:xapend:xapend.a_glossary:i:interoperability]] between the silos. [[dido:public:ra:xapend:xapend.a_glossary:b:bridge | Bridges]] can be built between the Silos. However, existing DIDO Platforms have no incentive to design or implement **Bridges**. In fact, as the purveyor of competitive DIDO Platforms, they have a distinct disincentive. Many of the DIDO Platform [[dido:public:ra:xapend:xapend.a_glossary:a:api | Application Programming Interfaces (APIs)]] are also poorly documented and hide behind a curtain of [[dido:public:ra:xapend:xapend.a_glossary:o:oss]] as standards. The Interoperability issues between the various platforms silos can be traced to the lowest level of the DIDO Platform, or depending on the perspective, the upper level of the [[dido:public:ra:xapend:xapend.a_glossary:o:osi]] [[dido:public:ra:xapend:xapend.a_glossary:p:presentlayer]]. For example, the selection of a **Framework** narrows the Interoperability options to those DIDO Platforms that have selected the same **Framework**. The same can be said of the messaging systems defined in **''Transport --> Message Transport Level''**. Messages are at the core of DIDO Platforms. New section - review /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~