美文网首页
无标题文章

无标题文章

作者: westolife | 来源:发表于2016-03-25 20:40 被阅读60次

    文档目的

    本文阐述了控制网关中软件的实现,一个是检测和控制MPTCP传输参量的程序。
    由于控制网关是Linux平台,根据Linux平台的特点,在Linux内核中已经编译了MPTCP的传输层文件的基础上,本网关软件的研发采用“Shell编程”+“MPTCP配置文件”的方案,从而实现对传输参量的方便可靠监控。

    程序设计

    具体来说,Shell脚本是跟Windows下的批处理文件类似的脚本程序,可以将各类命令预装入一个文件中,因此通过Shell脚本程序访问预编译进内核的MPTCP配置文件,也就是说Shell编程可作为MPTCP配置文件的编程接口。网关控制软件的框架如下所示:



    MPTCP的主要配置文件有:mptcp_enabled、mptcp_checksum、mptcp_syn_retries、mptcp_debug、mptcp_path_manager.
    这些配置文件具有不同的监控传输参量的功能,功能说明如下:
    mptcp_enabled:控制MPTCP的开关,实现MPTCP与传统TCP之间的切换;
    mptcp_checksum:控制MPTCP传输层中数据序列号校验和(DSS-checksum)的开关,DSS-checksum主要跟传输可靠性相关;
    mptcp_syn_retries:指定SYN的重传次数,SYN里包含了MP_CAPABLE选项字段。通过此配置文件,SYN将不会包含MP_CAPABLE选项,这是为了处理会丢弃含有未知TCP选项的SYN的网络中间件;
    mptcp_debug:调试MPTCP,控制是否打印debug报告文件;
    mptcp_path_manager:MPTCP路径管理,有三个不同的配置值,分别是default/ndiffports/fullmesh,分别可以选择单路、多路或者全路进行传输。其中单路是指跟传统TCP状态一样还是用单一的TCP子流进行传输,多路是当前所有TCP子流中用户选择x条子流数进行传输,全路是指将当前所有可用的TCP子流应用到网络传输中[7]

    通过预留的编程接口,在Shell脚本程序里访问以上所述的配置文件,从而监控当前的传输参量,对MPTCP进行传输管理,程序的算法设计如下:



    根据此算法设计图,用Shell编程语言编写可以访问MPTCP配置文件的Shell脚本程序,实现对当前传输参量的监控。
    程序实现

    Shell脚本程序的详细代码如下:

    本系统成功在安装并编译了MPTCP的网关里编写了网关软件,网关软件实现了如下功能:

    1)利用MPTCP的预留接口控制传输参量,达到根据网络环境变化调整传输参量的目的;

    2)网关软件供用户实时查看传输层参量,获知当前网络传输情况,以此可选择是否调整;

    3)将Linux命令集成到了一个程序中,提供了不同于传统Linux终端的界面,具有用户友好的操作。

    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/jkldlttx.html