SlideShare a Scribd company logo
1 of 16
Linux TCP/IP Tuning
17 March 2015
Presented by
Binan AL Halabi
Master in Communications
For Real Time Communication
Blog: voipmagazine.wordpress.com/
Why Tuning ?

Service Availability (Signaling)

Media Quality (Low Delay, Low Loss and Low Jitter)
* Low Jitter = Packets arrives in a nice steady stream
(not bursts)
Signaling
/Media
Packets
Interrupts Tuning
Interrupts Distribution

Fair: All CPU Cores have the same priority.

Using “ irqbalance” daemon.

Problem: Time is needed to load the interrupt
handler to the cache of the fresh CPU core.

Not Fair:

Interrupt Affinity = CPU Cores (As a Bit Mask)
that handle the interrupts from a Specific
Device.
Interrupt Coalescing
Some NIC drivers support interrupt coalescing
(multiple interrupts can be coalesced into one
kernel interrupt).
Transmission & Receiving
Queues

“txqueuelen”: Transmission Queue Length related to
the interface. The kernel stores the departing frames in
this queue (the frames are not loaded into the NIC’s
buffer yet).

The “netdev_max_backlog” is the corresponding
receive queue.
Socket Buffers Sizes

Sizes allowed to be allocated by the application

Read/Receive Buffer: rmem_max and rmem_default

Write /Send Buffer: wmem_max and wmem_default

The values are in Byte.
Protocol-Specific Parameters
Example

” TIME_WAIT” Interval (tcp_fin_timeout)
– TCP socket state is “closing”
– Waiting to ensure the ACK (of respective FIN) it
sent was received.

Small value is recommended for high loaded
servers (e.g. 1-10 seconds)
Port Range &
Number Of File Handles
 Port Range “net.ipv4.ip_local_port_range”

“fs.file-max” is the maximum number of file
handles on the entire system
SHELL Limits
“ulimit” is used to limit the resources allocated to the
user, among other things, the number of files that
can be opened by the user:
• The user can change its limit:
# ulimit -n New_Value
• The root set the range for the user's
value. “/etc/security/limits.conf”
Packet Marking & Kernel
Traffic Control (TC/TCNG)

Packets Marking using IPtables: target “MARK”
with the option “--set-mark”

Example: Mark RTP packets with 6:
# iptables -t mangle -A PREROUTING -p udp -m
udp --dport 16384:32768 -i eth0 -j MARK
--set-mark 6
Kernel Traffic Control
(TC/TCNG)

Bind Marks with Defined Classes
Example: Makes packets marked with 6, to be processed
by the 1:10 class:
# tc filter add dev eth1 protocol ip parent 1:0 prio 1
handle 6 fw flowid 1:10

Define the classes (class based queueing)
# tc class add dev eth1 parent 1:1 classid 1:10 htb
rate XMbps ceil YMbps burst 10k
Kernel Connection Tracking
System
Conntrack Example:
Udp 17 20 src=192.168.1.2 dst=192.168.1.5
sport=137 dport=1025 [UNREPLIED]
src=192.168.1.5 dst=192.168.1.2 sport=1025
dport=137 use=1
Connection Tracking
“nf_conntrack” Hash Table

Error : “nf_conntrack: table full, dropping packet

Change The value: net.netfilter.nf_conntrack_buckets
And net.netfilter.nf_conntrack_max
What We Need ?
Testing Lab:

Case Definition

Traffic Generator

Measurement Tools

Results Documentation
Virtual Network Node

The network node is going virtual

Follow the packet in its path in the
system:

Policy

Network Virtualization Solution's QoS
Support
And Much More Parameters
But Remember the Whole Picture
(All Parameters Together)

More Related Content

What's hot

5. transistion mechanisum 1
5. transistion mechanisum 15. transistion mechanisum 1
5. transistion mechanisum 1
rajataro
 

What's hot (20)

The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
The Next Generation Firewall for Red Hat Enterprise Linux 7 RCThe Next Generation Firewall for Red Hat Enterprise Linux 7 RC
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
 
Sockets and Socket-Buffer
Sockets and Socket-BufferSockets and Socket-Buffer
Sockets and Socket-Buffer
 
Part 12 : Local Area Networks
Part 12 : Local Area Networks Part 12 : Local Area Networks
Part 12 : Local Area Networks
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services
 
CCNA CHAPTER 16 BY jetarvind kumar madhukar
CCNA CHAPTER 16 BY jetarvind kumar madhukarCCNA CHAPTER 16 BY jetarvind kumar madhukar
CCNA CHAPTER 16 BY jetarvind kumar madhukar
 
BPF: Next Generation of Programmable Datapath
BPF: Next Generation of Programmable DatapathBPF: Next Generation of Programmable Datapath
BPF: Next Generation of Programmable Datapath
 
Ebpf ovsconf-2016
Ebpf ovsconf-2016Ebpf ovsconf-2016
Ebpf ovsconf-2016
 
DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
 
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)
 
IPv6 header
IPv6 headerIPv6 header
IPv6 header
 
Network sockets
Network socketsNetwork sockets
Network sockets
 
Ipv6 cheat sheet
Ipv6 cheat sheetIpv6 cheat sheet
Ipv6 cheat sheet
 
Introduction to tcp ip linux networking
Introduction to tcp ip   linux networkingIntroduction to tcp ip   linux networking
Introduction to tcp ip linux networking
 
Networking Basics with Linux
Networking Basics with LinuxNetworking Basics with Linux
Networking Basics with Linux
 
Part 4 : reliable transport and sharing resources
Part 4 : reliable transport and sharing resourcesPart 4 : reliable transport and sharing resources
Part 4 : reliable transport and sharing resources
 
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
BPF  & Cilium - Turning Linux into a Microservices-aware Operating SystemBPF  & Cilium - Turning Linux into a Microservices-aware Operating System
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
 
Ipv6 cheat sheet
Ipv6 cheat sheetIpv6 cheat sheet
Ipv6 cheat sheet
 
5. transistion mechanisum 1
5. transistion mechanisum 15. transistion mechanisum 1
5. transistion mechanisum 1
 
White Paper: Perforce Administration Optimization, Scalability, Availability ...
White Paper: Perforce Administration Optimization, Scalability, Availability ...White Paper: Perforce Administration Optimization, Scalability, Availability ...
White Paper: Perforce Administration Optimization, Scalability, Availability ...
 
Part 6 : Internet applications
Part 6 : Internet applicationsPart 6 : Internet applications
Part 6 : Internet applications
 

Viewers also liked

HAProxy tech talk
HAProxy tech talkHAProxy tech talk
HAProxy tech talk
icebourg
 
/proc/irq/<irq>/smp_affinity
/proc/irq/<irq>/smp_affinity/proc/irq/<irq>/smp_affinity
/proc/irq/<irq>/smp_affinity
Takuya ASADA
 
Modeling DNA unzipping in the presence of bound proteins
Modeling DNA unzipping in the presence of bound proteinsModeling DNA unzipping in the presence of bound proteins
Modeling DNA unzipping in the presence of bound proteins
guestb5dd5e
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
 

Viewers also liked (10)

Openstack based WebRTC PaaS - Kamailio World 2015
Openstack based WebRTC PaaS - Kamailio World 2015 Openstack based WebRTC PaaS - Kamailio World 2015
Openstack based WebRTC PaaS - Kamailio World 2015
 
Aynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration FileAynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration File
 
HAProxy tech talk
HAProxy tech talkHAProxy tech talk
HAProxy tech talk
 
Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
 
Introduction to Haproxy
Introduction to HaproxyIntroduction to Haproxy
Introduction to Haproxy
 
/proc/irq/<irq>/smp_affinity
/proc/irq/<irq>/smp_affinity/proc/irq/<irq>/smp_affinity
/proc/irq/<irq>/smp_affinity
 
Modeling DNA unzipping in the presence of bound proteins
Modeling DNA unzipping in the presence of bound proteinsModeling DNA unzipping in the presence of bound proteins
Modeling DNA unzipping in the presence of bound proteins
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: Manifesto
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 

Similar to Tuning 17 march

Maxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorialMaxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorial
madhuinturi
 

Similar to Tuning 17 march (20)

Userspace networking
Userspace networkingUserspace networking
Userspace networking
 
High perf-networking
High perf-networkingHigh perf-networking
High perf-networking
 
mTCP使ってみた
mTCP使ってみたmTCP使ってみた
mTCP使ってみた
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
Network interface card(nic)
Network interface card(nic)Network interface card(nic)
Network interface card(nic)
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osio
 
Multicore
MulticoreMulticore
Multicore
 
Lightweight DNN Processor Design (based on NVDLA)
Lightweight DNN Processor Design (based on NVDLA)Lightweight DNN Processor Design (based on NVDLA)
Lightweight DNN Processor Design (based on NVDLA)
 
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linux
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running LinuxLinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linux
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linux
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 
CPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performanceCPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performance
 
Maxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorialMaxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorial
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
 
FEC & File Multicast
FEC & File MulticastFEC & File Multicast
FEC & File Multicast
 
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...
 
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...
 
1.4 System Arch.pdf
1.4 System Arch.pdf1.4 System Arch.pdf
1.4 System Arch.pdf
 
BUD17-300: Journey of a packet
BUD17-300: Journey of a packetBUD17-300: Journey of a packet
BUD17-300: Journey of a packet
 
Tos tutorial
Tos tutorialTos tutorial
Tos tutorial
 

Recently uploaded

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Recently uploaded (20)

UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 

Tuning 17 march

  • 1. Linux TCP/IP Tuning 17 March 2015 Presented by Binan AL Halabi Master in Communications For Real Time Communication Blog: voipmagazine.wordpress.com/
  • 2. Why Tuning ?  Service Availability (Signaling)  Media Quality (Low Delay, Low Loss and Low Jitter) * Low Jitter = Packets arrives in a nice steady stream (not bursts) Signaling /Media Packets
  • 3. Interrupts Tuning Interrupts Distribution  Fair: All CPU Cores have the same priority.  Using “ irqbalance” daemon.  Problem: Time is needed to load the interrupt handler to the cache of the fresh CPU core.  Not Fair:  Interrupt Affinity = CPU Cores (As a Bit Mask) that handle the interrupts from a Specific Device.
  • 4. Interrupt Coalescing Some NIC drivers support interrupt coalescing (multiple interrupts can be coalesced into one kernel interrupt).
  • 5. Transmission & Receiving Queues  “txqueuelen”: Transmission Queue Length related to the interface. The kernel stores the departing frames in this queue (the frames are not loaded into the NIC’s buffer yet).  The “netdev_max_backlog” is the corresponding receive queue.
  • 6. Socket Buffers Sizes  Sizes allowed to be allocated by the application  Read/Receive Buffer: rmem_max and rmem_default  Write /Send Buffer: wmem_max and wmem_default  The values are in Byte.
  • 7. Protocol-Specific Parameters Example  ” TIME_WAIT” Interval (tcp_fin_timeout) – TCP socket state is “closing” – Waiting to ensure the ACK (of respective FIN) it sent was received.  Small value is recommended for high loaded servers (e.g. 1-10 seconds)
  • 8. Port Range & Number Of File Handles  Port Range “net.ipv4.ip_local_port_range”  “fs.file-max” is the maximum number of file handles on the entire system
  • 9. SHELL Limits “ulimit” is used to limit the resources allocated to the user, among other things, the number of files that can be opened by the user: • The user can change its limit: # ulimit -n New_Value • The root set the range for the user's value. “/etc/security/limits.conf”
  • 10. Packet Marking & Kernel Traffic Control (TC/TCNG)  Packets Marking using IPtables: target “MARK” with the option “--set-mark”  Example: Mark RTP packets with 6: # iptables -t mangle -A PREROUTING -p udp -m udp --dport 16384:32768 -i eth0 -j MARK --set-mark 6
  • 11. Kernel Traffic Control (TC/TCNG)  Bind Marks with Defined Classes Example: Makes packets marked with 6, to be processed by the 1:10 class: # tc filter add dev eth1 protocol ip parent 1:0 prio 1 handle 6 fw flowid 1:10  Define the classes (class based queueing) # tc class add dev eth1 parent 1:1 classid 1:10 htb rate XMbps ceil YMbps burst 10k
  • 12. Kernel Connection Tracking System Conntrack Example: Udp 17 20 src=192.168.1.2 dst=192.168.1.5 sport=137 dport=1025 [UNREPLIED] src=192.168.1.5 dst=192.168.1.2 sport=1025 dport=137 use=1
  • 13. Connection Tracking “nf_conntrack” Hash Table  Error : “nf_conntrack: table full, dropping packet  Change The value: net.netfilter.nf_conntrack_buckets And net.netfilter.nf_conntrack_max
  • 14. What We Need ? Testing Lab:  Case Definition  Traffic Generator  Measurement Tools  Results Documentation
  • 15. Virtual Network Node  The network node is going virtual  Follow the packet in its path in the system:  Policy  Network Virtualization Solution's QoS Support
  • 16. And Much More Parameters But Remember the Whole Picture (All Parameters Together)