320 likes | 422 Views
Business Data Communications. Addressing at the NL and TL. Review: Addressing at the DLL. DLL addresses are generally assigned to physical devices when they are manufactured. Expressed in hexadecimal. An Ethernet address example: 00-0C-00-F5-03-5A
E N D
Business Data Communications Addressing at the NL and TL
Review: Addressing at the DLL • DLL addresses are generally assigned to physical devices when they are manufactured. • Expressed in hexadecimal. • An Ethernet address example: 00-0C-00-F5-03-5A • DLL addresses identify hardware on a network.
Addressing at the NL and TL • NL addresses are logical concepts. • They uniquely identify sources and destinations but not necessarily specific machines. • They are mapped to hardware addresses but not permanently. They can be changed.
The IP Address – IPv4 • Example: 127.61.17.24 • It represents a long binary number divided into four parts. • Each part is of eight bits so each part can assume the values 0-255 since binary 00000000 = 0 and binary 11111111 = 255. • Called a “dotted quad”. • Remember, computers can only deal with bits! • How many bits does this address represent? How ever many, it’s not enough…
Address classes • There is a large but finite number of addresses in this scheme. So some organization is necessary. • We can use the first bit to split all possible addresses into two groups. • 00000000.00000000.00000000.00000000 to 01111111.11111111.11111111.11111111 • 10000000.00000000.00000000.00000000 to 11111111.11111111.11111111.11111111
Address classes - A • Consider the first group: • 00000000.00000000.00000000.00000000 to 01111111.11111111.11111111.11111111 • In decimal that is 0.0.0.0 to 127.255.255.255. • These addresses are called class “A”. • About half of all possible addresses are of this class. • There are some other rules we’ll consider later.
Address classes • Now consider that second group • These are the ones that all start with 1. • 10000000.00000000.00000000.00000000 to 11111111.11111111.11111111.11111111 • Let us divide all these possible addresses into two groups by using the second bit, giving… • 10000000.00000000.00000000.00000000 to 10111111.11111111.11111111.11111111 • 11000000.00000000.00000000.00000000 to 11111111.11111111.11111111.11111111
Address classes - B • Consider the first of these groups: • 10000000.00000000.00000000.00000000 to 10111111.11111111.11111111.11111111 • In decimal that is 128.0.0.0 to 191.255.255.255. • These addresses are called class “B”. • About one fourth of all possible addresses are of this class (half of half).
Address classes • Now consider that secondsecond group • These are the ones that all start with 11. • 11000000.00000000.00000000.00000000 to 11111111.11111111.11111111.11111111 Let us divide all these possible addresses into two groups by using the third bit, giving… • 11000000.00000000.00000000.00000000 to 11011111.11111111.11111111.11111111 • 11100000.00000000.00000000.00000000 to 11111111.11111111.11111111.11111111
Address classes - C • Consider the first of these groups: • 11000000.00000000.00000000.00000000 to 11011111.11111111.11111111.11111111 • In decimal that is 192.0.0.0 to 223.255.255.255. • These addresses are called class “C”. • About one eighth of all possible addresses are of this class (half of half of half).
Address classes – other • Finally, consider the second of these groups: • 11100000.00000000.00000000.00000000 to 11111111.11111111.11111111.11111111 • In decimal that is 224.0.0.0 to 255.255.255.255. • These are the other class addresses that are not in general use.
Address Classes Summary • The first bit distinguishes Class A from the rest. Class A addresses start with 0. • 00000000.00000000.00000000.00000000 to 01111111.11111111.11111111.11111111 • Class B addresses start with 1. The second bit, being 0, distinguishes Class B, from the rest. • 10000000.00000000.00000000.00000000 to 10111111.11111111.11111111.11111111 • Class C addresses start with 11. The third bit, being 0, distinguishes Class C from the rest. • 11000000.00000000.00000000.00000000 to 11011111.11111111.11111111.1111111
Assigned Class Addresses • So we have this huge range of addresses called “Class A” to assign to people… • 00000000.00000000.00000000.00000000 to 01111111.11111111.11111111.11111111 • Q: How do we organize this? • A: The number assigning authority decrees that it will assign addresses by fixing the first byte and letting you play with the rest how you will.
Assigned Class Addresses • Class A addresses: 1st byte is assigned to you. • Class B addresses: First 2 bytes are assigned to you. • Class C addresses: First 3 bytes are assigned to you. • Here’s a sample Class A address: 115.x.x.x. • You know it’s class A because of the value of the first byte. • The values of the other three bytes are up to you to assign to the devices on your network.
Assigned Class Addresses • Class B addresses: First 2 bytes are assigned to you. • Here’s a sample Class B address: 152.15.x.x. • You know it’s class B because of the value of the first byte. • The values of the other two bytes are up to you to assign to the devices on your network
Assigned Class Addresses • Class C addresses: First 2 bytes are assigned to you. • Here’s a sample Class B address: 200.18.12.x. • You know it’s class C because of the value of the first byte. • The values of the last byte are up to you to assign to the devices on your network.
Subnetting • Just as the IANA divides up all the available addresses in a class by assigning fixed values to bytes, we can do the same within our own allocation of addresses. • How we do this would depend on how many subnets we wanted to create in our network. • Maybe subnet by department or building or floor or whatever…
Subnetting • For example, if we’re given the class B address 152.15.x.x, we have two bytes to play with mostly however we want. • It’s up to us to divide those bytes among subnets and the actual equipment on the network, called hosts. • We denote the use of bytes using the letters n(etwork), s(ubnet), and h(ost). • 152.15.x.x goes to nnnnnnnn.nnnnnnnn.xxxxxxxx.xxxxxxxx (for now)
Subnetting 152.15.x.x • We control all addresses from 152.15.0.0 to 152.15.255.255! Woohoo! • Assume the extreme case – we don’t want to subdivide our addresses. We denote this: • nnnnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh. • This means that, on our one big network, we can have host addresses from x.x.0.0 to x.x.255.255, only you can’t have a host address of all 0s or all 1s so it’s really x.x.0.1 to x.x.255.254. (Hosts of all 0s and all 1s have special uses.)
Subnetting 152.15.x.x • Assume that we wanted to divide our network into two subnets. We could do this by using the first bit of the bytes that we control. We denote this: • nnnnnnnn.nnnnnnnn.shhhhhhh.hhhhhhhh. • Setting this bit to 1 or 0 enables us to divide our addresses into two groups. This is the same system used to create classes.
Subnetting 152.15.x.x • Subnet one is: • 152.15.0.1 to 152.15.127.254. • Subnet two is: • 152.15.128.1 to 152.15.255.254 • Remember that you can’t have hosts of all 0s or all 1s so 0 and 255 are right out.
Subnetting 152.15.x.x • Assume that we wanted to divide our network into four subnets. We could do this by using the first two bits of the bytes that we control. We denote this: • nnnnnnnn.nnnnnnnn.sshhhhhh.hhhhhhhh. • Setting these bits to 00, 01, 10, or 11 enables us to divide our addresses into four groups.
Subnetting 152.15.x.x • Subnet one is: • 152.15.0.1 to 152.15.63.254. • x.x.00000000.00000001 to x.x.00111111.11111110 • Subnet two is: • 152.15.64.1 to 152.15.127.254 • x.x.01000000.00000001 to x.x.01111111.11111110 • Subnet three is: • 152.15.128.1 to 152.15.191.254 • x.x.10000000.00000001 to x.x.10111111.11111110 • Subnet four is: • 152.15.192.1 to 152.15.255.254 • x.x.11000000.00000001 to x.x.11111111.11111110
Subnetting 152.15.x.x • Consider our class B address 152.15.x.x. • We decide to use five of the bits to designate subnets: • Nnnnnnnn.nnnnnnnn.ssssshhh.hhhhhhhh • This gives us 25 or 32 subnets. • Each subnet has 211 – 2 or 2046 host addresses. • 32 x 2046 = 65,472 total addresses.
Subnetting 152.15.x.x • Consider our class B address 152.15.x.x. • We decide to use seven of the bits to designate subnets: • Nnnnnnnn.nnnnnnnn.sssssssh.hhhhhhhh • This gives us 27 or 128 subnets. • Each subnet has 29 – 2 or 510 host addresses. • 128 x 510 = 65,280 total addresses.
Subnet masking – basic concept • A mask is a bit pattern that we can use to indicate which parts are shared, are the same, among a group of IP addresses. This would indicate that those addresses are on the same part of the network. • A mask is an IP-address-like thing created by comparing the bits of two IP addresses, starting from the left. As long as the bits in the same position (1st, 2nd, etc) are alike, the corresponding bit in the mask is set to one. But the first time they differ, the corresponding bit in the mask is set to 0 and so are all the remaining bits in the mask.
Subnet masking – basic concept • For example, given two addresses, 152.15.12.9 and 152.15.46.48, we can create a mask that would accommodate them: • 1011000.00001111.00001100.00001001 • 1011000.00001111.00101110.00110000 • The mask would be: • 1111111.11111111.11000000.00000000 • or 255.255.192.0
Subnet masking – class mask • Given that mask, 255.255.192.0, why is it not surprising that the first two bytes are both 255? • Because these two addresses belong to the same class B network address! • The mask for two addresses that are part of the same class B network address will always begin with 255.255! • And the mask for two addresses that are part of the same class A network address will always begin with 255. • And the mask for two addresses that are part of the same class C network address will always begin with 255.255.255. • This is called the class mask. Easy to see from the first byte.
Subnet masking – network mask • To addresses that are on the same subnet, will share another set of bits in common – those that you decided to use to designate subnets. • Consider that you decided to use seven of the bits to designate subnets: • nnnnnnnn.nnnnnnnn.sssssssh.hhhhhhhh • The mask that identifies your subnets must be: • 11111111.11111111.11111110.00000000 • or 255.255.254.0
Subnet masking – use • A network manager wants to allow access to a file server only to requests that come from within the company’s network. The company has been given a class C address of 220.121.10.X. • The mask is 255.255.255.0 because it is a class C address. • The firewall can simply compare all source addresses of requests to its own address, say 220.121.10.1 using the mask. So, given a request from 220.121.12.2: • 11011100.01111001.00001100.00000010 = 220.121.12.2 • 11011100.01111001.00001010.00000001 = 220.121.10.1 • 11111111.11111111.11111111.00000000 = 255.255.255.0 • yyyyyyyy.yyyyyyyy.yyyyynxx.xxxxxxxx = fails!
Subnet masking – use • The same guy wants to allow access to a file server only to requests that come from within a certain department that owns the firewall. The company has been given a class C address of 220.121.10.X and uses the first two bits to designate subnets. • The mask is 255.255.255.192. The first three bytes are the class mask. 192 comes from the use of the first two bits of the fourth byte to designate subnets. • The firewall can simply compare all source addresses of requests to its own address, say 220.121.10.130 using the mask. So, given a request from 220.121.10.12: • 11011100.01111001.00001010.10000010 = 220.121.10.130 • 11011100.01111001.00001010.00001100 = 220.121.10.12 • 11111111.11111111.11111111.11000000 = 255.255.255.192 • yyyyyyyy.yyyyyyyy.yyyyyyyy.nxxxxxxx = fails!
IPv6 • The problem with IPv4 is that there are not enough addresses. • IPv6 addresses this by providing long addresses, hence more potential addresses. • Downward compatible with IPv4.