• Save
Server-side Intelligent Switching using vyatta
Upcoming SlideShare
Loading in...5
×
 

Server-side Intelligent Switching using vyatta

on

  • 4,356 views

Server-side Intelligent Switching using vyatta. (10 oct, 2012) ...

Server-side Intelligent Switching using vyatta. (10 oct, 2012)
for Japan Vyatta Users Meeting 2012 Autumn in Tokyo.

SAKURA Internet Research Center.
Senior Researcher / Naoto MATSUMOTO

Statistics

Views

Total Views
4,356
Views on SlideShare
4,347
Embed Views
9

Actions

Likes
4
Downloads
1
Comments
1

2 Embeds 9

https://twitter.com 8
https://si0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Server-side Intelligent Switching using vyatta Server-side Intelligent Switching using vyatta Presentation Transcript

  • 10 Oct, 2012 SAKURA Internet Research CenterSenior Researcher / Naoto MATSUMOTO
  • Inteligent Switching Overview Process Process Process Process Process Process Vyatta VM Vyatta VM IaaS-B IaaS-C Process Process Process Tunnel Tunnel Tunnel Vyatta VM Bridge + IEEE 802.1w(Rapid STP) IaaS-D Virtual Ethernet NIC Process Process Process Vyatta VM IaaS-A Source: SAKURA Internet Research Center. 08/2012: Project THORN
  • How does it works? Tunnel Interface + Linux Bridge+IEEE 802.1w (Rapid STP) Daemon = Server-side Intelligent Switching vyattaVM# sudo rstpctl showport br0Tunnel Tunnel Tunnel * vtun1 8001 Fwd 8000-027a0b4f3269 8...3269 8001 DBridge + IEEE 802.1w(Rapid STP) * vtun2 8001 Fwd 8000-027a0b4f3269 8...3269 8002 D : Virtual Ethernet NIC veth1 8004 Fwd 8000-027a0b4f3269 8...3269 8004 DProcess Process Process Vyatta VM Source: SAKURA Internet Research Center. 08/2012: Project THORN
  • Packages for Inteligent Switching Tunnel Tunnel Tunnel - Tunneling Protocol: OpenVPN,GRETAP,L2TPv3 or VXLAN ..etc Bridge + IEEE 802.1w - Bridging Daemon: bridge-utils (Rapid STP) - Rapid STP Daemon: rstpd http://git.kernel.org/?p=linux/kernel/git/shemminger/rstp.git Virtual Ethernet NIC - Virtual Interface: iproute2 http://kernel.org/pub/linux/utils/net/iproute2/Process Process Process VyattaCore 6.4 Source: SAKURA Internet Research Center. 08/2012: Project THORN
  • How to Build Dev-Env on Vyattaconfiguredelete system package repository communityset system package repository oxnard components mainset system package repository oxnard distribution oxnardset system package repository oxnard url http://packages.vyatta.com/vyatta-dev/oxnard/unstablecommitsaverebootsudo full-upgrade -kconfigureset system package repository squeeze components mainset system package repository squeeze distribution squeezeset system package repository squeeze url http://cdn.debian.net/debiancommitsavesudo apt-get updatesudo aptitude install module-assistantsudo aptitude install linux-vyatta-kbuildcd /lib/modules/3.0.23-1-586-vyatta-virt/sudo ln -s /usr/src/linux-image/debian/build/build-i386-none-586-vyatta-virt/ buildsudo aptitude install rpm zlib1g-dev zlib1g-dbg byacc bison flexsudo module-assistant prepare
  • Install rstpd and switch-setup- Downloading latest master from git http://git.kernel.org/?p=linux/kernel/git/shemminger/rstp.git cd rstp sudo make sudo make install- L2TPv3 pseudo-wire Config sudo ip l2tp add tunnel tunnel_id 1 peer_tunnel_id 1 udp_sport 5001 udp_dport 5001 ¥ encap udp local X.X.X.X remote Y.Y.Y.Y sudo ip l2tp add session tunnel_id 1 session_id 1 peer_session_id 1 : sudo ifconfig l2tpeth0 0 sudo ifconfig l2tpeth0 up up- Virtual Ehternet Config Tunnel Tunnel Tunnelip link add type vethsudo ifconfig veth0 up up ; sudo ifconfig veth1 up up Bridge + IEEE 802.1w(Rapid STP)- Bridge/Switch Config Virtual Ethernet NIC sudo brctl addbr br0 sudo brctl addif br0 veth1 Process Process Process sudo brctl addif br0 l2tpeth0 sudo rstpd Vyatta VM sudo rstpctl rstp br0 on
  • Linux Performance Tuning- Linux kernel parameter Tuning su sysctl -w net.core.netdev_max_backlog=500000 sysctl -w net.core.rmem_max=67108864 sysctl -w net.core.wmem_max=67108864 sysctl -w net.core.rmem_default=67108864 sysctl -w net.core.wmem_default=67108864 sysctl -w net.ipv4.tcp_mem="67108864 67108864 67108864″ echo 1000000000 > /proc/sys/kernel/shmmax echo 400 > /proc/sys/vm/nr_hugepages- Linux RPS(Recive Packet Steering) Tuning echo 65535 >/proc/sys/net/core/rps_sock_flow_entries echo 002 > /sys/class/net/eth0/queues/rx-0/rps_cpus echo 200 > /sys/class/net/l2tpeth0/queues/rx-0/rps_cpus : etc echo 65535 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt echo 65535 > /sys/class/net/l2tpeth0/queues/rx-0/rps_flow_cnt : etc
  • Bridge/RSTP Aging Timer- Linux Bridge STP Timer Config brctl sethello br0 1 brctl setfd br0 4 Tunnel Tunnel Tunnel brctl setmaxage br0 6 brctl setageing br0 10 Bridge + IEEE 802.1w- Linux RSTP Timer Config rstpctl sethello br0 1 (Rapid STP) rstpctl setmaxage br0 6 rstpctl setfdelay br0 4 Virtual Ethernet NIC Process Process Process VyattaCore 6.4
  • Performance Benchmark HowTo- Linux in-kernel packet generator tool su modprobe pktgen echo "rem_device_all" > /proc/net/pktgen/kpktgend_0 echo "add_device eth0" > /proc/net/pktgen/kpktgend_0 echo "max_before_softirq 50000" > /proc/net/pktgen/kpktgend_0 echo "count 0" > /proc/net/pktgen/eth0 echo "clone_skb 1000000" > /proc/net/pktgen/eth0 echo "pkt_size 64" > /proc/net/pktgen/eth0 echo "delay 400" > /proc/net/pktgen/eth0 echo "dst X.X.X.X" > /proc/net/pktgen/eth0 echo "dst_mac aa:18:39:6e:fc:3c" > /proc/net/pktgen/eth0 echo "start" > /proc/net/pktgen/pgctrl Tunnel Tunnel Tunnel Bridge + IEEE 802.1w(Rapid STP) Virtual Ethernet NIC Process Process Process Vyatta VM
  • Tunneling Overhead Analysis High is Faster Low is BetterMellanox ConnectX3 FDR10-HCA (IPoIB) 29.56 Gbit/s** 61Kpps (MTU 65,520) Mellanox ConnectX3 40GbE-NIC (IPoEth) 27.45 Gbit/s* 2.28Mpps (MTU 1,500) L2TPv3 on FDR10-HCA (IPoIB) 10.65 Gbit/s* 882Kpps (MTU 1,500) Mellanox ConnectX3 10GbE-NIC (IPoEth) 9.93 Gbit/s* 820Kpps (MTU 1,500) GRETAP on FDR10-HCA (IPoIB) 5.41 Gbit/s* N/A VXLAN on UNKOWN-DEVICE (IPoEth) 4.79 Gbit/s** N/A OpenVPN on FDR10-HCA (IPoIB) 0.24 Gbit/s* N/A (Gbit/sec) (Packet/sec)[System: Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz / 32GB DDR3-DIMM][Traffic Generater: *pktgen, **iperf. Traffic Monitor: vnstat] Sourece: SAKURA Internet Research Center 07/2012
  • Thank you for your interest (C)Copyright 1996-2010 SAKURA Internet Inc.