NetworkManager历史

来源:互联网 发布:幼儿园大班美工作品 编辑:程序博客网 时间:2024/05/21 10:11
origin: https://en.wikipedia.org/wiki/NetworkManager

NetworkManager is a daemon that sits on top of libudev and other Linux kernel interfaces (and a couple of other daemons) and provides a high-level interface to network interface configuration and setup and is accessible viadbus to apps.

Contents

  • 1How it works
  • 2History
  • 3Software architecture
    • 3.1Graphical front-ends and command line interfaces
    • 3.2Mobile broadband configuration assistant
  • 4See also
  • 5References
  • 6External links

How it works

NetworkManager is a software utility that aims to simplify the use of computer networks on Linux-based and other Unix-like operating systems.

The device drivers for hardware network interfaces, are typically part of the operating system kernel.User space tools such as ifconfig orip (from the iproute2-bundle) are used to configure the addresses and other characteristics of these network interfaces. Traditionally, during the operating system startup process, programs such asSystem V init orsystemd have runshell scripts or other programs which configure the network interfaces based on fixed information from the host's configuration files.

However, dynamic configurations (i.e., not stored in a static configuration file but taken from outside the host, and potentially changing after boot) have been an increasingly more common configuration, especially as we've moved from physically large servers to more portable hosts that may be plugged and unplugged (or moved from WiFi hotspot to WiFi hotspot) at the will of the user.Bootp was an early protocol used for this, and to this day its descendant DHCP is still very common. Many Unix-like systems include a program called dhclient to handle this dynamic configuration.

Given a relatively static or simple dynamic configuration, static configuration modified bydhclient works well. However, as networks and their topologies get more complex, a central manager for all the network configuration information becomes more essential.

History

Red Hat initiated a NetworkManager project in 2004 with the goal of enabling Linux users to deal more easily with modern networking needs, particularlywireless networking. NetworkManager takes an opportunistic approach to network selection, attempting to use the best available connection as outages occur, or as the user roams between wireless networks. It prefersEthernet connections over “known” wireless networks, which are preferred over wireless networks withSSIDs to which the user has never connected. The user is prompted for WEP or WPA keys as needed.

The NetworkManager project was among the first major Linux desktop components to utilizeD-Bus andHAL extensively. Since June 2009, however, NetworkManager no longer depends on HAL, and since 0.9.10 (ca. 2014), neither does it require the D-Bus daemon to be running for root operation.[3]

Software architecture

NetworkManager has two components:

  1. the NetworkManager daemon, the actual software which manages connections and reports network changes
  2. several graphical front-ends for diverse surfaces, such as GNOME Shell, GNOME Panel, KDE Plasma Workspaces, Cinnamon, etc.

Both components are intended by the developers to be reasonably portable, and the applet is available todesktop environments which implement the Freedesktop.org System Tray Protocol,[4] 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.

Graphical front-ends and command line interfaces

  • nm-applet
    the GNOME applet for NetworkManager.
    nmcli
    built-in command-line interface (added in 2010)[5]
    nmtui
    built-in text-based user interface (incomplete).
    cnetworkmanager
    command-line interface for NetworkManager.[6]

Mobile broadband configuration assistant

Antti Kaijanmäki announced the development of a mobile broadband configuration assistant for NetworkManager in April 2008;[7] it became available in NetworkManager version 0.7.0. Together with the package mobile-broadband-provider-info the connection is easily configured.

See also

  • Free software portal
  • Linux on the desktop
  • BlueZ
  • GNOME Keyring Manager
  • UMTSMON[8]
  • usbserial
  • Wicd Network Manager written inPython
  • wicked tool and library provides a new, experimental framework for network configuration, GPLv2, created 2010-09-13
  • wpa_supplicant
  • wvdial
  • netifd a tiny daemon with the ability to listen on netlink events; does not requireD-Bus, does not depend onGLib, targets embedded devices
  • ConnMan - connection manager is a daemon for managing Internet connections within embedded devices
  • wifi-switcher simple frontend to command-line utilities (iwlist, ifup, ifdown, isc-dhcp-server, wpa_supplicant, hostapd). Automatically connects to available wireless networks according to priorities. Creates ad-hoc wireless hotspot with ftp server. To be used either withIceWM or in terminal via pdmenu.

References


  • https://download.gnome.org/sources/NetworkManager/1.6/NetworkManager-1.6.2.news

  • https://cgit.freedesktop.org/NetworkManager/NetworkManager/tag/?id=1.6.2

  • "We'll Build A Dream House Of Net". Blogs.gnome.org. Retrieved 2015-05-28.

  • Havoc Pennington <hp@redhat.com>."System Tray Protocol Specification". Standards.freedesktop.org. Retrieved2012-02-04.

  • "Initial pieces of nmcli, gitweb". Cgit.freedesktop.org. Retrieved2015-05-28.

  • "cnetworkmanager - Command Line Interface for NetworkManager". Vidner.net. Retrieved 2012-02-04.

  • "Announce on networkmanager-list". Mail.gnome.org. 2008-04-10. Retrieved 2012-02-04.

    1. "UMTSmon". Umtsmon.sourceforge.net. Retrieved 2012-02-04.

    External links

    • NetworkManager Homepage
    • Service Provider Database
    • NetworkManager in freedesktop.org
    • NetworkManager status on the freebsd-gnome mailing list
    • Original NetworkManager page at redhat.com via WaybackMachine
    • Introducing NetworkManager
    • Announcement of the first public release of NetworkManager
    • How to use a WiFi interface with NetworkManager

  • 0 0