networkmanager概述

/*********************************************************************
 * Author  : Samson
 * Date    : 11/24/2014
 * Test platform:
 *              3.13.0-24-generic
 *              GNU bash, 4.3.11(1)-release 
 * *******************************************************************/

红帽(Red Hat)在2004年发起NetworkManager项目,该项目的目的是让linux用户能名更容易的应对现在网络管理的需求,尤其是无线网络的管理。NetworkManager采取了一种取巧的方法,当某连接不可用或在无线网络上漫游,它会尝试选择目前可用的连接中最好的进行连接。它优先使用以太网类型的连接,然后使用“已知“的无线网络,最后才使用有SSID但用户未尝连接过的无线网络。当连接WEP或WPA时用户会被提示输入密钥。


NetworkManager项目也是最初的主流Linux桌面的组件,大量的使用了D-Bus和HAL,但在2009年6月以后,NetworkManager不再使用HAL。

NetworkManager有两个组件:
(1)、后台服务进程用来管理连接并汇报连接变化,主要实现在系统启动与关闭时对网络设备的探测、启动、关闭、对各种网络设备的底层接口的封装等工作。
(2)、图形桌面小程序,允许用户管理网络连接。nmcli小程序提供可以在命令行下使用的相似功能。

这两个组件被开发者设计的很灵活,小程序(applet)可以在支持自由桌面系统拖盘协议(Freedesktop.org System Tray Protocol)的桌面上使用,包括 GNOME, KDE Plasma 工作区, Enlightenment (window 管理器) and Xfce。由于组件间借助于D-Bus来通信,应用程序按“link-aware”来编写,你也可以完全代替现有的小程序。一个例子是KNetworkManager,一个由SUSE开发的KDE 3的前端。

各种前端用户接口

    NetworkManagement: 在KDE SC 4环境下提供plasma前端。
    KNetworkManager: 由Novell开发的KDE 3前端,现在已经不维护了,只有企业版的SUSE在用了。
    nm-applet: GNOME环境下的小程序(applet)。
    nmcli: 命令行接口 (2010添加的功能,如2010年5月发布的 Fedora 13 Alpha版)。
    cnetworkmanager: NetworkManager的命令行接口.
    nm-tool:查看当前Networkmanager的状态信息
    nm-connection-editor:设置网络连接的一个界面工具


Ref:

https://wiki.gnome.org/Projects/NetworkManager

http://blog.csdn.net/libincharles/article/details/8133561

http://en.wikipedia.org/wiki/NetworkManager

https://developer.gnome.org/NetworkManager/0.9/spec.html

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。