2.6.15.5内核配置选项(Kernel Box) 完全手册

声明:本文内容集合了网上多篇文章的解释,也有英文的资料引用,在这就不一一列举出处了。

 

(因为实验室现有开发都还是基于2.4的内核,主机还是RH 9,于是就先来分析分析2.4.20-8)

忘了自己的系统已经把/usr/src/linux的链接指到了linux-2.6.15!结果原想分析2.4.20-8却成了分析2.6.15.5。

嗨...

 

 主目录

  Code maturity level options  --->代码成熟度选项
  General setup  --->常规设置

  Loadable module support  --->可加载模块支持
  Block layer  --->块设备层 

  Processor type and features  --->处理器类型及特性
  Power management options (ACPI, APM)  --->电源管理选项 
  Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->总线选项
  Executable file formats  --->可执行文件格式
  Networking  --->网络
  Device Drivers  --->设备驱动程序
  File systems  --->文件系统
  Instrumentation Support  --->分析支持
  Kernel hacking  --->内核hack选项
  Security options  --->安全选项
  Cryptographic options  --->加密选项
  Library routines  --->库子程序
                       ---                                       
  Load an Alternate Configuration File载入备选的配置文件
  Save Configuration to an Alternate File保存配置为备选文件

-----------------------

  Code maturity level options  --->代码成熟度选项

  [*] Prompt for development and/or incomplete code/drivers 

    出现开尚在发中或者不完全的代码/驱动这个选项会让内核配置多出很多选项,由于我们需要使用一些正在开发中的功能,因此必需打开这一选项。 
  [*] Select only drivers expected to compile cleanly

     选择这个选项你不会看到一些已知的存在问题的驱动程序选项,默认的情况下也是选择的。

    但如果你有设备没有找到驱动选项,你可以将这一项去掉,或许就可以找到相关驱动了,不过它可能是有BUG的。

------------------------------

  General setup  --->常规设置

 () Local version - append to kernel release 
   内核显示的版本信息 可以把自己的名字写在里面哦
   按回车 填入 64字符以内的字符串,你在这里填上的字符口串可以用uname -a命令看到。

 [*] Automatically append version information to the version string

   自动在版本字符串后面添加版本信息,编译时需要有perl以及git仓库支持

 [*] Support for paging of anonymous memory (swap) 
   使用交换分区或交换文件来做为虚拟内存,一定要选上
 [*] System V IPC
   表示系统的进程间通信Inter Process Communication,它用于处理器在程序之间同步和交换信息,如果不选这项,很多程序运行不起来,必选。
 [*] POSIX Message Queues
   POSIX标准的消息队列,它同样是一种IPC。建议你最好将它选上
 [*] BSD Process Accounting
   用户进程访问内核时将进程信息写入文件中。通常主要包括进程的创建时间/创建者/内存占用等信息。建议最好选上。
[*] BSD Process Accounting version 3 file format

   使用新的第三版文件格式,可以包含每个进程的PID和其父进程的PID,但是不兼容老版本的文件格式。
[*] Sysctl support
   这个选项能不重新编译内核修改内核的某些参数和变量,如果你也选择了支持/proc,将能从/proc/sys存取可以影响内核的参数或变量。建议你最好将它选上。

    此项功能可在不重新编译内核或是重新开机的前提下,动态变更某些特定的内核参数和变量,赋予内核较大的弹性。除非内存太少或是编译出来的内核是给安装、救援磁盘所使用,否则这个选项一定要选上。这将提供一个接口让你可以动态的更改一些核心参数与变量,而不需要重新启动系统。打开这个选项将会增加内核的体积至少8KB。如果你的内核仅用制作安装与恢复系统系统盘那么可以不选,以减少对内存的占用。
[ ] Auditing support
   审记支持,用于和内核的某些子模块同时工作,例如Security Enhanced Linux。只有选择此项及它的子项,才能调用有关审记的系统调用。

    Enable system-call auditing support
     支持对系统调用的审计

--- Support for hot-pluggable devices  

   支持热插拔设备,已经成为必选

[ ] Kernel .config support

   把内核的配置信息编译进内核中,以后可以通过scripts/extract-ikconfig脚本来提取这些信息

 ()Initramfs source file(s)

   initrd已经被initramfs取代,建议不填。参看ramdisk与 initrd、initramfs的关系

[*]Optimize for size (Look out for broken compilers!)

   编译时优化内核尺寸(使用"-Os"而不是"-O2"参数编译),有时会产生错误的二进制代码

[*]Configure standard kernel features (for small systems)-->

   这是为了编译某些特殊用途的内核使用的,例如引导盘系统。通常你可以不选择这一选项,你也不用对它下面的子项操心了。 

        Load all symbols for debugging/kksymoops

      装载所有的调试符号表信息,仅供调试时选择。建议不选

   Include all symbols in kallsyms

      kallsyms是在调试中用到的列出non-stack变量的命令。在kallsyms中包含内核知道的所有符号,内核将会增大300K 。不选

   Do an extra kallsyms pass

     除非你在kallsyms中发现了bug并需要报告这个bug才打开该选项。不选。

   Enable support for printk
     允许内核向终端打印字符信息,在需要诊断内核为什么不能运行时选择
   BUG() support 
     显示故障和失败条件(BUG和WARN),禁用它将可能导致隐含的错误被忽略。

   Enable full-sized data structures for core
     在内核中使用全尺寸的数据结构.禁用它将使得某些内核的数据结构减小以节约内存,但是将会降低性能。
   Enable futex support
     快速用户空间互斥体可以使线程串行化以避免竞态条件,也提高了响应速度.禁用它将导致内核不能正确的运行基于glibc的程序
   Enable eventpoll support
     支持事件轮循的系统调用
   Use full shmem filesystem
     启用shmem支持.shmem是基于共享内存的文件系统(可能用到swap),在启用TMPFS后可以挂载为tmpfs供用户空间使用,它比简单的ramfs先进许多

  (0) Function alignment
 (0) Label alignment
 (0) Loop alignment
  (0)Jump alignment

     这些选项表示内核代码在编译时内存中的对齐方式,0表示编译器的默认方式。使用内存对齐能提高程序的运行速度,但是会增加程序对内存的使用量。建议不做修改。

-----------------------

Loadable module support  --->可加载模块支持

 [*]Enable loadable module support
    打开可加载模块支持,如果打开它则必须通过"make modules_install"把内核模块安装在/lib/modules/中
 [*]Module unloading
    允许卸载已经加载的模块
 [ ]Forced module unloading
    允许强制卸载正在使用中的模块(比较危险)
 [*]Module versioning support 
    允许使用其他内核版本的模块(可能会出问题)
 [ ]Source checksum for all modules
    这个功能是为了防止更改了内核模块的代码但忘记更改版本号而造成版本冲突。我估计现在没有哪家公司在开发中还没使用版本控制工具,所以不需要这项了。所有的模块校验源码,如果你不是自己编写内核模块就不需要它。

 [*]Automatic kernel module loading
    让内核通过运行modprobe来自动加载所需要的模块,比如可以自动解决模块的依赖关系。

 

-----------------------

  Block layer  --->块设备层 
 
[ ]Support for Large Block Devices
    仅在使用大于2TB的块设备时需要,你的硬盘有这么大吗?
  IO Schedulers --->
   IO调度器 
    
<*>Anticipatory I/O scheduler 
      假设一个块设备只有一个物理查找磁头(例如一个单独的SATA硬盘),将多个随机的小写入流合并成一个大写入流,用写入延时换取最大的写入吞吐量.适用于大多数环境,特别是写入较多的环境(比如文件服务器) 
   
<*>Deadline I/O scheduler 
      使用轮询的调度器,简洁小巧,提供了最小的读取延迟和尚佳的吞吐量,特别适合于读取较多的环境(比如数据库)
  
 <*>CFQ I/O scheduler
      使用QoS策略为所有任务分配等量的带宽,避免进程被饿死并实现了较低的延迟,可以认为是上述两种调度器的折中.适用于有大量进程的多用户系统
  
 Default I/O scheduler
      默认IO调度器

 

 -----------------------

  Processor type and features  --->处理器类型及特性
  []Subarchitecture Type (PC-compatible)  --->   
    这选项的主要的目的,是使Linux可以支持多种PC标准,一般我们使用的PC机是遵循所谓IBM兼容结构(pc/at)。这个选项可以让你选择一些其它架构.

  []Processor family (Pentium-Pro)

    选择处理器型号。

  [ ] Generic x86 support
    这一选项针对x86系列的CPU使用更多的常规优化。如果你在上面一项选的是i386、i586之类的才选这个
 
 [*] HPET Timer Support
    HPET是替代8254芯片的下一代时钟处理器。这里你可以安全的选上这一选项。如果硬件不支持的话,将仍使用8254时钟处理器
  [*] Symmetric multi-processing support
     对称多处理器支持,在单CPU的机器上,不选这个选项会更快一些。由于超线程技术,看起来是两颗CPU,因些要选上这个选项
   Preemption Model (Preemptible Kernel (Low-Latency Desktop))  --->

抢占式的工作机制,2.4没什么作用。到2.6有大的进展

     No Forced Preemption (Server)
     适合服务器环境的禁止内核抢占
    
 Voluntary Kernel Preemption (Desktop)
     适合普通桌面环境的自愿内核抢占
    
 Preemptible Kernel (Low-Latency Desktop)
     合运行实时程序的主动内核抢占

  [*]Preempt The Big Kernel Lock
    可以抢占大内核锁,应用于实时要求高的场合,不适合服务器环境
  [ ]Local APIC support on uniprocessors
    表示处理器中是否有高级可编程中断控制器APIC
  
[*]Machine Check Exception
    让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等)
  <>Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
    每5秒检测一次这些cpu的非致命错误并纠正它们,同时记入日志
  < > Toshiba Laptop support
  < > Dell laptop support
  [ ] Enable X86 board specific fixups for reboot
    这将打开芯片或者主板上的重启修复功能 ,从而能够使之正常工作。这功能仅仅在一些硬件和BIOS的特定组合上需要。需要这项功能的征兆是重启时使系统卡死或者挂起。
  
< > /dev/cpu/microcode - Intel IA32 CPU microcode support
   是否支持Intel IA32架构的CPU。这个选项将让你可以更新Intel IA32系列处理器的微代码,显然你需要到网上去下载最新的代码,LINUX不提供这些代码。当然你还必须在文件系统选项中选择/dev file system support才能正常的使用它。如果你把它译为模块 ,它将是 microcode。
IA32主要用于高于4GB的内存。详见下面的“高内存选项”。
 
 < > /dev/cpucpuid - CPU information support
是否打开记录CPU相关信息功能。能从/dev/cpu/x/cpuid获得CPU的唯一标识符(CPUID) 这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。
  
[ ]Firmware Drivers
   固件驱动程序 
     
BIOS Enhanced Disk Drive calls determine boot disk 
       有些BIOS支持从某块特定的硬盘启动(如果BIOS不支持则可能无法启动),目前大多数BIOS还不支持 
     
BIOS update support for DELL systems via sysfs 
       仅适用于DELL机器 
     Dell Systems Management Base Driver 
       仅适用于DELL机器
  
 []High Memory Support--4G
     最高内存支持,总内存小于等于1G的选"off",1G到4G选"4G",大于4G的选"64G"
  
 Memory model (Flat Memory)  --->
     指定Linux的内存管理方式,只有一个选项
  []Allocate 3rd-level pagetables from highmem
     在内存很多(大于4G)的机器上将用户空间的页表放到高位内存区,以节约宝贵的低端内存
  []Math emulation
     数学协处理器仿真,486DX以上的cpu就不要选它了
  [*]MTRR (Memory Type Range Register) support
     打开它可以提升PCI/AGP总线上的显卡2倍以上的速度,并且可以修正某些BIOS错误 
  [ ]Use register arguments (EXPERIMENTAL)
     使用"-mregparm=3"参数编译内核,将前3个参数以寄存器方式进行参数调用,可以生成更紧凑和高效的代码.
  
[ ]Enable seccomp to safely compute untrusted bytecode (SECCOMP)
     允许SECCOMP(快速计算)安全地运算非信任代码。
     这个内核特性在程序出现数码错误,需要重新对非信任的代码进行运算时非常有效。它使用管道或者其他传输方式,使文件描述进程支持读/写的系统调用,这样可以利用SECCOMP隔离那些程序本身的空间。
    一旦 seccomp 通过/proc/<pid>/seccomp运行,它将不能停止,任务也只能进行一些安全的被seccomp认证的系统调用。
    如果不清楚,选Y。只有嵌入式系统选N。
  Timer frequency (250 HZ)  --->

    这是用户定义的时钟中断频率 100HZ-1000 HZ ,不过 100 HZ 对服务器和NUMA系统更合适,它们不需要很快速的响应用户的要求,因为时钟中断会导致总线争用和缓冲打回。注意在SMP环境中,时钟中断由变量NR_CPUS * Hz定义在每个CPU产生。
其实和前面的抢先式进程差不多,就是多少频率来响应用户要求。我选了250HZ的。要快点的可以选1000HZ的。但是还是那句话,一切是平衡的。机器过快响应你,它自己的活就不知道做得好不好了。
 
   100 HZ (HZ_100)
      100 HZ是传统的对服务器、SMP 和 NUMA的系统选项。这些系统有比较多的处理器,可以在中断较集中的时候分担中断
 
   250 HZ (HZ_250)
     250 HZ对服务器是一个好的折衷的选项,它同样在SMP 和 NUMA 系统上体现出良好的反应速度。
 
   1000 HZ (HZ_1000)
     1000 HZ对于桌面和其他需要快速事件反应的系统是非常棒的。
  [ ]kexec system call
   提供kexec系统调用,可以不必重启而切换到另一个内核 ,不要选。

-----------------------------

  Power management options (ACPI, APM)  --->电源管理选项 

  [*]Power Management support
    电源管理有APM和ACPI两种标准且不能同时使用.即使关闭该选项,X86上运行的Linux也会在空闲时发出HLT指令将CPU进入睡眠状态
  [*]Legacy Power Management API
    传统的电源管理API,比如软关机和系统休眠等接口

  []Power Management Debug Support
    仅供调试使用 不选
  []Software Suspend
    类似于休眠的功能,挂起系统,保存程序,切断电源
  []ACPI (Advanced Configuration and Power Interface) Support -->
   必须运行acpid守护程序ACPI才能起作用.ACPI是为了取代APM而设计的,因此应该尽量使用ACPI而不是APM 
  APM (Advanced Power Management) BIOS Support --->

     <*>APM (Advanced Power Management) BIOS Support --->
   APM在SMP(Symmetric Multi Processing 对称多处理系统)机器上必须关闭,一般来说当前的笔记本都支持ACPI,所以应尽量关闭该该选项 
     [ ]Ignore USER SUSPEND
      只有NEC Versa M系列的笔记本才需要选择这一项
     [ ]Enable PM at boot time          

      系统启动时即启用APM,选上这个选项能让系统自动的进行电源管理,但常常导致启动时死机 
     [*]Make CPU Idle calls when idle
      系统空闲时调用空闲指令(halt),只有老式的CPU才需要选它,且对于SMP系统必须关闭
     [ ]Enable console blanking using APM
      在屏幕空白时关闭LCD背光,事实上对所有的笔记本都无效
     [*]RTC stores time in GMT
      将硬件时钟应该设为格林威治时间,否则视为本地时间.建议你使用GMT,这样你无须为时区的改变而担心
     ]Allow interrupts during APM BIOS calls
      允许APM的BIOS调用时中断,IBM Thinkpad的一些新机器需要这项.如果休眠时挂机(包括睡下去就醒不来),可以试试它
     [ ]Use real mode APM BIOS call to power off
      此驱动为某些有Bug的BIOS准备,如果你的系统不能正常关机或关机时崩溃,可以试试它
  CPU Frequency scaling --->
     [ ]CPU Frequency scaling
      允许动态改变CPU主频,达到省电和降温的目的,必须同时启用下面的一种governor才行.一般不选。

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->总线选项

[*]PCI support
   PCI支持,如果使用了PCI或PCI Express设备就必选
PCI access mode --->
    PCI访问模式,强列建议选"Any"(系统将优先使用"MMConfig",然后使用"BIOS",最后使用"Direct"检测PCI设备)
[ ]PCI Express support
    PCI Express支持(目前主要用于显卡和千兆网卡)
[ ]Legacy /proc/pci interface
    是否使用/proc/pci目录下的信息文件来描述PCI设备的信息。现在的系统多数都使用lspci工具来得到这样的信息。
[ ]PCI Debugging
    将PCI调试信息输出到系统日志里
[ ]ISA support
    现在基本上没有ISA的设备了,如果有就选吧
[ ]EISA support
    扩展ISA总路,早期计算机上的总路,现已淘汰,建议关闭。
[ ]Vesa Local Bus priming
    ESA总线,也是扩展工业总线的一种,已经被PCI代替,所以不用选择
[ ]Generic PCI/EISA bridge
    PCI、EISA两种总线的桥
[ ]EISA virtual root device
    EISA总线的虚拟根设备
[ ]EISA device name database
  内核中的EISA设备信息库
[ ]MCA support
    IBM PS/2上的总线,现已淘汰,建议关闭。微通道总线,老旧的IBM的台式机和笔记本上可能会有这种总线,包括它的p系列、e系列、z系列机器上都用到了这种总线
[ ]NatSemi SCx200 support
    松下的一种半导体处理器的驱动。
PCCARD (PCMCIA/CardBus) support--->
   [ ]PCCARD (PCMCIA/CardBus) support
       一般只有笔记本电脑上才会有PCMCIA插槽,如果你是台式机的话,可以不选这一项,然后跳过这一部份。我的IBM机器是办公用的,经常会临时接一些乱七八糟的设备。我自己都不知道哪些设备需要什么模块。所以这里我都搞成模块,免得以后接上用不了,又得切换到XP下。
PCI Hotplug Support--->
   [ ]PCI Hotplug Support
     PCI热插拔支持.到2.6会出很多子项

 

----------------------------------------

 Executable file formats  --->可执行文件格式
 [*]Kernel support for ELF binaries
   ELF是开放平台下最常用的二进制文件格式,支持动态连接,支持不同的硬件平台.除非你知道自己在做什么,否则必选
 <M> Kernel support for a.out and ECOFF binaries
   早期UNIX系统的可执行文件格式,目前已经被ELF格式取代
 <M> Kernel support for MISC binaries
   允许插入二进制的封装层到内核中,使用Java,.NET,Python,Lisp等语言编写的程序时需要它,要使用 binfmt_misc 你可能需要挂载它:

 

-----------------------------------

 Networking  --->网络
  --- Networking support

   必选
 Networking options  --->   
  
 <*>Packet socket
     这种Socket可以让应用程序(比如tcpdump,iptables)直接与网络设备通讯,而不通过内核中的其它中介协议
 
 [*]Packet socket: mmapped IO
     让Packet socket驱动程序使用IO映射机制以使连接速度更快
 
 <*>Unix domain sockets
     一种仅运行于本机上的效率高于TCP/IP的Socket,简称Unix socket.许多程序都使用它在操作系统内部进行进程间通信(IPC),比如X Window和syslog
 
 <*>PF_KEY sockets
用于可信任的密钥管理程序和操作系统内核内部的密钥管理进行通信,IPsec依赖于它
  [*]TCP/IP networking 
  TCP/IP协议当然要选
 
 [*]IP: multicasting
群组广播,似乎与网格计算有关,仅在使用MBONE的时候才需要
 
 [*]IP: advanced router
高级路由,如果想做一个路由器就选吧
 
 [*]IP: policy routing
策略路由
 
 [*]IP: equal cost multipath
用于路由的基于目的地址的负载均衡
 
 [*]IP: verbose route monitoring
显示冗余的路由监控信息
 
 <M>IP: kernel level autoconfiguration
在内核启动时自动配置ip地址/路由表等,需要从网络启动的无盘工作站才需要这个东西
 
 [*]IP: GRE tunnels over IP
基于IP的GRE(通用路由封装)隧道
 
 [*]IP: multicast routing
多重传播路由
 
 [*]IP: PIM-SM version 1 support
  [*]IP: PIM-SM version 2 support
 
 [ ]IP: ARP daemon support
 ARP的守护,这东西尚处于试验阶段就已经被废弃了
 
 [*]IP: TCP syncookie support
 抵抗SYN flood攻击的好东西,要启用它必须同时启用/proc文件系统和"Sysctl support",然后在系统启动并挂载了/proc之后执行"echo 1 >/proc/sys/net/ipv4/tcp_syncookies"命令
 
 < >IP: AH transformation
 IPsec验证头(AH)实现了数据发送方的验证处理,可确保数据既对于未经验证的站点不可用也不能在路由过程中更改
 
 < >IP: ESP transformation
 IPsec封闭安全负载(ESP)实现了发送方的验证处理和数据加密处理,用以确保数据不会被拦截/查看或复制
 
 < >IP: IPComp transformation
  [  ]IP: tunnel transformation
  隧道传输
 
 <*>NET: socket monitoring interface
  socket监视接口,一些Linux本地工具(如:包含ss的iproute2)需要使用它
  [  ]TCP: advanced congestion control
   高级拥塞控制,如果没有特殊需求(比如无线网络)就别选了,内核会自动将默认的拥塞控制为"Cubic"并将"Reno"作为候补
   IP: Virtual Server Configuration --->
   IP虚拟服务器允许你基于多台物理机器构建一台高性能的虚拟服务器,不玩集群就别选了
   <M>   The IPv6 protocol
    你要是需要IPv6就选吧
 [ ]     IPv6: Privacy Extensions (RFC 3041) support
  < >     IPv6: AH transformation
  < >     IPv6: ESP transformation
  < >     IPv6: IPComp transformation
  < >     IPv6: tunnel transformation
  < >     IPv6: IPv6-in-IPv6 tunnel
   不用IPv6就都不用选
  [*]Network packet filtering (replaces ipchains)--->
  Netfilter可以对数据包进行过滤和修改,可以作为防火墙("packet filter"或"proxy-based")或网关(NAT)或代理(proxy)或网桥使用.选中此选
项后必须将"Fast switching"关闭,否则将前功尽弃
     []Network packet filtering debugging
          仅供开发者调试Netfilter使用
    
 [*]Bridged IP/ARP packets filtering
         如果你希望使用一个针对桥接的防火墙就打开它
    
 Core Netfilter Configuration  --->
          核心Netfilter配置(当包流过Chain时如果match某个规则那么将由该规则的target来处理,否则将由同一个Chain中的下一个规则进
行匹配,若不match所有规则那么最终将由该Chain的policy进行处理)
     Netfilter netlink interface --->
        <>Netfilter netlink interface

        允许Netfilter在与用户空间通信时使用新的netlink接口.netlink Socket是Linux用户态与内核态交流的主要方法之一,且越来越被重视
    
 IP: Netfilter Configuration --->
     
 针对IPv4的Netfilter配置  
        省略30项  里面常见协议还是要选成Module的

    
IPv6: Netfilter Configuration (EXPERIMENTAL)--->
      针对IPv6的Netfilter配置,不用选
   
 DECnet:Netfilter Configuration --->
       < > Routing message grabulator (for userland routing daemon)

        DEC设备的配置

    Bridge:Netfilter Configuration --->
       < > Ethernet Bridge tables (ebtables) support

       网桥表支持
   DCCP Configuration (EXPERIMENTAL)--->
     < > The DCCP Protocol (EXPERIMENTAL)
     数据报拥塞控制协议在UDP的基础上增加了流控和拥塞控制机制,使数据报协议能够更好地用于流媒体业务的传输
   SCTP Configuration  (EXPERIMENTAL)--->
     < > SCTP Configuration  (EXPERIMENTAL)
     流控制传输协议是一种新兴的传输层协议.TCP协议一次只能连接一个IP地址而在SCTP协议一次可以连接多个IP地址且可以自动平衡网络负载,一旦某一个IP地址失效会自动将网络负载转移到其他IP地址上
    <*>Asynchronous Transfer Mode (ATM)
     ATM是在局域网络或者广域网络上使用的一种高速网络传输技术,它使用固定的数据包,允许协调使用最小的带宽需求。如果想使用ATM网络,在你的Linux系统上,你必须有支持ATM的网卡,当然,需要的话,选上它,内核会启动对它的支持。
    <*>   Classical IP over ATM (EXPERIMENTAL)
     典型的基于ATM的IP协议
   [ ]     Do NOT send ICMP if no neighbour (EXPERIMENTAL)
   <M>   LAN Emulation (LANE) support (EXPERIMENTAL)
   <M>     Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)

   <M>   RFC1483/2684 Bridged protocols
   [*]     Per-VC IP filter kludge


    <M> 802.1d Ethernet Bridging
     802.1d以太网桥
     如果你开启了它,你的Linux就可以作为网桥使用。网那意味着,不同的网络段可以通过它互相访问。很多网桥在利用数结构算法的基础上,可以同时工作。因为它是一个标准协议,Linux可以和第三方的桥接产品一起工作。当然,为了能够使用这个功能,你就必须有配置工具,具体内容可以查看内核相关文档。如果你同时启用了iptables支持和桥接支持,那么你就可以将你的系统配置成桥接的IP防火墙。Iptables将会在传输IP数据包的时候观察它的内容,所以,你就得在配置你的防火墙规则的时候着中考虑这一点。如果开启了arptables支持,这样,网桥就会让arptables在arptalbes头链中观察ARP通信量。
    
 <M> 802.1Q VLAN Support
     802.1Q虚拟局域网 开启它,就会在你的网络接口上建立802.1Q VLAN接口。它几乎支持所有所有的网络接口特性,包括防火墙,网络桥,当然包括了IP传输。你得通过'vconfig'工具来有效的使用VLANS。
    <M> DECnet Support

     DECnet是一种很生僻的协议 DECnet网络协议是使用在Digital(now Compaq).它提供了可靠的流和序列包通信功能,这和在运行在TCP/IP的网络上有很多相似的地方。使用这个功能,你必须开启内核的其他功能,具体请查看内核配置文档。
    [*]   DECnet: router support (EXPERIMENTAL)
    [*]     DECnet: use FWMARK value as routing key (EXPERIMENTAL)
    <M> ANSI/IEEE 802.2 LLC type 2 Support
    这是第二种类型的逻辑链接层。如果你想支持PF_LLC sockets,那么就必须选上。
    <M> The IPX protocol
    这是用于支持Novell网络协议。IPX,在windows局域网中是经常使用的。如果你想访问Novell Netware文件,或者是使用ncpfs客户端协议的打印服务,或者是Linux DOS模拟器你就必须选上。IPX是在IP作用域范围内和IP相似,不过,SPX(顺序数据分组交换协议)是运行在IPX上的,相似于IPX。Linux中对SPX提供实验性的支持。如果你想使用NetWare文件服务或则是IPX路由器,那么你就得选择它,同时你还得安装lwared,mars_nwe。关于联接Linux, Windows, Macs机器,在 <
http://www.eats.com/linux_mac_win.html>上有相关内容。IPX协议会增大内核16KB,它可以被编译为名为ipx的模块。
   [ ]   IPX: Full internal IPX network
   <  > Appletalk protocol support

   [ ]   Appletalk interfaces support

   <  >     Apple/Farallon LocalTalk PC support

   <M>     COPS LocalTalk PC support
   [*]       Dayna firmware support
   [*]       Tangent firmware support

   <M>     Appletalk-IP driver support
   [*]       IP to Appletalk-IP Encapsulation support
   [*]       Appletalk-IP to IP Decapsulation support

    Appletalk是用于Apple机器间相互通讯的协议。如果你的Linux系统想要联接此种网络,那就选上。你可能需要 netatalk 软件包,这样的你Linux系统可以作为Macs机器的打印或者是文件服务器,就象在访问AppleTalk打印机一样。EtherTalk是在以太网上AppleTalk协议的名称,而LocalTalk是用于小型的慢速的通过串口传输的Apple私有网络。Linux对这两个功能提供万全的支持

   < > CCITT X.25 Packet Layer (EXPERIMENTAL)

    < >LAPB Data Link Driver
    大约没人需要这东西
    < >Acorn Econet/AUN protocols
    一种被Acorn计算机使用的又老又慢的协议
    < >WAN router
    广域网路由
    QoS and/or fair queueing --->
    如果你需要Qos或公平队列就选吧
    Network testing  --->
    网络测试,仅供调试使用
   [ ]Amateur Radio support
    业余无线电支持
   IrDA (infrared) subsystem support --->
    红外线支持,比如无线鼠标或无线键盘
   Bluetooth subsystem support --->
    蓝牙支持
   Generic IEEE 802.11 Networking Stack
    通用无线局域网(IEEE 802.11系列协议)支持

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值