THE NETWORK LAYER 5.4 INTERNETWORKING

advertisement
5 THE NETWORK LAYER
5.1 NETWORK LAYER DESIGN ISSUES
5.2 ROUTING ALGORITHMS
5.4 INTERNETWORKING
5.5 THE NETWORK LAYER IN THE INTERNET
Stainov - DataCom
MET CS TC535
1
5 THE NETWORK LAYER
5.1 NETWORK LAYER DESIGN ISSUES
Importance: It represents the boundary to the subnet (i.e. to the network
carrier)  it must be especially well defined.
Main goals:



1.
2.
The services should be independent of the subnet
The transport layer should be shielded from the number, type, and topology of the
subnet
The network addresses should be uniform.
Two camps:
Internet community - the subnet should move independent datagrams and
nothing else (no flow control, packet ordering and error control).
Telephone companies - the subnet should provide reliable connection-oriented
service, with QoS (Quality of Service) negotiation, packet ordering, and flow
control.
Stainov - DataCom
MET CS TC535
2
THE NETWORK LAYER
5.1 NETWORK LAYER DESIGN ISSUES - Internal Organization
1.
Virtual circuits (VC) - connection setup (choosing of the route to the
destination), forwarding packets over the exactly that route (the router
maintains a table with the unique virtual circuit # ), and connection
release (termination of the VC).
2.
Datagrams - no routers are working in advance, even if the service is
connection oriented. Each packet is sent independently from the
previous ones and routed over a different route. The routers do not
maintain virtual circuit #s. Each packet is carrying the full destination
address. Establishment of connections is done by the end stations, and
does not require any special work from the routers.
Stainov - DataCom
MET CS TC535
3
THE NETWORK LAYER
Comparison of VC
and Datagram Subnets
Stainov - DataCom
MET CS TC535
4
THE NETWORK LAYER
Comparison of VC and Datagram Subnets
 All variations of connectionless, or connection-oriented, over
VC, or over datagrams, are possible - for example IP
(connectionless) over ATM (VC) subnet.
Stainov - DataCom
MET CS TC535
5
THE NETWORK LAYER
5.2 ROUTING ALGORITHMS
Common Requirements:






Correctness - no deadlocks, livelocks, unreachable states
Simplicity - fast handling of packets, less failures
Robustness - dealing with failures, changes of the topology and of the traffic.
Stability - the algorithm should congregate to equilibrium
Fairness - no starvation, load balancing
Optimality - short packet delay, max. throughput, number of hops
1. Nonadaptive algorithms - do not base the routing decisions on
measurements. The routing is in most cases static (computed in advance),
off-line and downloaded to the routers.
2. Adaptive algorithms - change their routing algorithms (continuous,
periodic, occasionally) to reflect changes in the topology, and some times in
the traffic. The information source can be local, nodes along the route, or
all nodes.
Stainov - DataCom
MET CS TC535
6
THE NETWORK LAYER
5.2 ROUTING ALGORITHMS
 The set of optimal routes from all sources to a given destination forms a
sink tree.
 The goal of the routing algorithms is to discover the sink trees for all
routers.
Stainov - DataCom
MET CS TC535
7
THE NETWORK LAYER
5.2 ROUTING ALGORITHMS - Static
Shortest Path Routing - A frequently used metric is the number of hops. Each
router examines each of the nodes adjacent to it, calculates the new
distance sum, and if it is less than the label on that node, we have the
shortest path, so the node is relabeled.
Stainov - DataCom
MET CS TC535
8
THE NETWORK LAYER
5.2 ROUTING ALGORITHMS - adaptive
Distance Vector Routing (Bellman-Ford, Ford-Fulkenson). It was used in early
versions of ARPANET and in Internet (RIP), DECnet,, AppleTalk and Cisco.
 Each router maintains a table (i.e. a vector) indexed by, and containing one entry
for each router in the subnet. The entry contains the preferred outgoing line for
this destination and an estimate giving the best known distance to that
destination (# of hops, time delay, etc.).
 Once every T msec each router sends to (and receives from) each neighbor a
list of estimated distance to each destination. The router recalculates the
distances.
Stainov - DataCom
MET CS TC535
9
THE NETWORK LAYER
5.2 ROUTING ALGORITHMS - adaptive
Count-to-Infinity Problem - the distance vector routing propagates the good
news, but leisurely to the bad news.
Stainov - DataCom
MET CS TC535
10
THE NETWORK LAYER
5.2 ROUTING ALGORITHMS - adaptive
Link State Routing (Second Generation in ARPANET) - the first generation did not
consider the speed, but only the queue length, and took too long to converge.
1. Discover its neighbors and learn their network addresses.
2. Measure the delay or cost to each of its neighbors (e.g. by ECHO packets)
 measure RTT/2 and calculate only the queue delay (to avoid load oscillation) or
both, the queue delay and the communication load transformed to "link utilization".
3. Construct a packet telling all it has just learned, and send the packet to all routers.
4. Compute the shortest path to every other router.
 The complete topology and all delays are experimentally measured and distributed
to every router.
Stainov - DataCom
MET CS TC535
11
THE NETWORK LAYER
5.4 INTERNETWORKING
 Repeater, Bridge, Muliprotocol Router, Transport Gateways,
Application Gateways
Stainov - DataCom
MET CS TC535
12
THE NETWORK LAYER
5.4 INTERNETWORKING
 How networks differ?
Stainov - DataCom
MET CS TC535
13
THE NETWORK LAYER
5.4 INTERNETWORKING
 Concatenated Virtual Circuits
Stainov - DataCom
MET CS TC535
14
THE NETWORK LAYER
5.4 INTERNETWORKING
 Connectionless Internetworking
Stainov - DataCom
MET CS TC535
15
THE NETWORK LAYER
5.4 INTERNETWORKING
 Tunneling
Stainov - DataCom
MET CS TC535
16
THE NETWORK LAYER
5.4 INTERNETWORKING
 Fragmentation
See Applet
Stainov - DataCom
MET CS TC535
17
THE NETWORK LAYER
5.4 INTERNETWORKING - Firewalls
Stainov - DataCom
MET CS TC535
18
Internetworking
The Internet layer - the IP Protocol
4-Bit
4-Bit
8-Bit
Version
4
Header
length 5
identification
live (TTL)
type of service TOS
Time to
16-Bit
total length in bytes
flags
protocol type
source IP address
destination IP address
options
fragment offset
header checksum
(if any)
The Type-Of-Service (TOS) is for a normal service 0.
The total length in bytes can be maximal 65535 bytes.
The identification uniquely identifies each datagram (incremented by the sender). It is
used with flags and fragment offset for fragmentation and reassembly.
The TTL (Time-To-Live) sets a upper limit on the number of hops (rourters).
The protocol type is UDP, TCP, but also ICMP and IGMP.
The header checksum is calculated over the IP header only.
Stainov - DataCom
MET CS TC535
19
Internetworking
IP addresses
0.0.0.0-127.255.255.255
Class A
0
7 Bits
Netz-ID
128.0.0.0-191.255.255.255
Class B
1 0
192.0.0.0-223.255.255.255
Class C
1 1 0
224.0.0.0-239.255.255.255
Class D
1 1 1 0
24 Bits
Host-ID
14 Bits
Net-ID
16 Bits
Host-ID
21 Bits
Net-ID
28 Bits
Multicast group ID
240.0.0.0-247.255.255.255
Class E
Stainov - DataCom
8 Bits
Host-ID
27 Bits
(Reserved)
1 1 1 1 0
MET CS TC535
20
5.5 INTERNET: Subnets
a. The classic (and externally transparent) IP address:
Net-ID
Subnet-ID
b. Internal structuring of the IP address:
Net-ID
Host-ID
Host-ID
 For example are the first 8 bits (= 1 byte) the host ID. The 3 high order bits
can be used as subnet ID. It means, 28 = 256 host addresses are divided
into 23 = 8 subnets with 25 = 32 host addresses each.
 How many bits are to be used for the subnet ID is specified by the subnet
mask.
Example: The subnet mask 255.255.255.224, of a C class address means,
that the three high order bits in the first byte are used for subnet IDs:
– 111111112 . 111111112 . 111111112 . 111000002
Stainov - DataCom
MET CS TC535
21
Internetworking
IP Subnets Example
Expl.
IP address
subnet mask
Host-ID
1
123.174.26.178
2
193.174.24.180 255.255.255.240
3
193.174.24.155 255.255.255.252
4
123.174.132.5
255.255.255.0
178
123.174.26.0/24
4 193.174.24.176/28
255.255.240.0
11110000 = 240 (Mask)
10110100 = 180 (Host)
10110000 = 176 (Subnet)
Stainov - DataCom
Subnet Address
11111100 = 252 (Mask)
10011011 = 155 (Host)
10011000 = 152 (Subnet)
MET CS TC535
22
Internetworking
IP Subnets - Example
Subnet Addr: 193.174.24.176
Subnet mask:255.255.255.240
Class C net ID: 193.174.24.0
Mask: 255.255.255.0
Internet
PC
Router
193.174.24.5
PC
193.174.22.60
0
193.174.24.3
193.174.24. 180
Subnet:193.174.24.184
Mask: 255.255.255.252
Router
193.174.24.177
Sun
PC
193.174.24.7
193.174.24. 184
Printer
193.174.24.10
PC
193.174.24.8
Stainov - DataCom
193.174.24. 186
Modem
Modem
193.174.24.185
4
MET CS TC535
23
Internetworking
Net-ID
Host-ID
00000...0 00000...0 00000...0
xxxxx...x -
127
xxxxx...x -
destination address during determining its own IP
address in LAN (used by BOOTP)
destination address during determining other host
address in LAN (used by BOOTP)
Loopback-address - communication inside a host
11111...1 11111...1 -
limited broadcast (never forwarded by a router)
xxxxx...x
net-directed broadcast to a net ID
11111...1 -
Net-ID Subnet-ID Host-ID
xxxxx...x xxxxx...x 11111...1
- subnet-directed broadcast to a subnet, net ID
xxxxx...x
- all-subnet-directed broadcast to a net ID
11111...1 11111...1
Stainov - DataCom
MET CS TC535
24
5.5 INTERNET: ARP
The Address Resolution Protocol (Mapping of IP into MAC addresses)
 Every Ethernet board has a 48-bit Ethernet address
Algorithm:
If destination 128.197.102.51 is link-local
then broadcast “who has 128.197.102.51”
get his MAC address
cache the MAC address into the ARP table
Hint: Even Windows maintains an APR table  go to Command Prompt and start:
C:\WINNT\Profiles\rstainov\Desktop>arp -a
Interface: 128.197.101.75 on Interface 2
Internet Address
Physical Address
Type
128.197.101.32
00-90-27-9a-a4-f7
dynamic
Stainov - DataCom
MET CS TC535
25
5.5 INTERNET
IP-Routing Principle:
If destination address local, then deliver datagram,
else forward datagram to default-Router
Basis: Routing table of the IP layer; each entry contains:
 destination address: network or host address (specified by the flag G or H)
 IP address of the next-hop router (Flag G) or address of directly connected
network
 flags for the route (if set): G - routing to a gateway (not to an interface), H the destination is a host address (not a network address), D - created by
redirect, M - modified by redirect, U - route is up.
Specification of the network interfaces to be used for transmission (ARP
is used).
Stainov - DataCom
MET CS TC535
26
Internetworking
Hosts and routers
Hosts (end systems) typically perform no routing
start packets on their way
send packets to nearest (default) router
Q: how do hosts learn identity of nearby router:
A1: IP address of router hard-coded into file (see /etc/networks on many
UNIX systems)
A2: router discovery: RFC 1256
• router periodically broadcasts its existence to attached hosts
• host (on startup) broadcasts query (who is my router) on attached links/LANs
Stainov - DataCom
MET CS TC535
27
Internetworking
IP Routing Example
193.174.26.5
PC
Internet
destination
127.0.0.1
default
193.174.24.27
PC-4
Router1
193.174.26.3
Router2 193.174.26. 180
routing to
flags
127.0.0.1
H
193.174.26.178
G
193.174.26. 171
193.174.26. 189
193.174.26.7
Modem
193.174.26.178
Sun
193.174.26.10
PC
destination
127.0.0.1
default
routing to
127.0.0.1
193.174.26.5
flags
H
G
PC
Modem
193.174.26.190
Stainov - DataCom
MET CS TC535
28
Internetworking
IP Routing Example
193.174.26.5
PC
Internet
destination
127.0.0.1
default
193.174.24.27
PC-4
Router1
193.174.26.3
routing to
flags
127.0.0.1
H
193.174.26.178
G
193.174.26. 171
PC
Router2 193.174.26. 180
193.174.26.7
Sun
193.174.26.10
Stainov - DataCom
Modem
193.174.26.178
destination
routing to
flags
127.0.0.1
127.0.0.1
H
default
193.174.26.5
G
193.174.26.160/27 193.174.26.178
MET CS TC535
11100000 = 224 mask
PC
Modem
10100000 = 160 subnet ID
10110100 = 180 destin.
193.174.26.190
10101011 = 171 destin.
29
Internetworking
IP Routing Example
193.174.26.5
PC
Internet
destination
127.0.0.1
default
193.174.24.27
PC-4
Router1
193.174.26.3
Router2 193.174.26. 180
routing to
flags
127.0.0.1
H
193.174.26.178
G
193.174.26. 171
193.174.26. 189
193.174.26.7
Sun
193.174.26.10
Stainov - DataCom
PC
Modem
193.174.26.178
destination
routing to
flags
127.0.0.1
127.0.0.1
H
default
193.174.26.5
G
193.174.26.160/27 193.174.26.178
193.174.26.190
193.174.26.171 HG
MET CS TC535
PC
Modem
193.174.26.190
30
Internetworking
Using the Windows Calculator to convert between binary and decimal
Stainov - DataCom
MET CS TC535
31
Internetworking
Practical exercise: Even Windows maintains a routing table
 go to Command Prompt and start:
C:\WINNT\Profiles\rstainov\Desktop>route Print
==========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 01 02 35 5e fa ...... 3Com EtherLink PCI
==========================================================================
Active Routes:
Network Destination
Netmask
Gateway
Interface Metric
0.0.0.0
0.0.0.0
128.197.101.1 128.197.101.75
1
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
128.197.101.0
255.255.255.0
128.197.101.75 128.197.101.75
1
128.197.101.75 255.255.255.255
127.0.0.1
127.0.0.1
1
128.197.255.255 255.255.255.255
128.197.101.75 128.197.101.75
1
224.0.0.0
224.0.0.0
128.197.101.75 128.197.101.75
1
255.255.255.255 255.255.255.255
128.197.101.75 128.197.101.75
1
===========================================================================
Stainov - DataCom
MET CS TC535
32
Internetworking
Hierarchical Routing
problem: as size of network grows, routing table, complexity grows
 millions of nodes (hosts, routers) in Internet
solution: hierarchically aggregate nodes into "regions" (domains)
 node have full knowledge of routes, topological structure within region
 one (or more) nodes in region responsible for routing to the outside
Stainov - DataCom
MET CS TC535
33
Internetworking
Hierarchical Routing
three domains: A, B, C
A.a, A.b A.c run interdomain
routing protocol (BGP)
A.c, B.a, B.b, C.a run
intradomain routing protocol
among themselves (OSPF)
intradomain routing: within domain
interdomain routing: between domains
Stainov - DataCom
MET CS TC535
34
Internetworking
Interior Gateway Routing Protocol (Open Shortest Path First)
OSPF for intradomain routing within an autonomous system (AS)
1. Uses link state algorithm to determine routes
• each outgoing link (interface) assigned dimensionless cost
• load balancing: with several equal-cost-paths to destination, will distribute load
across both paths
2. Adding some security
3. Support for routers connected to a tunnel, over LAN, WAN, and point-to-point
lines
Stainov - DataCom
MET CS TC535
35
Internetworking - OSPF
4. Support for hierarchy:
• autonomous system (connected by homogeneous routers) divided into "areas"
• one area designated "backbone"
area border routers in backbone route between areas
other routers in backbone also
• AS boundary router talks to outside world
area routers: red
boundary router: blue
intra-area routing:
source area -> backbone -> destination area
Stainov - DataCom
MET CS TC535
36
5.5 INTERNET: OSPF
5. Abstracts the collection of actual networks, routers, and lines into a
directed graph in which each arc is assigned a cost (distance), and then
computes the shortest path (avoids Count-to-Infinity Problem).
Stainov - DataCom
MET CS TC535
37
Internetworking
Interdomain Internet Routing: BGP (Border Gateway Protocol RFC 1267,
1268)
• routing between nodes in different autonomous systems
(i.e., routing between networks, exterior router protocol)
• uses a distance verctor approach
Policy-Based Routing
• rather than costs to destinations, BGP routers exchange full path information
(networks crossed) to destination
• router can decide on policy basis which route to take
e.g. "traffic from my AS should not cross AS's a,b,c,d"
BGP implementation
• Implemented as a daemon (user-level process)
• communicates with other BGP routers using TCP
Stainov - DataCom
MET CS TC535
38
Internetworking
Practical exercise: Even Windows allows to trace a routing path
 go to Command Prompt and start:
C:\WINNT\Profiles\rstainov\Desktop>tracert www.mit.edu
Tracing route to DANDELION-PATCH.MIT.EDU [18.181.0.31]
over a maximum of 30 hops:
1
2
3
4
5
6
7
<10
<10
<10
<10
<10
<10
<10
ms
ms
ms
ms
ms
ms
ms
10
<10
<10
<10
<10
<10
<10
ms
ms
ms
ms
ms
ms
ms
<10
<10
<10
<10
<10
<10
<10
ms
ms
ms
ms
ms
ms
ms
COMM808-0201NET-GW.BU.EDU [128.197.101.1]
buic025-bbonenet-gw.bu.edu [128.197.5.57]
crc-ext-gw.bu.edu [128.197.254.60]
192.5.89.13
192.5.89.10
NW12-RTR-FDDI.MIT.EDU [18.168.0.16]
DANDELION-PATCH.MIT.EDU [18.181.0.31]
Trace complete.
Stainov - DataCom
MET CS TC535
39
Internetworking
ICMP
4-Bit
4-Bit
8-Bit
version
header length
identification
live (TTL)
type of service TOS
Time to
type
16-Bit
flags
protocol type
source IP address
destination IP address
code
other
Stainov - DataCom
MET CS TC535
total length in bytes
fragment offset
header checksum
checksum
control information
40
Internetworking
ICMP
Type
Description of the ICMP message
0
Information message: Ping-reply.
3
Error message: destination unreachable.
The field code specifies the reason: 0 = network unreachable, 1= host unreachable, 2= protocol
unreachable, 3 = port unreachable, 4 = fragmentation needed but don’t-fragment bit is set, 5 = sourcerouting failed, 6 = destination network unknown, 7 = destination host unknown, 8 = source host isolated, 9
= destination network administratively prohibited, 10 = destination host administratively prohibited, 11 =
network unreachable for TOS (Type of Service), 12 = host unreachable for TOS, 13 = communication
administratively prohibited by filtering, etc.
4
Error message: source quench
5
Error message: redirect (telling the sender to change its routing table).
The field code specifies: 0 = redirect for network-ID, 1 = redirect for host-ID, 2 = redirect for TOS
and network ID, 3 = redirect for TOS and host ID
8
Information message: Echo-request (Ping- request).
Stainov - DataCom
MET CS TC535
41
Internetworking - ICMP
ICMP
Type
Description of the ICMP message
9
Information message: Router advertisement as replay of type 10 router solicitation
or for periodically broadcasting of routing tables.
10
Information message: Router solicitation after booting (one or more routers respond with a router advertisement message).
11
Error message: time exceeded (TTL 0).
The field code specifies: 0= TTL equals 0 during transit, 1= equals 0 during reassembly.
12
Error message: parameter problem.
The field code specifies: 0= IP header bad, 1= required option missing.
13
Information message: time stamp request (UTC time in milliseconds).
14
Information message: time stamp replay (UTC time in milliseconds).
Stainov - DataCom
MET CS TC535
42
Download