Networking support
网络支持

Networking options

网络选项
Packet socket
CONFIG_PACKET
    链路层PF_PACKET套接字支持.可以让应用程序(比如:抓包工具tcpdump,
    DHCP客户端dhclient)直接与网络设备通讯,而无需使用内核中的其它中介协议.不确定的选"Y"或"M".
    Packet: sockets monitoring interface
    CONFIG_PACKET_DIAG
        PF_PACKET套接字监控接口,ss这样的诊断工具需要它.
Unix domain sockets
CONFIG_UNIX
    Unix domain sockets 支持.许多程序都使用它在操作系统内部进行进程间通信(IPC),
    比如: X Window, syslog, udev 等等.选"Y",除非你确实知道自己在做什么.
    UNIX: socket monitoring interface
    CONFIG_UNIX_DIAG
        UNIX套接字监控接口,ss这样的工具需要它.
Transformation user configuration interface
CONFIG_XFRM_USER
    为IPsec相关的工具提供Transformation(XFRM)用户配置接口
Transformation sub policy support
CONFIG_XFRM_SUB_POLICY
    XFRM子策略支持,不确定的选"N".
Transformation migrate database
CONFIG_XFRM_MIGRATE
    用于动态的更新 IPsec SA(security association) 的定位器(locator).
    这个特性对于手机这类移动设备来讲至关重要,
    因为它需要在不同的基站之间迁移.不确定的选"N".
Transformation statistics
CONFIG_XFRM_STATISTICS
    转换统计,这不是SNMP/MIB规范的内容.用于调试目的.不确定的选"N".
PF_KEY sockets
CONFIG_NET_KEY
    PF_KEYv2 套接字支持(与KAME兼容).PF_KEY协议族主要用来处理SA(安全关联),
    对SADB(SA数据库)进行管理,主要用在IPsec协议中.PF_KEY_v2的编程API在RFC2367中定义.
    PF_KEY MIGRATE
    CONFIG_NET_KEY_MIGRATE
        向PF_KEYv2套接字中添加一个 PF_KEY MIGRATE 消息. 、
        PF_KEY MIGRATE 消息可用于动态的更新 IPsec SA(security association) 的定位器(locator).
        这个特性对于手机这类移动设备来讲至关重要,因为它需要在不同的基站之间迁移.不确定的选"N".
SMC socket protocol family
    SMC套接字协议族
TCP/IP networking
CONFIG_INET
    TCP/IP协议,必选!
    IP: multicasting
    CONFIG_IP_MULTICAST
        IP组播(IP multicasting)支持.指的是一个发送者向一组特定的接收者发送数据,
        但只需发送一份数据副本.实际应用的场合很少,MBONE算是其中之一,
        与RTP等音视频协议相结合也算一种.不确定的选"N".
    IP: advanced router
    CONFIG_IP_ADVANCED_ROUTER
        高级路由支持,需要开启内核的IP转发功能(echo 1 > /proc/sys/net/ipv4/ip_forward)才能正常工作.
        如果这个Linux系统用作专业的路由器就选上,选上之后还需要按需选择其下的子项.一般的主机不需要这个.
        FIB TRIE statistics
        CONFIG_IP_FIB_TRIE_STATS
            主要用于测试TRIE性能
        IP: policy routing
        CONFIG_IP_MULTIPLE_TABLES
            策略路由
        IP: equal cost multipath
        CONFIG_IP_ROUTE_MULTIPATH
            用于基于目的地址的负载均衡
        IP: verbose route monitoring
        CONFIG_IP_ROUTE_VERBOSE
            显示冗余的路由监控信息
    IP: kernel level autoconfiguration
    CONFIG_IP_PNP
        在内核启动时自动配置网卡的ip地址/路由表,配置信息来自于以下途径:内核引导参数,
        自举协议(BOOTP),反向地址转换协议(RARP),动态主机配置协议(DHCP).通常,
        需要从网络启动的无盘工作站才需要这个东西(此时还需要开启CONFIG_ROOT_NFS),
        一般的发行版都通过启动脚本(dhcpcd/dhclient/ifconfig)配置网络.不确定的选"N".
        IP: DHCP support
        CONFIG_IP_PNP_DHCP
            DHCP协议支持
        IP: BOOTP support
        CONFIG_IP_PNP_BOOTP
            BOOTP协议支持
        IP: RARP support
        CONFIG_IP_PNP_RARP
            RARP协议支持
    IP: tunneling
    CONFIG_NET_IPIP
        IP隧道,主要目的是为了在TCP/IP网络中传输其他协议的数据包,当然也包括IP数据包(例如用于实现VPN).
    IP: GRE demultiplexer
    CONFIG_NET_IPGRE_DEMUX
        GRE demultiplexer 支持.被CONFIG_NET_IPGRE和CONFIG_PPTP所依赖.
    IP: GRE tunnels over IP
    CONFIG_NET_IPGRE
        基于IP的通用路由封装(Generic Routing Encapsulation)隧道支持.
        该驱动主要用于对端是Cisco路由器的场合,因为Cisco的路由器特别偏好GRE隧道
        (而不是CONFIG_NET_IPIP),并且GRE还允许通过隧道对组播进行再分发.
        IP: broadcast GRE over IP
        CONFIG_NET_IPGRE_BROADCAST
            GRE/IP的一种应用是构建一个广播WAN(Wide Area Network),
            而其看上去却很像一个跑在互联网上的LAN(Local Area Network).
            如果你想要创建这样的网络,那么就选"Y"(还要加上CONFIG_IP_MROUTE).
    IP: multicast routing
    CONFIG_IP_MROUTE
        组播路由支持.实际应用的场合很少,MBONE算是其中之一,不确定的选"N".
        IP: multicast policy routing
        CONFIG_IP_MROUTE_MULTIPLE_TABLES
            通常,组播路由器上会运行一个单独的用户态守护进程,根据源地址和目的地址来处理数据包.
            开启此项后,将能同时考虑数据包所带的标记(mark)和所通过的网络接口,
            并可在用户空间同时运行多个守护进程,每一个进程处理一张路由表.
        IP: PIM-SM version 1 support
        CONFIG_IP_PIMSM_V1
            Sparse Mode PIM (Protocol Independent Multicast) version 1 支持.
             该协议被Cisco路由器广泛支持,你需要特定的软件(pimd-v1)才能使用它.
        IP: PIM-SM version 2 support
        CONFIG_IP_PIMSM_V2
            Sparse Mode PIM (Protocol Independent Multicast) version 2 支持.
             该协议的使用并不广泛,你需要特定的软件(pimd 或 gated-5)才能使用它.
    IP: ARP daemon support
    CONFIG_ARPD
        通常情况下,内核自身会使用ARP协议解析本地网络中的IP地址与MAC地址的对应关系,
        并进行缓存.开启此项后,内核将使用用户空间的守护进程进行ARP解析.
        这主要是为了使用其他的替代解析协议(比如mGRE隧道中的NHRP),或调试目的.不确定的选"N".
    IP: TCP syncookie support
    CONFIG_SYN_COOKIES
        TCP syncookie 支持,这是抵抗SYN flood攻击的好东西.此特性的开关可以通过
        "/proc/sys/net/ipv4/tcp_syncookies"文件控制,写入"1"表示开启,写入"0"表示关闭.
        建议服务器环境开启此项.
    Virtual (secure) IP: tunneling
    CONFIG_NET_IPVTI
        虚拟IP隧道.可以和xfrm隧道一起使用,以实现IPSEC安全隧道,并在其上使用路由协议.不确定的选"N".
    IP: Foo (IP protocols) over UDP
        IP:Foo(IP协议)通过UDP
    IP: FOU encapsulation of IP tunnels
        IP:IP隧道的FOU封装
    IP: AH transformation
    CONFIG_INET_AH
        IPsec AH 支持.IPsec验证头(AH)可对整个数据包(IP报头与数据)提供身份验证/完整性/抗重播保护.
        但是它不提供保密性,即它不对数据进行加密.由于这个原因,AH头正在慢慢被ESP头取代.
    IP: ESP transformation
    CONFIG_INET_ESP
        IPsec ESP 支持.IPsec封装安全负载(ESP)不仅为IP负载提供身份验证/完整性/抗重播保护,还提供保密性,
        也就是还对数据进行加密.ESP有两种使用模式:传输模式(ESP不对整个数据包进行签名,
        只对IP负载(不含IP报头)进行保护)和隧道模式(将原始IP包封装进新的带有ESP头的IP包内,
        可提供完整的保护).ESP可以独立使用,也可与AH组合使用(越来越少).
        IP: ESP transformation offload
            IP:ESP转换卸载
    IP: IPComp transformation
    CONFIG_INET_IPCOMP
        IP静荷载压缩协议(IP Payload Compression Protocol)(RFC3173)支持.用于支持IPsec
    IP: IPsec transport mode
    CONFIG_INET_XFRM_MODE_TRANSPORT
        IPsec传输模式.常用于对等通信,用以提供内网安全.数据包经过了加密但IP头没有加密,
        因此任何标准设备或软件都可查看和使用IP头
    IP: IPsec tunnel mode
    CONFIG_INET_XFRM_MODE_TUNNEL
        IPsec隧道模式.用于提供外网安全(包括虚拟专用网络).整个数据包(数据头和负载)
        都已经过加密处理且分配有新的ESP头/IP头/验证尾,从而能够隐藏受保护站点的拓扑结构
    IP: IPsec BEET mode
    CONFIG_INET_XFRM_MODE_BEET
        IPsec BEET模式.
    Large Receive Offload (ipv4/tcp)
    CONFIG_INET_LRO
        LRO(Large Receive Offload) (ipv4/tcp) 支持.它通过将多个TCP数据整合在一个skb结构中,
        并在稍后的某个时刻作为一个大的数据包交付给上层的网络协议栈,
        以减少上层协议栈处理skb的开销,提高Linux系统接收TCP数据包的能力.
        目前,主流网卡驱动都已支持此特性.建议开启.不过,LRO不应该在路由器上开启,
        因为它破坏了end-to-end原则,并会对路由性能造成显著的不利影响.
    INET: socket monitoring interface
    CONFIG_INET_DIAG
        INET(TCP,DCCP,...) socket 监视接口,一些Linux本地工具(如:包含ss的iproute2)需要使用它
        UDP: socket monitoring interface
        CONFIG_INET_UDP_DIAG
            UDP socket 监视接口,一些Linux本地工具(如:包含ss的iproute2)需要使用它
        RAW: socket monitoring interface
            RAW:套接字监控接口
        INET: allow privileged process to administratively close sockets
            INET:允许特权进程以管理方式关闭套接字
    TCP: advanced congestion control
    CONFIG_TCP_CONG_ADVANCED
        高级拥塞控制,子项提供多种拥塞控制算法供选用.如果没有特殊需求就别选了,
        内核会自动将默认的拥塞控制设为"CUBIC"并将"new Reno"作为候补.
        仅在你确实知道自己需要的情况下选"Y".不确定的选"N".
    TCP: MD5 Signature Option support (RFC2385)
    CONFIG_TCP_MD5SIG
        RFC2385中描述了一种对TCP会话进行MD5签名的保护机制.
        目前仅用于保护互联网运营商骨干路由器间的BGP会话.一般的路由器/服务器等设备根本不需要这个.
    The IPv6 protocol
    CONFIG_IPV6
        引领未来的IPv6支持.
        IPv6: Privacy Extensions (RFC 3041) support
        CONFIG_IPV6_PRIVACY
            IPv6利用"Stateless Address Autoconfiguration"在无DHCP服务器的情况下,产生可用的"临时IPv6地址".
            而本选项则为这个机制增加"隐私扩展"(RFC4941)保护.默认状态下,
            内核并不生产"临时地址",需要"echo 2 >/proc/sys/net/ipv6/conf/all/use_tempaddr"才能开启
        IPv6: Router Preference (RFC 4191) support
        CONFIG_IPV6_ROUTER_PREF
            主机连上IPv6网络后,会发出路由器邀请包(Router Solicitation),
            路由器则应答路由器公告包(Router Advertisement),
            其中包含网关地址/IPv6前缀/DNS地址,这样主机就能取得IPv6地址,
            并连接到互联网上,这就是无状态地址自动分配
            (StateLess Address AutoConfiguration)."Router Preference"是"Router Advertisement"包的可选扩展.
            它可以改进主机选中路由器的能力,特别是在多归属(multi-homed)网络中.不确定的选"N".
            IPv6: Route Information (RFC 4191) support
            CONFIG_IPV6_ROUTE_INFO
                对"Route Information"的实验性支持.
        IPv6: Enable RFC 4429 Optimistic DAD
        CONFIG_IPV6_OPTIMISTIC_DAD
            乐观重复地址检测(Optimistic Duplicate Address Detection)的实验性支持.
            可以更快的进行自动地址配置.不确定的选"N".
        IPv6: AH transformation
        CONFIG_INET6_AH
            IPsec AH 支持.不确定的选"Y"或"M".AH头正在慢慢被ESP头取代.
        IPv6: ESP transformation
        CONFIG_INET6_ESP
            IPsec ESP 支持.不确定的选"Y"或"M".
            IPv6: ESP transformation offload
               IPv6:ESP转换卸载
        IPv6: IPComp transformation
        CONFIG_INET6_IPCOMP
            IPv6静荷载压缩协议(IP Payload Compression Protocol)(RFC3173)支持.
            用于支持IPsec.不确定的选"Y"或"M".
        IPv6: Mobility
        CONFIG_IPV6_MIP6
            移动IPv6(RFC3775)支持.主要用于移动设备.不确定的选"N".
        IPv6: Identifier Locator Addressing (ILA)
            IPv6:标识符定位器寻址(ILA)
        IPv6: IPsec transport mode
        CONFIG_INET6_XFRM_MODE_TRANSPORT
            IPsec传输模式.常用于对等通信,用以提供内网安全.
            数据包经过了加密但IP头没有加密,因此任何标准设备或软件都可查看和使用IP头.不确定的选"Y"或"M".
        IPv6: IPsec tunnel mode
        CONFIG_INET6_XFRM_MODE_TUNNEL
            IPsec隧道模式.用于提供外网安全(包括虚拟专用网络).
            整个数据包(数据头和负载)都已经过加密处理且分配有新的ESP头/IP头/验证尾,
            从而能够隐藏受保护站点的拓扑结构.不确定的选"Y"或"M".
        IPv6: IPsec BEET mode
        CONFIG_INET6_XFRM_MODE_BEET
            IPsec BEET模式.不确定的选"Y"或"M".
        IPv6: MIPv6 route optimization mode
        CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION
            移动IPv6(Mobile IPv6)路由优化模式.主要用于移动设备.不确定的选"N".
        Virtual (secure) IPv6: tunneling
            虚拟(安全)IPv6:隧道
        IPv6: IPv6-in-IPv4 tunnel (SIT driver)
        CONFIG_IPV6_SIT
            在IPv4网络上建立IPv6隧道.如果你希望可以通过IPv4网络接入一个IPv6网络,可以选"Y"或"M",否则选"N".
            IPv6: IPv6 Rapid Deployment (6RD)
            CONFIG_IPV6_SIT_6RD
                IPv6快速部署(6RD)支持.不确定的选"N".
        IPv6: IP-in-IPv6 tunnel (RFC2473)
        CONFIG_IPV6_TUNNEL
            IPv6-in-IPv6/IPv4-in-IPv6 隧道(RFC2473)支持.不确定的选"N".
        IPv6: GRE tunnel
        CONFIG_IPV6_GRE
            基于IPv6的通用路由封装(Generic Routing Encapsulation)隧道支持.
            该驱动主要用于对端是Cisco路由器的场合,
            因为Cisco的路由器特别偏好GRE隧道(而不是CONFIG_IPV6_TUNNEL),
            并且GRE还允许通过隧道对组播进行再分发.
        IPv6: Multiple Routing Tables
        CONFIG_IPV6_MULTIPLE_TABLES
            多重路由表(Multiple Routing Tables)支持.不确定的选"N".
            IIPv6: source address based routing
            CONFIG_IPV6_SUBTREES
                允许根据源地址或前缀进行路由.不确定的选"N".
        IPv6: multicast routing
        CONFIG_IPV6_MROUTE
            测试性的IPv6组播路由支持.实际应用的场合很少,不确定的选"N".
            IPv6: multicast policy routing
            CONFIG_IPV6_MROUTE_MULTIPLE_TABLES
                通常,组播路由器上会运行一个单独的用户态守护进程,根据源地址和目的地址来处理数据包.
                开启此项后,将能同时考虑数据包所带的标记(mark)和所通过的网络接口,
                并可在用户空间同时运行多个守护进程,每一个进程处理一张路由表.
            IPv6: PIM-SM version 2 support
            CONFIG_IPV6_PIMSM_V2
                IPv6 PIM multicast routing protocol PIM-SMv2 支持.
            IPv6: Segment Routing Header encapsulation support
                IPv6:段路由头封装支持
            IPv6: Segment Routing HMAC support
                IPv6:段路由HMAC支持
    NetLabel subsystem support
    CONFIG_NETLABEL
        NetLabel子系统支持.NetLabel子系统为诸如CIPSO与RIPSO之类能够在分组信息上添加标签的协议提供支持,
        看不懂就别选了.
    Security Marking
    CONFIG_NETWORK_SECMARK
        对网络包进行安全标记,类似于nfmark,但主要是为安全目的而设计.看不懂的就别选了
   Timestamping in PHY devices
   CONFIG_NETWORK_PHY_TIMESTAMPING
        允许在硬件支持的前提下,为物理层(PHY)数据包打上时间戳.这会略微增加发送与接收的开销.不确定的选"N".
   Network packet filtering framework (Netfilter)
   CONFIG_NETFILTER
        Netfilter可以对数据包进行过滤和修改,可以作为防火墙("packet filter"或"proxy-based")
        或网关(NAT)或代理(proxy)或网桥使用.
    Network packet filtering debugging
    CONFIG_NETFILTER_DEBUG
        仅供开发者调试Netfilter使用
    Advanced netfilter configuration
    CONFIG_NETFILTER_ADVANCED
        选"Y"将会显示所有模块供用户选择,选"N"则会隐藏一些不常用的模块,并自动将常用模块设为"M".
        Bridged IP/ARP packets filtering
        CONFIG_BRIDGE_NETFILTER
            如果你希望使用桥接防火墙就打开它.不确定的选"N".
    Core Netfilter Configuration
        核心Netfilter配置(当包流过Chain时如果match某个规则那么将由该规则的target来处理,
        否则将由同一个Chain中的下一个规则进行匹配,若不match所有规则那么最终将由该Chain的policy进行处理)
        Netfilter NFACCT over NFNETLINK interface
        CONFIG_NETFILTER_NETLINK_ACCT
            允许通过NFNETLINK接口支持NFACCT(记账).
        Netfilter NFQUEUE over NFNETLINK interface
        CONFIG_NETFILTER_NETLINK_QUEUE
            允许通过NFNETLINK接口支持NFQUEUE(排队).
        Netfilter LOG over NFNETLINK interface
        CONFIG_NETFILTER_NETLINK_LOG
            允许通过NFNETLINK接口支持"LOG"(日志).该选项废弃了ipt_ULOG和ebg_ulog机制,
            并打算在将来废弃基于syslog的ipt_LOG和ip6t_LOG模块.
        Netfilter connection tracking support
        CONFIG_NF_CONNTRACK
            连接追踪(connection tracking)支持,
            连接跟踪把所有连接都保存在一个表格内,并将每个包关联到其所属的连接.
            可用于报文伪装或地址转换,也可用于增强包过滤能力.
            Connection mark tracking support
            CONFIG_NF_CONNTRACK_MARK
                允许对连接进行标记,与针对单独的包进行标记的不同之处在于它是针对连接流的.
                 CONNMARK target 和 connmark match 需要它的支持.
            Connection tracking security mark support
            CONFIG_NF_CONNTRACK_SECMARK
                允许对连接进行安全标记,通常这些标记包(SECMARK)复制到其所属连接(CONNSECMARK),
                再从连接复制到其关联的包(SECMARK).
            Connection tracking zones
            CONFIG_NF_CONNTRACK_ZONES
                "conntrack zones"支持.通常,每个连接需要一个全局唯一标示符,
                而"conntrack zones"允许在不同zone内的连接使用相同的标识符.
            Supply CT list in procfs (OBSOLETE)
            CONFIG_NF_CONNTRACK_PROCFS
                已被废弃,选"N".
            Connection tracking events
            CONFIG_NF_CONNTRACK_EVENTS
                连接跟踪事件支持.如果启用这个选项,连接跟踪代码将提供一个"notifier"链,
                它可以被其它内核代码用来获知连接跟踪状态的改变
            Connection tracking timeout
            CONFIG_NF_CONNTRACK_TIMEOUT
                连接跟踪"timeout"扩展.这样你就可以在网络流上通过 CT target 附加超时策略.
            Connection tracking timestamping
            CONFIG_NF_CONNTRACK_TIMESTAMP
                时间戳支持.这样你就能在连接建立和断开时打上时间戳.
            DCCP protocol connection tracking support
            CONFIG_NF_CT_PROTO_DCCP
                DCCP协议支持.
            SCTP protocol connection tracking support
            CONFIG_NF_CT_PROTO_SCTP
                SCTP协议支持.
            UDP-Lite protocol connection tracking support
            CONFIG_NF_CT_PROTO_UDPLITE
                UDP-Lite支持.
            Amanda backup protocol support
            CONFIG_NF_CONNTRACK_AMANDA
                Amanda备份协议支持.
            FTP protocol support
            CONFIG_NF_CONNTRACK_FTP
                文件传输协议(FTP)支持.跟踪FTP连接需要额外的帮助程序.
            H.323 protocol support
            CONFIG_NF_CONNTRACK_H323
                H.323协议支持.
            IRC protocol support
            CONFIG_NF_CONNTRACK_IRC
                IRC扩展协议DCC(Direct Client-to-Client Protocol)支持.
                该协议允许用户之间绕开服务器直接聊天和传输文件.
            NetBIOS name service protocol support
            CONFIG_NF_CONNTRACK_NETBIOS_NS
                NetBIOS协议支持.
            SNMP service protocol support
            CONFIG_NF_CONNTRACK_SNMP
                SNMP协议支持.
            PPtP protocol support
            CONFIG_NF_CONNTRACK_PPTP
                RFC2637 点对点隧道协议(Point to Point Tunnelling Protocol)协议支持.
            SANE protocol support
            CONFIG_NF_CONNTRACK_SANE
                SANE协议支持.
            SIP protocol support
            CONFIG_NF_CONNTRACK_SIP
                SIP协议支持.
            TFTP protocol support
            CONFIG_NF_CONNTRACK_TFTP
                TFTP协议支持.
            Connection tracking netlink interface
            CONFIG_NF_CT_NETLINK
                基于netlink的用户接口支持.
            Connection tracking timeout tuning via Netlink
            CONFIG_NF_CT_NETLINK_TIMEOUT
                通过Netlink机制支持对连接追踪超时进行细粒度的调节:允许为特定的网络流指定超时策略,
                而不是使用统一的全局超时策略.
            Connection tracking helpers in user-space via Netlink
            CONFIG_NF_CT_NETLINK_HELPER
                通过Netlink机制为用户空间的连接追踪帮助程序提供基础框架.
            NFQUEUE integration with Connection Tracking
            CONFIG_NETFILTER_NETLINK_QUEUE_CT
                开启此项后,即使网络包已经在队列(NFQUEUE)中,它依然可以包含连接追踪信息.
        Transparent proxying support
        CONFIG_NETFILTER_TPROXY
            透明代理支持,也就是可以处理非本地的 IPv4 TCP/UDP 套接字.
            此功能需要配合一些iptables规则和策略路由才能工作.
            详见"Documentation/networking/tproxy.txt"文档.
        Netfilter Xtables support (required for ip_tables)
        CONFIG_NETFILTER_XTABLES
            如果你打算使用 ip_tables, ip6_tables, arp_tables 之一就必须选上

            nfmark target and match support
            CONFIG_NETFILTER_XT_MARK
                "nfmark"是用户给包打上的一个自定义标记.用于match时,
                允许基于"nfmark"值对包进行匹配.用于target时,
                允许在"mangle"表中创建规则以改变包的"nfmark"值.
            ctmark target and match support
            CONFIG_NETFILTER_XT_CONNMARK
                "ctmark"是用户以连接为组,给同一连接中的所有包打上的自定义标记.用法与"nfmark"相似.
            set target and match support
            CONFIG_NETFILTER_XT_SET
                "set"是ipset工具创建的IP地址集合.使用match可以对IP地址集合进行匹配,
                使用target可以对集合中的项进行增加和删除.
            AUDIT target support
            CONFIG_NETFILTER_XT_TARGET_AUDIT
                为被drop/accept的包创建审计记录.
            CHECKSUM target support
            CONFIG_NETFILTER_XT_TARGET_CHECKSUM
                用于"mangle"表,为缺少校验和的包添加checksum字段的值.
                主要是为了兼容一些老旧的网络程序(例如某些dhcp客户端).
            "CLASSIFY" target support
            CONFIG_NETFILTER_XT_TARGET_CLASSIFY
                允许为包设置优先级,一些qdiscs排队规则(atm,cbq,dsmark,pfifo_fast,htb,prio)需要使用它
            "CONNMARK" target support
            CONFIG_NETFILTER_XT_TARGET_CONNMARK
                这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_CONNMARK
            "CONNSECMARK" target support
            CONFIG_NETFILTER_XT_TARGET_CONNSECMARK
                针对链接进行安全标记,同时还会将连接上的标记还原到包上
                (如果链接中的包尚未进行安全标记),通常与 SECMARK target 联合使用
            "CT" target support
            CONFIG_NETFILTER_XT_TARGET_CT
                允许为包加上连接追踪相关的参数,比如"event"和"helper".
            "DSCP" and "TOS" target support
            CONFIG_NETFILTER_XT_TARGET_DSCP
                DSCP target 允许对IPv4/IPv6包头部的DSCP
                (Differentiated Services Codepoint)字段(常用于Qos)进行修改.
                TOS target 允许在"mangle"表创建规则以修改IPv4包头的
                TOS(Type Of Service)字段或IPv6包头的Priority字段.
            "HL" hoplimit target support
            CONFIG_NETFILTER_XT_TARGET_HL
                HL(IPv6)/TTL(IPv4) target 允许更改包头的 hoplimit/time-to-live 值.
            "HMARK" target support
            CONFIG_NETFILTER_XT_TARGET_HMARK
                允许在"raw"和"mangle"表中创建规则,以根据特定范围的哈希计算结果设置"skbuff"标记.
            IDLETIMER target support
            CONFIG_NETFILTER_XT_TARGET_IDLETIMER
                每个被匹配的包的定时器都会被强制指定为规则指定的值,
                当超时发生时会触发一个sysfs文件系统的通知.剩余时间可以通过sysfs读取.
            "LED" target support
            CONFIG_NETFILTER_XT_TARGET_LED
                允许在满足特定条件的包通过的时候,触发LED灯闪烁.
                比如可以用于控制网卡的状态指示灯仅在有SSH活动的时候才闪烁.
            LOG target support
            CONFIG_NETFILTER_XT_TARGET_LOG
                允许向syslog中记录包头信息.
            "MARK" target support
            CONFIG_NETFILTER_XT_TARGET_MARK
                这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_MARK
            "NETMAP" target support
            CONFIG_NETFILTER_XT_TARGET_NETMAP
                NETMAP用于实现一对一的静态NAT(地址转换).
            "NFLOG" target support
            CONFIG_NETFILTER_XT_TARGET_NFLOG
                通过nfnetlink_log记录日志.
            "NFQUEUE" target Support
            CONFIG_NETFILTER_XT_TARGET_NFQUEUE
                用于替代老旧的 QUEUE target. 因为NFQUEUE能支持最多65535个队列,而QUEUE只能支持一个.
            "NOTRACK" target support (DEPRECATED)
            CONFIG_NETFILTER_XT_TARGET_NOTRACK
                已被废弃,勿选.
            "RATEEST" target support
            CONFIG_NETFILTER_XT_TARGET_RATEEST
                RATEEST target 允许测量网络流的传输速率.[注: rateest match 允许根据速率进行匹配.]
            REDIRECT target support
            CONFIG_NETFILTER_XT_TARGET_REDIRECT
                REDIRECT是一种特别的NAT:所有进入的连接都被映射到其入口网卡的地址,
                这样这些包就会"流入"本机而不是"流过"本机.这主要用于实现透明代理.
            "TEE" - packet cloning to alternate destination
            CONFIG_NETFILTER_XT_TARGET_TEE
                对包进行克隆,并将克隆的副本路由到另一个临近的路由器(Next Hop).
            "TPROXY" target support
            CONFIG_NETFILTER_XT_TARGET_TPROXY
                类似于REDIRECT,但并不依赖于连接追踪和NAT,也只能用于"mangle"表,
                用于将网络流量重定向到透明代理.
            "TRACE" target support
            CONFIG_NETFILTER_XT_TARGET_TRACE
                允许对包打标记,这样内核就可以记录每一个匹配到的规则.
            "SECMARK" target support
            CONFIG_NETFILTER_XT_TARGET_SECMARK
                允许对包进行安全标记,用于安全子系统
            "TCPMSS" target support
            CONFIG_NETFILTER_XT_TARGET_TCPMSS
                允许更改 TCP SYN 包的MSS(Maximum Segment Size)值,通常=MTU-40.
            "TCPOPTSTRIP" target support
            CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP
                允许从TCP包头中剥离所有TCP选项.
            "addrtype" address type match support
            CONFIG_NETFILTER_XT_MATCH_ADDRTYPE
                根据地址类型进行匹配: UNICAST, LOCAL, BROADCAST, ...
            "bpf" match support
            CONFIG_NETFILTER_XT_MATCH_BPF
                BPF(BSD Packet Filter)是一个强大的包匹配模块,用于匹配那些让过滤器返回非零值的包.
            "cluster" match support
            CONFIG_NETFILTER_XT_MATCH_CLUSTER
                这个模块可以用于创建网络服务器/防火墙集群,而无需借助价格昂贵的负载均衡设备.
                通常,在包必须被本节点处理的条件下,这个match返回"true".
                这样,所有节点都可以看到所有的包,但只有匹配的节点才需要进行处理,
                这样就将负载进行了分摊.而分摊算法是基于对源地址的哈希值.
            "comment" match support
            CONFIG_NETFILTER_XT_MATCH_COMMENT
                这是一个"伪match",目的是允许你在iptables规则集中加入注释
            "connbytes" per-connection counter match support
            CONFIG_NETFILTER_XT_MATCH_CONNBYTES
                允许针对单个连接内部每个方向(进/出)匹配已经传送的字节数/包数
            "connlabel" match support
            CONFIG_NETFILTER_XT_MATCH_CONNLABEL
                允许向连接分配用户自定义的标签名.内核仅存储bit值,
                而名称和bit之间的对应关系由用户空间处理.与"connmark"的不同之处在于:
                可以同时为一个连接分配32个标志位(flag bit).
            "connlimit" match support
            CONFIG_NETFILTER_XT_MATCH_CONNLIMIT
                允许根据每一个客户端IP地址(或每一段客户端IP地址段)持有的并发连接数进行匹配.
            "connmark" connection mark match support
            CONFIG_NETFILTER_XT_MATCH_CONNMARK
                这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_CONNMARK
            "conntrack" connection tracking match support
            CONFIG_NETFILTER_XT_MATCH_CONNTRACK
                通用连接跟踪匹配,是"state"的超集,它允许额外的链接跟踪信息,
                在需要设置一些复杂的规则(比如网关)时很有用
            "cpu" match support
            CONFIG_NETFILTER_XT_MATCH_CPU
                根据处理包所使用的CPU是哪个进行匹配
            "dccp" protocol match support
            CONFIG_NETFILTER_XT_MATCH_DCCP
                DCCP是打算取代UDP的新传输协议,它在UDP的基础上增加了流控和拥塞控制机制,面向实时业务
            "devgroup" match support
            CONFIG_NETFILTER_XT_MATCH_DEVGROUP
                允许根据网卡所属的"设备组"进行匹配
            "dscp" and "tos" match support
            CONFIG_NETFILTER_XT_MATCH_DSCP
                dscp match 允许根据IPv4/IPv6包头的DSCP字段进行匹配,
                tos match 允许根据IPv4包头的TOS字段进行匹配
            "ecn" match support
            CONFIG_NETFILTER_XT_MATCH_ECN
                允许根据IPv4 TCP包头的ECN字段进行匹配
            "esp" match support
            CONFIG_NETFILTER_XT_MATCH_ESP
                允许对IPSec包的ESP头中的SPI(安全参数序列)范围进行匹配
            "hashlimit" match support
            CONFIG_NETFILTER_XT_MATCH_HASHLIMIT
                此项的目的是取代"limit",它基于你选定的源/目的地址和/或端口动态创建"limit bucket"哈希表.
                这样你就可以迅速创建类似这样的匹配规则:(1)为给定的目的地址以每秒10k个包的速度进行
                匹配;(2)为给定的源地址以每秒500个包的速率进行匹配
            "helper" match support
            CONFIG_NETFILTER_XT_MATCH_HELPER
                加载特定协议的连接跟踪辅助模块,由该模块过滤所跟踪的连接类型的包,比如ip_conntrack_ftp模块
            "hl" hoplimit/TTL match support
            CONFIG_NETFILTER_XT_MATCH_HL
                基于IPv6包头的hoplimit字段,或IPv4包头的time-to-live字段进行匹配
            "iprange" address range match support
            CONFIG_NETFILTER_XT_MATCH_IPRANGE
                根据IP地址范围进行匹配,而普通的iptables只能根据"IP/mask"的方式进行匹配.
            "ipvs" match support
            CONFIG_NETFILTER_XT_MATCH_IPVS
                允许根据包的IPVS属性进行匹配
            "length" match support
            CONFIG_NETFILTER_XT_MATCH_LENGTH
                允许对包的长度进行匹配
            "limit" match support
            CONFIG_NETFILTER_XT_MATCH_LIMIT
                允许根据包的进出速率进行规则匹配,常和"LOG target"配合使用以抵抗某些Dos攻击
            "mac" address match support
            CONFIG_NETFILTER_XT_MATCH_MAC
                允许根据以太网的MAC地址进行匹配
            "mark" match support
            CONFIG_NETFILTER_XT_MATCH_MARK
                这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_MARK
            "multiport" Multiple port match support
            CONFIG_NETFILTER_XT_MATCH_MULTIPORT
                允许对TCP或UDP包同时匹配多个不连续的端口(通常情况下只能匹配单个端口或端口范围)
            "nfacct" match support
            CONFIG_NETFILTER_XT_MATCH_NFACCT
                允许通过nfnetlink_acct使用扩展记账
            "osf" Passive OS fingerprint match
            CONFIG_NETFILTER_XT_MATCH_OSF
                开启Passive OS Fingerprinting模块,以允许通过进入的TCP SYN包被动匹配远程操作系统.
                规则和加载程序可以从这里获取:http://www.ioremap.net/projects/osf
            "owner" match support
            CONFIG_NETFILTER_XT_MATCH_OWNER
                基于创建套接字的本地进程身份(user/group)进行匹配,还可以用于检查一个套接字是否确实存在
            IPsec "policy" match support
            CONFIG_NETFILTER_XT_MATCH_POLICY
                基于IPsec policy进行匹配
            "physdev" match support
            CONFIG_NETFILTER_XT_MATCH_PHYSDEV
                允许对进入或离开所经过的物理网口进行匹配
            "pkttype" packet type match support
            CONFIG_NETFILTER_XT_MATCH_PKTTYPE
                允许对封包目的地址类别(广播/组播/直播)进行匹配
            "quota" match support
            CONFIG_NETFILTER_XT_MATCH_QUOTA
                允许对总字节数的限额值进行匹配
            "rateest" match support
            CONFIG_NETFILTER_XT_MATCH_RATEEST
                根据 RATEEST target 评估的速率值进行匹配
            "realm" match support
            CONFIG_NETFILTER_XT_MATCH_REALM
                允许根据iptables中的路由子系统中的realm值进行匹配.它与tc中的CONFIG_NET_CLS_ROUTE4非常类似.
            "recent" match support
            CONFIG_NETFILTER_XT_MATCH_RECENT
                recent match 用于创建一个或多个最近使用过的地址列表,然后又可以根据这些列表再进行匹配.
            "sctp" protocol match support
            CONFIG_NETFILTER_XT_MATCH_SCTP
                支持根据流控制传输协议(SCTP)源/目的端口和"chunk type"进行匹配.
            "socket" match support
            CONFIG_NETFILTER_XT_MATCH_SOCKET
                can be used to match packets for which a TCP or UDP
                socket lookup finds a valid socket. It can be used in
                combination with the MARK target and policy routing to
                implement full featured non-locally bound sockets.
            "state" match support
            CONFIG_NETFILTER_XT_MATCH_STATE
                这是对包进行分类的有力工具,它允许利用连接跟踪信息对连接中处于特定状态的包进行匹配
            "statistic" match support
            CONFIG_NETFILTER_XT_MATCH_STATISTIC
                允许根据一个给定的百分率对包进行周期性的或随机性的匹配
            "string" match support
            CONFIG_NETFILTER_XT_MATCH_STRING
                允许根据包所承载的数据中包含的特定字符串进行匹配
            "tcpmss" match support
            CONFIG_NETFILTER_XT_MATCH_TCPMSS
                允许根据TCP SYN包头中的MSS(最大分段长度)选项的值进行匹配
            "time" match support
            CONFIG_NETFILTER_XT_MATCH_TIME
                根据包的到达时刻(外面进入的包)或者离开时刻(本地生成的包)进行匹配
            "u32" match support
            CONFIG_NETFILTER_XT_MATCH_U32
                "u32"允许从包中提取拥有特定mask的最多4字节数据,将此数据移动(shift)特定的位数,
                然后测试其结果是否位于特定的集合范围内.
                更多细节可以直接参考内核源码(net/netfilter/xt_u32.c)
    IP set support
    CONFIG_IP_SET
        为内核添加IP集(IP set)支持,然后就可以使用CONFIG_NETFILTER_XT_SET功能.此
        特性必须配合用户态工具ipset一起使用.
        Maximum number of IP sets
        CONFIG_IP_SET_MAX
            默认的最大"set"数,取值范围是[2,65534].此值也可以由ip_set模块的max_sets参数设置.
        bitmap:ip set support
        CONFIG_IP_SET_BITMAP_IP
            "bitmap:ip"集合类型.根据IP地址范围设定集合.
        bitmap:ip,mac set support
        CONFIG_IP_SET_BITMAP_IPMAC
            "bitmap:ip,mac"集合类型.根据IP/MAC地址对范围设定集合.
        bitmap:port set support
        CONFIG_IP_SET_BITMAP_PORT
            "bitmap:port"集合类型.根据端口范围设定集合.
        hash:ip set support
        CONFIG_IP_SET_HASH_IP
            "hash:ip"集合类型.为多个离散的IP地址设定集合.
        hash:ip,port set support
        CONFIG_IP_SET_HASH_IPPORT
            "hash:ip,port"集合类型.为多个离散的IP/MAC地址对设定集合.
        hash:ip,port,ip
        CONFIG_IP_SET_HASH_IPPORTIP
            "hash:ip,port,ip"集合类型.为多个离散的IP/端口/IP三元组设定集合.
        hash:ip,port,net set support
        CONFIG_IP_SET_HASH_IPPORTNET
            "hash:ip,port,net"集合类型.为多个离散的IP/端口/网段三元组设定集合.
        hash:net set support
        CONFIG_IP_SET_HASH_NET
            "hash:net"集合类型.为多个离散的网段设定集合
        hash:net,port set support
        CONFIG_IP_SET_HASH_NETPORT
            "hash:net,port"集合类型.为多个离散的网段/端口对设定集合
        hash:net,iface set support
        CONFIG_IP_SET_HASH_NETIFACE
            "hash:net,iface"集合类型.为多个离散的网段/网卡接口对设定集合
        list:set set support
        CONFIG_IP_SET_LIST_SET
            "list:set"集合类型.将多个集合组成一个更大的集合

    IP virtual server support
    CONFIG_IP_VS
        IPVS(IP Virtual Server)支持.IPVS可以帮助LVS基于多个后端真实服务器创建一个高性能的虚拟服务器.
        可以使用三种具体的方法实现:NAT,隧道,直接路由(使用较广).

        IPv6 support for IPVS
        CONFIG_IP_VS_IPV6
            为IPVS添加IPv6支持
        IP virtual server debugging
        CONFIG_IP_VS_DEBUG
            为IPVS添加调试支持
        IPVS connection table size (the Nth power of 2)
        CONFIG_IP_VS_TAB_BITS
            设置IPVS连接哈希表的大小(2CONFIG_IP_VS_TAB_BITS),取值范围是[8,20],
            默认值12的意思是哈希表的大小是212=4096项.IPVS连接哈希表使用链表来处理哈希碰撞.
            使用大的哈希表能够显著减少碰撞几率,特别是哈希表中有成千上万连接的时候.
            比较恰当的值差不多等于每秒的新建连接数乘以每个连接的平均持续秒数.
            太小的值会造成太多碰撞,从而导致性能大幅下降;太大的值又会造成占用太多不必要的内存
            (每个表项8字节+每个连接128字节).该值也可以通过ip_vs模块的conn_tab_bits参数进行设置.
        TCP load balancing support
        CONFIG_IP_VS_PROTO_TCP
            TCP传输协议负载均衡支持
        UDP load balancing support
        CONFIG_IP_VS_PROTO_UDP
            UDP传输协议负载均衡支持
        ESP load balancing support
        CONFIG_IP_VS_PROTO_ESP
            IPSec ESP(Encapsulation Security Payload)传输协议负载均衡支持
        AH load balancing support
        CONFIG_IP_VS_PROTO_AH
            IPSec AH(Authentication Header)传输协议负载均衡支持.
        SCTP load balancing support
        CONFIG_IP_VS_PROTO_SCTP
            SCTP传输协议负载均衡支持
        round-robin scheduling
        CONFIG_IP_VS_RR
            循环分散算法:最简单的调度算法,将连接简单的循环分散到后端服务器上
        weighted round-robin scheduling
        CONFIG_IP_VS_WRR
            基于权重的循环分散算法:在循环分散的基础上,权重较高的后端服务器接纳较多的连接
        least-connection scheduling
        CONFIG_IP_VS_LC
            最少连接算法:将连接优先分配到活动连接最少的后端服务器
        weighted least-connection scheduling
        CONFIG_IP_VS_WLC
            基于权重的最少连接算法:结合考虑活动连接数与服务器权重
        locality-based least-connection scheduling
        CONFIG_IP_VS_LBLC
            基于目的IP的最少连接算法(常用于缓存集群):
            优先根据目的IP地址将连接分配到特定的后端,
            仅在这些后端过载时(活动连接数大于其权重)才分散到其他后端.
        locality-based least-connection with replication scheduling
        CONFIG_IP_VS_LBLCR
            与LBLC类似,不同之处在于:前端负载均衡器会像NAT一样同时记住客户端IP与后端的
            对应关系,并在新的连接到来的时候,复用这个对应关系.
        destination hashing scheduling
        CONFIG_IP_VS_DH
            目标地址哈希表算法:简单的根据静态设定的目标IP地址哈希表将连接分发到后端
        source hashing scheduling
        CONFIG_IP_VS_SH
            源地址哈希表算法:简单的根据静态设定的源IP地址哈希表将连接分发到后端
        shortest expected delay scheduling
        CONFIG_IP_VS_SED
            最小期望延迟算法:将连接分配到根据期望延迟公式((Ci+1)/Ui)算得的延迟最小的后端.
            "i"是后端服务器编号,"Ci"是该服务器当前的连接数,"Ui"是该服务器的权重.
        never queue scheduling
        CONFIG_IP_VS_NQ
            无排队算法:这是一个两阶段算法,如果有空闲服务器,就直接分发到空闲服务器
            (而不是等待速度最快的服务器),如果没有空闲服务器,就分发到期望延迟最小的服务器(SED算法).
        IPVS source hashing table size (the Nth power of 2)
        CONFIG_IP_VS_SH_TAB_BITS
            将源IP地址映射到后端服务器所使用的哈希表的大小(2CONFIG_IP_VS_SH_TAB_BITS),
            取值范围是[4,20],默认值8的意思是哈希表的大小是28=256项.
            理想的大小应该是所有后端的权重乘以后端总数?
        FTP protocol helper
        CONFIG_IP_VS_FTP
            FTP协议连接追踪帮助
        Netfilter connection tracking
        CONFIG_IP_VS_NFCT
            Netfilter连接追踪支持
        SIP persistence engine
        CONFIG_IP_VS_PE_SIP
            基于SIP Call-ID提供持久连接支持

    IP: Netfilter Configuration
        针对IPv4的Netfilter配置

        IPv4 connection tracking support (required for NAT)
        CONFIG_NF_CONNTRACK_IPV4
            IPv4链接跟踪.可用于包伪装或地址转换,也可用于增强包过滤能力

            proc/sysctl compatibility with old connection tracking
            CONFIG_NF_CONNTRACK_PROC_COMPAT
                用于兼容老旧的连接追踪用户态程序

        IP tables support (required for filtering/masq/NAT)
        CONFIG_IP_NF_IPTABLES
            要用iptables就肯定要选上

            "ah" match support
            CONFIG_IP_NF_MATCH_AH
                允许对IPSec包头的AH字段进行匹配
            "ecn" match support
            CONFIG_IP_NF_MATCH_ECN
                这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_MATCH_ECN
            "rpfilter" reverse path filter match support
            CONFIG_IP_NF_MATCH_RPFILTER
                对进出都使用同一个网络接口的包进行匹配
            "ttl" match support
            CONFIG_IP_NF_MATCH_TTL
                这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_MATCH_HL
            Packet filtering
            CONFIG_IP_NF_FILTER
                定义filter表,以允许对包进行过滤

                REJECT target support
                CONFIG_IP_NF_TARGET_REJECT
                    允许返回一个ICMP错误包而不是简单的丢弃包

            ULOG target support
            CONFIG_IP_NF_TARGET_ULOG
                反对使用该选项,因为它已经被CONFIG_NETFILTER_NETLINK_LOG代替
            IPv4 NAT
            CONFIG_NF_NAT_IPV4
                允许进行伪装/端口转发以及其它的NAT功能,仅在你需要使用iptables中的nat表时才需要选择

                MASQUERADE target support
                CONFIG_IP_NF_TARGET_MASQUERADE
                    SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,
                    这样,接收方就认为数据包的来源是被替换的那个IP的主机.伪装(MASQUERADE)
                    是一种特殊类型的SNAT:MASQUERADE是用发送数据的网卡上的IP来替换源IP,
                    用于那些IP不固定的场合(比如拨号或者通过DHCP分配)
                NETMAP target support
                CONFIG_IP_NF_TARGET_NETMAP
                    这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_TARGET_NETMAP.
                REDIRECT target support
                CONFIG_IP_NF_TARGET_REDIRECT
                    这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_TARGET_REDIRECT.
                Basic SNMP-ALG support
                CONFIG_NF_NAT_SNMP_BASIC
                    为SNMP荷载实现ALG(Application Layer Gateway)支持(RFC2962).

            Packet mangling
            CONFIG_IP_NF_MANGLE
                在iptables中启用mangle表以便对包进行各种修改,常用于改变包的路由

                CLUSTERIP target support
                CONFIG_IP_NF_TARGET_CLUSTERIP
                    CLUSTERIP target 允许你无需使用昂贵的负载均衡设备也能创建廉价的负载均衡集群
                ECN target support
                CONFIG_IP_NF_TARGET_ECN
                    用于mangle表,可以去除IPv4包头的ECN(Explicit Congestion Notification)位,
                    主要用于在保持ECN功能的前提下,去除网络上的"ECN黑洞".
                "TTL" target support
                CONFIG_IP_NF_TARGET_TTL
                    这只是一个兼容旧配置的选项,等价于CONFIG_NETFILTER_XT_TARGET_HL.

            raw table support (required for NOTRACK/TRACE)
            CONFIG_IP_NF_RAW
                在iptables中添加一个raw表,该表在netfilter框架中非常靠前,
                并在PREROUTING和OUTPUT链上有钩子,从而可以对收到的数据包在连接跟踪前进行处理
            Security table
            CONFIG_IP_NF_SECURITY
                在iptables中添加一个security表,以支持强制访问控制(Mandatory Access Control)策略

        ARP tables support
        CONFIG_IP_NF_ARPTABLES
            arptables支持

            ARP packet filtering
            CONFIG_IP_NF_ARPFILTER
                ARP包过滤.对于进入和离开本地的ARP包定义一个filter表,在桥接的情况下还可以应用于
                被转发的ARP包
            ARP payload mangling
            CONFIG_IP_NF_ARP_MANGLE
                允许对ARP包的荷载部分进行修改,比如修改源和目标物理地址

    IPv6: Netfilter Configuration
        针对IPv6的Netfilter配置.其子项内容类似于IPv4,需要的话可以参考前面IPv4的Netfilter配置进行选择
    DECnet: Netfilter Configuration
        针对DECnet的Netfilter配置
    Ethernet Bridge tables (ebtables) support
    CONFIG_BRIDGE_NF_EBTABLES
        针对以太网桥的ebtables Netfilter配置

The DCCP Protocol
CONFIG_IP_DCCP
    数据报拥塞控制协议(Datagram Congestion Control Protocol)在UDP的基础上增加了流控和拥塞控制机制,
    使数据报协议能够更好地用于流媒体业务的传输
The SCTP Protocol
CONFIG_IP_SCTP
    流控制传输协议(Stream Control Transmission Protocol)是一种新兴的传输层协议.
    TCP协议一次只能连接一个IP地址而在SCTP协议一次可以连接多个IP地址且
    可以自动平衡网络负载,一旦某一个IP地址失效会自动将网络负载转移到其他IP地址上
The RDS Protocol
CONFIG_RDS
    可靠数据报套接字(Reliable Datagram Sockets)协议支持.
The TIPC Protocol
CONFIG_TIPC
    透明内部进程间通信协议(Transparent Inter Process Communication),
    以共享内存为基础实现任务和资源的调度,专门用于集群内部通信
Asynchronous Transfer Mode (ATM)
CONFIG_ATM
    异步传输模式(ATM)支持.主要用于高速LAN和WAN.目前已经日薄西山了.
Layer Two Tunneling Protocol (L2TP)
CONFIG_L2TP
    第二层隧道协议(RFC2661)支持
802.1d Ethernet Bridging
CONFIG_BRIDGE
    802.1d以太网桥
802.1Q/802.1ad VLAN Support
CONFIG_VLAN_8021Q
    802.1Q虚拟局域网
DECnet Support
CONFIG_DECNET
    DECnet协议
ANSI/IEEE 802.2 LLC type 2 Support
CONFIG_LLC2
    PF_LLC类型套接字支持.也就是IEEE 802.2 LLC 2
The IPX protocol
CONFIG_IPX
    IPX协议是由Novell公司提出的运行于OSI模型第三层的协议,具有可路由的特性,
    IPX的地址分为网络地址和主机地址,网络地址由管理员分配,主机地址为MAC地址.
    由于IP协议的广泛使用,IPX的应用早已日薄西山.
Appletalk protocol support
CONFIG_ATALK
    Appletalk是苹果公司创建的一组网络协议,仅用于苹果系列计算机.
CCITT X.25 Packet Layer
CONFIG_X25
    CCITT X.25协议集支持.
LAPB Data Link Driver
CONFIG_LAPB
    LAPB协议支持.
Phonet protocols family
CONFIG_PHONET
    PhoNet是Nokia开发的面相数据包的通信协议,仅用于Nokia maemo/meego产品.
IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support
CONFIG_IEEE802154
    IEEE Std 802.15.4 定义了一个低速率/低功耗/低复杂度的短距离个人无线网络规范.
    主要用于物联网中的传感器/交换器之类设备之间的互联.

    6lowpan support over IEEE 802.15.4
    CONFIG_IEEE802154_6LOWPAN
        在IEEE 802.15.4上支持IPv6压缩.
    Generic IEEE 802.15.4 Soft Networking Stack (mac802154)
    CONFIG_MAC802154
        为SoftMAC设备(仅实现了PHY层)实现硬件独立的IEEE Std 802.15.4协议栈.使用HardMAC设备的用户应该选"N".
        [注意]这里的实现既未经过认证,也未进行充分的兼容性测试.

QoS and/or fair queueing
CONFIG_NET_SCHED
    QoS(Quality of Service)支持.当内核有多个包需要通过网络发送的时候,它需要决定哪个包先发,那个包后发,
    哪个包丢弃.这就是包调度算法.关闭此项表示内核使用最简单的FIFO算法,
    开启此项后就可以使用多种不同的调度算法(需要配合用户层工具iproute2+tc).
    QoS还用于支持diffserv(Differentiated Services)和RSVP(Resource Reservation Protocol)功能.
    包调度的状态信息可以从"/proc/net/psched"文件中获取.仅在你确实需要的时候选"Y".
Data Center Bridging support
CONFIG_DCB
    DCB(Data Center Bridging)支持.
    数据中心桥接是一组可增强传统以太网功能,以管理通信的功能,尤其适用于网络通信流量和传输率都很高的环境中.
    光纤通道可专用于承载此类型的通信.但是,如果使用专用链路来仅提供光纤通道通信,
    则成本可能会很高.因此,更多情况下使用以太网光纤通道.
    DCB功能可满足光纤通道对遍历以太网时包丢失的敏感度要求.
    DCB允许对等方基于优先级区分通信.通过区分优先级,可确保在主机之间发生拥塞时,
    保持较高优先级通信的包完整性.使用DCB交换协议,
    通信主机可以交换会影响高速网络通信的配置信息.然后,对等方可对公用配置进行协商,
    确保通信流不中断,同时防止高优先级包出现包丢失.这些功能都需要底层的网卡支持.
    一般网卡都是不支持的.所以不确定的可以选"N".
DNS Resolver support
CONFIG_DNS_RESOLVER
    内核DNS解析支持.用于支持CONFIG_AFS_FS/CONFIG_CIFS/CONFIG_CIFS_SMB2模块.
    此功能需要用户态程序"/sbin/dns.resolve"和配置文件"/etc/request-key.conf"的支持.
    更多信息参见"Documentation/networking/dns_resolver.txt"文档,不确定的选"N".
B.A.T.M.A.N. Advanced Meshing Protocol
CONFIG_BATMAN_ADV
    B.A.T.M.A.N.(更好的移动无线网络方案)是一种用于 multi-hop ad-hoc mesh 网络的路由协议.
    它是一种去中心化分布式无线Adhoc模式,特别适用于自然灾害等紧急情况下,创建临时的无线网络.不确定的选"N".
Open vSwitch
CONFIG_OPENVSWITCH
    Open vSwitch 是一个多层虚拟交换标准.此选项提供了内核级的高速转发功能
    (需要配合用户态守护进程ovs-vswitchd来实现).
Virtual Socket protocol
CONFIG_VSOCKETS
    这是一个类似于TCP/IP的协议,用于虚拟机之间以及虚拟机与宿主之间的通信.
    开启此项后,还需要从子项中选择适用于特定虚拟化技术的传输协议.

    VMware VMCI transport for Virtual Sockets
    CONFIG_VMWARE_VMCI_VSOCKETS
        适用于VMware虚拟化技术的VMCI传输协议支持.

NETLINK: mmaped IO
CONFIG_NETLINK_MMAP
    基于内存映射机制的 netlink IO 支持.
    这样可以避免在用户空间与内存空间之间复制数据,从而提升操作速度.建议开启.
NETLINK: socket monitoring interface
CONFIG_NETLINK_DIAG
    NETLINK socket 监视接口.ss这样的诊断工具需要它.
Network priority cgroup
CONFIG_NETPRIO_CGROUP
    Cgroup子系统支持:基于每个网络接口为每个进程分配网络使用优先级.
enable BPF Just In Time compiler
CONFIG_BPF_JIT
    BPF(Berkeley Packet Filter)的过滤功能通常由一个解释器(interpreter)解释执行BPF虚拟机指令的方式工作.
    开启此项,内核在加载过滤指令后,会将其编译为本地指令,以加快执行速度.
    网络嗅探程序(libpcap/tcpdump)可以从中受益.
    注意:需要"echo 1 > /proc/sys/net/core/bpf_jit_enable"之后才能生效.
Network testing
    网络测试,仅供调试使用

Amateur Radio support
CONFIG_HAMRADIO

业余无线电支持.供无线电爱好者进行自我训练/相互通讯/技术研究

CAN bus subsystem support
CONFIG_CAN

CAN(Controller Area Network)是一个低速串行通信协议.
被广泛地应用于工业自动化/船舶/医疗设备/工业设备等嵌入式领域.
更多信息参见"Documentation/networking/can.txt"文件.

IrDA (infrared) subsystem support
CONFIG_IRDA

红外线通讯技术支持,主要用于嵌入式环境,某些老旧的笔记本上也可能会有红外接口.

Bluetooth subsystem support
CONFIG_BT

蓝牙支持.蓝牙目前已经基本取代红外线,成为嵌入式设备/智能设备/笔记本的标配近
距离(小于10米)通信设备.在Linux上通常使用来自BlueZ的hciconfig和bluetoothd工具操作蓝牙通信.

RFCOMM protocol support
CONFIG_BT_RFCOMM
    虚拟串口协议(RFCOMM)是一个面向连接的流传输协议,提供RS232控制和状态信号,
    从而模拟串口的功能.它被用于支持拨号网络,OBEX(Object Exchange),以及某些蓝牙程序(例如文件传输).

    RFCOMM TTY support
    CONFIG_BT_RFCOMM_TTY
        允许在RFCOMM通道上模拟TTY终端

BNEP protocol support
CONFIG_BT_BNEP
    蓝牙网络封装协议(Bluetooth Network Encapsulation Protocol)可以在蓝牙上运行
    其他网络协议(TCP/IP). Bluetooth PAN(Personal Area Network)需要它的支持.

    Multicast filter support
    CONFIG_BT_BNEP_MC_FILTER
        组播支持
    Protocol filter support
    CONFIG_BT_BNEP_PROTO_FILTER
        协议过滤器支持

CMTP protocol support
CONFIG_BT_CMTP
    CMTP(CAPI消息传输协议)用于支持已在上世纪被淘汰的ISDN设备.不确定的选"N".
HIDP protocol support
CONFIG_BT_HIDP
    人机接口设备协议(Human Interface Device Protocol)用于支持各种人机接口设备(比如鼠标/键盘/耳机等).
Bluetooth device drivers
    各种蓝牙设备驱动

    HCI USB driver
    CONFIG_BT_HCIBTUSB
        使用USB接口的蓝牙设备支持
    HCI SDIO driver
    CONFIG_BT_HCIBTSDIO
        使用SDIO接口的蓝牙设备支持
    HCI UART driver
    CONFIG_BT_HCIUART
        使用串口的蓝牙设备支持.此外,基于UART的蓝牙PCMCIA和CF设备也需要此模块的支持.

        UART (H4) protocol support
        CONFIG_BT_HCIUART_H4
            大多数使用UART接口的蓝牙设备(包括PCMCIA和CF卡)都使用这个协议.
        BCSP protocol support
        CONFIG_BT_HCIUART_BCSP
            基于CSR(Cambridge Silicon Radio)公司的BlueCore系列芯片的蓝牙设备(包括PCMCIA和CF卡)支持
        Atheros AR300x serial support
        CONFIG_BT_HCIUART_ATH3K
            基于Atheros AR300x系列芯片的蓝牙设备支持
        HCILL protocol support
        CONFIG_BT_HCIUART_LL
            基于Texas Instruments公司的BRF芯片的蓝牙设备支持
        Three-wire UART (H5) protocol support
        CONFIG_BT_HCIUART_3WIRE
            Three-wire UART (H5) 协议假定UART通信可能存在各种错误,从而使得CTS/RTS引脚线变得可有可无.
            看不懂就可以不选.

    HCI VHCI (Virtual HCI device) driver
    CONFIG_BT_HCIVHCI
        模拟蓝牙设备支持.主要用于开发
    {大多数蓝牙设备并不需要特定的独立驱动,此处省略的独立驱动仅是为了驱动那些不严格遵守蓝牙规范的芯片}

RxRPC session sockets
CONFIG_AF_RXRPC

RxRPC会话套接字支持(仅包括传输部分,不含表示部分).CONFIG_AFS_FS依赖于它.
不确定的选"N".详情参见"Documentation/networking/rxrpc.txt"文档.

Wireless
CONFIG_WIRELESS

无线网络支持.

cfg80211 - wireless configuration API
CONFIG_CFG80211
    cfg80211是Linux无线局域网(802.11)配置接口,是使用WiFi的前提.
    注意:"WiFi"是一个无线网路通信技术的品牌,由WiFi联盟所持有.
    目的是改善基于IEEE 802.11标准的无线网路产品之间的互通性.
    现时一般人会把WiFi及IEEE 802.11混为一谈,甚至把WiFi等同于无线网路
    (WiFi只是无线网络的一种).

    nl80211 testmode command
    CONFIG_NL80211_TESTMODE
        仅供调试和特殊目的使用.
    enable developer warnings
    CONFIG_CFG80211_DEVELOPER_WARNINGS
        仅供调试开发使用
    cfg80211 regulatory debugging
    CONFIG_CFG80211_REG_DEBUG
        仅供调试开发使用
    cfg80211 certification onus
    CONFIG_CFG80211_CERTIFICATION_ONUS
        仅在你确实明白此项含义的情况下,才考虑选"Y",否则请选"N".
    enable powersave by default
    CONFIG_CFG80211_DEFAULT_PS
        默认开启省电模式.可能会导致某些设计拙劣的网络程序掉线.建议开启.
        详情参见"Documentation/power/pm_qos_interface.txt"文档.
    cfg80211 DebugFS entries
    CONFIG_CFG80211_DEBUGFS
        仅供调试
    use statically compiled regulatory rules database
    CONFIG_CFG80211_INTERNAL_REGDB
        由于绝大多数发行版都含有CRDA软件包,所以绝大多数人应该选"N".
        如果你确实需要选"Y",那么请认真阅读"net/wireless/db.txt"文件.
    cfg80211 wireless extensions compatibility
    CONFIG_CFG80211_WEXT
        为那些老旧的用户空间程序提供兼容性,建议关闭.

lib80211 debugging messages
CONFIG_LIB80211_DEBUG
    仅供调试
Generic IEEE 802.11 Networking Stack (mac80211)
CONFIG_MAC80211
    独立于硬件的通用IEEE 802.11协议栈模块(mac80211).它是驱动开发者用来编写softMAC无线设备驱动的框架,
    softMAC设备允许用软件实现帧的管理(包括解析和产生80211无线帧),
    从而让系统能更好的控制硬件,现在大多数的无线网卡都是softMAC设备.
    不确定的选"Y".
PID controller based rate control algorithm
CONFIG_MAC80211_RC_PID
    基于比例-积分-微分控制器(PID controller)的发送速率(TX rate)控制算法.用于CONFIG_MAC80211模块.不确定的选"N".
Minstrel
CONFIG_MAC80211_RC_MINSTREL
    minstrel发送速率(TX rate)控制算法.用于CONFIG_MAC80211模块.
    这是首选的算法,不确定的选"Y".

    Minstrel 802.11n support
    CONFIG_MAC80211_RC_MINSTREL_HT
        minstrel_ht发送速率(TX rate)控制算法.适用于802.11n规范.不确定的选"Y".

Default rate control algorithm
    默认发送速率(TX rate)控制算法.相当于mac80211模块"ieee80211_default_rc_algo"参数的值.
    建议选择"Minstrel"算法.
Enable mac80211 mesh networking (pre-802.11s) support
CONFIG_MAC80211_MESH
    802.11s草案是无线网状网络(Mesh Networking)的延伸与增补标准(amendment).
    它扩展了IEEE 802.11 MAC(介质访问控制)标准,定义了利用自我组态的多点跳跃拓朴
    (multi-hop topologies),进行无线感知(radio-aware metrics),
    以支援广播/组播/单播传送网络封包的架构与协定.不确定的选"N".
Enable LED triggers
CONFIG_MAC80211_LEDS
    允许在接受/发送数据时触发无线网卡的LED灯闪烁.
Export mac80211 internals in DebugFS
CONFIG_MAC80211_DEBUGFS
    在DebugFS中显示mac80211模块内部状态的扩展信息,仅用于调试目的.
Trace all mac80211 debug messages
CONFIG_MAC80211_MESSAGE_TRACING
    跟踪所有mac80211模块的调试信息,仅用于调试目的.
Select mac80211 debugging features
CONFIG_MAC80211_DEBUG_MENU
    仅供调试

WiMAX Wireless Broadband support
CONFIG_WIMAX

WiMAX(IEEE 802.16)协议支持.随着2010年英特尔放弃WiMAX以及LTE在4G市场成了唯一的主流标准,
WiMAX的电信运营商也逐渐向LTE转移,WiMAX论坛也于2012年将TD-LTE纳入WiMAX2.1规范,
一些WiMAX运营商也开始将设备升级为TD-LTE.

WiMAX debug level
CONFIG_WIMAX_DEBUG_LEVEL
    设置允许使用的最大调试信息详细等级,推荐使用默认值"8",
    设为"0"表示允许使用所有调试信息.运行时默认禁止使用调试信息,
    但可通过sysfs文件系统中的debug-levels文件开启调试信息.

RF switch subsystem support
CONFIG_RFKILL

为了节约电力,很多无线网卡和蓝牙设备都有内置的射频开关(RF switche)用于开启和关闭设备(通过rfkill命令).
建议选"Y".更多详情参见"Documentation/rfkill.txt"文档

RF switch input support
CONFIG_RFKILL_INPUT
    这是个反对使用的特性,一般情况下建议关闭.
    但是某些笔记本无线网卡的开关是由按钮控制的,在这些笔记本上建议开启.
Generic rfkill regulator driver
CONFIG_RFKILL_REGULATOR
    通用射频开关驱动.这是最通用的驱动,其射频开关连接在电压调节器(voltage regulator)上.
    依赖于CONFIG_REGULATOR框架.
GPIO RFKILL driver
CONFIG_RFKILL_GPIO
    通用GPIO射频开关驱动.仅用于嵌入式环境,其射频开关连接在GPIO总线上,
    比如NVIDIA的Tegra和三星的Exynos 4智能手机SoC芯片.

Plan 9 Resource Sharing Support (9P2000)
CONFIG_NET_9P

实验性的支持Plan 9的9P2000协议.

CAIF support
CONFIG_CAIF

除非你为Android/MeeGo系统编译内核,并且需要使用PF_CAIF类型的socket,否则请选"N".

Ceph core library
CONFIG_CEPH_LIB

仅在你需要使用Ceph分布式文件系统,或者rados块设备(rbd)时选"Y".否则应选"N".

NFC subsystem support
CONFIG_NFC

NFC(近场通信)子系统.这些设备主要用于智能手机之类的嵌入式领域.