1 / 57

Addressing

Addressing. The ‘What’ and ‘Where’ of Communication. Addressing. Addressing is necessary for any communication To talk: Appearance, name, … To call: Telephone numbers To mail: Postal address To visit: Postal address + directions To E-Mail: E-Mail addresses

metea
Télécharger la présentation

Addressing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Addressing The ‘What’ and ‘Where’ of Communication

  2. Addressing • Addressing is necessary for any communication • To talk: Appearance, name, … • To call: Telephone numbers • To mail: Postal address • To visit: Postal address + directions • To E-Mail: E-Mail addresses • To instant message: ICQ#, AIM ID, etc. • These ‘addresses’ allow us to uniquely identify the entity with which we wish to communicate

  3. Addressing a la Shoch • Name/Identifier: What • Names normally identify the entity • If an entity moves, the name/identity will remain the same • Address: Where • Addresses identify the location of the entity • If an entity moves, the address will change • Route: How to get there • Routes identify the path to get to an entity • If an entity moves, the route will change

  4. Addressing • Addressing deals with how to define an entity’s location (uniquely) • Addressing is necessary for message delivery • An address is the start and end point for the route • However, routing is another subject • Where do we want the message to go?

  5. Addresses • We have already seen MAC addresses (for Ethernet and some other LANs): • e.g. 02-60-8C-08-E1-0C • 6 octet address • Globally unique • Defined statically by the hardware manufacturer • Most people are familiar with the IP addresses used by TCP/IP networks: • e.g. 137.207.32.2 • 4 octet address • Not necessarily globally unique • Defined dynamically by DHCP servers or negotiated by the operating system

  6. IP Addressing A Closer Look

  7. IP Addresses • TCP/IP networks use IP for the network layer protocol • IP defines 4 octet addresses • 4 billion possible addresses • Usually written in the form A.B.C.D • A, B, C, and D are each 1 octet (0-255), normally written in decimal notation • Thus, IP addresses fall in the range: 0.0.0.0 – 255.255.255.255

  8. IP Addresses • Originally intended for separate internets (interconnected LANs) • Thus, the 32 bit size was not a concern • 48 bits is generally considered a fairly safe size for globally unique addressing • Computers connected to ARPANET (and later incarnations) were just given consecutive addresses 1.0.0.0, 1.0.0.1, 1.0.0.2, …

  9. IP Addresses • Any computer connected to a TCP/IP network (e.g. the Internet) must have an IP address • Further, any network interface card (NIC) using TCP/IP to access an network (e.g. the Internet) must have a different IP address

  10. IP Addresses • Even though there are 4 billion possible IP addresses, they are running out • Here’s why: • Some of the bits are dedicated to header information (discussed later) • ½ the addresses for each lost bit • Addresses are categorized, and some of the categories are running out of addresses (while others are not)

  11. Non-Classed Addresses • Part of the address represented the network the computer resided on, and part represented the computer itself • Network: 7 bits (up to 128 networks) • Computer: 24 bits (up to 1.6 million computers on each network) • Since there were very few networks on ARPANET originally, this wasn’t a problem

  12. Address Classes • When private organizations started joining the Internet, the needs became obvious • Some (fewer) networks have multitudes of computers (thousands) • e.g. The @Home network • Some (many) networks have very few computers (a few hundred or less) • e.g. The Windsor Police Department

  13. Address Classes • Quickly, the addresses were separated into 3 classes (plus room for more classes if needed): • Class A: Fewer networks, many nodes • Class B: Medium networks, medium nodes • Class C: Many networks, fewer nodes

  14. IP Address Classes Class A: bit index: 0 1-7 8-31 0 network host (machine) Class B: bit index: 0 1 2-15 16-31 1 0 network host Class C: bit index: 0 1 2 3-23 24-31 1 1 0 network host

  15. IP Address Classes • Class A: • Range: 1.0.0.0 – 126.0.0.0 • Networks: 128 max, Machines: 65537-1.6 million • e.g. huge networks, such as large military/government organizations (e.g. FBI), the @Home network, etc… • Class B: • Range: 128.1.0.0 – 191.255.0.0 • Networks: 16384 max, Machines: 257-65536 • e.g. Internet service providers (ISPs) (dial-up) • Class C: • Range: 192.1.0.0 – 223.255.255.0 • Networks: 2 million max, Machines: 1-256 • e.g. Small businesses

  16. IP Address Classes • The IP address classes are self-identifying • Which means that given the address, you can determine what class an address is • Actually, using only the first number • Examples: • 137.207.32.2 (server.uwindsor.ca) • 137 -> Class B • 24.0.0.1 (@Home DHCP server) • 24 -> Class A

  17. Other IP Address Classes Class D: bit index: 0 1 2 3 4-31 1 1 1 0 Multicast group address • These addresses are used to represent multicast groups • Discussed later Class E: bit index: 0 1 2 3 4 5-31 1 1 1 1 0 Reserved for future use • These addresses were left open to be used and divided into classes as needed

  18. Special IP Addresses • 0.0.0.0: Used to indicate that this machine is without an assigned IP • Used during bootstrapping (e.g. requesting an IP from a DHCP server) • <all 0s (binary)><hostID>: Used to send messages to some machine on this network • 255.255.255.255: Used to send broadcast messages across this machine’s network • <netID><all 1s (binary)>: Used to send broadcast messages to the specified network • 127.0.0.1: Used to send messages back to this machine (called loopback or localhost)

  19. IP Addressing Comments • In IP addressing: • 0’s usually represent ‘this’ • 1’s usually represent ‘all’ • Broadcasting, although discussed here in terms of addressing, will be discussed further

  20. Loopback • The 127.0.0.1 address, does not normally exist on the network • Either as the source address or destination address of a packet • The address is used internally by NICs • When a NIC receives a message addressed with 127.0.0.1 to be transmitted, it passes the message directly to the receiver hardware • The receiver hardware returns the message to the operating system exactly as if the message were received from the network • However, the message never entered the network medium

  21. Internal IP Addresses • Depending on the address class needed by an organization, a range of internal addresses is available: • Class A: 10.0.0.0 – 10.255.255.255 • Class B: 172.16.0.0 – 172.31.255.255 • Class C: 192.168.0.0 – 192.168.255.255 • IP routers outside a private (connection-shared) network, will not forward datagrams designated for addresses in these ranges

  22. Multi-homed Machines • There is no restriction preventing machines from participating in multiple networks • A machine could have multiple NICs • Each NIC would have its own MAC address • On TCP/IP networks, each of these NICs would be given a different IP address

  23. M M M M M M Multi-homed Machines 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.8 192.168.0.4 Class C private network M M M M M M M 192.168.0.7 M 192.168.0.6 192.168.0.5 172.16.3.16 172.16.3.15 172.16.3.14 172.16.3.17 M M 172.16.3.18 Class B private network 172.16.0.1 172.16.0.2 172.16.0.3 172.16.0.4

  24. Multi-homed Machines 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.8 192.168.0.4 Class C private network 192.168.0.7 192.168.0.6 192.168.0.5 172.16.3.16 172.16.3.15 172.16.3.14 172.16.3.17 172.16.3.18 Class B private network 172.16.0.1 172.16.0.2 172.16.0.3 172.16.0.4

  25. Routers • Routers are multi-homed machines • They have a number of network ports, each of which represents a different path • Routers use tables that relate destinations to network paths • Internet routers relate destination network addresses with one of their network ports • When a datagram arrives at a router: • Its destination address is used to determine the network address • The network address is used to look up the destination port in the routing table

  26. Network Addresses • An IP address can be used to calculate the address of the network • The machine address is passed through a filter (called a subnet filter): • This filter extracts the bits of the address that represent the network and sets the bits that represent the machine to zero • The filter determines which part of the address represent the network address, by using the subnet mask

  27. Subnet Mask • The subnet mask is a binary number, that has 0s in the machine portion of the address, and 1s in the network portion • Most networks of each type use a constant subnet mask • Class A: 255.0.0.0 (Binary: 11111111000000000000000000000000) • Class B: 255.255.0.0 (Binary: 11111111111111110000000000000000) • Class C: 255.255.255.0 (Binary: 11111111111111111111111100000000)

  28. Using Subnet Masks • Example: • Address: 137.207.32.2 • Subnet Mask: 255.255.0.0 Address: 10001001110011110010000000000010 Mask: 11111111111111110000000000000000 Net Address: 10001001110011110000000000000000 • Network address: 137.207.0.0

  29. Routing in Action Internet Network N1 (Class B) Address: 137.207.0.0 P4 P1 P2 P3 Network N2 (Class C) Address: 194.201.61.0 Network N3 (Class A) Address: 24.0.0.0

  30. IPv6 Next Generation Addressing in TCP/IP Networks

  31. IPv6 • Due to the limited nature of existing IP addressing (IPv4), a new version of IP addressing was developed • This new scheme uses 16 octets for addresses, instead of 4 octets • Written using hex notation: 3A57:0000:0000:9CD5:3412:912D:6738:1928

  32. IPv6 Features • 16 octet addresses (128 bits) • Larger numbers of address classes • More accurate control of network/machine counts • Variable-sized headers • Optional information can be placed into the header when needed • Reduces header size in most cases • Extendible protocol • IPv6 allows for new header information to be added to support different protocols

  33. IPv6 Features • Automatically reconfigurable • Addresses can be automatically reassigned dynamically • e.g. when a certain number of nodes join the network, a different address class may be desired • Autoconfigurable • The use of autoconfiguration (such as DHCP) allows dynamic private addressing and dynamic public addressing

  34. IPv6 Datagram Format optional header extension headers data

  35. IPv6 Header Format 0 4 12 31 version traffic class flow label 32 48 56 63 payload length next header hop limit 64 96 128 source address destination address

  36. IPv6 Integration • Will IPv6 replace IP addresses? • Who knows? • Currently, temporary solutions have made IPv4 addresses capable of lasting longer than originally predicted • If and when IPv6 is to be integrated, the process must be a transition • Closing the entire Internet down to convert hardware and software to IPv6 not going to happen • Some stations may take longer to transition than other stations • e.g. Bob’s Internet Shack vs. the Telus Network

  37. IPv6 Integration • NAT (network address translators) provide one example of such a temporary solution • NATs provide three benefits: • NATs provide IP masquerading • Messages using these addresses pass through a network address translator (NAT) to be transformed into external IPs • NATs provide IP sharing • ISPs for example, have many customers, but significantly less at any given time are logged onto their system • IP addresses can be assigned dynamically to these customers when they log in • NATs provide schemes to allow networks to use either IPv4 or IPv6 • Addresses would be converted as they pass through a NAT

  38. IPv6 Integration • Another method that may be used for the transition between IPv4 and IPv6 is address inclusion: • IPv4 addresses could be embedded into IPv6 addresses • Translation between the two types of addresses is possible without any other information • Some problems exist with this approach, but in general it simplifies communication between IPv6 networks and IPv4

  39. Special IPv6 Addresses • 0:0:0:0:0:0:0:0 Used to indicate that this machine is without an assigned IP • Used during bootstrapping (e.g. requesting an IP from a DHCP server) • 0:0:0:0:0:0:0:1 Used to send messages back to this machine (called loopback) • These two addresses are not valid on the actual network medium (same as with IPv4) • 00:… Reserved (including IPv4 and IPX address inclusion) • FF:… Multicast addresses

  40. IPX Internetwork Packet Exchange Addresses

  41. IPX • IPX was originally created to replace IP • In reality, it is used primarily on LANs • In conjunction with the SPX protocol, formed one of the two protocol suites used in Netware networks • SPX is to TCP, what IPX is to IP • Still can be (although rarely is) used today in Windows networks

  42. IPX Addresses • IPX uses a 2 component address (like IP): • The network portion (4 octets) • The machine portion (6 octets) • Unlike IP, these sizes are constant • So there are no IPX address classes • IPX uses sizes large enough to accommodate all categories of networks

  43. IPX Addresses • The network portion of an IPX address is 4 octets (32 bits) • This allows for 4.29*109 networks (4 billion) • This is almost enough for everyone on earth to have their own network • The machine portion of an IPX address is 6 octets (48 bits) • This allows for 2.81*1014 machines on each network (281,475 trillion)

  44. IPX Addresses • The scalability of IPX addresses is not their only benefit • The constant size of the network and machine address portions simplifies extracting each portion • As a result, machines that process IPX networks can process IPX datagrams more quickly • Such as network nodes, routers, etc.

  45. IPX Addresses • Why 48 bits for the machine portion? • 48 bits allows for way too many machines, more than will be needed for many years • By the time machine IDs run out, network hardware and software will have been obsolete by many years! • Using 48 bits allows hardware to use the machine’s MAC address as the machine portion • This makes auto-configuration (dynamic IPX address assignment) easier/faster

  46. IPX Addresses • If IPX has been around since the NetWare days, why don’t we use it for the Internet, instead of IP? • Good question! Why don’t we? • Frankly, IPX has a bad reputation, because initially it was used with SPX and other bandwidth-munching protocols • IPX can be used in conjunction with TCP (TCP/IPX), and it would make an excellent replacement for TCP/IP • However, standards organizations (e.g. ISO) want to use the protocols they develop, and not ones developed by corporations, such as Novell

  47. Fragmentation & Reassembly • Packets can arrive out of order in connectionless networks • Packets must be reordered during reassembly • During fragmentation, the portion of data that each fragment represents must be identified • Since the length of a packet’s data can always be determined, all that is necessary is to use the offset of the start of the packet’s data in the larger data chunk

  48. Fragmentation & Reassembly 0 1500 3000 4500 6000 6800 Logical Data Chunk Length:1500 Length:1500 Length:1500 Length:1500 Length:800 Offset:0 Offset:1500 Offset:3000 Offset:4500 Offset:6000 Packet 1 Packet 2 Packet 3 Packet 4 P5

  49. Fragmentation & Reassembly • Why do we use the data offset, and not just a sequence of numbers to determine packet order? • Sometimes, packets can be fragmented at one location, and must be re-fragmented at another location (such as while passing through a network incompatible with larger frame sizes) • These situations would require renumbering of all packets in the sequence, which is not always possible

  50. Fragmentation & Reassembly Length:1500 Length:1500 Length:1500 Length:1500 Length:800 Offset:0 Offset:1500 Offset:3000 Offset:4500 Offset:6000 Packet 1 Packet 2 Packet 3 Packet 4 P5 Packet 1 Packet 2 P3a P3b Packet 4 P5 Length:1000 Length:500 Offset:3000 Offset:4000

More Related