doc: net: Fix networking overview document

Add references to external documents like RFCs.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This commit is contained in:
Jukka Rissanen 2019-03-27 11:03:34 +02:00 committed by Kumar Gala
parent 1564e205e0
commit 5378672d8a

View file

@ -21,37 +21,46 @@ can be disabled if not needed.
* Developer can set the number of unicast and multicast IPv6 addresses that
are active at the same time.
* The IPv6 address for the device can be set either statically or
dynamically using SLAAC (Stateless Address Auto Configuration) (RFC 4862).
dynamically using SLAAC (Stateless Address Auto Configuration)
(`RFC 4862 <https://tools.ietf.org/html/rfc4862>`_).
* The system also supports multiple IPv6 prefixes and the maximum
IPv6 prefix count can be configured at build time.
* The IPv6 neighbor cache can be disabled if not needed, and its size can be
configured at build time.
* The IPv6 neighbor discovery support (RFC 4861) is enabled by default.
* Multicast Listener Discovery v2 support (RFC 3810) is enabled by default.
* The IPv6 neighbor discovery support
(`RFC 4861 <https://tools.ietf.org/html/rfc4861>`_) is enabled by default.
* Multicast Listener Discovery v2 support
(`RFC 3810 <https://tools.ietf.org/html/rfc3810>`_) is enabled by default.
* IPv6 header compression (6lo) is available for IPv6 connectivity for
Bluetooth IPSP (RFC 7668) and IEEE 802.15.4 networks (RFC 4944).
Bluetooth IPSP (`RFC 7668 <https://tools.ietf.org/html/rfc7668>`_) and
IEEE 802.15.4 networks (`RFC 4944 <https://tools.ietf.org/html/rfc4944>`_).
* **IPv4** The legacy IPv4 is supported by the networking stack. It cannot be
used by IEEE 802.15.4 or Bluetooth IPSP as those network technologies support
only IPv6. IPv4 can be used in Ethernet based networks. By default IPv4
support is disabled.
* DHCP (Dynamic Host Configuration Protocol) client is supported (RFC 2131).
* DHCP (Dynamic Host Configuration Protocol) client is supported
(`RFC 2131 <https://tools.ietf.org/html/rfc2131>`_).
* The IPv4 address can also be configured manually. Static IPv4 addresses
are supported by default.
* **Dual stack support.** The networking stack allows a developer to configure
the system to use both IPv6 and IPv4 at the same time.
* **UDP** User Datagram Protocol (RFC 768) is supported. The developer can
send UDP datagrams (client side support) or create a listener to receive
UDP packets destined to certain port (server side support).
* **UDP** User Datagram Protocol
(`RFC 768 <https://tools.ietf.org/html/rfc768>`_) is supported.
The developer can send UDP datagrams (client side support) or create a
listener to receive UDP packets destined to certain port (server side
support).
* **TCP** Transmission Control Protocol (RFC 793) is supported. Both server
* **TCP** Transmission Control Protocol
(`RFC 793 <https://tools.ietf.org/html/rfc793>`_) is supported. Both server
and client roles can be used the the application. The amount of TCP sockets
that are available to applications can be configured at build time.
* **BSD Sockets API** Support for a subset of a BSD Sockets compatible API is
* **BSD Sockets API** Support for a subset of a
:ref:`BSD sockets compatible API <bsd_sockets_interface>` is
implemented. Both blocking and non-blocking datagram (UDP) and stream (TCP)
sockets are supported.
@ -63,20 +72,27 @@ can be disabled if not needed.
A sample :ref:`mqtt-publisher-sample` client application for MQTT v3.1.1 is
implemented.
* **CoAP** Constrained Application Protocol (RFC 7252) is supported.
* **CoAP** Constrained Application Protocol
(`RFC 7252 <https://tools.ietf.org/html/rfc7252>`_) is supported.
Both :ref:`coap-client-sample` and :ref:`coap-server-sample` sample
applications are implemented.
* **LWM2M** OMA Lightweight Machine-to-Machine Protocol (V1.0 Feb 2017) is
* **LWM2M** OMA Lightweight Machine-to-Machine Protocol
(`LwM2M specification 1.0.2`_) is
supported via the "Register Device" API (Register, De-Register and Update)
and has template implementations for Security, Server, Device Management and
Firmware objects. Bootstrap support is currently not supported.
:ref:`lwm2m-client-sample` implements the library as an example.
* **DNS** Domain Name Service (RFC 1035) client functionality is supported.
* **DNS** Domain Name Service
(`RFC 1035 <https://tools.ietf.org/html/rfc1035>`_) client functionality
is supported.
Applications can use the DNS API to query domain name information or IP
addresses from the DNS server. Both IPv4 (A) and IPv6 (AAAA) records can
be queried.
Both multicast DNS (mDNS) (`RFC 6762 <https://tools.ietf.org/html/rfc6762>`_)
and link-local multicast name resolution
(LLMNR) (`RFC 4795 <https://tools.ietf.org/html/rfc4795>`_) are supported.
* **Network Management API.** Applications can use network management API to
listen management events generated by core stack when for example IP address
@ -94,20 +110,20 @@ can be disabled if not needed.
application data when it is sent to the network.
* **Virtual LAN support.** Virtual LANs (VLANs) allow partitioning of physical
ethernet networks into logical networks. See :ref:`vlan_interface` for more
details.
ethernet networks into logical networks.
See :ref:`VLAN support <vlan_interface>` for more details.
* **Network traffic classification.** The sent and received network packets can
be prioritized depending on application needs.
See :ref:`traffic-class-support` for more details.
See :ref:`traffic classification <traffic-class-support>` for more details.
* **Time Sensitive Networking.** The gPTP (generalized Precision Time Protocol)
is supported. See :ref:`gptp_interface` for more details.
is supported. See :ref:`gPTP support <gptp_interface>` for more details.
* **Network shell.** The network shell provides helpers for figuring out
network status, enabling/disabling features, and issuing commands like ping
or DNS resolving. The net-shell is useful when developing network software.
See :ref:`net_shell` for more details.
See :ref:`network shell <net_shell>` for more details.
Additionally these network technologies (link layers) are supported in
Zephyr OS v1.7 and later:
@ -147,3 +163,6 @@ The networking stack source code tree is organized as follows:
Test applications. These applications are used to verify the
functionality of the IP stack, but are not the best
source for sample code (see ``samples/net`` instead).
.. _LwM2M specification 1.0.2:
http://openmobilealliance.org/release/LightweightM2M/V1_0_2-20180209-A/OMA-TS-LightweightM2M-V1_0_2-20180209-A.pdf