戴文的Linux内核专题:13 配置内核(9)

Novell的网络协议IPX通常用于Windows系统和NetWare服务器(The IPX protocol)。IPX代表网间分组交换(Internetwork Packet Exchange)。这是一个网络层协议通常与传输层的SPX协议同时使用。

为了使NetWare服务器在服务的网络中有相同的IPX地址,启用下一个特性(IPX: Full internal IPX network)。不然,每个网络都会看到服务器一个不同的IPX地址。

注意:IPX协议使用IPX寻址,而不是IP寻址。IP地址不是计算机网络中唯一的网络地址。

对于在Apple网络中的Linux系统,需要启用Appletalk(Appletalk protocol support)。苹果计算机和苹果打印机通常使用Appletalk在网络间通信。Appletalk不需要一台中心路由器/服务器并且网络系统是即插即用的。

在Appletalk网络中Linux系统需要使用IP需要"Appletalk interfaces support"(AppleTalk接口支持)。

下一个特性允许用户在Appletalk中使用IP隧道(Appletalk-IP driver support)。

接下来,这个特性允许IP包被封装成Apppletalk帧(IP to Appletalk-IP Encapsulation support)。在网络中,帧是一种标记包的开始和结束的特殊序列位。这个特性会将IP包放在Appletalk包内部。

这个特性允许为先前的特性解包(Appletalk-IP to IP Decapsulation support)。解包器会将IP包从Appletalk包中拿出。

这是另外一个协议层称为"X.25" (CCITT X.25 Packet Layer)。这个协议层通常用于非常大的网络,就像国家公网。许多银行使用这个在他们的扩展网络系统里。X25(拼成"X25"或"X.25")网络拥有将进入数据包打包的包分组交换机。X25正在被更简单的IP协议代替。X25是一个不如TCP/IP有效率的旧协议,但是一些公司发现它在大型、复杂的网络中很有用。

LAPB是用于X.25的数据链路层(LAPB Data Link Driver)。如果上面的启用了,那么这也应该同时启用。LAPB代表的是"Link Access Procedure Balanced"(链路访问过程平衡)。LAPB同样也用于以太网和X.21网卡中(这里没有打错)。X.21是用于物理层(硬件),X.25用于网络层。LPAB会检查错误并确保包被放回正确的序列中。

Nokia调制解调器使用的电话网络协议通常称作"PhoNet"(Phonet protocols family)。Linux计算机远程控制Nokia电话机需要这个特性。

下一个网络通常是用于不同自动设备间的小型无线连接(IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support)。802.15.4是一种需要很少电量的简单低数据率协议。这个无线协议最大可扩展到10米。这在通过无线网络连接机器人传感器时是很有用的。任何不该有线缆的机械可能都会从这个代替了绳子的本地无线网络中获益。

如果启用了上面的特性,那么最好明智地启用这个IPv6 压缩特性(6lowpan support over IEEE 802.15.4)。

支持物理层 IEEE 802.15.4协议的SoftMac设备可以启用这个特性(Generic IEEE 802.15.4 Soft Networking Stack (mac802154))。

当有许多包需要传输时,内核必须决定先发送哪一个(它们不能一次全部发送),所以这个特性帮助内核区分包的优先级(QoS and/or fair queuing)。如果不启用这个,那么内核会使用"first come, first serve approach"("谁先到,谁先服务")。这可能意味着紧急的网络消息需要等待才能轮到它们传输。

在有数据中心服务器的网络中,这个特性强烈建议启用(Data Center Bridging support)。这个特性增强了以太网对数据中心网络的连接。

DNS查询可以在下一个选项中启用(DNS Resolver support)。大多数存储DNS缓存的系统允许计算机无需DNS服务器的辅助下执行DNS查询。

接下来是另一个用于多跳专用网状网络(B.A.T.M.A.N. Advanced Meshing Protocol)。"B.A.T.M.A.N."代表"better approach to mobile ad-hoc networking"(更好接入移动专用网络)。这个工作与有线和无线网络。专用网络没有中心像路由器这类中心设置。每台网络上的设备就像个一台路由器。网状网络是一个简单的概念。每个节点必须路由发送给它的数据。在这个网状网络中,每台计算机连接到全部或几乎全部其他网络设备。当这样的网络画在纸上成为一张地图时,这个网络看上去就像一张网。

当许多网状节点连接到相同的LAN和网时,一些网络信号可能会回环(Bridge Loop Avoidance)(避免桥回环)。这个特性可以避免此类的回环。这些回环可能永远不会结束或者降低性能。避免这样的回环被称为"Bridge Loop Avoidance (BLA)"。

分布式ARP表(Distributed ARP Tables (DAT))被用于增强ARP在稀疏无线网状网络的可靠性(Distributed ARP Table)。

BATMAN协议有些开发者需要用到的调式特性(B.A.T.M.A.N. Debugging)。对于任何调试特性,通常最好禁用它来节省空间以及得到一个更好优化后的内核。

虚拟化环境可以从"Open vSwitch"中得益。这是一个多层以太网交换机。Open vSwitch支持大量的协议。

虚拟机、hypervisor、主机之间的网络连接需要"virtual socket protocol"。这个类似于TCP/IP.这些套接字就像其他网络套接字,但是它们针对虚拟机。这允许客户机系统拥有一个与主机的网络连接。

这是一个可以管理网络优先级的cgroup子系统(Network priority cgroup)。这允许控制组(cgroup)根据发送应用设置网络流量优先级。

BPF过滤器由解释器处理,但是内核可以执行原生BPF过滤通过这个(enable BPF Just In Time compiler)。BPF代表的是"Berkeley Packet Filter"(伯克利报过滤器)。这允许计算机系统支持原生链路层包。

下面,我们有两个网络测试工具。第一个是"Packet Generator"(包生成器),这用于测试网络时注射数据包(制造空包)。第二个,允许设置一个警报系统,当数据包丢失时警告用户/系统(Network packet drop alerting service)。

Linux内核可以用于无线电系统或者远程控制它们。"Amateur Radio AX.25 Level 2 protocol"用于计算机通过无线电通信。这个无线电协议可以在其他许多的协议中支持TCP/IP。

为了放置在AX.25网络中冲突,启用DAMA(AX.25 DAMA Slave support)。至今为止,Linux还不能作为DAMA的服务器,但是可以作为DAMA的客户端。DAMA代表"Demand Assigned Multiple Access"(按需分配多址访问)。DAMA分配网络流量到特定的信道中去。

NET/ROM是AX.25的路由层。(Amateur Radio NET/ROM protocol)。

NET/ROM的一个替代是"Packet Layer Protocol (PLP)"(包层协议),它可以运行在AX.25的顶端(Amateur Radio X.25 PLP (Rose))。

控制器局域网络(Controller Area Network (CAN))总线需要这个驱动(CAN bus subsystem support)。CAN总线是一种用于不同目的的串行协议。

使用这个特性(Raw CAN Protocol (raw access with CAN-ID filtering)),CAN总线可以通过BSD套接字API访问

内核中有用于CAN协议的广播管理(Broadcast Manager CAN Protocol (with content filtering))。这个管理提供了很多控制,包括内容过滤。

为了让Linux盒子成为一个CAN路由器和/或者网关,需要这个特性(CAN Gateway/Router (with netlink configuration))。

注意:网关是两个或者更多网络的接口设备,它提供不同的协议。一个简单的定义可以是"网关是一个协议转换器。"

注意:路由器转发网络流量和连接使用相同协议网络。

如果启用了(一些选项),Linux内核可以支持很多CAN设备(主要是控制器)和接口。所有的CAN驱动都是对于这些设备的不同品牌和型号。在配置工具中,它们有以下这些标题。

  • Virtual Local CAN Interface (vcan)
  • Serial / USB serial CAN Adaptors (slcan)
  • Platform CAN drivers with Netlink support
  • Enable LED triggers for Netlink based drivers
  • Microchip MCP251x SPI CAN controllers
  • Janz VMOD-ICAN3 Intelligent CAN controller
  • Intel EG20T PCH CAN controller
  • Philips/NXP SJA1000 devices
  • Bosch CCAN/DCAN devices
  • Bosch CC770 and Intel AN82527 devices
  • CAN USB interfaces
  • Softing Gmbh CAN generic support
  • Softing Gmbh CAN pcmcia cards

像Linux中的其他许多特性,CAN设备同样可以启用调试能力(CAN devices debugging messages)。再说一次,记住你内核的目的,你需要调试还是需要性能?

Linux内核同样支持红外线信号协议IrDA (infrared) subsystem support)。IrDa代表的是 "Infrared Data Associations"(红外数据协会);这是红外信号的标准。

许多人如今想要蓝牙特性(Bluetooth subsystem support)。

RxRPC会话套接字可以启用(RxRPC session sockets)。这些套接字使用RxRPC协议运载网络连接。RxRPC运行于UDP的顶部。

如果启用的话,Linux内核可以支持"RxRPC dynamic debugging"(RxRPC 动态调试)。

RxRPC拥有kerberos 4和AFS kaserver安全特性可以启用(RxRPC Kerberos security)。Kerberos是一种每个网络设备在传输任何数据前都被需要证明彼此的身份的验证协议。

对于电脑的无线网络设备像Wifi,配置工具需要启用无线局域网(802.11)设备(cfg80211 - wireless configuration API)。cfg80211代表"Configuration 802.11"(配置 802.11)。802.11是一种无线规范。

"nl80211 testmode command"是用于校准并且/或验证的实用工具,它无线设备芯片上执行这些任务。

下一个设置允许用户"enable developer warnings"(启用开发者警告)对于cfg80211设备。

下面,"cfg80211 regulatory debugging"(cfg80211调控调试)可以启用。

下面的设定是"cfg80211 certification onus"(cfg80211证书义务)。

应该为cfg80211兼容设备启用省电特性(enable powersave by default)。

cfg80211支持debugfs入口(cfg80211 DebugFS entries)。

无线设备有它们遵守的调整规则;这些被存储在数据库中(use statically compiled regulatory rules database)(使用静态编译的调整规则数据库)

一些使用基于cfg80211的驱动扩展可能需要使用一个老的用户空间。这个特性允许这个行为(cfg80211 wireless extensions compatibility)(cfg80211 无线扩展兼容)。

lib80211可以提供调试特性(lib80211 debugging messages)。

独立于硬件的IEEE 802.11标准可以启用(Generic IEEE 802.11 Networking Stack (mac80211))。mac80211是一种用于编写softMAC无线设备驱动的框架。SoftMac允许很好地控制和配置设备。

下一个特性允许mac80211使用PID控制器管理TX(发送)速率(PID controller based rate control algorithm)(PID控制器基于速率控制算法)。TX单位是BFS(Bits per minute)(位/秒)。特别地,这个特性是用于控制数据流速率的算法。

另外一个相同特性的算法叫做"Minstrel"。这是一个比TX速率管理算法更精确和有效的算法。

Minstrel同样支持802.11n(Minstrel 802.11n support)。

由于有两种TX速率控制算法,但只能使用一种。所哟必须设备一个默认的(Default rate control algorithm (Minstrel))。通常地,最好选择Minstrel作为默认。

802.11s网状网络草案可以在内核中启用(Enable mac80211 mesh networking (pre-802.11s) support)。802.11s草案是网状网络的无线标准。

对于支持这个特性的设备,对于不同包流量时间的LED除法器特性可以启用(Enable LED triggers)。在我的以太网设备商上,当端口是活跃时LED灯会点亮。这些驱动可以是这些LED在包流量时间下工作。

mac80211同样支持debugfs特性(Export mac80211 internals in DebugFS)。

这是一个独立于典型日志系统收集mac80211调试信息的特性(Trace all mac80211 debug messages)。

这是另外一组mac80211调试特性,但是这些使用的是典型日志系统(Select mac80211 debugging features --->)。在这个菜单,选择你需要的调试特性。

在下一篇文章中,我们还有更多的需要配置。

原文发布时间为:2013-12-19

时间: 2024-10-11 07:23:28

戴文的Linux内核专题:13 配置内核(9)的相关文章

戴文的Linux内核专题:22 配置内核 (18)

戴文的Linux内核专题:22 配置内核 (18) 你好!准备好阅读下一篇文章了么?在本篇中,我们将会讨论辅助显示.辅助显示是一些小的LCD屏幕:大多数小于或等于128x64.接着,我们会讨论用户空间IO驱动,一些虚拟驱动,Hyper-V,开发中驱动,IOMMU,和其他一些内核特性. 第一个配置辅助显示的驱动是"KS0108 LCD Controller".KS0108 LCD Controller是由三星制造的图形控制器. 下面可以设置LCD并口地址(Parallel port wh

戴文的Linux内核专题:23 配置内核 (19)

戴文的Linux内核专题:23 配置内核 (19) 欢迎进入Linux内核系列文章的下一篇!我们正在接近配置过程的终点.在这篇文章中,我们将会讨论固件驱动和文件系统驱动. 这个分类中的第一个驱动是寻找启动盘(BIOS Enhanced Disk Drive calls determine boot disk).有时,Linux不会知道哪个盘是启动盘.这个驱动允许内核询问BIOS.Linux接着在sysfs上存储信息.Linux需要知道这些来设置bootloader. 即使BIOS EDD服务被编

戴文的Linux内核专题:26 配置内核 (22)

戴文的Linux内核专题:26 配置内核 (22) 你好!本篇我们将继续配置"kernel hacks",接着我们会配置整个安全系统. Alpha和s390处理器需要配置下一个特性(Force weak per-cpu definitions).这个特性修复了一个在这类处理器中普遍存在的寻址问题.其他的处理器无需启用这个特性. 内核转储可以用这个特殊的调试工具测试(Linux Kernel Dump Test Tool Module).这个软件会允许内核开发者触发一个假错误来导致内核转

戴文的Linux内核专题:16 配置内核 (12)

戴文的Linux内核专题:16 配置内核 (12) 欢迎来享受Linux内核配置系列下一部分.如你所猜到的那样,内核支持大量不同的硬件.协议和特性. 下一组我们要讨论的特性是"EEPROM support".电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory)是一种掉电或者意外关闭后不会擦除内容的存储器. 内核支持在I2C卡上的EEPROM芯片包括FRAMs.ROMs和SRAMs (I2C EEPROMs /

戴文的Linux内核专题:27 配置内核 (23)

戴文的Linux内核专题:27 配置内核 (23) 欢迎来到内核配置的下一章!本篇中我们会配置密码API,虚拟化和运行库.密码学指的是在需要的计算机之间加密和安全通信的科学.用户可能加密数据以保证是收件人而不是黑客收到数据. Linux内核需要在内核中启用"Cryptographic algorithm manager"(密码算法管理器).这个特性提供了操作内核的加密特性所需的软件. 当启用这个它,用户空间提供了配置加密特性(Userspace cryptographic algori

戴文的Linux内核专题:25 配置内核 (21)

戴文的Linux内核专题:25 配置内核 (21) 大家好!本篇我们将会配置Linux内核的网络文件系统支持.网络文件系统是一个可以通过网络远程访问计算机的远程文件系统. 首先,"NFS client support"驱动允许linux系统使用NFS网络文件系统.这里还有3个不同版本的NFS - (NFS client support for NFS version 2). (NFS client support for NFS version 3). (NFS client supp

戴文的Linux内核专题:05 配置内核 (1)

现在我们已经了解了内核,现在我们可以进入主要工作:配置并编译内核代码.配置内核代码并不会花费太长时间.配置工具会询问许多问题并且允许开发者配置内核的每个方面.如果你有不确定的问题或者特性,你最好使用配置工具提供的默认值.本系列教程会使读者逐步了解配置内核的整个过程. 配置代码前需要在源文件的文件夹内打开一个终端.当终端打开后,基于你喜好的配置界面,这里有几种不同的配置方法: make config - 纯文本界面 (最常用的选择). make menuconfig - 基于文本彩色菜单和单选列表

戴文的Linux内核专题:28 编译与安装

戴文的Linux内核专题:28 编译与安装 你好!在花费了大量的时间在配置你需要的内核后,你现在可以编译它了.源代码是纯文本形式的C代码.这对人来可读但是对机器可不是这样.编译会将代码转换成计算机可理解的一种称之为二进制码的形式(1是 [开],0 是 [关]).编译同样会将所有内核代码文件变成一个内核的文件. 为了编译内核,在内核源代码相同目录下,在终端内输入"make".这会花费一些时间.完成之后,必须通过"make modules"来编译模块.为了从一开始就简化

戴文的Linux内核专题:08 配置内核(4)

在这个第四部分里,我们将继续配置更多的设置和特性. 这里我们被问及关于"IBM Calgary IOMMU support (CALGARY_IOMMU)".这个选项将会提供对IBM xSeries x366和x460的IOMMU的支持.这也将让那些32位PCI的设备工作正常--在这些系统上不支持双地址周期(DAC : Double Address Cycle)--因为该系统设置在访问超过3GB内存的时候会有问题.如果需要这些IOMMU设备可以用"iommu=off"

戴文的Linux内核专题:07 配置内核 (3)

OK,我们还继续配置内核.还有更多功能等待着去配置. 下一个问题(Enable ELF core dumps (ELF_CORE))询问的是内核是否可以生成内核转储文件.这会使内核变大4KB.所以我选择了"no". 注意:内核转储文件(内存或者系统的转储)是程序崩溃前已记录的状态.内核转储是用来调试问题的.这个转储文件的格式是ELF(Executable and Linkable Format ). 下面可以启用PC扬声器(Enable PC-Speaker support (PCSP