From owner-freebsd-net@FreeBSD.ORG Sat Aug 9 19:49:09 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 58FB9CBD for ; Sat, 9 Aug 2014 19:49:09 +0000 (UTC) Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mail-n.franken.de", Issuer "Thawte DV SSL CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DBAF120BB for ; Sat, 9 Aug 2014 19:49:08 +0000 (UTC) Received: from [192.168.1.200] (p54819F65.dip0.t-ipconnect.de [84.129.159.101]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 962401C104DF2; Sat, 9 Aug 2014 21:49:04 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: A problem on TCP in High RTT Environment. From: Michael Tuexen In-Reply-To: Date: Sat, 9 Aug 2014 21:49:03 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: "Eggert, Lars" X-Mailer: Apple Mail (2.1878.6) Cc: "freebsd-net@freebsd.org" , Niu Zhixiong , Bill Yuan X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Aug 2014 19:49:09 -0000 On 09 Aug 2014, at 11:51, Eggert, Lars wrote: > At 400ms at @ 20Mbps, your are probably receive window limited. Bump = net.inet.tcp.recvspace. (Your net.inet.sctp.recvspace is much larger, = which probably explains the performance difference.) The program he is using is netperfmeter and I think it sets the = send/recv buffer to 2MB... Best regards Michael >=20 > On 2014-8-8, at 14:34, Niu Zhixiong wrote: >=20 >> Dear all, >>=20 >> 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. >>=20 >> ALL BW=3D20Mbps, DELAY=3D 0 ~ 200MS, Packet LOSS =3D 0 (by dummynet) >>=20 >> This is my parameters: >> FreeBSD vfreetest0 10.0-RELEASE FreeBSD 10.0-RELEASE #0: Thu Aug 7 >> 11:04:15 HKT 2014 >>=20 >> 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 >>=20 >> 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 >>=20 >> 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 >>=20 >>=20 >> 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 >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to = "freebsd-net-unsubscribe@freebsd.org" >=20