ECE 526 – Network Processing Systems Design Packet Processing I: algorithms and data structures Chapter 5: D. E. Comer.

Slides:



Advertisements
Similar presentations
Network Layer – IPv4 Dr. Sanjay P. Ahuja, Ph.D.
Advertisements

NETWORK LAYER (1) T.Najah AlSubaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
ECE Department: University of Massachusetts, Amherst ECE 354 Lab 3: Transmitting and Receiving Ethernet Packets.
Chapter 7 – Transport Layer Protocols
Chapter 20 Network Layer: Internet Protocol Stephen Kim 20.1.
EECB 473 Data Network Architecture and Electronics Lecture 3 Packet Processing Functions.
Leon-Garcia & Widjaja: Communication Networks Copyright ©2000 The McGraw Hill Companies A Little More on Chapter 7 And Start Chapter 8 TCP/IP.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Internetworking.
1 6/14/ :27 CS575Internetworking & Routers1 Rivier College CS575: Advanced LANs Chapter 13: Internetworking & Routers.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
ECE Department: University of Massachusetts, Amherst ECE 354 Spring 2009 Lab 3: Transmitting and Receiving Ethernet Packets.
CS335 Networking & Network Administration Tuesday, May 11, 2010.
1 Internet Networking Spring 2002 Tutorial 2 IP Checksum, Fragmentation.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Chapter 3 Review of Protocols And Packet Formats
ECE 526 – Network Processing Systems Design Packet Processing II: algorithms and data structures Chapter 5: D. E. Comer.
Chapter 9 Classification And Forwarding. Outline.
Chapter 5 Basic Packet Processing: Algorithms And Data Structures
Layer 2 Switch  Layer 2 Switching is hardware based.  Uses the host's Media Access Control (MAC) address.  Uses Application Specific Integrated Circuits.
Connecting LANs, Backbone Networks, and Virtual LANs
1 Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:  SD, ED mark start,
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
1 CISCO NETWORKING ACADEMY PROGRAM (CNAP) SEMESTER 1/ MODULE 8 Ethernet Switching.
Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:  SD, ED mark start,
Router Architecture Overview
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
Dr. John P. Abraham Professor UTPA
Chapter 81 Internet Protocol (IP) Our greatest glory is not in never failing, but in rising up every time we fail. - Ralph Waldo Emerson.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
ECE 4110 – Internetwork Programming IP Protocol. 2 * From TCP/IP Protocol Suite, B. A. Forouzan, Prentice Hall Position of IP in TCP/IP Protocol Suite.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Local Area Networks.
1 CS 4396 Computer Networks Lab TCP/IP Networking An Example.
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
ECE 526 – Network Processing Systems Design Computer Architecture: traditional network processing systems implementation Chapter 4: D. E. Comer.
1 Ch 9 Hardware Addressing and Frame Type Identification.
Networking Basics CCNA 1 Chapter 11.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Chapter 11 Extending LANs 1. Distance limitations of LANs 2. Connecting multiple LANs together 3. Repeaters 4. Bridges 5. Filtering frame 6. Bridged network.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
Where are we? Chapter 3 and 4 are focused on getting the data from one place to another. Switching and routing Review the next slides First our goal is.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
ECE 526 – Network Processing Systems Design Network Address Translator.
ECE 526 – Network Processing Systems Design Network Address Translator II.
+ Lecture#2: Ethernet Asma ALOsaimi. + Objectives In this chapter, you will learn to: Describe the operation of the Ethernet sublayers. Identify the major.
NT1210 Introduction to Networking
Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:
Routing and the IP v4 Address Space BSAD 141 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
Lec # 25 Computer Network Muhammad Waseem Iqbal. Learn about the Internetworking Devices – Repeaters – Hubs – Switches – Bridges – Routers.
Network Processing Systems Design
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Youngstown State University Cisco Regional Academy
Chapter 5 Network and Transport Layers
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Behrouz A. Forouzan TCP/IP Protocol Suite, 3rd Ed.
Chapter 5 Network and Transport Layers
Networking Devices.
Internet Networking Spring 2002
TCP/IP Protocol Suite: Review
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

ECE 526 – Network Processing Systems Design Packet Processing I: algorithms and data structures Chapter 5: D. E. Comer

Ning WengECE 5262 Goals Understand basic packet processing operations Learn how to design efficient network processing system by ─ Optimized data structures ─ Optimized processing algorithms Get ready for Lab1

Ning WengECE 5263 Outline Packet processing data structures ─ Data storage ─ Linked list ─ Hash Packet processing algorithms ─ Ethernet bridge ─ Table lookup and hashing (used for lab1) ─ Packet flow classification (used for lab1) ─ IP forwarding, fragmentation and reassembly -- next ─ TCP connection recognition and splicing - next Lab 1

Ning WengECE 5264 Data Storage: coping & buffering Used when packet moved from one memory location to another for protocol processing ─ Expensive, why? ─ What can be done to reduce buffer copies? Must be avoided whenever possible ─ Leave packet in buffer ─ Pass buffer address among threads/layers Buffer allocation ─ Large, fixed buffer ─ Varied-size buffers ─ Linked list of fixed-size blocks What size should buffers be?

Ning WengECE 5265 Buffer Sizes Max IP packet size is 64KB (total length field in IP format: 16 bit) Almost no packets larger than 1500 bytes

Ning WengECE 5266 Ethernet Bridge Used between a pair of Ethernets Provides transparent connections Listens in promiscuous mode Forwards frames in both directions Uses source address in frames to identify computers on each network Uses addresses to filter ─ Uses destination address to decide whether to forward frame

Ning WengECE 5267 Learning Bridge Algorithm Forwarding unless the destination is known lie on the segment over which frames arrives

Ning WengECE 5268 Hash Table Lookup Table lookup ─ Need high speed ─ Software-based systems use hashing for table lookup Hashing: ─ Scheme for providing rapid access to data items which are distinguished by some key Hash table and hash function Hashing function ─ Function assigns a data item distinguished by some “key” into one of a number of possible “hash buckets” in a hash table ─ Ideal hash function should distribute items evenly between the buckets Hashing collision ─ Two different items hash to the same location in a hash table ─ Double hashing: one of popular collision resolution technique Two values: one as a starting value and one as interval between successive values

Ning WengECE 5269 Hashing Algorithm

Ning WengECE Packet Classification Process of mapping a packet to one of the finite sets of “flows” or categories Flow – set of packets that share common characteristics, for example ─ to the same destination ─ use the same procedure to process Packets can be classified according to packet header information

Ning WengECE Example: Web Traffic Ethernet frame contains IP datagram IP datagram contains TCP segment TCP segment has destination port 80 (HTTP)

Ning WengECE Flow Creation 5-tuple: most commonly used version (also for lab1)

Ning WengECE Flow Creation: major steps Extract the five tuples from packet header Calculate the hash value of the five tuples using function Follows the concept of hashing algorithm ─ to find the right slot: either empty or the one has the same hashing value but also same five tuples ─ different way to compute hash value ─ different way to resolve the collision

Ning WengECE Lab 1 TCP/IP flow identification Your program should read a trace of packets and tell the following statistics at the end of the run ─ Number of flows observed. That is the number of unique 5-tuples consisting of IP source and destination, layer 4 protocol number, and source and destination ports. We provide you with support functions to read and write packet trace ─ You just need to write partial “packet processing code” based on the guidance.

Ning WengECE Lab 1 Modify file “flowid.c” only Three key functions: ─ Init_flowid() Initialize any data structures that you need You don’t need modify it, but you need understand it ─ Int flowid(packet *pass_packet) Packet processing code You need modify the partial code ─ Finish_flowid() Called at the end of trace, so you can output results You need modify this code

Ning WengECE Lab 1: Help Help: ─ Dr. Weng Office Hours: (MW 2:30 pm to 3:30 pm) ─ TAs: Kajal P. Patil and Mini Mathew ─ Help Hours: Tu: 11:00am-1:00pm; Tr: 9:30-11:30am and Fr: 1-3pm

Ning WengECE For Next Class Read Comer Chapter 5

Quiz Note: (Please write clearly as you can; only a few key words required for each question) Why packet processing is more and more important compared with other sources of packet delay? Hint: think about the technology/application trend, and the way to reduce each of them. Why is hashing table efficient for table lookup? Can hashing table be used for layer 2 lookup? How about for layer 3? Please explain to support why and why not. What is the basic idea of optimize NIC? List of three techniques of using this idea. Ning WengECE 52618