NetworkManager

In case the configuration has to be changed, DHCP-protocol goes a long way to do so automatically, without the user even noticing.

Many Unix-like systems include a program called dhclient to handle this dynamic configuration.

[citation needed] NetworkManager has two components: Both components are intended by the developers to be reasonably portable, and the applet is available to desktop environments which implement the Freedesktop.org System Tray Protocol,[3] including GNOME, KDE Plasma Workspaces, Enlightenment (software) and Xfce.

As the components communicate via D-Bus, applications can be written to be “link-aware”, or to replace the provided applet entirely.

One example is KNetworkManager, a KDE frontend to NetworkManager developed by Novell for SUSE Linux.

The NetworkManager project was among the first major Linux desktop components to utilize D-Bus and HAL extensively.

Linux kernel: network device drivers and network stack. Utility programs are not depicted, they communicate through the SCI with the different components of the kernel.