ITTC High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing
|
|
- Grace Johnson
- 5 years ago
- Views:
Transcription
1 High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research Center The University of Kansas 04 November 2010 rev James P.G. Sterbenz
2 Packet Switch I/O Processing Outline IO.1 Overview IO.2 IP Lookup IO.3 Packet Classification IO.4 Output Scheduling 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-2
3 Packet Switch I/O Processing Outline application application session session transport transport network network network network link link link link end system node network node end system link node network IO.1. Overview IO.2. IP lookup IO.3. Packet classification IO.4. Packet scheduling 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-3
4 Ideal Network Network Node Principle CPU R = network CPU M app M app end system D = 0 end system Network Node Principle Network nodes must support high-bandwidth low-latency, endto-end flows, as well as their aggregation. High-speed network nodes should provide a scalable number or high-bandwidth, low delay interconnections. 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-4 S-II
5 Ideal Switch Architecture Bandwidth, Latency, Ports Infinite bandwidth Zero latency Unlimited number of ports n = R = D = 0 Store-and-Forward & Queueing Delay Minimisation S-II.3 Store-and-forward delays should be avoided, and per packet queueing should be minimised. In the ideal case, nodes should pipeline and cut through packet with zero per packet delays. 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-5
6 Switch Packet Processing Throughput Packet processing rate critical packet processing must sustain at least average rate critical path must sustain peak line rate for min size packets Packet Processing Rate S-II.4p The packet processing rate (packets per second) is a key throughput measure of a switch. Packet processing software and shared parallel hardware resources must be able to sustain the average packet processing rate. Functions in the serial critical path must be designed for the worst case packet processing rate of the path to avoid queueing and blocking of subsequent packets. 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-6
7 Packet Switch I/O Processing IP Lookup IO.1 Overview IO.2 IP Lookup IO.3 Packet Classification IO.4 Packet Scheduling 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-7
8 Fast Datagram Switches Overview Fast datagram switch IP router fast packet switch core typical of modern high-performance routers 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-8
9 Fast Datagram Switches Architecture Fast packet switch core Input processing IP lookup packet classification Output processing packet scheduling fair queueing prefixes link prefixes link input processing header update input processor input processor classify management routing and signalling switch fabric control switch fabric output processing output scheduling output scheduling link link 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-9
10 Fast Datagram Switches Architecture: Shared Forwarding Fast packet switch core Input processing packet classification must be performed at input Shared forwarding engines flexible allocation, but uses switch fabric ports and bandwidth Output processing packet scheduling fair queueing link link input processing forwarding engines input processor headers input processor headers prefixes routing and signalling header processing switch fabric control switch fabric prefixes header processing output processing output scheduling output scheduling link link 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-10
11 Fast Datagram Switches Example 5.6 IP Packets 04 hl TOS length 06 class flow label identification flags TTL protocol header checksum source address destination address options [variable length] frag offset 20B payload length next header hop lim source address destination address data [variable length] 40B extension header(s) [variable length] data [variable length] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-11
12 Fast Datagram Switches IPv4 Address Assignment IP addresses not randomly assigned to hosts why? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-12
13 Fast Datagram Switches IPv4 Address Assignment IP addresses not randomly assigned to hosts every table would have to contain every Internet host billions of entries and would require exact match lookup ISP A X ISP B X X X Tier1 X B A A A November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-13
14 Fast Datagram Switches IPv4 Address Hierarchy IP addresses assigned hierarchically address aggregation dramatically improves scalability forwarding table only needs to contain network address routing advertisements only contain network address prefix ISP A X Tier1 X A B ISP B X November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-14
15 Fast Datagram Switches IPv4 Class-Based Addressing Hierarchy 128 networks 16M hosts A 0 net host 16K networks 64K hosts B 10 net host 2M networks 256 hosts C 110 net host D 1110 multicast address E 1111 reserved Divide IP address into 3 level hierarchy class, network address, host address byte aligned simple IP address lookup (3 major cases) class D for multicast addresses Lecture NR 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-15
16 Fast Datagram Switches IPv4 Subnets 16K networks 64 subnets 1024 hosts B 10 net subnet host Subnets [RFC 0950 / STD 0005] originally way to divide address class within organisation example: 6b subnet to class B subnet mask Hosts in subnet share upper IP address bits natural to cluster similar IP addresses efficient IP routing to subnet switched layer 2 LAN with no layer 3 routing Lecture LL 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-16
17 Fast Datagram Switches IPv4 Class-Based Addressing Problems Principle behind division A: very large network providers B: large organisations C: LANs Reality: rigid structure doesn t match all organisations perfectly doesn t match many organisations well especially class B: three bears problem Inefficient partitioning of address space large fraction of unusable addresses imminent exhaustion of IP address space led to 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-17
18 Fast Datagram Switches IPv4 Classless Addressing (CIDR) CIDR: classless interdomain routing [RFC 1519] eliminate assignment of IP address blocks by class b 7 b 6. b 5 b 4. b 3 b 2. b 1 b 0 /x x-bit prefix = arbitrary number of network bits example: /23 Service providers get variable IP block based on need from RIR (or NIR) Significant improvement in IP address use at the cost of significant increase in complexity of IP lookup how? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-18
19 Fast Datagram Switches IPv4 Classless Addressing (CIDR) CIDR: classless interdomain routing [RFC 1519] eliminate assignment of IP address blocks by class b 7 b 6. b 5 b 4. b 3 b 2. b 1 b 0 /x x-bit prefix = arbitrary number of network bits example: /23 Service providers get variable IP block based on need from RIR (or NIR) Significant improvement in IP address use at the cost of significant increase in complexity of IP lookup IP lookup is longest prefix match 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-19
20 IP Address Lookup Longest Prefix Match prefix p out f state * 00* 001* 0001* 0101* 101* 10100* 11* 111* Longest prefix match most specific subnet Critical parameters worst case lookup time how long as a function of n entries? hop count checksum fix payload p out payload 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-20
21 payload IP Address Lookup Longest Prefix Match prefix p out f state * 00* 001* 0001* 0101* 101* 10100* 11* 111* hop count checksum fix p out Longest prefix match most specific subnet Critical parameters worst case lookup time brute force: O (log 2 n ) n hundred thousands to millions memory required forwarding table update time insert and sort payload 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-21
22 Packet Switch I/O Processing Packet Processing Challenges Target performance is very challenging Large number of flows: O (1M) determines amount of hardware needed memory for per flow state processing for flow-parallelism High data rate: 40Gb/s (OC-768) determines packet interarrival time minimum TCP/IP packet size = 40B 40Gb/s 8ns processing budget for lookup determines required packet processing rate 8ns interarrival 125Mpkt/s [pps] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-22
23 Packet Switch I/O Processing Lookup and Classification Strategies Lookup strategies? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-23
24 Packet Switch I/O Processing Lookup and Classification Strategies Two (related) dimensions: Implementation technology software hardware assisted software hardware Algorithmic technique exhaustive search decision tree decomposition tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-24
25 Software Packet Switch I/O Processing Implementation Technology algorithms that minimise instruction count data structures that minimise memory accesses increasingly implemented in NPU: network processor 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-25
26 Software Packet Switch I/O Processing Implementation Technology algorithms that minimise instruction count data structures that minimise memory accesses increasingly implemented in NPU: network processor Hardware assisted software circuitry that assists software implementation specialised instructions in NPU (e.g. trie traversal) 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-26
27 Software Packet Switch I/O Processing Implementation Technology algorithms that minimise instruction count data structures that minimise memory accesses increasingly implemented in NPU: network processor Hardware assisted software circuitry that assists software implementation specialised instructions in NPU (e.g. trie traversal) Custom hardware functional blocks that store and manipulate IP prefixes memories that minimise access time 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-27
28 Lookup and Classification Algorithmic Techniques: Exhaustive Search Exhaustive search brute force search through all filters advantages and disadvantages? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-28
29 Lookup and Classification Algorithmic Techniques: Exhaustive Search Exhaustive search brute force search through all filters + simple search algorithm although insertion/deletion may be complicated if filters sorted + potentially simple data structures + O(N) memory requirements for N filters but no sharing across filters; possible to do better 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-29
30 Lookup and Classification Algorithmic Techniques: Exhaustive Search Exhaustive search brute force search through all filters + simple search algorithm although insertion/deletion may be complicated if filters sorted + potentially simple data structures + O (N ) memory requirements for N filters but no sharing across filters; possible to do better poor performance for linear search O (N ) memory accesses if unsorted O (log N ) but requires sorting 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-30
31 Lookup and Classification Algorithmic Techniques: Exhaustive Search Exhaustive search brute force search through all filters + simple search algorithm although insertion/deletion may be complicated if filters sorted + potentially simple data structures + O (N ) memory requirements for N filters but no sharing across filters; possible to do better poor performance for linear search O (N ) memory accesses if unsorted O (log N ) but requires sorting better performance costs hardware, memory, processing e.g. massive parallelism: generally not practical e.g. special purpose hardware 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-31
32 Lookup and Classification Hardware Exhaustive Search Conventional memory: read, write comparison done in software by processor unacceptably slow for exhaustive search over large N SRAM: faster and less dense (6 CMOS transistors/bit) DRAM: slower and more dense (1 MOS transistor/bit) Alternative? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-32
33 Lookup and Classification Hardware Exhaustive Search Conventional memory: read, write comparison done in software by processor unacceptably slow for exhaustive search over large N SRAM: faster and less dense (~6 CMOS transistors/bit) DRAM: slower and more dense (1 MOS transistor/bit) Alternative: build comparison circuits into memory search multiple locations in parallel based on content field content-addressable memory 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-33
34 Lookup and Classification Hardware Exhaustive Search: TCAMs TCAM: ternary content addressable memory three states/bit: 1, 0, X (don t care) don t care for low-order LPM bits in IP lookup don t care for irrelevant fields in classification filters read, write, match operations Advantages and disadvantages? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-34
35 Lookup and Classification Hardware Exhaustive Search: TCAMs TCAM: ternary content addressable memory three states/bit: 1, 0, X (don t care) don t care for low-order LPM bits in IP lookup don t care for irrelevant fields in classification filters read, write, match operations Relatively complex typically 16 transistors; fewer possible implications? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-35
36 Lookup and Classification Hardware Exhaustive Search: TCAMs TCAM: ternary content addressable memory three states/bit: 1, 0, X (don t care) don t care for low-order LPM bits in IP lookup don t care for irrelevant fields in classification filters read, write, match operations Relatively complex typically 16 transistors; fewer possible significantly less dense than SRAM significantly higher cost than SRAM 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-36
37 Lookup and Classification Hardware Exhaustive Search: TCAMs TCAM: ternary content addressable memory three states/bit: 1, 0, X (don t care) don t care for low-order LPM bits in IP lookup don t care for irrelevant fields in classification filters read, write, match operations Relatively complex typically 16 transistors; fewer possible significantly less dense than SRAM significantly higher cost than SRAM significantly higher cost than SRAM + Extreme performance: O (1) memory access 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-37
38 IP Address Lookup Hardware Exhaustive Search: TCAMs prefix p out f state * 00XXXX 001XXX 0001XX 0101XX 101XXX 10100X 11XXXX 111XXX priority mux LPM for IP lookup Simultaneous match lookup time constant O (1) Classification later hop count checksum fix payload p out payload 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-38
39 IP Address Lookup Hardware-Assisted Memory Lookup payload short prefix table 0 i p out / index 0 long prefix table p out Multistage lookup [Gupta, Lin, McKeown 1998] conventional SRAM worst case lookup time O (s) number of stages block 2 p -1 p out payload 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-39
40 Decision tree IP Address Lookup Decision-Tree Search data structure in which leaves contain filters or their subsets 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-40
41 Decision tree IP Address Lookup Decision-Tree Search: Trie data structure in which leaves contain filters or their subsets Trie (from retrie val) or prefix tree tree data structure fanout is number of symbols in alphabet {0,1} for IP longest prefix matching and binary classifiers each level contains a successive symbol (bit) flag indicates terminal string represented by 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-41
42 Decision tree IP Address Lookup Decision-Tree Search: Trie data structure in which leaves contain filters or their subsets Trie (from retrie val) or prefix tree tree data structure Typically implemented in software or NPU data structure and instruction assist (IBM NP4GS3) advantages and disadvantages? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-42
43 Decision tree IP Address Lookup Decision-Tree Search: Trie data structure in which leaves contain filters or their subsets Trie (from retrie val) or prefix tree tree data structure Typically implemented in software or NPU data structure and instruction assist IBM NP4GS3 data structure and lookup functional unit generally more space efficient than hardware serial algorithm: linear traversal from root to branch efficiency based on breadth of trie 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-43
44 Decision tree IP Address Lookup Decision-Tree Search: Trie data structure in which leaves contain filters or their subsets Trie (from retrie val) or prefix tree tree data structure fanout is number of symbols in alphabet {0,1} for IP longest prefix matching and binary classifiers each level contains a successive symbol (bit) flag indicates terminal string represented by * Typically implemented in software or NPU data structure and instruction assist (IBM NP4GS3) 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-44
45 IP Address Lookup Address Space Example Example IP address space [RBD2001] 5 bits of address shown organised as full trie a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* a 0 1 d c e f 01 g 01 h 01 i b November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-45
46 IP Address Lookup IP Lookup Example Example IP address space [RBD2001] 5 bits of address shown organised as full trie a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* a d c e f g h i b 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-46
47 IP Address Lookup IP Lookup Example Example IP address space [RBD2001] 5 bits of address shown organised as full trie a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* 0* a 0 1 d 1* c e f g h i b 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-47
48 IP Address Lookup IP Lookup Example Example IP address space [RBD2001] 5 bits of address shown organised as full trie a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* 0* a 0 1 d 1* c e f g h i b 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-48
49 IP Address Lookup IP Lookup Example Example IP address space [RBD2001] 5 bits of address shown organised as full trie a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* a d c e b 011* 100* f g h i 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-49
50 IP Address Lookup IP Lookup Example Example IP address space [RBD2001] 5 bits of address shown organised as full trie a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* 0* a d c e 1110* 1100* 1101* 1111* f 01 g 01 h 01 i b 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-50
51 IP Address Lookup IP Lookup Example Example IP address space [RBD2001] 5 bits of address shown organised as full trie Lookup time O (a ) worst case a = number of address bits a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* 0* a d c e 01 f g h i b 01000* 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-51
52 IP Address Lookup IP Lookup Example Example IP address space [RBD2001] 5 bits of address shown organised as full trie do we need to store the entire trie? a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* 0* a d c e 01 f g h i b 01000* 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-52
53 IP Address Lookup Trie Lookup Trie only containing nodes for prefixes node contains egress port (e.g. a, b, ) does not need to store prefix itself navigation algorithm keeps track of prefix depth in trie gives number of bits optimisation? a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* a 0 1 0* * c e * 100* 1100 f g h 1111 i b 1100* 1101* 1110* 1111* 01000* 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-53 d
54 IP Address Lookup Trie Lookup Trie only containing nodes for prefixes node contains egress port (e.g. a, b, ) does not need to store prefix itself navigation algorithm keeps track of prefix depth in trie gives number of bits optimisation: remove unneeded nodes a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* a 0 1 0* 1* c 011* b 1100* 1101* 1110* 1111* 01000* 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-54 e 100* d f g h i
55 IP Address Lookup Path-Compressed Trie Lookup Path-compressed trie remove nodes at which no decision taken reduces number of lookup algorithm steps at the cost of storing prefixes in some nodes storing bit number to inspect at each level a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* b 01000* 3 a 0 1 d 2 0* c e 1* 011* 100* f g h i 1100* 1101* 1110* 1111* 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-55
56 IP Address Lookup Path-Compressed Trie Lookup Path-compressed trie remove nodes at which no decision taken reduces number of lookup algorithm steps possible to further reduce the depth of trie? a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* b 01000* 3 a 0 1 d 2 0* c e 1* 011* 100* f g h i 1100* 1101* 1110* 1111* 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-56
57 Multibi trie IP Address Lookup Multibit Trie Lookup increase breadth of trie: mutliple bits/level reduces number of lookup algorithm steps at the expense of more memory fixed or variable stride (# bits/level) a 0* b 01000* c 011* d 1* e 100* f 1100* g 1101* h 1110* i 1111* a a d d 0* c c e f g h i 0* * 011* 100* 1* 1100* 1101* 1110* 1111* 01000* b 0* 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-57
58 Packet Switch I/O Processing Hardware vs. Software Input and Output processing tradeoff custom hardware generally faster at potentially higher cost and lower density network processor software more flexible Hardware vs. Software Implementation of Input S-1Ch and Output Processing In determining the appropriate implementation of input and output processing, trade the cost and feasibility of hardware against the complexity and feasibility of network processor software. 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-58
59 Packet Switch I/O Processing IO.3 Packet Classification IO.1 Overview IO.2 IP Lookup IO.3 Packet Classification IO.4 Packet Scheduling 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-59
60 Packet Switch I/O Processing Packet Classification Packet classification determines how packet treated QoS or diffserv policy based routing security and DoS protection (e.g. firewalls) layer 4 and 7 switching active network processing 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-60
61 Packet Switch I/O Processing Classification Challenges Packet classification must be done before queueing to meet most stringent delay class Classification at line speed requires delay bound for minimum interarrival time (40 B) delay bound for worst case classification time e.g. deepest branch of decision tree Bound Packet Classification Time S-II.4c Packets that must be classified to potentially receive delay bounded service must be classified before any queueing at the input. The classification operation must have delay bounds that meet the most stringent service class. 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-61
62 Packet Classification Multidimensional Aspect TOS src adr payload source address R 0 R 1 Multidimensional classification policies may be hierarchal or overlap precedence rules needed More complex than longest prefix match Hardware and software implementation tradeoffs 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-62 T O S R 2 R 5 R 4 R 3
63 Packet Classification Filter Characteristics O (1000) O (10 000) filters / router and growing Typical filter parameters protocol: TCP, UDP, *, ICMP, IGMP, EIGRP, GRE, IPIP, ports corresponding to apps (e.g. 80 for HTTP): or ranges, e.g. high port numbers > 1024 difficult to convert to prefixes source and destination IP addresses specific addresses or prefixes higher layer protocol fields (HTTP, RTP, etc.) 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-63
64 Packet Classification Example Filter Set Example filter set [Taylor 2005] Filter source address [8 bit] destination address [8 bit] protocol <name> destination port [8 bit] Action flow ID [4 bit] priority tag [4 bit] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-64
65 Packet Classification Example Filter Set Filter Action Src Addr Dest Addr Protocol Dest Port FlowID Priority TCP [03:15] [01:01] [00:15] UDP [05:05] ICMP [00:15] [03:15] TCP [03:15] UDP [03:15] [00:15] UDP [06:06] November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-65
66 Software Packet Classification Classification Technology algorithms that minimise instruction count data structures that minimise memory accesses Custom hardware functional blocks that store and manipulate classifiers memories that minimise access time Tradeoffs similar to lookup 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-66
67 Exhaustive search Packet Classification Taxonomy of Algorithms complete search of all filters 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-67
68 Exhaustive search Packet Classification Taxonomy of Algorithms complete search of all filters Decomposition decompose into multiple field searches combine results 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-68
69 Exhaustive search Packet Classification Taxonomy of Algorithms complete search of all filters Decomposition decompose into multiple field searches combine results Decision tree construct decision tree from filter set search by traversing decision tree 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-69
70 Packet Classification Taxonomy of Algorithms Exhaustive search complete search of all filters Decomposition decompose into multiple field searches combine results Decision tree construct decision tree from filter set search by traversing decision tree Tuple space partition filter set by number of bits search for exact matches in partitions 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-70
71 Packet Classification Selected Techniques Exhaustive search (considered seminal in [Taylor 2005]) linear search (impractical) TCAM [Spitznagel 2003] Decomposition parallel bit vectors [Lakshman & Stiliadis 1998] crossproducting [Srinivasan 1998] recursive flow classification [Gupta & McKeown 1999] Decision tree grid-of-tries [Srinivasan 1998] hierarchical intelligent cuttings [Gupta & Mckeown 1999] Tuple space tuple space [Srinivasan 1999] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-71
72 Packet Classification Exhaustive Search Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-72
73 Packet Classification Exhaustive Search: Linear Search Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-73
74 Linear search Packet Classification Exhaustive Search: Linear Search impractical for address lookup (1 dimension) even less practical for multidimensional classification 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-74
75 Packet Classification TCAM Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-75
76 Packet Classification TCAM TCAM: ternary content addressable memory advantage? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-76
77 Packet Classification TCAM TCAM: ternary content addressable memory hardware based parallel match: O (1) time steps capable of matching prefixes (don t care in low order bits) problem for classification? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-77
78 Packet Classification TCAM TCAM: ternary content addressable memory hardware based parallel match: O (1) time steps capable of matching prefixes (don t care in low order bits) but not arbitrary ranges (e.g. port field) Ranges must be converted to prefixes 2(w 1) prefixes required for w -bit fields with ranges expansion factor of 7 entries/filter needed [Taylor 2005] hardware implementation of ranges [Spitzangel 2003] Additional problem? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-78
79 Packet Classification TCAM TCAM: ternary content addressable memory hardware based parallel match: O (1) time steps capable of matching prefixes (don t care in low order bits) but not arbitrary ranges (e.g. port field) Ranges must be converted to prefixes 2(w 1) prefixes required for w -bit fields with ranges expansion factor of 7 entries/filter needed [Taylor 2005] hardware implementation of ranges [Spitzangel 2003] Long search key for multidimensional classification requires O (d ) larger TCAM for d classification fields 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-79
80 Packet Classification Decomposition Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-80
81 Packet Classification Decomposition: Parallel BV Exhaustive search (considered seminal in [Taylor 2005]) linear search (impractical) TCAM Decomposition parallel bit vectors (parallel BV) crossproducting recursive flow classification Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-81
82 Packet Classification Parallel BV Overview Parallel bit vectors [Lakshman & Stiliadis 1998] d filter fields mapped into d -dimensional space each dimension divided into intervals max of 2N +1 < 2 b intervals for N filters with b -bit filter field sort filters by priority assign a N -bit vector to each interval for N filters bit vectors initialised to 0 bit set to 1 indicates match for a filter data structure to locate interval for given point for each dim. see [Taylor 2005 Tbl. IV and Fig. 16] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-82
83 Filter Address Port a 1010 [02:02] b 1100 [05:05] c 0101 [08:08] d [06:06] e 111 [00:15] f 001 [09:15] g 00 [00:04] h 0 [00:03] i 0110 [00:15] j 1 [07:15] k 0 [11:11] Packet Classification Parallel BV Example [Taylor 2005] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-83
84 Parallel BV search Packet Classification Parallel BV Search search d data structures independent and parallelisable bitwise AND of d bit vectors MSB (most significant bit) is filter match 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-84
85 Packet Classification Parallel BV Performance Parallel BV performance search time O (log N ) problem? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-85
86 Packet Classification Parallel BV Performance Parallel BV performance search time O (log N ) memory requirement O (N 2 ) optimisations to improve possible [Lakshman & Stiliadis 1998] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-86
87 Packet Classification Decomposition: Crossproducting Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-87
88 Observation: Packet Classification Crossproducting Overview number unique filter fields significantly less than number of filters Crossproduct precompute best match for all combinations of filter fields 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-88
89 Packet Classification Crossproducting Algorithm Crossproduct algorithm [Srinivasan 1989] separate and construct table for each of d fields 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-89
90 Packet Classification Crossproducting Filter Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP example from [Taylor 2005] k [00:15] November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-90
91 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-91 01
92 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-92 02
93 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-93 03
94 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-94 04
95 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO
96 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO
97 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO
98 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port 08
99 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port [00:01] 09
100 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port [00:01] [01:01] 10
101 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port [00:01] [01:01] [05:15] 11
102 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port [00:01] [01:01] [05:15] [00:15] 12
103 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port [00:01] [01:01] [05:15] [00:15] Protocol 13
104 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port [00:01] [01:01] [05:15] [00:15] Protocol TCP 14
105 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port [00:01] [01:01] [05:15] [00:15] Protocol TCP UDP 15
106 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO Port [00:01] [01:01] [05:15] [00:15] Protocol TCP UDP 16
107 Packet Classification Crossproducting Field Set Example Filter Address Port Protocol a 000 [00:01] TCP b 001 [00:01] TCP c 1101 [01:01] UDP d 10 [05:15] UDP e 001 [05:15] UDP f 111 [00:15] UDP g 000 [05:15] UDP h 10 [00:01] TCP i 001 [01:01] TCP j [00:15] UDP k [00:15] Address Port [00:01] [01:01] [05:15] [00:15] Protocol TCP UDP 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO
108 Packet Classification Crossproducting Algorithm Crossproduct algorithm separate and construct table for each of d fields precompute table with best match for all combinations 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-108
109 Packet Classification Crossproducting Field Set Example Address Port Protocol Address Port Protocol Match 000 [00:01] TCP 000 [00:01] TCP a 001 [01:01] UDP 000 [00:01] UDP j 1101 [05:15] 000 [00:01] k [00:15] 000 [01:01] TCP a 000 [01:01] UDP j 000 [01:01] k 000 [05:15] TCP k [00:01] TCP [00:15] k 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-109
110 Packet Classification Crossproducting Algorithm Crossproduct algorithm separate and construct table for each of d fields precompute table with best match for all combinations search d field tables (parallelisable) 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-110
111 Packet Classification Crossproducting Field Set Example Address Port Protocol Address Port Protocol Match 000 [00:01] TCP 000 [00:01] TCP a 001 [01:01] UDP 000 [00:01] UDP j 1101 [05:15] 000 [00:01] k [00:15] 000 [01:01] TCP a 000 [01:01] UDP j 000 [01:01] k 000 [05:15] TCP k d [00:01] TCP [00:15] k November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-111
112 Packet Classification Crossproducting Algorithm Crossproduct algorithm separate and construct table for each of d fields precompute table with best match for all combinations search d field tables (parallelisable) return partial hash and combine 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-112
113 Packet Classification Crossproducting Field Set Example Address Port Protocol Address Port Protocol Match 000 [00:01] TCP 000 [00:01] TCP a 001 [01:01] UDP 000 [00:01] UDP j 1101 [05:15] 000 [00:01] k [00:15] 000 [01:01] TCP a 000 [01:01] UDP j 000 [01:01] k 000 [05:15] TCP k h ( ) 001 [00:01] TCP [00:15] k November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-113
114 Packet Classification Crossproducting Algorithm Crossproduct algorithm separate and construct table for each of d fields precompute table with best match for all combinations search d field tables (parallelisable) return partial hash and combine hash into crossproduct table to get match filter 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-114
115 Packet Classification Crossproducting Field Set Example Address Port Protocol Address Port Protocol Match 000 [00:01] TCP 000 [00:01] TCP a 001 [01:01] UDP 000 [00:01] UDP j 1101 [05:15] 000 [00:01] k [00:15] 000 [01:01] TCP a 000 [01:01] UDP j 000 [01:01] k 000 [05:15] TCP k h ( ) 001 [00:01] TCP [00:15] k 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-115
116 Packet Classification Crossproducting Algorithm Crossproduct algorithm separate and construct table for each of d fields precompute table with best match for all combinations search d field tables (parallelisable) return partial hash and combine hash into crossproduct table to get match filter Advantages and disadvantages? 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-116
117 Packet Classification Crossproducting Performance Crossproduct algorithm separate and construct table for each of d fields precompute table with best match for all combinations search d field tables (parallelisable) return partial hash and combine hash into crossproduct table to get match filter Performance packet processing rate exponential memory requirements O (n d ) for n filters on-demand scheme creates partial crossproduct table as cache 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-117
118 Packet Classification Crossproducting Algorithm Crossproduct algorithm separate and construct table for each of d fields precompute table with best match for all combinations search d field tables (parallelisable) return partial hash and combine 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-118
119 Packet Classification Decomposition: RFC Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification (RFC) Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-119
120 Packet Classification RFC Overview Recursive flow calculation [Gupta & McKeown 1999] k -bit string specifying set of matching filters memory requirements based on number of regions 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-120
121 Filter Address Port a 1010 [02:02] b 1100 [05:05] c 0101 [08:08] d [06:06] e 111 [00:15] f 001 [09:15] g 00 [00:04] h 0 [00:03] i 0110 [00:15] j 1 [07:15] k 0 [11:11] Packet Classification RFC Example [Taylor 2005] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-121
122 Packet Classification Decision Tree Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification (RFC) Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-122
123 Packet Classification Decision Tree: Grid-of-Tries Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification (RFC) Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-123
124 Packet Classification Grid-of-Tries Overview Grid-of-tries [Srinivasan, Suri, Varghese, Waldvogel 1998] extension of trie search to multiple dimensions based on DAG technique [Decasper, Parulkar, Dittia, Plattner 1998] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-124
125 Packet Classification Decision Tree: HiCuts Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification (RFC) Decision tree grid-of-tries hierarchical intelligent cuttings (HiCuts) Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-125
126 Packet Classification HiCuts Overview Hierarchical intelligent cuttings [Gupta & McKeown 1998] partition d -dimensional filter space hierarchically navigate tree to filter set 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-126
127 Filter Address Port a 1010 [02:02] b 1100 [05:05] c 0101 [08:08] d [06:06] e 111 [00:15] f 001 [09:15] g 00 [00:04] h 0 [00:03] i 0110 [00:15] j 1 [07:15] k 0 [11:11] Packet Classification HiCuts Example [Taylor 2005] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-127
128 Packet Classification HiCuts Example [Taylor 2005] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-128
129 Packet Classification Tuple Space Exhaustive search linear search (impractical) TCAM Decomposition parallel bit vectors crossproducting recursive flow classification (RFC) Decision tree grid-of-tries hierarchical intelligent cuttings Tuple space tuple space 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-129
130 Packet Classification Tuple Space Overview Tuple space [Srinivasan, Suri, Varghese 1999] partitions filter space into tuples number of relevant bits in each filter field ranges coverted using nesting level and range range ID number distinct tuples filters 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-130
131 Packet Classification Tuple Filter Example Filter SrcAdr DestAdr SrcPort DestPort Prot a [02:02] [00:15] TCP b c d e f g h i j [00:15] [00:04] [05:15] [02:02] [00:15] [00:04] [05:15] [02:02] [02:02] [00:04] [05:15] [02:02] [00:15] [00:04] [05:15] [02:02] [00:15] [02:02] UDP TCP UDP UDP TCP UDP TCP UDP TCP k [00:15] [00:15] ICMP l 1110 [02:02] 0:15 Tuple example from [Taylor 2005] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-131
132 Packet Classification Tuple Filter Example Filter SrcAdr DestAdr SrcPort DestPort Prot Tuple a [02:02] [00:15] TCP [,,,, ] b 01 0 [00:15] [00:04] UDP c [00:04] [05:15] TCP d 1100 [05:15] [02:02] UDP e [02:02] [00:15] UDP f 10 1 [00:15] [00:04] TCP g [00:04] [05:15] UDP h 0011 [05:15] [02:02] TCP i [02:02] [00:15] UDP j 10 0 [02:02] [02:02] TCP k [00:15] [00:15] ICMP l 1110 [02:02] 0:15 example from [Taylor 2005] 04 November 2010 KU EECS 881 High-Speed Networking Switch I/O HSN-IO-132
ITTC Science of Communication Networks The University of Kansas EECS 784 Identifiers, Names, and Addressing
Science of Communication Networks The University of Kansas EECS 784 Identifiers, Names, and Addressing James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology
More informationProblem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results.
Algorithms for Routing Lookups and Packet Classification October 3, 2000 High Level Outline Part I. Routing Lookups - Two lookup algorithms Part II. Packet Classification - One classification algorithm
More informationNetwork Layer: Control/data plane, addressing, routers
Network Layer: Control/data plane, addressing, routers CS 352, Lecture 10 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana (heavily adapted from slides by Prof. Badri Nath and the textbook authors)
More informationSwitch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011
// Bottlenecks Memory, memory, 88 - Switch and Router Design Dr. David Hay Ross 8b dhay@cs.huji.ac.il Source: Nick Mckeown, Isaac Keslassy Packet Processing Examples Address Lookup (IP/Ethernet) Where
More informationData Structures for Packet Classification
Presenter: Patrick Nicholson Department of Computer Science CS840 Topics in Data Structures Outline 1 The Problem 2 Hardware Solutions 3 Data Structures: 1D 4 Trie-Based Solutions Packet Classification
More informationSurvey and Taxonomy of Packet Classification Techniques
Survey and Taxonomy of Packet Classification Techniques DAVID E. TAYLOR Applied Research Laboratory Washington University in Saint Louis Packet classification is an enabling function for a variety of Internet
More informationCS 268: Route Lookup and Packet Classification
Overview CS 268: Route Lookup and Packet Classification Packet Lookup Packet Classification Ion Stoica March 3, 24 istoica@cs.berkeley.edu 2 Lookup Problem Identify the output interface to forward an incoming
More informationFast Packet Classification Algorithms
Fast Packet Classification Algorithms Mrudul Dixit, Anuja Kale, Madhavi Narote, Sneha Talwalkar, and B. V. Barbadekar Abstract A packet classifier possesses a set of rules for classifying packets based
More informationIP Forwarding. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli
IP Forwarding CSU CS557, Spring 2018 Instructor: Lorenzo De Carli 1 Sources George Varghese, Network Algorithmics, Morgan Kauffmann, December 2004 L. De Carli, Y. Pan, A. Kumar, C. Estan, K. Sankaralingam,
More informationGrowth of the Internet Network capacity: A scarce resource Good Service
IP Route Lookups 1 Introduction Growth of the Internet Network capacity: A scarce resource Good Service Large-bandwidth links -> Readily handled (Fiber optic links) High router data throughput -> Readily
More informationNetwork layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing
Network layer: Overview Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing 1 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every
More informationNetwork layer: Overview. Network Layer Functions
Network layer: Overview Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing 1 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every
More informationECE697AA Lecture 21. Packet Classification
ECE697AA Lecture 21 Routers: Flow Classification Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/20/08 Packet Classification What is packet classification? Categorization of
More informationIntroduction to Internetworking
Introduction to Internetworking Stefano Vissicchio UCL Computer Science COMP0023 Internetworking Goal: Connect many networks together into one Internet. Any computer can send to any other computer on any
More informationLecture 8. Network Layer (cont d) Network Layer 1-1
Lecture 8 Network Layer (cont d) Network Layer 1-1 Agenda The Network Layer (cont d) What is inside a router Internet Protocol (IP) IPv4 fragmentation and addressing IP Address Classes and Subnets Network
More informationNetwork Layer PREPARED BY AHMED ABDEL-RAOUF
Network Layer PREPARED BY AHMED ABDEL-RAOUF Network layer transport segment from sending to receiving host on sending side encapsulates segments into datagrams on receiving side, delivers segments to transport
More informationComputer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis
Computer Network Fundamentals Spring 2008 Week 4 Network Layer Andreas Terzis Outline Internet Protocol Service Model Addressing Original addressing scheme Subnetting CIDR Fragmentation ICMP Address Shortage
More informationIPv4. Christian Grothoff.
IPv4 christian@grothoff.org http://grothoff.org/christian/ Sites need to be able to interact in one single, universal space. Tim Berners-Lee 1 The Network Layer Transports datagrams from sending to receiving
More informationCPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer
1 CPSC 826 Intering The Network Layer: Routing & Addressing Outline The Network Layer Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu November 10, 2004 Network layer
More informationCOMP211 Chapter 4 Network Layer: The Data Plane
COMP211 Chapter 4 Network Layer: The Data Plane All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross
More informationLast Lecture: Network Layer
Last Lecture: Network Layer 1. Design goals and issues 2. Basic Routing Algorithms & Protocols 3. Addressing, Fragmentation and reassembly 4. Internet Routing Protocols and Inter-networking 5. Router design
More informationECE 158A: Lecture 7. Fall 2015
ECE 158A: Lecture 7 Fall 2015 Outline We have discussed IP shortest path routing Now we have a closer look at the IP addressing mechanism We are still at the networking layer, we will examine: IP Headers
More information2/22/2008. Outline Computer Networking Lecture 9 IP Protocol. Hop-by-Hop Packet Forwarding in the Internet. Internetworking.
Outline 5-44 Computer Networking Lecture 9 Protocol Traditional addressing CIDR addressing Peter Steenkiste Departments of Computer Science and Electrical and Computer Engineering Forwarding examples 5-44
More informationEECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture
EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2016 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Presentation 2 Security/Privacy Presentations Nov 3 rd, Nov 10 th, Nov 15 th Upload slides to Canvas by midnight
More informationTopics for Today. Network Layer. Readings. Introduction Addressing Address Resolution. Sections 5.1,
Topics for Today Network Layer Introduction Addressing Address Resolution Readings Sections 5.1, 5.6.1-5.6.2 1 Network Layer: Introduction A network-wide concern! Transport layer Between two end hosts
More informationScalable Packet Classification for IPv6 by Using Limited TCAMs
Scalable Packet Classification for IPv6 by Using Limited TCAMs Chia-Tai Chan 1, Pi-Chung Wang 1,Shuo-ChengHu 2, Chung-Liang Lee 1,and Rong-Chang Chen 3 1 Telecommunication Laboratories, Chunghwa Telecom
More informationCS244a: An Introduction to Computer Networks
CS244a: An Introduction to Computer Networks Handout 4: Layer 3 and the Internet Protocol (IP) Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University nickm@stanford.edu
More informationRecursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields
5 CHAPTER 4 Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields Introduction Chapters 2 and 3 described algorithms for routing lookups. In this chapter and the next
More informationinternet technologies and standards
Institute of Telecommunications Warsaw University of Technology 2017 internet technologies and standards Piotr Gajowniczek Andrzej Bąk Michał Jarociński Network Layer The majority of slides presented in
More information15-744: Computer Networking. Routers
15-744: Computer Networking outers Forwarding and outers Forwarding IP lookup High-speed router architecture eadings [McK97] A Fast Switched Backplane for a Gigabit Switched outer Optional [D+97] Small
More informationCMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 12
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 12 1 Chapter 4: outline 4.1 introduction 4.2 virtual circuit and datagram networks 4.3 what
More informationCSC 4900 Computer Networks: Network Layer
CSC 4900 Computer Networks: Network Layer Professor Henry Carter Fall 2017 Chapter 4: Network Layer 4. 1 Introduction 4.2 What s inside a router 4.3 IP: Internet Protocol Datagram format 4.4 Generalized
More informationForwarding and Routers : Computer Networking. Original IP Route Lookup. Outline
Forwarding and Routers 15-744: Computer Networking L-9 Router Algorithms IP lookup Longest prefix matching Classification Flow monitoring Readings [EVF3] Bitmap Algorithms for Active Flows on High Speed
More informationTree-Based Minimization of TCAM Entries for Packet Classification
Tree-Based Minimization of TCAM Entries for Packet Classification YanSunandMinSikKim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington 99164-2752, U.S.A.
More informationGeneric Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture
Generic Architecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California,
More informationRMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6
RMIT University Data Communication and Net-Centric Computing COSC 1111/2061 Internetworking IPv4, IPv6 Technology Slide 1 Lecture Overview During this lecture, we will understand The principles of Internetworking
More informationCOMP/ELEC 429/556 Introduction to Computer Networks
COMP/ELEC 429/556 Introduction to Computer Networks Let s Build a Scalable Global Network - IP Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Network Layer Overview, Router Design, IP Sec 4.1. 4.2 and 4.3 Prof. Lina Battestilli Fall 2017 Chapter 4: Network Layer, Data Plane chapter goals: understand
More informationLecture 12: Aggregation. CSE 123: Computer Networks Alex C. Snoeren
Lecture 12: Aggregation CSE 123: Computer Networks Alex C. Snoeren Lecture 12 Overview Subnetting Classless addressing Route aggregation 2 Class-based Addressing Most significant bits determines class
More informationLecture 3. The Network Layer (cont d) Network Layer 1-1
Lecture 3 The Network Layer (cont d) Network Layer 1-1 Agenda The Network Layer (cont d) What is inside a router? Internet Protocol (IP) IPv4 fragmentation and addressing IP Address Classes and Subnets
More informationNetwork Processors. Nevin Heintze Agere Systems
Network Processors Nevin Heintze Agere Systems Network Processors What are the packaging challenges for NPs? Caveat: I know very little about packaging. Network Processors What are the packaging challenges
More informationCSCI Computer Networks Fall 2016
source: computer-s-webdesign.com CSCI 4760 - Computer Networks Fall 2016 Instructor: Prof. Roberto Perdisci perdisci@cs.uga.edu These slides are adapted from the textbook slides by J.F. Kurose and K.W.
More informationHierarchical Routing. Our routing study thus far - idealization all routers identical network flat no true in practice. administrative autonomy
Hierarchical Routing Our routing study thus far - idealization all routers identical network flat no true in practice scale: with 50 million destinations: can t store all dest s in routing tables! routing
More informationPacket Classification Using Dynamically Generated Decision Trees
1 Packet Classification Using Dynamically Generated Decision Trees Yu-Chieh Cheng, Pi-Chung Wang Abstract Binary Search on Levels (BSOL) is a decision-tree algorithm for packet classification with superior
More informationVorlesung Kommunikationsnetze
Picture 15 13 Vorlesung Kommunikationsnetze Prof. Dr. H. P. Großmann mit B. Wiegel sowie A. Schmeiser und M. Rabel Sommersemester 2009 Institut für Organisation und Management von Informationssystemen
More informationTowards Effective Packet Classification. J. Li, Y. Qi, and B. Xu Network Security Lab RIIT, Tsinghua University Dec, 2005
Towards Effective Packet Classification J. Li, Y. Qi, and B. Xu Network Security Lab RIIT, Tsinghua University Dec, 2005 Outline Algorithm Study Understanding Packet Classification Worst-case Complexity
More information1-1. Switching Networks (Fall 2010) EE 586 Communication and. October 25, Lecture 24
EE 586 Communication and Switching Networks (Fall 2010) Lecture 24 October 25, 2010 1-1 Announcements Midterm 1: Mean = 92.2 Stdev = 8 Still grading your programs (sorry about the delay) Network Layer
More informationThe Internet Protocol. IP Addresses Address Resolution Protocol: IP datagram format and forwarding: IP fragmentation and reassembly
The Internet Protocol IP Addresses Address Resolution Protocol: IP datagram format and forwarding: IP fragmentation and reassembly IP Addresses IP Addresses are 32 bit. Written in dotted decimal format:
More informationPACKET classification is an enabling function for a variety
IEEE INFOCOM 5 1 Scalable Packet Classification using Distributed Crossproducting of Field Labels David E. Taylor, Jonathan S. Turner Applied Research Laboratory Washington University in Saint Louis {det3,jst}@arl.wustl.edu
More informationEC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane
EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane This presentation is adapted from slides produced by Jim Kurose and Keith Ross for their book, Computer Networking:
More informationThree Different Designs for Packet Classification
Three Different Designs for Packet Classification HATAM ABDOLI Computer Department Bu-Ali Sina University Shahid Fahmideh street, Hamadan IRAN abdoli@basu.ac.ir http://www.profs.basu.ac.ir/abdoli Abstract:
More informationWhere we are in the Course
Network Layer Where we are in the Course Moving on up to the Network Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Network Layer How to connect different link layer
More informationChapter 4 Network Layer: The Data Plane
Chapter 4 Network Layer: The Data Plane Chapter 4: outline 4.1 Overview of Network layer data plane control plane 4.2 What s inside a router 4.3 IP: Internet Protocol datagram format fragmentation IPv4
More informationMaster Course Computer Networks IN2097
Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Chair for
More informationECE697AA Lecture 20. Forwarding Tables
ECE697AA Lecture 20 Routers: Prefix Lookup Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/14/08 Forwarding Tables Routing protocols involve a lot of information Path choices,
More informationITTC High-Performance Networking The University of Kansas EECS 881 Architecture and Topology
High-Performance Networking The University of Kansas EECS 881 Architecture and Topology James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications
More informationIPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.
IPv4 addressing, NAT http://xkcd.com/195/ Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Some materials copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights
More informationCommunications Software. CSE 123b. CSE 123b. Spring Lecture 2: Internet architecture and. Internetworking. Stefan Savage
CSE 123b CSE 123b Communications Software Spring 2003 Lecture 2: Internet architecture and Internetworking Stefan Savage Some history 1968: DARPANET (precursor to Internet) Bob Taylor, Larry Roberts create
More informationLecture 3: Packet Forwarding
Lecture 3: Packet Forwarding CSE 222A: Computer Communication Networks Alex C. Snoeren Thanks: Mike Freedman & Amin Vahdat Lecture 3 Overview Paper reviews Packet Forwarding IP Addressing Subnetting/CIDR
More informationDESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER
International Journal of Computer Engineering and Applications, Volume VI, Issue II, May 14 www.ijcea.com ISSN 2321 3469 DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER Kiran K C 1, Sunil T D
More informationLecture 12: Addressing. CSE 123: Computer Networks Alex C. Snoeren
Lecture 12: Addressing CSE 123: Computer Networks Alex C. Snoeren Lecture 12 Overview IP Addresses Class-based addressing Subnetting Classless addressing Route aggregation 2 Addressing Considerations Fixed
More informationScalable Packet Classification using Distributed Crossproducting of Field Labels
Scalable Packet Classification using Distributed Crossproducting of Field Labels David E. Taylor, Jonathan S. Turner WUCSE-4-38 June 3, 4 Applied Research Laboratory Department of Computer Science and
More informationDecision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA
Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Weirong Jiang, Viktor K. Prasanna University of Southern California Norio Yamagaki NEC Corporation September 1, 2010 Outline
More informationHomework 1 Solutions:
Homework 1 Solutions: If we expand the square in the statistic, we get three terms that have to be summed for each i: (ExpectedFrequency[i]), (2ObservedFrequency[i]) and (ObservedFrequency[i])2 / Expected
More informationQuiz. Segment structure and fields Flow control (rwnd) Timeout interval. Phases transition ssthresh setting Cwnd setting
Quiz v 10/30/2013 (Wednesday), 20 mins v Midterm question (available on website) v TCP basics Segment structure and fields Flow control (rwnd) Timeout interval v TCP Congestion control Phases transition
More informationA Scalable Approach for Packet Classification Using Rule-Base Partition
CNIR Journal, Volume (5), Issue (1), Dec., 2005 A Scalable Approach for Packet Classification Using Rule-Base Partition Mr. S J Wagh 1 and Dr. T. R. Sontakke 2 [1] Assistant Professor in Information Technology,
More informationCommunication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner
Communication Networks (0368-3030) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 4 (5 th ed.) Many slides adapted from: J. Kurose & K. Ross
More informationDepartment of Computer and IT Engineering University of Kurdistan. Network Layer. By: Dr. Alireza Abdollahpouri
Department of Computer and IT Engineering University of Kurdistan Network Layer By: Dr. Alireza Abdollahpouri What s the Internet: nuts and bolts view PC server wireless laptop cellular handheld millions
More informationLast time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing
Last time Network layer Introduction forwarding vs. routing Virtual circuit vs. datagram details connection setup, teardown VC# switching forwarding tables, longest prefix matching IP: the Internet Protocol
More informationMaster Course Computer Networks IN2097
Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master
More informationLecture 10: Addressing
Lecture 10: Addressing CSE 123: Computer Networks Alex C. Snoeren HW 2 due WEDNESDAY Lecture 10 Overview ICMP The other network-layer protocol IP Addresses Class-based addressing Subnetting Classless addressing
More informationE : Internet Routing
E6998-02: Internet Routing Lecture 18 Overlay Networks John Ioannidis AT&T Labs Research ji+ir@cs.columbia.edu Copyright 2002 by John Ioannidis. All Rights Reserved. Announcements Lectures 1-18 are available.
More informationChapter 4: network layer
Chapter 4: network layer chapter goals: understand principles behind network layer services: network layer service models forwarding versus routing how a router works routing (path selection) broadcast,
More informationScalable Packet Classification using Distributed Crossproducting of Field Labels
Washington University in St. Louis Washington University Open Scholarship All Computer Science and Engineering Research Computer Science and Engineering Report Number: WUCSE-24-38 24-6-23 Scalable Packet
More informationCSCE 463/612 Networks and Distributed Processing Spring 2018
CSCE 463/612 Networks and Distributed Processing Spring 2018 Network Layer II Dmitri Loguinov Texas A&M University April 3, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter 4:
More informationinternet technologies and standards
Institute of Telecommunications Warsaw University of Technology 2015 internet technologies and standards Piotr Gajowniczek Andrzej Bąk Michał Jarociński Network Layer The majority of slides presented in
More informationLecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen
Lecture 4 - Network Layer Networks and Security Jacob Aae Mikkelsen IMADA September 23, 2013 September 23, 2013 1 / 67 Transport Layer Goals understand principles behind network layer services: network
More informationNetwork Layer. IP Protocol Stack: Key AbstracHons. Best- Effort Global Packet Delivery. Circuit Switching (e.g., Phone Network)
IP Protocol Stack Key AbstracHons Network Layer Mike Freedman COS 461 Computer Networks Application Transport Network Link Applications Reliable streams Messages Best-effort global packet delivery Best-effort
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Network Layer IPv4, Format and Addressing,, IPv6 Prof. Lina Battestilli Fall 2017 Chapter 4 Outline Network Layer: Data Plane 4.1 Overview of Network layer
More informationTutorial 9. SOLUTION Since the number of supported interfaces is different for each subnet, this is a Variable- Length Subnet Masking (VLSM) problem.
Tutorial 9 1 Router Architecture Consider a router with a switch fabric, 2 input ports (A and B) and 2 output ports (C and D). Suppose the switch fabric operates at 1.5 times the line speed. a. If, for
More informationChapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview
Chapter 4: chapter goals: understand principles behind services service models forwarding versus routing how a router works generalized forwarding instantiation, implementation in the Internet 4- Network
More informationPerformance Evaluation and Improvement of Algorithmic Approaches for Packet Classification
Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification Yaxuan Qi, Jun Li Research Institute of Information Technology (RIIT) Tsinghua University, Beijing, China, 100084
More informationMaster Course Computer Networks IN2097
Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Chair for
More informationA Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup
A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup Yan Sun and Min Sik Kim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington
More informationOn using content addressable memory for packet classification
On using content addressable memory for packet classification David E. Taylor, Edward W. Spitznagel WUCSE-2005-9 3 March 2005 Applied Research Laboratory Department of Computer Science and Engineering
More informationInternetwork Protocols
Internetwork Protocols Background to IP IP, and related protocols Internetworking Terms (1) Communications Network Facility that provides data transfer service An internet Collection of communications
More informationChapter 4 Network Layer: The Data Plane
Chapter 4 Network Layer: The Data Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see
More informationTowards High-performance Flow-level level Packet Processing on Multi-core Network Processors
Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors Yaxuan Qi (presenter), Bo Xu, Fei He, Baohua Yang, Jianming Yu and Jun Li ANCS 2007, Orlando, USA Outline Introduction
More informationCS 43: Computer Networks. 21: The Network Layer & IP November 7, 2018
CS 43: Computer Networks 21: The Network Layer & IP November 7, 2018 The Network Layer! Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network: routing
More informationRouter Architecture Overview
Chapter 4: r Introduction (forwarding and routing) r Review of queueing theory r Router design and operation r IP: Internet Protocol m IPv4 (datagram format, addressing, ICMP, NAT) m Ipv6 r Generalized
More informationOSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1
OSI Network Layer Network Fundamentals Chapter 5 Version 4.0 1 Objectives Identify the role of the Network Layer, as it describes communication from one end device to another end device. Examine the most
More informationInformation Network Systems The network layer. Stephan Sigg
Information Network Systems The network layer Stephan Sigg Tokyo, November 1, 2012 Error-detection and correction Decoding of Reed-Muller codes Assume a second order (16, 11) code for m = 4. The r-th order
More informationChapter 4: Network Layer
Chapter 4: Introduction (forwarding and routing) Review of queueing theory Routing algorithms Link state, Distance Vector Router design and operation IP: Internet Protocol IPv4 (datagram format, addressing,
More informationRouters. Session 12 INST 346 Technologies, Infrastructure and Architecture
Routers Session 12 INST 346 Technologies, Infrastructure and Architecture Goals for Today Finish up TCP Flow control, timeout selection, close connection Network layer overview Structure of a router Getahead:
More informationRouter Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13
Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of California Berkeley Review: Switch Architectures Input Queued
More informationNETWORK LAYER DATA PLANE
NETWORK LAYER DATA PLANE 1 GOALS Understand principles behind network layer services, focusing on the data plane: Network layer service models Forwarding versus routing How a router works Generalized forwarding
More informationIP - The Internet Protocol
IP - The Internet Protocol 1 Orientation IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network Layer ARP Network Access Link Layer Media 2 IP:
More informationAN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION
AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION Yaxuan Qi 1 and Jun Li 1,2 1 Research Institute of Information Technology (RIIT), Tsinghua University, Beijing, China, 100084 2
More informationCS4450. Computer Networks: Architecture and Protocols. Lecture 13 THE Internet Protocol. Spring 2018 Rachit Agarwal
CS4450 Computer Networks: Architecture and Protocols Lecture 13 THE Internet Protocol Spring 2018 Rachit Agarwal 2 Reflection The events in last few days have left me sad! Such events must be condemned
More information