1 / 197

University of Technology Computer Science Department Network Administration Branch First Class

University of Technology Computer Science Department Network Administration Branch First Class. Principles of Network Algorithms. Second Semester – 2012 Prepare by: Dr. Mazin S. Ali available at: www.uotechnology.edu.iq/dep-cs. Resource: The University California, San Diego

kare
Download Presentation

University of Technology Computer Science Department Network Administration Branch First Class

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. University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Second Semester – 2012 Prepare by: Dr. Mazin S. Ali available at: www.uotechnology.edu.iq/dep-cs

  2. Resource: The University California, San Diego Computer Science and Engineering Lecture Notes of Professor George Varghese http://www-cse.ucsd.edu /~varghese

  3. Lecture1: Introduction and Principles of Network Algorithms Contents: 1. Algorithm (Definition) 2. Computer Network (Definition) 3. Network Components (NIC, Access Point, Repeater, HUB, Bridge, Switch, Router, BRouter, GATEWAY) 4. Network Bandwidth (Definition) 5. Network Algorithms 6. Routing (Routing Protocols, Routing Table, Routing Configuration) 7. Capacity of Router 8. History of big Routers (Short History)

  4. Lecture 2: Lookup and Router Architecture Contents: 1. Short Review 2. Routing Table Lookup 3. Router Architecture (Input Port Processing, Switching Fabrics, Routing Processing, Output Port Processing)

  5. Lecture 3: Searching Routing-Table Algorithms Contents: 1. Searching Algorithm (Definition) 2. Searching Routing Table (Definition) 3. Searching Routing Table Algorithms 3.1. Binary Search. 3.2. Hash Table. 3.3. Tire based Algorithms: 3.3.1. 1-BitTrie (BMP) Algorithm 3.3.2. Multi-Bit Tire (VST) Algorithm 3.3.3. Compressed Tries 4. Tire based Algorithm for Strings

  6. Lecture 4: Searching Routing-Table Algorithms Contents: 1. Searching Algorithm 2. Searching Routing Table 3. Searching Routing Table Algorithms 3.1. Binary Search. 3.2. Hash Table. 3.3. Tire based Algorithms: 3.3.1. 1-BitTrie (BMP) Algorithm 3.3.2. Multi-Bit Tire (VST) Algorithm 3.3.3. Compressed Tries 4. Tire based Algorithm for Strings

  7. Lecture 5: Packet Classification Contents: 1. Network Reference Models 2. TCP/IP Reference Model (IP Protocol Stack) 2.1. The Application Layer 2.2. The Transport Layer (Host-to-Host) (End-to-End) 2.3. Internet Layer 2.4. Network Layer(Host-To-Network) (Link) 3. ICMP and OSPF Core Protocols 4. IP v4 and IP v6 Packets 5. TCP and UDP Packets 6. Simplified Network Packet Format 7. Screening Router

  8. Lecture 6: Packet Classification (Cont.) Contents: 1. Network Reference Models 2. TCP/IP Reference Model (IP Protocol Stack) 2.1. The Application Layer 2.2. The Transport Layer (Host-to-Host) (End-to-End) 2.3. Internet Layer 2.4. Network Layer (Host-To-Network) (Link) 3. ICMP and OSPF Core Protocols 4. IP v4 and IP v6 Packets 5. TCP and UDP Packets 6. Simplified Network Packet Format 7. Screening Router

  9. Lecture 7: Switching Theory Contents: 1. Short Reviewing 2. Switching Theory 3. Crossbar Switch Architecture 4. Crossbar Switch Models IQ Switch OQ Switch CIOQ Switch

  10. Lecture 8: Switching Theory (Cont.) Contents: 1. Review 2. Speed Up and Delay Control in CIOQ 3. Stable Marriage Algorithms for CIOQ Gale-Shapley Algorithm (GSA) 4. Scheduling Algorithms for CIOQ First In First Out Scheduling Algorithm (FIFO) Most Urgent Cell First Scheduling Algorithm (MUCF) Randomized Switch Scheduling

  11. Lecture 9: Bandwidth Partitioning Contents: 1. Review 2. Network Bandwidth 2.1. Network Bandwidth – Network Centric Approach 2.2. Network Bandwidth – User Centric Approach

  12. Lecture 10: IP Addressing Contents: 1. IPv4 Addresses 2. Classful IPv4 Addressing Scheme 3. Public and Private IP Addresses 4. Reserved IP Addresses 5. Subnetting / Netmask 6. NAT (Network Address Translation)

  13. University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 1: Introduction and Principles of Network Algorithms available at: www.uotechnology.edu.iq/dep-cs

  14. Lecture1: Introduction and Principles of Network Algorithms Contents: 1. Algorithm (Definition) 2. Computer Network (Definition) 3. Network Components (NIC, Access Point, Repeater, HUB, Bridge, Switch, Router, BRouter, GATEWAY) 4. Network Bandwidth (Definition) 5. Network Algorithms 6. Routing (Routing Protocols, Routing Table, Routing Configuration) 7. Capacity of Router 8. History of big Routers (Short History)

  15. 1. Algorithm (from Algoritmi, the Latin form of Al-Khwārizmī) in computer science is a step-by-step procedure for calculations, data processing, and automated reasoning to solve a specific problem. The algorithm should be starting from an initial state and initial input, then should be transition from one state to the next to execute the instructions (which describe a computation that), eventually producing "output" and terminating at a final ending state. initial state exec. state exec. state exec. state final state

  16. 2. Computer Network, often simply referred to as a network, is an interconnected collection of hardware components and autonomous computers interconnected by communication channels that allow to exchange information and share the resources. A network consists of a set of devices like: Hosts , host is individual computer connected to the computer network, which can offer information resources, services, and applications to users or other nodes on the network. Nodes , node is any device that is attached to a network, either a redistribution point (capable of sending, receiving or forwarding information over a communications channel), or a communication endpoint (some terminal equipment).

  17. 3. Network Components are used to connect computing devices together in different networks, and to connect multiple networks or subnets together, these includes: NIC: (Network Interface Card) is network device used to enable a network device (such as a computer or other network equipment) to connect to a network. wired network Access Point: is a network device that allows wireless devices to connect to a wired network. Access Point Segment A Segment B Repeater: is a network device that connects two or more network segments and retransmits any incoming signal to all other segments. Repeater

  18. HUB / Switch: is a central network device that connects all nodes in a star topology. Also it is concentrator (a device that can have multiple inputs and outputs all active at one time). Switch HUB Difference between HUB and Switch

  19. Bridge: is a network device that sends information between two LANs.

  20. Router: is a network device that direct traffic between hosts. A router is connects two or more different networks. BRouter: is a network device that acts as a Bridge in one circumstance and as a Router in another. GATEWAY: The term gateway refers to a software or hardware interface that enables two different types of networked systems or software to communicate. Network Components: NIC , Access Point , Repeater , HUB , Bridge , Switch , Router , BRouter , GATEWAY

  21. The difference between Switch and Router Connection to other Networks

  22. 4. Network Bandwidth Network Bandwidth (bit rate, channel capacity, or throughput) is a measure of communication channel usage (available or consumed of communication path) in bits/second “pbs” or multiples of it (kilobits/s “Kbps”, megabits/s “Mbps”, etc.).

  23. 5. Network Algorithms are the algorithms to select the paths in network along which (network traffic routes) to send network traffic “also called Routing”, and to process the network bottlenecks at servers, routers, or other networking devices. There are many network algorithms like Trie based Algorithm, Multibit Trie Algorithm, etc.

  24. 6. Routing is the process of selecting paths in network along which (network traffic routes) to send network traffic. • There are two main routing protocols: • Distance-Vector (DV) Routing Protocol (Simple and efficient in small networks and require little management, but it have count-to-infinity problem). • Link-State (LS) Routing Protocol (More scalable for use in large networks, but more complex). • There are other protocols like; Optimized Link State Routing Protocol (OLSR) (which used for routing mobile ad-hoc networks), and Path Vector Routing Protocol (PV) (which used for routing between autonomous network systems).

  25. Each of these routing protocols are applying a “Routing Table” to multiple routes to select the best route. • The routing table (routing metrics, or routing distances) contains information about the topology of the network immediately around the router. • The routing table consists of at least three information fields: • Network ID. • Cost(cost or length of path through). • Next Hop(the address of the next station to which the packet is to be sent).

  26. There are two main routing configuration ways: • Static Routing: The network administrator adds the routes (fixed paths) to the routing table manually. But when there is a change in the network or a failure occurs between two nodes, traffic will waiting for repairing the failure (not be rerouted), or the static route to be updated by the administrator before restarting its journey. • Dynamic Routing (Adaptive Routing): The system adds routs to the routing table automatically, the adaptation is allow to rerouting the routing table when automatically.

  27. 7. Capacity of Router Capacity of Router = N x R (measured by packets per second) N = number of linecards (Typically 8 - 32 per chassis) R = line-rate (1Gb/s, 2.5Gb/s, 10Gb/s, 40Gb/s, 100Gb/s)

  28. 8. History of big Routers In the original 1960s, the general-purpose computers served as routers. The general-purpose computers with extra hardware added to accelerate both common routing functions and specialized functions such as encryption functions. Other changes also improve reliability, such as using battery rather than mains power, and using solid storage (hard disk) rather than magnetic storage. The first modern (dedicated, standalone) router were the Fuzzball router (with capacity: 56kbps).

  29. Cisco GSR 12816 Capacity: 640Gb/s Juniper T640 Capacity: 320Gb/s

  30. Mikrotik 3Com D-Link

  31. Cisco Series Cisco 2811

  32. There are several manufacturers of routers including: • 3Com (www.3com.com) • Cisco Systems (www.cisco.com) • D-Link Systems (www.dlink.com) • Juniper Networks (www.juniper.net) • Linksys (www.linksys.com) • Mikrotik (www.mikrotik.com) • NETGEAR (www.netgear.com)

  33. University of Technology Computer Science Department Network Administration Branch First Class Q & A Principles of Network Algorithms Second Semester – 2012 Prepare by: Dr. Mazin S. Ali available at: www.uotechnology.edu.iq/dep-cs

  34. University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 2: Lookup and Router Architecture available at: www.uotechnology.edu.iq/dep-cs

  35. Lecture 2: Lookup and Router Architecture Contents: 1. Short Review 2. Routing Table Lookup 3. Router Architecture (Input Port Processing, Switching Fabrics, Routing Processing, Output Port Processing)

  36. 1. Review: Router: (as sown in the pervious lecture) is a network device that direct traffic between hosts. A router is connects two or more different networks. GATEWAY: The term gateway refers to a software or hardware interface that enables two different types of networked systems or software to communicate. Routing Table: (Routing Metrics, or Routing Distances) contains information about the topology of the network immediately around the router, the router are applying a “Routing Table” to multiple routes to select the best route.

  37. 2. Routing Table Lookup: The Routing Table Lookup is search through the routing table, looking for a destination entry that best matches the destination network address of the packet, or a default route if the destination entry is missing The most important complicating factor is that backbone routers must operate at high speeds, being capable of performing millions of lookups per second. It is best for the input port processing to be able to proceed at line speed, that is, that a lookup can be done in less than the amount of time needed to receive a packet at the input port. In this case, input processing of a received packet can be completed before the next receive operation is complete.

  38. 3. Router Architecture A high-level view of Router Architecture is shown below. Input Ports: Terminating an incoming link to a router, data link processing, and performs a lookup and forwarding functions Input Ports Output Ports Output ports: Stores the packets (that have been forwarded to it through the switching fabric) and then transmits the packets on the outgoing link Switching Fabric Routing Processor Switching Fabric: Connects the router's input ports to its output ports Routing Processor: Executes the Routing Protocols, Maintains the Routing Tables, and performs Network Management functions, within the router

  39. 3.A. Input Port Processing Terminating an incoming link to a router, data link processing, and performs a lookup and forwarding functions. Switching Fabric Input Port Lookup, Forwarding, Queuing Data Link Processing Line Termination Function

  40. 3.A. Input Port Processing Inside Input Port… the router determines the output port to which an arriving packet will be forwarded via the switching fabric. ((The choice of the output port is made using the information contained in the routing table)). A shadow copy (local copy) of the routing table is stored at each input port and updated (as needed) by the routing processor. With shadow copies (local copies) of the routing table, the switching decision can be made locally, at each input port, without invoking the centralized routing processor. Decentralized Switching

  41. 3.A. Input Port Processing As an old fashioned: When a computer works as a router; Here, the input port is just a NIC (with limited processing capabilities), so the input port simply forward the packet to the centralized routing processor (the computer's CPU) which will perform the routing table lookup and forward the packet to the appropriate output port. Centralized Switching

  42. 3.B. Switching Fabrics The switching fabric is at the heart of a router. Through it the packets are actually moved from an input port to an output port. Switching can be accomplished in a number of ways:

  43. 3.B. Switching Fabrics / Switching via Memory The input port receives the packets. The packet was copied from the input port into memory of the routing processor (on the input port). The routing processor extracted the destination address from the header, looked up the appropriate output port in the routing table, and copied the packet to the output port's buffers.

  44. 3.B. Switching Fabrics / Switching via Bus The input ports transfer a packet directly to the output port over a shared bus, without intervention by the routing processor. But only one packet at a time can be transferred over the bus. A packet arriving at an input port (and finding the bus busy with the transfer of another packet) is blocked from passing through the switching fabric and is queued at the input port. Because every packet must cross the single bus, the switching bandwidth of the router is limited to the bus speed. 

  45. 3.B. Switching Fabrics / Switching via Crossbar One way to overcome the bandwidth limitation of a single, shared bus is to use a crossbar. A crossbar switch is an interconnection network consisting of 2N busses that connect N input ports to N output ports. A packet arriving at an input port travels along the horizontal bus attached to the input port until it intersects with the vertical bus leading to the desired output port. If the vertical bus is free, the packet is transferred to the output port. If the vertical bus is being used to transfer a packet from another input port to this same output port, the arriving packet is blocked and must be queued at the input port.

  46. 3.C. Routing Processing Routing Processing is the “Routing Table Lookup” for search through the routing table, looking for a destination entry that best matches the destination network address of the packet, or a default route if the destination entry is missing • The most important complicating factor is that backbone routers must operate at high speeds, being capable of performing millions of lookups per second, so we have several algorithms to accomplish that, like: • Tire based Algorithm, • Multibit Tire Algorithm, • Compressed Tries, • Binary Search.

  47. 3.D. Output Ports Processing It takes the packets which stored in the output port's memory and transmits them over the outgoing link. The data link processing and line termination are interact with the input port on the other end of the outgoing link. The queuing and buffer management functionality are needed when the switch fabric delivers packets to the output port at a rate that exceeds the output link rate. Switching Fabric Output Port Queuing Data Link Processing Line Termination Function

  48. University of Technology Computer Science Department Network Administration Branch First Class Q & A Principles of Network Algorithms Second Semester – 2012 Prepare by: Dr. Mazin S. Ali available at: www.uotechnology.edu.iq/dep-cs

More Related