ECE 526 – Network Processing Systems Design Ning Weng Department of Electrical & Computer Engineering Fall 2008 Welcome Aboard • Who am I? ─ Ning Weng, Assistant Professor in ECE ─ Office: Engineering E119 ─ Email: weng@engr.siu.edu • Research interests: ─ ─ ─ ─ Network processor System integration Analytical performance modeling Network system security • Tell us who you are ─ In one semester Ning Weng ECE 526 2 What is the Internet? Ning Weng ECE 526 3 World Wide Web Ning Weng ECE 526 4 Application View: Google Ning Weng ECE 526 5 Application View: Others IP picture frame http://www.ceiva.com/ Web-enabled toaster + weather forecaster • Other examples: ─ ─ ─ ─ ─ ─ ─ Email File Transfer Firewall IP Phone Virtual Private Network (VPN) E-commerce Games Ning Weng ECE 526 6 Abstract View: in the Beginning • The first 2 nodes on the ARPANET ─ IMP: • Interface Message Processors • Network manager • Evolved to today’s router ─ Client Server Model Ning Weng ECE 526 7 Abstract View: UUNET Ning Weng ECE 526 8 Nuts and Bolts View • Millions of connected computing devices ─ ─ ─ ─ router Running network applications Client, server Protocol, service Host, end node server workstation mobile local ISP • Network processing systems ─ ─ ─ ─ Inside the network Example: router, switch Throughput latency regional ISP • Communication links ─ fiber, copper, radio, satellite ─ bandwidth Ning Weng company network ECE 526 9 What is the Internet: Summary • Communication infrastructure enables distributed applications • Computational architecture that client requesting service from server • A system of interconnected of processing systems ─ Links ─ End nodes ─ Network processing systems • What is the network processing system? Ning Weng ECE 526 10 What is Network Processing Systems? • Integral part of the Internet • Network processing system determine the properties of the Internet ─ ─ ─ ─ Functionality Performance Reliability Security • The key requirement ─ ─ ─ ─ Performance Flexibility Scalability Ease of use Ning Weng ECE 526 11 Router Router packets Port Port Switching fabric Port Ning Weng Port ECE 526 12 Network Processor Network Processor Processor Core Processor Core Co-processor Processor Core Processor Core Interconnect Network Interface Processor Core Co-processor I/O Ning Weng ECE 526 13 Network Processor Based Router Router Port packets Port Switching fabric Router Port Processor Core Processor Core Processor Core Coprocessor Processor Core Port Port Processor Core Interconnect Network Interface Network Processor Coprocessor I/O Ning Weng ECE 526 14 What is the Course About? ─ Network Processing System Design • • • • What is the minimal set of functionality? How to implement them efficiently? What is the optimal system architecture? How to design a system architecture scalable to next generation networks? ─ Our focus • • • • Data-plane (not control plane, routing protocols,…) Packet-based networks Concepts of router functions only Using programmable Intel IXP network processor (instead of a Cisco router) • Design in system perspective (no RTL, transistor implementation) Ning Weng ECE 526 15 Honesty Policy Consultation with fellow students is encouraged, especially on design issues. However, directly copying another student's work (past or present) defeats the purpose of the assignments and is an honor code violation. Lab reports, programs, or test answers that are directly copied from another student will result in serious penalties including course failure and possible action by the college disciplinary committee. If in doubt, please consult a TA, the instructor, or the official SIUC Student Conduct Code, section II, article A. Ning Weng ECE 526 16 Grading • Class participation and Quizzes: 15% ─ ─ ─ ─ ─ ─ • • Important skill for your professional development One of the best way to learn for you and me! Timely checking the understanding of basic concepts Announced one class period in advance No quiz make-up under any circumstances However you can miss three quizzes Midterm exam: 25% Lab assignments: 15% ─ Get hand-on experiences ─ Four labs including simulation and hardware (maybe) • • Homework 15% Other 30% ─ Option I (Projects) • No more than 5 groups • Proposal presentation; final presentation and report • Related to network processing, and “experimental” results required ─ Option II - Comprehensive final exam: 25% Ning Weng ECE 526 17 Textbook • Douglas Comer: “Network System Design using Network Processors,” Pearson/Prentice Hall, 2005. • Three parts: ─ “Traditional Protocol Processing Systems” = router architectures, packet processing details ─ “Network Processor Technology” = NP architectures ─ “Example Network Processor” = Intel IXP2400 architecture • Classes will follow book Ning Weng ECE 526 18 Network Basics • Contents • Goals ─ Basic terminology • • • • ─ Familiar with key terms used for this course ─ Introducing example systems used inside • the Internet • computer networks Protocol Packet Packet processing Packet delay ─ Network systems • Hubs • Bridges • routers Ning Weng ECE 526 19 Complexity of the Internet • Internet: “network of networks” ─ loosely hierarchical ─ public Internet versus private intranet • Many “pieces” ─ protocols ─ Packet • Packet processing • Packet Delay ─ Packet processing system • • • • Ning Weng Hosts: end node of the Internet Switches, hubs: inside networks Routers: between the networks others ECE 526 20 What’s a protocol? human protocols: • “what’s the time?” • “I have a question” • introductions … specific msgs sent … specific actions taken when msgs received, or other events Ning Weng network protocols: • machines rather than humans • all communication activity in Internet governed by protocols Protocol: define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt ECE 526 21 What’s a protocol? a human protocol and a computer network protocol: Hi TCP connection request Hi TCP connection response Got the time? Get http://www.awl.com/kurose-ross 2:00 <file> time Q: Other human protocols? Ning Weng ECE 526 22 Packet • Packet: Smaller chunks of long message sent by the sender ─ Packet header • data preceding the body (data) • example: destination IP address, source IP address ─ Packet payload: data plus the upper layer header ─ Packet meta-data: packet specific data such as packet arrival time • Generic concept ─ ─ ─ ─ Depends on protocol standard and network technologies frame: packet recognized by hardware, Ethernet frame cell: fixed-sized packet by ATM technology IP packet: varied-sized packet by Internet Ning Weng ECE 526 23 Packet Delay • Packet delay: ─ interval between when packet sent by sender and received by receiver ─ determines the Internet performance and efficiency ─ important for delay sensitive applications: IP Phone, real video • Can we reduce Delay? How? • First, what are causes of the delay? Ning Weng ECE 526 24 Four Source Packet Delay • Packet processing delay: time to process packet ─ depends on complexity of application ─ Depends on speed of processing engine • Queuing delay ─ time waiting at output link for transmission ─ depends on congestion level of router transmission A propagation B Ning Weng nodal processing queueing ECE 526 25 Four Source Packet Delay • Transmission delay ─ time to send bits into link = L/R ─ R=link bandwidth (bps) ─ L=packet length (bits) • Propagation delay ─ d = length of physical link ─ s = propagation speed in medium (~2x108 m/sec) ─ propagation delay = d/s transmission A propagation B Ning Weng nodal processing queueing ECE 526 26 Queuing Delay • R=link bandwidth (bps) • L=packet length (bits) • a=average packet arrival rate traffic intensity = La/R • La/R ~ 0: average queueing delay small • La/R -> 1: delays become large • La/R > 1: more “work” arriving than can be serviced, average delay infinite! Ning Weng ECE 526 27 Processing Delay packet inter-arrival time (for 40Gbps): Big packet: 300 ns Small packet: 12 ns 107 x link bandwidth 2 x / year 106 x Growth 105 x 104 x 103 x 102 x CPU 2 x / two years 10 x 1x Mem improvement in latency 10% / year 1975 1980 1985 1990 1995 2000 Hundreds of instructions per packet Layer 2 IPv4 switching routing Thousands of instructions per packet Flow Intrusion Encryption Classification detection 2005 • Processing delay will increase Processing Complexity • Better data structure, algorithms and architecture required • Reduce average delay by multiprocessors Ning Weng ECE 526 28 Packet Delay: summary dnodal dproc dqueue dtrans dprop • We can reduce the transmission and queuing delay by increasing the link bandwidth • Transportation delay is minor part • Reducing average delay • Processing Delay will be the bottleneck ─ Optimized network processing systems design Ning Weng ECE 526 29 Key System of Internet • Hosts ─ Workstations, servers, PDAs, cell phones • Routers Ning Weng ECE 526 30 Other Systems inside Network • Hub ─ repeater • Bridge ─ Connection between two networks on data link level ─ Isolation of Ethernet collision domains • Layer 2 Switch ─ Similar to bridge, multi-ports ─ High throughput • VLAN switch ─ Supports several Virtual LANs ─ Emulates several smaller switches Ning Weng ECE 526 31 Other Systems inside Internet • Firewall ─ Block packets to certain internal addresses and ports ─ Maintains list of currently active connections • Network Address Translator (NAT) ─ “hides” subnet behind single external IP address ─ Rewrites packets to change IP address and port numbers • Load Balancer ─ Distributes web requests to server farm ─ Uses layer 4+ (or layer 7) classification and TCP splicing • Intrusion Detection Systems (IDS) ─ Detect unauthorized access to computer system or network ─ Prevent attacks from malicious hackers Ning Weng ECE 526 32 Summary • Define basic terminology ─ ─ ─ ─ ─ ─ Protocol Packet Packet processing Packet delay Processing system inside network For more terminology: Appendix 1, Comer • Discussing example systems inside Computer Networks and the Internet. Ning Weng ECE 526 33 For Next Class • Get textbook • Read pages 1-24 (Chapters 1-3) Ning Weng ECE 526 34