博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mptcp 路径管理中的fullmesh和 ndiffports以及subflows
阅读量:5097 次
发布时间:2019-06-13

本文共 3350 字,大约阅读时间需要 11 分钟。

来源于文章“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).

 

转载于:https://www.cnblogs.com/fenglt/p/8570343.html

你可能感兴趣的文章
Don’t Be Afraid to Break Things
查看>>
jqGrid 笔记
查看>>
搭建web服务二
查看>>
一些面试题的整理
查看>>
JavaScript跨域总结与解决办法
查看>>
网络测试工具netperf(转)
查看>>
安装使用eclipse
查看>>
java.io.CharConversionException: Not an ISO 8859-1 character: xx
查看>>
tp5 问题
查看>>
CSS3中的Rem值与Px之间的换算
查看>>
test 190731 codechef March Challenge COOKING SCHEDULE
查看>>
php实现雪花算法(ID递增)
查看>>
JavaScript中DOM的概念及作用
查看>>
译:Guidelines – a hidden feature for the Visual Studio Editor
查看>>
BeautifulSoup的安装和使用
查看>>
阅读之线程连接池
查看>>
三状态玻璃效果导航的源代码
查看>>
清北学堂Day3
查看>>
高并发吹牛经验
查看>>
初探html-9 链接
查看>>