Reference Router on NetFPGA 1G

Slides:



Advertisements
Similar presentations
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Advertisements

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.
ECE Department: University of Massachusetts, Amherst ECE 354 Spring 2009 Lab 3: Transmitting and Receiving Ethernet Packets.
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.
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.
Network Technologies essentials Week 4: Internetworking Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University of.
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,
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
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
Network Data Plane Part 2
IP Forwarding Covers the principles of end-to-end datagram delivery in IP networks.
Reference Router on NetFPGA 1G
IP - The Internet Protocol
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.
Network Layer: Control/data plane, addressing, routers
IP Forwarding Relates to Lab 3.
Networking and Network Protocols (Part2)
IP Forwarding Relates to Lab 3.
Network Architecture Models: Layered Communications
NetFPGA - an open network development platform
Lecture 9 – Chapter 4 Network Data Plane CIS 5617, Spring2019
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: Wei-Li, Wang Date: 107/03/27 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 BOARD 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 BOARD 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 1 bytes 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 word_IP_SRC_DST lpm_lookup_hit 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 Non-IP Dst MAC Ether type Drop For us 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 Dec TTL Update IP checksum Set Dst MAC Set Src MAC Yes No Ver ==4? No IP opts? TTL > 1? Routing table hit? ARP table hit? No Yes Broadcast Drop 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