Chapter 9 Classification And Forwarding. Outline.

Slides:



Advertisements
Similar presentations
Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
Chapter 8 Hardware Conventional Computer Hardware Architecture.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Oct 28, 2004CS573: Network Protocols and Standards1 IP: Routing and Subnetting Network Protocols and Standards Autumn
Oct 26, 2004CS573: Network Protocols and Standards1 IP: Routing and Subnetting Network Protocols and Standards Autumn
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
Chapter 6 Packet Processing Functions
CS335 Networking & Network Administration Tuesday, May 11, 2010.
COS 420 Day 20. Agenda Group Project Discussion Protocol Definition Due April 12 Paperwork Due April 29 Assignment 3 Due Assignment 4 is posted Last Assignment.
CSCI 4550/8556 Computer Networks Comer, Chapter 20: IP Datagrams and Datagram Forwarding.
Chapter 19 Binding Protocol Addresses (ARP) Chapter 20 IP Datagrams and Datagram Forwarding.
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.
COS 420 Day 16. Agenda Assignment 3 Corrected Poor results 1 C and 2 Ds Spring Break?? Assignment 4 Posted Chap Due April 6 Individual Project Presentations.
Chapter 5 Basic Packet Processing: Algorithms And Data Structures
Network Layer (Part IV). Overview A router is a type of internetworking device that passes data packets between networks based on Layer 3 addresses. A.
Chapter 4 Queuing, Datagrams, and Addressing
Transmission Control Protocol Internet Protocol TCP/IP.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
Module 10. Internet Protocol (IP) is the routed protocol of the Internet. IP addressing enables packets to be routed from source to destination using.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
Midterm Review - Network Layers. Computer 1Computer 2 2.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_a
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
Cisco – Chapter 11 Routers All You Ever Wanted To Know But Were Afraid to Ask.
FALL, 2005CSI Part 2.3 Internetworking & Addressing (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution Robert L. Probert, SITE,
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Chapter Three Network Protocols By JD McGuire ARP Address Resolution Protocol Address Resolution Protocol The core protocol in the TCP/IP suite that.
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
TELE202 Lecture 5 Packet switching in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lectures »C programming »Source: ¥This Lecture »Packet switching in Wide.
User Datagram Protocol (UDP) Chapter 11. Know TCP/IP transfers datagrams around Forwarded based on destination’s IP address Forwarded based on destination’s.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
Chapter 19 Binding Protocol Addresses (ARP) A frame transmitted across a physical network must contain the hardware address of the destination. Before.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Internet Protocols (chapter 18) CSE 3213 Fall 2011.
Internet Protocol: Routing IP Datagrams Chapter 8.
1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Dynamic Host Configuration Protocol (DHCP)
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
Protocol Layering Chapter 11.
Cisco Confidential © 2013 Cisco and/or its affiliates. All rights reserved. 1 Cisco Networking Training (CCENT/CCT/CCNA R&S) Rick Rowe Ron Giannetti.
1 Review – The Internet’s Protocol Architecture. Protocols, Internetworking & the Internet 2 Introduction Internet standards Internet standards Layered.
IP Protocol CSE TCP/IP Concepts Connectionless Operation Internetworking involves connectionless operation at the level of the Internet Protocol.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
Process-to-Process Delivery:
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
IP: Addressing, ARP, Routing
COMPUTER NETWORKS CS610 Lecture-28 Hammad Khalid Khan.
Chapter 8 ARP(Address Resolution Protocol)
Part I. Overview of Data Communications and Networking
Chapter 6 – Routing.
Internetworking & Address Resolution
Net 323: NETWORK Protocols
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
Ch 17 - Binding Protocol Addresses
ITIS 6167/8167: Network and Information Security
Lecture 4a Mobile IP 1.
Computer Networks Protocols
Presentation transcript:

Chapter 9 Classification And Forwarding

Outline

Packet Demultiplexing An incoming packet must be demultiplexing as it moves from one layer to the next Efficiency and Flexibility Define a header for each individual protocol Choose the exact set of headers needed for a packet You can create a new protocol or to change an existing protocol without affecting other protocols

The Disadvantage Of Demultiplexing Although it provides freedom to define and use arbitrary protocols without introducing transmission overhead, demultiplexing is inefficient because it imposes sequential processing among layers.

Packet Classification Arrange for the receiver to optimize processing by compressing demultiplexing from a sequence of many operations at each layer into an operation at one layer

Example Classification Classify Ethernet frames carrying traffic to Web server Specify exact header contents in rule set Example – Ethernet type field specifies IP – IP type field specifies TCP – TCP destination port specifies Web server Field sizes and values – 2-octet Ethernet type is – 2-octet IP type is 6 – 2-octet TCP destination port is 80

Illustration Of Encapsulated Headers Highlighted fields are used for classification of Web server traffic

Software Implementation Of Classification To classify a packet, a software-based classifier makes at most one comparison for each field specified in the classification rules Compare values in header fields Conceptually a logical and of all field comparisons Example if ( (frame type == 0x0800) && (IP type == 6) && (TCP port == 80) ) declare the packet matches the classification; else declare the packet does not match the classification;

Optimizing Software Classification Comparisons performed sequentially The code can optimized by ordering the tests to ensure that the first test is the least likely to succeed

Example Of Optimizing Software Classification Assume – 95.0% of all frames have frame type – 87.4% of all frames have IP type 6 – 74.3% of all frames have TCP port 80 Reordering tests can optimize processing time if ( (TCP port == 80) && (IP type == 6) && (frame type == 0x0800) ) declare the packet matches the classification; else declare the packet does not match the classification; At each step, test the field that will eliminate the most packets

Note About Optimization Although the maximum number of comparisons in a software classifier is fixed, the average number of comparisons is determined by the order of the tests; minimum comparisons result if, at each step, the classifier tests the field that eliminates the most packets.

Hardware Implementation Of Classification Hardware can operate in parallel The classifier extracts pertinent fields, concatenates the fields into a multi-octet values Compares the resulting value to a constant Steps – Extract needed fields – Concatenate bits – Place result in register – Perform comparison

Illustration Of Hardware Classifier Constant for Web classifier is

Optimized Classification Of Multiple Rule Sets (1/2) Three disjoint flows – Flow 1: traffic destined for Web server – Flow 2: traffic consisting of ICMP echo request packets – Flow 3: all other traffic (default) Web server traffic – 2-octet Ethernet type is – 2-octet IP type is 6 – 2-octet TCP destination port is 80

Optimized Classification Of Multiple Rule Sets (2/2) ICMP echo traffic – 2-octet Ethernet type is – 2-octet IP type is 1 – 1-octet ICMP type is 8 Software Implementation Of Multiple Rules if (frame type != 0x0800) { send frame to flow 3; } else if (IP type == 6 && TCP destination port == 80) { send packet to flow 1; } else if (IP type == 1 && ICMP type == 8) { send packet to flow 2; } else { send frame to flow 3; }

Classification Of Variable-Size Packet Headers Fields not at fixed offsets Easily handled with software Pose a serious challenge for hardware Finite cases can be specified in rules

Example Variable-Size Header: IP Options Rule Set 1 – 2-octet frame type field contains – 1-octet field at the start of the datagram contains 4516 – 1-octet type field in the IP datagram contains 6 – 2-octet field 22 octets from start of the datagram contains 80 Rule Set 2 – 2-octet frame type field contains – 1-octet field at the start of the datagram contains 4616 – 1-octet type field in the IP datagram contains 6 – 2-octet field 26 octets from the start of datagram contains 80

Effect Of Protocol Design On Classification Fixed headers fastest to classify Each variable-size header adds one computation step In worst case, classification no faster than demultiplexing Extreme example: IPv6

Hybrid Classification Combines hardware and software mechanisms – Hardware used for standard cases – Software used for exceptions Note: software classifier can operate at slower rate

Two Basic Types Of Classification Static – Flows specified in rule sets – Header fields and values known a priori Dynamic – Flows created by observing packet stream – Values taken from headers – Allows fine-grain flows – Requires state information

Example Static Classification Allocate one flow per service type One header field used to identify flow – IP TYPE OF SERVICE (TOS) Use DIFFSERV interpretation Note: Ethernet type field also checked

Example Dynamic Classification Allocate flow per TCP connection Header fields used to identify flow – IP source address – IP destination address – TCP source port number – TCP destination port number Note: Ethernet type and IP type fields also checked

Implementation Of Dynamic Classification Usually performed in software State kept in memory State information created/updated at wire speed

Two Conceptual Bindings classification: packet → flow forwarding: flow → packet disposition Classification binding is usually 1-to-1 Forwarding binding can be 1-to-1 or many-to-1

Flow Identification Connection-oriented network – Per-flow SVC can be created on demand – Flow ID equals connection ID Connectionless network – Flow ID used internally – Each flow ID mapped to ( next hop, interface )

Relationship Of Classification And Forwarding In A Connection-Oriented Network In a connection-oriented network, flow identifiers assigned by classification can be chosen to match connection identifiers used by the underlying network. Doing so makes forwarding more efficient by eliminating one binding.

Forwarding In A Connectionless Network Route for flow determined when flow created Indexing used in place of route lookup Flow identifier corresponds to index of entry in forwarding cache Forwarding cache must be changed when route changes

Second Generation Network Systems Designed for greater scale Use classification instead of demultiplexing Decentralized architecture – Additional computational power on each NIC – NIC implements classification and forwarding High-speed internal interconnection mechanism – Interconnects NICs – Provides fast data path

Illustration Of Second Generation Network Systems Architecture

Classification And Forwarding Chips Sold by vendors Implement hardware classification and forwarding Typical configuration: rule sets given in ROM

QUESTION ?