SlideShare a Scribd company logo
1 of 57
TCP/IP and Network Performance Tuning Oyya-info www.oyya.synthasite.com http://oyya.synthasite.com/contact.php
Unique HPC Environment ,[object Object],[object Object],[object Object],[object Object]
What’s on the Internet? ,[object Object],[object Object],InternetMCI, 1998, k. claffy
TCP Throughput Limit #1 ,[object Object],[object Object],SSC-SD Border Router, 26 April 2000
Things You Can Do ,[object Object],[object Object],[object Object],[object Object],[object Object]
High “Speed” Networks OC3 155 Mbps DS3 45 Mbps Capacity
Packet Lengths in Fiber   Mbps   Bits/Mile   Miles/1500B Pkt T1   1.5 11.7 1026 Eth   10 78.1  154 T3   45 351   34 FEth  100 781   15 OC3  155 1210   10 OC12  622 4860   2.5 OC48 2488 19440 3260 feet
Bandwidth*Delay Product ,[object Object],[object Object],[object Object],[object Object]
TCP Throughput Limit #2 ,[object Object],[object Object],[object Object]
Maximum TCP/IP Data Rate 64 KB Window Size
Things You Can Do ,[object Object],[object Object],[object Object],[object Object]
FreeBSD Tuning # FreeBSD 3.4 defaults are 524288 max, 16384 default /sbin/sysctl -w kern.ipc.maxsockbuf=1048576 /sbin/sysctl -w net.inet.tcp.sendspace=32768 /sbin/sysctl -w net.inet.tcp.recvspace=32768 Enabling High Performance Data Transfers on Hosts: http://www.psc.edu/networking/perf_tune.html
TCPTune A TCP Stack Tuner for Windows ,[object Object],[object Object],[object Object],[object Object]
Traceroute Matt's traceroute  [v0.41] damp-ssc.spawar.navy.mil  Sun Apr 23 23:29:51 2000 Keys:  D - Display mode  R - Restart statistics  Q - Quit Packets  Pings Hostname  %Loss  Rcv  Snt  Last Best  Avg  Worst 1. taco2-fe0.nci.net  0%  24  24  0  0  0  1 2. nccosc-bgp.att-disc.net  0%  24  24  1  1  1  6 3. pennsbr-aip.att-disc.net  0%  24  24  84  84  84  86 4. sprint-nap.vbns.net  0%  24  24  84  84  84  86 5. cs-hssi1-0.pym.vbns.net  0%  23  24  89  88  152  407 6. jn1-at1-0-0-0.pym.vbns.net  0%  23  23  88  88  88  90 7. jn1-at1-0-0-13.nor.vbns.net  0%  23  23  88  88  88  90 8. jn1-so5-0-0-0.dng.vbns.net  0%  23  23  89  88  91  116 9. jn1-so5-0-0-0.dnj.vbns.net  0%  23  23  112  111  112  113 10. jn1-so4-0-0-0.hay.vbns.net  0%  23  23  135  134  135  135 11. jn1-so0-0-0-0.rto.vbns.net  0%  23  23  147  147  147  147 12. 192.12.207.22  5%  22  23  98  98  113  291 13. pinot.sdsc.edu  0%  23  23  152  152  152  156 14. ipn.caida.org  0%  23  23  152  152  152  160
Path Performance: Latency vs. Bandwidth The highest bandwidth path is not always the highest throughput path! vBNS DREN SprintNAP, NJ SDSC, CA Host A Perryman, MD Host B Aberdeen, MD OC3 Path DS3 Path ,[object Object],[object Object],[object Object],The network chose the OC3 path with 24x the rtt
MPing - A Windowed Ping ,[object Object],[object Object],5 4 3 2 1 bad things happen Example:  window size = 5 transmit 1 2 5 comes back 6 recv 1 (can send ack 1 + win 5 = 6) 7 recv 2 (can send ack 2 + win 5 = 7) 10 recv 5 (can send ack 5 + win 5 = 10) 11 recv 6 (can send ack 6 + win 5 = 11) 9 8
MPing on a “Normal” Path Rtt window not yet full Slope = 1 / rtt Stable queueing region Tail-drop behavior
MPing on a “Normal” Path Stable data rate 3600*1000*8 = 29 Mbps Queue size (280-120)*1000 = 160 KB Effective BW*Delay Product 120*1000 = 120 KB Packet Loss 1 - 3600/4800 = 25% Rtt = 120/3600 = 33 msec
Some MPing Results #1 RTT is increasing as load increases Slow packet processing? Fairly normal behavior Discarded packets are costing some performance loss
Some MPing Results #2 Very little stable queueing Insufficient memory? Spikes from some periodic event (cache cleaner?) Discarding packets comes at some cost to performance Error logging?
Some MPing Results #3 Fairly constant packet loss, even under light load Major packet loss, ~7/8 or 88% Hump at 50 may be duplex problem Both turned out to be an auto-negotiation duplex problem Setting to static full-duplex fixed these!
Some MPing Results #4 Oscillations with little loss Rate shaping? Decreasing performance with increasing queue length Typical of Unix boxes with poor queue insertion
TCP - Not Your Father’s Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TCP Reno ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Important Points About TCP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TCP Throughput Limit #3   Once window size and available bandwidth aren’t the limit ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Maximum Transmission Unit (MTU) Issues http://sd.wareonearth.com/woe/jumbo.html New York to Los Angeles. Round Trip Time (rtt) is about 32 msec, and let's say packet loss is 0.1% (0.001). With an MSS of 1500 bytes, TCP throughput will have an upper bound of about 8.3 Mbps! And no, that is not a window size limitation, but rather one based on TCP's ability to detect and recover from congestion (loss). With 9000 byte frames, TCP throughput could reach about 50 Mbps.
Things You Can Do ,[object Object],[object Object],[object Object],[object Object],[object Object]
Treno ,[object Object],[object Object],[object Object],damp-mhpcc%  treno damp-pmrf MTU=8166  MTU=4352  MTU=2002  MTU=1492 .......... Replies were from damp-pmrf [198.97.151.50] Average rate: 63470.5 kbp/s (55241 pkts in + 87 lost = 0.16%) in 10.03 s Equilibrium rate: 63851.9 kbp/s (54475 pkts in + 86 lost = 0.16%) in 9.828 s Path properties: min RTT was  8.77 ms, path MTU was 1440 bytes XXX Calibration checks are still under construction, use -v
TCP Connection Establishment ,[object Object],[object Object],[object Object],[object Object],tcpdump : Look for window sizes, window scale, timestamps, MTU, SackOK, Don’t-Fragment 15:52:08.756479 dexter.20 > tesla.1391: S 137432:137432(0) win 65535  <mss 1460,nop,wscale 1,nop,nop,timestamp 12966275 0> 15:52:08.756524 tesla.1391 > dexter.20: S 294199:294199(0) ack 137433 win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 12966020 12966275>
Things You Can Do ,[object Object],[object Object],[object Object],[object Object]
“Do The Math” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],testrig pages at NCNE/PSC Rb = 11.25 MBps (90Mbps) Rtt = 0.040 sec (40 msec) MSS = 1440 Bytes Wb = 900 KBytes Wp = 625 packets Ws = 4 Rp = 7813 pps Li = 211 MBytes! ploss = 5x10^-6! (0.0005%)
TCP’s Sliding Window 1  2  3   4  5  6   7  8  9  10  11  ... Offered receiver window Sent and ACKed Sent, not ACKed Can send ASAP Can’t send until window moves Usable window W. R. Stevens, 20.3
TCP Congestion Window ,[object Object],[object Object],[object Object],[object Object]
Cwnd During Slowstart ,[object Object],[object Object],[object Object]
Slowstart and Congestion Avoidance Together
Delayed ACKs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ACK Clocking ,[object Object],[object Object],[object Object],[object Object],987 6  5  4 3 2 1
Detecting Loss ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Random Early Detection (RED) 10 Mbps 155 Mbps Queue
SACK TCP Selective Acknowledgement ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Things You Can Do ,[object Object],[object Object],[object Object]
A preconfigured TCP test rig http://www.ncne.nlanr.net/TCP/testrig/
TCP connection 1: host a:  sd.wareonearth.com:1095 host b:  amp2.sd.wareonearth.com:56117 complete conn: yes first packet:  Sun Apr 23 23:35:29.645263 2000 last packet:  Sun Apr 23 23:35:41.108465 2000 elapsed time:  0:00:11.463202 total packets: 107825 filename:  trace.0.20000423233526 a->b:  b->a: total packets:  72032  total packets:  35793 ack pkts sent:  72031  ack pkts sent:  35793 pure acks sent:  2  pure acks sent:  35791 unique bytes sent: 104282744  unique bytes sent:  0 actual data pkts:  72029  actual data pkts:  0 actual data bytes: 104282744  actual data bytes:  0 rexmt data pkts:  0  rexmt data pkts:  0 rexmt data bytes:  0  rexmt data bytes:  0 outoforder pkts:  0  outoforder pkts:  0 pushed data pkts:  72029  pushed data pkts:  0 SYN/FIN pkts sent:  1/1  SYN/FIN pkts sent:  1/1 req 1323 ws/ts:  Y/Y  req 1323 ws/ts:  Y/Y adv wind scale:  0  adv wind scale:  4 req sack:  Y  req sack:  N sacks sent:  0  sacks sent:  0 mss requested:  1460 bytes  mss requested:  1460 bytes max segm size:  1448 bytes  max segm size:  0 bytes min segm size:  448 bytes  min segm size:  0 bytes avg segm size:  1447 bytes  avg segm size:  0 bytes max win adv:  32120 bytes  max win adv:  750064 bytes min win adv:  32120 bytes  min win adv:  65535 bytes zero win adv:  0 times  zero win adv:  0 times avg win adv:  32120 bytes  avg win adv:  30076 bytes initial window:  2896 bytes  initial window:  0 bytes initial window:  2 pkts  initial window:  0 pkts ttl stream length: 104857600 bytes  ttl stream length:  0 bytes missed data:  574856 bytes  missed data:  0 bytes truncated data:  101833758 bytes  truncated data:  0 bytes truncated packets:  72029 pkts  truncated packets:  0 pkts data xmit time:  11.461 secs  data xmit time:  0.000 secs idletime max:  372.0 ms  idletime max:  246.8 ms throughput:  9097174 Bps  throughput:  0 Bps Tcptrace -l
 
 
 
 
 
Normal TCP Scallops
A Little More Loss
Excessive Timeouts
Bad Window Behavior
Receiving host/application is too slow
Too Straight - non-TCP limit
TCP Futures/Ideas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resources Enabling High Performance Data Transfers on Hosts: http://www.psc.edu/networking/perf_tune.html Internet Measurement Tool Taxonomy http://www.caida.org/tools/taxonomy/measurement/ http://www.oyya.synthasite.com/ http://oyya.synthasite.com/contact.php

More Related Content

What's hot

Tcp congestion avoidance algorithm identification
Tcp congestion avoidance algorithm identificationTcp congestion avoidance algorithm identification
Tcp congestion avoidance algorithm identificationBala Lavanya
 
TCP-FIT: An Improved TCP Congestion Control Algorithm and its Performance
TCP-FIT: An Improved TCP Congestion Control Algorithm and its PerformanceTCP-FIT: An Improved TCP Congestion Control Algorithm and its Performance
TCP-FIT: An Improved TCP Congestion Control Algorithm and its PerformanceKevin Tong
 
TCP congestion control
TCP congestion controlTCP congestion control
TCP congestion controlShubham Jain
 
Network and TCP performance relationship workshop
Network and TCP performance relationship workshopNetwork and TCP performance relationship workshop
Network and TCP performance relationship workshopKae Hsu
 
Ns3: Newreno vs Vegas vs Veno
Ns3: Newreno vs Vegas vs VenoNs3: Newreno vs Vegas vs Veno
Ns3: Newreno vs Vegas vs VenoTCHAYE Jude
 
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network partha pratim deb
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)NYversity
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcpsamarai_apoc
 
Tcp Congestion Avoidance
Tcp Congestion AvoidanceTcp Congestion Avoidance
Tcp Congestion AvoidanceRam Dutt Shukla
 
Congestion control
Congestion controlCongestion control
Congestion controlAbhay Pai
 
XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng,...
XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng,...XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng,...
XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng,...The Linux Foundation
 
Ethernet as fabric
Ethernet as fabricEthernet as fabric
Ethernet as fabricMatthew Macy
 
Tcp performance simulationsusingns2
Tcp performance simulationsusingns2Tcp performance simulationsusingns2
Tcp performance simulationsusingns2Justin Frankel
 
Course on TCP Dynamic Performance
Course on TCP Dynamic PerformanceCourse on TCP Dynamic Performance
Course on TCP Dynamic PerformanceJavier Arauz
 

What's hot (20)

Tcp congestion avoidance algorithm identification
Tcp congestion avoidance algorithm identificationTcp congestion avoidance algorithm identification
Tcp congestion avoidance algorithm identification
 
TCP-FIT: An Improved TCP Congestion Control Algorithm and its Performance
TCP-FIT: An Improved TCP Congestion Control Algorithm and its PerformanceTCP-FIT: An Improved TCP Congestion Control Algorithm and its Performance
TCP-FIT: An Improved TCP Congestion Control Algorithm and its Performance
 
TCP congestion control
TCP congestion controlTCP congestion control
TCP congestion control
 
Congestion control avoidance
Congestion control avoidanceCongestion control avoidance
Congestion control avoidance
 
TCP Westwood
TCP WestwoodTCP Westwood
TCP Westwood
 
TCP Congestion Control
TCP Congestion ControlTCP Congestion Control
TCP Congestion Control
 
Network and TCP performance relationship workshop
Network and TCP performance relationship workshopNetwork and TCP performance relationship workshop
Network and TCP performance relationship workshop
 
Ns3: Newreno vs Vegas vs Veno
Ns3: Newreno vs Vegas vs VenoNs3: Newreno vs Vegas vs Veno
Ns3: Newreno vs Vegas vs Veno
 
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcp
 
Tcp Congestion Avoidance
Tcp Congestion AvoidanceTcp Congestion Avoidance
Tcp Congestion Avoidance
 
Congestion control
Congestion controlCongestion control
Congestion control
 
XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng,...
XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng,...XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng,...
XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng,...
 
A Baker's dozen of TCP
A Baker's dozen of TCPA Baker's dozen of TCP
A Baker's dozen of TCP
 
Ethernet as fabric
Ethernet as fabricEthernet as fabric
Ethernet as fabric
 
Tcp performance simulationsusingns2
Tcp performance simulationsusingns2Tcp performance simulationsusingns2
Tcp performance simulationsusingns2
 
Tcp(no ip) review part2
Tcp(no ip) review part2Tcp(no ip) review part2
Tcp(no ip) review part2
 
Chap 23 ip over atm
Chap 23 ip over atmChap 23 ip over atm
Chap 23 ip over atm
 
Course on TCP Dynamic Performance
Course on TCP Dynamic PerformanceCourse on TCP Dynamic Performance
Course on TCP Dynamic Performance
 

Similar to Troubleshooting TCP/IP

(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet CountAmazon Web Services
 
AWS re:Invent 2016: Making Every Packet Count (NET404)
AWS re:Invent 2016: Making Every Packet Count (NET404)AWS re:Invent 2016: Making Every Packet Count (NET404)
AWS re:Invent 2016: Making Every Packet Count (NET404)Amazon Web Services
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Chandra Meena
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OpenvSwitch
 
Insights into the performance and configuration of TCP in Automotive Ethernet...
Insights into the performance and configuration of TCP in Automotive Ethernet...Insights into the performance and configuration of TCP in Automotive Ethernet...
Insights into the performance and configuration of TCP in Automotive Ethernet...RealTime-at-Work (RTaW)
 
tcp-wireless-tutorial.ppt
tcp-wireless-tutorial.ppttcp-wireless-tutorial.ppt
tcp-wireless-tutorial.pptRadwan Mahmoud
 
TCP Over Wireless
TCP Over WirelessTCP Over Wireless
TCP Over WirelessFarooq Khan
 
Computer network (16)
Computer network (16)Computer network (16)
Computer network (16)NYversity
 
chapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxchapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxTekle12
 
presentationphysicallyer.pdf talked about computer networks
presentationphysicallyer.pdf talked about computer networkspresentationphysicallyer.pdf talked about computer networks
presentationphysicallyer.pdf talked about computer networksHetfieldLee
 
UAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsUAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsGerardo Pardo-Castellote
 
Designing TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion ControlDesigning TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion Controlsoohyunc
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Olivier Bonaventure
 
Primer to Browser Netwroking
Primer to Browser NetwrokingPrimer to Browser Netwroking
Primer to Browser NetwrokingShuya Osaki
 
TCP Theory
TCP TheoryTCP Theory
TCP Theorysoohyunc
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Andriy Berestovskyy
 

Similar to Troubleshooting TCP/IP (20)

(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet Count
 
AWS re:Invent 2016: Making Every Packet Count (NET404)
AWS re:Invent 2016: Making Every Packet Count (NET404)AWS re:Invent 2016: Making Every Packet Count (NET404)
AWS re:Invent 2016: Making Every Packet Count (NET404)
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc
 
NE #1.pptx
NE #1.pptxNE #1.pptx
NE #1.pptx
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
 
Insights into the performance and configuration of TCP in Automotive Ethernet...
Insights into the performance and configuration of TCP in Automotive Ethernet...Insights into the performance and configuration of TCP in Automotive Ethernet...
Insights into the performance and configuration of TCP in Automotive Ethernet...
 
tcp-wireless-tutorial.ppt
tcp-wireless-tutorial.ppttcp-wireless-tutorial.ppt
tcp-wireless-tutorial.ppt
 
TCP Over Wireless
TCP Over WirelessTCP Over Wireless
TCP Over Wireless
 
Computer network (16)
Computer network (16)Computer network (16)
Computer network (16)
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
chapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxchapter 3.2 TCP.pptx
chapter 3.2 TCP.pptx
 
presentationphysicallyer.pdf talked about computer networks
presentationphysicallyer.pdf talked about computer networkspresentationphysicallyer.pdf talked about computer networks
presentationphysicallyer.pdf talked about computer networks
 
TCP_Congestion_Control.ppt
TCP_Congestion_Control.pptTCP_Congestion_Control.ppt
TCP_Congestion_Control.ppt
 
UAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsUAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time Communications
 
Designing TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion ControlDesigning TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion Control
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
 
Primer to Browser Netwroking
Primer to Browser NetwrokingPrimer to Browser Netwroking
Primer to Browser Netwroking
 
TCP Theory
TCP TheoryTCP Theory
TCP Theory
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
Wireshark Basics
Wireshark BasicsWireshark Basics
Wireshark Basics
 

Recently uploaded

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 

Recently uploaded (20)

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 

Troubleshooting TCP/IP

  • 1. TCP/IP and Network Performance Tuning Oyya-info www.oyya.synthasite.com http://oyya.synthasite.com/contact.php
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. High “Speed” Networks OC3 155 Mbps DS3 45 Mbps Capacity
  • 7. Packet Lengths in Fiber Mbps Bits/Mile Miles/1500B Pkt T1 1.5 11.7 1026 Eth 10 78.1 154 T3 45 351 34 FEth 100 781 15 OC3 155 1210 10 OC12 622 4860 2.5 OC48 2488 19440 3260 feet
  • 8.
  • 9.
  • 10. Maximum TCP/IP Data Rate 64 KB Window Size
  • 11.
  • 12. FreeBSD Tuning # FreeBSD 3.4 defaults are 524288 max, 16384 default /sbin/sysctl -w kern.ipc.maxsockbuf=1048576 /sbin/sysctl -w net.inet.tcp.sendspace=32768 /sbin/sysctl -w net.inet.tcp.recvspace=32768 Enabling High Performance Data Transfers on Hosts: http://www.psc.edu/networking/perf_tune.html
  • 13.
  • 14. Traceroute Matt's traceroute [v0.41] damp-ssc.spawar.navy.mil Sun Apr 23 23:29:51 2000 Keys: D - Display mode R - Restart statistics Q - Quit Packets Pings Hostname %Loss Rcv Snt Last Best Avg Worst 1. taco2-fe0.nci.net 0% 24 24 0 0 0 1 2. nccosc-bgp.att-disc.net 0% 24 24 1 1 1 6 3. pennsbr-aip.att-disc.net 0% 24 24 84 84 84 86 4. sprint-nap.vbns.net 0% 24 24 84 84 84 86 5. cs-hssi1-0.pym.vbns.net 0% 23 24 89 88 152 407 6. jn1-at1-0-0-0.pym.vbns.net 0% 23 23 88 88 88 90 7. jn1-at1-0-0-13.nor.vbns.net 0% 23 23 88 88 88 90 8. jn1-so5-0-0-0.dng.vbns.net 0% 23 23 89 88 91 116 9. jn1-so5-0-0-0.dnj.vbns.net 0% 23 23 112 111 112 113 10. jn1-so4-0-0-0.hay.vbns.net 0% 23 23 135 134 135 135 11. jn1-so0-0-0-0.rto.vbns.net 0% 23 23 147 147 147 147 12. 192.12.207.22 5% 22 23 98 98 113 291 13. pinot.sdsc.edu 0% 23 23 152 152 152 156 14. ipn.caida.org 0% 23 23 152 152 152 160
  • 15.
  • 16.
  • 17. MPing on a “Normal” Path Rtt window not yet full Slope = 1 / rtt Stable queueing region Tail-drop behavior
  • 18. MPing on a “Normal” Path Stable data rate 3600*1000*8 = 29 Mbps Queue size (280-120)*1000 = 160 KB Effective BW*Delay Product 120*1000 = 120 KB Packet Loss 1 - 3600/4800 = 25% Rtt = 120/3600 = 33 msec
  • 19. Some MPing Results #1 RTT is increasing as load increases Slow packet processing? Fairly normal behavior Discarded packets are costing some performance loss
  • 20. Some MPing Results #2 Very little stable queueing Insufficient memory? Spikes from some periodic event (cache cleaner?) Discarding packets comes at some cost to performance Error logging?
  • 21. Some MPing Results #3 Fairly constant packet loss, even under light load Major packet loss, ~7/8 or 88% Hump at 50 may be duplex problem Both turned out to be an auto-negotiation duplex problem Setting to static full-duplex fixed these!
  • 22. Some MPing Results #4 Oscillations with little loss Rate shaping? Decreasing performance with increasing queue length Typical of Unix boxes with poor queue insertion
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Maximum Transmission Unit (MTU) Issues http://sd.wareonearth.com/woe/jumbo.html New York to Los Angeles. Round Trip Time (rtt) is about 32 msec, and let's say packet loss is 0.1% (0.001). With an MSS of 1500 bytes, TCP throughput will have an upper bound of about 8.3 Mbps! And no, that is not a window size limitation, but rather one based on TCP's ability to detect and recover from congestion (loss). With 9000 byte frames, TCP throughput could reach about 50 Mbps.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. TCP’s Sliding Window 1 2 3 4 5 6 7 8 9 10 11 ... Offered receiver window Sent and ACKed Sent, not ACKed Can send ASAP Can’t send until window moves Usable window W. R. Stevens, 20.3
  • 34.
  • 35.
  • 36. Slowstart and Congestion Avoidance Together
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. A preconfigured TCP test rig http://www.ncne.nlanr.net/TCP/testrig/
  • 44. TCP connection 1: host a: sd.wareonearth.com:1095 host b: amp2.sd.wareonearth.com:56117 complete conn: yes first packet: Sun Apr 23 23:35:29.645263 2000 last packet: Sun Apr 23 23:35:41.108465 2000 elapsed time: 0:00:11.463202 total packets: 107825 filename: trace.0.20000423233526 a->b: b->a: total packets: 72032 total packets: 35793 ack pkts sent: 72031 ack pkts sent: 35793 pure acks sent: 2 pure acks sent: 35791 unique bytes sent: 104282744 unique bytes sent: 0 actual data pkts: 72029 actual data pkts: 0 actual data bytes: 104282744 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 72029 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 0 adv wind scale: 4 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 448 bytes min segm size: 0 bytes avg segm size: 1447 bytes avg segm size: 0 bytes max win adv: 32120 bytes max win adv: 750064 bytes min win adv: 32120 bytes min win adv: 65535 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 32120 bytes avg win adv: 30076 bytes initial window: 2896 bytes initial window: 0 bytes initial window: 2 pkts initial window: 0 pkts ttl stream length: 104857600 bytes ttl stream length: 0 bytes missed data: 574856 bytes missed data: 0 bytes truncated data: 101833758 bytes truncated data: 0 bytes truncated packets: 72029 pkts truncated packets: 0 pkts data xmit time: 11.461 secs data xmit time: 0.000 secs idletime max: 372.0 ms idletime max: 246.8 ms throughput: 9097174 Bps throughput: 0 Bps Tcptrace -l
  • 45.  
  • 46.  
  • 47.  
  • 48.  
  • 49.  
  • 55. Too Straight - non-TCP limit
  • 56.
  • 57. Resources Enabling High Performance Data Transfers on Hosts: http://www.psc.edu/networking/perf_tune.html Internet Measurement Tool Taxonomy http://www.caida.org/tools/taxonomy/measurement/ http://www.oyya.synthasite.com/ http://oyya.synthasite.com/contact.php