Reference Router on NetFPGA 1G

Slides:



Advertisements
Similar presentations
Router Internals CS 4251: Computer Networking II Nick Feamster Spring 2008.
Advertisements

Router Internals CS 4251: Computer Networking II Nick Feamster Fall 2008.
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
IP Forwarding Relates to Lab 3.
NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
Berlin – November 10th, 2011 NetFPGA Programmable Networking for High-Speed Network Prototypes, Research and Teaching Presented by: Andrew W. Moore (University.
© Jörg Liebeherr ECE 1545 Packet-Switched Networks.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Network Layer Packet Forwarding IS250 Spring 2010
The Network Layer Chapter 5. The IP Protocol The IPv4 (Internet Protocol) header.
Chapter 5 The Network Layer.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Introduction.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Router Architectures An overview of router architectures.
CECS 474 Computer Network Interoperability Tracy Bradley Maples, Ph.D. Computer Engineering & Computer Science Cal ifornia State University, Long Beach.
CS 838: NetFPGA Tutorial Theophilus Benson.
Router Architectures An overview of router architectures.
Chapter 4 Queuing, Datagrams, and Addressing
Module 10. Internet Protocol (IP) is the routed protocol of the Internet. IP addressing enables packets to be routed from source to destination using.
Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education.
NetFPGA: Reusable Router Architecture for Experimental Research Jad Naous, Glen Gibb, Sara Bolouki, and Nick Presented.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
NetFPGA Cambridge Spring School Mar Day 2: NetFPGA Cambridge Spring School Module Development and Testing Presented by: Andrew W. Moore and.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
IP Forwarding.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
CS4550 Computer Networks II IP : internet protocol, part 2 : packet formats, routing, routing tables, ICMP read feit chapter 6.
Local-Area-Network (LAN) Architecture Department of Computer Science Southern Illinois University Edwardsville Fall, 2013 Dr. Hiroshi Fujinoki
Networks and Protocols CE Week 7b. Routing an Overview.
Network Layer4-1 Datagram networks r no call setup at network layer r routers: no state about end-to-end connections m no network-level concept of “connection”
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
1 CSE 5346 Spring Network Simulator Project.
Lecture Note on Switch Architectures. Function of Switch.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Chapter 4: Network Layer
Chapter 4 Network Layer All material copyright
Networking Devices.
Network Data Plane Part 2
IP Forwarding Covers the principles of end-to-end datagram delivery in IP networks.
Chapter 4: Network Layer
IP Forwarding Relates to Lab 3.
IP Forwarding Relates to Lab 3.
What’s “Inside” a Router?
Some slides have been taken from:
IP Forwarding Relates to Lab 3.
Network Core and QoS.
Packet Switch Architectures
Dynamic Packet-filtering in High-speed Networks Using NetFPGAs
IP Forwarding Relates to Lab 3.
Implementing an OpenFlow Switch on the NetFPGA platform
Router Construction Outline Switched Fabrics IP Routers
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Visible routers in Visible network
Network Layer: Control/data plane, addressing, routers
IP Forwarding Relates to Lab 3.
Networking and Network Protocols (Part2)
IP Forwarding Relates to Lab 3.
Reference Router on NetFPGA 1G
Network Architecture Models: Layered Communications
NetFPGA - an open network development platform
Chapter 4: Network Layer
32 bit destination IP address
Packet Switch Architectures
Network Core and QoS.
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Reference Router on NetFPGA 1G Course: High-Performance Router Architecture and Design Presenter: Chun-Yu, Li Date: 106/5/16 Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan, Taiwan, R.O.C.

Computer & Internet Architecture Lab INTRODUCTION Open-source Hardware & Software NetFPGA is a platform that, combined with an open source code base (both software and hardware), enable rapid prototyping of networking devices. Reference Designs The reference design for various application can be downloaded from [1], it contains a NIC or an IPv4 Router, even an OpenFlow switch. For more details (datasheet specs, resources), please refer to [2]. It’s official website for NetFPGA family of boards. Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab INTRODUCTION Reference Router Features [3] Forwards IPv4 packets of length 64-1500 bytes. Performs Longest Prefix Matching on destination address. Allows host receive packets by filter on destination address. Generates ICMP message for packets with TTL <= 1. Drops packets with bad IP checksum. Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab INTRODUCTION Processing in Reference Router 1. Accept packet arriving on an incoming link. 2. Lookup packet destination address in the forwarding table to identify outgoing port(s). 3. Manipulate IP header: e.g., decrement TTL, update header checksum. 4. Buffer packet in the output queue. 5. Transmit packet onto outgoing link. Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab NetFPGA 1G BORAD The NetFPGA 1G is a PCI card that includes the Logic Fabric, Memory, and Gigabit Ethernet Interfaces. CPU Memory Host PC PCI Bus 1G port 1G port FPGA Memory NetFPGA 1G 1G port 1G port Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab NetFPGA 1G BORAD PHY SRAM DDR2 SDRAM PHY PHY PHY   MEMORY PHY RGMII = Reduced gigabit media-independent interface DMA CPCI PHY CORE DESIGN DDR2 Controller PHY PHY RGMII Virtex II Pro-50 CPCI DMA Computer & Internet Architecture Lab CSIE NCKU

CORE DESIGN MAC Queues CPU Queues DMA Controller MAC Queues CPU Queues Receive/Send packet from/to CPU Both Rx Queue and Tx Queue Both Rx Queue and Tx Queue MAC Queues CPU Queues DMA Controller MAC Queues CPU Queues MAC Queues CPU Queues MAC Queue CPU Queue User Data Path Register Group MDIO Controller SRAM Controller CPCI Controller Management with PHY Communicate with SRAM Allowing CPU write/read register Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab Register Master USER DATA PATH data data ctrl ctrl Input Arbiter Output Port Lookup Output Queues wr wr rdy rdy Computer & Internet Architecture Lab CSIE NCKU

DATA FORMAT 2 bytes Ctrl Bus Data Bus 0xFF Destination port Word length Source port Byte length 0xXX Other module header (optional) 0x00 Dst MAC address Src MAC address Ethertype IP ver Head len ToS Total length Identification Flags Fragment offset Time to live Protocol Header checksum Src IP address Dst IP address …… ……. 0x80 Last byte   Prepended metadata Ethernet Header IP Header Protocol Header & Payload Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab OUTPUT PORT LOOKUP pre_process_ control ip_lpm ip_arp dest_ip_filter op_lut_process_sm ip_checksum_ttl eth_parser op_lut_hdr_parser router_op_lut_regs fallthrough_small_fifo Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab OUTPUT PORT LOOKUP ip_lpm ip_arp next_hop_mac output_port in_data next_hop_ip arp_mac_vld lpm_output_port arp_lookup_hit next_hop_ip word_IP_SRC_DST lpm_lookup_hit lpm_output_port word_IP_DST_LO rd_arp_result Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab OUTPUT PORT LOOKUP dst_ip_filter dst_ip_hit in_data dst_ip_filter_vld word_IP_SRC_DST word_IP_DST_LO rd_dst_ip_filter_result Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab OUTPUT PORT LOOKUP ip_checksum_ttl ip_checksum_vld in_data ip_checksum_is_good in_wr ip_hdr_has_options ip_ttl_is_good word_ETH_IP_VER ip_new_ttl word_IP_LEN_ID ip_new_checksum word_IP_SRC_DST word_IP_DST_LO rd_checksum Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab OUTPUT PORT LOOKUP eth_parser is_arp_pkt in_data is_ip_pkt is_for_us is_broadcast word_ETH_IP_VER mac_dst_port_num word_IP_LEN_ID eth_parser_info_vld word_IP_SRC_DST word_IP_DST_LO eth_parser_rd_info Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab OUTPUT PORT LOOKUP op_lut_hdr_parser is_from_cpu to_cpu_output_port in_data from_cpu_output_port in_ctrl input_port_num rd_hdr_parser Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab FORWARDING DECISION According to the information from the preprocess blocks, op_lut_process_sm  determines the fate of the packet. From CPU? Send to MAC Send to CPU Yes No Not IP Dst MAC Ether type Drop Not for us IP Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab FORWARDING DECISION IP IP checksum correct? Drop No Send to MAC Yes Filter table hit? Send to CPU Yes Dec TTL Update IP checksum Set Dst MAC Set Src MAC No Ver ==4? No IP opts? TTL > 1? Routing table hit? ARP table hit? No Yes Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab EXCEPTION PACKET PATH Software HOST Driver PCI DMA Registers CPU RxQ TxQ CPU RxQ TxQ CPU RxQ TxQ CPU RxQ TxQ Register Group NetFPGA User Data Path MAC TxQ RxQ MAC TxQ RxQ MAC TxQ RxQ MAC TxQ RxQ Computer & Internet Architecture Lab CSIE NCKU

Computer & Internet Architecture Lab REFERNCE [1]https://github.com/NetFPGA/netfpga/wiki/Releases [2]http://netfpga.org/ [3]http://www.cl.cam.ac.uk/research/srg/netos/projects/netfpga/workshop/cambridge-september-2011/2011_NetFPGA_Day_tutorial_Cambridge.pdf Computer & Internet Architecture Lab CSIE NCKU