GithubHelp home page GithubHelp logo

some_kcptun_tools's Issues

关于动态TCP header的必要性

经过初步的测试,发现不同的ISP对TCP header有不同的要求:

  • 广东移动:
    • 服务端ack flag必须置为1,否则客户端将一直收不到服务端的packet。
    • seq/ack序列需要一直保持定值,如果一直自增会被QoS随后pipe被掐断;我在 kcptun-raw 中曾尝试过模拟真实的seq/ack,但因为确认/丢包/拥塞策略全部由kcp控制再加上还有下层自定义协议,seq和ack的模拟实在难以实现。当然貌似只有少数ISP会做这个QoS,其他ISP环境下seq/ack一直保持自增貌似是没有问题的。
  • 广电宽带(广东)和电信4G:
    • 必须模拟TCP三次握手过程,即 客户端SYN->服务端SYN+ACK->客户端ACK ,随后pipe才能打通。
    • seq/ack序列无要求,保持定值和一直自增都可以。
  • 服务器提供商(阿里云等):
    • vps之间通信基本无限制,在防火墙关闭的情况下,packet想怎么发都可以(因为没有经过NAT和ISP的QoS的缘故?);但是对于不能直接分配到公网IP的服务器(比如腾讯云和AWS,唯一的eth0只有私有地址,上下行流量都经过网关NAT),是否也需要模拟三次握手/或者至少是服务端ack flag需要置1呢?

欢迎补充其他的情况。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.