zoukankan      html  css  js  c++  java
  • mptcp 路径管理中的fullmesh和 ndiffports以及subflows

    来源于文章“On the Path Management of Multi-Path TCP in Internet Scenarios based on the NORNET Testbed”(Wang K, Dreibholz T, Zhou X, et al. On the Path Management of Multi-path TCP in Internet Scenarios Based on the NorNet Testbed[C]// IEEE, International Conference on Advanced Information NETWORKING and Applications. IEEE, 2017:1-8.)

     

    In Linux MPTCP [15], the most state-of-the-art implementation of MPTCP, this decision is based on the configured path manager. Four path managers are currently provided by Linux

    MPTCP:

    1) “default”: This path manager actually does not do anything. It will neither announce different IP addresses nor initiate the creation of new subflows. However, it will accept the passive creation of new subflows.

    2) “fullmesh”: As the name already says, this path manager establishes the full mesh [16] of subflows.

    3) “ndiffports”: Instead of using multiple IP addresses, this path manager always uses the same IP-address pair for its paths. However, each path uses different source and destination TCP ports. This path manager is intended to circumvent bandwidth-limiting middleboxes by mimicking different TCP connections.

    4) “binder”: This path manager [23] is using Loose Source Routing [24] to distribute the packets of subflows. Using packet relays, it allows for applications on enduser devices to benefit from gateway aggregation without requiring any modifications.

    此外,官网(http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP)也指出:

    Configure the path-manager:

    We have a modular structure for the path-manager. At compile-time you can enable the path-managers through "MPTCP: advanced path-manager control" and select for example the full-mesh path-manager. If you do not select a path-manager, the host will not trigger the creation of new subflows, nor advertise alternative IP-addresses through the ADD_ADDR-option.

    At run-time, to select one of the compiled path-managers just set the sysctl net.mptcp.mptcp_path_manager. You have the choice between:

    'default': This path-manager actually does not do anything. The host won't announce different IP-addresses nor initiate the creation of new subflows. However, it will accept the passive creation of new subflows.

    'fullmesh': It will create a full-mesh of subflows among all available subflows. Since v0.90 it is possible to create multiple subflows for each pair of IP-addresses. Just set /sys/module/mptcp_fullmesh/parameters/num_subflows to a value > 1.

    New in v0.92: If you want to re-create subflows after a timeout (e.g., if the NAT-mapping was lost due to idle-time), you can set /sys/module/mptcp_fullmesh/parameters/create_on_err to 1.

    'ndiffports': This one will create X subflows across the same pair of IP-addresses, modifying the source-port. To control the number of subflows (X), you can set the sysfs /sys/module/mptcp_ndiffports/parameters/num_subflows to a value > 1.

    'binder': The path-manager using Loose Source Routing from the paper Binder: a system to aggregate multiple internet gateways in community networks.

    通过跑实验证明,fullmesh构建网络同论文图2所示,ndiffports构建网络如下图:

     

    (按照指定的IP地址对传输数据)

    而num_subflows的数目是指一个IP对的子流数目,可以取任何大于等于1的值。用实验测试,取到了20,仍然是可以的。

    --------------------------------------------------

    追加更新:发了这个文后,突然看到一篇文章,对路径管理解释的更清晰,文章为:王琨, 周星, 周峰,等. 基于MPTCP路径管理算法性能分析[J]. 海南大学学报(自然科学版)自然科学版, 2017, 35(3).

  • 相关阅读:
    2017-2018-2 20179306 《网络攻防技术》第九周作业
    2017-2018-2 20179306 《网络攻防技术》第八周作业
    2017-2018-2 20179306《网络攻防技术》第七周作业
    2017-2018-2 20179306《网络攻防技术》第六周作业
    2017-2018-2 20179306《网络攻防技术》第五周作业
    jcFeather Maya 羽毛插件
    JCFeather 开源
    获取exr图片上像素点的颜色通道
    春天来了,看小夜游!
    jcFeather For Maya 2012免费版
  • 原文地址:https://www.cnblogs.com/fenglt/p/8570343.html
Copyright © 2011-2022 走看看