No Slide Title

Download Report

Transcript No Slide Title

Introduction to Computer
Networks
CMPE 150
Fall 2005
Lecture 25
CMPE 150- Introduction to Computer Networks
1
Announcements
• Homework 4 due today by midnight.
• No class on Friday, 11.25.05.
• IMPORTANT: No lab tonight.
– Make up lab session next week.
• Final exam: December 7th. 4-7pm
– In class.
– Closed books/notes.
• Course evaluation.
– Need volunteers!
• CE 151 will be offered in Winter 06!
CMPE 150- Introduction to Computer Networks
2
Today
• IP (Cont’d).
CMPE 150- Introduction to Computer Networks
3
IP (Internet Protocol)
• Glues Internet together.
• Common network-layer protocol spoken
by all Internet participating networks.
• Best effort datagram service:
– No reliability guarantees.
– No ordering guarantees.
CMPE 150- Introduction to Computer Networks
4
IP Versions
• IPv4: IP version 4.
– Current, predominant version.
– 32-bit long addresses.
• IPv6: IP version 6 (aka, IPng).
– Evolution of IPv4.
– Longer addresses (16-byte long).
CMPE 150- Introduction to Computer Networks
5
IP Datagram Format
• IP datagram consists of header and data (or
payload).
• Header:
– 20-byte fixed (mandatory) part.
– Variable length optional part.
CMPE 150- Introduction to Computer Networks
6
The IP v4 Header
CMPE 150- Introduction to Computer Networks
7
IP Options
5-54
CMPE 150- Introduction to Computer Networks
8
IP Addresses
• IP address formats.
CMPE 150- Introduction to Computer Networks
9
IP Addresses (Cont’d)
• Class A: 128 networks with 16M hosts each.
• Class B: 16,384 networks with 64K hosts
each.
• Class C: 2M networks with 256 hosts each.
• More than 500K networks connected to the
Internet.
• Network numbers centrally administered by
ICANN.
CMPE 150- Introduction to Computer Networks
10
IP Addresses (Cont’d)
• Special IP addresses.
CMPE 150- Introduction to Computer Networks
11
Scalability of IP Addresses
• Problem: a single A, B, or C address refers to
a single network.
• As organizations grow, what happens?
CMPE 150- Introduction to Computer Networks
12
Example: A Campus Network
CMPE 150- Introduction to Computer Networks
13
Solution
• Subnetting: divide the organization’s address
space into multiple “subnets”.
• How? Use part of the host number bits as the
“subnet number”.
• Example: Consider a university with 35
departments.
– With a class B IP address, use 6-bit subnet
number and 10-bit host number.
– This allows for up to 64 subnets each with
1024 hosts.
CMPE 150- Introduction to Computer Networks
14
Subnets
• A class B network subnetted into 64 subnets.
CMPE 150- Introduction to Computer Networks
15
Subnet Mask
• Indicates the split between network and subnet
number + host number.
Subnet Mask: 255.255.252.0 or
/22 (network + subnet part)
CMPE 150- Introduction to Computer Networks
16
Subnetting: Observations
• Subnets are not visible to the outside world.
• Thus, subnetting (and how) is a decision
made by local network admin.
CMPE 150- Introduction to Computer Networks
17
Subnet: Example
• Subnet 1: 10000010 00110010 000001|00 00000001
– 130.50.4.1
• Subnet 2: 10000010 00110010 000010|00 00000001
– 130.50.8.1
• Subnet 3: 10000010 00110010 000011|00 00000001
– 130.50.12.1
CMPE 150- Introduction to Computer Networks
18
Problem with IPv4
• IPv4 is running out of addresses.
• Problem: class-based addressing scheme.
– Example: Class B addresses allow 64K hosts.
• More than half of Class B networks have fewer
than 50 hosts!
CMPE 150- Introduction to Computer Networks
19
Solution: CIDR
• CIDR: Classless Inter-Domain Routing.
– RFC 1519.
• Allocate remaining addresses in variablesized blocks without considering classes.
• Example: if an organization needs 2000
addresses, it gets 2048-address block.
• Forwarding had to be modified.
– Routing tables need an extra entry, a 32-bit
mask, which is ANDed with the destination IP
address.
– If there is a match, the packet is forwarded on
that interface.
CMPE 150- Introduction to Computer Networks
20
Network Address Translation
• Another “quick fix” to the address shortage in IP v4.
• Specified in RFC 3022.
• Each organization gets a single (or small number of)
IP addresses.
– This is used for Internet traffic only.
– For internal traffic, each host gets its own “internal” IP
address.
• Three IP ranges have been declared as “private”.
– 10.0.0.0 – 10.255.255.255/8
– 172.16.0.0 – 172.31.255.255/12
– 192.168.0.0 – 192.168.255.255/16
• No “private” IP address can show up on the Internet,
i.e., outside the organization’s network.
CMPE 150- Introduction to Computer Networks
21
NAT – Network Address
Translation
CMPE 150- Introduction to Computer Networks
22
Internet Control Protocols
• “Companion” protocols to IP.
• Control protocols used mainly for signaling
and exchange of control information.
• Examples: ICMP, ARP, RARP, BOOTP, and
DHCP.
CMPE 150- Introduction to Computer Networks
23
ICMP
• Internet Control Message Protocol.
• A way to “debug” the Internet and find out
what is happening at routers.
• Defines a dozen different messages that are
generated typically by routers upon some
unexpected event.
CMPE 150- Introduction to Computer Networks
24
ICMP Message Types
5-61
CMPE 150- Introduction to Computer Networks
25
Address Resolution Protocol
• ARP.
• RFC 826.
• Protocol for machines to map IP addresses to
Ethernet addresses.
– This is needed when packet needs to be
delivered to a local host on a LAN (Ethernet).
CMPE 150- Introduction to Computer Networks
26
ARP: Example
. Host 1 wants to send packet to host 2.
. Assume that host 1 knows host 2’s IP address.
. Host 1 builds packet with host 2’s IP address.
. IP knows it’s a local destination but now needs host 2’s
Ethernet address.
CMPE 150- Introduction to Computer Networks
27
ARP Operation
• Host 1 broadcasts an ARP request on the
Ethernet asking who owns host 2’s IP
address.
• Host 2 replies with its Ethernet address.
• Some optimizations:
– ARP caches.
– Piggybacking host’s own Ethernet address on
ARP requests.
– Proxy ARP: services ARP requests for hosts
on separate LANs.
CMPE 150- Introduction to Computer Networks
28
Beyond ARP
• ARP solves the problem of mapping IP
address to Ethernet address.
• How do we solve the inverse problem?
– I.e., how to map an Ethernet address to an IP
address?
• Older protocols: RARP (RFC 903) and
BOOTP (RFC 951).
– RARP broadcasts not forwarded by routers.
– BOOTP uses UDP but requires manual
configuration of IP-Ethernet mappings.
CMPE 150- Introduction to Computer Networks
29
DHCP
•
•
•
•
Dynamic Host Configuration Protocol.
RFCs 2131 and 2132.
Assigns IP addresses to hosts dynamically.
DHCP server may not be on the same LAN
as requesting host.
• DHCP relay agent.
CMPE 150- Introduction to Computer Networks
30
DHCP Operation
• Newly booted host broadcasts a DHCP
DISCOVER message.
• DHCP relay agent intercepts DHCP
DISCOVERs on its LAN and unicasts them to
DHCP server.
CMPE 150- Introduction to Computer Networks
31
DHCP Operation
CMPE 150- Introduction to Computer Networks
32
DHCP: Address Reuse
• How long should an IP address be allocated?
• Issue: hosts come and go.
• IP addresses may be assigned on a “Lease”
basis.
• Hosts must renew their leases.
CMPE 150- Introduction to Computer Networks
33