University of Technology Computer Science Department Network Administration

  • Slides: 197
Download presentation
University of Technology Computer Science Department Network Administration Branch First Class Principles of Network

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 Computer Science and Engineering Lecture Notes of Professor

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

Lecture 1: Introduction and Principles of Network Algorithms Contents: 1. Algorithm (Definition) 2. Computer

Lecture 1: 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

Lecture 2: Lookup and Router Architecture Contents: 1. Short Review 2. Routing Table Lookup

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

Lecture 3: Searching Routing-Table Algorithms Contents: 1. Searching Algorithm (Definition) 2. Searching Routing Table

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

Lecture 4: Searching Routing-Table Algorithms Contents: 1. Searching Algorithm 2. Searching Routing Table 3.

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 -Bit Trie (BMP) Algorithm 3. 3. 2. Multi-Bit Tire (VST) Algorithm 3. 3. 3. Compressed Tries 4. Tire based Algorithm for Strings 6

Lecture 5: Packet Classification Contents: 1. Network Reference Models 2. TCP/IP Reference Model (IP

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 v 4 and IP v 6 Packets 5. TCP and UDP Packets 6. Simplified Network Packet Format 7. Screening Router 7

Lecture 6: Packet Classification (Cont. ) Contents: 1. Network Reference Models 2. TCP/IP Reference

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 v 4 and IP v 6 Packets 5. TCP and UDP Packets 6. Simplified Network Packet Format 7. Screening Router 8

Lecture 7: Switching Theory Contents: 1. Short Reviewing 2. Switching Theory 3. Crossbar Switch

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

Lecture 8: Switching Theory (Cont. ) Contents: 1. Review 2. Speed Up and Delay

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

Lecture 9: Bandwidth Partitioning Contents: 1. Review 2. Network Bandwidth 2. 1. Network Bandwidth

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

Lecture 10: IP Addressing Contents: 1. IPv 4 Addresses 2. Classful IPv 4 Addressing

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

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

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

Lecture 1: Introduction and Principles of Network Algorithms Contents: 1. Algorithm (Definition) 2. Computer

Lecture 1: 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

1. Algorithm (from Algoritmi, the Latin form of Al-Khwārizmī) in computer science is a

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

2. Computer Network, often simply referred to as a network, is an interconnected collection

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

3. Network Components are used to connect computing devices together in different networks, and

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 wired equipment) to connect to a network Access Point: is a network device that allows wireless devices to connect to a wired network. Repeater: is a network device that connects two or more network segments and retransmits any incoming signal to all other segments. 18 Access Point Segment A Segment B Repeater

HUB / Switch: is a central network device that connects all nodes in a

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

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

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

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

The difference between Switch and Router Connection to other Networks 22

4. Network Bandwidth (bit rate, channel capacity, or throughput) is a measure of communication

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

5. Network Algorithms are the algorithms to select the paths in network along which

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 Routing the network bottlenecks at servers, routers, or other networking devices. There are many network algorithms like Trie based Algorithm, Multibit Trie Algorithm, etc. 25

6. Routing is the process of selecting paths in network along which (network traffic

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

Each of these routing protocols are applying a “Routing Table” to multiple routes to

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). Network ID 27 Cost Next Hop

There are two main routing configuration ways: • Static Routing: The network administrator adds

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

7. Capacity of Router = N x R (measured by packets per second) N

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

8. History of big Routers In the original 1960 s, the general-purpose computers served

8. History of big Routers In the original 1960 s, 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: 56 kbps). 30

Cisco GSR 12816 Capacity: 640 Gb/s 31 Juniper T 640 Capacity: 320 Gb/s

Cisco GSR 12816 Capacity: 640 Gb/s 31 Juniper T 640 Capacity: 320 Gb/s

Mikrotik 3 Com D-Link 32

Mikrotik 3 Com D-Link 32

Cisco Series Cisco 2811 33

Cisco Series Cisco 2811 33

There are several manufacturers of routers including: • 3 Com (www. 3 com. com)

There are several manufacturers of routers including: • 3 Com (www. 3 com. 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

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

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

Lecture 2: Lookup and Router Architecture Contents: 1. Short Review 2. Routing Table Lookup

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

1. Review: Router: (as sown in the pervious lecture) is a network device that

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

2. Routing Table Lookup: The Routing Table Lookup is search through the routing table,

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

3. Router Architecture A high-level view of Router Architecture is shown below. Input Ports:

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 Switching Fabric Output ports: Stores the packets (that have been forwarded to it through the switching fabric) and then transmits the packets on the outgoing link Routing Processor Switching Fabric: Connects the router's input ports to its output ports 40 Routing Processor: Executes the Routing Protocols, Maintains the Routing Tables, and performs Network Management functions, within the router

Input Port Line Termination Function 41 Data Link Processing Lookup, Forwarding, Queuing Switching Fabric

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

3. A. Input Port Processing Inside Input Port… the router determines the output port

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 42

3. A. Input Port Processing As an old fashioned: When a computer works as

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 43

3. B. Switching Fabrics The switching fabric is at the heart of a router.

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

3. B. Switching Fabrics / Switching via Memory The input port receives the packets.

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

3. B. Switching Fabrics / Switching via Bus The input ports transfer a packet

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

3. B. Switching Fabrics / Switching via Crossbar One way to overcome the bandwidth

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

3. C. Routing Processing is the “Routing Table Lookup” for search through the routing

3. C. 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.

3. D. Output Ports Processing It takes the packets which stored in the output

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

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 3: Searching Routing-Table Algorithms available at: www. uotechnology. edu. iq/dep-cs

Lecture 3: Searching Routing-Table Algorithms Contents: 1. Searching Algorithm (Definition) 2. Searching Routing Table

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

1. Searching Algorithm: Search Algorithm: is an algorithm for finding a specific item among

1. Searching Algorithm: Search Algorithm: is an algorithm for finding a specific item among a collection of items. h c r a r Se ” Lineuaential Search “Seq Search Example: 5 3 8 2 4 6 9 1 - - 7 - 10 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. 53

2. Searching Routing Table: The most important complicating factor is that “backbone routers“ routers

2. Searching Routing Table: The most important complicating factor is that “backbone routers“ 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. 54

3. Searching Routing Table Algorithms: The worst case cost of Linear Search is proportional

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

3. 1. Binary Search: Binary Tree: is a tree that is characterized by that

3. 1. 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. 56

3. 1. Binary Search (cont. ): The idea is to look at the item

3. 1. 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. 5 3 2 1 57 8 4 9 6 7 10

3. 1. Binary Search (cont. ): The advantage of a binary search over a

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

3. 2. Hash Table: is a random access data structure (like an array), and

3. 2. 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. 59

3. 2. Hash Table (cont. ): Example: We has a hash table array of

3. 2. Hash Table (cont. ): Example: We has a hash table array of strings with size=11. 0 Steve 1 2 3 Simple Hash Function hash(“ “, 11) : yields 3 4 5 6 7 8 9 10 60 Steve

3. 2. Hash Table (cont. ): 0 Spark 1 2 3 Simple Hash Function

3. 2. Hash Table (cont. ): 0 Spark 1 2 3 Simple Hash Function hash(“ “, 11) : yields 6 4 5 6 7 8 9 10 61 Steve Spark

3. 2. Hash Table (cont. ): 0 Notes 1 2 3 Simple Hash Function

3. 2. Hash Table (cont. ): 0 Notes 1 2 3 Simple Hash Function hash(“ “, 11) : yields 10 Steve 4 5 6 Spark 7 8 9 10 62 Notes

3. 2. Hash Table (cont. ): 0 Pad 1 3 Simple Hash Function hash(“

3. 2. Hash Table (cont. ): 0 Pad 1 3 Simple Hash Function hash(“ “, 11) : yields 3 Pad 2 Steve 4 5 6 Spark 7 8 9 10 63 Notes Collision A collision occurs when two data items are hashed to the same value.

3. 2. Hash Table (cont. ): Separate chaining is a method for dealing with

3. 2. 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 0 1 2 3 4 5 6 7 8 9 10 64

3. 2. Hash Table (cont. ): Hash Table with Separate Chaining to avoid the

3. 2. Hash Table (cont. ): Hash Table with Separate Chaining to avoid the collision. 0 1 2 3 Simple Hash Function hash(“ “, 11) : yields Steve : 3 4 5 6 Spark : 6 7 Notes: 10 8 Pad: 3 Spark 9 10 65 Steve Notes Pad

3. 2. Hash Table (cont. ): A search follows the same steps as doing

3. 2. Hash Table (cont. ): A search follows the same steps as doing an insertion. i. e. the search key is “Notes” 0 Notes 1 2 3 Simple Hash Function hash(“ “, 11) 10 : yields Steve 4 5 6 Spark 7 The number of steps is O(1) 66 8 9 10 Notes Pad

3. 2. Hash Table (cont. ): Separate Chaining allows us to solve the problem

3. 2. 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). 67

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 4: Searching Routing-Table Algorithms (Cont. ) available at: www. uotechnology. edu. iq/dep-cs

Lecture 4: Searching Routing-Table Algorithms Contents: 1. Searching Algorithm 2. Searching Routing Table 3.

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 -Bit Trie (BMP) Algorithm 3. 3. 2. Multi-Bit Tire (VST) Algorithm 3. 3. 3. Compressed Tries 4. Tire based Algorithm for Strings 70

3. 3. Tire based Algorithms: “The term trie comes from retrieval”. In general, a

3. 3. Tire based Algorithms: “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.

3. 3. Tire based Algorithms (Cont. ): 3. 3. 1. 1 -Bit Trie Algorithm

3. 3. Tire based Algorithms (Cont. ): 3. 3. 1. 1 -Bit Trie Algorithm (Tire based Algorithm): 1 -Bit Trie (or Best Matching Prefix (BMP)) is a binary treebased 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.

3. 3. Tire based Algorithms (Cont. ): 3. 3. 1. 1 -Bit Trie Algorithm(Cont.

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

3. 3. Tire based Algorithms (Cont. ): 3. 3. 1. 1 -Bit Trie Algorithm(Cont.

3. 3. Tire based Algorithms (Cont. ): 3. 3. 1. 1 -Bit Trie Algorithm(Cont. ): Example 2: P 5 P 1 P 2 P 6 P 3 P 4

3. 3. Tire based Algorithms (Cont. ): 3. 3. 1. 1 -Bit Trie Algorithm

3. 3. Tire based Algorithms (Cont. ): 3. 3. 1. 1 -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

3. 3. Tire based Algorithms (Cont. ): 3. 3. 2. Multi-Bit Trie Algorithm (VST):

3. 3. Tire based Algorithms (Cont. ): 3. 3. 2. 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 root’s right child is 3.

3. 3. Tire based Algorithms (Cont. ): 3. 3. 2. Multi-Bit Trie Algorithm (VST)

3. 3. Tire based Algorithms (Cont. ): 3. 3. 2. Multi-Bit Trie Algorithm (VST) (Cont. ): Example: Prefixes: P 1 : 10* P 2 : 11* P 3 : 11001* 00000 P 4 : 1* 00001 P 5 : 0* P 6 : 1000000* 00010 00 P 5 01 P 4 P 1 P 2 10 11 P 6 001 010 011 00011 : 000 : 11111 Assume that the stride for the root of some tree is 2; And that for the root’s left child is 5; And that for the root’s right child is 3. 100 101 110 111 P 3

3. 3. Tire based Algorithms (Cont. ): 3. 3. 3. Compressed Tries: The “Compressed

3. 3. Tire based Algorithms (Cont. ): 3. 3. 3. 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.

3. 3. Tire based Algorithms (Cont. ): 3. 3. 3. A. Compressed Tries with

3. 3. Tire based Algorithms (Cont. ): 3. 3. 3. 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.

e s p a Coll p Jum Prefixes: a : 0* b : 01000*

e s p a Coll p Jum Prefixes: a : 0* b : 01000* c : 011* d : 1* e : 100* f : 1100* g : 1101* h : 1110* i : 1111* d a c e f b g h i

d a Collapse Jump c e f b g h i

d a Collapse Jump c e f b g h i

d a c Collapse Jump b e f g h i

d a c Collapse Jump b e f g h i

d a Collapse Jump b c e f g h i

d a Collapse Jump b c e f g h i

d a Collapse b c Jump e f g h i

d a Collapse b c Jump e f g h i

d a b c e f g h i

d a b c e f g h i

d a b 1 -Bit Trie / Prefixes: a : 0* b : 01000*

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

1 -Bit Trie Prefixes: a : 0* b : 01000* Compressed c : 011*

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

3. 3. Tire based Algorithms (Cont. ): 3. 3. 3. B. Compressed Tries with

3. 3. Tire based Algorithms (Cont. ): 3. 3. 3. 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.

4. Tire based Algorithm for Strings: Example 1: A 1 -Bit Trie tree for

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

4. Tire based Algorithm for Strings (Cont. ): Example 1 (Cont. ): A Compressed

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

4. Tire based Algorithm for Strings (Cont. ): Example 1 (Cont. ): A Compressed

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

4. Tire based Algorithm for Strings (Cont. ): Example 1 (Cont. ): A Compressed

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

4. Tire based Algorithm for Strings (Cont. ): Example 1 (Cont. ): A Compressed

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

4. Tire based Algorithm for Strings (Cont. ): Example 2: Construct the 1 -Bit

4. Tire based Algorithm for Strings (Cont. ): 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. Solution: Compressed 1 -Bit Trie Tree

4. Tire based Algorithm for Strings (Cont. ): Example 3: Construct the 1 -Bit

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

Must be remember that …

Must be remember that …

Router Input Links Switch Output Links a a b b c c Processor Forwarding

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

Router Prefix Output Link 0 a 00 b 01 c 1 d 10 e

Router 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

Router Switch Input Links a 1100 Output Links a b b c c Processor

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

Router Switch Input Links 1100 a Output Links a b b c c Processor

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

Router Switch Input Links Output Links a a b b c c Processor Forwarding

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

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 5: Packet Classification available at: www. uotechnology. edu. iq/dep-cs

Lecture 5: Packet Classification Contents: 1. Network Reference Models 2. TCP/IP Reference Model (IP

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 v 4 and IP v 6 Packets 5. TCP and UDP Packets 6. Simplified Network Packet Format 7. Screening Router 104

1. Network Reference Models: With “ 1 st Class - Principles of Network &

1. Network Reference Models: 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. But with “ 1 st Class - Principles of Network Algorithms Subject“, we focusing only on ‘TCP/IP Reference Model’ from Routing side of view. TCP : Transmission Control Protocol IP : Internet Protocol

2. TCP/IP Reference Model : TCP/IP protocol (also called IP Protocol Stack) is a

2. TCP/IP Reference Model : 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

ng HTTP Transport Layer Application Layer pi eb ing W s ow r B

ng HTTP Transport Layer Application Layer pi eb ing W s ow r B es es l i F ic U d Dev a o pl en we ail M E- FTP SMTP ed eo m ti l u M t be ia P I Vo Internet Layer DNS RTP TCP BGP UDP ICMP Network Layer id , V d an m ce p m u o rfa k C o r lo e Inte s t n u Ro Line OSPF IP Network Interface RIP

2. TCP/IP Reference Model (Cont. ): 2. 1. The Application Layer: The Application Layer

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

Application Layer eb ing W s ow r B HTTP es es l i

Application Layer eb ing W s ow r B HTTP es es l i F ic U d Dev a o pl en we ail M E- t be FTP ia SMTP ed eo m ti l u M P I Vo RTP id , V d an m ce p m u o rfa k C o r lo e Inte s t n u Ro Line DNS BGP RIP

Network Certification Rou ter Line Com Inte man rfac d e

Network Certification Rou ter Line Com Inte man rfac d e

ng Application Layer pi eb ing W s ow r B HTTP ICMP es

ng Application Layer pi eb ing W s ow r B HTTP ICMP es es l i F ic U d Dev a o pl en we ail M E- t be FTP ia SMTP ed eo m ti l u M P I Vo RTP id , V d an m ce p m u o rfa k C o r lo e Inte s t n u Ro Line DNS BGP RIP OSPF

2. TCP/IP Reference Model (Cont. ): 2. 2. The Transport Layer (Host-to-Host) (End-to-End): The

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

Application Layer eb ing W s ow r B Transport Layer HTTP es es

Application Layer eb ing W s ow r B Transport Layer HTTP es es l i F ic U d Dev a o pl en we ail M E- t be FTP TCP is a reliable connectionoriented protocol, that offers error correction when deliver the stream originating on one machine to the other machine in the network. ia SMTP ed eo m ti l u M P I Vo id , V d an m ce p m u o rfa k C o r lo e Inte s t n u Ro Line DNS RTP BGP RIP UDP is an unreliable connectionless protocol, that deliver stream originating on one machine to the other machine in the network based one-shot philosophy.

2. TCP/IP Reference Model (Cont. ): 2. 2. The Transport Layer (Host-to-Host) (End-to-End): TCP

2. TCP/IP Reference Model (Cont. ): 2. 2. The Transport Layer (Host-to-Host) (End-to-End): 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; UDP (User Datagram Protocol) is an unreliable connectionless protocol, that deliver stream originating on one machine to the other machine in the network based oneshot philosophy. It used to send streaming audio and video (like Windows Media audio files (. WMA) , Real Player (. RM)).

2. TCP/IP Reference Model (Cont. ): 2. 2. The Transport Layer (Host-to-Host) (End-to-End): The

2. TCP/IP Reference Model (Cont. ): 2. 2. The Transport Layer (Host-to-Host) (End-to-End): The UDP is faster than TCP (UDP offers speed). 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.

2. TCP/IP Reference Model (Cont. ): 2. 3. Internet Layer: The Internet Layer is

2. TCP/IP Reference Model (Cont. ): 2. 3. Internet Layer: The Internet Layer is located above the Transport Layer in the TCP/IP model, it’s 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. 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. Remember that the Lecture Title is Packet Classification

Internet Layer Transport Layer Application Layer eb ing W s ow r B HTTP

Internet Layer Transport Layer Application Layer eb ing W s ow r B HTTP es es l i F ic U d Dev a o pl en we ail M E- FTP SMTP ed eo m ti l u M t be ia P I Vo id , V DNS RTP TCP d an m ce p m u o rfa k C o r lo e Inte s t n u Ro Line BGP UDP IP IP defines an official packet format and provides IP Addresses RIP

2. TCP/IP Reference Model (Cont. ): 2. 4. Network Layer (Host-To-Network) (Link): The Host-to-Network

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

Network Layer Internet Layer Transport Layer Application Layer eb ing W s ow r

Network Layer Internet Layer Transport Layer Application Layer eb ing W s ow r B HTTP es es l i F ic U d Dev a o pl en we ail M E- FTP SMTP ed eo m ti l u M t be ia P I Vo id , V DNS RTP TCP UDP IP Network Interface d an m ce p m u o rfa k C o r lo e Inte s t n u Ro Line BGP RIP

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 6: Packet Classification (Cont. ) available at: www. uotechnology. edu. iq/dep-cs

Lecture 6: Packet Classification (Cont. ) Contents: 1. Network Reference Models 2. TCP/IP Reference

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 v 4 and IP v 6 Packets 5. TCP and UDP Packets 6. Simplified Network Packet Format 7. Screening Router 122

3. ICMP and OSPF Core Protocols: There another important core protocols (which works inside

3. ICMP and OSPF Core Protocols: There another important core protocols (which works inside TCP/IP protocol) like: • ICMP (Internet Control Message Protocol) • OSPF (Open Shortest Path First ) 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, it’s an adaptive network routing protocol which operating within a single autonomous system.

ng es es l i F ic U d Dev a o pl en

ng es es l i F ic U d Dev a o pl en HTTP we ail M E- FTP SMTP ed eo m ti l u M t be Transport Layer Application Layer pi eb ing W s ow r B ia P I Vo Internet Layer DNS RTP TCP BGP RIP UDP ICMP Network Layer id , V d an m ce p m u o rfa k C o r lo e Inte s t n u Ro Line OSPF IP It’s used by the computer Oss to send error messages indicating Network Interface It’s an adaptive network routing protocol which operating within a single autonomous system

g Transport Layer Application Layer n pi Ping is a useful tool for testing,

g Transport Layer Application Layer n pi Ping is a useful tool for testing, it’s 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. Network Layer Internet Layer ICMP IP Network Interface

On any machines running Windows x, ping can be accessed via a DOS prompt.

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". C P ur Yo ping yahoo. com # ping yahoo. com PING yahoo. com (204. 71. 202. 160): 56 data bytes 64 bytes from 204. 71. 202. 160: icmp_seq=0 ttl=246 time=108. 0 ms 64 bytes from 204. 71. 202. 160: icmp_seq=1 ttl=246 time=102. 3 ms 64 bytes from 204. 71. 202. 160: icmp_seq=2 ttl=246 time=102. 6 ms 64 bytes from 204. 71. 202. 160: icmp_seq=3 ttl=246 time=105. 5 ms 64 bytes from 204. 71. 202. 160: icmp_seq=4 ttl=246 time=103. 9 ms --- yahoo. com ping statistics --5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 102. 3/104. 4/108. 0 ms Yahoo Server

eb ing W s ow r B HTTP Transport Layer Application Layer ng i

eb ing W s ow r B HTTP Transport Layer Application Layer ng i p ad U o pl es es l i F ic en e w ev D ail M E- FTP SMTP P I Vo Internet Layer DNS RTP TCP BGP UDP ICMP Network Layer eo m lti , Vid u M t be a i ed d an m ce p m u o rfa k C o er Inte lo t s u n Ro Line OSPF IP 2 Well-Known Utility-Application Protocols DNS , ICMP Network Interface 3 Well-Known Routing Protocols BGP , RIP , OSPF RIP

4. IP v 4 and IP v 6: The Internet Layer defines an official

4. IP v 4 and IP v 6: 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. Application Layer HTTP , FTP , SMTP , RTP , DNS , BGP , RIP , … Transport Layer TCP , UDP Internet Layer IPv 6 v 4 IP 32, OSPF bits ICMP, , ICMP … , , …… IP 128 bits, , , OSPF Network Layer There are two types of core IP protocol, IP v 4 (version 4) (32 bits) and IP v 6 (version 6) (128 bits).

ng HTTP es es l i F ic U d Dev a o pl

ng HTTP es es l i F ic U d Dev a o pl en we ail M E- FTP SMTP ed eo m ti l u M t be Transport Layer Application Layer pi eb ing W s ow r B ia P I Vo Internet Layer DNS RTP TCP BGP RIP UDP ICMP Network Layer id , V d an m ce p m u o rfa k C o r lo e Inte s t n u Ro Line OSPF IP IP defines an official packet format and provides IP Addresses There are 2 Types: IP v 4 - 32 bits IP v 6 - 128 bits Network Interface

4. IP v 4 and IP v 6 (Cont. ): IP v 4 Packet

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

4. IP v 4 and IP v 6 (Cont. ): Since the 4. 2

4. IP v 4 and IP v 6 (Cont. ): Since the 4. 2 billion IPs of IPv 4 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 IPv 6, which can distribute approximately 6 trillion IPs.

4. IP v 4 and IP v 6 (Cont. ): IP v 6 Packet

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

4. IP v 4 and IP v 6 (Cont. ): While IPv 6 use

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

4. IP v 4 and IP v 6 (Cont. ):

4. IP v 4 and IP v 6 (Cont. ):

IP v 4 Packet Format: X IP v 6 Packet Format: To learn more,

IP v 4 Packet Format: X IP v 6 Packet Format: To learn more, plz visit the following pages: - www. networkset. net/2010/05/05/ipv 4 -vs-ipv 6/ - www. youtube. com/watch? v=-o. Q 4 JYBjh. Vc&feature=related

5. TCP and UDP Packets: TCP and UDP protocols are most communication over the

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

5. TCP and UDP Packets (Cont. ): TCP and UDP protocols are most communication

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

6. Simplified Network Packet Format: In simply, each network packet consist of the 5

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

7. Screening Router: it’s a router that performs packet filtering to see whether a

7. Screening Router: it’s 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. Each router do packet classification, when the packet addressed to it. A Screening Router B C

7. Screening Router (Cont. ): Screening Router: it’s a router that performs packet filtering

7. Screening Router (Cont. ): Screening Router: it’s 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. TO: C Vo. P UDP: TO: TCP: C Emai l A Screening Router B TO: B TCP: Web TO: A UDP: Video TO: A UDP: #bxsa? t^q 1 C In some cases a screening router may be used as perimeter protection for the internal network as a filtering solution

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

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

Lecture 7: Switching Theory Contents: 1. Short Reviewing 2. Switching Theory 3. Crossbar Switch

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

Review 1. Short Reviewing: Switch Device: is a central network device that connects all

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

Router Input Links Switch Output Links a a b b c c Processor Forwarding

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

Router Prefix Output Link 0 a 00 b 01 c 1 d 10 e

Router 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

Router Switch Input Links a 1100 Output Links a b b c c Processor

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

Router Switch Input Links 1100 a Output Links a b b c c Processor

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

Router Switch Input Links Output Links a a b b c c Processor Forwarding

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

Router 001100 1010 0110011 1000100 01 11010 101100 11 00 1 1 11010 0001100

Router 001100 1010 0110011 1000100 01 11010 101100 11 00 1 1 11010 0001100 101010 00 111110 Switch 110011 Processor Forwarding Table 110011 101100 01 010100 Prefix 0 00 01 1 10 1101 1110 1111 Output Link a b c d e f g h i 11001 11 110010 1100111 101100

Switching 1010 0011001 101100 01 010100 0001100 101010 00 00 1 1 1000100 01

Switching 1010 0011001 101100 01 010100 0001100 101010 00 00 1 1 1000100 01 11010 110011 101100 111110 Switch 110011 110010 1100111 101100

2. Switching Theory: Switching theory is the mathematical study of the properties of networks

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)

3. Crossbar Switch Architecture One way to overcome the bandwidth limitation of a single,

3. 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 2 N 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. 153

4. Crossbar Switch Models There are three Crossbar Switch Models, these are: IQ Switch

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

4. Crossbar Switch Models (Cont. ) If the vertical bus is being used to

4. Crossbar Switch Models (Cont. ) 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 Port Line Termination Function Data Link Processing Lookup, Forwarding, Queuing 155 Switching Fabric If the vertical bus is free, the packet is transferred to the output port.

4. Crossbar Switch Models (Cont. ) If the vertical bus is free, the packet

4. Crossbar Switch Models (Cont. ) If the vertical bus is free, the packet is transferred to the output port. Input Q 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 Port Line Termination Function Data Link Processing Lookup, Forwarding, Queuing 156 Switching Fabric ueued (IQ) Switches If the vertical bus is being used to transfer

4. Crossbar Switch Models (Cont. ) Also we can use the same strategy at

4. 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. Output Port Queuing Data Link Processing Output Queued (OQ) Switches 157 Line Termination Function

4. Crossbar Switch Models (Cont. ) Input Ports Output Ports Switching Fabric Routing Processor

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

4. Crossbar Switch Architecture (Cont. ) We use Combined Input and Output Queued (CIOQ)

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. It’s not free it’s 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

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 8: Switching Theory and Architecture (Cont. ) available at: www. uotechnology. edu. iq/dep-cs

Lecture 8: Switching Theory (Cont. ) Contents: 1. Review 2. Speed Up and Delay

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

1. Review Input Links Switch Output Links a a b b c c Processor

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

Router Prefix Output Link 0 a 00 b 01 c 1 d 10 e

Router 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

Router Switch Input Links Output Links a a b b c c Processor Forwarding

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

2. Speed Up and Delay Control in CIOQ Switch: The fabric speedup for an

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.

1. Speed Up and Delay Control in CIOQ Switch: The fabric speedup for an

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 Speedup = 1 Inexpensive Poor performance CIOQ Speedup = 2 --5 ? Inexpensive Good performance OQ Speedup = N Expensive Great performance

3. Stable Marriage Algorithms for CIOQ: Most, if not all, switch scheduling algorithms use

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

3. Scheduling Algorithms for CIOQ: The CIOQ schedule his queued work by the scheduling

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. Scheduling Algorithms for CIOQ: The CIOQ schedule his queued work by the scheduling

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.

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 9: Bandwidth Partitioning available at: www. uotechnology. edu. iq/dep-cs

Lecture 9: Bandwidth Partitioning Contents: 1. Review 2. Network Bandwidth 2. 1. Network Bandwidth

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

1. Review: Network Bandwidth (bit rate, channel capacity, or throughput) is a measure of

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

How to congested network with many users? 175

How to congested network with many users? 175

2. Network Bandwidth: The basic idea is how to congested network with many users.

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

2. Network Bandwidth (Cont. ): The basic idea is how to congested network with

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

2. 1. Network Bandwidth – Network Centric Approach We can divide the bandwidth depending

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

2. 1. Network Bandwidth – Network Centric Approach We can divide the bandwidth depending

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.

2. 1. Network Bandwidth – User Centric Approach We can divide the bandwidth depending

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.

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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

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

University of Technology Computer Science Department Network Administration Branch First Class Principles of Network Algorithms Lecture 10: IPv 4 Addressing available at: www. uotechnology. edu. iq/dep-cs

Lecture 10: IP Addressing Contents: 1. IPv 4 Addresses 2. Classful IPv 4 Addressing

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

1. IPv 4 Addresses: IP Address (Internet Protocol address) is a numerical. label assigned

1. IPv 4 Addresses: IP Address (Internet Protocol address) is a numerical. label assigned to each device (e. g. , computer, printer) participating in a computer network. With IPv 4, it's 32 bits long and unique; and with IPv 6, it’s 128 bits long and also unique. The IPv 4 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 184

1. IPv 4 Addresses (Cont. ): . 0 . 168 0 . 2 19

1. IPv 4 Addresses (Cont. ): . 0 . 168 0 . 2 19 68 1. 2 9 1 . 0 1 . . 0 2 . 0 . . 19 . 2 1 68 8 6 1 . 2 19 . 4 . 0 68 3 19 . 1 2 9 1 192. 168. 0. x 185 . 8 6 . 5 0

1. IPv 4 Addresses (Cont. ): 32 bits IP address divides into 4 group

1. IPv 4 Addresses (Cont. ): 32 bits IP address divides into 4 group of 8 bits. 0 8 16 24 32 0 … 255 8 2 = 256 0 … 255 (0 … 255) To provide the flexibility to support different sized networks, with each network containing different number of hosts. 32 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. 186

2. Classful IPv 4 Addressing Scheme: Classful IPv 4 Addressing Scheme 187

2. Classful IPv 4 Addressing Scheme: Classful IPv 4 Addressing Scheme 187

2. Classful IPv 4 Addressing Scheme (Cont. ): Classful IP Addressing Scheme 0 8

2. Classful IPv 4 Addressing Scheme (Cont. ): Classful IP Addressing Scheme 0 8 16 24 32 Class A 0 2 7 = 128 24 2 = 16 777 216 0 8 16 24 32 Class B 10 14 2= 16 384 16 2 = 65 536 0 8 16 24 32 Class C 110 = 2 097 152 2 21 8 2 = 256 0 8 16 24 32 Class D 188 1110 Multicast Address 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

2. Classful IPv 4 Addressing Scheme (Cont. ): Classful IP Addressing Scheme 0 8

2. Classful IPv 4 Addressing Scheme (Cont. ): Classful IP Addressing Scheme 0 8 16 24 32 Class A 0 128 16 777 216 0 netid hostid 0 8 16 24 32 Class B 10 16 384 65 536 10 netid hostid 0 8 16 24 32 Class C 189 110 2 097 152 256 110 netid hostid

3. Public and Private IP Addresses: Imagine, if we had a company has 1000

3. Public and Private IP Addresses: 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). Private IP Addresses Class A 10. 0 - 10. 255 Class B Class C 172. 16. 0. 0 - 172. 31. 255 192. 168. 0. 0 - 192. 168. 255 These addresses are commonly used for homes, offices, and enterprise LANs. 190

3. Public and Private IP Addresses (Cont. ): Private IP Addresses Class A 10.

3. Public and Private IP Addresses (Cont. ): Private IP Addresses Class A 10. 0 - 10. 255 Class B Class C 172. 16. 0. 0 - 172. 31. 255 192. 168. 0. 0 - 192. 168. 255 Just for speed observation (for Private or Public IP Addresses): each class started with specific range as shown Class A : 1 - 126 Class B: 128 - 190 Class C: 191 - 223 191 3. 0. 8 6 1. 192 C s s Cla

4. Reserved IP Addresses: There are certain IP addresses are reserved by the IANA

4. Reserved IP Addresses: There are certain IP addresses are reserved by the IANA for special use. IP 0. 0 0. 255 127. 0. 0. 0 127. 255 Host : All 0’s Host: All 255’s Started 224 - 255 192 Reserved for broadcast messages to the current network the "limited broadcast" destination address loopback addresses to the local host (troubleshooting) Network ID broadcast future use

5. Subnetting / Netmask: A Subnet is a logically subdivision of an IP network.

5. Subnetting / Netmask: A Subnet is a logically subdivision of an IP network. The practice of dividing a network into two or more networks is called Subnetting. Class C For example: 192. 168. 40 . 3 IP Address 255. 0 Subnet Mask (/24) 11000000 10101000 00101000 00000011 11 11111 111111 11 0000 AND 11000000 10101000 00101000 0000 192. 168. 40 . 0 Gateway 193

5. Subnetting / Netmask (Cont. ): Class A 10 . 0. 0 . 2

5. Subnetting / Netmask (Cont. ): Class A 10 . 0. 0 . 2 IP Address 255. 0. 0 . 0 Subnet Mask (/8) AND 10 . 0 194 Gateway

6. NAT (Network Address Translation): NAT (Network Address Translation) is the process of modifying

6. NAT (Network Address Translation): NAT (Network Address Translation) is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device. It’s use to translate the Private IP to Public IP and vice versa. . 92 1 195 16 7 0. 68. 143. 77. 15. 8 NAT yahoo. com Private IP Request Public IP : : : 192. 168. 0. 7 yahoo. com 68. 143. 77. 15 : : :

6. NAT (Network Address Translation) (Cont. ): There are three types of NAT: 1

6. NAT (Network Address Translation) (Cont. ): There are three types of NAT: 1 - Static NAT 2 - Dynamic NAT 3 - Overloading NAT 7 0. . 8 6 1 2. 19 68. 143. 77. 15 68. 143. 77. 16 68. 143. 77. 17 196

University of Technology Computer Science Department Network Administration Branch First Class Q & A

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