Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Aug 2014 20:34:44 +0800
From:      Niu Zhixiong <kaiaixi@gmail.com>
To:        freebsd-net@freebsd.org, Bill Yuan <bycn82@gmail.com>
Subject:   A problem on TCP in High RTT Environment.
Message-ID:  <CAOENNMA_CiBDJc0kchzUbTcf_JBwTJPF=PdBAUB6FPo-KzYkeQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Dear all,

Last month, I send problems related to FTP/TCP in a high RTT environment.
After that, I setup a simulation environment(Dummynet) to test TCP and SCTP
in high delay environment. After finishing the test, I can see TCP is
always slower than SCTP. But, I think it is not possible. (Plz see the
figure in the attachment). When the delay is 200ms(means RTT=3D400ms).
Besides, the TCP is extremely slow.

ALL BW=3D20Mbps, DELAY=3D 0 ~ 200MS, Packet LOSS =3D 0 (by dummynet)

This is my parameters:
FreeBSD vfreetest0 10.0-RELEASE FreeBSD 10.0-RELEASE #0: Thu Aug  7
11:04:15 HKT 2014

sysctl net.inet.tcp
net.inet.tcp.rfc1323: 1
net.inet.tcp.mssdflt: 536
net.inet.tcp.keepidle: 7200000
net.inet.tcp.keepintvl: 75000
net.inet.tcp.sendspace: 32768
net.inet.tcp.recvspace: 65536
net.inet.tcp.keepinit: 75000
net.inet.tcp.delacktime: 100
net.inet.tcp.v6mssdflt: 1220
net.inet.tcp.cc.algorithm: newreno
net.inet.tcp.cc.available: newreno
net.inet.tcp.hostcache.cachelimit: 15360
net.inet.tcp.hostcache.hashsize: 512
net.inet.tcp.hostcache.bucketlimit: 30
net.inet.tcp.hostcache.count: 0
net.inet.tcp.hostcache.expire: 3600
net.inet.tcp.hostcache.prune: 300
net.inet.tcp.hostcache.purge: 0
net.inet.tcp.log_in_vain: 0
net.inet.tcp.blackhole: 0
net.inet.tcp.delayed_ack: 1
net.inet.tcp.drop_synfin: 0
net.inet.tcp.rfc3042: 1
net.inet.tcp.rfc3390: 1
net.inet.tcp.experimental.initcwnd10: 1
net.inet.tcp.rfc3465: 1
net.inet.tcp.abc_l_var: 2
net.inet.tcp.ecn.enable: 0
net.inet.tcp.ecn.maxretries: 1
net.inet.tcp.insecure_rst: 0
net.inet.tcp.recvbuf_auto: 0
net.inet.tcp.recvbuf_inc: 16384
net.inet.tcp.recvbuf_max: 2097152
net.inet.tcp.path_mtu_discovery: 1
net.inet.tcp.tso: 1
net.inet.tcp.sendbuf_auto: 0
net.inet.tcp.sendbuf_inc: 8192
net.inet.tcp.sendbuf_max: 2097152
net.inet.tcp.reass.maxsegments: 15900
net.inet.tcp.reass.cursegments: 0
net.inet.tcp.reass.overflows: 0
net.inet.tcp.sack.enable: 1
net.inet.tcp.sack.maxholes: 128
net.inet.tcp.sack.globalmaxholes: 65536
net.inet.tcp.sack.globalholes: 0
net.inet.tcp.minmss: 216
net.inet.tcp.log_debug: 0
net.inet.tcp.tcbhashsize: 32768
net.inet.tcp.do_tcpdrain: 1
net.inet.tcp.pcbcount: 4
net.inet.tcp.icmp_may_rst: 1
net.inet.tcp.isn_reseed_interval: 0
net.inet.tcp.soreceive_stream: 0
net.inet.tcp.syncookies: 1
net.inet.tcp.syncookies_only: 0
net.inet.tcp.syncache.bucketlimit: 30
net.inet.tcp.syncache.cachelimit: 15375
net.inet.tcp.syncache.count: 0
net.inet.tcp.syncache.hashsize: 512
net.inet.tcp.syncache.rexmtlimit: 3
net.inet.tcp.syncache.rst_on_sock_fail: 1
net.inet.tcp.msl: 30000
net.inet.tcp.rexmit_min: 30
net.inet.tcp.rexmit_slop: 200
net.inet.tcp.always_keepalive: 1
net.inet.tcp.fast_finwait2_recycle: 0
net.inet.tcp.finwait2_timeout: 60000
net.inet.tcp.keepcnt: 8
net.inet.tcp.rexmit_drop_options: 0
net.inet.tcp.per_cpu_timers: 0
net.inet.tcp.timer_race: 0
net.inet.tcp.maxtcptw: 26070
net.inet.tcp.nolocaltimewait: 0

kern.ipc.maxsockbuf: 4000000
kern.ipc.sockbuf_waste_factor: 8
kern.ipc.max_linkhdr: 16
kern.ipc.max_protohdr: 60
kern.ipc.max_hdr: 76
kern.ipc.max_datalen: 92
kern.ipc.maxmbufmem: 2073962496
kern.ipc.nmbclusters: 253170
kern.ipc.nmbjumbop: 126584
kern.ipc.nmbjumbo9: 112518
kern.ipc.nmbjumbo16: 84388
kern.ipc.nmbufs: 1620285
kern.ipc.maxpipekva: 66736128
kern.ipc.pipekva: 16384
kern.ipc.pipefragretry: 0
kern.ipc.pipeallocfail: 0
kern.ipc.piperesizefail: 0
kern.ipc.piperesizeallowed: 1
kern.ipc.msgmax: 16384
kern.ipc.msgmni: 40
kern.ipc.msgmnb: 2048
kern.ipc.msgtql: 40
kern.ipc.msgssz: 8
kern.ipc.msgseg: 2048
kern.ipc.semmni: 50
kern.ipc.semmns: 340
kern.ipc.semmnu: 150
kern.ipc.semmsl: 340
kern.ipc.semopm: 100
kern.ipc.semume: 50
kern.ipc.semusz: 632
kern.ipc.semvmx: 32767
kern.ipc.semaem: 16384
kern.ipc.shmmax: 536870912
kern.ipc.shmmin: 1
kern.ipc.shmmni: 192
kern.ipc.shmseg: 128
kern.ipc.shmall: 131072
kern.ipc.shm_use_phys: 0
kern.ipc.shm_allow_removed: 0
kern.ipc.soacceptqueue: 128
kern.ipc.numopensockets: 14
kern.ipc.maxsockets: 130350
kern.ipc.sendfile.readahead: 1

sysctl net.inet.sctp
net.inet.sctp.sendspace: 2097152
net.inet.sctp.recvspace: 2097152
net.inet.sctp.auto_asconf: 1
net.inet.sctp.ecn_enable: 1
net.inet.sctp.strict_sacks: 1
net.inet.sctp.peer_chkoh: 256
net.inet.sctp.maxburst: 4
net.inet.sctp.fr_maxburst: 4
net.inet.sctp.maxchunks: 31646
net.inet.sctp.tcbhashsize: 1024
net.inet.sctp.pcbhashsize: 256
net.inet.sctp.min_split_point: 2904
net.inet.sctp.chunkscale: 10
net.inet.sctp.delayed_sack_time: 200
net.inet.sctp.sack_freq: 2
net.inet.sctp.sys_resource: 1000
net.inet.sctp.asoc_resource: 10
net.inet.sctp.heartbeat_interval: 30000
net.inet.sctp.pmtu_raise_time: 600
net.inet.sctp.shutdown_guard_time: 180
net.inet.sctp.secret_lifetime: 3600
net.inet.sctp.rto_max: 60000
net.inet.sctp.rto_min: 1000
net.inet.sctp.rto_initial: 3000
net.inet.sctp.init_rto_max: 60000
net.inet.sctp.valid_cookie_life: 60000
net.inet.sctp.init_rtx_max: 8
net.inet.sctp.assoc_rtx_max: 10
net.inet.sctp.path_rtx_max: 5
net.inet.sctp.path_pf_threshold: 65535
net.inet.sctp.add_more_on_output: 1452
net.inet.sctp.incoming_streams: 2048
net.inet.sctp.outgoing_streams: 10
net.inet.sctp.cmt_on_off: 0
net.inet.sctp.nr_sack_on_off: 0
net.inet.sctp.cmt_use_dac: 0
net.inet.sctp.cwnd_maxburst: 1
net.inet.sctp.asconf_auth_nochk: 0
net.inet.sctp.auth_disable: 0
net.inet.sctp.nat_friendly: 1
net.inet.sctp.abc_l_var: 2
net.inet.sctp.max_chained_mbufs: 5
net.inet.sctp.do_sctp_drain: 1
net.inet.sctp.hb_max_burst: 4
net.inet.sctp.abort_at_limit: 0
net.inet.sctp.strict_data_order: 0
net.inet.sctp.min_residual: 1452
net.inet.sctp.max_retran_chunk: 30
net.inet.sctp.log_level: 0
net.inet.sctp.default_cc_module: 0
net.inet.sctp.default_ss_module: 0
net.inet.sctp.default_frag_interleave: 1
net.inet.sctp.mobility_base: 0
net.inet.sctp.mobility_fasthandoff: 0
net.inet.sctp.udp_tunneling_port: 0
net.inet.sctp.enable_sack_immediately: 0
net.inet.sctp.nat_friendly_init: 0
net.inet.sctp.vtag_time_wait: 60
net.inet.sctp.buffer_splitting: 0
net.inet.sctp.initial_cwnd: 3
net.inet.sctp.rttvar_bw: 4
net.inet.sctp.rttvar_rtt: 5
net.inet.sctp.rttvar_eqret: 0
net.inet.sctp.rttvar_steady_step: 20
net.inet.sctp.use_dcccecn: 1
net.inet.sctp.blackhole: 0
net.inet.sctp.debug: 0


Regards,
Niu Zhixiong
=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=
=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D
 kaiaixi@gmail.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOENNMA_CiBDJc0kchzUbTcf_JBwTJPF=PdBAUB6FPo-KzYkeQ>