Commit 84df019b authored by Jaroslaw Bienkowski's avatar Jaroslaw Bienkowski Committed by Valerie Aurora
Browse files

Add mermaid architecture diagram, small fixes/additions

parent 3219675a
Loading
Loading
Loading
Loading
+33 −4
Original line number Diff line number Diff line
@@ -239,23 +239,23 @@ For the purposes of the present document, the following terms apply:

**Device driver:** A device driver is software running on the host that facilitates the transmission of network data

**Network device driver interface* An interface defined by host operating system or other software that abstracts the interface of the underlying network interface
**Network Device Driver Interface (NDDI)** A standardized interface provided by the host operating system or software framework that abstracts the underlying network hardware or virtualized network devices.

**Firmware:** Software stored within a device's non-volatile memory, such as ROM or flash memory, used to allow different types of hardware to communicate with the operating system

**Host:** Any equipment which has complete user functionality when not connected to the network interface part and to which the network interface part provides additional functionality and to which connection is necessary for the network interface part to offer functionality

**Network interface:** A physical device or software component that provides a host with a connection to a network
**Network Interface:** A physical device or software component that provides a host with a connection to a network

**Physical transmission media:** The physical instantion of a network

**Physical transmission media adapter:** A physical adapter on a network interface that transmits data on the medium

**Physical interface:** A network interface that is a physical device
**Physical Interface:** A network interface that represents an actual hardware network device.

**System bus:** A data transmission bus connecting physical network interfaces to a host processor

**Virtual interface:** A network interface that is a software component only
**Virtual Interface (VNI):** A software-based network interface that simulates the functionality of a physical network adapter.

## 3.2 Abbreviations

@@ -266,7 +266,10 @@ For the purposes of the present document, the following abbreviations apply:
| API          | Application Programming Interface        |
| ISP          | Internet Service Provider                |
| IT           | Information Technology                   |
| NDDI         | Network Device Driver Interface          |
| OS           | Operating System                         |
| VNI          | Virtual Network Interface                |


> FIXME add more abbreviations as necessary

@@ -323,6 +326,32 @@ A physical network interface connects via its communications bus to the host. Th

![~~Physical network device architecture~~](media/physical_network_interface.drawio.png)


```mermaid
flowchart TD
    subgraph Host
        OS[Host OS]
        DD[Device driver]
        OS <-->|"Host network device driver API"| DD
    end

    subgraph NI[Network interface]
        FW[Firmware]
        PTA[Physical transmission adapter]
        FW <--> PTA
    end

    TM[Transmission medium]

    RNI1[Remote network interface]
    RNI2[Remote network interface]

    Host <-->|"System bus"| NI
    NI <--> TM
    TM <--> RNI1
    TM <--> RNI2
```

A wired network interface transmits data via a solid transmission media such as Ethernet cable, fiber optic cable, or coaxial cable. A wireless network interface uses radiofrequency transmissions to transmit data. A virtual network interface transmits data within the memory of a host system.

Wireless network interfaces often have an independent real-time operating system on the network interface itself. Wireless transmission media often requires real-time response to modulate the radio frequency transmissions properly. The network interface also must prevent improper settings of radio frequency transmission parameters, which is often implemented by having the internal firmware set the parameters, rather than exposing them to the host. The complexity of this firmware may increase the risk of a wireless interface.