Network Layer

Download Report

Transcript Network Layer

Network Layer
Goals:
Content:
 Understand Internet  IP addressing
network layer
concepts
 Understand Internet
routing
 Understand Internet
network layer
protocols
 Getting datagram from




source to destination
Internet Protocol (IP)
ICMP
Intra- & Inter-AS routing
Multicast routing
Network Layer
1
The Internet Network layer
Host, router network layer functions:
Transport layer: TCP, UDP
Network
layer
IP protocol
•addressing conventions
•datagram format
•packet handling conventions
Routing protocols
•path selection
•RIP, OSPF, BGP
routing
table
ICMP protocol
•error reporting
•router “signaling”
Link layer
Physical layer
Network Layer
2
IP Addressing
 IP address: 32-bit
identifier for host,
router interface
 interface: connection
between host/router
and physical link



routers typically have
multiple interfaces
host may have multiple
interfaces
IP addresses
associated with
interface, not host or
router
223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
223.1.3.1
223.1.1.1 = 11011111 00000001 00000001 00000001
223
1
1
Network Layer
1
3
IP Addressing
 IP address:
 network part (high
order bits)
 host part (low order
bits)
 What’s a network ?
(from IP address
perspective)
 device interfaces with
same network part of
IP address
 can physically reach
each other without
intervening router
223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.9
223.1.3.27
223.1.2.2
LAN
223.1.3.1
223.1.3.2
network consisting of 3 IP networks
(for IP addresses starting with 223,
first 24 bits are network address)
Network Layer
4
IP Addresses
class
A
0 network
B
10
C
110
D
1110
1.0.0.0 to
127.255.255.255
host
network
128.0.0.0 to
191.255.255.255
host
network
multicast address
host
192.0.0.0 to
239.255.255.255
240.0.0.0 to
247.255.255.255
32 bits
Network Layer
5
Getting a datagram from source to dest.
routing table in A
Dest. Net. next router Nhops
223.1.1
223.1.2
223.1.3
IP datagram:
header source dest
fields IP addr IP addr
data
A
 datagram remains
unchanged, as it travels
source to destination
 addr fields of interest
here
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
Network Layer
6
Getting a datagram from source to dest.
header
data
fields 223.1.1.1 223.1.1.3
Dest. Net. next router Nhops
223.1.1
223.1.2
223.1.3
Starting at A, given IP
datagram addressed to B:
 look up net. address of B
 find B is on same net. as A using
subnet mask
 link layer will send datagram
directly to B inside link-layer
frame
 B and A are directly
connected
A
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
Network Layer
7
Getting a datagram from source to dest.
header
data
fields 223.1.1.1 223.1.2.2
Dest. Net. next router Nhops
223.1.1
223.1.2
223.1.3
Starting at A, dest. E:
 look up network address of E
 E on different network
A, E not directly attached
routing table: next hop
router to E is 223.1.1.4
link layer sends datagram to
router 223.1.1.4 inside linklayer frame
datagram arrives at 223.1.1.4
continued…..
A
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1





223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
Network Layer
8
Getting a datagram from source to dest.
header
data
fields 223.1.1.1 223.1.2.2
Arriving at 223.1.4,
destined for 223.1.2.2
 look up network address of E
 E on same network as router’s
interface 223.1.2.9
 router, E directly attached
 link layer sends datagram to
223.1.2.2 inside link-layer
frame via interface 223.1.2.9
 datagram arrives at
223.1.2.2!!! (hooray!)
Dest.
next
network router Nhops interface
223.1.1
223.1.2
223.1.3
A
-
1
1
1
223.1.1.4
223.1.2.9
223.1.3.27
223.1.1.1
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
Network Layer
9
IP datagram format
IP protocol version
number
header length
(bytes)
“type” of data
max number
remaining hops
(decremented at
each router)
upper layer protocol
to deliver payload to
32 bits
type of
ver head.
len service
length
fragment
16-bit identifier flgs
offset
time to upper
Internet
layer
live
checksum
total datagram
length (bytes)
for
fragmentation/
reassembly
32 bit source IP address
32 bit destination IP address
Options (if any)
data
(variable length,
typically a TCP
or UDP segment)
E.g. timestamp,
record route
taken, specify
list of routers
to visit.
Network Layer
10
IP Fragmentation and Reassembly
 network links have MTU
(max. transfer unit) largest possible link-level
frame.
 different link types,
different MTUs
 large IP datagram divided
(“fragmented”) within net
 one datagram becomes
several datagrams
 “reassembled” only at
final destination
 IP header bits used to
identify, order related
fragments
fragmentation:
in: one large datagram
out: 3 smaller datagrams
reassembly
Network Layer
11
IP Fragmentation and Reassembly
length ID fragflag offset
=4000 =x
=0
=0
One large datagram becomes
several smaller datagrams
length ID fragflag offset
=1500 =x
=1
=0
length ID fragflag offset
=1500 =x
=1
=1500
length ID fragflag offset
=1000 =x
=0
=3000
Network Layer
12
ICMP: Internet Control Message Protocol
 Internet Control Message Protocol (ICMP), RFC792
 The purpose of ICMP messages is to provide feedback
about problems in the IP network environment
 Delivered in IP packets
 ICMP message format
 4 bytes of ICMP header and optional message
Network Layer
13
ICMP Functions
 To announce network errors
 If a network, host, port is unreachable, ICMP Destination
Unreachable Message is sent to the source host
 To announce network congestion
 When a router runs out of buffer queue space, ICMP Source
Quench Message is sent to the source host
 To assist troubleshooting
 ICMP Echo Message is sent to a host to test if it is alive used by ping
 To announce timeouts
 If a packet’s TTL field drops to zero, ICMP Time Exceeded
Message is sent to the source host - used by traceroute
Network Layer
14
ICMP Problems
 ICMP has also received bad press from denial of
service attacks and because of the number of
sites generating monitoring traffic
 ICMP messages may be blocked (i.e., dropped) by
firewall and processed at low priority by router
 As a consequence some ISPs disable ICMP even
though this potentially causes poor performance
and does not comply with RFC1009 (Internet
Gateway Requirements)
 In spite of these limitations, ICMP is still most
widely used in active network measurements
Network Layer
15
ICMP Messages
Type
0
3
3
3
3
3
3
4
Code
0
0
1
2
3
6
7
0
8
9
10
11
12
0
0
0
0
0
description
echo reply (ping)
dest. network unreachable
dest host unreachable
dest protocol unreachable
dest port unreachable
dest network unknown
dest host unknown
source quench (congestion
control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header
Network Layer
16
Routing in the Internet
 The Global Internet: A hierarchy of Autonomous Systems
(ASs) (enterprise ASs interconnected through ISP’s ASs)
 Two level routing:
Intra-AS: each enterprise is responsible for its intranet
routing policy
Inter-AS: uses the standard routing protocol (e.g., BGP)
Network Layer
17
Intra-AS Routing
 Also known as Interior Gateway Protocol (IGP)
 Most common IGPs:



RIP: Routing Information Protocol (IETF)
OSPF: Open Shortest Path First (IETF)
IGRP: Interior Gateway Routing Protocol (Cisco)
Network Layer
18
RIP (Routing Information Protocol)
 Distance vector type scheme
 Included in BSD-UNIX Distribution in 1982
 Distance metric: # of hops (maximum 15 hops)
 Distance vector: exchanged every 30 sec via a
Response Message (also called Advertisement)
 Each Advertisement contains up to 25 destination nets
 IETF RFC 1058 - http://www.ietf.org/rfc/rfc1058.txt
Network Layer
19
RIP Example
D’s Table before A’s Advertisement
Dest. Net. next router Nhops
Routers labeled A, B, C, D, …
Networks labeled 1, 10, 20, 30, ...
1
20
30
10
...
A
B
B
-...
2
2
7
1
...
A’s Advertisement
Dest. Net. next router Nhops
30
1
10
...
C
--...
4
1
1
...
D’s table after A’s advertisement
Dest. Net. next router Nhops
1
20
30
...
A
B
A
...
2
2
5
...
Network Layer
20
RIP: Link Failure and Recovery
 If no advertisement heard after 180 sec,
neighbor/link is assumed to be dead
 Routes via the neighbor are invalidated; new
advertisements sent to neighbors
 Neighbors in turn send out new
advertisements if their tables changed
 Link failure info quickly propagates to the
entire net
Network Layer
21
RIP Table processing
 RIP routing tables managed by an application
process called routed (daemon)
 advertisements encapsulated in UDP packets
(reliability not required; advertisements are
periodically repeated)
Network Layer
22
RIP Table example
 To get routing table on Unix/Win, type netstat -rn
 e.g., a Router RIP table:
Destination
--------------127.0.0.1
192.168.2.
193.55.114.
192.168.3.
224.0.0.0
default






Gateway
----------------127.0.0.1
192.168.2.5
193.55.114.6
192.168.3.5
193.55.114.6
193.55.114.129
Flags
----UH
U
U
U
U
UG
Ref
---0
2
3
2
3
0
Use
------26492
13
58503
25
0
143454
Interface
--------lo0
fa0
le0
qaa0
le0
3 attached class C networks (LANs) via fa0, le0 and qaa0
Router only knows routes to attached LANs
default is the default gateway “to go up”
Route multicast address: 224.0.0.0
1st entry: Loopback interface (for debugging)
Learn to use Netstat by examples:
Network Layer
http://www.cs.unh.edu/cnrg/lin/linuxProject/resource/netstatCookbook.htm
23
OSPF (Open Shortest Path First)
 “open”: publicly available protocol (IETF)
 uses the Link State (LS) algorithm, i.e.,
 LS
packet dissemination;
 topology map at each node;
 route computation using the Dijkstra’s algorithm
 OSPF advertisement carries one entry per
neighbor router (gives link state)
 Advertisements disseminated to the ENTIRE
AS (via flooding)
Network Layer
24
OSPF “advanced” features (not in RIP)
 Security. All OSPF messages are authenticated (to
prevent malicious intrusion); TCP connections used
 Multiple same-cost paths allowed (only one path must
be chosen to carry all traffic in RIP)
 Multiple cost metrics for different TOS for each link
(e.g., satellite link cost set “low” for best effort; high
for real time)
 Integrated uni- and multicast support. Multicast OSPF
(MOSPF) uses the same topology database as OSPF
 Hierarchical OSPF in single AS (large routing domain)
Network Layer
25
Hierarchical OSPF
 An OSPF AS: Two level hierarchy
(local area and backbone)


Link state advertisements do not
leave respective areas
Nodes in each area have detailed
area topology; they only know
direction (shortest path) to
networks in other areas
 “Internal routers” perform intra-
AS routing only
 “Area Border routers” route
packets to other areas
 “Backbone routers” run an OSPF
routing alg limited to the backbone
 “Boundary routers” connect to
other ASs
Network Layer
26
IGRP (Interior Gateway Routing Protocol)
 CISCO proprietary; successor of RIP (mid 80’s)
 Distance Vector, like RIP
 Several cost metrics (delay, bandwidth, reliability,
load, etc.)
 Uses TCP to exchange routing updates
 Routing tables exchanged only when costs change
 Loop free routing achieved by using a Distributed
Updating ALgorithm (DUAL)

In DUAL, after a distance increase, the routing table is
frozen until all affected nodes have learned of the change
 http://www.cisco.com/warp/public/103/5.html
Network Layer
27
Inter-AS Routing
 BGP (Border Gateway Protocol): the de facto
standard
 Each Border Gateway broadcasts to neighbors
(peers) the entire path (i.e., sequence of AS’s)
to destination
 For example, gateway X may store the
following path to destination Z:
Path (X,Z) = X,Y1,Y2,Y3,…,Z
Network Layer
28
Border Gateway Protocol (BGP)
 Now, suppose Gwy X sends its path (X,Y1,Y2,Y3,…,Z)
to peer Gwy W
 Gwy W may or may not select the path offered by Gwy
X, because of cost, policy or loop prevention reasons
 If Gwy W selects the path advertised by Gwy X, then:
Path (W,Z) = W, Path (X,Z)
Note: path selection based not so much on cost (e.g.,# of
AS hops), but mostly on administrative and policy issues
(e.g., do not route packets through competitor’s AS)
Network Layer
29
Border Gateway Protocol (BGP)
 Peers exchange BGP messages using TCP
 BGP defines 4 types of messages:




OPEN: opens a TCP connection to peer and
authenticates sender
UPDATE: advertises new path (or withdraws old)
KEEPALIVE: keeps connection alive in absence of
UPDATES; also serves as ACK to an OPEN request
NOTIFICATION: reports errors in previous msg;
also used to close a connection
 IETF RFC 1771 - http://www.ietf.org/rfc/rfc1771.txt
Network Layer
30
Why Intra- and Inter-AS routing different?
 Policy:
 Inter: concerned with policies (eg, which provider to select/avoid)
 Intra: under same administrative control, so, policy-based routing
is less important
 Scaleability
 Inter: ability of routing alg. and table to scale for routing among
large numbers of networks
 Intra: scalability is less of a concern within an AS. A large AS can
be divided into two ASs, e.g., “areas” in OSPF
 Performance:
 Inter: routing is policy-oriented; quality of routes is secondary.
Also, it is difficult to propagate performance metrics efficiently
(latency, privacy, etc.).
 Intra: focused on performance metrics; needs to keep costs low.
 We need BOTH!
Network Layer
31
Multicast Routing
 Multicast: delivery of a packet to a group of receivers
 Multicasting is becoming increasingly popular in the
Internet (video on demand; whiteboard; interactive
games)
 Multiple unicast vs. multicast
Network Layer
32
Multicast Group Address
 M-cast group address “delivered” to all receivers in
the group
 Internet uses Class D for m-cast
 M-cast address distribution, etc. managed by IGMP
Protocol
Network Layer
33
IGMP Protocol (RFC 2236)
 IGMP (Internet Group Management Protocol) operates
between router and local hosts, typically on a LAN
 Router queries the local hosts for m-cast group
membership info
 Router “connects” active hosts to m-cast tree via m-
cast protocol
 Hosts respond with membership reports: actually, the
first host which responds (at random) speaks for all
 Host issues “leave-group” msg to leave; this is optional
since router periodically polls anyway (soft state
concept)
Network Layer
34
IGMP message types
IGMP Message type
Sent by
Purpose
membership query: general
router
membership query: specific
router
membership report
host
host wants to join group
leave group
host
host leaves the group
query for current active
multicast groups
query for specific m-cast group
Network Layer
35
Summary
You now hopefully have:
 a good understanding of the Internet network
protocols and issues
 IP addressing, format & issues
 Intra-AS routing protocols



RIP
OSPF
IGRP
 Inter-AS routing
 BGP
 Multicast routing
 IGMP
Network Layer
36