MPTCP高級配置


http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP
http://multipath-tcp.org/pmwiki.php/Users/Tools

本文引用了MPTCP Linux內核官網的MPTCP配置網頁和工具網頁,介紹了MPTCP成功部署以后子流分配策略更詳細的配置方式以及協助自流分析的工具,由於之前已經將MPTCP的部署命名為“MPTCP的配置”了,本文就暫且命名為高級配置吧~

#MPTCP高級配置#

##確認MPTCP版本## 首先需要確認MPTCP是否部署成功以及我們所部署的MPTCP內核版本號

dmesg | grep MPTCP

如果沒有成功部署的話,什么都不會顯示。如果部署成功的話,會顯示所部署的MPTCP內核版本,例如

[	0.229701] MPTCP: Stable release v0.90.0

使用apt-get自動安裝的內核版本號為v0.90.0,其他版本用法配置方式大體相同,更多細節請移步官網

##設置系統控制變量(sysctl)##

執行以下命令設置系統控制變量(sysctl)

sysctl -w net.mptcp.[name of the variable]=[value]

括號里分別用變量名稱和變量值替換,具體控制變量如下

  • net.mptcp.mptcp_enabled:顧名思義,該變量控制MPTCP開關,實現MPTCP與傳統TCP之間的切換。變量值為0或1(默認為1)。

  • net.mptcp.mptcp_checksum:該變量控制MPTCP傳輸層中數據序列號校驗和(DSS-checksum)的開關,DSS-checksum主要和傳輸的可靠性相關,只要通信對端中有一端開啟,就會執行。變量值為0或1(默認為1)。

  • net.mptcp.mptcp_syn_retries:設置SYN的重傳次數。SYN里包含了MP_CAPABLE-option字段,通過該控制變量,SYN將不會包含MP_CAPABLE-option字段,這是為了處理會丟棄含有未知TCP選項的SYN的網絡中間件。變量默認值為3。

  • net.mptcp.mptcp_debug:調試MPTCP,控制是否打印debug報告文件。

  • net.mptcp.mptcp_path_manager:MPTCP路徑管理,有四個不同的配置值,分別是 default/fullmesh/ndiffports/binder。default/ndiffports/fullmesh分別選擇單路、多路或者全路進行傳輸。其中單路是指跟傳統TCP狀態一樣還是用單一的TCP子流進行傳輸,多路是當前所有TCP子流中用戶選擇x條子流數進行傳輸,全路是指將當前所有可用的TCP子流應用到網絡傳輸中。而binder參考了文獻 Binder: a system to aggregate multiple internet gateways in community networks

  • net.mptcp.mptcp_scheduler:MPTCP子流調度策略,有default/roundrobin兩個選項。default優先選擇RTT較低的子流直到擁塞窗口滿,roundrobin采用輪詢策略。

擁塞策略的配置方式為

sysctl net.ipv4.tcp_congestion_control=lia/olia/wVegas/balia

上述的系統控制變量都是以配置文件的形式存在的,也可以以管理員權限直接修改配置文件中的參數,配置文件的目錄為

/proc/sys/net/mptcp

#MPTCP相關工具# 由於工程需要,我們需要關閉某個接口或者將其設置為備用模式,官網正好提供了IP路由拓展功能,該擴展功能需要使用apt-get安裝

apt-get update
apt-get dist-upgrade

然后就可以執行接口的控制命令啦

ip link set dev eth0 multipath on
ip link set dev eth0 multipath off
ip link set dev eth0 multipath backup
  • off命令是在MPTCP層面上的,並不是完全關閉該接口,而是控制MPTCP不去試圖使用該網卡,換言之,當路由表指向該接口時,該接口還是會被使用的。全局的開啟/關閉/查看接口命令為

      sudo ifconfig eth0 down/up  //開關
      ifconfig //查看
    
  • backup命令就是將該接口設置為備用模式,只有其他接口不可用時才會使用該接口。

  • 更多信息執行ip link help 查看。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM