added option lower-level

This commit is contained in:
wangyu
2017-08-07 13:58:42 +08:00
parent 44852270ef
commit 307399b00a
9 changed files with 241 additions and 37 deletions

View File

@@ -18,10 +18,12 @@ Udp2raw-tunnel
### 模拟TCP3次握手
模拟TCP3次握手模拟seq ack过程。另外还模拟了一些tcp optionMSS,sackOk,TS,TS_ack,wscale用来使流量看起来更像是由普通的linux tcp协议栈发送的。
### 连接快速恢复
### 连接保持,连接快速恢复
心跳机制检查连接是否中断一旦心跳超时。client会立即换raw socket的端口重连重连成功后会恢复之前中断的连接。虽然raw端的端口变了但是udp端的所有连接都会继续有效。udp这边感觉不到raw端的重连只会感觉到短暂断流,这跟普通的短暂丢包是类似的,不会导致上层应用重连。
另一个优化是重连只需要client发起就可以立即被server处理不需要等到server端的连接超时后。
另一个优化是重连只需要client发起就可以立即被server处理不需要等到server端的连接超时后。这个在单向连接失效的情况下有用。
另外对于有大量client的情况对于不同client,server发送的心跳是错开时间发送的不会因为短时间发送大量的心跳而造成拥塞和延迟抖动。
### 其他特性
信道复用client的udp端支持多个连接。
@@ -32,7 +34,10 @@ NAT 穿透 tcp icmp udp模式都支持nat穿透。
支持Openvz配合finalspeed使用可以在openvz上用tcp模式的finalspeed
支持Openwrt,没有编译以来容易编译到任何平台上。release中提供了ar71xx版本的binary
支持Openwrt,没有编译依赖容易编译到任何平台上。release中提供了ar71xx版本的binary
单进程纯异步无锁高并发除了回收过期连接外所有操作的时间复杂度都跟连接数无关。回收过期连接这个操作是个批量操作会定期进行但是会保证一次回收的数量不超过总数的1/10可配置不会造成延迟抖动。
### 关键词
突破udp qos,突破udp屏蔽openvpn tcp over tcp problem,openvpn over icmp,udp to icmp tunnel,udp to tcp tunnel,udp via icmp,udp via tcp