Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Technology Computer Science Department Network Administration Branch First Class.

Similar presentations


Presentation on theme: "University of Technology Computer Science Department Network Administration Branch First Class."— Presentation transcript:

1 University of Technology Computer Science Department Network Administration Branch First Class

2 Resource: The University California, San Diego Computer Science and Engineering Lecture Notes of Professor George Varghese /~varghese 2

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) 3

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 ) 4

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 Hash Table Tire based Algorithms: Bit Trie (BMP) Algorithm Multi-Bit Tire (VST) Algorithm Compressed Tries 4. Tire based Algorithm for Strings 5

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

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 7

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 8

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 9

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 10

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 11

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) 12

13 University of Technology Computer Science Department Network Administration Branch First Class

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) 14

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 final state 15

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). 16

17 17

18 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. Access Point: is a network device that allows wireless devices to connect to a wired network. wired network Access Point Repeater 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. 18

19 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). HUB Switch Difference between HUB and Switch 19

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

21 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 Network Components: NIC, Access Point, Repeater, HUB, Bridge, Switch, Router, BRouter, GATEWAY 21

22 The difference between Switch and Router Connection to other Networks 22

23 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

24 24

25 Routing 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. 25 There are many network algorithms like Trie based Algorithm, Multibit Trie Algorithm, etc.

26 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 ). 26

27 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). 27 Next HopCostNetwork ID

28 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. 28

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

30 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). 30

31 Cisco GSR Capacity: 640Gb/s Juniper T640 Capacity: 320Gb/s 31

32 Mikrotik 3Com D-Link 32

33 Cisco Series Cisco

34 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 ) 34

35 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:

36 University of Technology Computer Science Department Network Administration Branch First Class

37 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 ) 37

38 38 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. 1. Review: 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.

39 39 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 2. Routing Table Lookup: 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.

40 3. Router Architecture A high-level view of Router Architecture is shown below. 40 Switching Fabric Routing Processor Input PortsOutput 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: 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 Input Ports: Terminating an incoming link to a router, data link processing, and performs a lookup and forwarding functions

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

42 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. 42 ((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

43 3.A. Input Port Processing 43 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. As an old fashioned: Centralized Switching

44 44 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:

45 45 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.

46 46 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.

47 47 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.

48 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.

49 49 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 Line Termination Function Line Termination Function Data Link Processing Queuing Output Port

50 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:

51 University of Technology Computer Science Department Network Administration Branch First Class

52 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 Hash Table Tire based Algorithms: Bit Trie (BMP) Algorithm Multi-Bit Tire (VST) Algorithm Compressed Tries 4. Tire based Algorithm for Strings 52

53 53 Search Algorithm: is an algorithm for finding a specific item among a collection of items. 1. Searching Algorithm: Search Example: To find item(5) search key we need to only 1 step to find it, to find item(10) we need to 15 steps to find it, to find other item like item(9) we need to 7 steps to find it, and so on. So.. The best case is when we find the item at the first location (1 time), while worst case is when we find the item at the last location (n times), and the average case is (best-case + worst-case)/2. Linear Search Sequential Search Linear Search Sequential Search

54 54 2. Searching Routing Table: backbone routers The most important complicating factor is that backbone routers must operate at high speeds, being capable of performing millions of lookups per second. So the lookup operations should be searching a destination through the Routing Table at high speeds. The linear search suffered from a problem with its worst case cost, its proportional to the number of items in the list. So the linear search is not suitable for lookups routing table, and we need to the faster searching algorithm.

55 55 3. Searching Routing Table Algorithms: The worst case cost of Linear Search is proportional to the number of items in the list … this is the big problem with linear search algorithm. Therefore, there are other algorithms will be faster, but they also impose additional requirements. There are several Searching Algorithms to optimize the work of lookup inside routing table like:- Binary Search Tree Tire based Algorithm, Multibit Tire Algorithm, Compressed Trie Algorithms.

56 Binary Search: Binary Tree: is a tree that is characterized by that any node can have at most two branches. A binary may be empty or consist of a root and two disjoint binary tree called the left subtree and the right subtree. Binary Tree Search: is a binary tree in which the left child (if there is) of any node contains a smaller value than does the parent node and the right child (if there is) contains a larger value than the parent node. Its a fast way to search a list of items.

57 Binary Search (cont.): The idea is to look at the item in the middle. If the key is equal to that, the search is finished. If the key is less than the middle element, do a binary search on the left half. If it's greater, do a binary search of the right half

58 Binary Search (cont.): The advantage of a binary search over a linear search is a very good for large-number of items.

59 Hash Table: Hash Table: is a random access data structure (like an array), and uses a mapping function (called a hash function), to allow for O(1) searches or constant searching time. The Hash Function provides a way for assigning numbers to the input data such that the data can then be stored at the array index corresponding to the assigned number.

60 Hash Table (cont.): Example: We has a hash table array of strings with size=11. Simple Hash Function hash(,11) :yields Simple Hash Function hash(,11) :yields Steve Steve

61 Hash Table (cont.): Simple Hash Function hash(,11) :yields Simple Hash Function hash(,11) :yields Steve Spark

62 Hash Table (cont.): Simple Hash Function hash(,11) :yields Simple Hash Function hash(,11) :yields Steve Notes Spark Notes

63 Hash Table (cont.): Simple Hash Function hash(,11) :yields Simple Hash Function hash(,11) :yields Steve Pad Spark Notes Pad Collision A collision occurs when two data items are hashed to the same value.

64 Hash Table (cont.): Separate chaining is a method for dealing with collisions. The hash table is an array of linked lists. Data items that hash to the same value are stored in a linked list originating from the index equivalent of their hash value Array of Linked Lists

65 Hash Table (cont.): Hash Table with Separate Chaining to avoid the collision. Simple Hash Function hash(,11) :yields Simple Hash Function hash(,11) :yields Steve : 3 Spark : 6 Notes: 10 Pad: 3 Steve Spark Notes Pad

66 Hash Table (cont.): A search follows the same steps as doing an insertion. i.e. the search key is Notes Simple Hash Function hash(,11) :yields Simple Hash Function hash(,11) :yields Steve Spark Notes Pad Notes 10 The number of steps is O(1)

67 Hash Table (cont.): Separate Chaining allows us to solve the problem of collision. The drawback is, all items inserted at the same place in the array (and this is impossible). In that case, we'd really be doing a straight linear search on a linked list, which means that our search operation is back to being O(n). The worst case search time for a hash table is O(n).

68 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:

69 University of Technology Computer Science Department Network Administration Branch First Class

70 Lecture 4: Searching Routing-Table Algorithms Contents: 1. Searching Algorithm 2. Searching Routing Table 3. Searching Routing Table Algorithms 3.1. Binary Search Hash Table Tire based Algorithms: Bit Trie (BMP) Algorithm Multi-Bit Tire (VST) Algorithm Compressed Tries 4. Tire based Algorithm for Strings 70

71 The term trie comes from retrieval. In general, a trie tree (or prefix tree), is an ordered tree data structure that is used to store a list (where the keys are usually strings). No node in the trie tree stores the key associated with that node; instead, its position in the tree defines the key with which it is associated. The root is associated with the empty string, and the values are normally not associated with every node, only with leaves Tire based Algorithms:

72 1-Bit Trie (or Best Matching Prefix (BMP)) is a binary tree- based data structure that uses prefix bits to direct branching, the search guided by bits. At each level, proceed left or right based on the next address bit, on visiting a node marked as prefix, the search ends when there are no more branches to take. The search guided by bits, these means that the sequential prefix search by length (Look at length-1 prefixes first, then length-2 prefixes, …). Note that each step reduces the search space Tire based Algorithms (Cont.) : Bit Trie Algorithm (Tire based Algorithm) :

73 Example 1: Prefixes: a : 0* b : 01000* c : 011* d : 1* e : 100* f : 1100* g : 1101* h : 1110* i : 1111* 3.3. Tire based Algorithms (Cont.) : Bit Trie Algorithm (Cont.) : a c b e d fg hi Each step reduces the search space

74 Example 2: 3.3. Tire based Algorithms (Cont.) : Bit Trie Algorithm (Cont.) : P1 P2 P3 P4 P5 P6

75 3.3. Tire based Algorithms (Cont.) : Bit Trie Algorithm (Cont.) : The 1-Bit Trie algorithm is a classical solution to allow a good representation of length prefixes, but these way may involve long sequences of one-child nodes. These requires bit inspection and these allow to increase lookup time. drawback have long sequences of one-child nodes

76 3.3. Tire based Algorithms (Cont.) : Multi-Bit Trie Algorithm (VST): The basic idea is to speedup search by examining multiple bits at a time, for example, examine 4 bits. The number of bits examined in each step called Stride, so the algorithm also called Variable-Stride Trie (VST). Its complex algorithm to calculate, but should notes that, the nodes at the same level may have different strides. For example; the stride for the root of some tree is 2; that for the left child of the root is 5; and that for the roots right child is 3.

77 3.3. Tire based Algorithms (Cont.) : Multi-Bit Trie Algorithm (VST) (Cont.) : Example: Prefixes: P1 : 10* P2 : 11* P3 : 11001* P4 : 1* P5 : 0* P6 : * Assume that the stride for the root of some tree is 2; And that for the roots left child is 5; And that for the roots right child is P5 P4 P1 P : : P P3

78 3.3. Tire based Algorithms (Cont.) : Compressed Tries: The Compressed Tries (or Path Compressed Tries) attempt to reduce space and time performance of the tow Trie algorithms: 1-Bit Trie algorithm (BMP), and Mulit-Bit Trie algorithm.

79 3.3. Tire based Algorithms (Cont.) : A. Compressed Tries with 1-Bit Trie Algorithm: The Path Compressed Tries attempt to reduce space and time performance of 1-Bit Trie algorithm (BMP), by the following: 1- Collapse one-way branch nodes. 2- Jump directly to the bit used for decision.

80 Prefixes: a : 0* b : 01000* c : 011* d : 1* e : 100* f : 1100* g : 1101* h : 1110* i : 1111* a c b e d fg hi Collapse Jump Collapse Jump

81 a c b e d fg hi Collapse Jump

82 a c b e d fg hi Collapse Jump

83 a c b d fg hi e Collapse Jump

84 a c b e d fg hi Collapse Jump

85 a c b e d fg hi

86 a c b e d fg hi 1-Bit Trie / Prefixes: a : 0* b : 01000* c : 011* d : 1* e : 100* f : 1100* g : 1101* h : 1110* i : 1111* Compressed 1-Bit Trie/ Prefixes: a : 0* b : 01000* c : 011* d : 1* e : 100* f : 1100* g : 1101* h : 1110* i : 1111* 00* 01* 10*

87 1-Bit Trie Prefixes: a : 0* b : 01000* c : 011* d : 1* e : 100* f : 1100* g : 1101* h : 1110* i : 1111* 1-Bit Trie Prefixes: a : 0* b : 01000* c : 011* d : 1* e : 100* f : 1100* g : 1101* h : 1110* i : 1111* 1-Bit Trie Algorithm Compressed 1-Bit Trie Algorithm Path Compressed Tries ( Collapse and Jump ) Each step reduces the search space Compressed 1-Bit Trie Prefixes: a : 0* b : 00* c : 01* d : 1* e : 10* f : 1100* g : 1101* h : 1110* i : 1111* Compressed 1-Bit Trie Prefixes: a : 0* b : 00* c : 01* d : 1* e : 10* f : 1100* g : 1101* h : 1110* i : 1111*

88 3.3. Tire based Algorithms (Cont.) : B. Compressed Tries with Multi-Bit Trie Algorithm: The Compression Scheme is: Compress repeated occurrences of BMPs. Compression is same across sub-trie. Compression is not optimal – but access is simpler and efficient.

89 Example 1: A 1-Bit Trie tree for keys "A", "to", "tea", "ted", "ten", "i", "in", and "inn is display here: 4. Tire based Algorithm for Strings: A e i t o a d n n n

90 Example 1 (Cont.) : A Compressed tree for the 1-Bit Trie tree is display here: A e i t o a d n n n Collapse Jump n 4. Tire based Algorithm for Strings (Cont.) :

91 Example 1 (Cont.) : A Compressed tree for the 1-Bit Trie tree is display here: A e i t o a d n nn 4. Tire based Algorithm for Strings (Cont.) :

92 Example 1 (Cont.) : A Compressed tree for the 1-Bit Trie tree is display here: A e i t o a d n nn 4. Tire based Algorithm for Strings (Cont.) :

93 Example 1 (Cont.) : A Compressed tree for the 1-Bit Trie tree is display here: A e inn t o a d n 4. Tire based Algorithm for Strings (Cont.) :

94 Example 2: Construct the 1-Bit Trie tree for the following keys: bear",bell", bid", "ted", bull", buy", sell", stock", and stop. Then construct the Compressed 1-Bit Trie tree for it. 4. Tire based Algorithm for Strings (Cont.) : 1-Bit Trie Tree Compressed 1-Bit Trie Tree Solution:

95 Example 3: Construct the 1-Bit Trie tree for the following keys: yahoo",yamal", google", gomee", gomer", facebook", facetime",fact", and facetik. Then construct the Compressed 1-Bit Trie tree for it. 4. Tire based Algorithm for Strings (Cont.) : Solution: ? 1-Bit Trie TreeCompressed 1-Bit Trie Tree ?

96 Must be remember that …

97 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Router

98 Compressed 1-Bit Trie Algorithm Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Router

99 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Compressed 1-Bit Trie Algorithm 1100 f Router

100 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i 1100 Centralized Switching Router

101 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i 00 Decentralized Switching Router

102 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:

103 University of Technology Computer Science Department Network Administration Branch First Class

104 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 104

105 With 1 st Class - Principles of Network & Application Subject, we have discussed the two important network reference models, the OSI reference model and the TCP/IP reference model. 1. Network Reference Models: TCP : Transmission Control Protocol IP : Internet Protocol But with 1 st Class - Principles of Network Algorithms Subject, we focusing only on TCP/IP Reference Model from Routing side of view.

106 TCP/IP protocol (also called IP Protocol Stack) is a set of communication protocols used for the Internet and other similar networks. It is commonly known as TCP/IP, because of its most important protocols TCP and IP, which were the first networking protocols defined in this standard. TCP/IP protocol have 4 layers: 1.Application Layer 2.Transport Layer 3.Internet Layer 4.Network Interface Layer 2. TCP/IP Reference Model :

107 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Router Command Line Interface TCP ICMP UDP IP OSPF ping Application Layer Transport Layer Internet Layer Network Layer Network Interface

108 2.1. The Application Layer: The Application Layer is a top TCP/IP layer, its contains all the higher-level protocols which involve user interaction, like HTTP, FTP, SMTP, RTP, DNS, BGP, RIP, and other protocols. 2. TCP/IP Reference Model (Cont.) : HTTPFTPSMTP RTP DNS BGPRIP HTTP (Hyper Text Transfer Protocol): Its an application protocol for transfer hypertext, hypermedia, over web information systems HTTP (Hyper Text Transfer Protocol): Its an application protocol for transfer hypertext, hypermedia, over web information systems FTP (File Transfer Protocol): Its an application protocol which provides a way to move data efficiently from one machine to another. FTP (File Transfer Protocol): Its an application protocol which provides a way to move data efficiently from one machine to another. SMTP (Simple Mail Transfer Protocol): Its an application protocol for transmission between devices. SMTP (Simple Mail Transfer Protocol): Its an application protocol for transmission between devices. RTP (Realtime Transport Protocol): Its an application protocol to delivering audio and video over networks RTP (Realtime Transport Protocol): Its an application protocol to delivering audio and video over networks DNS (Domain Name System): Its an application protocol to translates domain name to IP address DNS (Domain Name System): Its an application protocol to translates domain name to IP address BGP (Border Gateway Protocol): Its an application protocol to backing the core routing decisions on the Internet BGP (Border Gateway Protocol): Its an application protocol to backing the core routing decisions on the Internet RIP (Routing Information Protocol): Its an application protocol to adds routs to the routing table automatically (based Distance- Vector Routing Algorithm) RIP (Routing Information Protocol): Its an application protocol to adds routs to the routing table automatically (based Distance- Vector Routing Algorithm)

109 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Router Command Line Interface Application Layer

110 Network Certification Router Command Line Interface

111 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Application Layer BGPRIP nslookupping ICMPOSPF Router Command Line Interface DNS

112 The Transport Layer is located above the Internet Layer in the TCP/IP model, its allow peer entities on the source and destination hosts to carryon a conversation, and provides the port number. Its used to exchange data between systems. 2. TCP/IP Reference Model (Cont.) : 2.2. The Transport Layer (Host-to-Host) (End-to-End): There are two Transport Layer (Host-to-Host) (End-to-End) core protocols: 1.TCP (Transmission Control Protocol) 2.UDP (User Datagram Protocol)

113 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Router Command Line Interface TCPUDP Application Layer Transport Layer TCP is a reliable connection- oriented protocol, that offers error correction when deliver the stream originating on one machine to the other machine in the network. UDP is an unreliable connectionless protocol, that deliver stream originating on one machine to the other machine in the network based one-shot philosophy.

114 TCP (Transmission Control Protocol) is a reliable connection-oriented protocol, that offers error correction when deliver the stream originating on one machine to the other machine in the network. It used to send important data such as webpages, database information, etc; 2. TCP/IP Reference Model (Cont.) : 2.2. The Transport Layer (Host-to-Host) (End-to-End): UDP (User Datagram Protocol) is an unreliable connectionless protocol, that deliver stream originating on one machine to the other machine in the network based one- shot philosophy. It used to send streaming audio and video (like Windows Media audio files (.WMA), Real Player (.RM)).

115 The UDP is faster than TCP (UDP offers speed). 2. TCP/IP Reference Model (Cont.) : 2.2. The Transport Layer (Host-to-Host) (End-to-End): The reason UDP is faster than TCP is because there is no traffic-of flow control or error correction used (unreliable connectionless protocol). The data sent over the network is affected by collisions, and errors will be present. So the TCP uses flow control or error correction traffic (reliable connection-oriented protocol) which need more time to finish the data sending, while UDP not doing that. UDP is only concerned with speed. This is the main reason why streaming media is not high quality.

116 The Internet Layer is located above the Transport Layer in the TCP/IP model, its defines an official packet format and provides the IP Addressing (using core IP Protocol), to deliver after that independently through the network between the sender and receiver. 2. TCP/IP Reference Model (Cont.) : 2.3. Internet Layer: The Internet Layer delivers IP packets (where they are supposed here) as is avoiding congestion. For these reasons… The TCP/IP Internet Layer is very similar in functionality to the OSI Network Layer. For these reasons… The TCP/IP Internet Layer is very similar in functionality to the OSI Network Layer. Remember that the Lecture Title is Packet Classification Remember that the Lecture Title is Packet Classification

117 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Router Command Line Interface TCPUDP IP Application Layer Transport Layer Internet Layer IP defines an official packet format and provides IP Addresses

118 The Host-to-Network Layer interfaces the TCP/IP protocol stack to the physical network. Its a point out connect to the network using TCP/IP protocol, so it can send IP packets over it. 2. TCP/IP Reference Model (Cont.) : 2.4. Network Layer (Host-To-Network) (Link):

119 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Router Command Line Interface TCPUDP IP Application Layer Transport Layer Internet Layer Network Layer Network Interface

120 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:

121 University of Technology Computer Science Department Network Administration Branch First Class

122 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 122

123 There are another important core protocols (which works inside TCP/IP protocol) like: ICMP (Internet Control Message Protocol) OSPF (Open Shortest Path First ) 3. ICMP and OSPF Core Protocols: ICMP is used by the computer operating systems to send error messages indicating, for example, that a requested service is not available or that a host or router could not be reached. OSPF is one of group of interior routing protocols, its an adaptive network routing protocol which operating within a single autonomous system.

124 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Router Command Line Interface TCP ICMP UDP IP OSPF ping Application Layer Transport Layer Internet Layer Network Layer Network Interface Its an adaptive network routing protocol which operating within a single autonomous system Its used by the computer Oss to send error messages indicating

125 IP ping Application Layer Transport Layer Internet Layer Network Layer Network Interface Ping is a useful tool for testing, its dealing with ICMP to test the reachability of a host on a network and to measure the round-trip time for messages sent from the host to a destination computer. ICMP

126 On any machines running Windows x, ping can be accessed via a DOS prompt. Select "Run..." from the Start menu and type command "cmd". Once you're at the DOS prompt, type "ping Host-Address". ping yahoo.com # ping yahoo.com PING yahoo.com ( ): 56 data bytes 64 bytes from : icmp_seq=0 ttl=246 time=108.0 ms 64 bytes from : icmp_seq=1 ttl=246 time=102.3 ms 64 bytes from : icmp_seq=2 ttl=246 time=102.6 ms 64 bytes from : icmp_seq=3 ttl=246 time=105.5 ms 64 bytes from : icmp_seq=4 ttl=246 time=103.9 ms --- yahoo.com ping statistics packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 102.3/104.4/108.0 ms Your PC Yahoo Server

127 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Router Command Line Interface TCP ICMP UDP IP OSPF ping Application Layer Transport Layer Internet Layer Network Layer Network Interface BGP RIP Router Command Line Interface OSPF 3 Well-Known Routing Protocols BGP, RIP, OSPF 3 Well-Known Routing Protocols BGP, RIP, OSPF DNS ICMP nslookupping 2 Well-Known Utility-Application Protocols DNS, ICMP 2 Well-Known Utility-Application Protocols DNS, ICMP

128 The Internet Layer defines an official packet format (using core IP Protocol), to deliver after that independently through the network between the sender and receiver. 4. IP v4 and IP v6: Application Layer HTTP, FTP, SMTP, RTP, DNS, BGP, RIP, … Application Layer HTTP, FTP, SMTP, RTP, DNS, BGP, RIP, … Transport Layer TCP, UDP Transport Layer TCP, UDP Internet Layer IP, OSPF, ICMP, … Internet Layer IP, OSPF, ICMP, … Network Layer There are two types of core IP protocol, IP v4 (version 4) (32 bits) and IP v6 (version 6) (128 bits). Internet Layer IP v4 32 bits, OSPF, ICMP, … Internet Layer IP v4 32 bits, OSPF, ICMP, … Internet Layer IP v6 128 bits, OSPF, ICMP, … Internet Layer IP v6 128 bits, OSPF, ICMP, …

129 HTTPFTPSMTP RTP DNS BGPRIP Web Browsing Upload Files between Devices Multimedia VoIP, Video nslookup Router Command Line Interface TCP ICMP UDP IP OSPF ping Application Layer Transport Layer Internet Layer Network Layer Network Interface IP defines an official packet format and provides IP Addresses There are 2 Types: IP v4 - 32bits IP v bits There are 2 Types: IP v4 - 32bits IP v bits

130 IP v4 Packet Format: Consists of 32 bits, so can distribute approximately 4.2 billion IPs around the world. Its developed in 1970s. 4. IP v4 and IP v6 (Cont.) :

131 Since the 4.2 billion IPs of IPv4 will not be enough in the near future with the development and the rapid increase of users of computer, phones, gaming consoles and many other devices which connected to Internet. This has been the development of the IPv6, which can distribute approximately 6 trillion IPs. 4. IP v4 and IP v6 (Cont.) :

132 IP v6 Packet Format: Consists of 128 bits, so can distribute approximately 6 trillion IPs around the world. Its developed in IP v4 and IP v6 (Cont.) :

133 While IPv6 use and management is similar to IPv4, but its not backwards compatible. It will eventually replace IPv4, but the transition could take long time to complete. Full IPv6 adoption has been slower than anticipated. Application Layer HTTP, FTP, SMTP, RTP, DNS, BGP, RIP, … Application Layer HTTP, FTP, SMTP, RTP, DNS, BGP, RIP, … Transport Layer TCP, UDP Transport Layer TCP, UDP Internet Layer IPv4 / IPv6, OSPF, ICMP, … Internet Layer IPv4 / IPv6, OSPF, ICMP, … Network Layer In the meantime, all of Servers must be available over both IPv4 and IPv6, and much of Internet devices will run IPv4 and IPv6 simultaneously (this called Dual-Stack approach).

134 4. IP v4 and IP v6 (Cont.) :

135 IP v6 Packet Format: IP v4 Packet Format: X To learn more, plz visit the following pages: To learn more, plz visit the following pages: - -

136 5. TCP and UDP Packets: TCP and UDP protocols are most communication over the Internet. TCP Packet Format:

137 5. TCP and UDP Packets (Cont.) : TCP and UDP protocols are most communication over the Internet. UDP Packet Format:

138 6. Simplified Network Packet Format: In simply, each network packet consist of the 5 important parts, which used as a keys for packet classification. Data IP Destination 32 bits IP Destination 32 bits IP Source 32 bits IP Source 32 bits Sour. Port 16 bits Sour. Port 16 bits Des. Port 16 bits Des. Port 16 bits Protocol 8 bits According to Protocol Type we can classify the packet either unreliable / reliable protocol (UDP / TCP). According to Des/Sou Port we can classify the packet based on Application Layer Protocols (HTTP, FTP, SMTP, RTP, DNS, BGP, RIP, …). According to IP Des/Sou we can classify the packet either IP v4/ v6, and the addressing schema

139 7. Screening Router: Screening Router: its a router that performs packet filtering to see whether a packet is part of an existing stream of traffic. Also, it can filters each packet based only on information contained in the packet itself. Screening Router A B C Each router do packet classification, when the packet addressed to it.

140 7. Screening Router (Cont.) : Screening Router: its a router that performs packet filtering to see whether a packet is part of an existing stream of traffic. Also, it can filters each packet based only on information contained in the packet itself. Screening Router A B C TO: A UDP: Video TO: A UDP: Video TO: C TCP: TO: C TCP: TO: B TCP: Web TO: B TCP: Web TO: C UDP: VoP TO: C UDP: VoP TO: A UDP: #bxsa?t^q1 TO: A UDP: #bxsa?t^q1 In some cases a screening router may be used as perimeter protection for the internal network as a filtering solution

141 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:

142 University of Technology Computer Science Department Network Administration Branch First Class

143 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 143

144 1. Short Reviewing: Switch Device: 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). Review Interconnection Switching Fabric: is a fabric which connects the router's input ports to its output ports. Review Router - Switching can be accomplished in a number of ways (Switching via Memory, Switching via Bus, and Switching via Crossbar). Review

145 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Router

146 Compressed 1-Bit Trie Algorithm Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Router

147 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Compressed 1-Bit Trie Algorithm 1100 f Router

148 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i 1100 Centralized Switching Router

149 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i 00 Decentralized Switching Router

150 Switch Forwarding Table Processor Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Router Switch

151 Switching Switch

152 2. Switching Theory: Switching theory is the mathematical study of the properties of networks of idealized switches. Switch design is mainly influenced by Cost and Heat. Key technological factors affecting cost and heat –Memory bandwidth (not the size of memory, but its speed) –Complexity of algorithms –Number of off-chip operations (this affects speed)

153 Crossbar Switch Architecture 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.

154 4. Crossbar Switch Models There are three Crossbar Switch Models, these are: IQ Switch Model OQ Switch Model CIOQ Switch Model

155 Crossbar Switch Models (Cont.) 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, to enhance the performance. Switching Fabric Line Termination Function Line Termination Function Data Link Processing Lookup, Forwarding, Lookup, Forwarding, Input Port Queuing

156 Crossbar Switch Models (Cont.) Switching Fabric Line Termination Function Line Termination Function Data Link Processing Lookup, Forwarding, Lookup, Forwarding, Input Port Queuing 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, to enhance the performance. Input Queued (IQ) Switches

157 Crossbar Switch Models (Cont.) Also we can use the same strategy at the output port, so we can queued at the output port, to enhance the performance. Line Termination Function Line Termination Function Data Link Processing Queuing Output Port Output Queued (OQ) Switches

158 Crossbar Switch Models (Cont.) Switching Fabric Routing Processor Input PortsOutput Ports Queuing IQ Queuing OQ Combined Input and Output Queued (CIOQ) Crossbar Switches

159 4. Crossbar Switch Architecture (Cont.) We use Combined Input and Output Queued (CIOQ) Crossbar Switches to get great performance. When the vertical bus (in switch fabric) is being used to transfer a packet. Its not free its busy. We will useful from IQ Crossbar Switch model When the backbound network traffic was slower than the traffic on the switch fabric. We will useful from OQ Crossbar Switch model Combined Input and Output Queued (CIOQ) Crossbar Switch Model

160 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:

161 University of Technology Computer Science Department Network Administration Branch First Class

162 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 162

163 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i 1. Review

164 Compressed 1-Bit Trie Algorithm Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Router

165 Input LinksOutput Links Switch Forwarding Table Processor a b c f i a b c f i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i Prefix Output Link 0 a 00 b 01 c 1 d 10 e 1100 f 1101 g 1110 h 1111 i 00 Decentralized Switching Router

166 2. Speed Up and Delay Control in CIOQ Switch: The fabric speedup for an IQ switch equals 1 The fabric speedup for an OQ switch equals N Suppose we consider switches with fabric speedup of S, so the fabric speedup for CIOQ equles 1 < S N The Probabilisitc Analyses (Assume trafic model) and the Numerical Methods (Use simulated and actual traffic traces) approaches showed that switches which use a speedup of between 2 and 5 achieve the same mean delay and throughput.

167 1. Speed Up and Delay Control in CIOQ Switch: The fabric speedup for an IQ switch equals 1 The fabric speedup for an OQ switch equals N Suppose we consider switches with fabric speedup of S, so the fabric speedup for CIOQ equles 1 < S N IQ CIOQOQ Speedup = 1 Inexpensive Poor performance Speedup = 2--5 ? Inexpensive Good performance Speedup = N Expensive Great performance

168 3. Stable Marriage Algorithms for CIOQ: Most, if not all, switch scheduling algorithms use stable marriage algorithms (SMAs) like Gale-Shapley Algorithm (GSA). This is because of the following equivalence:- - request = proposal - grant and accept = engagement - final matching = marriage

169 3. Scheduling Algorithms for CIOQ: The CIOQ schedule his queued work by the scheduling algorithm like: 1.Queuing the packets as packet-by-packet under a stable FIFO (First In First Out) schedule algorithm. 2.Queuing the packets based their most urgent packets under a unstable MUCF (Most Urgent Cell First) schedule algorithm.

170 3. Scheduling Algorithms for CIOQ: The CIOQ schedule his queued work by the scheduling algorithm like: 1.Queuing the packets as packet-by-packet under a stable FIFO (First In First Out) schedule algorithm. 2.Queuing the packets based their most urgent packets under a unstable MUCF (Most Urgent Cell First) schedule algorithm. 3.Randomized Switch schedule algorithm, base decisions upon a small, randomly chosen sample of the inputs, instead of the complete inputs.

171 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:

172 University of Technology Computer Science Department Network Administration Branch First Class

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

174 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.) Review:

175 175 How to congested network with many users?

176 2. Network Bandwidth: The basic idea is how to congested network with many users. So there are 2 problems will be appears: -How can allocate bandwidth fairly between the users -How can control queue size and hence delay To solve the problems we need to partitioning the bandwidth, however we have 2 approaches, can select any one of them: -Approach 1: Network-Centric -Approach 2: User-Centric Bandwidth Partitioning

177 2. Network Bandwidth (Cont.) : The basic idea is how to congested network with many users. S1 :::: D1.. 10Mpbs 1Mpbs 10Mpbs

178 2.1. Network Bandwidth – Network Centric Approach We can divide the bandwidth depending on number of users (frequency division). Switch

179 2.1. Network Bandwidth – Network Centric Approach We can divide the bandwidth depending on number of users (frequency division). Switch In this approach we partitioning the bandwidth depend on the number of users. This approach perfect fairness, but its responsive to number of users.

180 2.1. Network Bandwidth – User Centric Approach We can divide the bandwidth depending on time (time division). Switch In this approach we partitioning the bandwidth depend on the time of packet arrival, as a FIFO. This approach also fairness, but its responsive to congestion.

181 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:

182 University of Technology Computer Science Department Network Administration Branch First Class

183 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) 183

184 IP Address (Internet Protocol address) is a numerical. label assigned to each device (e.g., computer, printer) participating in a computer network. With IPv4, it's 32bits long and unique; and with IPv6, its 128bits long and also unique IPv4 Addresses: The IPv4 Address has two parts: The Network Part(netid) (also called IP prefix) and Host Part(hostid) to identify the host on that network to identify the network to which host is attached

185 IPv4 Addresses (Cont.) : x

186 IPv4 Addresses (Cont.) : 32bits IP address divides into 4 group of 8bits = (0 … 255) 0 … 255 To provide the flexibility to support different sized networks, with each network containing different number of hosts. IP address space of 2 addresses was divided into three different classes for networks and hosts, as Class A, Class B, Class C, and Class D. 32

187 Classful IPv4 Addressing Scheme: Classful IPv4 Addressing Scheme

188 Classful IPv4 Addressing Scheme (Cont.) : Classful IP Addressing Scheme = = = Multicast Address 2 = = = A host can use a, multicast address as the destination address for packet generated to indicate the packet is meant for any hosts on the Interne Class A Class B Class C Class D

189 Classful IPv4 Addressing Scheme (Cont.) : Classful IP Addressing Scheme Class A Class B Class C netid hostid 0 0 netid hostid netid hostid

190 Imagine, if we had a company has 1000 Computers, It is illogical to buy 1000 IP addresses, this exploitation of the amount of IP addresses. So we can buy 1 or 2 IP addresses (as a Public IP Addresses) and distributed them (using NAT) between the computers (as a Private IP Addresses) Public and Private IP Addresses: Private IP Addresses Class A Class B Class C These addresses are commonly used for homes, offices, and enterprise LANs.

191 Public and Private IP Addresses (Cont.) : Private IP Addresses Class A Class B Class C Just for speed observation (for Private or Public IP Addresses) : each class started with specific range as shown Class A : Class B: Class C: Class C

192 There are certain IP addresses are reserved by the IANA for special use Reserved IP Addresses: Reserved forIP broadcast messages to the current network the "limited broadcast" destination address loopback addresses to the local host (troubleshooting) Network IDHost : All 0s broadcastHost: All 255s future useStarted

193 A Subnet is a logically subdivision of an IP network. The practice of dividing a network into two or more networks is called Subnetting Subnetting / Netmask: For example: Class C AND IP Address Subnet Mask (/24) Gateway

194 Subnetting / Netmask (Cont.) : Class A AND IP Address Subnet Mask (/8) Gateway

195 NAT (Network Address Translation) is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device. Its use to translate the Private IP to Public IP and vice versa NAT (Network Address Translation): yahoo.com Public IPRequestPrivate IP ::: yahoo.com ::: NAT

196 There are three types of NAT: 1- Static NAT 2- Dynamic NAT 3- Overloading NAT NAT (Network Address Translation) (Cont.) :

197 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:


Download ppt "University of Technology Computer Science Department Network Administration Branch First Class."

Similar presentations


Ads by Google