<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Setup Multipath TCP

      https://medium.com/@iheb.zannina/setup-mptcpv1-in-linux-v5-6-9b5e48173b5b

       

       

      Setup Multipath TCP

      Iheb Zannina
       
      5 min read
      ·
      Mar 23, 2023
       

       
       

      Abstract

      MPTCP, or Multipath TCP, is important because it addresses some of the limitations of traditional TCP connections. TCP is a widely used protocol for reliable data transfer over the internet. However, it is designed to operate over a single network path, which can lead to problems when there is congestion or failure on that path. In such cases, TCP can experience long delays, timeouts, and retransmissions, which can degrade the performance of the connection.

      MPTCP can also distribute the load across multiple paths, which can help prevent congestion and improve the overall performance of the connection. MPTCP not only increases robustness during time of
      path failure, but also potentially achieves higher end-to-end throughput.

       

      Notice: The Nay, Nay, Nay nightmare

      Please note, that MPTCPv1 is not compatible with MPTCPv0. Therefore, don’t ever try to test this demo with the official MPTCP website, unfortunately the website is linked to an out-of-tree MPTCP kernel.

      Not mentioned in the documentation, that’s why i am telling you that. Honestly, I spent a lot of time looping around to just verify if my MPTCP working good (No traffic blocking). In the website it says you need to type
      "curl https://multipath-tcp.org" , sounds easy hah. Indeed, somehow I got this:

      $ curl https://multipath-tcp.org
      Nay, Nay, Nay, your have an old computer that does not speak MPTCP.
      Shame on you!

      The shame is not on you my friend, it is on them. No need to worry, you are running a better version, they can’t understand you.

      However, if you would verify if your MPTCP is enabled, just type

      $ sudo sysctl net.mptcp.enabled
      net.mptcp.enabled = 1

      Of course you can affect to this variable either (0 or 1). 1 means true , 0 means false. As we said, the Linux kernel above 5.6 already implements MPTCPv1, so it should be 1 by default and you are ready to go.

       

      Getting started

      Prerequisites

      The following packages needs to be installed on your system:

      Scenario

      During this test, I am going to use 2 Ubuntu laptops running the V5.15 Linux kernel. One laptop will work as a client and the other one as a server.

      Configure routing

      You can do it manually (very cumbersome) ← Not recommended
      Or skip to the best part: ← Recommended : Configure this in both laptops

      Place this script inside /etc/network/if-up.d/ and make it executable. (Name the file: mptcp_up)

      Also, place this script inside /etc/network/if-post-down.d/ and make it executable. (Name the file: mptcp_down)

      If your laptops are linked to each other through your LAN network, then you don’t need these steps. The DHCP server gonna serve you. The main thing is that your laptops can ping each others.

       

      Server configuration

      Set the total number of allowed sub-flows (whether they are initiated locally or by the peer) to 1. 1 because In our case, we need just another one sub-flow for the WLAN interface. This max number limit, depends on how much interfaces (a.k.a sub-flows) you gonna use besides your default interface.

      $ sudo ip mptcp limits set subflow 1

      Allow the In_kernel path manager to initiate a new sub-flow using <WLAN> interface as source address

      $ sudo ip mptcp endpoint add <WLAN ip address> dev <interface name> subflow 
      signal

      #You can verify with:

      $ sudo ip mptcp limit show

      Now, for the testing, what we can do, is run iperf3 as a server (lisning on 5201 port), and in the other hand, we can use the (iperf3 -c) as a client in the client laptop to send packets to the server. Or, we can use python to start a web server (listen on 8000 port) in our server, and from the other client laptop, we can access to this server, and download a big file with the WGET command. Both solutions are enough for our tests.
      For me I prefer the first one (More reconfigurable).

      # MPTCPIZE used to force the application to use MPTCP at the socket 
      communication.
      $ sudo mptcpize run python -m http.server 8000 //gonna create like a local web server where you can find your local files
      Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...


      # Or start iperf3 server
      $ sudo mptcpize run iperf3 -s
      -----------------------------------------------------------
      Server listening on 5201
      -----------------------------------------------------------

      And of course to verify if MPTCP works we can use

      $ sudo ip mptcp monitor
      #or test if the connection is using MPTCP
      $ tcpdump -n -i <interface> tcp | grep mptcp
       

      Client configuration

      Set the total number of allowed sub-flows (whether they are initiated locally or by the peer) to 1.

      $ sudo ip mptcp limits set subflow 1

      For best practice you can also activate the bmon application to monitor the traffic in your interfaces.

      $ sudo bmon -b

      Now we are done, let’s download some files from our web server.

      $ sudo mptcpize run wget 10.22.17.33:8000/Downloads/ubuntu-18.04.6-desktop-amd64.iso
      #--2023-03-20 #21:15:55-- http://10.22.17.33:8000/Downloads/ubuntu-18.04.6-desktop-amd64.iso
      #Connecting to 10.22.17.33:8000... connected.
      #HTTP request sent, awaiting response... 200 OK
      #Length: 2514124800 (2,3G) [application/x-iso9660-image]
      #Saving to: 'ubuntu-18.04.6-desktop-amd64.iso.32'
      #o.32 36%[======> ] 882,65M 113MB/s eta 15s

      bmon -b shows: Both interfaces are used, and if one goes down the other one still working. In addition, if the interface goes up again it will be used again.

      bmon -b: Interfaces monitoring

      On the monitoring terminal, ip mptcp monitor now logs:

      SF_ESTABLISHED stands for our mptcp join and we can see the tokens exchanged, which are the cryptographic keys in order to add new sub-flow.

       
      posted @ 2024-07-10 17:28  張同光  閱讀(143)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 一区二区三区四区在线不卡高清| 中文字幕乱偷无码av先锋蜜桃| 麻花传媒在线观看免费| 国产免费高清69式视频在线观看| 亚洲一区二区日韩综合久久| 欧美白妞大战非洲大炮| 国产精品亚洲mnbav网站| 韩国 日本 亚洲 国产 不卡| 国产精品美女AV免费观看| 久久久久99精品成人片牛牛影视 | 狠狠噜天天噜日日噜视频麻豆| 四虎永久地址www成人| 亚洲中文字幕一区二区| 亚洲 日本 欧洲 欧美 视频| 亚洲av专区一区| 亚洲精品不卡av在线播放| 亚洲一区二区啊射精日韩| 精品无码久久久久久久久久| 国产亚洲精品综合99久久| 精品自拍偷拍一区二区三区| 国内少妇人妻偷人精品视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 日本一区二区三区18岁| 97人妻熟女成人免费视频色戒| 四虎在线永久免费看精品| 国产成人精品亚洲精品日日 | 元朗区| 激情在线一区二区三区视频| 少妇精品视频一码二码三| 久久亚洲av午夜福利精品一区 | 免费无码一区无码东京热| 天堂网av一区二区三区| 鲁丝片一区二区三区免费| 成人免费区一区二区三区| 亚洲av精彩一区二区| 人妻蜜臀久久av不卡| 南投县| 人妻系列中文字幕精品| 在线 欧美 中文 亚洲 精品| 亚洲无av码一区二区三区| 亚洲一区二区三区激情在线|