addressing

58
Addressing The ‘What’ and ‘Where’ of Communication

Upload: vikramsimhareddy

Post on 11-Feb-2016

214 views

Category:

Documents


0 download

DESCRIPTION

Its about communication protocols ans Computer networks

TRANSCRIPT

Page 1: Addressing

Addressing

The ‘What’ and ‘Where’ of Communication

Page 2: Addressing

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

Page 3: Addressing

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

Page 4: Addressing

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?

Page 5: Addressing

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

Page 6: Addressing

IP Addressing

A Closer Look

Page 7: Addressing

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

Page 8: Addressing

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, …

Page 9: Addressing

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

Page 10: Addressing

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)

Page 11: Addressing

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

Page 12: Addressing

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

Page 13: Addressing

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

Page 14: Addressing

IP Address Classes

00

bit index: 1-7network

8-31host (machine)

Class A:

Class B:0

02-15

network16-31host1

1bit index:

Class C:0

13-23

network24-31host1

1bit index:02

Page 15: Addressing

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

Page 16: Addressing

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

Page 17: Addressing

Other IP Address Classes

0 1 2 31 1 1 0

bit index:Multicast group address

4-31Class D:

Class E:0 1 2 3 4 5-31

Reserved for future use1 1 1 1 0bit index:

•These addresses are used to represent multicast groups•Discussed later

•These addresses were left open to be used and divided into classes as needed

Page 18: Addressing

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)

Page 19: Addressing

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

Page 20: Addressing

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

Page 21: Addressing

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

Page 22: Addressing

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

Page 23: Addressing

Multi-homed Machines

Class B private network

Class C private network

172.16.0.1 172.16.0.2 172.16.0.3 172.16.0.4

172.16.3.14172.16.3.15172.16.3.16172.16.3.17

172.16.3.18

192.168.0.1 192.168.0.2 192.168.0.3

192.168.0.4

192.168.0.5192.168.0.6192.168.0.7

192.168.0.8

MMM

M

M

M

M

M

MMMMMMMM

Page 24: Addressing

Multi-homed Machines

Class B private network

Class C private network

172.16.0.1 172.16.0.2 172.16.0.3 172.16.0.4

172.16.3.14172.16.3.15172.16.3.16172.16.3.17

172.16.3.18

192.168.0.1 192.168.0.2 192.168.0.3

192.168.0.4

192.168.0.5192.168.0.6192.168.0.7

192.168.0.8

Page 25: Addressing

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

Page 26: Addressing

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

Page 27: Addressing

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)

Page 28: Addressing

Using Subnet Masks

Example:– Address: 137.207.32.2– Subnet Mask: 255.255.0.0

Address: 10001001110011110010000000000010Mask: 11111111111111110000000000000000Net Address: 10001001110011110000000000000000 Network address: 137.207.0.0

Page 29: Addressing

Routing in Action

Network N1 (Class B)Address: 137.207.0.0

Network N2 (Class C)Address: 194.201.61.0

Network N3 (Class A)Address: 24.0.0.0

Internet

137.207.0.0 P1

194.201.61.0 P2

24.0.0.0 P3

* P4

P4P1

P2 P3

Page 30: Addressing

IPv6

Next Generation Addressing in TCP/IP Networks

Page 31: Addressing

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

Page 32: Addressing

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

Page 33: Addressing

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

Page 34: Addressing

IPv6 Datagram Format

header extension headers data

optional

Page 35: Addressing

IPv6 Header Format

version traffic class flow label

0 4 12 31

payload length hop limitnext header

32 48 56 63

source address destination address

64 96 128

Page 36: Addressing

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

Page 37: Addressing

IPv6 Integration NAT (network address translators) provide one

example of such a temporary solution NATs provide three benefits:

1. NATs provide IP masquerading• Messages using these addresses pass through a network

address translator (NAT) to be transformed into external IPs2. 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

3. NATs provide schemes to allow networks to use either IPv4 or IPv6

– Addresses would be converted as they pass through a NAT

Page 38: Addressing

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

Page 39: Addressing

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

Page 40: Addressing

IPX

Internetwork Packet Exchange Addresses

Page 41: Addressing

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

Page 42: Addressing

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

Page 43: Addressing

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)

Page 44: Addressing

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.

Page 45: Addressing

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

Page 46: Addressing

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

Page 47: Addressing

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

Page 48: Addressing

Fragmentation & Reassembly

Logical Data Chunk

Packet 1 Packet 2 Packet 3 Packet 4 P5

0 1500 3000 4500 6000 6800

Offset:0 Offset:1500 Offset:3000 Offset:4500 Offset:6000Length:1500 Length:1500 Length:1500 Length:1500 Length:800

Page 49: Addressing

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

Page 50: Addressing

Fragmentation & Reassembly

Packet 1 Packet 2 Packet 3 Packet 4 P5

Offset:0 Offset:1500 Offset:3000 Offset:4500 Offset:6000Length:1500 Length:1500 Length:1500 Length:1500 Length:800

Packet 1 Packet 2 P3a Packet 4 P5

Offset:3000Length:1000

P3b

Offset:4000Length:500

Page 51: Addressing

Fragmentation & Reassembly

Re-fragmentation (at gateways, routers, …) is expensive– The re-fragmenting node must process each

packet, fragmenting it into smaller packets– Another reassembling node must collect these

packets and assemble them into larger packets– Each of these operations involved memory

processing, which is expensive when applied to many packets per second

Page 52: Addressing

Fragmentation & Reassembly

Re-fragmentation (particularly in routers) should be avoided at all costs– To virtually eliminate re-fragmentation in a network,

the maximum transmission unit (MTU) should be determined and used as the packet size

– A network’s MTU is the largest size that can be used for packets that will not result in any re-fragmentation by any routers, or other multi-homed nodes

– Schemes for determining the MTU dynamically have been developed, but are beyond the scope of this course

Page 53: Addressing

IP Datagrams

IP datagrams are packets sent over IP networks using connectionless messaging

Datagrams can be used directly within network-capable programs by sending datagrams via UDP (user datagram protocol)

Datagrams are used transparently by TCP to provide connection-based transport

Page 54: Addressing

IP Datagramsbits Name Description Used For4 Version Version (equal to 4) All

4 IHL Header length All

8 TOS Type of Service (obsolete) -

16 Length Total length of datagram (header included) All

16 ID Identifier: used in reassembly to identify packets Reassembly

1 DF Should the datagram be re-fragmented, if necessary? Routers (re-frag)

1 MF Are there more fragments in the sequence? Reassembly

13 Offset Offset of data that this datagram represents Reassembly

8 TTL Hop limit Routers

8 Protocol Transport protocol used for this packet (UDP, TCP) Acknowledgement

16 Checksum Checksum of the header All

32 SA Source address All

32 DA Destination address All

? Options Future features -

? Padding Fills remaining space -

Page 55: Addressing

IP Datagram Routing

When an IP-enabled router receives a datagram, it:– Receives a datagram through one of its ports– Deletes the datagram, if the hop count (TTL in IPv4, Hop limit

in IPv6) has a non-positive value– If the hop count is positive, it is decremented and processing

continues– Determine the destination address’ network address– Uses the destination network address to find an entry in the

routing table– Uses the routing table entry to determine to which port the

datagram should be sent– Sends the datagram through the correct port

Page 56: Addressing

IPv6 Datagrams

bits Name Description Used For4 Version Version (equal to 6) All

8 TOS Type of Service (status info) All

20 Flow label Future features -

16 Length Length of data in the datagram (header not included) All

8 Hop limit Hop limit (decremented to zero) Routers

16 SA Source address All

16 DA Destination address All

? H2H Hop to hop header Routing

? SRH Source routing header Routing

? FH Fragment header Reassembly

? E2E End to end options Reassembly

Page 57: Addressing

Header Checksums

Networks sometimes result in corrupt data Information in the header is equally susceptible to this

corruption However, header information, when corrupt, can cause

more serious difficulties– For example, the destination address may have a few bits

changed, or the hop count, etc.– Corruption like this, is not always easy to detect and fix– Corrupt data (determined by another checksum) can be fixed by

re-issuing the datagram– Header checksums are used to ease identification of header

corruption

Page 58: Addressing

For More materials,previous papers,text books & many more visit www.jntuworld.com