1 / 19

ECE 526 – Network Processing Systems Design

ECE 526 – Network Processing Systems Design. Packet Processing II:  algorithms and data structures Chapter 5: D. E. Comer. Goal and Outline. Goal: Understand basic network processing operations Learn how to perform operations – data structures & algorithms Outline:

erasmo
Download Presentation

ECE 526 – Network Processing Systems Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Goal and Outline • Goal: • Understand basic network processing operations • Learn how to perform operations – data structures & algorithms • Outline: • IP fragmentation and reassembly • IP forwarding and routing • TCP connection recognition and splicing • Summary • For next class ECE 526

  3. IP Fragmentation • Needed when datagram larger than network MTU • Ethernet 1500 Byte • FLAGs bits in datagram header ECE 526

  4. Fragmentation Example • How to identify a fragment • Flags • Offset: multiple of 64 bit • Ident: unique to send machine ECE 526

  5. IP Fragmentation Algorithm ECE 526

  6. IP Reassembly • Process to join fragments and produce original datagram • Only ultimate destination perform IP reassembly (NAT: exception) • Four factors influencing reassembly • Out of order delivery • Duplication • Loss • Concurrent reception • Key fields help reassembly • Source IP address • ID field • Flags and Offset ECE 526

  7. Reassembly Algorithm ECE 526

  8. Reassembly Data Structure • Two parts • Buffer larger enough to hold original datagram • Linked list of pieces that have arrived ECE 526

  9. IP Datagram Forwarding • Conceptual mapping • (next hop, interface) f(datagram, routing table) • Routing table • one entry per destination • entry contents: IP address, address mask, next-hop address and N-bit interface number • Example IP routing table ECE 526

  10. IP Forwarding Algorithm Assuming: routing table sorted from most specific to less specific Can I use hashing? ECE 526

  11. High-Speed Forwarding • Example routing tree ECE 526

  12. Routing Exercises • Draw tire of the following prefixes: • A: 0010* • B: 010* • C: 0101* • D: 0* • E: 10* • F: 1011* • G: 100* • Which prefixes match the following lookups? • 01 • 101 • 0001 • 1 ECE 526

  13. TCP Connection Recognition • Key function of traffic monitors, firewalls and NAT • State of TCP connection • Being established • Completely established • Being terminated • Completely terminated (remove from record) • Code bits in TCP header: • Reset: • error occurred when one end has no record connection • regarded as a completely terminated here • Syn: • to start new connection • completely established need “see” syn from both sides • Fin: • to terminate connection • completely terminated need “see” fin from both sides ECE 526

  14. TCP Connection Recognition Algorithm ECE 526

  15. TCP Splicing • Join two TCP connections • Allow data to pass between them • To avoid termination overhead • By translating segment header fields • Acknowledgment number; sequence number ECE 526

  16. TCP Splicing Algorithm ECE 526

  17. Summary • Packet processing operations and algorithms • Ethernet bridging (layer 2) • IP fragmentation, reassembly and forwarding (layer 3) • TCP splicing, connection recognition (layer 4) • Flow classification (mixed layer) • Important data structure • Linked list • Hashing table • Routing table • Tire • Table lookup • Hashing • Full match for layer 2 • Longest prefix match (LPM) for layer 3 ECE 526

  18. For Next Class • “Networking Algorithmics” • Chapter 17: Network Security (handout) ECE 526

  19. Backup ECE 526

More Related