sonic: precise realtime software access and control of wired networks

14
SoNIC: Precise Realtime Software Access and Control of Wired Networks Ki Suh Lee, et al., NSDI2013 高野 了成 産業技術総合研究所 情報技術研究研究部門

Upload: ryousei-takano

Post on 12-May-2015

444 views

Category:

Technology


4 download

DESCRIPTION

輪講用に作りかけたが、お蔵入り。

TRANSCRIPT

  • 1.SoNIC:PreciseRealtimeSoftware AccessandControlofWiredNetworks KiSuhLee,etal.,NSDI2013

2. IPG NetFPGA-10GNIC SoNIC http://sonic.cs.cornell.edu/ GtrcNET PSPacer (Precise Software Pacer) 2 3. Inter Packet Gap 12 OS NIC 3 Packet i Packet i+1 IPD: Inter Packet Delay IPG: Inter Packet Gap 4. IPG Interpacket'delays'and'gaps' ' Network'Research'Applica1ons' 4/11/13' SoNIC'NSDI'2013' 24' IPG' Packet'i' Packet'i+1' IPD' Applica1on' Transport' Network' Data'Link' Physical' Packet' Genera1on' Packet'Capture' Detec1ng' 1ming'channel' 4 5. Software-dened NIC 5 10GbE'Network'Stack' 4/11/13' SoNIC'NSDI'2013' 14' Physical' 64/66b'PCS' PMA' PMD' Encode' Scrambler' Gearbox' Decode' Descrambler' Blocksync' Data'Link' Network' Transport' Applica1on' Data' /S/' /D/' /D/' /D/' /D/' /T/' /E/' Data'L3'Hdr' Data'L3'Hdr'L2'Hdr' Data'L3'Hdr'L2'Hdr' Gap'Eth'Hdr' CRC'Preamble' 011010010110100101101001011010010110100101101001011010010110100101101' Encode' Scrambler' Gearbox' PMA' Commodity'NIC' SW' HW' Packet'i' Packet'i+1' Packet'i' Packet'i+1' SoNIC'Design'and'Architec 4/11/13' SoNIC'NSDI'2013' Physical' 64/66b'PCS' PMA' PMD' Encode' Scrambler' Gearbox' Decode' Descrambler' Blocksync' Data'Link' Network' Transport' Applica1on' /S/' /D/' /D/' L2'Hdr' L2'Hdr'Eth'Hdr'Preamble' 0110100101101001011010010110 Encode' Scrambler' Gearbox' PMA' SoNIC' SW' HW' T T G Tra Commodity10GbEnetworkstack SoNIC 6. NetFPGA-10G FPGA SFP+ 4 PCIe Gen2 8450USD 1675USD 6 SFP+' SFP+' FPGA' PCIeGen2' SoNIC'Design:'Hardware' 4/11/13' SoNIC'NSDI'2013' Physical' 64/66b'PCS' PMA' PMD' Encode' Scrambler' Gearbox' Decode' Descrambler' Blocksync' Data'Link' Network' Transport' Applica1on' To'deliver'every'bit'from/to'so3ware' Highospeed'transceivers' PCIe'Gen2'(=32Gbps)' Op1mized'DMA'engine' SW' HW' PMD' PMA' Gearbox' Blocksync' 7. Software Interface SoNIC'Design:'Interface'and'Control' Hardware'control:'ioctl+syscall' I/O':'character'device'interface' Sample'C'code'for'packet'genera1on'and'capture' 4/11/13' SoNIC' 22' 1:'#include'"sonic.h"' 2:' 3:'struct'sonic_pkt_gen_info'info'='{' 4:'.mode'='0,' 5:'.pkt_num'='1000000000UL,' 6:'.pkt_len'='1518,' 7:'.mac_src'='"00:11:22:33:44:55",' 8:'.mac_dst'='"aa:bb:cc:dd:ee:",' 9:'.ip_src'='"192.168.0.1",' 10:'.ip_dst'='"192.168.0.2",' 11:'.port_src'='5000,' 12:'.port_dst'='5000,' 13:'.idle'='12,' 14:'};' 15:'' 16:'/*'OPEN'DEVICE*/' 17:'fd1'='open(SONIC_CONTROL_PATH,'O_RDWR);' 18:'fd2'='open(SONIC_PORT1_PATH,'O_RDONLY);' 19:'/*'CONFIG'SONIC'CARD'FOR'PACKET'GEN*/' 20:'ioctl(fd1,'SONIC_IOC_RESET)' 21:'ioctl(fd1,'SONIC_IOC_SET_MODE,'PKT_GEN_CAP)' 22:'ioctl(fd1,'SONIC_IOC_PORT0_INFO_SET,'&info)' 23' 24:'/*'START'EXPERIMENT*/' 25:'ioctl(fd1,'SONIC_IOC_START)' 26:'//'wait'1ll'experiment'nishes' 27:'ioctl(fd1,'SONIC_IOC_STOP)' 28:'' 29:'/*'CAPTURE'PACKET'*/' 30:'while'((ret'='read(fd2,'buf,'65536))'>'0)'{' 31:'//'process'data' 32:'}'' 33:' 34:'close(fd1);' 35:'close(fd2);' 7 8. 8 9. GtrcNET 9 FPGA GtrcNET-1: GbE (GBIC) x 4ports + 16MBytes Memory/port GtrcNET-10: 10GbE (XENPAK) x 3ports + 1GBytes Memory /port VLAN http://projects.itri.aist.go.jp/gnet/ 10. PSPacer 10 Buer Overow PSPacer Switch/Router 11. PSPacer: 11 1/2 PSPacer PAUSE 10Gbps0.8 12. Linux TBFPSPacer 12 (Bottleneck BW 500Mbps, RTT 200ms, FIFO 1MB) PSPacer 13. NetFPGANIC IPGGtrcNET PSPacer + GtrcNET 13 14. https://www.usenix.org/sites/default/les/ conference/protected-les/suhlee_nsdi13.pdf Report blog: http://www.layer9.org/2013/04/a-report-on- nsdi13sonic-precise.html 14