首页 理论教育 浅谈技术在计算机网络教学中的应用

浅谈技术在计算机网络教学中的应用

时间:2022-03-05 理论教育 版权反馈
【摘要】:摘 要:本文将开放网络的思想引入到计算机网络教学,基于ForCES实验平台,设计了一个可同时支持IPv4和IPv6双栈路由器的教学案例。ForCES的应用实践表明,该方法使学生开阔了眼界,激发了学习积极性,适合在本科计算机网络教学中推广。信息化时代计算机网络人才一直是市场热门人才的代表之一,然而随着网络技术应用的不断深化,社会对网络人才的要求逐步提高,传统的网络人才培养模式也在逐步发生变化。

浅谈ForCES技术在计算机网络教学中的应用[1]

高 明[2] 金 蓉[3] 王伟明[4]

(浙江工商大学信息与电子工程学院)

摘 要:本文将开放网络的思想引入到计算机网络教学,基于ForCES实验平台,设计了一个可同时支持IPv4和IPv6双栈路由器的教学案例。ForCES的应用实践表明,该方法使学生开阔了眼界,激发了学习积极性,适合在本科计算机网络教学中推广。

关键词:ForCES;计算机网络教学;开放网络;实验平台

一、引 言

信息化时代计算机网络人才一直是市场热门人才的代表之一,然而随着网络技术应用的不断深化,社会对网络人才的要求逐步提高,传统的网络人才培养模式也在逐步发生变化。如何培养一名社会需要的专业网络人才,是各高校努力提高计算机网络相关专业学生就业竞争力的核心问题。

计算机网络作为计算机网络专业的基础课程,对于后续专业课学习的重要性不言而喻,因此国内很多高校在计算机网络教学过程中,结合自己的办学特色对授课方法进行了创新实践,对教学内容进行了针对性的扩充以适应当前网络技术的发展。清华大学开发了NetRiver平台,鼓励并引导学生基于该平台自己动手实现各种网络协议,极大地调动了学生动手的积极性;西安交通大学建立了Linux virtual web server实验平台,让学生课堂内学习,课堂外随时练习课堂上的实践内容,锻炼实际动手能力;国防科技大学提出了案例教学法,充分利用科研优势,结合银河“玉衡”核心路由器、下一代互联网交换机等重点科研项目,将网络设备开发的思想与方法穿插到授课内容中,开阔了学生的视野。诸如此类,不难看出各个学校在计算机网络教学活动中都遵循了理论联系实践的原则,在强调动手能力的同时,根据本学校的实际情况引入一些特色平台和创新性内容。

结合作者所任职学校的实际情况,一直来我们所遵循的计算机网络教学思路是:理论课主要围绕TCP/IP的5层模型展开,而实验课则是通过配置具体的网络设备完成各种类型网络的组建。这一思路是符合理论联系实践的教学指导思想的,而且从目前我们掌握的情况来看,国内高校基本上采用的也都是这种教学思路。然而在我们的教学过程中一直有个问题长期困扰着我们,那就是理论课和实验课的衔接问题,具体表现为实验课内学生虽然都能正确地配置设备和组建网络,却对网络设备的内部结构和工作原理一无所知。关于这个问题,老师通常的观点是认为该部分内容与计算机网络课程无关,可以让学生课后自学完成,然而网络设备的内部结构是厂家的商业机密,公开的资料很少,即使公开其文档对本科生来说也难以理解。因而我们就思考能不能找到一种简单形象且易于理解的方式,向学生简单介绍一般网络设备的内部结构和工作原理。

循着上述思路,我们将开放网络的思想引入到计算机网络教学中去,帮助学生了解和掌握一般网络设备的内部结构和工作原理。如此考虑的主要原因是,基于开放网络思想设计的网络设备,其软件和硬件结构上分离,内部各资源部件和接口模块化、标准化,从而使网络设备的设计过程成为一个积木化搭建过程。这种模块化、标准化的思想对于学生学习有若干好处:(1)通用性,标准化的包处理模块降低了与生产厂商实现技术的紧耦合性,学生无需针对不同厂家设备重复学习;(2)直观性,允许学生自行构造包处理模块的拓扑,从而加深学生对设备内部包处理过程的直观认识和理解。

国际上关于开放网络研究的组织和机构有很多,其中最具代表性的就是IETF ForCES工作组,下面从ForCES技术本身入手,围绕着如何应用ForCES技术到计算机网络教学这一课题展开论述。

二、ForCES技术及其实验平台

(一)ForCES技术

一个满足ForCES规范的网络设备,其基本结构如图1所示,IETF RFC 3654 (ForCES需求分析)和IETF RFC 3746(ForCES框架)对其作了基本定义。设备内有至少一个(或多个,用于冗余备份)控制件(Control Element,CE)和多达几百个的转发件(Forwarding Element,FE)。CE和FE间的通信通过称为“ForCES协议”的标准协议来完成,这个连接面称为Fp参考点(ForCES控制接口),Fp参考点可以经由一跳(Single hop)也可以经由多跳(Multi-hops)网络实现。

图1 ForCES设备的基本结构

FE的体系结构主要由ForCES FE模型协议IETF RFC 5812定义[7],FE内基本结构如图2所示。FE内的资源被表示成各种不同的逻辑功能块LFB(Logical Functional Block),LFB及它的属性都是可以由CE通过ForCES协议进行控制的,各个LFB之间相互连接,该连接关系也是由CE经过ForCES协议进行控制,以形成不同的LFB拓扑结构,进而实现动态资源配置,这提供了对IP数据包进行各种不同处理的数据通道。典型的LFB如分类器、调度器、最长前缀IPv4或IPv6转发器等。

图2 ForCES转发件基本结构

ForCES技术使得网络设备具有很强的模块化特性。例如,软件的CE和硬件的FE可以在产品级分离,一个网络设备可以由不同厂家生产的CE和FE组合而成。更进一步地说,在一个转发件FE内,标准化的LFB也可以在产品级被分离、由不同厂家生产。同时,用户可通过ForCES UOM[8]配置FE内各LFB的功能,通过构造不同的LFB拓扑结构,使网络设备能完成各种不同的服务业务,例如,当把网络设备从IPv4升级到IPv6时,只要通过ForCES UOM加载相应的IPv6的LFB即可完成。

(二)ForCES实验平台

为了更好地推广ForCES技术,浙江工商大学的ITL实验室构建了一个如图3所示ForCES路由器原型系统的实验平台。其中CE的软硬件环境是基于Red hat 9.0的服务器并实现了Web功能;FE软硬件环境有基于Red hat 9.0的PC机和基于Monta Vista Linux的网络处理器开发板。FE中可支持的LFB类型有:FEObject、FEPO、EtherPort、EtherDecap、IPv4NextHopApplication、IPv4Validor、IPv4UcastLPM、MetaClassifier、Scheduler、Queue、EtherEncap、RedirectSink、RedirectTap、ForwdPortCollate等。

CE配有2个端口,一端口用于ForCES路由器内部与FE的交互,另一端口用于外部用户对ForCES路由器的管理。FE(PC)有3个端口,一端口用于与CE进行的ForCES数据通信(eth2);一端口用于FE间内部数据包转发通信(eth1);另一端口即为ForCES路由器的对外端口(eth0)。FE(NP)有5个端口,两端口分别用于与CE进行的ForCES数据通信及FE间的数据包转发通信,另有3个端口为ForCES路由器的对外端口。

通过该UOM界面,用户可以对图3所示的ForCES平台内资源进行查看、配置等操作,具体包括PL、TML配置管理、LFB事件的订阅/取消/查看、LFB拓扑显示、树节点操作、Attribute、Property的配置/查询、第三方软件管理、路由表管理、网络接口管理、VPN管理、日志查询等。该平台基于J2EE架构实现,提供Web的登录方式(ht-tp://netcom.zjgsu.edu.cn/forces/uom.html),用户可以通过IE浏览器,十分方便地对ForCES网络设备进行配置管理。

图3 ForCES实验平台的硬件构成及配置图

三、基于ForCES实验平台的教学案例设计

为了让学生更直观地明白一般网络设备的内部构造和工作原理,以一个支持IPv4 和IPv6的双栈路由器为例进行说明。通常,面对这样一个功能复杂的路由器,老师要说清楚已实属不易,如果进一步要让学生理解并自行设计必定十分困难,因为这其中涉及太多的技术细节。如今借助于ForCES实验平台,设计并实现这样功能的一个路由器变得十分简单、便利,且通过ForCES UOM提供的图形化界面,甚至可以实时跟踪路由器内每个数据包的处理过程,从而让学生直观且印象深刻地明白路由器的内部结构组成和对数据包的处理过程。

为此,我们需要构造一个如图4所示的LFB拓扑,该拓扑对应的是路由器内的数据包处理模块的构成和彼此之间的连接关系。数据包处理流程如下,EtherPort(ingress)模块负责通过网络接口从链路上接收数据包;EtherDecap/Classiy模块对数据包的以太网帧头进行解封装,判断网络层包的类型,该类型可能为ARP、IPv4和IPv6,若为ARP,发送至图中ARP模块,若为IPv4或IPv6,对应地发送至IPv4Validator或IPv6Validator模块,相应地进入IPv4或IPv6的数据包处理过程。

IPv4数据包处理过程如下,IPv4Validator模块对IPv4包头进行检验和计算,若校验正确说明数据包为普通IPv4包则交付于IPv4UcastLPM模块,否则说明数据包中包含MetaData信息将交付至MetaClassifier1模块。MetaClassifier1模块为元数据分类器,分量的结果有两种:一种情况由OptionProc模块对启用了IP选项字段的包进行处理,并将处理结果重新交付于IPv4Validator模块;另一种情况表明这是ICMP消息交付于ICMP模块处理。IPv4UcastLPM模块对单播的IPv4进行最长前缀匹配查表,查表的结果将得到下一跳的索引。IPv4NextHopApplicatior模块根据前述索引查询下一跳表,查表的结果将得到输出的接口和下一跳对应的Mac地址。EtherUcastEncap模块根据查表得到的Mac地址对IPv4单播包进行以太网帧头的封装工作;若是ARP包,将发送至ARP模块进行处理。本案例中,我们为路由器设计了两个队列管理器和一个调度器,图中对应的是HigPrioQueue、LowPrioQueue和PQsched,PQsched根据调度策略分别从HigPrioQueue和LowPrioQueue中选取数据包,交付于EtherPort (egress)模块进行发送。

IPv6数据包处理过程如下,IPv6Validator模块对IPv6包头进行检验和计算,若校验正确说明数据包为普通IPv6包则交付于IPv6UcastLPM模块,否则说明数据包中包含MetaData信息将交付至MetaClassifier0模块。MetaClassifier0模块为元数据分类器,分量的结果有三种:一种情况由ExtensionHeader模块对启用了IP扩展头的数据包进行处理,并将处理结果交付于IPv6UcastLPM模块;另一种情况是ICMPv6消息,交付于ICMPv6模块处理(注:这里v6协议栈对ICMPv6的处理方式为v6-Over-v4);最后一种情况是地址解析消息,交付于AddrResolution模块。AddrResolution模块在执行完地址解析处理后,处理细分为请求和应答,对应地直接交于HigPrioQueue和LowPrioQueue。IPv6UcastLPM模块对单播的IPv6进行最长前缀匹配查表,查表的结果将得到下一跳的索引。IPv6NextHopApplicatior模块根据前述索引查询下一跳表,查表的结果将得到输出的接口和下一跳对应的Mac地址。EtherUcastEncap、HigPrioQueue、LowPrioQueue、PQsched、EtherPort(Egress)模块的处理过程与上述IPv4相同,不再赘述。

图4 同时支持IPv4和v6双栈路由器的LFB拓扑

综上分析,不难看出案例中所涉及的知识点在计算机网络日常教学中实际上都有所涉及,也就是对学生而言,理解并掌握图4中所示的支持IPv4和v6双栈路由器是切实可行的,这将极大地激发出学生对计算机网络深入学习的兴趣和信心。

四、效果评估

以作者所任职的学校为例,授课对象为网络工程专业学生,从2005年开始将ForCES技术应用到计算机网络的日常教学活动,积极引导学生深入学习,报考网络专业的硕士研究生、CCNP和与ForCES相关的毕设课题。取得教学成果如图5,评估对象为2005—2008级的203名学生。(注:截至统计之日,2008级学生尚未毕业,其成果还不完整。)

图5 教学成果统计

五、总 结

计算机网络教学活动中,我们引入了开放网络的研究思想。基于ForCES实验平台,设计了一个同时支持IPv4和IPv6双栈路由器的教学案例,通过让学生积极参与,开阔了眼界、激发了学习积极性并进一步加深了对计算机网络中基本概念的理解,取得了良好的教学成果。下一步,我们准备让学生自行设计方案,充分调动学生的创新思维,响应国家十二五期间建设创新型社会的号召,为社会输出满意人才。

参考文献

[1]徐明伟,徐恪,崔勇.计算机网络实验教学与NetRiver实验系统[C].第一届全国高等学校计算机网络课程教学研讨会.北京:清华大学,2008.

[2]冯博琴.计算机基础教学新阶段的教学改革研究[J].中国大学教学,2009(04).

[3]徐明,窦文华,姚丹霖.“计算机网络”国家精品课程建设[J].计算机教育.2008(08).

[4]Weiming Wang,Ligang Dong,Yunfei Guo.General Router Management Protocol(GRMP)Version 1[EB/OL].[2004-06-12].http://www.sstanamera.com/~forces/Old/draftwang-forces-grmp-02.txt.

[5]H.Khosravi,T.Anderson.Requirements for Separation of IP Control and Forwarding[S].[2003-11].http://datatracker.ietf.org/doc/rfc3654.

[6]R.Dantu,T.Anderson,R.Gopal.Forwarding and Control Element Separation(ForCES)Framework[S].(2004-04).http://datatracker.ietf.org/doc/rfc3746.

[7]J.Halpern,J.Hadi Salim.Forwarding and Control Element Separation(ForCES)Forwarding Element Model[S].[2010-03].http://datatracker.ietf.org/doc/rfc5812.

[8]夏建道.基于ForCES架构路由器的用户管理平台的研究与实现[D].浙江工商大学硕士学位论文,2008.

[9]W.Wang,E.Haleplidis,K.Ogawa.ForCES Logical Function Block(LFB)Library[EB/OL].[2011-07-10].http://datatracker.ietf.org/doc/draft-ietf-forces-lfb-lib.

【注释】

[1]基金项目:国家自然科学基金资助项目(60970126);浙江省教育厅基金资助项目(Y200804981);浙江本科高校实验教学示范中心项目“网络与通信技术实验教学中心”。

[2]高明,讲师,博士,研究方向为网络通信。

[3]金蓉,副教授,博士,研究方向为网络通信。

[4]王伟明,院长,教授,博士,研究方向为网络通信。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈