* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download View
Dynamic Host Configuration Protocol wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Distributed firewall wikipedia , lookup
Deep packet inspection wikipedia , lookup
Network tap wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Computer network wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Airborne Networking wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Chapter 19 + 22 Addressing and Routing An IPv4 address is a 32-bit address that uniquely and universally defines the connection of a device (for example, a computer or a router) to the Internet. Topics discussed in this section: Address Space Notations Classful Addressing Classless Addressing Network Address Translation (NAT) 1 IPv4 ADDRESSES 2 Two devices in the Internet can never have the same address at the same time. An address may be assigned to a device for a time period and then taken away and assigned to another device. If a device operating at the network layer (e.g. router) has m connections to the Internet, it needs to have m IP address. The IPv4 addresses are unique and universal IPv4 IPV4 has an address space: is the total number of addresses used by the protocol. If a protocol uses N bits to define an address, the address space is 2N . IPv4 uses 32-bit addresses: The address space=232 =4,294,967,296 ( more than 4 billion) 3 This means, if there were no restrictions, more than 4 billion devices could be connected to the Internet. IPv6 uses 128 bit-addresses IPv4 Addresses: Notations There are two prevalent notations to show an IPv4 address Binary notation Dotted-decimal notation: 4 Address is displayed as 32 bits. Each octet is often referred to as byte. IPv4 address referred to as 32-bit address or 4- byte address More compact and easier to read Written in decimal form with a decimal point( dot) separating the bytes Example: 117.149.29.2 Each decimal value range from 0 to 255 Address Allocation How are the block allocated? The address allocation is given to global authority called 5 Internet Assigned Number Authority (IANA) IANA does not allocate addresses to individual organizations It assigns a large block of addresses to an ISP Example Change the following IPv4 addresses from binary notation to dotted-decimal notation. Solution We replace each group of 8 bits with its equivalent decimal number (see Appendix B) and add dots for separation. 6 Example Change the following IPv4 addresses from dotted-decimal notation to binary notation. Solution We replace each decimal number with its binary equivalent (see Appendix B). 7 Example Find the error, if any, in the following IPv4 addresses. Solution a. There must be no leading zero (045). b. There can be no more than four numbers. c. Each number needs to be less than or equal to 255. d. A mixture of binary notation and dotted-decimal notation is not allowed. 8 Classfull addressing In classfull addressing, the address space is divided into five classes: A, B, C, D, and E We can find the class of an address in 9 Binary notation: the first few bits define the class Decimal-dotted notation: the first byte define the class Classfull addressing In classfull addressing, the address space is divided into 5 classes: A, B, C, D, and E. Addresses in Classes A, B and C are uniast ddresses A host needs to have at least one unicast address to be able to send packet (Source). Addresses in Class D are for multicast address 10 Used only for destination Addresses in class E are reserved Example 19.4 Find the class of each address. a. 00000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 14.23.120.8 d. 252.5.15.111 Solution a. The first bit is 0. This is a class A address. b. The first 2 bits are 1; the third bit is 0. This is a class C address. c. The first byte is 14; the class is A. d. The first byte is 252; the class is E. 11 Classfull Addressing Classes and Blocks Net Id and Host Id 12 The address is divided into Netid and Hostid. These part are of varying lengths, depending on the class. Dose not apply to classes D and E Classfull Addressing Classes and Blocks 13 Classes and Blocks Class A address Class B address designed for midsize organizations with ten of thousands of attached hosts or routers( too large for many organizations) Class C address designed for multicasting. (waste of addresses) Class E address 14 designed for small organizations with a small number of attached hosts or routers (too small for many organizations) Class D address designed for large organizations with a large number of attached hosts or routers. (most of the addresses were wasted and not used) reserved for future use (waste of addresses) One problem is that each class is divided into fixed number of blocks with each block having a fixed size Mask (default mask) Help us to find the NetId and HostId Mask: 32-bit made of 1s followed by 0s. Dose not apply to classes D and E. CIDR(Classless Interdomain Routing): used to show the mask in the form /n (n=8,16,24) Classfull addressing, which is almost obsolete, is replaced with classless addressing. 15 Classfull Addressing Network address The network address is an address that define the network itself to the reset of the internet The network address has the following properties: 16 All hostid bytes are 0’s It is the first address in the block It cannot be assigned to a host Given the network address, we can find the class of the address Example Find the network address for the following 132.6.17.85 The class is B The first 2 bytes defines the Netid. We can find the network address by replacing the hostid bytes (17.85) with 0s Therefore, the network address is 132.6.0.0. 23.56.7.91 17 The class is A. Only the first byte defines the Netid. We can find the network address by replacing the hostid bytes (56.7.91) with 0s. Therefore, the network address is 23.0.0.0 Figure 19.3 A block of 16 addresses granted to a small organization 18 19 In IPv4 addressing, a block of addresses can be defined as x.y.z.t /n x.y.z.t defines one of the addresses and the /n defines the mask The first address in the block can be found by setting the rightmost 32 − n bits to 0s The last address in the block can be found by setting the rightmost 32 − n bits to 1s. Example A block of addresses is granted to a small organization. We know that one of the addresses is 205.16.37.39/28. 1. What is the first and the last address in the block 2. Find the number of addresses? Solution The binary representation of the given address is 11001101 00010000 00100101 00100111 If we set 32−28 = 4 rightmost bits to 0, we get 11001101 00010000 00100101 00100000 205.16.37.32 If we set 32−28 = 4 rightmost bits to 1, we get 11001101 00010000 00100101 00101111 The number of addresses is 2 32−28 = 16 20 A network configuration for the block 205.16.37.32/28 21 The first address in a block is normally not assigned to any device; it is used as the network address that represents the organization to the rest of the world The Last address in a block is normally not assigned to any device; it is used as the Broadcast address Configuration and addresses in a subnetted network Each address in the block can be considered as a two-level hierarchical structure 22 the leftmost n bits define the network the rightmost 32 − n bits define the host. Three-level hierarchy in an IPv4 address 23 Example An ISP is granted a block of addresses starting with 190.100.0.0/16 (65,536 addresses). The ISP needs to distribute these addresses to three groups of customers as follows a. The first group has 64 customers; each needs 256 addresses. b. The 2nd group has 128 customers; each needs 128 addresses. c. The 3rd group has 128 customers; each needs 64 addresses. Design the subblocks and find out how many addresses are still available after these allocations. 24 Solution Group 1 For this group, each customer needs 256 addresses. This means that 8 bits are needed to define each host. The prefix length is 32 − 8 = 24 Group 2 For this group, each customer needs 128 addresses. This means that 7 bits are needed to define each host. The prefix length is 32 − 7 = 25 25 Group 3 For this group, each customer needs 64 addresses. This means that 6 bits are needed to each host. The prefix length is 32 − 6 = 26 Number of granted addresses to the ISP: 65,536 Number of allocated addresses by the ISP: 40,960 Number of available addresses: 24,576 26 Classfull Addressing Subnetting 27 If an organization was granted a large block in classes A or B It could divide the addresses into several contiguous groups and assign each group to smaller networks ( subnets) It increases the number of 1s in the mask To make a subnet mask , we change some of the leftmost 0s in mask to 1s The number of subnets is determine by the number of extra1s. If the number of extra 1 is n, the number of subnets is 2n Example Class B address For 4 subnets : (need 2-extra bits ) Subnet mask: 255.255. 192.0 or /18 11111111 11111111 11 000000 00000000 For 8 subnets: (need 3-extra bits ) 28 mask : 255.255.0.0 or /16 11111111 11111111 00000000 000000000 subnet mask : 255.255.224.0 or /19 11111111 11111111 111 00000 00000000 Example A router receives a packet with destination address 190.240.33.91. Show how it finds the network and the sub_network address to route the packet. Assume the subnet mask is /19 The router follows steps: The router looks at the first byte of the address to find the class. It is class B The mask for class B is (/16)The router ANDs this mask with the address to get the network address : 190.240.0.0 The router applies the subnet mask (/19) to the address, 190.240.33.91: ı 190.240.001 00001.91 29 The subnet address is 190.240.32.0 The router looks in its routing table to find how to route the packet to this destination Supernetting Huge demand for midsize blocks. Although class A and B addresses are almost depleted, class C addresses are still available( size of block= 256 address did not satisfy the needs). In super netting, an organization can combine several class C blocks to create a larger range of addresses. Several networks are combined to create a super network ( super net). 30 e.g. Organization needs 1000 address can be granted 4 contiguous class C blocks to create one super network. Subnetting Collision domain Broadcast domain 31 Are the connected physical network segments where collisions can occur A group of collision domains that are connected by layer 2 devices Collision domains = # of hosts connected to a switch or bridge + # of router links Broadcast domains = # of router links, since only routers will create broadcast domains 32 A BRIDGE will create a collision domain while the HUB will not 33 Network Address Translation NAT The Internet Authorities have reserved 3 sets of addresses as a private addresses Network Address Translation 34 NAT enables a user to have a large set of addresses internally and one address or small set of address externally. A NAT box located where the LAN meets the Internet makes all necessary IP address translations Any organization can use an addresses out of this set without permission from internet authorities. Provides a type of firewall by hiding internal IP addresses Network Address Translation 35 Private addresses are unique inside the organization , but they are not unique globally No router will forward a packet that has one of these addresses as the destination addresses The site must have one connection to the global internet through the router that runs NAT software The router has uses one private address and one global address The internet sees only NAT router with global address NAting 36 NAT router replaces the source address in the outgoing packets with the global NAT address (200.24.5.8) Router replaces the destination address (the NAT router global address) in the incoming packets with appropriate private address NAT address translation Note private network must start (initiate ) the communication 37 NAT address translation Using pool of IP addresses Restriction For example 38 Since the NAT router has only one global address, only one private network host can To remove the previous restriction, the NAT router uses a pool of global addresses access the same external host instead of using one global address 200.24.5.8 , the NAT router can uses 4 addresses (200.24.5.8, 200.24.5.9, 200.24.5.10, 200.24.5.11). In this case 4 private network hosts can communicate the same external host at the same time because each pair of addresses defines a connection Pool of IP addresses 39 Pool of IP addresses There are still some drawbacks: 40 No than four private network hosts can communicate the same destination No private network host can access two external server programs (e.g. HTTP (port 80 )and FTP) at the same time To allow many to many relationship use 5- coloum translation table NAT address translation Using both IP addresses and Port number Five-column translation table 41 42 43 IPv6 ADDRESSES Despite all short-term solutions, address depletion is still a long-term problem for the Internet. This and other problems in the IP protocol itself have been the motivation for IPv6. An IPv6 address is 128 bits long IPv6 address in binary and hexadecimal colon notation 44 Abbreviated IPv6 addresses 45 Example Expand the address 0:15::1:12:1213 to its original. Solution We first need to align the left side of the double colon to the left of the original pattern and the right side of the double colon to the right of the original pattern to find how many 0s we need to replace the double colon. This means that the original address is. 46 Routing 47 Routing Packet go from source to destination via routers. Router consults the routing table. Routing table can be Routing protocols are needed to create the routing tables dynamically. A routing protocol is a combination of rules and procedures that 48 Static: does not change automatically (manual entries) Dynamic: updated automatically when there is change in the Internet Lets routers in the internet inform one another of changes. Allows routers to share whatever they know about the internet or their neighborhood. Route method vs Next-hop method 49 Host-specific vs Network-specific method 50 Host-specific routing 51 Default method 52 Simplified forwarding module in classless address 53 In classless addressing, we need at least 4 columns in a routing table Example Make a routing table for router R1, using the following configuration 54 Example Show the forwarding process if a packet arrives at R1 with the destination address 180.70.65.140 Routing table for R1 55 Solution The router performs the following steps 1. The first mask (/26) is applied to the destination address The result is 180.70.65.128, which does not match the corresponding network address 2. The second mask (/25) is applied to the destination address. The result is 180.70.65.128,which matches the corresponding network address. The next-hop address and the interface number m0 are passed to ARP for further processing 56 Example Show the forwarding process if a packet arrives at R1 in with the destination address 201.4.22.35 The router performs the following steps 1. The first mask (/26) is applied to the destination address The result is 201.4.22.0, which does not match the corresponding network address 2. The second mask (/25) is applied to the destination address The result is 201.4.22.0, which does not match the corresponding network address (row 2) 3. The third mask (/24) is applied to the destination address 57 The result is 201.4.22.0, which matches the corresponding network address. The destination address of the packet and the interface number m3 Example Show the forwarding process if a packet arrives at R1 with the destination address 18.24.32.78 58 This time all masks are applied, one by one, to the destination address, but no matching network address is found. When it reaches the end of the table, the module gives the next-hop address 180.70.65.200 and interface number m2 to ARP. This is probably an out going package that needs to be sent, via the default router, to some place else in the Internet. CLASSFUL ADDRESSING ROUTING TABLE Example, the router receives a packet for destination 192.16.7.1. For each row, the mask is applied to the destination address until a match with the destination address is found. In this example, the router sends the packet through interface m0 (host specific). Example, the router receives a packet for destination 193.14.5.22. For each row, the mask is applied to the destination address until a match with the next-hop address is found. In this example, the router sends the packet through interface m2 (network specific). Example, the router receives a packet for destination 200.34.12.34. For each row, the mask is applied to the destination address, but no match is found. In this example, the router sends the packet through the default interface m0. 59 Autonomous systems Autonomous System (AS) Group of networks and routers under the authority of a single administration. Routers inside an autonomous system is referred to as interior routing (Intradomain). Routing between autonomous systems is referred to as exterior routing (Interdomain) Solid lines show the communication between routers that use interior routing protocols. Broken lines show the communication between routers that use an exterior routing protocols. 60 Interior and Exterior routing protocols 61 Each AS can choose one or more intradomain (interior) routing protocol to handle routing inside the AS such as RIP and OSPF One interdomain (exterior) routing protocol is usually chosen to handle routing between ASs ; BGP Metric of different protocols Metric is the cost assigned for passing through a network. RIP (Routing Information Protocol) “Shortest distance” 62 Cost of passing each network is same; it is one hop count. If a packet passes through 10 networks to reach the destination, the total cost is 10 hop counts. OSPF(Open Shortest Path First) The total metric of a particular router is equal to the sum of the metrics of networks that comprise the route. A router chooses the route with smallest metric. The metric assigned to each network depends on the type of protocol Administrator can assign cost for passing a network based on type of service required such as :throughput, delay,..etc. OSPF allows each router to have more than one routing table based on required type of service BGP(Border Gateway Protocol) Criterion is the policy, which is set by the administrator Routing Algorithm classification Routing algorithms can be 1. distance vector algorithms router knows physically-connected neighbors, link costs to neighbors, iterative process of computation, exchange of partial information with neighbors. The least cost between any two nodes is the route with minimum distance RIP is an implementation of this approach 2. link state algorithms 63 all routers have complete topology, link cost information OSPF is an implementation of this approach Distance Vector Routing Each node( router) maintains a set of triples (table): Destination, Cost, Next Hop) Directly connected neighbors exchange updates 64 Node knows the cost to each neighbor (the distance between itself and its immediate neighbors) periodically (on the order of several seconds -30s) whenever table changes (called triggered update) Each update is a list of pairs: Destination, Cost Update local table if receive a “better” rout (smaller cost) Distance vector routing 65 infinite ∞ ( unreachable). Think the node as the cities and the lines as the roads connecting them Distance vector routing 66 Sharing: Updating in distance vector routing Distance vector routing The least cost route between any two nodes is the route with min distance. Each node maintains a table which contains 67 Destination, Cost, Next hop Distance vector routing 1. Each router shares its entire routing table with its neighbors 2. Sharing Periodically update :on the order of several seconds -30s Triggered update: The change can result from the following A node receives a table from a neighbor, resulting in changes in its own table after updating. A node detects some failure in the neighboring links which results in a distance change to infinity ∞ 3. Each update is a list of pairs 68 Destination, Cost(two column routing table) Routing Information Protocol RIP implement Distance vector routing with some considerations Destination in the routing table is a network (first column defines network address) Metric(distance) is Hop count : is the number of networks that a packet encounters to reach its final destination Infinity is defined as value of 16 Therefore, the Max limited of hops is 15 suitable for small networks (local area environments) Router sends update message to neighbors every 30 sec. If router does not receive update message from neighbor X within this limit, it assumes the link to X has failed and sets the corresponding minimum cost to 16 (infinity) In distance vector routing, each node shares its routing table with its immediate neighbors periodically and when there is a change 69 RIP Routing table 70 Has one entry for each destination network of which the router is aware Each entry has destination network address, the shortest distance to reach the destination in hop count, and next router to which the packet should be delivered to reach its final destination Example Internetwork 71 Initial routing tables in a small AS 72 When a router is added to a network, it initializes a routing table for itself, using its configuration file The table consists only the directly attached networks and the hop counts, which are initialized to 1 The next-hop field, which identifies the next router, is empty Final routing tables 73 Each routing table is updated upon receipt of RIP messages using the RIP updating algorithm RIP Updating Algorithm Receive: a response RIP message(significant portion of its routing table) 1. Add one hop to the hop count for each advertised destination 2. Repeat the following steps for each advertised destination If (destination not in the routing table) Add the advertised information to the table Else If (next-hop field is the same) Replace entry in the table with the advertised one. Else If (advertised hop count smaller than one in the table) Replace entry in the routing table 74 Example of updating a routing table 75 Example Domain using RIP 76 Link State Routing Each node in the domain has the entire topology of the domain Analogous to a city map 77 Link State Routing Link-state routing works by having the routers tell every router on the network about state of its neighbors. 1) Sharing knowledge about the neighborhood Each router sends the state of its neighborhood to every other router in the area. 2) Sharing with every other router By flooding, a process whereby a router sends its information to all its neighbors (through all its output ports). Each neighbor sends the packet to all its neighbors, and so on. Every router that receives the packet sends copies to each of its neighbors. Eventually, every router (without exception) has received a copy of the same information 3) Sharing when there is a change; Only to its neighbors 4) The node can use Dijkstra Algorithm to build a routing table Metric 78 Administrator can assign the cost to each route. Based on type of service (minimum delay, maximum throughput, ..) Routing Data Distribution LSA-Updates are distributed to all other routers via Reliable Flooding Example: Flooding of LSA from 10.10.10.1 10.10.10.1 10.10.10.2 LSA ACK 10.10.10.4 LSA Update database 10.10.10.6 LSA ACK Update database Update database LSA 79 Update database Update database 10.10.10.2 10.10.10.5 79 OSPF 80 OSPF Based on Link state Routing OSPF divides an AS into areas. Special routers called autonomous system boundary routers are responsible for dissipating information about other ASs into the current system OSPF 81 Areas in an Autonomous System Area is a collection of networks, hosts, and routers all contained within an autonomous system. Routers inside an area flood the area with routing information. Area border routers Backbone area [Primary area] 82 Summarize the information about the area and send it to other routers All the areas inside an autonomous system must be connected to the backbone Routers in this area are called as backbone routers. This area identification number is 0. If, due to some problem, the connectivity between a backbone and an area is broken, a virtual link between routers must be created by the administration to allow continuity of the functions of the backbone as the primary area OSPF 83 Each router should have the exact topology of the internet at every moment (LSP). From this topology, a router can calculate the shortest path between itself and each network using Dijkstra algorithm Point-to-point Link 84 Connects 2 routers without any other router or host in between Directly connected routers using serial line. Only one neighbor. No need to assign a network address to this type of link The metrics are the same at the two ends Transient link A network with several routers attached to it. Each router has many neighbors. Lot of advertisements about their neighbors. One of the routers in the network has two duties 85 true router and designated router (network) Each router has only one neighbor, the designated router (network). On the other hand, the designated router (network) has five neighbors. Designated router represents a network. There exists a metric between each node to the designated router but there is no metric from the designated router to any other node. Stub Link A network that is connected to only one router The data packets enter the network through this single router and leave the network through this same Virtual Link 86 When the link between two routers is broken, the administration may create a virtual link between them, using a longer path that probably goes through several routers. Example of an internet & Graphical representation 87 Dijkstra Algorithm Calculates the shortest path between two points on a network, using a graph made up of nodes and edges. Algorithm divides the nodes into two sets 88 tentative and permanent It chooses nodes, makes them tentative, examines them, and if they pass the criteria, makes them permanent Dijkstra Algorithm 1. Start with the local node (router): the root of the tree. 2. Examine each neighbor node of the node that was the last permanent node 3. Assign a cost of 0 to this node and make it the first permanent node 4. Assign a cumulative cost to each node and make it tentative 5. Among the list of tentative nodes i. ii. Find the node with the smallest cumulative cost and make it permanent If a node can be reached from more than one direction. Select the direction with the shortest cumulative 6. Repeat steps 3 to 5 until every node becomes permanent 89 Example 1 Shortest-path calculation using Dijkstra 90 Example 1 Shortest-path calculation using Dijkstra 91 Example 1 Shortest-path calculation using Dijkstra 92 Example 1 Shortest-path calculation using Dijkstra Routing Table for Router A 93 Example 2 Shortest-path calculation using Dijkstra 94 Example 2 Shortest-path calculation using Dijkstra 95 Example 2 Shortest-path calculation using Dijkstra for Router A 96 OSPF Reaction to Failure If a link fails, Router sets link distance to infinity & floods the network with an update packet All routers immediately update their link database &recalculate their shortest paths Recovery very quick NOTE 97 OSPF differs from RIP in that each router knows the exact topology of the network OSPF reduces routing bandwidth usage OSPF is faster than RIP A physical link is dedicated between source and destination Data is sent out as stream of bits No packetization 98 Data are transmitted in discrete units (packets) Datagram approach Each packet is treated independently of all others Packet here is called datagram Datagrams might arrive at destination out of order Used in the Internet 99 Virtual Circuit Relationship between all packets belonging to a message is preserved A single route is chosen between sender and receiver at the beginning of the session Data are sent one after another WAN uses this approach which needs 10 0 Call setup to establish VC between sender and receiver Call teardown to delete the VC DHCP 10 1 Dynamic Host Configuration Protocol Designed to provide information dynamically It is a client-server program Used to assign addresses to hosts dynamically ARP: 102