COMS 4995-1 Networking Laboratory
Download
Report
Transcript COMS 4995-1 Networking Laboratory
COMS/CSEE 4140
Networking Laboratory
Lecture 02
Salman Abdul Baset
Spring 2008
Previous lecture…
Introduction to the lab equipment
A simple TCP/IP example
Overview of important networking concepts
2
Previous lecture…
Web request
Web page
Web client
Web server
A user on host argon.netlab.edu (“Argon”) makes web access to
URL http://neon.netlab.edu/index.html.
What actually happens in the network?
3
Agenda
Administrivia
MICE access, lab groups.
Data Link Protocols
Address Resolution Protocol (ARP)
Internet Protocol (IP)
4
Terminology
Frame
Packet
Data link layer terminology for a data unit
Includes error correction
Network layer and above
PDU
Protocol specific
5
TCP/IP Suite and OSI Reference
Model
• The TCP/IP protocol stack does not
define the lower layers of a complete
protocol stack
•How does the TCP/IP protocol stack
interface with the data link layer?
Application
Layer
Transport
Layer
Network
Layer
(Data) Link
Layer
Logical Link
Control (LLC)
Media Access
Control (MAC)
Sublayer in
Local Area
Networks
6
Data Link Layer
The main tasks of the data link layer are:
Transfer data from the network layer of one machine to the
network layer of another machine
Convert the raw bit stream of the physical layer into groups
of bits (“frames”)
Network
Layer
Data Link
Layer
Network
Layer
Data Link
Layer
Physical
Layer
Physical
Layer
7
Two types of networks at the data
link layer
Broadcast Networks: All stations share a single
communication channel
Point-to-Point Networks: Pairs of hosts (or routers) are
directly connected
Broadcast Network
Point-to-Point Network
Typically, local area networks (LANs) are broadcast and wide
area networks (WANs) are point-to-point
8
Local Area Networks
Local area networks (LANs) connect computers within a building or
a enterprise network
Almost all LANs are broadcast networks
Typical topologies of LANs are bus or ring or star
We will work with Ethernet LANs. Ethernet has a bus or star
topology.
Comparing topologies: workstation vs. cable failure?
Bus LAN
Ring LAN
Star LAN
9
MAC and LLC
In any broadcast network, the stations must ensure that
only one station transmits at a time on the shared
communication channel
The protocol that determines who can transmit on a
broadcast channel are called Medium Access Control
(MAC) protocol
to Network Layer
The MAC protocol are implemented
Logical Link
Control
in the MAC sublayer which is the
Medium Access
lower sublayer of the data link layer
Control
The higher portion of the data link
to Physical Layer
layer is often called Logical Link
Control (LLC)
Data Link
Layer
10
IEEE 802 Standards
IEEE
802 is a family of standards for LANs,
which defines an LLC and several MAC sublayers
IEEE 802 standard
IEEE
Reference
Model
802.1
Logical Link
Control
802.2
802.11
802.5
802.4
802.3
Medium
Access
Control
Physical
Layer
Higher
Layer
Data Link
Layer
Physical
Layer
11
Ethernet and IEEE 802.3: Any
Difference?
There are two types of Ethernet frames in use,
with subtle differences:
“Ethernet” (Ethernet II, DIX)
802.3:
An industry standards from 1982 that is based on the first
implementation of CSMA/CD by Xerox.
Predominant version of CSMA/CD in the US.
IEEE’s version of CSMA/CD from 1985.
Interoperates with 802.2 (LLC) as higher layer.
Difference for our purposes: Ethernet and
802.3 use different methods to encapsulate an IP
datagram.
12
Ethernet II, DIX Encapsulation
(RFC 894)
802.3 MAC
destination
address
source
address
type
data
CRC
6
6
2
46-1500
4
0800
IP datagram
2
38-1492
0806
ARP request/reply
2
28
0835
2
PAD
10
RARP request/reply PAD
28
10
13
IEEE 802.2/802.3 Encapsulation
(RFC 1042)
802.3 MAC
802.2 LLC
802.2 SNAP
destination
address
source
address
length
DSAP
AA
SSAP
AA
cntl
03
org code
0
type
data
CRC
6
6
2
1
1
1
3
2
38-1492
4
0800
IP datagram
2
38-1492
0806
ARP request/reply
PAD
2
28
10
- destination address, source address:
MAC addresses are 48 bit
- length: frame length in number of bytes
- DSAP, SSAP: always set to 0xaa
- Ctrl:
set to 3
- org code: set to 0
- type field identifies the content of the
data field
- CRC:
cylic redundancy check
0835
2
RARP request/reply PAD
28
10
14
Ethernet
Speed:
Standard:
10 Mbps -10 Gbps
802.3, Ethernet II (DIX)
Most popular physical layers for Ethernet:
10Base5
10Base2
10Base-T
100Base-TX
100Base-FX
1000Base-FX
10000Base-FX
Thick Ethernet: 10 Mbps coax cable
Thin Ethernet: 10 Mbps coax cable
10 Mbps Twisted Pair
100 Mbps over Category 5 twisted pair
100 Mbps over Fiber Optics
1Gbps over Fiber Optics
10Gbps over Fiber Optics (for wide area links)
15
Bus Topology
10Base5 and 10Base2 Ethernets have a bus
topology
Ethernet
16
Star Topology
Starting with 10Base-T, stations are connected to
a hub in a star configuration
Hub
17
Ethernet Hubs vs. Ethernet
Switches
An Ethernet switch is a packet switch for Ethernet
frames
Buffering of frames prevents collisions.
Each port is isolated and builds its own collision domain
An Ethernet Hub does not perform buffering:
Collisions occur if two frames arrive at the same time.
Hub
Switch
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
HighSpeed
Backplane
CSMA/CD
CSMA/CD
CSMA/CD
Input
Buffers
CSMA/CD
CSMA/CD
Output
Buffers
18
Point-to-Point (serial) links
Many data link connections are
point-to-point serial links:
Dial-in or DSL access connects hosts
to access routers
Routers are connected by
high-speed point-to-point links
Here, IP hosts and routers are
connected by a serial cable
Data link layer protocols for
point-to-point links are simple:
Main role is encapsulation of IP
datagrams
No media access control needed
Access
Router
Modems
Dial-Up Access
Router
Router
Router
Point-to-Point Links
Router
19
Data Link Protocols for Point-toPoint links
SLIP (Serial Line IP) (RFC 1055)
PPP (Point-to-Point Protocol) (RFC 1661)
•
•
First protocol for sending IP datagrams over dial-up links (from
1988)
Encapsulation, not much else
Successor to SLIP (1992), with added functionality
Used for dial-in and for high-speed routers
HDLC (High-Level Data Link) (ISO)
•
•
•
Widely used and influential standard (1979)
Default protocol for serial links on Cisco routers
Actually, PPP is based on a variant of HDLC
20
PPP - IP encapsulation
The frame format of PPP is similar to HDLC and the 802.2 LLC frame
format:
flag
addr ctrl
7E
FF
03
1
1
1
protocol
data
CRC
flag
7E
2
<= 1500
0021
IP datagram
C021
link control data
8021
network control data
PPP assumes a duplex circuit
Note: PPP does not use addresses
Usual maximum frame size is 1500
2
1
21
Additional PPP functionality
In addition to encapsulation, PPP supports:
multiple network layer protocols (protocol multiplexing)
Link configuration
Link quality testing
Error detection
Option negotiation
Address notification
Authentication
The above functions are supported by helper protocols:
LCP
PAP, CHAP
NCP
22
PPP Support protocols
Link
management: The link control protocol (LCP) is
responsible for establishing, configuring, and negotiating
a data-link connection. LCP also monitors the link quality
and is used to terminate the link.
Authentication:
Authentication is optional. PPP
supports two authentication protocols: Password
Authentication Protocol (PAP) and Challenge Handshake
Authentication Protocol (CHAP).
Network
protocol configuration: PPP has network
control protocols (NCPs) for numerous network layer
protocols. The IP control protocol (IPCP) negotiates IP
address assignments and other parameters when IP is
used as network layer.
23
Agenda
Administrivia
Data Link Protocols
Address Resolution Protocol (ARP)
Internet Protocol (IP)
24
Overview
TCP
UDP
ICMP
IP
IGMP
ARP
Network
Access
RARP
Transport
Layer
Network
Layer
Link Layer
Media
25
ARP (RFC 826) and RARP (RFC 903)
Note:
The Internet is based on IP addresses
Data link protocols (Ethernet, FDDI, ATM) may have different
(MAC) addresses
The ARP and RARP protocols perform the translation
between IP addresses and MAC layer addresses
We will discuss ARP for broadcast LANs, particularly
Ethernet LANs
IP address
(32 bit)
ARP
RARP
Ethernet MAC
address
(48 bit)
26
Processing of IP packets by network
device drivers
IP Input
IP Output
Put on IP
input queue
Yes
Yes
IP destination = multicast
or broadcast ?
No
IP destination of packet
= local IP address ?
loopback
Driver
Put on IP
input queue
No: get MAC
address with
ARP
Ethernet
Driver
ARP
ARP
Packet
IP datagram
demultiplex
Ethernet Frame
Ethernet
27
Topology
Web request
Web page
Web client
Web server
A user on host argon.netlab.edu (“Argon”) makes web access to
URL http://neon.netlab.edu/index.html.
What actually happens in the network?
28
Address Translation with ARP
ARP Request:
Argon broadcasts an ARP request to all stations
on the network: “What is the hardware
address of Router137?”
Argon
128.143.137.144
00:a0:24:71:e4:44
Router137
128.143.137.1
00:e0:f9:23:a8:20
ARP Request:
What is the MAC address
of 128.143.71.1?
29
Address Translation with ARP
ARP Reply:
Router 137 responds with an ARP Reply which
contains the hardware address
Argon
128.143.137.144
00:a0:24:71:e4:44
Router137
128.143.137.1
00:e0:f9:23:a8:20
ARP Reply:
The MAC address of 128.143.71.1
is 00:e0:f9:23:a8:20
30
ARP Packet Format
Ethernet II header
Destination
address
Source
address
Type
0x8060
6
6
2
ARP Request or ARP Reply
28
10
Hardware type (2 bytes)
Hardware address
length (1 byte)
Padding
CRC
4
Protocol type (2 bytes)
Protocol address
length (1 byte)
Operation code (2 bytes)
Source hardware address*
Source protocol address*
Target hardware address*
Target protocol address*
* Note: The length of the address fields is determined by the corresponding address length fields31
Example
ARP Request from Argon:
Source hardware address: 00:a0:24:71:e4:44
Source protocol address: 128.143.137.144
Target hardware address: 00:00:00:00:00:00
Target protocol address: 128.143.137.1
ARP Reply from Router137:
Source hardware address: 00:e0:f9:23:a8:20
Source protocol address: 128.143.137.1
Target hardware address: 00:a0:24:71:e4:44
Target protocol address: 128.143.137.144
32
ARP Cache
Since sending an ARP request/reply for each IP
datagram is inefficient, hosts maintain a cache
(ARP Cache) of current entries. The entries
expire after 20 minutes.
Contents of the ARP Cache:
(128.143.71.37) at 00:10:4B:C5:D1:15 [ether] on eth0
(128.143.71.36) at 00:B0:D0:E1:17:D5 [ether] on eth0
(128.143.71.35) at 00:B0:D0:DE:70:E6 [ether] on eth0
(128.143.136.90) at 00:05:3C:06:27:35 [ether] on eth1
(128.143.71.34) at 00:B0:D0:E1:17:DB [ether] on eth0
(128.143.71.33) at 00:B0:D0:E1:17:DF [ether] on eth0
33
Proxy ARP
Proxy ARP: Host or router responds to ARP
Request that arrives from one of its connected
networks for a host that is on another of its
connected networks.
34
Things to know about ARP
What happens if an ARP Request is made for a nonexisting host?
Several ARP requests are made with increasing time
intervals between requests. Eventually, ARP gives up.
On some systems (including Linux) a host periodically
sends ARP Requests for all addresses listed in the ARP
cache. This refreshes the ARP cache content, but also
introduces traffic.
Gratuitous ARP Requests: A host sends an ARP request
for its own IP address:
Useful for detecting if an IP address has already been assigned.
35
Vulnerabilities of ARP
1.
2.
3.
Since ARP does not authenticate requests or replies, ARP
Requests and Replies can be forged
ARP is stateless: ARP Replies can be sent without a corresponding
ARP Request
According to the ARP protocol specification, a node receiving an
ARP packet (Request or Reply) must update its local ARP
cache with the information in the source fields, if the receiving
node already has an entry for the IP address of the source in its ARP
cache. (This applies for ARP Request packets and for ARP Reply
packets)
Typical exploitation of these vulnerabilities:
A forged ARP Request or Reply can be used to update the ARP cache
of a remote system with a forged entry (ARP Poisoning)
36
This can be used to redirect IP traffic to other hosts
Agenda
Administrivia
Data Link Protocols
Address Resolution Protocol (ARP)
Internet Protocol (IP)
37
IP Addresses
Structure of an IP address
Classful IP addresses
Limitations and problems with classful IP
addresses
Subnetting
CIDR
IP Version 6 addresses
38
IP Addresses
32 bits
version
(4 bits)
header
length
Type of Service/TOS
(8 bits)
flags
(3 bits)
Identification (16 bits)
TTL Time-to-Live
(8 bits)
Total Length (in bytes)
(16 bits)
Protocol
(8 bits)
Fragment Offset (13 bits)
Header Checksum (16 bits)
Source IP address (32 bits)
Destination IP address (32 bits)
Ethernet Header
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
39
IP Addresses
32 bits
0x4
0x5
0x00
9d08
12810
4410
0102
00000000000002
0x06
8bff
128.143.137.144
128.143.71.21
Ethernet Header
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
40
What is an IP Address?
An IP address is a unique global address for a network
interface
Exceptions:
Dynamically assigned IP addresses ( DHCP, Lab 7)
IP addresses in private networks ( NAT, Lab 7)
An IP address:
- is a 32 bit long identifier
- encodes a network number (network prefix) and a
host number
41
Network prefix and host number
The network prefix identifies a network and the host
number identifies a specific host (actually, interface on
the network).
network prefix
host number
How do we know how long the network prefix is?
Before 1993: The network prefix is implicitly defined (classbased addressing)
or
After 1993: The network prefix is indicated by a netmask.
42
Dotted Decimal Notation
IP addresses are written in a so-called dotted decimal
notation
Each byte is identified by a decimal number in the range
[0..255]:
Example:
10000000
1st Byte
= 128
10001111
2nd Byte
= 143
10001001
3rd Byte
= 137
128.143.137.144
10010000
4th Byte
= 144
43
Example
Example: ellington.cs.virginia.edu
128.143
137.144
Network address is: 128.143.0.0
Host number is:
137.144
Netmask is:
255.255.0.0
Prefix or CIDR notation: 128.143.137.144/16
(or 128.143)
(or ffff0000)
Network prefix is 16 bits long
44
Special IP Addresses
Reserved or (by convention) special addresses:
Loopback interfaces
all addresses 127.0.0.1-127.255.255.255 are reserved for loopback interfaces
Most systems use 127.0.0.1 as loopback address
loopback interface is associated with name “localhost”
IP address of a network
Host number is set to all zeros, e.g., 128.143.0.0
Broadcast address
Host number is all ones, e.g., 128.143.255.255
Broadcast goes to all hosts on the network
Often ignored due to security concerns
Test / Experimental addresses
Certain address ranges are reserved for “experimental use”. Packets
should get dropped if they contain this destination address (see RFC
1918):
10.0.0.0
172.16.0.0
- 10.255.255.255
192.168.0.0
- 192.168.255.255
- 172.31.255.255
Convention (but not a reserved address)
Default gateway has host number set to ‘1’, e.g., e.g., 192.0.1.1
45
Special IPv4 Addresses (RFC 3330)
Addresses
CIDR
Equivalent
Purpose
RFC
Class
# of
addresses
0.0.0.0 - 0.255.255.255
0.0.0.0/8
Zero Addresses
RFC 1700
A
16,777,216
10.0.0.0 - 10.255.255.255
10.0.0.0/8
Private IP addresses
RFC 1918
A
16,777,216
127.0.0.0 - 127.255.255.255
127.0.0.0/8
Localhost Loopback
Address
RFC 1700
A
16,777,216
169.254.0.0 - 169.254.255.255
169.254.0.0/16
Zeroconf
RFC 3330
B
65,536
172.16.0.0 - 172.31.255.255
172.16.0.0/12
Private IP addresses
RFC 1918
B
1,048,576
192.0.2.0 - 192.0.2.255
192.0.2.0/24
Documentation and
Examples
RFC 3330
C
256
192.88.99.0 - 192.88.99.255
192.88.99.0/24
IPv6 to IPv4 relay
Anycast
RFC 3068
C
256
192.168.0.0 - 192.168.255.255
192.168.0.0/16
Private IP addresses
RFC 1918
C
65,536
198.18.0.0 - 198.19.255.255
198.18.0.0/15
Network Device
Benchmark
RFC 2544
C
131,072
224.0.0.0 - 239.255.255.255
224.0.0.0/4
Multicast
RFC 3171
D
268,435,456
240.0.0.0 - 255.255.255.255
240.0.0.0/4
Reserved
RFC 1700
E
268,435,456
46
Subnetting
Problem: Organizations
have multiple networks
which are independently
managed
Solution 1: Allocate a
separate network address for
each network
Difficult to manage
From the outside of the
organization, each network
must be addressable.
University Network
Engineering
School
Medical
School
Library
Solution 2: Add another
level of hierarchy to the IP
addressing structure
Subnetting
47
Address Assignment with Subnetting
Each part of the organization is allocated a range of IP
addresses (subnets or subnetworks)
Addresses in each subnet can be administered locally
128.143.0.0/16
University Network
128.143.71.0/24
128.143.136.0/24
Engineering
School
Medical
School
128.143.56.0/24
Library
128.143.121.0/24
48
Basic Idea of Subnetting
Split the host number portion of an IP address into a
subnet number and a (smaller) host number.
Result is a 3-layer hierarchy
network prefix
network prefix
host number
subnet number
host number
extended network prefix
Then:
Subnets can be freely assigned within the organization
Internally, subnets are treated as separate networks
Subnet structure is not visible outside the organization
49
Subnetmask
Routers and hosts use an extended network
prefix (subnetmask) to identify the start of the
host numbers
128.143
137.144
network prefix
host number
128.143
137
144
network prefix
subnet
number
host number
extended network prefix
1111111111111111 1111111100000000
subnetmask
50
Advantages of Subnetting
With subnetting, IP addresses use a 3-layer hierarchy:
Network
Subnet
Host
Reduces router complexity. Since external routers do not
know about subnetting, the complexity of routing tables
at external routers is reduced.
Note: Length of the subnet mask need not be identical at
all subnetworks.
51
Example: Subnetmask
128.143.0.0/16 is the IP address of the network
128.143.137.0/24 is the IP address of the subnet
128.143.137.144 is the IP address of the host
255.255.255.0 (or ffffff00) is the subnetmask of the host
When subnetting is used, one generally speaks of a “subnetmask”
(instead of a netmask) and a “subnet” (instead of a network)
Use of subnetting or length of the subnetmask if decided by the
network administrator
Consistency of subnetmasks is responsibility of administrator
52
No Subnetting
All hosts think that the other hosts are on the
same network
128.143.137.32/16
subnetmask: 255.255.0.0
128.143.137.144/16
subnetmask: 255.255.0.0
128.143.71.21/16
subnetmask: 255.255.0.0
128.143.71.201/16
subnetmask: 255.255.0.0
128.143.70.0/16
53
With Subnetting
Hosts with same extended network prefix belong
to the same network
128.143.137.32/24
128.143.137.144/24
128.143.71.21/24
128.143.71.201/24
subnetmask: 255.255.255.0
subnetmask: 255.255.255.0
subnetmask: 255.255.255.0
subnetmask: 255.255.255.0
128.143.137.0/24
Subnet
128.143.71.0/24
Subnet
128.143.0.0/16
54
With Subnetting
Different subnetmasks lead to different views of
the size of the scope of the network
128.143.137.32/26
128.143.137.144/26
subnetmask: 255.255.255.192 subnetmask: 255.255.255.192
128.143.137.0/26
Subnet
128.143.71.21/24
128.143.71.201/16
subnetmask: 255.255.255.0
subnetmask: 255.255.0.0
128.143.137.128/26
Subnet
128.143.71.0/24
Subnet
128.143.0.0/16
192: 11000000
144: 10010000
128: 10000000
55
Classful IP Adresses (Until 1993)
When Internet addresses were standardized (early
1980s), the Internet address space was divided up into
classes:
Class A: Network prefix is 8 bits long
Class B: Network prefix is 16 bits long
Class C: Network prefix is 24 bits long
Each IP address contained a key which identifies the
class:
Class A: IP address starts with “0”
Class B: IP address starts with “10”
Class C: IP address starts with “110”
56
The old way: Internet Address
Classes
bit # 0
Class A
1
7 8
31
0
Network Prefix
Host Number
8 bits
24 bits
bit # 0 1 2
Class B
10
15 16
network id
110
host
Network Prefix
Host Number
16 bits
16 bits
bit # 0 1 2 3
Class C
31
23 24
network id
31
host
Network Prefix
Host Number
24 bits
8 bits
57
The old way: Internet Address
Classes
bit # 0 1 2 3 4
Class D
1110
31
multicast group id
bit # 0 1 2 3 4 5
Class E
11110
31
(reserved for future use)
We will learn about multicast addresses later in
this course.
58
Problems with Classful IP
Addresses
By the early 1990s, the original classful address
scheme had a number of problems
Flat address space. Routing tables on the backbone Internet
need to have an entry for each network address. When Class C
networks were widely used, this created a problem. By the 1993, the
size of the routing tables started to outgrow the capacity of routers.
Other problems:
Too few network addresses for large networks
Class A and Class B addresses were gone
Limited flexibility for network addresses:
Class A and B addresses are overkill (>64,000 addresses)
Class C address is insufficient (requires 40 Class C addresses)
59
Allocation of Classful Addresses
60
CIDR - Classless Interdomain
Routing
IP backbone routers have one routing table entry
for each network address:
With subnetting, a backbone router only needs to know one
entry for each Class A, B, or C networks
This is acceptable for Class A and Class B networks
27 = 128 Class A networks
214 = 16,384 Class B networks
But this is not acceptable for Class C networks
221 = 2,097,152 Class C networks
In 1993, the size of the routing tables started to
outgrow the capacity of routers
Consequence: The Class-based assignment of IP
addresses had to be abandoned
61
CIDR - Classless Interdomain
Routing
Goals:
New interpretation of the IP address space
Restructure IP address assignments to increase efficiency
Permits route aggregation to minimize route table entries
CIDR (Classless Interdomain routing)
abandons the notion of classes
Key Concept: The length of the network prefix in the IP
addresses is kept arbitrary
Consequence: Size of the network prefix must be provided with
an IP address
62
CIDR Notation
CIDR notation of an IP address:
192.0.2.0/18
CIDR notation can replace the use of subnetmasks (but is
more general)
"18" is the prefix length. It states that the first 18 bits are the
network prefix of the address (and 14 bits are available for specific
host addresses)
IP address 128.143.137.144 and subnetmask 255.255.255.0
becomes 128.143.137.144/24
CIDR notation allows to drop traling zeros of network
addresses:
192.0.2.0/18 can be written as 192.0.2/18
63
CIDR address blocks
CIDR notation can nicely express blocks of addresses
Blocks are used when allocating IP addresses for a company and for
routing tables (route aggregation)
CIDR Block Prefix
/27
/26
/25
/24
/23
/22
/21
/20
/19
/18
/17
/16
/15
/14
/13
# of Host Addresses
32
64
128
256
512
1,024
2,048
4,096
8,192
16,384
32,768
65,536
131,072
262,144
524,288
64
CIDR and Address assignments
Backbone ISPs obtain large block of IP addresses space
and then reallocate portions of their address blocks to
their customers.
Example:
Assume that an ISP owns the address block 206.0.64.0/18, which
represents 16,384 (214) IP addresses
Suppose a client requires 800 host addresses
With classful addresses: need to assign a class B address (and
waste ~64,700 addresses) or four individual Class Cs (and
introducing 4 new routes into the global Internet routing tables)
With CIDR: Assign a /22 block, e.g., 206.0.68.0/22, and allocated
a block of 1,024 (210) IP addresses.
65
CIDR and Routing
Aggregation of routing table entries:
128.143.0.0/16 and 128.144.0.0/16 are represented as
128.142.0.0/15
Longest prefix match: Routing table lookup finds the
routing entry that matches the longest prefix
What is the outgoing interface for
128.143.137.0/24 ?
Route aggregation can be exploited
when IP address blocks are assigned
in an hierarchical fashion
Prefix
Interface
128.0.0.0/4
interface #5
128.128.0.0/9
interface #2
128.143.128.0/17
interface #1
Routing table
66
CIDR and Routing Information
Company X :
ISP X owns:
Internet
Backbone
206.0.68.0/22
206.0.64.0/18
204.188.0.0/15
209.88.232.0/21
ISP y :
209.88.237.0/24
Organization z1 :
Organization z2 :
209.88.237.192/26
209.88.237.0/26
67
CIDR and Routing Information
Backbone routers do not know
anything about Company X, ISP
Y, or Organizations z1, z2.
Company X :
ISP X does not know about
Organizations z1, z2.
Internet
ISP X sends everything which
Backbone
matches the prefix:
206.0.68.0/22
ISPISP
y sends
everything which matches
X owns:
the prefix:
206.0.64.0/18
209.88.237.192/26 to Organizations z1
204.188.0.0/15
209.88.237.0/26 to Organizations z2
209.88.232.0/21
ISP y :
206.0.68.0/22 to Company X,
209.88.237.0/24 to ISP y
Backbone sends everything
which matches the prefixes
206.0.64.0/18, 204.188.0.0/15,
209.88.232.0/21 to ISP X.
209.88.237.0/24
Organization z1 :
Organization z2 :
209.88.237.192/26
209.88.237.0/26
68
IPv6 - IP Version 6
IP Version 6
Is the successor to the currently used IPv4
Specification completed in 1994
Makes improvements to IPv4 (no revolutionary
changes)
One (not the only !) feature of IPv6 is a
significant increase in of the IP address to 128
bits (16 bytes)
IPv6 will solve – for the foreseeable future – the problems
with IP addressing
1024 addresses per square inch on the surface of the Earth.
69
IPv6 Header
32 bits
version
(4 bits)
Traffic Class
(8 bits)
Payload Length (16 bits)
Flow Label
(24 bits)
Next Header
(8 bits)
Hop Limits (8 bits)
Source IP address (128 bits)
Destination IP address (128 bits)
Ethernet Header
IPv6 Header
TCP Header
Application data
Ethernet Trailer
70
Ethernet frame
IPv6 vs. IPv4: Address Comparison
IPv4 has a maximum of
232 4 billion addresses
IPv6 has a maximum of
2128 = (232)4 4 billion x 4 billion x 4 billion x 4 billion
addresses
71
Notation of IPv6 addresses
Convention: The 128-bit IPv6 address is written as eight 16-bit
integers (using hexadecimal digits for each integer)
CEDF:BP76:3245:4464:FACE:2E50:3025:DF12
Short notation:
Abbreviations of leading zeroes:
CEDF:BP76:0000:0000:009E:0000:3025:DF12
CEDF:BP76:0:0:9E
:0:3025:DF12
“:0000:0000:0000” can be written as “::”
CEDF:BP76:0:0:FACE:0:3025:DF12
CEDF:BP76::FACE:0:3025:DF1
2
IPv6 addresses derived from IPv4 addresses have 96 leading zero bits.
Convention allows to use IPv4 notation for the last 32 bits.
::80:8F:89:90 ::128.143.137.144
72
IPv6 Provider-Based Addresses
The first IPv6 addresses will be allocated to a providerbased plan
010
Registry Provider Subscriber Subnetwork Interface
ID
ID
ID
ID
ID
Type: Set to “010” for provider-based addresses
Registry: identifies the agency that registered the address
The following fields have a variable length (recommeded length in
“()”)
Provider: Id of Internet access provider (16 bits)
Subscriber: Id of the organization at provider (24 bits)
Subnetwork: Id of subnet within organization (32 bits)
Interface: identifies an interface at a node (48 bits)
73
Line cards
Cisco CRS-1 1-Port
OC-768c (40 Gb/s)
Cisco CRS-1 4-Port
10 GbE
74
Lab this week…
75