欢迎来到天天文库
浏览记录
ID:33817378
大小:333.02 KB
页数:5页
时间:2019-02-28
《基于linux内核模式的pppoe优化与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据第18卷V01.18第7期No.7电子设计工程ElectronicDesignEngineering2010年7月Jul.2010基于Linux内核模式的PPPoE优化与实现张南平.徐永(武汉理工大学计算机学院,湖北武汉430071)摘要:PPPoE是一种数据链路层通信协议.在Linux下大部分PPPoE拨号都实现于用户空间。而提出了将PPPoE的实现于内核,即把PPP层的封包解包实现于内核。这样就可以大大降低了内核空间数据与用户空间数据的切换开销。另外为了减低路由模块设计者的任务,还提出了以物理接口来代替传统的虚拟PPP接口。即所有的数据传输直接
2、经过物理网卡。该系统设计已在Linux2.6.18内核版本上完全测试通过。关键词:网络;PPPOE;Linux内核;封包中圈分类号:7rP312文献标识码:A文章编号:1674--6236(2010)07-0155-03ImplementandoptimizationofkernelmodePPPoEbasedonLinuxZHANGNan—ping,XUYong(SchoolofComputerScienceandThechnology,WuhanUnivers酊ofThechnology,Wuhan430071,China)Abstract:PPPoE
3、alsocalledTunnelNetworkprotoc01.UnderLinux.themainimplementationmodeofPPPOEisbasedonuser-space.711lispapergavePPPoEimplementationunderLinuxkernelmode。thatistosay。theencasulatafionanddeeapsulationofPPPlayerwasimplementedinthekernelpackage.andthismethodcandecreasethecostofthecontext
4、betweentheuserspaceandkernelspace.AndthisschematicdesignabandonedthemethodoftransmittinginformationbythevirtualinterfacecalledPPP.ItwilltransmitallinformationbythephysicalinterfaceinsteadofPPP,toreducedevelopers’tasks.AlltheimplementationhavepassedthetestontheLinux2.6.18.Keywords:
5、network;PPPoE;Linuxkernel;encapsulationPPPoE(Point.to.PointProtocoloverEthernet)是将PPP协议封装在以太网帧上进行传输。它的通信过程分为探测(Discovery)和PPP会话(Session)2个阶段。PPPoEDiscovery阶段主要是客户机确定AC(AccessConcentrator)以及客户机与AC协商SessionID。而PPPoESession用于完成数据包的接收与发送,同时它也用于完成PPP链路的协商(LCP),以及网络层的控制协商(IPCP)等【l】。传统的P
6、PPoE先会用Rawsocket读取数据.然后采用用户态程序对其封包解包。然后再发送给内核。但是这种方法会引起大量的内核空间与用户空间的上下文切换,从而带来不必要的开销。而对于实现于内核态的PPPoE,它会把所有的封包以及解包实现于内核,这样就大大提高PPPoE的效率。1PPPoE协议概述1.1PPPoEDiscovery阶段在PPPoEDiscovery阶段.客户机首先广播一个PADI(Ox09)帧【ll。收到PADI帧的一个或多个服务器会发送PA.DO(0x07)帧。这个包中包含了服务器的各种标识。然后,客户机会选择其中一个服务器发送PADR(0x19
7、),表明主机选择了这个服务器。最终。收到PADR(0)【65)帧的服务器会为新的收稿日期:2010-旬1—10稿件编号:201001031会话分配资源并向客户机发送PADS(Ox65)。当此阶段完成,这两次的对话完成了SESSION_ID以及双方物理地址.为后续数据会话打好基础。同时PPP协议还提供了一个PADT请求,该请求用于结柬这次PPPoE会话。这个请求可以由任何一方发出,同时代表这次回话的结束.图l描述整个dis.eovery过程。1.2PPPoESession阶段客户机1.一I服务器AD图lPPPoE通信过程PPPoEDiscovery阶段是为整
8、个PPPoE会话获取双方物理地址以及Session—ID,这个Se
此文档下载收益归作者所有