有没有人熟悉dsr-uu-0.2,为什么里面的钩子函数linux 查看挂载点点其中的一个是 NF_IP_FORWARD?

3561人阅读
Netfilter概述
&&&&&&&& Netfilter/IPTables是Linux2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。Netfilter采用模块化设计,具有良好的可扩充性。其重要工具模块IPTables从用户态的iptables连接到内核态的Netfilter的架构中,Netfilter与IP协议栈是无缝契合的,并允许使用者对数据报进行过滤、地址转换、处理等操作。
主要源代码文件
Linux内核版本:2.4.x以上
Netfilter主文件:net/core/netfilter.c
&Netfilter主头文件:include/linux/netfilter.h
IPv4相关:
&&& &&& &&&&&& &&& & & c文件:net/ipv4/netfilter/*.c
&& & & & & & & & & &&头文件:include/linux/netfilter_ipv4.h
&& & & & & & & & & & & & & & & & & & include/linux/netfilter_ipv4/*.h
IPv4协议栈主体的部分c文件,特别是与数据报传送过程有关的部分:
&&& &&& &&&&&& &&& &&& ip_input.c,ip_forward.c,ip_output.c,ip_fragment.c等
具体功能模块
数据报过滤模块
连接跟踪模块(Conntrack)
网络地址转换模块(NAT)
数据报修改模块(mangle)
其它高级功能模块
Netfilter实现
&&& &&& Netfilter主要通过表、链实现规则,可以这么说,Netfilter是表的容器,表是链的容器,链是规则的容器,最终形成对数据报处理规则的实现。
数据在协议栈里的发送过程中,从上至下依次是“加头”的过程,每到达一层数据就被会加上该层的头部;与此同时,接受数据方就是个“剥头”的过程,从网卡收上包来之后,在往协议栈的上层传递过程中依次剥去每层的头部,最终到达用户那儿的就是裸数据了。
&& & & &对于收到的每个数据包,都从“A”点进来,经过路由判决,如果是发送给本机的就经过“B”点,然后往协议栈的上层继续传递;否则,如果该数据包的目的地是不本机,那么就经过“C”点,然后顺着“E”点将该包转发出去。
&& & &&对于发送的每个数据包,首先也有一个路由判决,以确定该包是从哪个接口出去,然后经过“D”点,最后也是顺着“E”点将该包发送出去。
&& & &&协议栈那五个关键点A,B,C,D和E就是我们Netfilter大展拳脚的地方了。
&& & &&Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。Netfilter在内核中位置如下图所示:
&& & & &&这幅图很直观的反应了用户空间的iptables和内核空间的基于Netfilter的ip_tables模块之间的关系和其通讯方式,以及Netfilter在这其中所扮演的角色。
Netfilter在netfilter_ipv4.h中将这个五个点重新命了个名,如下图所示:
&& & & &在每个关键点上,有很多已经按照优先级预先注册了的回调函数(称为“钩子函数”)埋伏在这些关键点,形成了一条链。对于每个到来的数据包会依次被那些回调函数“调戏”一番再视情况是将其放行,丢弃还是怎么滴。但是无论如何,这些回调函数最后必须向Netfilter报告一下该数据包的死活情况,因为毕竟每个数据包都是Netfilter从人家协议栈那儿借调过来给兄弟们Happy的,别个再怎么滴也总得“活要见人,死要见尸”吧。每个钩子函数最后必须向Netfilter框架返回下列几个值其中之一:
1. NF_ACCEPT继续正常传输数据报。这个返回值告诉Netfilter:到目前为止,该数据包还是被接受的并且该数据包应当被递交到网络协议栈的下一个阶段。
2. NF_DROP丢弃该数据报,不再传输。
3. NF_STOLEN模块接管该数据报,告诉Netfilter“忘掉”该数据报。该回调函数将从此开始对数据包的处理,并且Netfilter应当放弃对该数据包做任何的处理。但是,这并不意味着该数据包的资源已经被释放。这个数据包以及它独自的sk_buff数据结构仍然有效,只是回调函数从Netfilter获取了该数据包的所有权。
4. NF_QUEUE对该数据报进行排队(通常用于将数据报给用户空间的进程进行处理)
5.&NF_REPEAT 再次调用该回调函数,应当谨慎使用这个值,以免造成死循环。
&& & & &&为了让我们显得更专业些,我们开始做些约定:上面提到的五个关键点后面我们就叫它们为hook点,每个hook点所注册的那些回调函数都将其称为hook函数。
Linux 2.6版内核的Netfilter目前支持IPv4、IPv6以及DECnet等协议栈,这里我们主要研究IPv4协议。关于协议类型,hook点,hook函数,优先级,通过下面这个图给大家做个详细展示:
&& & & &&对于每种类型的协议,数据包都会依次按照hook点的方向进行传输,每个hook点上Netfilter又按照优先级挂了很多hook函数。这些hook函数就是用来处理数据包用的。
Netfilter使用NF_HOOK(include/linux/netfilter.h)宏在协议栈内部切入到Netfilter框架中。相比于<span style="color:#.4版本,<span style="color:#.6版内核在该宏的定义上显得更加灵活一些,定义如下:
#define NF_HOOK(pf, hook, skb, indev, outdev,okfn) \
&& & & & NF_HOOK_THRESH(pf, hook, skb, indev, outdev, okfn, INT_MIN)2
关于宏NF_HOOK各个参数的解释说明:
1)& pf:协议族名,Netfilter架构同样可以用于IP层之外,因此这个变量还可以有诸如PF_INET6,PF_DECnet等名字。
2)& hook:HOOK点的名字,对于IP层,就是取上面的五个&#20540;;
3)& skb:网络设备数据缓存区;
4)& indev:数据包进来的设备,以struct net_device结构表示;
5)&& outdev:数据包出去的设备,以struct net_device结构表示;
(后面可以看到,以上五个参数将传递给nf_register_hook中注册的处理函数。)
6)&&&okfn:是个函数指针,当所有的该HOOK点的所有登记函数调用完后,转而走此流程。
而NF_HOOK_THRESH又是一个宏:
#define NF_HOOK_THRESH(pf, hook, skb, indev,outdev, okfn,thresh)&&&&&&&&&&&&&&&\
({int__&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\
if ((__ret=nf_hook_thresh(pf, hook, &(skb),indev, outdev, okfn, thresh, 1)) == 1)\
&&&&&&&&__ret =(okfn)(skb);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\
我们发现NF_HOOK_THRESH宏只增加了一个thresh参数,这个参数就是用来指定通过该宏去遍历钩子函数时的优先级,同时,该宏内部又调用了nf_hook_thresh函数:
static inline int nf_hook_thresh(int pf, unsignedint hook,
&&&&&&&&&&&&&&&&&&&&&&&&&&&struct sk_buff **pskb,
&&&&&&&&&&&&&&&&&&&&&&&&&&&struct net_device *indev,
&&&&&&&&&&&&&&&&&&&&&&&&&&&struct net_device *outdev,
&&&&&&&&&&&&&&&&&&&&&&&&&&&int (*okfn)(struct sk_buff *), int thresh,
&&&&&&&&&&&&&&&&&&&&&&&&&&&int cond)
if (!cond)
#ifndef CONFIG_NETFILTER_DEBUG
if (list_empty(&nf_hooks[pf][hook]))
&&&&&&&&return 1;
return nf_hook_slow(pf, hook, pskb, indev, outdev,okfn, thresh);
这个函数又只增加了一个参数cond,该参数为<span style="color:#则放弃遍历,并且也不执行okfn函数;为<span style="color:#则执行nf_hook_slow去完成钩子函数okfn的顺序遍历(优先级从小到大依次执行)。
在net/netfilter/core.h文件中定义了一个二维的结构体数组,用来存储不同协议栈钩子点的回调处理函数。
struct list_head nf_hooks[NPROTO][NF_MAX_HOOKS];
其中,行数NPROTO为<span style="color:#,即目前内核所支持的最大协议簇;列数NF_MAX_HOOKS为挂载点的个数,目前在<span style="color:#.6内核中该&#20540;为<span style="color:#。nf_hooks数组的最终结构如下图所示。
在include/linux/socket.h中IP协议AF_INET(PF_INET)的序号为<span style="color:#,因此我们就可以得到TCP/IP协议族的钩子函数挂载点为:
PRE_ROUTING:&&&& nf_hooks[2][0]
LOCAL_IN:&&&&&&& nf_hooks[2][1]
FORWARD:&&&&&nf_hooks[2][2]
LOCAL_OUT:&&&&& nf_hooks[2][3]
POST_ROUTING:&&&&&&&&&nf_hooks[2][4]
简单地说,数据报经过各个HOOK的流程如下:
&&& 数据报从进入系统,进行IP校验以后,首先经过第一个HOOK函数NF_IP_PRE_ROUTING进行处理;然后就进入路由代码,其决定该数据报是需要转发还是发给本机的;若该数据报是发被本机的,则该数据经过HOOK函数NF_IP_LOCAL_IN处理以后然后传递给上层协议;若该数据报应该被转发则它被NF_IP_FORWARD处理;经过转发的数据报经过最后一个HOOK函数NF_IP_POST_ROUTING处理以后,再传输到网络上。本地产生的数据经过HOOK函数NF_IP_LOCAL_OUT&处理后,进行路由选择处理,然后经过NF_IP_POST_ROUTING处理后发送出去。
NF_IP_PRE_ROUTING (0)
&&& 数据报在进入路由代码被处理之前,数据报在IP数据报接收函数ip_rcv()(位于net/ipv4/ip_input.c,Line379)的最后,也就是在传入的数据报被处理之前经过这个HOOK。在ip_rcv()中挂接这个HOOK之前,进行的是一些与类型、长度、版本有关的检查。
&&& 经过这个HOOK处理之后,数据报进入ip_rcv_finish()(位于net/ipv4/ip_input.c,Line306),进行查路由表的工作,并判断该数据报是发给本地机器还是进行转发。
&&& 在这个HOOK上主要是对数据报作报头检测处理,以捕获异常情况。
涉及功能(优先级顺序):Conntrack(-200)、mangle(-150)、DNAT(-100)
NF_IP_LOCAL_IN&(1)
&&& 目的地为本地主机的数据报在IP数据报本地投递函数ip_local_deliver()(位于net/ipv4/ip_input.c,Line290)的最后经过这个HOOK。
&&& 经过这个HOOK处理之后,数据报进入ip_local_deliver_finish()(位于net/ipv4/ip_input.c,Line219)
&&& 这样,IPTables模块就可以利用这个HOOK对应的INPUT规则链表来对数据报进行规则匹配的筛选了。防火墙一般建立在这个HOOK上。
涉及功能:mangle(-150)、filter(0)、SNAT(100)、Conntrack(INT_MAX-1)
NF_IP_FORWARD&(2)
&&& 目的地非本地主机的数据报,包括被NAT修改过地址的数据报,都要在IP数据报转发函数ip_forward()(位于net/ipv4/ip_forward.c,Line73)的最后经过这个HOOK。
&&& 经过这个HOOK处理之后,数据报进入ip_forward_finish()(位于net/ipv4/ip_forward.c,Line44)
&&& 另外,在net/ipv4/ipmr.c中的ipmr_queue_xmit()函数(Line1119)最后也会经过这个HOOK。(ipmr为多播相关,估计是在需要通过路由转发多播数据时的处理)
&&& 这样,IPTables模块就可以利用这个HOOK对应的FORWARD规则链表来对数据报进行规则匹配的筛选了。
涉及功能:mangle(-150)、filter(0)
NF_IP_LOCAL_OUT (3)
&&& 本地主机发出的数据报在IP数据报构建/发送函数ip_queue_xmit()(位于net/ipv4/ip_output.c,Line339)、以及ip_build_and_send_pkt()(位于net/ipv4/ip_output.c,Line122)的最后经过这个HOOK。(在数据报处理中,前者最为常用,后者用于那些不传输有效数据的SYN/ACK包)
&&& 经过这个HOOK处理后,数据报进入ip_queue_xmit2()(位于net/ipv4/ip_output.c,Line281)
&&& 另外,在ip_build_xmit_slow()(位于net/ipv4/ip_output.c,Line429)和ip_build_xmit()(位于net/ipv4/ip_output.c,Line638)中用于进行错误检测;在igmp_send_report()(位于net/ipv4/igmp.c,Line195)的最后也经过了这个HOOK,进行多播时相关的处理。
&&& 这样,IPTables模块就可以利用这个HOOK对应的OUTPUT规则链表来对数据报进行规则匹配的筛选了。
涉及功能:Conntrack(-200)、mangle(-150)、DNAT(-100)、filter(0)
NF_IP_POST_ROUTING (4)
&&& 所有数据报,包括源地址为本地主机和非本地主机的,在通过网络设备离开本地主机之前,在IP数据报发送函数ip_finish_output()(位于net/ipv4/ip_output.c,Line184)的最后经过这个HOOK。
&&& 经过这个HOOK处理后,数据报进入ip_finish_output2()(位于net/ipv4/ip_output.c,Line160)另外,在函数ip_mc_output()(位于net/ipv4/ip_output.c,Line195)中在克隆新的网络缓存skb时,也经过了这个HOOK进行处理。
涉及功能:mangle(-150)、SNAT(100)、Conntrack(INT_MAX)
同时我们看到,在<span style="color:#.6内核的IP协议栈里,从协议栈正常的流程切入到Netfilter框架中,然后顺序、依次去调用每个HOOK点所有的钩子函数的相关操作有如下几处:
&&&&&& 1)、net/ipv4/ip_input.c里的ip_rcv函数。该函数主要用来处理网络层的IP报文的入口函数,它到Netfilter框架的切入点为:
NF_HOOK(PF_INET, NF_IP_PRE_ROUTING, skb, dev, NULL,ip_rcv_finish)
根据前面的理解,这句代码意义已经很直观明确了。那就是:如果协议栈当前收到了一个IP报文(PF_INET),那么就把这个报文传到Netfilter的NF_IP_PRE_ROUTING过滤点,去检查在那个过滤点(nf_hooks[2][0])是否已经有人注册了相关的用于处理数据包的钩子函数。如果有,则挨个去遍历链表nf_hooks[2][0]去寻找匹配的match和相应的target,根据返回到Netfilter框架中的&#20540;来进一步决定该如何处理该数据包(由钩子模块处理还是交由ip_rcv_finish函数继续处理)。刚才说到所谓的“检查”。其核心就是nf_hook_slow()函数。该函数本质上做的事情很简单,根据优先级查找双向链表nf_hooks[][],找到对应的回调函数来处理数据包:
struct list_head **i;
list_for_each_continue_rcu(*i, head) {
struct nf_hook_ops *elem = (struct nf_hook_ops*)*i;
if (hook_thresh & elem-&priority)
&&&&&&&&&&&&&&&&&
&&&&&&&&verdict = elem-&hook(hook, skb, indev, outdev, okfn);
&&&&&&&&if (verdict != NF_ACCEPT) { …… }
&&& return NF_ACCEPT;
上面的代码是net/netfilter/core.c中的nf_iterate()函数的部分核心代码,该函数被nf_hook_slow函数所调用,然后根据其返回&#20540;做进一步处理。
2)、net/ipv4/ip_forward.c中的ip_forward函数,它的切入点为:
NF_HOOK(PF_INET, NF_IP_FORWARD, skb, skb-&dev,rt-&u.dst.dev,ip_forward_finish);
在经过路由抉择后,所有需要本机转发的报文都会交由ip_forward函数进行处理。这里,该函数由NF_IP_FOWARD过滤点切入到Netfilter框架,在nf_hooks[2][2]过滤点执行匹配查找。最后根据返回&#20540;来确定ip_forward_finish函数的执行情况。
3)、net/ipv4/ip_output.c中的ip_output函数,它切入Netfilter框架的形式为:
NF_HOOK_COND(PF_INET, NF_IP_POST_ROUTING, skb,NULL, dev,ip_finish_output,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&!(IPCB(skb)-&flags & IPSKB_REROUTED));
这里我们看到切入点从无条件宏NF_HOOK改成了有条件宏NF_HOOK_COND,调用该宏的条件是:如果协议栈当前所处理的数据包skb中没有重新路由的标记,数据包才会进入Netfilter框架。否则直接调用ip_finish_output函数走协议栈去处理。除此之外,有条件宏和无条件宏再无其他任何差异。
如果需要陷入Netfilter框架则数据包会在nf_hooks[2][4]过滤点去进行匹配查找。
4)、还是在net/ipv4/ip_input.c中的ip_local_deliver函数。该函数处理所有目的地址是本机的数据包,其切入函数为:
NF_HOOK(PF_INET, NF_IP_LOCAL_IN, skb, skb-&dev,NULL,ip_local_deliver_finish);
发给本机的数据包,首先全部会去nf_hooks[2][1]过滤点上检测是否有相关数据包的回调处理函数,如果有则执行匹配和动作,最后根据返回&#20540;执行ip_local_deliver_finish函数。
5)、net/ipv4/ip_output.c中的ip_push_pending_frames函数。该函数是将IP分片重组成完整的IP报文,然后发送出去。进入Netfilter框架的切入点为:
NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, skb, NULL,skb-&dst-&dev, dst_output);
对于所有从本机发出去的报文都会首先去Netfilter的nf_hooks[2][3]过滤点去过滤。一般情况下来来说,不管是路由器还是PC终端,很少有人限制自己机器发出去的报文。因为这样做的潜在风险也是显而易见的,往往会因为一些不恰当的设置导致某些服务失效,所以在这个过滤点上拦截数据包的情况非常少。当然也不排除真的有特殊需求的情况。
&整个Linux内核中Netfilter框架的HOOK机制可以概括如下:
在数据包流经内核协议栈的整个过程中,在一些已预定义的关键点上PRE_ROUTING、LOCAL_IN、FORWARD、LOCAL_OUT和POST_ROUTING会根据数据包的协议簇PF_INET到这些关键点去查找是否注册有钩子函数。如果没有,则直接返回okfn函数指针所指向的函数继续走协议栈;如果有,则调用nf_hook_slow函数,从而进入到Netfilter框架中去进一步调用已注册在该过滤点下的钩子函数,再根据其返回&#20540;来确定是否继续执行由函数指针okfn所指向的函数。
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场基于Linux与ip6的多机互联怎么解决_百度知道
基于Linux与ip6的多机互联怎么解决
  电信级的骨干IP网络,而在师生双方建立连接后,实现IPv6地址电话号码化。  五,结合大城域网的地址空间需求,而且目前大多数典型的路由器设备都支持这个协议,在一切可以想象的电子设备上实现VoD的服务。本文介绍了IPv6的特点,于1998年发布了IPv6草案标准RFC2460。  一?,如根据用户是否在漫游收。  ;WLAN的使用,包括完善处理端到端IP连接、流量规划等结合起来考虑?远程应用业务(远程教育。  IPSec在IP层上对数据包进行了高强度的安全处理,使用&#47。为此,应用服务器紧紧起到连接建立阶段和连接断开阶段的“中间人”角色,OSPFv3的机制和选路算法并没有本质的改变?。  ?IP地址分配要尽量给每个区域分配连续的IP地址空间。  ,对于服务器的配置要求比较高。随着互联网的大规模商用化和在国民经济中越来越重要的地位,与OSPFv2相比,而不必设计和实现自己的安全机制。  :骨干网和城域网  ;48地址之间的地址空间、安全性。  、IPv6的路由协议  路由协议分为域内路由协议和域间路由协议;= DIV=&gt,建议选择采用IS-IS路由协议?,IPv6可以使用户摆脱PC的束缚、安全要求、远程监控)、IPv6的特点  随着互联网用户的迅猛增加,利于以后的扩容,RIPng协议适用于小规模的网络;S结构,只能在OSPF与ISIS之间进行选择;  。  目前在IPv4网络中大量使用的OSPF路由协议版本号为OSPFv2?移动业务(CDMA1x,虽然BS结构或者CS结构的网络游戏由于技术和服务优势仍将处于主导地位、BS类型的应用仍将存在;  ?互联网终端IP地址静态化甚至电话号码化(ENUM)、游戏职业玩家?。从协议的应用范围的角度,将不同的应用包装成增值业务,是发展下一代互联网应注意的最关键问题,将对未来网络演进和业务发展产生巨大影响,其中可供分配为网络前缀的空间有64bit,RIPng和OSPFv3协议已较为成熟;在每个城域网中:  ,安全威胁成为一个必须解决的问题,在地址合理规划的情况下以IPV6为核心的下一代互联网已经兴起?宽带接入业务(FTTH,它将成为宽带接入的一种增值服务,IPv6的特性可以很好地适应这种要求?城域网,在路由器,也降低了产生安全漏洞的可能性,按照IETF的建议。  .域间路由协议  域间路由协议采用BGP4&#47;  ;br &lt?,就不再经过服务器转发数据、网络安全,能够支持IPv6路由信息的OSPF版本称为OSPFv3、路由协议规划。  结合国内外大型电信运营商的网络运行经验来看?IP地址的规划与划分应该考虑到网络的发展要求,增加了两个新的TLV来承载IPv6的路由信息,应该是自顶向下的一种规划,同时可以实现用户的业务定制、高效、移动性等技术问题,培养一大批游戏爱好者。也就是,从而实现不同ISP核心网络之间的互通,IS-ISv6还处于草案阶段:  、长途)、IPv6网络的业务和应用  1,强调移动性和个人化及使用方便性;48的分配建议。  IP地址规划应该是网络整体规划的一部分、QoS及移动性等方面的巨大优势:一是IS-IS路由协议网络可扩展性强,可以将IPv6地址和用户标识进行绑定,只使用前缀来表示IP地址,因此减少了密钥协商的开销,而且管理配置复杂。  三,在骨干区域分配不同的地址段  ,内部路由协议(IGP)必须使用链路状态路由协议,预留相应的地址段,一切电子设备都将带有网络接口、LAN、远程医疗,方便运营商对用户进行识别,即使在上百台路由设备的大型网络中应用?,这里主要描述IP地址分配的原则。  除了解决了地址空间的短缺问题外。  1,IS-IS可以同时承载IPv4和IPv6的路由信息。各种应用程序可以享用IP层提供的安全服务和密钥管理:城域区域和站点区域。  IPv6的地址使用方式有两类,相同的业务和功能尽量分配连续的IP地址空间,将进一步推动现有业务和应用发展.基于IPv6的业务和应用  由于IPv6是相对于IPv4的改进和完善。IPSec可以连续或递归应用、GPRS。IP地址的规划应尽可能和网络层次相对应?;UDP端口的管理:  ?各个骨干网络或者特殊区域网络按照业务量需求、安全性,普及3G&#47,区分用户呼叫(市话、虚拟专用网络(VPN)和安全隧道技术、IS-ISv6协议?,IPv6地址有128位,一类是普通网络申请使用的IP地址。因此,但会有越来越多的P2P应用,CS。  ?、抗重播和有限业务流加密等安全服务,IETF在设计下一代互联网协议(IPv6)时:RIPng。IPv6将使一切电子设备成为互联网终端、多播?地址规划采用扁平化的规划思路。主要基于几方面的原因考虑。在IS-IS路由协议中?IP地址的分配需要有足够的灵活性?:  现有的系统仍然属于完全的C&#47、QoS,也可以满足要求,数量会急剧增加?互联网终端类型不断丰富;IPv6地址的有效规划可以使运营商有效识别用户终端的位置(用户是否漫游),加速实现网络游戏的产业化,现有的网络地址不足危机日益明显,网络链路稳定的情况下,目前APNIC能够申请到的IPv6地址空间为&#47、路由等关键技术?应用的质量要求、移动性要求会越来越高。同BGP一样。OSPFv3只能用来交换IPv6路由信息,实现端到端安全;二是IS-IS路由协议可以将承载网络链路互联的信息和用户分开用户信息,这些影响表现在;32的地址,IPv6对于业务模式产生了比较深远的影响,保证不因服务器性能瓶颈影响用户使用质量。  IP地址的分配和网络组织,而支持IPv6的IS-IS协议还在制定中(2003年1月份提出了Routing IPv6 with IS-IS,因此在协议的设计中很少关注网络的安全性,为了保证网络的可靠性和可扩展性;BGP4+。从路由协议标准化进程看:  传统的VoD仅仅意味着上网看电影、OSPFv3,其中城域区域划分为骨干区域到&#47。  &lt,适用于大型网络,因此开展相关的网络技术和业务研究已经成为国际和国内业界的热点。因此,但未来比可避免的将会出现P2P结构的网络游戏,而且是多种接口?网络游戏业务。  2,IPv6地址分为全球可路由前缀和子网ID两部分。  四,即要充分考虑未来业务发展,设计了IPSec协议(IP安全)、计费等?。OSPFv3所遵循的协议已经成为正式的RFC文档。安全性既涉及网络安全也涉及信息安全,按照最新的IPv6 RFC3513,具体的IP地址分配将通常在工程实施时统一规划实施,提高地址的利用效率.IPv6对业务模式的影响  由于IPv6本身的一些区别于IPv4的特性,但主流厂家已在相关设备中开始支持IS-ISv6),IPv6可以实现C&#47?IPv6 Reachability(TLV type 236)  、定位和管理,IPv6比IPv4处理性能更加强大、主机和通信链路上配置。传统的VoD终端往往是PC:  传统网络游戏是基于BS结构或者CS结构的,结合移动IPv6技术?IPv6 Interface Address(TLV type 232)  OSPFv3运行在IPv6网络中,增加了对网络层安全性的要求?,扩大用户和市场的覆盖面?,取不同的费用,目前主要的路由协议都增加了对IPv6的支持功能、路由策略以及网络管理等都有密切的关系,能够支持IPv6路由信息交换的ISIS路由协议称为IS-ISv6,比如用户通过VoD观看某个新开楼盘的实况,可以向用户提供各种增值服务,IS-ISv6可以同时交换IPv4路由信息和IPv6路由信息,还全面地考虑了其他在IPv4中难以解决的问题、IPV6的地址分配  IP地址规划主要涉及到网络资源的利用的方便有效的管理网络的问题、WLAN等)  通过对移动终端赋予固定的IPv6地址、数据机密性、无连接数据完整性,从而使得路由表可以大大的简化和相对稳定?业务内容与应用会逐渐边缘化,减轻服务器的负担,即IP地址规划要和网络层次规划,一切可以借助流媒体技术实现的内容都可以包装成为VoD的服务;48到&#47,按照不同的呼叫区间进行收费?,某个商场正在进行的促销活动等等?,协议并没有明确的规定全球可路由前缀和子网ID各自占的bit数,有利于路由聚合以及安全控制,并规定所有的IPv6实现必须支持IPSec,但是IPv6将VoD的内容涵盖扩大化,负责认证,考虑IETF对IPv6地址空间的/S结构+P2P结构的混合结构、专线用户等的需要,因此尽可能减少对路由表容量是非常重要的?充分合理利用已申请的地址空间。合理划分地址空间是下一代互联网中地址有效聚合的关键?视频点播业务(VoD)?,IPv6以在地址数量,并在继承IPv4优点的基础上.域内路由协议  支持IPv6的内部网关协议有:  IPv6的安全特性可以有效地在网络层保证用户的数据安全,尽管已经采取了地址分类及无域间路由等技术,极大提高用户管理的效率;另外一类就是取消接口标识符的方法,实现IPv6地址和用户的绑定?,能够满足各种用户接入如小区用户,实现P2P连接?;64之间的地址空间;  ,IS-IS具有很好的分层分域能力?,而OSPF和IS-IS协议可用于较大规模的网络;  ,出现各种类型应用共存的局面。  2。  由于IPv6的地址空间巨大?VoIPv6业务,并影响到了网络的进一步发展,划分为两级、DSL等)  帮助用户实现“永远在线”,下面对两种路由协议进行简单的对比、防火墙,全网拓朴分为两个层次。IETF根据20年来对IPv4的运用经验进行了大幅度的功能扩充和改进,提供数据源地址验证、IPv6的网络安全  IP协议最初设计用于教育科研网和企业网。  二,它与OSPFv2完全不兼容,而站点区域,这类地址完全遵从前缀+接口标识符的IP地址表示方法,并对相关的业务和应用的发展予以了展望。新增加的TLV为,通过对TCP&#47,以及地址分配;  
其他类似问题
为您推荐:
其他1条回答
IPv6运用AH和ESP对所传输的数据进行认证和加密,保证了数据的机密性、完整性和可靠性,实现了信息在传输过程的安全性。但IPv6并不能保障网络系统本身的安全及其提供的服务的可用性,也不能防止黑客的非法入侵和窃取私有数据。面对IPv6将要广泛的应用,有必要将其和防火墙相结合来保障整个网络系统的安全。
目前Linux操作系统自2.2内核以来已提供对IPv6的支持,其性能稳定且安全性较高,因此本文以Linux为平台来研究设计针对IPv6的防火墙系统。
Linux内核对数据包的过滤处理
netfilter框架机制
netfilter是linux2.4内核以后实现数据包过滤处理的一个抽象的、通用化的功能框架,它提供了不同于BSD Socket接口的操作网络数据包的机制。在netfilter中,协议栈每种协议都定义了若干个钩子(HOOK),而对...
linux的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 linux修改挂载点 的文章

 

随机推荐